您可以为要引用的可视化参数声明一个接口。实际参数会在运行时调用可视化时传递给接口(与功能块的情况类似)。
首先,在可视化界面编辑器中声明界面变量。然后,通过为每个接口变量分配一个符合数据类型的应用变量,配置传输到接口的参数。在“Frame” 或“Tabs”的情况下,分配在“References” 属性中配置。
根据显示变量的不同,局部变量(使用VAR
作用域)的参数传输会受到限制。如果将可视化作为集成可视化执行,则只能将具有基本数据类型的局部变量作为参数传递。如果以CODESYS TargetVisu 或CODESYS WebVisu 的形式调用可视化,则还可以使用用户定义的数据类型传输参数。
由用户控制更新传输参数
如果您配置了可视化引用,然后在界面编辑器中保存了对其中一个可视化的变量声明的更改,那么“更新框架参数” 对话框就会自动出现。对话框会提示您编辑引用。这里会显示所有受影响可视化的列表,以便在更改的界面上重新分配参数转移。
关闭对话框后,更改将被接受,受影响的元素将显示在“References” 属性中。
调用可视化界面 (VAR_IN_OUT
)
要求:该项目包含一个可视化和一个主可视化。主可视化包含一个可视化引用的元素。
-
打开可视化。
-
单击“可视化 界面编辑器” 。
-
在界面编辑器中声明一个变量。
可视化界面和“更新框架参数” 对话框。
-
在“Value” 中输入一个应用程序变量,为所有调用中的接口变量分配一个符合类型的传输参数。关闭对话框。
在可视化参考点处分配一个传输参数。现在,这些信息会出现在主可视化的“References” 属性中。
示例
visPie
可视化包含一个动画彩色饼。visMain
主可视化在“Tabs” 控件中多次调用visPie
可视化。颜色信息、角度信息和标签通过pieToDisplay
接口变量传输。馅饼在运行时会发生变化。
可视化visPie
:

“开始的变量” |
|
“结束变量” |
|
“文本 文本” |
%s |
“文本变量 文本变量” |
|
“颜色变量 正常状态” |
|
可视化界面visPie
:
VAR_IN_OUT pieToDisplay : DATAPIE; END_VAR
主要可视化visMain
:
“参考资料” |
|
“visPie” |
|
“标题” |
|
|
|
“visPie” |
|
“标题” |
|
|
|
“visPie” |
|
“标题” |
|
|
|
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
:

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

“文本”,“文本” |
|
“文本变量”,“文本变量” |
|
visPie" 可视化界面:
VAR_INPUT {attribute 'parameterstringof' := 'pieToDisplay'} sNameToDisplay : STRING; END_VAR VAR_IN_OUT pieToDisplay : DATAPIE; END_VAR
运行时的主要可视化visMain
:
