Joseph Doherty
|
b217ca61ce
|
Auto: s7-f — Optimized DB / S7Plus decision (Track 1+3 docs-only)
Closes #304
|
2026-04-26 11:22:40 -04:00 |
|
Joseph Doherty
|
30c3b10c94
|
Auto: s7-e2 — PLC password / protection-level handling
Closes #303
|
2026-04-26 10:51:07 -04:00 |
|
Joseph Doherty
|
108f69d198
|
Auto: s7-e1 — CPU diagnostic buffer / SZL reads
Closes #302
|
2026-04-26 10:30:43 -04:00 |
|
Joseph Doherty
|
baf1d65875
|
Auto: s7-d3 — instance-DB / FB parameter resolution
Closes #301
|
2026-04-26 07:04:40 -04:00 |
|
Joseph Doherty
|
5f8d84db43
|
Auto: s7-d2 — UDT / STRUCT / nested-DB fan-out
Closes #300
|
2026-04-26 06:50:26 -04:00 |
|
Joseph Doherty
|
a908dff7b5
|
Auto: s7-d1 — TIA Portal CSV + STEP 7 Classic AWL symbol import
Closes #299
|
2026-04-26 06:32:18 -04:00 |
|
Joseph Doherty
|
64a11ef285
|
Auto: s7-c5 — pre-flight PUT/GET enablement test
Closes #298
|
2026-04-26 01:31:48 -04:00 |
|
Joseph Doherty
|
06b39a28fa
|
Auto: s7-c4 — deadband / on-change with thresholds
Closes #297
|
2026-04-26 01:14:59 -04:00 |
|
Joseph Doherty
|
162c82b8d9
|
Auto: s7-c3 — per-tag scan group / publish rate
Closes #296
|
2026-04-26 01:03:00 -04:00 |
|
Joseph Doherty
|
3b98e4d366
|
Auto: s7-c2 — TSAP / Connection Type selector
Closes #295
|
2026-04-26 00:49:10 -04:00 |
|
Joseph Doherty
|
6540bbe1ef
|
Auto: s7-c1 — surface negotiated PDU size via DriverHealth.Diagnostics
Closes #294
|
2026-04-26 00:35:49 -04:00 |
|
Joseph Doherty
|
17faf76ea7
|
Auto: s7-b2 — block-read coalescing for contiguous DBs
Closes #293
|
2026-04-25 21:23:06 -04:00 |
|
Joseph Doherty
|
9e2b5b330f
|
Phase 3 PR 54 -- Siemens S7 Modbus TCP quirks research document. 485-line doc at docs/v2/s7.md mirroring the docs/v2/dl205.md template for the Siemens SIMATIC S7 family (S7-1200 / S7-1500 / S7-300 / S7-400 / ET 200SP / CP 343-1 / CP 443-1 / CP 343-1 Lean / MODBUSPN). Siemens S7 is fundamentally different from DL260: there is no fixed Modbus memory map baked into firmware -- every deployment runs MB_SERVER (S7-1200/1500/ET 200SP), MODBUSCP (S7-300/400 + CP), or MODBUSPN (S7-300/400 PN) library blocks wired up to user DBs via the MB_HOLD_REG / ADDR parameters. The driver's job is therefore to handle per-site CONFIG rather than per-family QUIRKS, and the doc makes that explicit. Key findings worth flagging for the PR 56+ implementation track: (1) S7 has no fixed memory map -- must accept per-site DriverConfig, cannot assume vendor-standard layout. (2) MB_SERVER requires NON-optimized DBs in TIA Portal; optimized DBs cause the library to return STATUS 0x8383 on every access -- the single most common S7 Modbus deployment bug in the field. (3) Word order is ABCD by default (big-endian bytes + big-endian words) across all Siemens S7 Modbus paths, which is the OPPOSITE of DL260 CDAB -- the Modbus driver's S7 profile default must be ByteOrder.BigEndian, not WordSwap. (4) MB_SERVER listens on ONE port per FB instance; multi-client support requires running MB_SERVER on 502 / 503 / 504 / ... simultaneously -- most clients assume port 502 multiplexes, which is wrong on S7. (5) CP 343-1 Lean is SERVER-ONLY and requires the separate 2XV9450-1MB00 MODBUS TCP CP library license; client mode calls return immediate error on Lean. (6) MB_SERVER does NOT filter Unit ID, accepts any value. Means the driver can't use Unit ID to detect 'direct vs gateway' topology. (7) FC23 Read-Write Multiple, FC22 Mask Write, FC20/21 File Records, FC43 Device Identification all return exception 01 Illegal Function on every S7 variant -- the driver MUST NOT attempt bulk-read optimisation via FC23 when talking to S7. (8) STOP-mode read/write behaviour is non-deterministic across firmware bands: reads may return cached data (library internal buffer), writes may succeed-silently or return exception 04 depending on CPU firmware version -- flagged as 'driver treats both as unavailable, do not distinguish'. Unconfirmed rumours flagged separately: 'V2.0+ reverses float byte order' claim (cited but not reproduced), STOP-mode caching location (folklore, no primary source). Per-model test differentiation section names the tests as S7_<model>_<behavior> matching the DL205 template convention (e.g. S7_1200_MB_SERVER_requires_non_optimized_DB, S7_343_1_Lean_rejects_client_mode, S7_FC23_returns_IllegalFunction). 31 cited references across the Siemens Industry Online Support entry-ID system (68011496 for MB_SERVER FAQ, etc.), TIA Portal library manuals, and three third-party driver vendor release notes (Kepware, Ignition, FactoryTalk). This is a pure documentation PR -- no code, no tests, no csproj changes. Per-quirk implementation lands in PRs 56+. Research conducted 2026-04-18 against latest publicly-available Siemens documentation; STOP-mode behaviour and MB_SERVER versioning specifically cross-checked against Siemens forum answers from 2024-2025.
|
2026-04-18 22:50:51 -04:00 |
|