求助内部函数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

相关推荐

  • 5611通讯断的问题

    1.备用工控机换到现场,用现场工控机上的5611,过一阵子(时间有长有短)通讯中断,重启又能用阵子 2.现场工控机用这块卡没问题,(同时排除线路原因) 3.备用…

    SIMATIC WinCC 2019年6月11日
  • wincc一个按钮实现置零和置一

    用一个按钮实现对一个变量的置零和置一:按第一次将此变量置一,再按一次置零,以此类推,如何实现? 各位大侠帮帮忙,新手实在想不出来了 最佳答案 直接选择按钮的功能为“取反位…

    SIMATIC WinCC 2019年6月11日
  • TIA WinCC profession 运行标题如何修改

    点开运行标题都是WINCC系统运行能不能换成自定义的 钻石用户推荐最佳答案 1)启动设置里面可以选择是否显示标题     2)你可…

    SIMATIC WinCC 2021年7月5日
  • WINCC运行系统

    在WINCC运行系统中,如果有报警消息产生就自动弹出WINCC报警记录,请问该如何做了??谢谢!!! 最佳答案 自动弹出报警是可以实现的,用画面窗口就可以.当有报警时就自动弹出,弹…

    SIMATIC WinCC 2019年6月11日
  • wincc按要求归档

    有一个过程变量我想按照要求来进行归档,我做实验设置了一个二进制变量,当这个变量为1时要求开始归档,变量为0时停止归档,wincc归档变量属性里我已把采集类型设为“周期可选择”之后,…

    SIMATIC WinCC 2019年6月11日
  • wincc 6.2的授权安装到C盘了,怎么才能把授权删除掉?

    wincc 6.2的授权安装到C盘了,怎么才能把授权删除掉?打开wincc 6.2 在状态栏显示“外部变量:1086/许可证:演示”,激活的时候显示软…

    SIMATIC WinCC 2017年7月30日
  • wincc中全局脚本中获得某个画面的某个对象的属性?

    请问在wincc中全局脚本中怎么获得某个画面的某个对象的属性? 画面中有个文字对象想做动态的滚动。按钮脚本如下,已经测试可以了,想在全局脚本中,周期性的触发。 …

    SIMATIC WinCC 2019年6月11日
  • 求教VBS组态数据库连接,急!!!!

    想要把wincc内部数据导入Access中,按照《深入浅出》编了一段VBS的程序,但是没有运行。我在D盘建立了一个名叫dbsample的Access文件,命名了一个data的数据表…

    SIMATIC WinCC 2019年6月11日
  • ABplc于wincc的通讯

    AB的PLC,CPU为1756,以太网卡为1756-ENBT/N,我的问题是:这个是AB的什么系列的PLC,我上位机用WINCC,怎么实现通讯? 问题补充:我是希望通过以太网通讯,…

    SIMATIC WinCC 2019年6月11日
  • wincc 点数

    wincc 订货点数计算规则是什么?是不是只计算外部变量,wincc内部变量不受限制; 最佳答案 1、wincc 订货点数计算规则是什么?详见同类问题的答案:h…

    SIMATIC WinCC 2019年6月11日