Optimization for a two server project with cell modem Comms


I’m working on a project where we have two Ignition installations for a small unmanned water treatment plant. One will be local to the plant, while the other will be in a cloud server. The connection between the two will be through a cell phone modem.

I want to make sure that we use as little bandwidth as possible, so I want to make sure I understand the different connections that will exist and the correct places to limit the polling. I have a connection on the cloud server to the Local OPC UA Server under OPC Connections. Below is a diagram of what I think it looks like:

Connections for local Install: PLC -> Local Ignition OPC-UA Server -> Local Tag Provider -> HMI & Local DB
Connections for cloud Install: PLC 1) -> Local Ignition OPC-UA Server -> 2) Cell Modem -> Cloud Server Tag Provider

I want to be sure that I understand which settings effect which connections. I numbered the connections here.

  1. is effected by the Subscription Rate setup which can be done in Configure > OPC Connections > Quick Client
  2. is effected by Scan Classes that I set up in the designer and assign to my tags.

Is that all correct?

I’m planning on using Internal Standard Tag Providers for both servers, because I want the cloud server to have limited control, and to be able to change some things on the tags. Alarming is going to be setup on the same tags from both servers, but only actually sending out those alarms from the cloud server. Also I am going to use Tag Splitting from the Local server to send history to the cloud, so that my realtime tags will only have to poll when a client is open, and so that history will always get to the cloud, even if the cell connection goes down briefly.

Is there anything I am doing wrong, or are there other possibilities I should consider?

-Caleb Bohon

I found that I had to make the Scan classes on the cloud side “read” rather than “subscribed” otherwise everytime the local server gets a changed value it attempts to send it to the cloud, eating up my bandwith in the process.

There is some kind of bug on the history side. My local server will not connect to the cloud DB correctly.
I’ve been told that it will be fixed in 7.8.2.
However, even with the connection working my history connection uses way too much data, so I am going to change somethings:

Also it appears that the Cell Modem connection is more stable than we were expecting.

  1. Use a new set of expression tags on the local GW that point to the local tags but are running at the slower scan rate that I need.
  2. Subscribe to those tags from the cloud GW, using OPC UA
  3. Store those tags to the cloud DB from the cloud GW.
  4. Also store the expression tags to a separate local DB for back up if the cloud GW loses connection.
    (We are going to run reports from the cloud GW so we need the data for the reports)
  5. If the OPC connection fails, we’ll (later) run a transaction group to pull the backup data into the cloud DB.