发布于 2007-01-12 23:33:25
0楼
我走的RS485的,为半双工,接收和发送是分时的,所以我给他分时完成可能更合理点!
我的报文格式为:
SOH M A1 A0 K1 K0 CR LF
其中 A1 A0 为00--地址仪表,K1 K0为Z > 为电磁流量计累计流量功能码,将上面ASCII报文转换为16进制后为:
W#16#1 W#16#4D W#16#30 W#16#30 W#16#5A W#16#3E W#16#D W#16#A
我依次把上面16进制数存到DB1的DB1.DBW0到DB1.DBW14中,然后在FB2的DB_NO 设为1,DBB_NO设为0,LEN设为16,即通过FB2把
上面的报文发送;FB3中DB_NO 设为2,DBB_NO设为0,LEN设为13,即把接收数据存到DB2中。
问一下,在发送成功FB3应该有反馈值DONE为1,接收完成FB2应该有NDR为1,对吗?
可我在线监视状态下,FB3中DONE偶尔会出现一次1状态,FB2中NDR一直为零,LEN也一直为0,这个肯定是不正常的,对吧.是怎么回事呢?
帮我看看,我上面的设置对吗?谢谢!
工控菜鸟!