不知道是叫故障复位,还是叫故障确认好.姑且这么叫吧.
在WINCC系统生成的画面中,有一个叫@button.pdl的.其中有个画面窗口,貌似叫CSIG,它打开的画面就是一按钮,叫@CSIGQuit.pdl,我现在就是在@CSIGQuti的按钮脚本中添加C脚本 SetTagBit("xxxx",1);(为了复位一些非faceplate的故障).
恩,我的问题就是,为什么所有的Client中,这个按钮都不起作用,而Server却管用.
之后,我又把这儿按钮复制到非系统画面中(自己做的画面),Client中的这个按钮居然好用.
@button.pdl是系统生成的,我怕他在Client中与sever中不一样,还把改完的都复制到每台Client中,还是不行...
哎,彻底不知道怎么回事了,望各位高手指教.
问题补充:
谢谢凌波微步的回答
我还有问题问dcount107大侠
@CSIGQuit 中的脚本是一摸一样的,而且,我也避开了脚本里 if,或者sleep等语句,在@button.pdl中就不起作用,而复制到其他画面则有效果,真是让我百思不得其解啊..
还有,我的许多外部变量都木有加服务器前缀的,在client都是好用的,难道在@button.pdl中则必须加?
还有,您提到的标准服务器是啥概念啊
望dcount前辈闲暇之余指教一二,小弟感激不尽啊~~~~~
最佳答案
为什么所有的Client中,这个按钮都不起作用,而Server却管用.
之后,我又把这儿按钮复制到非系统画面中(自己做的画面),Client中的这个按钮居然好用.
----------------------------------------------------------------------------------
我认为问题出在@CSIGQuit的按钮脚本中。
另外SetTagBit("xxxx",1);中的变量xxx应该是服务器的变量,需要加服务器前缀或设置标准服务器。
---------------------------------------------------------
1、换一个思路试试:将SetTagBit("xxxx",1);加到按钮的鼠标左键动作中。
2、都木有>>都没有??
3、如果是在Client上对Server的变量进行操作,需要为变量指定服务器前缀。也可以通过WinCC Explorer>>服务器数据>>标准服务器来制定,这样的话所有的变量就默认加有服务器前缀了。
另外,你上次的问题@LocalMachineName好使吗?
提问者对于答案的评价:
感谢dcount,凌波微步,我再按你的方法试试
那个@LocalMachineName确实是每台机器的名字,但是我的自动登录还没做成,可能是脚本的问题,再研究下,如果不成,还少不了请教的,呵呵呵...
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc273631.html