那请帮我再看看这个问题
……前边程序省略……
CALL SFB 12, DB50 //调用发送功能块SFB12
REQ :=DB400.DBX0.0 //触发调用,前面已设置,正常
R :=DB400.DBX0.1 //闭锁调用,也正常
ID :=W#16#1000 //从站地址,正常
R_ID :=DB400.DBD16 //不太清楚此参数功能,不过确信也无问题
DONE :=DB400.DBX0.4 //发送完成状态字,一直是 0状态
ERROR :=DB400.DBX0.5
STATUS :=DB400.DBW12 //发送状态字,循环显示16#19,16#b,
//16#2和16#0,不知何意。
SD_1 :=P#DB410.DBX 10.0 WORD 1 //只知道是发送区域,不懂是从哪个区域发
// 送,向各位请教
LEN :=DB400.DBW10 //发送长度,正常
我的问题是:可能是哪里的问题,导致DONE :=DB400.DBX0.4 一直是0,发送不能完成?
整个程序我没法拷贝过来,不过昨天晚上我去调试的时候,发现它的错误状态如下:
在线帮助我也抄下来了,请看(轮流显示这四种状态,其中每一横行显示了这种状态下两个状态位对应的值).
error status 提示
0 25 通信已经启动,任务正在被处理
0 11 警告:新任务无效,因为前一个任务未完成
1 2 对方通信块拒绝接受。功能未被执行。
0 0 无警告,无错误。
另外在SYSTAT中得到的诊断信息为0830(H),转换为二进制是0000 1000 0011 0000,事件等级和事件数字我记不起来怎么算了。
应该怎么解决呢?