如何使用 @CommonElements.pdl 指定键区的位置

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

  1. 在脚本中以固定值定义新的像素位置,例如: n

    SetTop(lpszParent, szObjectNameToMove, 200);
    SetLeft(lpszParent, szObjectNameToMove, 300);

    新打开的对话框将总是显示在位置 (200,300) 处。此处的缺点是它将覆盖该位置的所有其它对象,包括它本身的其它实例。这对操作员来说可能有些混乱,但是如果他们习惯了总是在屏幕的同一固定位置编辑数值,则可能是一个很好的解决方案。n

  2. 注释下面这两行代码。 n

    //SetTop(lpszParent, szObjectNameToMove, lTop);
    //SetLeft(lpszParent, szObjectNameToMove, lLeft);

    WinCC 将自动以级联方式在屏幕的左上角显示新打开的对话框,以向下和向右 10 个像素的距离显示任何其它已经打开的弹出窗口 (面板、其它编辑对话框等)。

一旦完成更改,选择 File -> Save 重新编译修改的内容并保存到编辑的函数中。现在键区/确认对话框将在期望的位置打开。n

保存了编辑的函数之后,必须将 fct 文件从 ES 复制到每个 OS Server 或单站。从 ES (典型路径为 C:Program FilesSiemensWinCCaplibCommon) 中复制 Common_OpenRawAnalogInput.fctCommon_OpenRawDiscreteInput.fct 文件,并替换每个 OS Server 或单站中的这些文件。

关键字:

Common_OpenRawAnalogInput,Common_OpenRawDiscreteInput,全局脚本,键区,函数,APACS OS,6.1, 6EQ20102BX052BC0

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日 下午12:03
下一篇 2021年4月12日 上午12:00

相关推荐

发表回复

登录后才能评论