Skip to content

fix: symbolic write/read uses wrong sub_area for I/Q/M areas #736

@gijzelaerr

Description

@gijzelaerr

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions