我想实现:在主画面上按“按钮1”就能弹出一个窗口,窗口里要显示输入输出域和静态文本等控件功能。我现在的做法是:
在主画面中插入“画面窗口”控件,把它调整到适当的位置和大小。
1、画面窗口1——事件——属性主题——其他——变量前缀,更改 的动作为直接连接。打开直接连接,源的对象栏选择“该对象”,属性栏选择“变量前缀”;目标的对象栏选择“该对象”,属性栏选择“标题”。
2、画面窗口1——事件——属性主题——其他——标题,更改 的动作为直接连接。打开直接连接,源选择“常数”而不是“属性”了,并把常数改为1,目标的对象栏选择“该对象”,属性栏选择“显示”。
3、然后在“按钮1”的鼠标左键C动作编译器里写:
SetTagPrefix(lpszPictureName,"画面窗口1", lpszObjectName); //Rückgabe-Typ :BOOL
SetVisible(lpszPictureName,"画面窗口1",0);
SetPictureName(lpszPictureName,"画面窗口1","Head_1zs");
SetVisible(lpszPictureName,"画面窗口1",1);
就可以了。
最后运行结果,虽然点“按钮1”可以弹出画面窗口1所连接的子画面:Head_1zs.pdl,但是Head_1zs.pdl上的输入输出域被阴影覆盖不能显示数据。如果我单独运行Head_1zs.pdl图形,是可以显示数据的。
请问我弹出窗口的制作步骤有没有问题?
为什么窗口上的数据不能显示?
最佳答案
有问题,太复杂了。
一般也是最简单最可靠的方法就是:
1)主画面上除了按钮等对象以外,在基本不用的地方添加一个画面窗口对象-》尺寸设置成弹出画面大小,该画面窗口对象-》属性-》可见-》直接连接一个开关变量比如WINKEY,
2)弹出画面先一副一副做好比如TAN1.PDL,TAN.PDL尺寸同画面窗口尺寸一样(每个画面应该有个按扭把WINKEY=0用来隐藏画面窗口对象)。
3)主画面-》按钮-》事件-》鼠标左键按下直接连接,名称TAN1.PDL,后面选择画面窗口对象-》名称
主画面-》按钮-》事件-》鼠标左键弹起-》连接,把WINKEY=1
这样就完成画面加载和显示
具体可以参考《深入浅出WINCC6.0》。有些地方书上有图说明,这里不好说清。
提问者对于答案的评价:
恩 谢谢!我在深入浅出winccV6.0 一书里找到了步骤和方法。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc267513.html