您现在所在的是:

PLC论坛

回帖:5个,阅读:2767 [上一页] [1] [下一页]
1835
flyfox1047
文章数:304
年度积分:60
历史总积分:1835
注册时间:2005/12/27
发站内信
发表于:2022/5/20 13:48:43
#0楼
定义了两个数组
short a[16]
short b[15]

然后给每个数组里的变量getdata

然后判断每个变量是不是不等于0
if (a[0]|a[1]|a[2]|a[3]|........................................b[0]|b[1]|b[2]|b[3]|...................................)<>0 then
setsata...........

要是数组长,变量多,那像上面这样好繁琐
想用for循环来做,该怎么写?
219
870892133
文章数:47
年度积分:219
历史总积分:219
注册时间:2021/10/25
发站内信
发表于:2022/5/20 14:58:40
#1楼
用变量做数组,用 fot   to指令循环做比较
42315
YXBK 版主
文章数:19441
年度积分:2729
历史总积分:42315
注册时间:2007/4/14
发站内信
2015论坛优秀版主
2015春节活动
2013论坛优秀版主
2012论坛优秀版主
发表于:2022/5/20 17:21:01
#2楼
给你参考一下

附件 微信截图_20220520172006.jpg
大家一起学习
1835
flyfox1047
文章数:304
年度积分:60
历史总积分:1835
注册时间:2005/12/27
发站内信
发表于:2022/7/30 17:10:52
#3楼
回复 #2楼 YXBK
谢谢版主,但是参考了下,主题还是没办法解决~
42315
YXBK 版主
文章数:19441
年度积分:2729
历史总积分:42315
注册时间:2007/4/14
发站内信
2015论坛优秀版主
2015春节活动
2013论坛优秀版主
2012论坛优秀版主
发表于:2022/7/31 13:58:46
#4楼
以下是引用flyfox10472022/7/30 17:10:52的发言:
谢谢版主,但是参考了下,主题还是没办法解决~



macro_command main()
short a[16],b[15],n,m
bool d=0
GetData(a[0], "XINJE XC Series", D, 100, 16)
GetData(b[0], "XINJE XC Series", D, 200, 15)
for n=0 to 15
if a[n]<>0  then
d=1
end if
next
for m=0 to 14
if b[m]<>0  then
d=1
end if
next
SetData(d, "XINJE XC Series", M, 10, 1)
end macro_command


附件 微信截图_20220731135805.jpg
+5
大家一起学习
1835
flyfox1047
文章数:304
年度积分:60
历史总积分:1835
注册时间:2005/12/27
发站内信
发表于:2023/8/23 18:52:12
#5楼
回复 #4楼 YXBK
感谢YXBK 版主!非常非常感谢!

一开始我是这样写的
附件 00.jpg
我想要a0~a30 这些数组中有一个为1 ,就设LW152 为Z, 否侧设LW150为Y ,而实际是现在这个宏运行后同时将LW152设为Z,和LW150设为Y了,
我想可能是:假如a0为1,其它为0时, for第一遍时,将LW152设为Z了,但它没退出循环,继续for下一个,就又将LW150设为Y了,后面改了下,加了break中断循环
附件 Quicker_20230823_163052.jpg

可这样还是不行,我这样测试,a0为ON时,是正常的,只改了LW152的值,可我把a0改成OFF,a1改为ON,再测,结果LW152与LW150的值都改了


后面我看了版主的代码,受了启发,改成这样,就可以了

附件 Quicker_20230823_184943.jpg

附件 Quicker_20230823_185112.jpg

不知道一开始的代码问题出在哪,加break也不行
[此贴子已经被作者于2023/8/23 18:53:08编辑过]

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

46.8003