想实现一个功能 就是报警高低限的输入和读取 现有一个页面由 静态文本 高报低报输入输出域 读取和读取写入两个按钮组成 我想实现的功能就是 我在文本里面输入位号 下面高报和低报 就默认位我刚输入的位号相关,我按读取它读值 ,按写入我可以手动输入 并且位号输错弹出错误信息。 谢谢大家 最好发我个例子。万分感谢。
问题补充:
通俗一点 我就是想通过一个文本框输入一个位号 ,然后我的高报低报(窗口只有一个需反复调用),输入输出域就是我输入变量的高报低报高高报低低报。 固定的一个文本,一个窗口如何通过脚本实现这一个功能求教了。
最佳答案
你想通过位号来做?
我觉得很麻烦,也没必要,你只是想设置变量的上下限报警,而且只用一个窗口来完成对吗?
我的做法是在界面的每个模拟量上都做一个鼠标动作,然后在里面写脚本来调用那个报警设定的窗口,当然这个窗口上只有变量名称和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