quote:以下是引用watchsky在2012-05-09 12:01:58的发言:
我在使用CP443的时候遇到过一个问题,PLC通过UDP协议和好几个仪器通讯,但其中有一个仪表错误的发送了大量的数据,导致CP443的缓冲区溢出(All receive buffers on the LAN are in use),严重的是这样导致其他仪器无法和PLC通讯,包括PC,从而使控制系统处于不可控的状态。有没有一种防错措施可以避免这种情况的出现?不知道采用TCP/IP协议是不是不存在这种情况?
TCP协议会有流控机制,即cp的缓冲区满了,会发送一个window size =0的信息给发送方并停止处理新进数据,从而避免出现溢出的问题,可以考虑使用。注意,如果经常出现溢出的情况,cp的处理时间会延长很长的一段时间,有时是秒级的延迟哟。