求助内部函数Set系列的使用问题!

先谢谢大家。
 其实不复杂:就是用C动作定义一个按钮的鼠标动作,点击它给某一个变量赋值1,相当于开启连接这个变量的开关。其他先不说,现在就连最基本的置1也没用,相关程序段如下:
 #include "apdefap.h"
 void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
 {
 #define Tag  "HMI-si-semi-auto"
 if(GetTagBit(Tag)==0)
 SetTagBit(Tag,1);
 }
 我直接用{SetTagBit("HMI-si-semi-auto",1)}和{SetTagWord("HMI-si-semi-auto",1);}等都试遍了都不行。用直接连接时功能没任何问题,但直接连接处右边选变量时必须在变量表里确定,直接粘贴的没用。我在想此处使用是否也得双击函数,然后在变量处在列表里选择确定?但按“OK”之后就变成这样了:
 SetTagBit("HMI-si-semi-auto
 ",1); //Return-Type: BOOL 
 ",1);直接就到了下一行,改正后还是不行。
 这不就是个赋值吗?难道还有什么玄机?我看其他人的项目也是这么弄的,我直接复制粘贴也不行,我初学,全局脚本,项目函数都写了几个都没问题,咋这个这么郁闷呢?请大家帮忙啊!!!

问题补充:
感谢三位朋友的回答,但遗憾的是问题还未解决:
   1 对ruixm朋友的回答,我以前是如此做的,但做完后确认,语句就变成如此:
   SetTagBit("HMI-si-semi-auto
   ",1);
   编译通不过,改正后无效;我也觉得直接复制粘贴的变量名应该是有用;
   2 axg2008朋友:我用WINCC 6.0 SP3 + HOTFIX 2,STEP 7 V5.4,PLCSIM V5.4,在同一机器上进行的模拟连接,WINCC直接连PLCSIM,能正常通信,STEP7里的变动都能正确显示,所以排除通信问题造成的动作失效。另外在真机上试验也是不行,总是直接连接可以,但直接连接要进行一些更为复杂的赋值就不行了,所以此问题必须解决。或者大家还有什么更好的办法能绕过?
   3 yanshanshanmai朋友:编译报错的话不能保存,更别说运行了。程序中没有复位的地方,就算有条件也不满足,再说直接连接时按钮赋值功能是可用的,就是脚本不行,郁闷就郁闷在这里!
   再次感谢,继续期待大家的帮助!

  

  十分感谢大家的回答,问题最终解决,原因其实很弱智,是因为录入变量时直接复制粘贴的EXCEL,表面上看没问题,但其实变量名最后多了个估计是换行的不可见符号,所以才会出现脚本换行的情况。结果问题直接出在变量表中,这是我不熟造成的,给大家填麻烦了,这下后面的C动作就好说了!再次感谢!

最佳答案

SetTagBit("HMI-si-semi-auto",1);就可以了。
 首先你在C动作中插入函数  /内部函数/tag/SetTagBit,然后会跳出对话框,1,点击 值:tag_name  点击右边有选择框,自动跳入变量表选择HMI-si-semi-auto即可;2,点击 值:value,直接输入1即可。就完成了,此时SetTagBit("HMI-si-semi-auto",1);中的"HMI-si-semi-auto"应该是红色。
 另外当函数写好,发现变量不对,你也可以直接在变量表中copy变量名过来覆盖HMI-si-semi-auto即可。

提问者对于答案的评价:
非常感谢您的回答,大家共同进步吧!

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc278102.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日 下午1:43
下一篇 2019年6月11日 下午1:43

相关推荐

  • 项目激活启动时运行一段程序

    我想让一个wincc项目启动时,自动运行一段程序。除去在主画面添加“打开画面”C 动作的 方法,请问还有什么其他的方法?如果项目不是从主画面进入,也可以运行这段…

    SIMATIC WinCC 2020年11月1日
  • PASSDBRT MFC-ANWENDUNG

    出现PASSDBRT MFC-ANWENDUNG进程停止问题,请问这是什么进程?为什么会出现此问题 最佳答案 passdbrt.exe. 此文件属于产品的WIN…

    SIMATIC WinCC 2021年7月5日
  • Wincc 6.0图形按钮弹出询问框的问题

    请问各位大侠:      本人在WINCC界面/对象选项板/标准/窗口对象里面添加了一个圆形按钮,需要按鼠标动左键动作时…

    SIMATIC WinCC 2019年6月11日
  • prosave安装问题

    本人需要用以太网连接笔记本与SMART700IE v3触摸屏,根据网上所说,我准备下载一个Prosave来完成OS更新,之后下载了一个prosaveV9.0.3.0版本的…

    SIMATIC WinCC 2021年7月5日
  • 笔记本电脑与HMI通信

    MP337的屏在与电脑通信时屏是什么状态,在那个个选项上才能通信上,怎么设置。电脑上的地址是192.168.0.21HMI上的是192.168.0.20,以太网线测试过了没问题,电…

    SIMATIC WinCC 2017年11月4日
  • 西门子WINCC画面程序我考过来后为什么在我的电脑上打不开

    我这有一套连铸画面,工控机挺老的,我想把画面做个备份,结果我把工控机上面的画面程序考到我的电脑上,我电脑上的WINCC提示0×8004610a:(null),点确定后就出现提示框写…

    SIMATIC WinCC 2018年12月14日
  • wincc画面窗口怎样改名字

    wincc新建画面窗口1,改名字提示找不到该对象,无法更改。 问题补充:修改‘画面窗口1’为‘jb01”这个名字,提示找不到对象。 图片说明:    最佳答案…

    2018年3月6日
  • WINCC“显示错误框”弹出后没有在当前显示

    在画面设置一个按钮,用来退出WINCC运行系统,使用动态向导窗口的“图画功能”选项中的“显示错误框”命令。激活运行后,为什么窗口不在画面最上层显示呢?非得ALT+TAB切换页面才行…

    SIMATIC WinCC 2017年11月4日
  • WINCC7.0多语言版画面文字变成乱码

    我安装的WINCC7.0多语言版,开发时没有做过任何语言修改,画面开发时中英文显示均没有问题,但是关掉软件重启后,画面上的文字都变成了问号,随后在画面选项里修改任何语言都没有效果,…

    SIMATIC WinCC 2019年6月11日
  • WINCC实现多画面窗口的问题(带附图 )-急

    我现在要实现的功能是如附图所示的主画面里面有两个画面窗口,分别为画面窗口一和画面窗口二。 我要在画面窗口一中放画面一和画面二,在画面窗口二中放按键一和按键二,首先,起始的…

    2017年12月9日