QQ登录

只需一步,快速开始

如何获取威纶通触摸屏宏指令GetData等函数的返回结果

[ 复制链接 ]
我用HMI屏和PLC进行485通信,我用GetData获取数据、用SetData设置数据,但是有时候可能是通信问题,或者其他问题,导致函数执行失败。我如何才能确定这些函数是否执行成功呢?

另外,我希望能够获取HMI和PLC的连接状态,我知道,如果设置元件直接访问PLC地址,那么如果通信失败,可以弹出窗口提示,
但是这样HMI会一直向PLC发送命令,我无法确定发送命令的频率,更无法设置这个频率。有没有大牛指导一下?

总之,不想频繁的向PLC发送命令,但又希望能够判断PLC和HMI是否通信正常。



回答:
Getdata,GetData函数没有返回值为判断通讯结果,函数会在调用处中断宏往下执行,直到接收完数据。
一般遇通讯异常问题还需要继续执行宏指令,可使用GetdataEX和SetdataEX函数。
函数不等待  PLC  回应,径自往下执行。
是否接收或发送了数据,可以通过硬件的回应数据来判断。用一个空数组接收硬件回应的数据。
数组不为空表示硬件收到了指令并作了回应。



关于硬件通讯状态的获取,可以使用威纶通内部的系统地址指示。
如图,这是对应屏上使用COM1口的,通讯正常指示位状态为ON,通讯不上指示位状态为OFF。
2019-11-20_103221.jpg
另外串口打开的状态我们也可以使用,LB9203等系统寄存器。
很多串口都是通过USB转换,支持热拔插。所以很多时候串口会突然消失。
如下图,通过威纶通提供的系统寄存器也可以获知串口打开的状态。
2019-11-20_103339.jpg


如果初次接触威纶通触摸屏,可以参考我录制的威纶通触摸屏视频教程与宏指令编写。

  

如果您认可,可联系功能定制!

  

如果您着急,充值会员可直接联系发您资料!

  

QQ联系我

微信扫扫联系我

  


回复

使用道具 举报

快速回复 返回列表 客服中心 搜索