61 lines
2.6 KiB
Markdown
61 lines
2.6 KiB
Markdown
# Native AB transport gate results
|
|
|
|
## ab_server suites (T17)
|
|
|
|
Every ab_server integration test now runs once per transport (`TransportMatrix` in each integration
|
|
project). Run 2026-10-07 against `10.100.0.35`, one compose profile at a time
|
|
(AbCip `/opt/otopcua-abcip`, `AB_SERVER_COMPOSE_PROFILE=<p>`; AbLegacy `~/otopcua-ablegacy`,
|
|
`AB_LEGACY_COMPOSE_PROFILE=<p>`); every stack was brought down afterwards.
|
|
|
|
- **Image:** `otopcua-ab-server:libplctag-release` (`sha256:19e814747d85…`, built 2026-08-01; ab_server from
|
|
libplctag `v2.7.0` + patches 0001/0002). Host compose files md5-identical to the repo's.
|
|
- **Commit:** fixes `82d011c7` + `2171fc8c`, test matrix `8c68694d`.
|
|
|
|
Counts are pass / fail / skip for the transport-parameterised rows only. Each AbCip run also passed the
|
|
6 transport-independent `AbServerProfileTests`. The AbCip skips are the 3 Emulate-tier tests
|
|
(`AB_SERVER_PROFILE=emulate` only). The AbLegacy skips are `Slc500_write_then_read…`, which skips itself
|
|
on both transports when the slc500 port (`:44819`) is down.
|
|
|
|
| Profile | Libplctag | Native | Native ⊇ Libplctag |
|
|
|---|---|---|---|
|
|
| controllogix | 1 / 0 / 3 | 1 / 0 / 3 | yes |
|
|
| compactlogix | 1 / 0 / 3 | 1 / 0 / 3 | yes |
|
|
| micro800 | 0 / 1 / 3 | 1 / 0 / 3 | yes (libplctag fails, see below) |
|
|
| guardlogix | 1 / 0 / 3 | 1 / 0 / 3 | yes |
|
|
| slc500 | 2 / 0 / 0 | 2 / 0 / 0 | yes |
|
|
| micrologix | 1 / 0 / 1 | 1 / 0 / 1 | yes |
|
|
| plc5 | 1 / 0 / 1 | 1 / 0 / 1 | yes |
|
|
|
|
**Native-only failures found and fixed:**
|
|
|
|
- `82d011c7` (controllogix): RegisterSession carried a non-zero sender context, and ab_server rejects that
|
|
with encapsulation status 1. Every native session failed.
|
|
- `2171fc8c` (slc500): ab_server answers Execute PCCC with a fixed requestor id
|
|
(`07 3D F3 45 43 50 21`), so the requestor-echo check rejected every native PCCC reply. Native now sends
|
|
libplctag's identity.
|
|
|
|
**Skips added:** none. The PLC-5 integration test only reads N7, so the PLC-5 Unsupported paths
|
|
(non-N reads, all writes) and status-bit sub-element writes are never exercised by the suite.
|
|
|
|
**micro800:** the smoke test used to send `/1,0` for every family, and both transports failed against
|
|
`--plc=Micro800`. It now uses an empty path for Micro800. With the empty path, native passes. libplctag
|
|
still fails with BadCommunicationError, because the driver's libplctag runtime passes `Path = ""` and
|
|
libplctag answers that with `ErrorBadData`. A `null` path works (checked with the capture client). That
|
|
defect is pre-existing and libplctag-side; it is recorded, not fixed, here.
|
|
|
|
## Differential vs ab_server (T18)
|
|
|
|
_(pending)_
|
|
|
|
## AdminUI /run (T19)
|
|
|
|
_(pending)_
|
|
|
|
## Real press (T21)
|
|
|
|
_(pending)_
|
|
|
|
## Latency (T21)
|
|
|
|
_(pending)_
|