Skip to main content

带有界面的可视化参数化

您可以为要引用的可视化的参数声明一个接口。当在运行时调用可视化时,实际参数被传递到接口(类似于功能块的情况)。

这种可视化用作可视化模板,由上级可视化通过框架或选项卡元素引用。接口变量在模板可视化的接口编辑器中声明。在调用模板可视化的上级可视化中,传输参数被分配给参考元素(框架或选项卡)。

首先,在可视化界面编辑器中声明界面变量。然后通过将数据类型兼容的应用程序变量分配给每个接口变量来配置传输到接口的参数。分配配置在 参考 财产 框架 要么 标签 元素。

根据显示变量,局部变量的参数传输(使用 VAR 范围)是有限的。

注意

如果将可视化作为集成可视化执行,则只能传输具有基本数据类型的局部变量作为参数。如果将可视化调用为 CODESYS TargetVisu 或者 CODESYS WebVisu,那么还可以传输用户定义数据类型的参数。

更新框架参数时的帮助

如果您在可视化模板中更改接口变量,则会帮助您更新发生位置。

在编译期间,将检测具有不再有效的参数传输的位置并将其显示在消息视图中。每个检测到的位置都会显示以下错误消息: 引用的可视化界面 <可视化名称> 与当前配置不匹配。请更新当前可视化的框架参考。

如果你双击该消息,那么你将获得纠正错误的帮助,并且 更新框架参数 对话框将打开。您可以在其中编辑相关位置的参数传输。但是,您也可以编辑整个项目中所有受影响位置的参数传输。

有关详细信息,请参阅:For more information, see: 更新框架参数选项:可视化

使用接口调用可视化 (VAR_IN_OUT)

要求:项目包含一个可视化和一个主可视化。主可视化包含可视化引用的元素。

  1. 打开可视化。

  2. 点击 可视化 → 界面编辑器.

  3. 在界面编辑器中声明一个变量。

    可视化有一个界面和 更新框架参数 对话框出现。

  4. 通过在 价值.退出对话框。

    在要引用可视化的点处分配传输参数。这些现在出现在 参考 财产。

24. 例子

visPie 可视化包含一个动画的彩色饼图。这 visMain 主可视化调用 visPie 多次可视化 标签.颜色信息、角度信息和标签通过 pieToDisplay 接口变量。馅饼在运行时会有所不同。

可视化 visPie

_visu_img_tab.png
3. Pie 元素的属性:

开始变量

pieToDisplay.iStart

结束变量

pieToDisplay.iEnd

文本 → 文本

%s

文本变量 → 文本变量

pieToDisplay.sLabel

颜色变量→正常状态

pieToDisplay.dwColor



可视化界面 visPie

                            VAR_IN_OUT
                            pieToDisplay : DATAPIE;
                            END_VAR
                        

主要可视化 visMain

4. “标签”元素的属性:

参考

可视化

标题

A

pieToDisplay

PLC_PRG.pieA

可视化

标题

B

pieToDisplay

PLC_PRG.pieB

可视化

标题

C

pieToDisplay

PLC_PRG.pieC



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 在运行时:

_visu_img_pie_rt.png


打印传输参数的实例名称

为了获取并输出一个传递参数的实例名,可以实现一个接口变量(数据类型 STRING) 带有编译指示 {attribute 'parameterstringof'} 在里面 VAR_INPUT 范围。

该项目包含一个可视化和一个主可视化。主可视化包含可视化引用的元素。

  1. 打开可视化。

  2. 点击 可视化 → 界面编辑器.

  3. 声明一个接口变量 (VAR_IN_OUT)。

    pieToDisplay : DATAPIE;

  4. 在界面编辑器中,声明一个变量 (VAR_INPUT) 带属性 {attribute 'parameterstringof'}.

    {attribute 'parameterstringof' := 'pieToDisplay'}

    sNameToDisplay : STRING;

  5. 保存更改。

    更新框架参数 对话框打不开。

  6. 插入一个 文本域 元素。

  7. 在里面 文本, 文本 属性,将输出文本分配给文本字段。

    Visualization of %s

  8. 在里面 文本变量文本变量 属性,将接口变量分配给文本字段。

    sNameToDisplay

    visPie 有一个标题。

25. 例子

visPie 到目前为止,可视化由一个饼图组成。这 visMain 主要可视化调用 visPie标签 使用不同的传输参数进行 3 次。

visPie 扩展了一个文本字段,用于输出传递给可视化的实际参数的名称。此外, visPie 使用字符串变量进行扩展,该变量包含指定传输参数的实例名称。运行时,每个饼图都会被覆盖。

_visu_img_titled_pie.png
5. “文本字段”元素的属性:

文本, 文本

Visualization of %s

文本变量, 文本变量

sNameToDisplay



接口 visPie 可视化

VAR_INPUT
    {attribute 'parameterstringof' := 'pieToDisplay'}
    sNameToDisplay : STRING;
END_VAR
VAR_IN_OUT
    pieToDisplay : DATAPIE;
END_VAR                        

主要可视化 visMain 在运行时:

_visu_img_pie_rt_labeled.png