Skip to main content

生成可视化屏幕

对于应用程序编辑器中的可视化屏幕,所有元素 CODESYS V3 以及可以使用嵌入式可视化屏幕。此外,可以使用标记为特殊占位符的 visu 元素(例如:矩形):

可视化屏幕中的占位符元素

标准可视化元素(例如:矩形、图像)可以用作占位符元素。生成可视化时,分配的嵌入式可视化将排列在占位符位置(位置和大小)。

. 规格
  • 占位符元素的定义是通过元素的实例名称来完成的。元素的名称必须是 PLACEHOLDER_<SUBPATH>。语法为 <SUBPATH>

    <SUBPATH> ::= <SLOTREF> | <SLOTREF>:<SUBPATH>

    <SLOTREF> ::= <SLOTNAME> | <SLOTNAME>[<idx>]

    <SLOTNAME> 是插槽的目标名称(大小写无关)。 <idx> 是一个从零开始的索引,只能用于多槽。它定义应显示多槽的哪个子模块实例。

  • 在读取模块定义时,系统会检查可视化屏幕中的占位符名称是否有效。如果可视化屏幕的元素以“PLACEHOLDER_“(大小写无关), <SUBPATH> 必须以有效的插槽引用开始。如果存在索引,则它必须与槽基数兼容。路径的所有插槽名称必须是有效的 IEC 标识符。如果有多个占位符,则所有路径必须不同。此外,占位符元素不得有空白区域。

  • 如果不存在相应的模块实例 <SUBPATH> 如果是占位符元素,则不会将任何可视化分配给该元素。不会创建错误消息。

  • 如果存在相应的模块实例 <SUBPATH> 占位符元素的一个元素,如果该元素被定义为当前屏幕的嵌入屏幕可视化,则该元素将被嵌入。

  • 嵌入式可视化将保持其原始纵横比。尺寸将以最佳方式适应占位符,而不会超出占位符。

1. 占位符元素示例
ac_placeholder_element1.png
ac_placeholder_element2.png
ac_placeholder_element3.png


提示

只能使用占位符嵌入子模块实例及其子模块实例。无法从模块树的其他分支嵌入可视化。

检查顶层模板

在顶层屏幕上执行以下检查:

  • 如果可视化模板不存在或者其界面中定义了输入或输出,则会显示错误。

  • 如果缺少必需元素,将显示错误。

  • 如果定义了顶级模板的元素,但它有空白区域或错误的元素类型,则会显示错误。

  • 如果选项卡模板和框架重叠,则会显示错误。

  • 如果第二个选项卡模板的位置与第一个模板相同或者位于第一个模板的左侧或上方,则会显示错误。

  • 在选项卡水平对齐的情况下,如果选项卡未完全位于框架上方或下方,则会产生错误。

  • 在垂直对齐选项卡的情况下,如果选项卡未完全位于框架的右侧或左侧,则会产生错误。

创建可视化屏幕

所有可视化屏幕最初将由命令创建 产生。当第二个生成器运行时,仅更新模块树中已更改的参数。

创建的可视化屏幕包含一个框架,该框架定义可视化的大小并保存模块的相应可视化。该框架位于后台,所有嵌入的可视化将按如下方式排列:

所有嵌入元素均由元素 ID 永久标识。如果新的发电机运行更新了现有的可视化屏幕,系统将搜索相应的 ID。如果此元素 (ID) 存在,则仅更新模块配置中更改的参数。例如,位置保持不变,而可视化/框架开关和用于显示的可视化对象可以改变。

嵌入的可视化将在屏幕上从左到右、从上到下排列。匹配的占位符元素具有更高的优先级。最后,如果框架具有相应的,则两种机制都不会使用 ElementID 在生成时已经存在。在这种情况下,位置保持不变。

在上次生成器运行中创建但当前生成器运行中不存在的可视化屏幕将被删除。

可视化元素的嵌入顺序

第一步中嵌入的所有可视化 next Ancestor 将会安排。这些元素将按照模块树中模块实例的前序插入。 (首先是第一个子模块,然后是其所有子模块,然后是第二个子模块,依此类推)

之后,将插入由实例定义嵌入的所有可视化。这也将在模块实例的预排序中完成。

可视化中的导航

可视化中的导航可以通过使用选项卡或 后退, 向上, 和 向前 导航按钮。鼠标单击选项卡元素会直接切换到相应的可视化屏幕。这 后退向前 按钮可用于在显示屏幕的历史记录中进行导航(类似于 Internet 浏览器中的导航)。这 向上 按钮切换到下一个更高级别。