求助内部函数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日
下一篇 2019年6月11日

相关推荐

  • 波浪形边框如何画

    如图中所示的那种波浪形的边是如何画出来的呢? 图片说明:    最佳答案 我之前画波浪边是使用圆弧拼接制作的 提问者对于答案的评价:谢谢~

    2019年6月10日
  • WINCC画面集成监视

    现有三套独立的系统,一套是DCS系统,下有三个400的PLC,一套也是DCS系统,下有2个400的PLC,还有一套是300的PLC+WINCC监控系统,现在客户有个要求,就是把所有…

    SIMATIC WinCC 2019年6月11日
  • wincc 7.4能打开wincc 7.0sp3编辑的程序吗?如何操作?

    wincc 7.4能打开wincc 7.0sp3编辑的程序吗?如何操作? 最佳答案 可以打开,如果你只是简单的看人家的某一段或某一块,可以直接打开,提示你移植,…

    SIMATIC WinCC 2017年5月31日
  • wincc通过OLE控件链接到图形编辑器的excel chart问题

    在WINCC图形编辑器中,利用OLE控件链接外部EXCEL数据表时,当外部excel 的源数据更新后,在WINCC图形编辑器中的excel数据表不实时更新呢?(我用的是链…

    SIMATIC WinCC 2017年11月19日
  • SetTagDouble函数在定时器里不起作用

    请教专家:1、在一个wincc项目里,建立两个内部变量:Valve_SteamPress_1和Valve_SteamPress。并在变量里赋初始值Valve_SteamPress_…

    SIMATIC WinCC 2020年11月1日
  • WINCC 的功能实现

    我想在主画面上做一个控件来显示子画面!条件是:我鼠标点了哪个控件以后要求输入密码后才能显示子画面!!!请问大家这个功能怎么样实现!!! 谢谢 最佳答案 在这个对象属性时有…

    SIMATIC WinCC 2019年6月11日
  • 多台CPU、Wincc之间的通讯

    4台1512CPU,其中3台需要采集第4台的数据,3台CPU与一台Wincc通讯  ,第4台与另外一台Wincc通讯,请问如何搭建网络,以及如何实现的指令,谢谢…

    SIMATIC WinCC 2021年7月5日
  • wincc如何做出试用期提示及输入密码界面?

    我想在WINCC项目中做一个软件试用期弹出窗口提示,用户输入正确的密码后才可以正常继续使用,但我又不会用VBS脚本,哪位高手可以帮帮我吗?谢谢了。 问题补充:谢谢CHEN11120…

    SIMATIC WinCC 2019年6月11日
  • 变量归档无法保存

    打开变量记录弹出下面对话框:变量记录已在另一台计算机上启动,计算机名称:HP 问题补充:点击确定后可以归档,但是归档后保存按钮不可用。所以保存不了归档变量。 专家建议 项目如果是从…

    SIMATIC WinCC 2020年11月1日
  • WINCC触摸屏问题

    我用博途V11编了触摸屏画面,最近发现当向触摸屏下载程序后触摸屏显示的内容和我电脑上显示的内容不完全一样。比如:有个圆形控件他的背景色变了。有个控件的功能变了但是他的标签还是原来的…

    SIMATIC WinCC 2017年11月19日