n
问题: n
使用 I/O 域时是否可以通过 @CommonElements.pdl 指定弹出键区的显示位置?使用布尔按钮时是否可以通过 @CommonElements.pdl 指定确认键区的显示位置?
解答:
缺省情况下,键区的左上角将显示在 I/O 域或按钮本身上面。可以通过编辑下面的全局脚本/函数指定弹出键区和/或确认键区的位置。n
Common_OpenRawAnalogInput 函数 (用于模拟量弹出键区)
Common_OpenRawDiscreteInput 函数 (用于布尔量确认键区)
要进行编辑,请按下面的指南进行:n
在 ES 上的 WinCC Explorer 中打开项目。打开‘Global Scripts’(全局脚本) 下的 C-Editor (C 编辑器)。在左上角展开‘Standard functions’ (标准函数),然后展开‘Common’ (常规)。如果在‘Standard functions’下面没有显示‘Common’选项,则选择 Tools -> Regenerate Header。n
Common_OpenRawAnalogInput 函数用于模拟量弹出键区。Common_OpenRawDiscreteInput 函数用于布尔量弹出确认窗口。这两个函数中均存在下面几行内容:n
lTop = GetTop(lpszPictureName, lpszObjectName);
lLeft = GetLeft(lpszPictureName, lpszObjectName);SetTop(lpszParent, szObjectNameToMove, lTop);
SetLeft(lpszParent, szObjectNameToMove, lLeft);
最上面的两行确定模拟量 I/O 域或布尔按钮在 pdl 上的坐标。这些坐标随后用于确定键区或确认窗口的位置。n
重新配置键区和确认窗口的位置时,有两种方式:n
- 在脚本中以固定值定义新的像素位置,例如: n
SetTop(lpszParent, szObjectNameToMove, 200);
SetLeft(lpszParent, szObjectNameToMove, 300);新打开的对话框将总是显示在位置 (200,300) 处。此处的缺点是它将覆盖该位置的所有其它对象,包括它本身的其它实例。这对操作员来说可能有些混乱,但是如果他们习惯了总是在屏幕的同一固定位置编辑数值,则可能是一个很好的解决方案。n
- 注释下面这两行代码。 n
//SetTop(lpszParent, szObjectNameToMove, lTop);
//SetLeft(lpszParent, szObjectNameToMove, lLeft);WinCC 将自动以级联方式在屏幕的左上角显示新打开的对话框,以向下和向右 10 个像素的距离显示任何其它已经打开的弹出窗口 (面板、其它编辑对话框等)。
一旦完成更改,选择 File -> Save 重新编译修改的内容并保存到编辑的函数中。现在键区/确认对话框将在期望的位置打开。n
保存了编辑的函数之后,必须将 fct 文件从 ES 复制到每个 OS Server 或单站。从 ES (典型路径为 C:Program FilesSiemensWinCCaplibCommon) 中复制 Common_OpenRawAnalogInput.fct 和 Common_OpenRawDiscreteInput.fct 文件,并替换每个 OS Server 或单站中的这些文件。
关键字:
Common_OpenRawAnalogInput,Common_OpenRawDiscreteInput,全局脚本,键区,函数,APACS OS,6.1, 6EQ20102BX052BC0
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc335193.html