Continuing...
The messages have the format :0103100002CS\r\n
start bit, 03 read register, 1000 address, 02 bytes to be read, CS checksum, \r and \n are the tipical end-message markers.
Both physical and simulated PLCs answer these messages properly in Python, but do not answer AdvancedHMI requests.
With Wireshark, I captured packages going from AdvacedHMI to the virtual PLC. This is the content:
TCP payload (12 bytes)
Data (12 bytes)
Data: 010700000006000310000001
Text: \001\a
In Data field, I would expect something like :0103100002CS.
Does anyone have a clue on what I am doing wrong?