WINCC文本变量读取写入

想实现一个功能 就是报警高低限的输入和读取  现有一个页面由 静态文本  高报低报输入输出域  读取和读取写入两个按钮组成  我想实现的功能就是 我在文本里面输入位号  下面高报和低报 就默认位我刚输入的位号相关,我按读取它读值 ,按写入我可以手动输入  并且位号输错弹出错误信息。  谢谢大家 最好发我个例子。万分感谢。

问题补充:
通俗一点  我就是想通过一个文本框输入一个位号 ,然后我的高报低报(窗口只有一个需反复调用),输入输出域就是我输入变量的高报低报高高报低低报。  固定的一个文本,一个窗口如何通过脚本实现这一个功能求教了。

最佳答案

你想通过位号来做?
我觉得很麻烦,也没必要,你只是想设置变量的上下限报警,而且只用一个窗口来完成对吗?
我的做法是在界面的每个模拟量上都做一个鼠标动作,然后在里面写脚本来调用那个报警设定的窗口,当然这个窗口上只有变量名称和4个限制值。我目前只做了2个限制值,上限和下限,不过道理是一样的。我的脚本如下:
int x,y;
LINKINFO linkinfo1; 
LINKINFO linkinfo2; 
linkinfo1.LinkType=1;  
linkinfo1.dwCycle=1;  
linkinfo2.LinkType=1;  
linkinfo2.dwCycle=1;  
SetPropChar("start.pdl","window3","visible","0");
x=GetLeft(lpszPictureName,lpszObjectName); 
y=GetTop(lpszPictureName,lpszObjectName);
SetLeft("start.pdl","window3",x+20);
SetTop("start.pdl","window3",y-100);
SetPropChar("start.pdl","window3","captiontext",GetPropChar(lpszPictureName,lpszObjectName,"tooltiptext")); 
strcpy(linkinfo1.szLinkName,"PF01AILTLL0101L");  
strcpy(linkinfo2.szLinkName,"PF01AILTLL0101H");  
SetPropChar("start.pdl","window3","visible","1");
SetLink("alarm_set.Pdl","output1","OutputValue",&linkinfo1);
SetLink("alarm_set.Pdl","output2","OutputValue",&linkinfo2);
你的那种想法也不是做不出来,由于你触发的条件是位号的改变,因此你可以把判断脚本放在位号的对象变化事件里来做,最好用SWITCH语句来做,循环速度会比较快。
swith
case 1:
//脚本
break;
case 2:
//脚本
break;
不过这样还是不明智,如果有1000个变量,不是要判断1000次?这样不太好。

提问者对于答案的评价:
自己已经实现了  你写的最多 分就给你了

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

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

相关推荐