anlyl2014
大吉大利
级别: 网络英雄
精华主题: 0
发帖数量: 968 个
工控威望: 8868 点
下载积分: 3072 分
在线时间: 894(小时)
注册时间: 2014-05-23
最后登录: 2024-05-18
查看anlyl2014的 主题 / 回贴
楼主  发表于: 2022-02-27 13:27
第一次用威纶通的HMI,想在屏上显示程序行号,当LW=0,时在屏上的LB0=1,显示为红色,然后,当LW=1时,LB1=1,LB0变为0,也就是说,LW=n,LBN=1,共300行,写了一段宏代码,能用,但是,300行那么多,有没有更简的方法吗?希望高人指正,谢谢。
下面是宏代码:限于篇幅只列出0到4步
macro_command main()
short a
bool on=1,off=0
GetData(a,"Local HMI",lw,0,1)
if a==0 then
SetData(on,"Local HMI",lb,0,1)
else
SetData(off,"Local HMI",lb,0,1)
end if
if a==1 then
SetData(on,"Local HMI",lb,1,1)
else
SetData(off,"Local HMI",lb,1,1)
end if
if a==2 then
SetData(on,"Local HMI",lb,2,1)
else
SetData(off,"Local HMI",lb,2,1)
end if
if a==3 then
SetData(on,"Local HMI",lb,3,1)
else
SetData(off,"Local HMI",lb,3,1)
end if
if a==4 then
SetData(on,"Local HMI",lb,4,1)
else
SetData(off,"Local HMI",lb,4,1)
end if

end macro_command
活到老,学到老!
微信号:anjjyy2013
添加时注明来自工控人家园
压缩包用WINRAR打开,没密码
uuid1995
级别: 探索解密
精华主题: 0
发帖数量: 64 个
工控威望: 138 点
下载积分: 2121 分
在线时间: 134(小时)
注册时间: 2019-10-09
最后登录: 2024-05-09
查看uuid1995的 主题 / 回贴
1楼  发表于: 2022-03-10 09:49