Applies To:
  • CitectSCADA x.x

Question: I have a Citect system with 2 servers and 10 clients. If I power down the one I/O Server without doing a clean Citect shutdown there is a pause in communication to the other I/O server. After 30 seconds communication will continue with the second I/O server. If I shutdown Citect normally this does not occur. What is causing this problem? 

When a Citect server fails due to hardware, software or power failure other Citect on the network will know about the failure due to network time-out errors. These time-outs are typically up to 30 seconds. Before these time-outs complete, Citect clients and Citect servers will continue to transmit data to a failed server. As Citect has a set number of transmit buffers (controlled by [LAN]SesSendBuf), after a short time all of these buffers can be consumed. Once all transmit buffers are in use the Citect computer cannot transmit any data to any other Citect on the network. This is what is causing the second server to stop communicating with the other clients. For example if a server has 2 transmit buffers and the server tries to send 2 messages to a failed server, it will then not be able to send any messages to any other client. The server will have to wait for the 2 messages to time-out to show that the other server has failed before it can transmit to the other computers. Once the time-out has occurred the server will know the other server is down and will not send any more data until the connection is re-established. This way there is only 1 time-out period which occurs.

You may reduce this effect by decreasing the time-out values used on your network. This is controlled by the Citect parameter [LAN]SendTimeout and also in the Windows Registry. You will need to see your protocol documentation for details on how to adjust the time-out for your protocol. .(see Q??? for TCP/IP). You may also reduce this effect by increasing the number of send buffers with the parameter [LAN]SesSendBuf.