求高手指点这个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日

相关推荐

  • wincc I/O域分割

    wincc I/O域1输入4位字符,如何分割成2位字符并在I/O域2、I/O域3分别显示,然后I/O域2与固定字符比较,相等则给变量M0赋值,用VB动作实现。 最佳答案 …

    SIMATIC WinCC 2019年6月10日
  • WINCC服务器运行慢

    wincc主服务器(有一台冗余服务器)有时运行缓慢,发现进程CConlCmP。EXE占用CPU资源达99%,并占用大量内存资源。重新启动电脑后能够运行正常,进程CConlCmP。E…

    SIMATIC WinCC 2019年6月11日
  • 怎样删除WINCC画面的历史数据

    最近我在查看WINCC画面历史数据时电脑CPU运行为100%,不能查看历史数据,哪位高人可以告诉我是怎么回事,谢谢! 最佳答案 缩短查询时间间隔  减少同时查询…

    SIMATIC WinCC 2019年6月11日
  • wincc导入结构变量不能覆盖原有变量的地址

    我使用excel表格编辑wincc中使用的结构变量,起始地址重新规划,但导入wincc后,变量的地址没有变化,都是以前的地址。 最佳答案 从wincc v7.0升级到wi…

    SIMATIC WinCC 2021年7月5日
  • 趋势窗口问题

    为什么我用activex controls里面的wincc online trend control,做不出来如附图的效果:点击标尺按钮,弹…

    SIMATIC WinCC 2017年11月12日
  • 如何记录下操作员的操作信息

    现在要在画面上做个小功能,比如我用这个用户名登陆了后,我的所有操作信息都可以自动保存为记事本的格式记录下来;这个该怎么做? 问题补充:能再具体点吗?还不是很明白 最佳答案 记事本来…

    SIMATIC WinCC 2019年6月11日
  • 怎样用WINCC做按钮?

    各位老师好:我现在的用户需要我将WINCC的操作改成"按一个设备,出来一个对话窗,点击确认,发送命令,即启动设备,点击忽略或取消,停止设备,他门说用脚本做,可是我没有用过…

    SIMATIC WinCC 2019年6月11日
  • wincc server硬件狗

    在卸载u盘时,不小心卸载了wincc硬件狗(授权还在),可是usb口又找不到硬件狗,设备管理器中显示usb存储设备已卸载,但未拔除(有一黄色叹号),删除硬件,扫描硬件改动,但不能重…

    SIMATIC WinCC 2017年6月7日
  • WINCC V7.0 项目无法与PLC通讯

    工控机上我检查了网卡的名称以及IP地址  ,都没问题;我检查了WINCC上变量与PLC连接的IP地址以及机架和槽号信息,也没有问题;我检查了CP343-1模块的…

    SIMATIC WinCC 2021年7月5日
  • 触摸屏MP277

    触摸屏MP277里的图形怎样才可以旋转 最佳答案 使用简单图像绘制的图形可以旋转,如果使用图形视图是不能旋转的,可以使用画图做好图形,将多个图形重叠在一起,靠显示隐藏实现旋转 提问…

    SIMATIC WinCC 2019年6月11日