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

2.3 KiB

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.