您现在所在的是:

人机界面

回帖:19个,阅读:2015 [上一页] [1] [2] [下一页]
365
565124983
文章数:7
年度积分:50
历史总积分:365
注册时间:2018/1/6
发站内信
发表于:2018/1/8 16:34:47
#10楼
回复 #3楼 蛇会大学
设置了,除了IF语句里的代码不知道,其他的都执行的
9243
chi1225
文章数:2466
年度积分:639
历史总积分:9243
注册时间:2014/7/31
发站内信
发表于:2018/1/8 16:38:23
#11楼
回复 #9楼 565124983
D和E应该定义为BOOL型,并且赋值true和false~~
365
565124983
文章数:7
年度积分:50
历史总积分:365
注册时间:2018/1/6
发站内信
发表于:2018/1/8 16:43:36
#12楼
回复 #11楼 chi1225
我需要的是0.1数值,不是布尔型
9243
chi1225
文章数:2466
年度积分:639
历史总积分:9243
注册时间:2014/7/31
发站内信
发表于:2018/1/8 16:49:05
#13楼
回复 #12楼 565124983
那你是不是想控制Y1?D和E你定义为int型,而Y是bool型。。
12456
蛇会大学
文章数:4613
年度积分:782
历史总积分:12456
注册时间:2015/12/14
发站内信
2018论坛分享达人
发表于:2018/1/8 18:02:39
#14楼
你直接把IF后面的判断直接写个TRUE,强制执行看看什么情况?如果执行了,说明你这个IF后面的罗辑有问题,这样范围缩小了
1850
xiatianyun
文章数:277
年度积分:59
历史总积分:1850
注册时间:2002/6/5
发站内信
发表于:2018/4/3 21:39:25
#15楼
回复 #7楼 121111115
威纶的宏怎么和C扯上了。
1850
xiatianyun
文章数:277
年度积分:59
历史总积分:1850
注册时间:2002/6/5
发站内信
发表于:2018/4/3 21:50:07
#16楼
以下是引用5651249832018/1/6 20:26:47的发言:
设置了LW1 LW2 的值,if里的语句就是不执行,哪位帮忙看看 是哪里的问题,谢谢
macro_command main()
int a,B,C,D=1,E=0,F
GetData(B, "Local HMI", LW, 1, 1)
GetData(F, "Local HMI", LW, 2, 1)
C=C+1
if C==B then
  SetData(D, "MITSUBISHI FX0n/FX2", Y, 1, 1)
end if
if C==F then
  SetData(E, "MITSUBISHI FX0n/FX2", Y, 1, 1)

  C=0
end if
SetData(C, "Local HMI", LW, 3, 1)
end macro_command
只看到宏里面的C变量没有初始化。
如果C开始是0的话建议还是需要显式初始化的。
[此贴子已经被作者于2018/4/3 21:50:24编辑过]
5476
121111115
文章数:1400
年度积分:559
历史总积分:5476
注册时间:2015/3/16
发站内信
2018论坛分享达人
发表于:2018/4/4 8:59:30
#17楼
以下是引用xiatianyun2018/4/3 21:39:25的发言:
威纶的宏怎么和C扯上了。
我不好回答,宏是给你调用的,什么条件调用你得处理吧,我可以用维纶的屏带一块支持485的继电器板子干活,逻辑就在屏里写,数据处理也在屏里,你信不?
5476
121111115
文章数:1400
年度积分:559
历史总积分:5476
注册时间:2015/3/16
发站内信
2018论坛分享达人
发表于:2018/4/4 12:44:40
#18楼
以下是引用xiatianyun2018/4/3 21:39:25的发言:
威纶的宏怎么和C扯上了。
大兄弟,和C没关系我给你说错了,这是一小段,有删减勿用,最长的有1300多行的,能用和用好是两个概念,继续努力吧。

short brsjh
short brsjm
short brsjh1
short brsjm1
bool brsjh1bz

GetData(brsjh, "Local HMI", LW, 9019, 1)
GetData(brsjh1, "Local HMI", RW, 10, 1)
GetData(brsjm1, "Local HMI", RW, 12, 1)
GetData(brsjsdm1, "Local HMI", RW, 16, 1)


if (brsjh1<brsjsdh1) then
   if (brsjh1<=brsjh) & (brsjh<=brsjsdh1) then
   brsjh1bz1=1
      if (brsjh==brsjh1) & (brsjm==brsjm1) then
          brsjh1bz=1
             SetData(brsjh1bz, "Local HMI", LB, 187, 1)
       end if
      if (brsjh==brsjsdh1) & (brsjm==brsjsdm1) then
          brsjh1bz=0
             SetData(brsjh1bz, "Local HMI", LB, 187, 1)
       end if
    end if
end if
1850
xiatianyun
文章数:277
年度积分:59
历史总积分:1850
注册时间:2002/6/5
发站内信
发表于:2018/4/4 16:50:59
#19楼
呵呵,杠上了。
我说的是上一贴关于花括号的说法,威伦通的宏有点类似于Pascal的语法,和C不太像。
确实,逻辑可以在触摸屏实现,没什么不好的。
[此贴子已经被作者于2018/4/4 16:51:48编辑过]
此帖发自手机工控论坛

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

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

78.0005