威纶通官方论坛

请教版主宏指令的错误处理

[复制链接]
发表于 2012-12-1 16:07:20 | 显示全部楼层 |阅读模式
我用宏指令跟自己的设备做通信,设备是标准的MODBUS RTU从机。请问在执行宏指令GetData(usaHoldReg[0], "MODBUS RTU", 4x, 5001, 35)时,如果设备故障,没有对HMI的请求作出回应。那么通信肯定不能完成,我的问题是
1,在设备没有回应GetData的情况下,HMI是如何处理GetData之后的宏指令?
2,如何才能知道GetData是否已正确完成?即得到设备的响应
3,关于宏指令和通信出错的处理,有没有相应的详细的说明文档?EB8000手册好像找不到
发表于 2012-12-2 08:33:46 | 显示全部楼层
顶,俺也想知道。。。。。。。。。
 楼主| 发表于 2012-12-3 14:46:50 | 显示全部楼层
自己顶一下
没有人知道吗
发表于 2012-12-5 16:55:19 | 显示全部楼层
1、在设备没有回应GetData的情况下,HMI还是等待响应,不等待就需采用函数GetDataEX;
2,如何才能知道GetData是否已正确完成?即得到设备的响应
如果获取的数据是一已知的常数,可以采用比较指令,去设置一个状态位,若相等,指示灯亮,表示读取到数据。若设备因环境等因素确实会影响数据传输,可采用定时式资料传输传输到HMI的本机地址来处理,然后在宏内使用本机的地址去运算。这样,在规定时间内,数据读取不到,HMI就会报"PLC NO RESPONSE"。
 楼主| 发表于 2012-12-6 09:33:02 | 显示全部楼层
谢谢了。
1,我试过了,在设备没有回应的情况下,GetData之后的指令没有执行,HMI也不会报"PLC NO RESPONSE"。只是,LW-9350本机尚未处理的命令,此寄存器中数值不为零。

追问:LW-9350本机尚未处理的命令,此寄存器中数值不为零。如果出现过多的不回应,那么HMI是否会产生异常,导致程序无法正常执行?
     如果是这样,是不是都得用GetDataEX来处理?
发表于 2012-12-6 11:54:01 | 显示全部楼层
如果出现过多的不回应,那么HMI是否会产生异常,导致程序无法正常执行?
HMI异常和不回应命令数量的多少没有直接关系;
"PLC NO RESPONSE"的弹出只在超出设定的超时时间,没有读到数据才弹出。
在宏指令内,若没有读取到PLC地址数据,也是不会弹"PLC NO RESPONSE"窗口的,因此才有建议用本机的地址或GetDataEX来处理。
 楼主| 发表于 2012-12-9 18:07:55 | 显示全部楼层
谢谢您的回复,我明白了
您需要登录后才可以发帖 登录 | 注册

本版积分规则

回复帖子

Archiver|小黑屋|威纶通官网 ( 粤ICP备06054553号 )

GMT+8, 2024-11-23 20:02

Powered by Discuz! X3.4

© 2001-2023 Comsenz Inc.

快速回复 返回顶部 返回列表