求助内部函数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 2019年6月11日
  • 报警记录导出和导入

    我想把两个项目合并,我找到了变量和变量记录的导入导出方法,但报警记录的导入导出方法却没找到,我在论坛上看到报警记录可以导入和导出的,但没有说出具体方法。请指教。 最佳答案 在报警记…

    SIMATIC WinCC 2019年6月11日
  • 在线表格里数据带划线和u表示啥意思啊?

    在线表格里数据带划线和u表示啥意思啊?有说明资料没? 最佳答案 带u和i表示数据读到的不是实际的物理输入,读入的数据可能有出错。带划线表示数据是划线的数据,不是采集的数据。 提问者…

    SIMATIC WinCC 2019年6月11日
  • wincc的过程变量归档是存放在sql里还是wincc文件里面?

    wincc的过程变量归档是存放在sql里还是wincc文件里面?有哪几种方法可以将wincc的过程变量归档值提出转到excel。 最佳答案 1、wincc的过程变量归档是存放在sq…

    SIMATIC WinCC 2019年6月11日
  • WINCC选件的问题

    早就听说WINCC选件有Connectivity pack ,datamonitor,听别人说是查询数据库,但我还是有点模糊,大家给介绍下吧,还有其它的选件还有…

    SIMATIC WinCC 2019年6月11日
  • wincc OPC server怎么配置

    在配置wincc 作为OPC server时,要怎么配置,需要建立OPC通道,把wincc的数据放到通道里吗?还是不需要 问题补充:那我配置了OPCserve.…

    SIMATIC WinCC 2019年6月11日
  • TP触摸屏报警表问题

    在TP触摸屏上怎样做一个历史报警表。请高手赐教!谢谢! 问题补充:我只想保留触摸屏允许保留的部分报警记录即可,断电后消失也无妨,类似一般触摸屏的历史报警记录。 最佳答案 是要历史报…

    SIMATIC WinCC 2021年7月5日
  • 计算机双网卡能够通过TCP/IP冗余读取WINCC的数据吗?

    下位机是S7315-2PN/DP上位机是WINCC.协议是TCP/IP.计算机装有双网卡,WINCC能够进行网卡冗余读取PLC的数据吗?因为TCP/IP系统设置中只能选择对应某一个…

    SIMATIC WinCC 2017年11月19日
  • WINCC与三菱PLC如何实现通讯

    我现在有一台三菱PLC型号FX2N-32MR,还有一个通讯模块FX2NC-485 ADP,我想通过FX2NC-485 ADP实现计算机远程通讯,距离500m左右…

    SIMATIC WinCC 2019年6月11日
  • smart V3 配方视图

    为什么配方的数值会显示在左边,想让数值显示在右边,但不知道怎么弄的,属性里也找不到 图片说明:       最佳答案 配方视图属性中设置,属…

    2021年7月5日