对于应用 Composer 中可视化页面中所有的CoDeSys V3元素以及嵌入式可视化页面可以被使用。更多的通过可视化元素 (例如,矩形框),被特殊占位符标定的,可以被使用:
可视化页面中的占位符
标准的可视化元素 (例如,矩形框,图像) 可以用做一个占位符元素。当创建一个可视化时分配的嵌入式可视化将会在占位符位置进行排列(位置和大小)。
规范:
- 占位符元素的定义是通过元素实例名称实现的。元素的名称必须为 PLACEHOLDER_<SUBPATH>. <SUBPATH> 语法:
<SUBPATH> ::= <SLOTREF> | <SLOTREF>:<SUBPATH>
<SLOTREF> ::= <SLOTNAME> | <SLOTNAME>[<idx>]
<SLOTNAME> 是槽的目标名称 (与上限下限情况不相关). <idx> 是从零开始的索引可以用于多个槽的情况。定义将要被显示的多槽子模块的实例。
- 当读取定义在系统中的模块时如果位于可视化页面中占位符的名称可以获得。如果一个可视化页面中的元素的起始名称为 "PLACEHOLDER_" (与上限下限情况不相关), <SUBPATH> 必须从可获得槽相关起始。如果一个索引被指出,必须兼容插槽基数。所有路径的槽名称必须通过 IEC 定义。如果有多个占位符,所有路径必须不同。进一步讲占位符元素不能具有空区域。
- 如果针对 <SUBPATH>没有相符的元素占位符的模块实例,那么将不会有可视化被关联到这个元素。并且没有错误信息产生。
- 如果存在关联到占位符元素<SUBPATH> 的模块实例,如果被定义为当前页面的一个嵌入页面可视化那么这个元素将会被嵌入。
- 嵌入的可视化将保持其原有的高宽比,大小将会被调整为最佳位置适合占位符大小而不会超出。
占位符元素示例
插图 362: 用于子槽元素的占位符 (pLimitSwitch_1 是 pAxis 槽)
|
只有子模块实例以及他们子模块实例可以作为一个嵌入式使用占位符 - 不能够从模块树中的其他分支中嵌入可视化元素。
|
顶端模板检查
针对顶层页面有以下检查:
- 如果可视化模板不存在或者在其接口中有输入输出定义,一个错误将会显示。
- 如果一个必须元素丢失将会有一个错误显示。
- 如果一个顶层模板定义但是是一个空的区域或者错误的元素类型,将会显示错误。
- 如果表格元素和框架重叠,将会有错误出现。
- 如果第二个表格元素的位置等于第一个元素或者他的位置位于左边或者位于第一个模板上,一个错误信息将出现。
- 如果表格水平排列如果表格不是完全位于框架之上或者之下将会有错误出现。
- 如果表格竖直排列并且表格不是完全位于框架左端或者右端将会有错误出现。
创建可视化页面
所有可视化页面都将会被初始创建通过命令
⇘
“编译生成”。在第二次编译运行过程中只有模块树中改变的参数将会被更新。
一个创建的可视化页面包含一个框架定义可视化尺寸以及包含相关的可视化模块。这个框架位于背景中,所有的嵌入式可视化将会按照下面描述进行排列:
所有的嵌入式元素是通过元素 ID 定义的。如果一个已经存在的可视化页面通过一个新的编译过程跟新,系统会查找相关 Id。如果这个元素 (Id) 已经存在并且只有参数发生改变那么只有模块配置参数将会发生更新。旧位置将会被保存。
嵌入式可视化在页面中的排列将会按照从左到右以及从上到下的方式进行排列。一个匹配的占位符具有高优先级。如果具有元素 ID 的框架已经存在,那么旧位置将会被保存。
可视化页面,在上次编译过程中创建,但是在这次编译过程中不存在,将会被删除。
嵌入的可视化元素的顺序
首先按照“顺序继承”的嵌入式可视化将会被排列。这些元素将会插入到模块树中模块实例的预定位置。(首先第一个子位置,然后所有子模块,最后第二个子位置,在如此继续。)
其次所有通过实例定义的可视化将会被添加。这也将按照模块实例的预定义完成。
可视化向导
可视化向导可以通过使用表格或者导向按键“后退”,“向上”以及“前进”实现。鼠标点击表格元素开关直接会转向相关页面。按键“后退”以及“前进”可以根据现实页面的历史进行导向 (类似于网络浏览器的向导)。按键“向上”开关用于到达另一个更高位置。