梦雨天涯
微信hui530527   &
级别: 网络英雄
精华主题: 0
发帖数量: 4306 个
工控威望: 7682 点
下载积分: 15305 分
在线时间: 2949(小时)
注册时间: 2016-10-31
最后登录: 2024-12-19
查看梦雨天涯的 主题 / 回贴
楼主  发表于: 2018-10-20 13:59
图片:
图片:
求下面程序如何简化

程序是没有问题的,我想简单一点怎么操作?

附件: 威伦宏指令多个条件并列.zip (395 K) 下载次数:98
网站提示: 请不要用迅雷下载附件,容易出错
微信hui530527      b站账号,非标自动化谭工
请不要随意加我,不会随便通过。QQ群942493953
不小心遇见你
自动项目、PLC、视觉、通讯等工控软件开发QQ3515716
级别: 工控侠客

精华主题: 3 篇
发帖数量: 2049 个
工控威望: 2968 点
下载积分: 25195 分
在线时间: 1441(小时)
注册时间: 2014-01-05
最后登录: 2024-12-17
查看不小心遇见你的 主题 / 回贴
1楼  发表于: 2018-10-20 15:47
macro_command main()
bool on =true, off[3],a1[6]
short g
GetData(a1[0], "Local HMI", LB, 1, 6)
GetData(g,"Local HMI",Lw,0,1)
SetData(off[0],"Local HMI",LB,10,3)
if (a1[0]==1 and a1[1] ==0)or( a1[2]== 1) or(g > 10) then
    SetData(on,"Local HMI",LB,10,1)
    if(a1[3]== 1)then
        SetData(on,"Local HMI",LB,11,1)        
        if (a1[4]==1) or (a1[5]==1)then
            SetData(on,"Local HMI",LB,12,1)
        end if
    end if
end if
end macro_command
项目、视觉、通讯QQ3515716
梦雨天涯
微信hui530527   &
级别: 网络英雄
精华主题: 0
发帖数量: 4306 个
工控威望: 7682 点
下载积分: 15305 分
在线时间: 2949(小时)
注册时间: 2016-10-31
最后登录: 2024-12-19
查看梦雨天涯的 主题 / 回贴
2楼  发表于: 2018-10-23 09:20
图片:
引用
引用第1楼030403118于2018-10-20 15:47发表的  :
macro_command main()
bool on =true, off[3],a1[6]
short g
GetData(a1[0], "Local HMI", LB, 1, 6)
GetData(g,"Local HMI",Lw,0,1)
.......


你看一下这个
微信hui530527      b站账号,非标自动化谭工
请不要随意加我,不会随便通过。QQ群942493953
zjsckan
zjkaikai;QQ:598798210
级别: 网络英雄

精华主题: 0
发帖数量: 483 个
工控威望: 7432 点
下载积分: 20026 分
在线时间: 9488(小时)
注册时间: 2009-05-11
最后登录: 2024-12-19
查看zjsckan的 主题 / 回贴
3楼  发表于: 2018-10-23 09:34
off[3]后面的“,”是中文逗号了,改成英文的逗号就行了
威伦禁止反编译(恢复宏指令);WINCC画面密码;海泰克重建应用密码;组态王工程密码;Studio5000源密码保护等。微信:hkcs-001,QQ:598798210 
梦雨天涯
微信hui530527   &
级别: 网络英雄
精华主题: 0
发帖数量: 4306 个
工控威望: 7682 点
下载积分: 15305 分
在线时间: 2949(小时)
注册时间: 2016-10-31
最后登录: 2024-12-19
查看梦雨天涯的 主题 / 回贴
4楼  发表于: 2018-10-23 09:44
macro_command main()
bool on =true,off[3]={0,0,0},a[6]//
short g

GetData(a[0], "Local HMI", LB, 1, 6)//定义数组

GetData(g,"Local HMI",Lw,0,1)//获取数值

SetData(off[0],"Local HMI",LB,10,3)//复位状态

if (a[0]==1 and a[1] ==0)or( a[2]== 1) or(g > 10) then
    SetData(on,"Local HMI",LB,10,1)
    if(a[3]== 1)then
        SetData(on,"Local HMI",LB,11,1)        
        if (a[4]==1) or (a[5]==1)then
            SetData(on,"Local HMI",LB,12,1)
        end if
    end if
end if
end macro_command
微信hui530527      b站账号,非标自动化谭工
请不要随意加我,不会随便通过。QQ群942493953
fsjnzhy
级别: 工控侠客

精华主题: 0
发帖数量: 1129 个
工控威望: 2294 点
下载积分: 109010 分
在线时间: 1309(小时)
注册时间: 2011-12-15
最后登录: 2022-09-28
查看fsjnzhy的 主题 / 回贴
5楼  发表于: 2018-10-23 09:47
引用
引用第2楼梦雨天涯于2018-10-23 09:20发表的  :


你看一下这个

就是一个标点符号错误,在off[3]后面的逗号。
梦雨天涯
微信hui530527   &
级别: 网络英雄
精华主题: 0
发帖数量: 4306 个
工控威望: 7682 点
下载积分: 15305 分
在线时间: 2949(小时)
注册时间: 2016-10-31
最后登录: 2024-12-19
查看梦雨天涯的 主题 / 回贴
6楼  发表于: 2018-10-23 10:24
引用
引用第5楼fsjnzhy于2018-10-23 09:47发表的  :

就是一个标点符号错误,在off[3]后面的逗号。

如果没有先复位lb0到5,就算断开了,指示灯也是亮的
微信hui530527      b站账号,非标自动化谭工
请不要随意加我,不会随便通过。QQ群942493953
chenshiji618
我就是我不一样的烟火 我自己看了都上火!
级别: 网络英雄

精华主题: 0
发帖数量: 832 个
工控威望: 9044 点
下载积分: 1240 分
在线时间: 510(小时)
注册时间: 2011-07-02
最后登录: 2024-12-18
查看chenshiji618的 主题 / 回贴
7楼  发表于: 2018-10-23 12:31
学会用数组就行了
chenshiji618
我就是我不一样的烟火 我自己看了都上火!
级别: 网络英雄

精华主题: 0
发帖数量: 832 个
工控威望: 9044 点
下载积分: 1240 分
在线时间: 510(小时)
注册时间: 2011-07-02
最后登录: 2024-12-18
查看chenshiji618的 主题 / 回贴
8楼  发表于: 2018-10-23 12:32
不用GET1个 SET1个的
可以批量