我在初始化程序里设了一个接收和接收完成中断,但是如果PC要发送命令给PLC时总是要发送两次程序才能运行到接收完成,如果只发一次程序就在接收完成中断里面停止了
LD SM0.1
MOVB 16#09, SMB30 // 9600bps,自由口方式
// 假定数据在VB100开始的地方,长度为100bytes
MOVB 16#BC, SMB87
MOVB 16#23, SMB89
MOVW 16#000A, SMW90
MOVW 16#0070, SMW92
MOVB 255, SMB94
ATCH 发送, 21
ATCH 接收, 8
ATCH 接收完成, 9
ENI
LDN T32
TON T38, +30
LD T38
TON T32, +1 //定时调用发送中断
发送中断
LD SM0.0
MOVB 100, VB100
XMT VB100, 0
接收中断
LD SM0.0
RCV VB1, 0
接收完成
LD SM0.0
S Q0.1, 1//这一步,只要发送一次就可以执行
LDB= VB2, 16#32 //这一步必须发送两次才可以执行,不知什么原因
S Q0.2, 3