我用S7-200和真空计通信,每次通信前都要握手一次,先给真空计发送一个地址,真空计返回ASCII码.真空计返回数据没有固定的开始,结束字符.
编的程序一直连不通,真空计没有返回的数据.
LD SM0.0
MOVB 16#91, SMB30 //初始化自由口
MOVB 16#9C, SMB87 //初始化RCV信息控制字节,任意字符接收
MOVW 0, SMW90 //设置空闲线时间为0
MOVW +5, SMW92 //设置信息超时时间
MOVB 100, SMB94 //设置最大字符数为100
MOVB 1, VB159 //设置发送一个字符
MOVB 16#1, VB160 //发送16进制数01
ATCH INT_0:INT0, 9 //连接中断0到发送结束事件
ATCH INT_1:INT1, 23 //连接中断1到接收结束事件
ENI //允许中断
A SM4.5
XMT VB159, 0 //发送数据
INT_0:
LD SM0.0 //发送完成中断接收数据
RCV VB161, 0
INT_1:
LD SM0.0 //接收结束中断,连接10ms定时器触发发送
MOVB 10, SMB34
ATCH INT_2:INT2, 10
CRETI
INT_2:
LD SM0.0 //10ms定时器中断,再发送数据.
DTCH 10
XMT VB159, 0