求高手指点这个vc脚本错误

我写个个脚本500ms循环,tag_0中存的是32位变量名称,tag_1中存是第几位,如果这位为1就变绿色,但我在调试时脚本诊断中常出现1007006错误代码,我搞不定,求帮忙 谢谢
#define TAG_0 "sbvariable1"
#define TAG_1 "pos1_2"

unsigned int dwHelp1,a;
char *dwHelp2;
dwHelp2=GetTagChar(TAG_0 );
dwHelp1=(unsigned int)GetTagWord(TAG_1);
a=(DWORD)GetTagDWordWait(dwHelp2);
     if (a&(1 << dwHelp1)) //Rückgabe-Typ :char* 
        return CO_GREEN; 
    else
        return CO_DKGRAY;
}

专家建议

以上代码正确使用的话没有任何问题,以下分析了问题产生的原因,并详细解释了代码的含义。

1007006错误是指变量不存在。以上的代码首先读取变量"sbvariable1"中的字符串,该字符串又存放了另外一个变量(例如"Tag2",该变量需要在WinCC中新建)的名字,然后读取该变量("Tag2")的值,并将其存放在变量a中。同时将变量"pos1_2"的值存储在dwHelp1中。

a&(1 << dwHelp1)的意思是:先将 1 左移 dwHelp1 位,然后将结果与 a 做按位与运算,如果整个表达式的值为 1,则返回绿色,否则返回灰色。

测试时需要在画面中拖放一个IO域,关联字符串变量"sbvariable1",运行时改变IO域的内容,例如"Tag2"。然后在画面中再拖放两个IO域,分别关联"Tag2"和"pos1_2",显示为二进制数,然后分别改变这两个变量的值并查看效果即可。

提问者对于答案的评价:

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月1日
下一篇 2020年11月1日

相关推荐

  • OPC读取SMART200 数据

    我用wincc V7.3组太软件 连接两台PLC ,目前温度压力 流量 都能读上来 但开关量 无法读到&nbs…

    SIMATIC WinCC 2021年7月5日
  • 怎么把泵的启动和停止记录每个月自动生成一个按日期命名的excel表格

    如题 问题补充:wincc v7.0上位机上 最佳答案 vbs脚本用变量的上升沿触发(启动停止的的状态都是置位变量)(用一个变量记录当前变量的状态,如果保存值为0当前值为…

    SIMATIC WinCC 2018年3月6日
  • Wincc在管理器里面无法进入simatic管理器原因

    显示正在使用中。 问题补充:无法进入角色管理 图片说明:       最佳答案 可参考:SIMATIC LOGON使用入门及步骤方…

    2021年7月5日
  • 趋势

    wincc7.4做液位历史曲线,用的归档变量。用脚本做的打开按钮,当打开运行时发现一个怪现象,比如液位时间值为3m,当打开趋势界面时,窗口曲线并不是显示3m,而是显示1m或其他值,…

    SIMATIC WinCC 2021年7月5日
  • wincc 在线表格是不是只能选择归档变量啊?

    wincc  在线表格是不是只能选择归档变量啊? 用在线曲线的时候,还可以选择数据源是归档还是变量,但在线表格好象没有让选择数据源的啊,是不是只能选择…

    SIMATIC WinCC 2019年6月11日
  • WINCC 有条件报警

    使用WINCC V7.3+OPC软件读取仪表来做监控系统,没有PLC。我想在电机电流低于25A时报警(电机启动时才报警,不启动时不报警),但在WINCC–&g…

    SIMATIC WinCC 2020年11月1日
  • wincc按钮写 C 清除报警

    在操作电柜触摸屏上有报警提示如何用 到WINCC里面写个按钮来现实清除了Wincc按钮写 C 清除报警  求正确写法,谢谢各位高手…

    2017年6月6日
  • HMI 输入输出域1

    屏:TP177A 题:要在HMI的输入输出域中设置部分重要参数,但设备运行时不允许输入!如果强制输入会提示:"请停止设备后再输入!" 我的思…

    SIMATIC WinCC 2019年6月11日
  • wincc i/o域添加变量时找不到变量

    wincc  7.0在组态画面I/O域添加变量时没有变量显示,右上角也没有wincc tags的选项,但是直接在I/O域output里面敲变量名,运行…

    SIMATIC WinCC 2019年6月11日
  • 用户选择

    问个问题,如果想用wincc做成如图这样的先是名字那的用什么做呢!现在要实现的功能是用鼠标选择操作员后在下面空白处显示并且能修改保存 问题补充:谢谢 @RENHQ的回答可…

    2021年7月5日