找回密码
 免费扫扫注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

点击进入授权页面

只需一步,快速开始

使用威纶通触摸屏时,怎么实现数值输入自动清零其他元件

[ 复制链接 ]
有三个数值输入元件    怎么实现当一个元件输入数值时   另外两个元件自动清零  急求解答   多谢了。

回答:
很简单的,数值输入元件有一个通知功能,可以设置指定的寄存器为ON。
比如可以设置输入数值后设置LB0为ON,通过LB0调用一个宏指令,将其他元件清空。
LB0如何调用宏指令?
这时还得配合PLC控制元件来实现调用。


问这个问题,说明你还对威纶通触摸屏的编程不熟悉,可以参考我录制的两套视频教程。

这里我也编写一个实例供新手朋友学习。
例程界面如下:
2019-12-03_211030.jpg
任意一数值元件输入数值后,都会将其他两元件清空。
每个元件都使用了通知功能,设置数值输入后,将指令的寄存器设置为ON.
元件1的设置截图如下:
2019-12-03_211241.jpg
另外两个元件也类似的设置,使用了LB1,LB2.
这样每个数值输入元件输入数值后,都会将指定的寄存器设置为ON.

要让这三个寄存器都触发宏指令,得使用PLC控制元件,添加三个任务,
将这个三寄存器都指向一个宏指令,设置截图如下:
2019-12-03_211544.jpg
宏指令代码如下:
macro_command main()
bool b=false,b1=false,b2=false
GetData(b, "Local HMI", LB, 0, 1)
GetData(b1, "Local HMI", LB, 1, 1)
GetData(b2, "Local HMI", LB, 2, 1)
//根据数值输入元件通知的寄存器来清空数据。
short n=0
if b == false then
SetData(n, "Local HMI", LW, 0, 1)
end if
if b1 == false then
SetData(n, "Local HMI", LW, 1, 1)
end if
if b2 == false then
SetData(n, "Local HMI", LW, 2, 1)
end if
//将由数值输入元件设置为ON的LB0,LB1,LB2设置为ON,以便再次能触发宏。
b=false
SetData(b, "Local HMI", LB, 0, 1)
SetData(b, "Local HMI", LB, 1, 1)
SetData(b, "Local HMI", LB, 2, 1)
end macro_command

介绍的还不清空,可以下载例程查看。
下载地址:
请点击此处下载

请先注册会员后在进行下载

已注册会员,请先登录后下载

文件名称:使用威纶通触摸屏时,怎么实现数值输入自动清零其他元件.rar 
下载次数:0  文件大小:334.88 KB  售价:3金币 [记录]
下载权限: 不限 以上或 VIP会员   [购买VIP]   [充值积分]   有问题联系我


  

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

  

如果您着急,可联系发您资料!

  

QQ联系我

微信扫扫联系我

  



回复

使用道具 举报

点击查看
快速回复 返回列表 客服中心 搜索