Applies To:
  • CitectSCADA x.x

We often got customers asking if they can have two IO servers on one serial ports, to which we say NO. Then they ask if they can use a serial switching box that provides two ports to the IO servers which the Standby server's checking to the communication line diabled until it detects a fail in the main IO server. Sounds feasible, can we do it? 

Yes, you can do the two I/O servers with a switch to change over. You need some cicode to disable/enable the I/O devices at the same time you switch the switch. To switch the I/O ports you will need another PLC which both I/O servers can communicate all the time. That way both I/O servers can check the state of the switch to disable/enable the states of the I/O Devices. Also you have to switch the switch if one of the I/O servers is shutdown. So you need some type of heart beat from the I/O servers to the controlling PLC.

This is exactly how it was done for one Citect project. They could only have 1 serial port to each PLC as the PLC were a very long distance away and they did not want to run another serial cable. After they completed the project and had written and debugged the cicode they decided it was a bad engineering solution. The reasons why, was that it was too complicated and basically a unreliable solution just to save the cost of installing an extra cable. The solution is bad as you don't really have full redundancy and you don't have bump-less transfer. As you can imagine every time you shutdown one of the I/O servers the serial switch must change over and the other I/O server must re-establish communications. This takes time and you get #COM for a short period of time.

So the answer is you can do this, but don't do it to save money. You will end up spending a lot of time engineering the software, commission the system and even then this solution is quite poor. Only do this if the I/O device can only have 1 serial port.