求高手指点这个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日 下午2:42
下一篇 2020年11月1日 下午2:42

相关推荐

  • WINCC6.0变量里只有内部变量和S7 suite,可实际弹出窗口……

    WINCC6.0,在没有打开编辑界面时,变量管理里只有内部变量和PLC MPI导入过来的变量,如图一;但是进入编辑界面打开数值属性,重新更改数值对应的变量时,弹出的变量窗…

    2018年12月5日
  • wincc 6.2 不显示文本

    用wincc6.2 打开以前版本的项目,图形可以显示,但汉字变成问号 最佳答案 1、打开编辑的画面的时出现???——    &nb…

    SIMATIC WinCC 2018年12月5日
  • wincc 的用户名问题

    如何自己制作一个用户名 账号登陆的画面,也就是说需要c 直接写入相应的地址 最佳答案 参考我的帖子:WINCC常见问题和一点技巧和脚本http://www.ad…

    SIMATIC WinCC 2020年11月1日
  • 请教wincc flexible线条动画效果

    在画面上画一条平行线,线的左端头连接变量a,右端头连接变量b,左右端头随着变量a,b的变化沿着Y轴上下移动。假如说a变量值没有发生改变,b变量改变了,那么线的左端头不动,右端头在Y…

    SIMATIC WinCC 2018年12月9日
  • SQL200 装不上去

    我这个SQL 2000是为WINCC安装的,以前也是从硬盘上直接安装很正常。昨天我重装系统后,再安装SQL 2000,提示说要插入安装盘,并且说如果有其他自动程…

    SIMATIC WinCC 2019年6月11日
  • WinCC趋势量程问题

    WinCC项目中建立了趋势画面后,添加了大概二十几条趋势,激活后,所有的趋势都显示在趋势画面中,因为趋势的标签量程基本都是不同的,但是显示在画面中的Y轴只有一个,查看起来很不方便,…

    2017年10月29日
  • 一激活就触发打印

    WINCC6..2一激活项目就执行打印作业Report Alarm Logging RT Message sequence不知道怎…

    SIMATIC WinCC 2019年6月11日
  • 请问大家这个VBS脚本错在哪里?

    我用VBS脚本操作SQL数据库实现对用户归档PLC变量的读取,但是这个脚本我实在找不到原因,插入语句我写在SQLmanager中运行是没问题的,但是WINCC运行后Set&nbsp…

    2021年7月5日
  • wincc中用C动作调用画面不行

    用C动作来组态切换画面,但程序写好了,却不能切换画面,程序应该是没有错误的,没有报错纪录,而且同样的程序在另外一个项目上(也是在另外一个电脑上)可以运行,现在不知道是不是什么地方设…

    SIMATIC WinCC 2019年6月11日
  • 报表功能绝对时间打印

    我用的是博图v13 问题补充:我用在线表格做报表,现在想通过画面来筛选报表时间范围,最后打印,现在是不知道怎么通过画面来筛选报表在线表格的时间范围 最佳答案 利用DTPicker&…

    2017年6月8日