Files
Codesys-Library-Atom-Modbus/docs/VALIDATION.md
T
2026-10-06 23:50:02 -06:00

40 lines
2.3 KiB
Markdown

# Validation and remaining qualification
IEC library version: 0.6.0.0. C component version: 0.4.0.0.
External C ABI signature/API version are unchanged.
## Passed on the Linux build host
- Strict C compilation with warnings treated as errors for the test targets.
- Bridge capacity, context pool, handle generation and shutdown tests.
- Nine direct TCP and nine bridge TCP protocol/error/recovery scenarios.
- RTU tests over real pseudo-terminals: fragmented frames, CRC errors, timeouts,
exceptions, register/coil writes, invalid write echoes and recovery.
- TCP slave FC1/2/3/4/5/6/15/16, address/exception handling and bind recovery.
- Worker TCP and RTU responses complete with a 100 ms deadline while PLC calls
are paused for 250 ms; results remain available for the next call.
- Worker duration/age reporting and rejection of an unacknowledged result overwrite.
- Slave service between scans and remote writes preserved against stale PLC pushes.
- Scan watchdog transport shutdown and resumption, including uncertain sent writes
without automatic worker replay; server watchdog listener restart.
- CPU affinity configuration/restoration, invalid configuration rejection,
concurrent status calls, and 20 worker shutdown/restart cycles.
- Worker tests repeated after priority-inheritance mutex/error-reporting changes.
- Full component host shared-object compile using the uploaded generated SDK headers;
ComponentEntry and atmbcall_cext exported. This is not a fresh M4/ARM SDK build.
- Updated IEC export parsed, object identifiers/references checked, basic structured
text block balance checked, common client toString verified, and old embedded
component removed. These checks do not substitute for the CODESYS compiler.
## Required before deployment
Rebuild the C component for each target with its compatible SDK/toolchain, check
its ELF architecture and GLIBC dependencies, import the export in CODESYS, compile,
embed/deploy the rebuilt component and perform a full download. No updated compiled
.library or ARM binary is supplied. Previous binaries are backups only.
CODESYS IDE compilation, physical target/serial hardware testing, prolonged load
and disconnect testing, and online-change behavior were not qualified here.
Online change remains future work. Confirm watchdog and reconnect settings under
actual PLC task jitter and network failures before production use.