From #735 — Bug 3
All GetMultiVariables / SetMultiVariables payloads require a VLQ-encoded SequenceNumber field immediately after the ObjectQualifier. Without it the PLC rejects the request with error 11862009.
Fix
In all 6 payload-builder functions, insert encode_uint32_vlq(1) between encode_object_qualifier() and the trailing struct.pack(">I", 0):
payload += encode_object_qualifier()
payload += encode_uint32_vlq(1) # SequenceNumber
payload += struct.pack(">I", 0)
Affected functions:
_build_read_payload
_build_write_payload
_build_area_read_payload
_build_area_write_payload
_build_symbolic_read_payload
_build_symbolic_write_payload
Hardware tested on
- S7-1200 CPU 1214C DC/DC/DC, FW V4.5
Related
From #735 — Bug 3
All GetMultiVariables / SetMultiVariables payloads require a VLQ-encoded
SequenceNumberfield immediately after theObjectQualifier. Without it the PLC rejects the request with error11862009.Fix
In all 6 payload-builder functions, insert
encode_uint32_vlq(1)betweenencode_object_qualifier()and the trailingstruct.pack(">I", 0):Affected functions:
_build_read_payload_build_write_payload_build_area_read_payload_build_area_write_payload_build_symbolic_read_payload_build_symbolic_write_payloadHardware tested on
Related