上下位机通讯,上位机利用1Hz方波的上升沿定时500ms发送,下降沿定时接收,下位机收发轮询。
实际运行时,上位数据能被下位机收到,上位机却不能收到下位机所发出的数据。通过监测通讯线,发现下位机数据确实已发出。(波特率,起始信息,结束信息等设置正确,已检查过)。
上位机部分程序代码为:
LD SM0.1
CALL 初始化
NETWORK 2 //给对车体PLC的发送缓冲区赋值
//发送六个字节
LD SM0.0
MOVB 7, VB400
MOVB 16#7E, VB401
MOVB EB0, VB402 //发送输入点状态
MOVB EB1, VB403
MOVB EB2, VB404
MOVB EB3, VB405
MOVB EB4, VB406
MOVB 16#FF, VB407
NETWORK 3
//产生1000ms的脉冲
LD SM0.0
TON T37, +8
NETWORK 4
LD T37
TON T38, +8
NETWORK 5
LD T38
R T37, 1
NETWORK 6
LD T37
EU
S 发送数据标志, 1
S A0.0, 1
S A0.1, 1
CALL trans
NETWORK 7
LDN T37
//ED
//U 接收数据标志
RCV VB300, 0
S A0.3, 1