CONFIGURE_OTB:发送 Advantys OTB 的软件配置

功能块描述

此功能块用于通过 Modbus TCP 将 Advantys OTBEcoStruxure Machine Expert 配置数据发送到物理设备。

它允许在不需要第三方软件的情况下更新 I/O 岛的配置参数。

Modbus TCP IOScanner 必须在调用此功能之前停止。

此功能块的执行为异步。要检查配置完成情况,必须在每个应用程序循环中测试 DoneBusyError 输出标志。

图形表示形式

IL 和 ST 表示形式

要查看 IL 或 ST 语言的一般表示形式,请参阅功能和功能块表示形式

I/O 变量描述

下表介绍输入变量:

输入

类型

注释

Execute

BOOL

激活条目。在上升沿开始配置。

sAddr

STRING

OTB IP 地址。字符串的格式必须为 3{xx.xx.xx.xx}

下表介绍输出变量:

输出

类型

注释

Done

BOOL

当配置成功完成后设置为 TRUE。

Busy

BOOL

当正在进行配置时设置为 TRUE。

Error

BOOL

当配置结束且检测到错误时设置为 TRUE。

ConfError

configurationOTBErrorCodes

返回值:configurationOTBErrorCodes

CommError

CommunicationErrorCodes

返回值:CommunicationErrorCodes

示例

以下是调用此功能的示例:

VAR

(*使用功能块配置 OTB,需要在执行该功能块之前停止 IOscanner*)

configure_OTB1: CONFIGURE_OTB;

(*初始化值不同于 16#00000000,当成功启动时 IO_start_done=0*)

IO_start_done: UDINT := 1000;

(*初始化值不同于 16#FFFFFFFF,当成功停止时 IO_start_done=16#FFFFFFFF*)

IO_stop_done: UDINT := 1000;

(*当配置 OTB 成功时 Configure_OTB_done=true,否则可以启动 IOScanner*)

Configure_OTB_done: BOOL;

myBusy: BOOL;

myError: BOOL;

myConfError: configurationOTBErrorCodes;

myCommError: UINT;

myExecute: BOOL;

END_VAR

(*首先,在配置 OTB 之前须停止 IOScanner*)

IF NOT myExecute THEN

IO_stop_done:=IOS_STOP();

END_IF

(*当 myExecute 为 TRUE 时,可将配置数据发送到 OTB,IP 地址为 95.15.3.1*)

configure_OTB1(

Execute:= myExecute,

sAddr:='3{95.15.3.1}' ,

Done=> Configure_OTB_done,

Busy=> myBusy,

Error=> myError,

ConfError=> myConfError,

CommError=> myCommError);

(*在 OTB 配置成功后,即可启动 IOScanner*)

IF Configure_OTB_done THEN

IO_start_done:=IOS_START();

END_IF