在WinCC中如何动态修改变量名称

请教各位,在WinCC中我组态了2个变量a和b,其中a连接于输入输出域1,我需要实现当点击一个按钮时,将b将连接于输入输出域1,而a将不连接于输入输出域1,请高手赐教!

问题补充:
谢谢各位的回答,我用了城外之人的脚本,我是在按钮中编写的,代码如下:

 #include "apdefap.h"
 void OnLButtonDown(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, UINT nFlags, int x, int y)
 {
 char TagName[20];
 LINKINFO linkinfo;
 strcpy(TagName,"b");
 strcpy(linkinfo.szLinkName,TagName);
 SetLink(lpszPictureName,"IO1","OutputValue",&linkinfo);
 }
 其中"IO1"是输入输出域的名称,可是我点击按钮时,IO1 中显示的数值并不是对应变量"b"的数值,且退出运行后,IO1 连接的变量也不是"b",我用的是WinCC6.0 的版本,请问各位高手,问题究竟出在哪里,谢谢!

最佳答案

正确的方式是使用SetLink函数,即如<城外之人>的脚本。

  VBS脚本无法实现此功能,除非将SetLink函数封装成DLL供VBS调用。
 ---------------------------------------------------------
 试试这个:
 #define C_250ms 1
 LINKINFO linkinfo; 

 linkinfo.LinkType=1;  
 linkinfo.dwCycle=C_250ms;  
 sprintf(linkinfo.szLinkName,"b");  
 SetLink(lpszPictureName,"IO1","OutputValue",&linkinfo);
 

提问者对于答案的评价:
謝謝!

专家置评

http://support.automation.siemens.com/CN/view/en/34602491

 可以参考上边的链接,使用间接寻址。

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

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

相关推荐