Modbus query out of range from the Modbus Adresse

Hello for all,

I communicate between our PLC and the Gateway in Modbus TCP.
I’m working with ignition 7.9.7
I have had a Device Modbus TCP with those adresses below

10
NUM_8_,4000,4255,false,0,InputRegister,4000
NUM_9_,4256,4511,false,0,InputRegister,4256
TC_ON_0_,7000,7255,false,0,Coil,7000
TC_OFF_0_,8000,8255,false,0,Coil,8000
DISC_0_,2000,2255,false,0,DiscreteInput,2000
AL_2_3_,3000,3511,false,0,DiscreteInput,3000
CAPT_1_,1000,1255,false,0,DiscreteInput,1000
ST_0_,0,255,false,0,DiscreteInput,0

I have add 256 tags like this in html format

6 Ignition OPC-UA Server ns=1;s=[Slave_12]TC_ON_0_7000 6

and the last one in this range (7000 … 7255)

I have catch the modbus communication with Wireshark.
There is a Modbus Query like THIS READ COILS from adresse 7000 and Bit Count 1006

1006 is out of range from the adresse describe above (7000 … 7255) —> 256 bits not 1006

Thanks for Help

Olivier

Thanks, certainly sounds like a bug…

edit: Nevermind, it’s not a bug. This is the “gap spanning” option working. Try turning that off.

Thanks Kevin,

I have more tests done.

If I use “Gap spanning” there are much more modbus query.
The issue is that the modbus query try to join in one query two different range of adresse with two different prefix in the Device.
I have found an other solution is to reduce the maximum for the coil query (2000 ----> 256) and change the modbus address to put more gap between two different Prexix.

Regards

Olivier

Yep, that works as well.

Hello Kevin,

Right now each second the gateway ask the modbus queries.
Could you tell me if it’s possible to reduce this time between two queries ?

Thanks
Olivier

That’s the timing of the default scan class. Create a slower scan class and assign your tags to it.