quote:以下是引用依然在2011-08-11 08:12:22的发言:
版主你好,清除该站的数据是因为工艺需要,如果不清除,有可能该站掉线后上位还有数据显示,会给操作人员错误的判断信息,最主要的是:我的站信息里面需要参与判断控制的。
我的程序是每个从站一个接受DB,清除也是用SFC21,就是清除的时候是根据判断当前的站号,,当有通讯超时时,把当前的站号对应的站数据清零。
具体程序如下:
发送超时:
O "SendOK"
O "SendErr"
O "SendOverTime"
R "SendReq"
S "Recving"
//发送数据超时检测
A "SendReq"
L S5T#100MS
SD "SendOverTime"
接受超时:
O "RecvOk"
O "RecvErr"
O "RecvOverTime"
JCN _199
//接收完成
R "Recving"
CALL "Comm_Complete"
_199: NOP 0
A "Recving"
L S5T#400MS
SD "RecvOverTime"
当发现发送或者接收延时定时器激活时,调用SFC21,清除当前的接收从站对应的DB号数据。
我可以肯定是这里出错了,但是这样有时还会清掉通讯正常的数据,由于现场原因,故障这块一直没有时间处理,但是问题却一直存在,如鲠在喉。