Cellular Communication to a remote PLC


Thread Starter

Steve orton

I have a remote plc that we have installed a cellular router on it to communicate back to the control room. and we bought a 3mb data plan because we are only asking for 1 word of data every 5 minutes, and it has gone thru the roof and is there a way to limit it to one message and do away with the overhead

Lynn August Linse

The iatip blog mentioned is mine - what PLC do you have? What tool is pulling the '1 word'?

I'd suggest you use wireshark (http://www.wireshark.org/download.html) at either end to get a trace of the data. WireShark will show you both Modbus/TCP and the modern Rockwell Ethernet/IP. It at least gives you ammo to ask the 'experts' "What is driving this request?"

One thing I have seen is an OPC server which lets you define the '1 word per 5 minutes', but then a common HMI page might open and ask to have that data refreshed every 1 second - it is OPC's job to comply (unless you've told it not to!). If that is the situation, then you will need to dig-up how to tell the OPC server to return 'stale/repeat' data to such a web page and religiously stick to the once-per 5 minute read.

Another thing one sees is that for example Rockwell RSLinx will query a collection of hardware info every few seconds just in case the hardware changed! Last time I tested (2010?) RSLinx left running alone creates about 200MB/month of traffic.

Another thing, 1 word per 4 minutes and 45 seconds could cut a lot of cost since the cell system will trash/interfere with a TCP connection idle for 5 minutes. 4 min 45 sec keeps you out of race conditions at the 300-second mark.

Plus you are paying for the TCP overhead (the socket open, the TCP ACK, even a graceful socket close). So reading 1 word of data could easily cost 2-3K of traffic ... plus round up to the nearest 1K.
We are using the Modicon M340 in the field and Modicon momentum at the home location. going into the cellular router thru telnet and watching the requests come across, i get hit with 40 bytes and 60 bytes each time. we are looking to move to dnp3 to do report by exception, to cut down on the traffic and swap to udp, but yours is the first to give me an idea on what is actually going to be eat up with overhead. we want to limit the retries so only 1 shot. if it gets it fine; if not maybe next time.

Lynn August Linse

> We are using the Modicon M340 in the field and Modicon momentum at the home location.

What kind of traffic are you seeing?

Each new TCP socket open can eat from 500 to 800 bytes. Your Modbus will be (with TCP header/ACK) another few hundred bytes. The TCP close a few hundred bytes ... then AT&T will round up the whole mess to the nearest 1K ... and repeat this roundup every 5 minutes (aka: every TCP socket == 'every session you open' and/or once per hour per your terms of service).

A simple math equation of 2K per 5 minutes, so 12 times per hour, 288 times per day and 8640 times per month results in about 17MB of data. Why all the round-up? Because they can! It kind of creeped into the plans, each large carrier upping the anti, matching the others & adding a new round-up with no customer complaint. Operator Lady 'Ernestine' is smiling & fully embedded in the iPhone age :)

I doubt the Modicon can hold the socket open, but if you can keep a single socket active for the full hour (aka: 1 session), then you only have 1 'round-up' per hour on your 1 socket instead of the 12 you are seeing now.

If your cellular devices can send UDP, even encapsulating Modbus/RTU within UDP can save you a lot of traffic.