Hi, need some helps and guides on my data polling. I am using the modbus tcp to poll the data from the PLC. And the connection is through 4G telemetry with VPN, the total data polled are around 25 Floating data type, 100 Boolean data Type and 180 Integer data type. Based on the chatgpt calculation should be way lesser than 5gb
-The size of the data polled a month is 23-28gb with 1 sec polling rate set.
-Tried to set the polling rate to 10 sec and size of data is around 10gb-15gb a month.
attached is the setting i currently used. need help or guidance to further optimise the data transfering between the 4G as the costing for the data is quite huge for operation.
the module being used in this project is Historian, alarm, normal control and monitoring, currently the project is not fully operate yet.
-Any ideal for optimize is welcome, many thank in advanced
This is the perfect scenario to use MQTT. You'll want either a panel PC running Ignition Edge or a device like a RedLion DA30 that can do Sparkplug, then on your server side you'll need an MQTT broker like EMQx, Mosquito, or the MQTT distributor module. No matter what you'll need the MQTT engine module.
If you're using Ignition Edge you can turn on compression and another option I can't recall off the top of my head but it essentially uses tag index numbers instead of the full tag name when reporting values to save bandwidth.
This configuration should save a lot of bandwidth because only the values that change will be sent across the 4G network. Plus depending on how live you need the data, you can configure MQTT to do things like poll the data every second but only send the values every 5 or 10 seconds so that you get your 1 second resolution historical data but your live values only update every 5-10 seconds. This allows compression to be more effective and reduces overhead.
Yes this will cost more for the hardware and software but it's a one time cost rather than a recurring monthly cost.
HI Michael, thank for the reply. Unfortunately, the designed is fixed, onsite is plc controlled motor with input of some local sensors. So only option left is configuration and fine tune the scan rate. i wanna checked is there anyway to check the data transfer in between? or data polled triggered in ignition?
The layout / distribution of the Modbus addresses you are reading will make some difference as well. You can’t calculate how much overhead the Modbus traffic will be just from “25 Floating data type, 100 Boolean data Type and 180 Integer data type”.
Like Phil suggested… just look at Wireshark and see what’s going on.
one thing you may be able to do is order all of your data sequentially and then do stuff like pack bits into integers. This will depend on your device of course.
I assume that Ignition is like most other modbus masters in that it will pull a large block of registers instead of making multiple reads. so if you are polling 2 points of data like 40001 and 40050, ignition may pull all of the registers between 40001 and 40050 instead of just the two single registers. So if you pack the data in order you can limit the amount of unnecessary data that gets pulled.