Interface between Ignition and NJSCADA is a very simple Ignition module (called gatewaycomm) which has to be installed on Ignition server. On starting of the module, it reads a list of Tag paths from a predefined file from a predefined path on Ignition server, that NJSCADA needs from Ignition for displaying on ARSCADA and mSCADA clients served by the NJSCADA server (nodejs server former Apache server) and opens a TCP socket on a thread to communicate with NJSCADA server. So basically NJSCADA and Ignitions are two back to back servers communicating with each other on a TCP socket on request / response basis. The NJSCADA server (nodejs server) can reside on same physical machine as Ignition server (to save on hardware) or can reside on a separate physical machine depending upon choice. (its a trade off between Ignition server loading and network loading although overheads are very small depending upon size of the Tag Path list or number of Tags required by NJSCADA) . So basically the Tag Paths file is the Tag Data base for NJSCADA! It requests this data from gatewaycomm module periodically at a predefined cycle time (which can be configured in a NJSCADA configuration file) and refreshes it in memory. Clients log in to NJSCADA server on HTTP port 3000 (configurable) and select the ARSCADA pages or mSCADA page to be displayed. NJSCADA server refreshes all its logged in clients every predefined cycle with the latest tag data base values in a broadcast mode. Similarly commands from clients (i.e. buttons pressed) are sent to NJSCADA server which in turn send the name value pair string to gatewaycomm server which updates the Tag Value on Ignition server. So if the gatewaycomm module is replaced with a modbus driver to a PLC, or an OPC Server, then NJSCADA can become a standalone SCADA by itself ! (But that’s not our intent right now as it need a lot more effort like support , maintenance/upgrade/ testing/ reliability etc, we want to remain an add on to Ignition).
Another way to Interface NJSCADA with Ignition is thru an OPC UA Client in NJSCADA communicating with Ignition’s builtin OPC UA server. This way there is no need of installing a gatewaycomm module in Ignition. This way NJSCADA can even be interfaced with any SCADA supporting OPC UA. However this requires OPC UA server to expose its tags to third party clients.