1

I am making two SCADA systems exchanging data. I aim to use modbus over tcp since both systems support this protocol. Trouble is, of course, that both systems can only act as modbus master.

With all the fieldbus open source out there, I was surprised that there was no "bridge" utility that would make two masters speak to eachother. I am not particularily well versed in the technologies, but from the outside it appears that it would be trivial to implement a process that would open up two ports and act as a slave to two separate masters.

Both masters would perceive the intermediary as a slave, but the input registers from the POV of Master1 be the output registers from the POV of Master2 and vice versa.

Is there anything, conceptually or protocol wise, that would suggest that this is problematic?

Tormod
  • 4,551
  • 2
  • 28
  • 50

2 Answers2

4

If both SCADA systems can access the same PLC, then use SCADA1 to write data to some datablock in that PLC, and use SCADA2 to read the same data. The other option is to implement simple MODBUS TCP server in some higher language and put it on some PC where both SCADA systems will have access to it. Alternatively you can run some MODBUS TCP server simulator instead of implementing it on your own.

SCADA systems are not very friendly supporting options that are not build in, so building MODBUS TCP server inside SCADA is in a task range from very difficult to impossible - depending on SCADA system you are using. Most SCADA systems can act as both OPC clients (accessing data from various OPC data sources) and as OPC servers (providing reading/writing option for all their tags to OPC clients). If your SCADA system is like that, then you can use OPC to achieve what you want.

avra
  • 3,690
  • 19
  • 19
  • Is it common for a modbus slave to accept two different masters without getting into concurrency problems? I thought that it was part of the protocol that a modbus master would never have two simultaneously ongoing operations. I considered OPC, but due to other concerns I want the connection to go through the IO interface. – Tormod Apr 27 '12 at 11:30
  • MODBUS RTU and ASCII slaves can only have a single master. MODBUS TCP slaves are actually TCP servers, and serialization of messages is built into them as for any other TCP server. Otherwise web server could not handle many clients at the "same time" (as serialization is done fast enough for humans to percept it as the same time). – avra Apr 30 '12 at 08:45
  • 1
    Modbus/TCP servers are designed to support multiple (but limited quantity) simultaneous connections. Avra's suggestion to tunnel the information through shared registers is probably the best you can get. Peter Grote's suggestion probably implements exactly one of these in a PC. – Pekka Jun 26 '13 at 09:17
0

Liking to OPC Server together , just use the KEPware LinkMaster, the perfect solution to solve this issue.

aizaz
  • 3,056
  • 9
  • 25
  • 57