Development of EthFilter: A Standalone Modbus OPC Server /Data Concentrator for Remote Dialup Access

For one of our projects, we were presented with a unique problem of a Master SCADA station communicating to over 165 remote stations on Modbus TCP/IP, connected by remote dial-up. While many off the shelf I/O Servers are available which can handle dial-up & Modbus RTU protocols, this application was unique as :

  1. The dial-up function is handled by a router at the Master SCADA.
  2. Due to the implementation of the router, all modbus slaves have ip address in different ip classes by breaking up the subnet into smaller subnets of 8 addresses each.
  3. Since all evaluated Modbus TCP/IP drivers expect the ethernet slave devices to be connected locally to the TCP/IP network, they do not have additional settings for taking into consideration the time required to dial-up and negotiate a connection on PSTN lines. They time-out.
  4. There is no flexibility of communication retries and seeking alternate communication paths in case of sustained failures.

So we went ahead and developed our own driver called 'EthFilter'.

Ethfilter is a fully standalone I/O Server -cum- Data concentrator (Super PLC?). Based on user configuration, it creates a copy of an internal database of modbus registers corresponding to unlimited number of slaves. Specifying the connectivity links (PSTN, ISDN, GSM), number of such interfaces, slave ip addresses, modbus node address completes the configuration. It polls the slaves and makes the data available in the local registers. Ethfilter is an OPC server and exposes all data and status for each slave to OPC clients connected to it.

The below screenshot shows Ethfilter in action, polling three banks (PSTN-1, PSTN-2, ISDN-1) of 48 PLCs (simulated) and data observed locally and in an OPC client window.

Ethfilter OPC Server test screen

Based on the same application, we are now in the process of developing an SMS I/O Server for Telemetry SCADA.