使用接口调用对话框
您可以为称为对话框的可视化定义一个界面。
使用可视化类型为此创建可视化 对话 并为对话框声明一个接口。通过用户输入在初级可视化中引用可视化并将参数传输到界面。
如果您将可视化称为集成可视化,则传输的参数必须是基本数据类型的变量。如果可视化被称为 CODESYS TargetVisu 要么 CODESYS WebVisu,那么参数也可以具有用户定义的数据类型。
主要程序
将可视化的可视化类型设置为对话框。
在对话框的界面编辑器中声明变量。
该对话框有一个界面。您可以在调用对话框时传递参数。
配置对话框的元素并使用接口变量。
在另一个可视化(通常是主可视化)中选择一个元素来配置对话框的打开方式。
在里面 属性,点击 配置.
这 输入配置 对话框打开。
选择 打开对话框 在选定的输入操作列表中。
从中选择一个 对话 列表框。
如果所选对话框具有接口,则接口变量在下面列出。
将传递参数分配给接口变量 价值 柱子。
选择参数更新的结果 更新
和
结果中的参数 列表。激活选项 打开对话框模式.点击 好的 退出对话框。
对话框打开已配置。
提示
同时执行多次对话需要对话的多个实例。在下载应用程序时,这些必须已经下载到可视化设备。为此,请在可视化管理器中设置要下载的实例数 (可视化 标签)。
visChangeUserLevel:visMain:
类型 | 姓名 | 元素属性 | 描述 |
|---|---|---|---|
|
| : | 带占位符的输出 |
: | 的分配 | ||
|
| : | |
: | 当用户点击 提示:点击 配置 查看存储的配置 输入配置 对话框(输入动作 打开对话框)。 |
范围 | 类型 | 价值 | 描述 |
|---|---|---|---|
参数列表存储在 输入配置 对话框(输入动作 打开对话框)。 | |||
|
|
| 传输标题的字符串。 |
|
|
| 传输一个字符串作为 Level0 的密码。 |
|
|
| 传输一个字符串作为 Level1 的密码。 |
|
|
| 传输一个字符串作为 Level2 的密码。 |
|
|
| 传输字符串作为 Level3 的密码。 |
|
|
| 传输字符串作为 Level4 的密码。 |
|
|
| 传输一个字符串作为 Level5 的密码。 |
|
|
| 传输字符串作为 Level6 的密码。 |
|
|
| 传输一个字符串作为 Level7 的密码。 |
|
|
| 为用户指定的级别传输变量。 |
|
|
| 为用户指定的密码传输变量。 |
价值 | 描述 |
|---|---|
好的 | 启用 |
打开对话框模式 | 启用对话框之外的输入是不可能的。 |
以下应用程序调用 更改用户级别 对话框并提示用户选择级别并指定密码。如果密码一致,则 好的 按钮已启用。然后用户可以关闭对话框。电平的输入也被应用。

对话框接口声明 visChangeUserLevel:
VAR_INPUT
sTitle: STRING; // titel of the dialog box
sItfLevel0: STRING; //password level 0
sItfLevel1: STRING; //password level 1
sItfLevel2: STRING; //password level 2
sItfLevel3: STRING; //password level 3
sItfLevel4: STRING; //password level 4
sItfLevel5: STRING; //password level 5
sItfLevel6: STRING; //password level 6
sItfLevel7: STRING; //password level 7
END_VAR
VAR_IN_OUT
iItfLevel: INT; // user input: level
sItfPwd: STRING; //user input: password
END_VAR 类型 | 姓名 | 元素属性 | 描述 |
|---|---|---|---|
|
| 静态 ID: | 该属性将具有灰色背景和空白蓝色标题栏的空白对话框的图像分配给元素。该图像包含在 VisuDialogs 图书馆。 |
|
| : | 带有文本变量占位符的输出 |
: | 接口变量的赋值 | ||
|
| 多变的: | 接口变量的赋值 |
列数: | |||
单选按钮顺序: 左到右 | 展示 | ||
: [0] 至 [7] : <n> | 数字从 0 到 7 的八个单选按钮的标签 | ||
|
| : | 带有文本变量占位符的输出 |
: | 接口变量的赋值 | ||
: | 在里面 输入配置 对话, 文字输入 被选为 输入类型 列表框和选项 使用文本输出变量 被激活。 | ||
|
| : | 标签 |
|
| : | 标签 |
|
| : | 标签 |
: : | 以状态相关颜色配置显示。您可以在颜色之间切换。 | ||
: | 如果密码和用户输入不一致,则表达式为 | ||
: | 如果密码和用户输入不一致,则表达式为 如果密码一致,则启用该按钮。 | ||
: | 如果用户点击 好的 按钮,然后 | ||
|
| : | 标签 |
: | 展示 | ||
: | 如果用户点击 取消 按钮,然后 |
PLC_PRG:PROGRAM PLC_PRG
VAR
iLevel: INT;
sPwd : STRING;
END_VAR 
单击按钮后,对话框打开并允许输入。如果指定的文本与存储的文本一致,则 好的 已启用:

点击后 好的,应用选择。

提示
该示例显示了多个返回值的过程。但是,使用对话框中的局部变量可以更轻松地返回密码。
以编程方式访问参数
在可视化界面中声明的变量可自动用作结构变量。它们由 <name of visualization>_VISU_STRUCT.因此,您可以访问显示为对话框的可视化界面变量。通常,您在由用户输入调用的函数的应用程序代码中使用该结构。
将指针作为参数传递
要传递复杂的数据结构,您可以标记类型的接口变量 VAR_IN_OUT 带有 pragma 属性 VAR_IN_OUT_AS_POINTER 并将指针或引用作为参数传递。
声明用户数据对象 (
DUT)。在对话框的界面编辑器中,声明一个界面变量(
VAR_IN_OUT) 通过分配属性作为对数据对象的引用'VAR_IN_OUT_AS_POINTER'到变量。对用户界面进行编程:在可视化中使用对话框或在可视化元素的输入配置中分配对话框。然后可以访问引用的数据。
FUNCTION_BLOCK ControlFB
VAR_INPUT
END_VAR
VAR_OUTPUT
END_VAR
VAR
bOk : BOOL := TRUE;
nCounter : INT;
nValue : INT;
END_VAR
nCounter := nCounter + 1;
接口变量的声明 VAR_IN_OUT_AS_POINTER

用户界面: 对话框打开:
