在weinview屏中用宏指令写一段指令,总出错 点击:875 | 回复:12



xysgk

    
  • 精华:0帖
  • 求助:4帖
  • 帖子:5帖 | 39回
  • 年度积分:0
  • 历史总积分:40
  • 注册:2013年10月29日
发表于:2013-11-19 11:06:47
楼主

short  lw9150 lw300

macro_command main()

bool lb1 lb2

if lw9150==lw300 then 

lb1=1

else

lb2=1

end if

end macro_command 

 

在编译时总报C1错误,说是多一个或者少一个字符什么的,请懂的看看到底哪里出错了




Mr袁--王者之师

  • 精华:0帖
  • 求助:3帖
  • 帖子:32帖 | 1147回
  • 年度积分:0
  • 历史总积分:3881
  • 注册:2011年10月26日
发表于:2013-11-19 11:51:02
1楼

你可以这样试试  lb1=true  

xysgk

  • 精华:0帖
  • 求助:4帖
  • 帖子:5帖 | 39回
  • 年度积分:0
  • 历史总积分:40
  • 注册:2013年10月29日
发表于:2013-11-19 13:08:49
2楼

还是不行,还是提示:错误C1,出现此项错误,一般都是多了或者少了一个符号。

Mr袁--王者之师

  • 精华:0帖
  • 求助:3帖
  • 帖子:32帖 | 1147回
  • 年度积分:0
  • 历史总积分:3881
  • 注册:2011年10月26日
发表于:2013-11-19 13:19:49
3楼

你把第一句话放在 第二行的下面

runljz

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 159回
  • 年度积分:45
  • 历史总积分:4071
  • 注册:2009年7月13日
发表于:2013-11-19 13:52:19
4楼

这样肯定不行,变量必须放在在主函数里面定义。故3楼说的正确。

xysgk

  • 精华:0帖
  • 求助:4帖
  • 帖子:5帖 | 39回
  • 年度积分:0
  • 历史总积分:40
  • 注册:2013年10月29日
发表于:2013-11-19 14:02:39
5楼

我开始时,就是把第一句放在主函数里面,编译通不过,再按照2楼指导,改true,不行,我想了一下,我想LW9150,LW300应该是一个全局变量,所以把他们提到主函数之前了。刚刚我再次把他们改到主函数里面,还是一样的错误。。。。。

 

runljz

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 159回
  • 年度积分:45
  • 历史总积分:4071
  • 注册:2009年7月13日
发表于:2013-11-19 14:08:15
6楼

哦,你将变量之间加英文的逗号

short  lw9150 ,lw300

bool lb1, lb2

runljz

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 159回
  • 年度积分:45
  • 历史总积分:4071
  • 注册:2009年7月13日
发表于:2013-11-19 14:09:21
7楼

这块你没有弄清,变量之间是通过逗号分开的。

xysgk

  • 精华:0帖
  • 求助:4帖
  • 帖子:5帖 | 39回
  • 年度积分:0
  • 历史总积分:40
  • 注册:2013年10月29日
发表于:2013-11-19 14:12:23
8楼

应该是在定义变量的时候应该加逗号,这样就没有错误,谢谢mr袁,runljz

xysgk

  • 精华:0帖
  • 求助:4帖
  • 帖子:5帖 | 39回
  • 年度积分:0
  • 历史总积分:40
  • 注册:2013年10月29日
发表于:2013-11-19 14:16:44
9楼

我做这样一段宏指令的意图是,想屏上电时,显示一个请输入密码的界面,让这段宏指令来判断密码是否正确,正确赋值给lb1,这样就可以控制一个主菜单的窗口弹出,问题是用键盘输入的数字是存在LW9150中吗

runljz

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 159回
  • 年度积分:45
  • 历史总积分:4071
  • 注册:2009年7月13日
发表于:2013-11-20 12:44:30
10楼

回复内容:

对: xysgk 我做这样一段宏指令的意图是,想屏上电时,显示一个请输入... 内容的回复!


这个你的理解是有错的,LW9150只是用来显示你每次输入的数据,没有实际意义。你做密码界面肯定是要做一个数值输入元件(例如改地址为LW0),那边一输入的密码应该来自于LW0,用LW0中的值与你原始密码作对比才对啊。比如你的原始密码在LW300地址里面,你切花页面的地址用的是LW2OO,宏程应该如下:


macro_command main()

short a,b,c

//数据初始化

a=0

b=1

c=0

//

GetData(a, "Local HMI", LW, 0, 1)//输入密码

GetData(b, "Local HMI", LW, 300, 1)//获取原始密码


if a==b then

  c=12 //密码输入正确后,跳转到12号窗口

SetData(c, "Local HMI", LW, 200, 1)


end if

 


end macro_command



xysgk

  • 精华:0帖
  • 求助:4帖
  • 帖子:5帖 | 39回
  • 年度积分:0
  • 历史总积分:40
  • 注册:2013年10月29日
发表于:2013-11-20 15:12:54
11楼

回复内容:

对: runljz  回复内容:对: xysgk 我做这样一段宏指令的意图是... 内容的回复!


 非常感谢你的指点,我想加你为好友。谢谢!

runljz

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 159回
  • 年度积分:45
  • 历史总积分:4071
  • 注册:2009年7月13日
发表于:2013-11-20 16:47:31
12楼

回复内容:

对: xysgk 回复内容:对: runljz  回复内容:对: xys... 内容的回复!


OK,我的QQ:376607871


热门招聘
相关主题

官方公众号

智造工程师