画面窗口中的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

相关推荐

  • 触摸屏与plc通讯自动断开

    TP1200触摸屏与CPU1510通过PN/IE连接,通讯一段时间后自动断开,是怎么回事? 钻石用户推荐最佳答案 1.请检查通讯设置和通讯连接。2.检查网线3.IP地址是否有冲突4…

    SIMATIC WinCC 2020年11月1日
  • wincc图形编辑器对象属性无法正常显示

    不知道什么原因,右键属性之后只有标题,重装之后还是这样。。 图片说明:    钻石用户推荐最佳答案 鼠标放到标题的地方,看看能不能调整不鼠标按住对象属性的标题栏…

    2020年11月1日
  • ACCESS 变量如何导入到WINCC里

    WINCC里建立了6个连接,JK-1~JK-6(access里也是建立了6个连接),导入access变量时,怎么只能导入第一个,再导入也提示导入完成了,但是WINCC变量组里却没有…

    SIMATIC WinCC 2019年6月11日
  • wincc使用脚本将实时数据存入数据库,出现查询超时导致数据存储停滞

    1.我用的VBS脚本将实时数据存到SQL的自建表中,运行起来后隔一分钟左右就会弹出查询超时的对话框(如图),然后数据库的数据就会停留在当前的时间并且一直保存同一组数据,除非我关闭弹…

    2021年7月5日
  • TIA WINCC V15.1中VB脚本跳转语句怎么写?

    如题,VB脚本中跳转怎么写?我试过GOTO,指令可以用,但跳转目标(行标签)不会定义,如下图。请高手指教! 问题补充:您好!我的问题不是GOTO能不能用,或者怎么用。是问跳转怎么实…

    2020年11月1日
  • WinCC的客户机连不上服务器?

    WinCC客户机/服务器系统:多用户系统与分布式系统项目组态(入门指南) 课程编号:V1456 介绍了如何部署WinCC客户机/服务器系…. 点击这里,打开新窗口观看完整视频 …

    2021年7月5日
  • wincc c脚本中无法用函数strcasecrmp

    比较两个字符串是否相同,用函数strcasecmp(不区分大小写)。但是无法识别这个函数。   是不是要加头文件(string.h),但是不知道怎样加…

    SIMATIC WinCC 2019年6月11日
  • winCC动态画面案例(风机旋转)

    各位大侠,看了很多关于winCC制作动态画面的帖子,由于小弟是初学者,对脚本的使用,画面编辑器的使用不太清楚。请问哪位大侠能给小弟发一份动态画面的winCC文件,如果有相关资料,也…

    SIMATIC WinCC 2019年6月11日
  • FX3U以太网通讯

    请问WinCC支不支持三菱FX3U以太网通讯。 最佳答案 WinCC和三菱 PLC以太网通讯https://support.industry.siemens.com/cs…

    SIMATIC WinCC 2021年7月5日
  • wincc怎么给结构变量赋值

    请教各位大虾,比较说建了一个结构变量,在这个结构变量下建了两个变量组,比如说1和2,要怎么用VB写程序实现1和2的数据交换?可以不用一一交换吗? 最佳答案 必须一一交换 提问者对于…

    SIMATIC WinCC 2019年6月11日