带有界面的可视化参数化
您可以为要引用的可视化的参数声明一个接口。当在运行时调用可视化时,实际参数被传递到接口(类似于功能块的情况)。
这种可视化用作可视化模板,由上级可视化通过框架或选项卡元素引用。接口变量在模板可视化的接口编辑器中声明。在调用模板可视化的上级可视化中,传输参数被分配给参考元素(框架或选项卡)。
首先,在可视化界面编辑器中声明界面变量。然后通过将数据类型兼容的应用程序变量分配给每个接口变量来配置传输到接口的参数。分配配置在 参考 财产 框架 要么 标签 元素。
根据显示变量,局部变量的参数传输(使用 VAR
范围)是有限的。
注意
如果将可视化作为集成可视化执行,则只能传输具有基本数据类型的局部变量作为参数。如果将可视化调用为 CODESYS TargetVisu 或者 CODESYS WebVisu,那么还可以传输用户定义数据类型的参数。
更新框架参数时的帮助
如果您在可视化模板中更改接口变量,则会帮助您更新发生位置。
在编译期间,将检测具有不再有效的参数传输的位置并将其显示在消息视图中。每个检测到的位置都会显示以下错误消息: 引用的可视化界面 <可视化名称> 与当前配置不匹配。请更新当前可视化的框架参考。
如果你双击该消息,那么你将获得纠正错误的帮助,并且 更新框架参数 对话框将打开。您可以在其中编辑相关位置的参数传输。但是,您也可以编辑整个项目中所有受影响位置的参数传输。
使用接口调用可视化 (VAR_IN_OUT)
要求:项目包含一个可视化和一个主可视化。主可视化包含可视化引用的元素。
打开可视化。
点击
.在界面编辑器中声明一个变量。
可视化有一个界面和 更新框架参数 对话框出现。
通过在 价值.退出对话框。
在要引用可视化的点处分配传输参数。这些现在出现在 参考 财产。
这 visPie
可视化包含一个动画的彩色饼图。这 visMain
主可视化调用 visPie
多次可视化 标签.颜色信息、角度信息和标签通过 pieToDisplay
接口变量。馅饼在运行时会有所不同。
可视化 visPie
:

开始变量 |
|
结束变量 |
|
%s | |
| |
|
可视化界面 visPie
:
VAR_IN_OUT pieToDisplay : DATAPIE; END_VAR
主要可视化 visMain
:
参考 | |
可视化 | |
标题 |
|
|
|
可视化 | |
标题 |
|
|
|
可视化 | |
标题 |
|
|
|
DATAPIE (STRUCT)
TYPE DATAPIE : // Parameter type used in visPie STRUCT dwColor : DWORD; // Color data iStart : INT; // Angle data iEnd : INT; sLabel : STRING; END_STRUCT END_TYPE
GVL
{attribute 'qualified_only'} VAR_GLOBAL CONSTANT c_dwBLUE : DWORD := 16#FF0000FF; // Highly opaque c_dwGREEN : DWORD := 16#FF00FF00; // Highly opaque c_dwYELLOW : DWORD := 16#FFFFFF00; // Highly opaque c_dwGREY : DWORD :=16#88888888; // Semitransparent c_dwBLACK : DWORD := 16#88000000; // Semitransparent c_dwRED: DWORD := 16#FFFF0000; // Highly opaque END_VAR
PLC_PRG
PROGRAM PLC_PRG VAR iInit: BOOL := TRUE; pieA : DATAPIE; // Used as argument when visPie is called pieB : DATAPIE; pieC : DATAPIE; iDegree : INT; // Variable center angle for the pie element used for animation END_VAR IF iInit = TRUE THEN pieA.dwColor := GVL.c_dwBLUE; pieA.iStart := 0; pieA.sLabel := 'Blue'; pieB.dwColor := GVL.c_dwGREEN; pieB.iStart := 22; pieB.sLabel := 'Green'; pieC.dwColor := GVL.c_dwYELLOW; pieC.iStart := 45; pieC.sLabel := 'Yellow'; iInit := FALSE; END_IF iDegree := (iDegree + 1) MOD 360; pieA.iEnd := iDegree; pieB.iEnd := iDegree; pieC.iEnd := iDegree;
主要可视化 visMain
在运行时:

打印传输参数的实例名称
为了获取并输出一个传递参数的实例名,可以实现一个接口变量(数据类型 STRING
) 带有编译指示 {attribute 'parameterstringof'}
在里面 VAR_INPUT
范围。
该项目包含一个可视化和一个主可视化。主可视化包含可视化引用的元素。
打开可视化。
点击
.声明一个接口变量 (
VAR_IN_OUT
)。pieToDisplay : DATAPIE;
在界面编辑器中,声明一个变量 (
VAR_INPUT
) 带属性{attribute 'parameterstringof'}
.{attribute 'parameterstringof' := 'pieToDisplay'}
sNameToDisplay : STRING;
保存更改。
这 更新框架参数 对话框打不开。
插入一个 文本域 元素。
在里面 文本, 文本 属性,将输出文本分配给文本字段。
Visualization of %s
在里面 文本变量文本变量 属性,将接口变量分配给文本字段。
sNameToDisplay
visPie
有一个标题。
这 visPie
到目前为止,可视化由一个饼图组成。这 visMain
主要可视化调用 visPie
在 标签 使用不同的传输参数进行 3 次。
visPie
扩展了一个文本字段,用于输出传递给可视化的实际参数的名称。此外, visPie
使用字符串变量进行扩展,该变量包含指定传输参数的实例名称。运行时,每个饼图都会被覆盖。

文本, 文本 |
|
文本变量, 文本变量 |
|
接口 visPie
可视化
VAR_INPUT {attribute 'parameterstringof' := 'pieToDisplay'} sNameToDisplay : STRING; END_VAR VAR_IN_OUT pieToDisplay : DATAPIE; END_VAR
主要可视化 visMain
在运行时:
