Ignition Edge Store and Forward

What’s the best deployment solution to meet this smart infrastructure command control centre (CCC) project specs?.

  1. CCC SCADA must work 100% on IOT push technology only. No pull or polling technology. This is 100% Telemetry project. In other words, SCADA shall NOT periodically poll and scan the remote RTUs like it normally does over a LAN. RTUs will report by exception (RBE) and go offline like old PSTN connection. SCADA can scan the RTUs whenever they connect for reporting, if required.

All RTU’s will send periodic heartbeat for SCADA to monitor the health.

  1. 1000’s of remote sites with “Modbus TCP - Master/Slave” RTUs.
  2. Each site having less than 500 DI/DO/AI points.
  3. All RTUs have remote datalogging and Alarm logging capability. CCC SCADA must collect remote datalogs from the RTU and update the local historian whenever RTU connects for reporting.
  4. RTUs can send time stamped datalog and Alarm log CSV files by FTP to the CCC server. SCADA shall use this as a redundancy channel for data collection from remote RTUs.
  5. I understand Ignition Edge is a software solution. Can IA supply IE preconfigured along with robust hardware?. The hardware must have VPN, Internet and latest mobile network communication capability to remotely program and manage the RTUs and Edge devices.
  6. The remote communication hardware shall meet all the latest security standards.
  7. The purpose of this project is to build an AI powered smart infrastructure CCC and provide web service for 1000’s of clients.

Please propose your solution. Thanks.

NodeJS based server on each RTU can PUSH data to server. The exception based reporting can be easily implemented.[quote=“R.Alamsha, post:8, topic:15645”]
.
1000’s of remote sites with “Modbus TCP - Master/Slave” RTUs.
Each site having less than 500 DI/DO/AI points.
All RTUs have remote datalogging and Alarm logging capability. CCC SCADA must collect remote datalogs from the RTU and update the local historian whenever RTU connects for reporting.
[/quote]
RTUs can be installed with NodeJS servers. Our NJ-SCADA product has a local historian with No-SQL type own data base. The history time series data can be sent to CCC SCADA like Ignition whenever required [quote=“R.Alamsha, post:8, topic:15645”]
RTUs can send time stamped datalog and Alarm log CSV files by FTP to the CCC server. SCADA shall use this as a redundancy channel for data collection from remote RTUs.
[/quote]
PubNub can be used instead of FTP from RTUs. If NodeJS allows FTP then we can think of FTP, but PubNub is adequate as data reporting will be small packets as compression and exception based reporting is considered.[quote=“R.Alamsha, post:8, topic:15645”]
I understand Ignition Edge is a software solution. Can IA supply IE preconfigured along with robust hardware?. The hardware must have VPN, Internet and latest mobile network communication capability to remotely program and manage the RTUs and Edge devices.
[/quote]
NJ-SCADA and mSCADA cando this job. Also it has its own historian built on No-SQL type our own data base, which can store unlimited data ! NJ-SCADA can be installed on Raspberry PI device which has all the necessary Hardware and network communication facility on it such as WiFi, mobile network communication etc.

PubNub is very secure HTTPS protocol.[quote=“R.Alamsha, post:8, topic:15645”]
The purpose of this project is to build an AI powered smart infrastructure CCC and provide web service for 1000’s of clients.
[/quote]
NJ-SCADA can pump data into Ignition as a central SCADA.

1 Like
  1. Do you know any commercially available RTU which can do this job?. or do you suggest that we must buy a Linux RTU and customize it as OEM?.
  2. Ideally, i would need a Linux based “RTU+LL and script programming+mini SCADA+Datalogger+VPN+mobile data channel+S&F” capability. Can your product meet these requirements?. Please provide the full features and capability of your product.

FTP server is part of Linux by default. We can configure it to send all the CSV files to a remote server. Since the heart of the project is robust IOT data collection, redundant data collection channel is mandatory.

Can PubNub work with a private mobile network or does it require an Internet connection?.

NJ-SCADA can be installed on any Linux based hardware and is pure JS based scripting environment. It also has JS based open source OPC UA client as well as Server on it. Its data store is customized for storing time series data (time v/s any tag values) as there is no point in using a full fledged data base where we are using only 5% of its data modelling features! Logging is done on its own local hard disk or SD card. It needs Internet over WiFi or thru mobile service provider network to connect to remote server.[quote=“R.Alamsha, post:10, topic:15645”]
FTP server is part of Linux by default. We can configure it to send all the CSV files to a remote server. Since the heart of the project is robust IOT data collection, redundant data collection channel is mandatory.
[/quote]
I need to check if NodeJS supports an NPM for FTP, last time when we spoke it didn’t support. But now if some one has developed it them we can use it to send data. However we still need internet of course. PubNub also works on Internet but provides server less connectivity between two points.[quote=“R.Alamsha, post:10, topic:15645”]
Can PubNub work with a private mobile network or does it require an Internet connection?.
[/quote]
PubNub requires Internet , through whatever mechanism, WiFi or Mobile Internet.

When the RTUs go offline, all tags will go on fault. How do you think, Ignition can manage this situation?.

This is easy, the NJ-SCADA server installed on RTUs will send the data on exception to Ignition server over pubNub network. A gateway communication module on Ignition server will receive the packet over internet using PubNub and will update the Ignition database. Similarly the Ignition commands (like button pressed or released) will be sent thru the same gateway comm module to RTUs on exception basis over PubNub. PubNub supports two way communication and supports push mechanism unlike the Java web servers in which clients can only request (pull) data from servers. (with the exception of AJAX and web-sockets).

RTUs will remain in sleep mode (OFFLINE) when there is no change in its data. However they will continue to scan the IO points on MODBUS for any change. They will wake up when change is detected and will send the exception to gateway communication module on Ignition server.

PubNub also supports a heart beat mechanism to detect id connection is live or not. This will be used for detecting faults in communication failure and flagging errors in tag values.

Which RTUS you have in mind? We can build RTUs based on Raspberry PI with respbian on them and MODBUS for IO connectivity.

This complete project shall follow the rules of “Telemetry on PSTN”. The spec has been written after successfully running 1000’s of sites on a “PSTN Telemetry SCADA” for more than a decade. The most important question to be answered is:

Suppose the remote RTU is switched off or completely removed.

  1. What tag values will you see on Ignition in the CCC?.
  2. If you restart the SCADA, what tag values will you see on Ignition?.

If RTU is OFF or disconnected, the PubNub heart beat stops on receiving end (the gateway communication module on Ignition server) and all the Tags can be driven to FAULTY status. On restarting SCADA, they will still remain faulty until a heart beat the heard from RTUs on Server.

Furthermore PubNub stores the packets it sent/received on its own server in cloud., which can be used to Store and Froward data as well as initialize it to any value (zero or faulty) in the event of loss of communication (heart beat)…

The SCADA will raise a communication failure alarm when the heart beat fails. Do the tags go on fault on a PSTN Telemetry SCADA when the RTU goes offline?.

Tags can be initialized to any value using pubnub functions on server or on RTU when heart beat stops. if RTU it self fails then Tags can be initialized to fault on restart till heart beat is normal. not sure if i got your question right!

The Telemetry SCADA which i implemented, will display a communication failure alarm upon heart beat failure but retains the last value of all tags by default even if we reboot the SCADA server 100’s of times. Actually, SCADA is talking to a front end data server in the CCC, which in turn talks to the field RTUs and takes care of serving and retaining the last values. Before commissioning a new site, we normally set all tag values to zero and will raise a “site NOT yet commissioned” alarm.

This is a old fashioned SCADA, not suitable for IOT and web service. Now, the client wants to make money by providing AI powered web services. Client invited many SI’s of big 3 SCADA and gave them the spec document. They came, saw and didn’t get back so far. Of course, the spec was written by me :smile:

Nothing comes free in life. PubNub or any other service provider will charge on the basis of amount of bandwidth consumed, starting with a very humble base package. Cost of FTP based data collection (old fshioned S&F) for CCC is peanuts compared to PubNub. This is very good for web services (especially alarm delivery to 1000’s of mobile clients) which is a source of revenue generation for the service provider.

My client already got his fingers severely burnt, a couple of years back when he did an online IOT pilot project for 50 sites. The private mobile network service provider started with a base package like USD 10/- per 100 mb and extra 5 cents per mb. After running the site for 6 months:

  1. The mobile network bandwidth choked and some critical alarms like fire alarm took more than 20 mins to report. Client was disappointed.

  2. The engineering team of the SI was getting fed up because it was taking ages for them to upload their code to the remote stations and the connection was failing very often. This was putting the remote stations into error mode and the technicians had to drive 100 / 200 kms to reset the controller. Most of them jumped the ship.

  3. The network service provider didn’t send the bill for 6 months and sent it later. The client got a big shock. He shutdown the control room. and the project was scrapped immediately.

  4. I was running few sites with the same network service provider on my telemetry SCADA and none of them consumed even 10mb per month. The only traffic was hourly heart beat, few alarm packets which was less than few 100 bytes and occasional code uploading The client was very impressed.

Moral of the story: Ban polling and use PUSH only technology. Follow the old fashioned PSTN Telemetry SCADA rules for IOT SCADA.

  1. PubNub uses push technology.
  2. The messages are sent in compressed form on exception so where are the MB’s of data coming in to picture! PubNub delivers less less than data-gram size messages (~1500bytes) most efficiently as a single packet. A data-gram size message can represent a large data when its compressed and sent on exception basis from RTU. Where is the question of bandwidth chocking! I don’t understand!
  3. PubNub cost is peanuts (1 million messages are free every month, plus there is an SLA and guarantee for QOS and builtin data historian on their server. FTP also works on internet which you have to pay for. FTP is for transfer of large files (MBs to GBs) not few byte files! Also FTP needs to be supported on client and server (RTU and CCC) and will have a large foot print! Can your RTU support that?
  4. If customer is happy with ftp then why to look for an alternative technology. Let others also use your approach you you can commercialize or publish it!

PubNub looks like a dream come true, sounds very interesting and pricing is affordable. I love it because they repeatedly claim “PUSH” technology, inline with my data collection philosophy. I have to discuss with them before proposing it to the client.

They do have customer specific custom service offering for higher reliability and QoS. You should definitely talk to them if you are serious!

Onsite connectivity for remote stations is on a private mobile network package. If i connect that mobile network at each site to PubNub, the cost will shoot up and hence not viable. Apart from this, coordinating with the ISP for internet connection at each site is a nightmare. So, we will stick on with the old Telemetry and FTP S&F model. At CCC, we have state of the art internet connectivity. PubNub looks like an excellent solution for high availability web services from CCC. Revenue generation through web service is the life line of this project. I will look into this technology seriously. Thanks for this valuable suggestion.

That’s fine as long as it works and meets your requirements. I am not conversant with FTP over Telemetry if you can give some references I can explore it.

The objective of FTP based S&F is to collect and download the remote time stamped RTU datalogs into the SCADA Tag Historain . This can be accomplished in 2 ways.

  1. Run jython script on Ignition and download as explained above.
  2. Import the csv files directly into the database like MySQL / PostgreSQL etc.

I haven’t tested option 1 yet. Personally, i prefer option 2, because MySQL takes care of rejecting duplicate tags automatically and it’s very fast. When you automate this process, your script must select the latest table partition and import.

I have forgotten to mention this point. The main reason for avoiding internet based automation for remote sites is, every site needs an IP address. VPN routers can help but again automating this process for 1000’s of sites from CCC needs a very reliable VPN service provider which is very expensive. Where as, a private mobile network data channel gives private IP by default, deployment is very fast, 100% secured and connectivity is instantaneous. No need for any VPN router or Dynamic DNS. Downside is cost and limited bandwidth. Both can be very well controlled as discussed above.