Citect v7.40 SP2 - Modbus/TCP - Request Wrong Word Count


Thread Starter



I am trying to connect my Citect SCADA with power meter ASTec PRO380-Mod which is connected to my BMS network via MOXA MGate MB3170.
My problem is that when I lookup the packets send to Moxa with Wireshark or MGate Manager I can see that:

1. Citect sends request for register 4128 that I configured in citect.ini to check if power meter is available in network.

- FloatMode = 1
- InitVar = 4128
- InitVarType = 3

--Modbus request--
[02 03 10 20 00 01 81 33]

2. Moxa sends the response with value 25 80 HEX = 9600 DEC under register 4128 (baudrate)

--Modbus response--
[02 03 02 25 80 E7 74]

3. Citect sends request for register 8200 (Real Voltage phase 1) which is my first variable configured in Equipment editor.

--Modbus request--
[02 03 20 08 00 7A 4E 18]

As You can see Citect sends request with Word Count = 122 (7A HEX) and it should be 2 (2 words = 4 bytes = 1 REAL value)

Moxa is unable to response to such request and after some time Citect starts to send request from the beginning (4128)

After bed request In Wireshark I can see packets such as:
TCP Keep-Alive ACK

I did not have such problems using Modbus Poll program (modbustools com).

Could You please help me with my problem.

Best regards
I fixed my problem.

The problem was that Citect was sending request for all my variables at once.

I changed parameter MaxBits in citect.ini to 64 bits and now Citect sends requests for every variable separately.
Thank you for explaining how you fixed the problem which was a somewhat hidden roadblock.

That kind of follow-up is valuable to those who find threads like this in Google search.