From #735 — Bug 1
_build_symbolic_write_payload and _build_symbolic_read_payload use Ids.CONTROLLER_AREA_VALUE_ACTUAL (2551) for non-DB areas (I/Q/M). The PLC rejects symbolic writes with error 0x4D0013.
Wireshark capture of EXOR HMI (AGLink) confirms the correct sub_area is 3736 (0xE98) for symbolic LID-based access to I/Q/M areas.
Fix
Change both _build_symbolic_read_payload and _build_symbolic_write_payload to use 3736 for access_sub_area when access_area < 0x8A0E0000.
Add CONTROLLER_AREA_SYMBOLIC_SUB_AREA = 3736 to Ids enum.
Hardware tested on
- S7-1200 CPU 1214C DC/DC/DC, FW V4.5
- DI8/DQ6 module
Related
From #735 — Bug 1
_build_symbolic_write_payloadand_build_symbolic_read_payloaduseIds.CONTROLLER_AREA_VALUE_ACTUAL(2551) for non-DB areas (I/Q/M). The PLC rejects symbolic writes with error0x4D0013.Wireshark capture of EXOR HMI (AGLink) confirms the correct sub_area is 3736 (0xE98) for symbolic LID-based access to I/Q/M areas.
Fix
Change both
_build_symbolic_read_payloadand_build_symbolic_write_payloadto use 3736 foraccess_sub_areawhenaccess_area < 0x8A0E0000.Add
CONTROLLER_AREA_SYMBOLIC_SUB_AREA = 3736toIdsenum.Hardware tested on
Related