I stumbled upon this problem daisy chaining from a previous problem.
Luckily I think this one should be easy to fix and I am just overlooking/misunderstanding a setting within the driver settings.
After wire-sharking the TCP connection that I am using to send Modbus TCP packets to a hardware gateway and on to a controller, I noticed that what I set the “Max Holding Registers Per Request” to is what Ignition asks for - it doesn’t seem to know what it is really looking for.
Example : I have 5 tags for a setpoint. These are at 40300, 40301, 40302, 40303, 40304. I had the setting to the default of 125. When this was the case Ignition would poll these five correctly…but also the 120 registers after these which makes these data requests huge - eventually just drowning the controller in useless data.
Now on the other hand : I have a large span of tags that I also need data (~1500 registers) with 125 registers this is still 12 requests, but if I set the Max HR per request to 5/10 to accomidate for the other registers this skyrockets to 300 requests and for a bps of 19200 this bogs down the controller in simple requests…not data.
I am sure there is somewhere in the settings that allows Ignition to only ask for what it needs and I am just missing the proper format.
I would assume it would be in the address set up of the controller - I have each “set” of tags in an individual definition on the table. To me this would mean that Ignition shouldn’t even know that the registers after the ones I have defined exist. Is this incorrect?
Thank you in advance!