xueli521
生而无畏学至终章
级别: 探索解密
精华主题: 0
发帖数量: 75 个
工控威望: 158 点
下载积分: 10474 分
在线时间: 37(小时)
注册时间: 2019-07-22
最后登录: 2022-01-11
查看xueli521的 主题 / 回贴
楼主  发表于: 2019-11-04 14:12
威纶通宏指令,使用while后,无法停止。


macro_command main()

bool a,b,c = 1 ,d = 0
int e

GetData(a,"HMI",LB,2,1)
GetData(b,"HMI",LB,3,1)

while (a == true and b == false)
  SetData(c,"HMI",LB,0,1)
  SetData(d,"HMI",LB,1,1)
  DELAY(1000)
  SetData(d,"HMI",LB,0,1)  
  SetData(C,"HMI",LB,1,1)
  DELAY(1000)
  if b == true then
  break
  end if
  wend
end macro_command
海你好咸
级别: 略有小成
精华主题: 0
发帖数量: 276 个
工控威望: 354 点
下载积分: 2666 分
在线时间: 165(小时)
注册时间: 2018-12-22
最后登录: 2024-03-28
查看海你好咸的 主题 / 回贴
1楼  发表于: 2019-11-05 15:10
如楼上所说,在while语句中间加“GetData(a,"HMI",LB,2,1),GetData(b,"HMI",LB,3,1)”让“a,b”保持刷新即可

while (a == true and b == false)
~~~
GetData(a,"HMI",LB,2,1)
GetData(b,"HMI",LB,3,1)
~~~
wend