画面窗口中的IO域如何返回变量值

画面模板窗口中有一个IO域 的Output value,用C脚本返回数据,其中有下列代码:字符串str被赋值为一个外部变量名称,例如P01010M01_O.SI_PV,但是返回的PV始终为零,但是该数据在 PLC中却不为零。是不是因为受到了画面窗口已有的变量前缀P01010M01_S.SI的影响?如果是,该如何避免?@NOTP::有用吗?
PV=GetTagFloat(str);
return PV;
}

问题补充:
应该是变量前缀的影响,但不知道如何进行屏蔽。

最佳答案

返回值PV为零是因为没有该变量,你可以用Global Script诊断窗口看代码执行情况。
使用画面模板的话,str不应该被赋值为"P01010M01_O.SI_PV",而是"_PV",因为前缀已经加载到你整个画面窗口。

如何避免变量前缀:

1.自 WinCC V7开始,有更简单的办法取消变量前缀。方法是使用下列变量附加件取消前缀。 
“@NOTP”取消变量前缀; 
“@NOSP”取消服务器前缀; 
“@NOP”取消变量前缀和服务器前缀。
http://www2.ad.siemens.com.cn/download/Upload/AS/application/A0443.pdf

2.使用SetTagValue/GetTagValue,用法比较复杂,见连接:
http://www.ad.siemens.com.cn/service/answer/solution.asp?Q_id=45650&cid=1032
http://www.automation.siemens.com/forum/guests/PostShow.aspx?PostID=6534&language=en&PageIndex=1

3.使用 youhm 提供的VBS脚本:
Dim  HMI
Set  HMI=CreateObject("CCHMIRuntime.HMIRuntime")
Msgbox  HMI.Tags("变量名").Read
http://www.ad.siemens.com.cn/club/bbs/post.asp?b_id=5&a_id=565036&s_id=0&num=8#anch

提问者对于答案的评价:
恍然大悟,多谢提醒!对变量前缀有了更进一步的认识。

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日 上午4:31
下一篇 2019年6月11日 上午4:31

相关推荐

  • WinCC 库函数

    请教各位专家:我的WinCC7.3SE安装时没有出现任何问题,很顺利的安装完成,也打完SP14的补丁。但是在使用时发现有个库函数没有“SSMLoadAlarmControlConf…

    2021年7月5日
  • 关于按纽的问题

    我想在wincc中实现鼠标指到按纽就让按纽的颜色变化,这该怎么做啊,谢谢各位师傅 问题补充:你们误解我的意思了,我是想让鼠标指到那边就有颜色变化,并不是单击按纽 4楼那钟…

    SIMATIC WinCC 2019年6月11日
  • 关于C动作的疑问

    看人家做的项目 C动作写完指令后 出现淡蓝绿色的字 不太清楚用什么用 我试过 删除这些淡绿色的字 一样可以正常运行所编辑…

    2019年6月10日
  • VB脚本播放不了.wav格式的声音文件

    VB脚本播放不了.wav格式的声音文件Dim  soundDim  obshell Set sound= &q…

    2020年11月1日
  • wincc vbs 支持 sleep吗

    我看到wscript 支持 sleep,wincc vbs  支持 sleep吗  ?谢谢 最佳答案…

    SIMATIC WinCC 2018年12月2日
  • WINCC 读取本地计算机TXT文件

    我用全局脚本 读取计算机的本地txt文件 但是fopen一直返回的都是NULLfopen("C:\test.txt","rb&qu…

    SIMATIC WinCC 2017年6月18日
  • wincc学习

    请问学wincc有什么资料好呢 最佳答案 西门子人机界面(组态与应用技术)  廖常初主编 挺好的还带光盘 提问者对于答案的评价:xiexie

    SIMATIC WinCC 2019年6月11日
  • wincc有组态王好吗?

    wincc有组态王好吗? 最佳答案 各有长处   不过我个人认为  好! 提问者对于答案的评价:xiexie

    SIMATIC WinCC 2019年6月11日
  • WinCC提问

    在WinCC中,多个客户机(client)都可以去打开服务器(sever)上的项目。但是,多个客户机(client)是否能够同时操作?如果一个客户 机(client)刚刚…

    SIMATIC WinCC 2019年6月11日
  • 关于WINCC

    我的winncc在创建新项目的时候,总是提示 HRESULT ERROR 0X80046105:(NULL)  是什么意思? 最佳…

    SIMATIC WinCC 2019年6月11日