此功能块用于通过 Modbus TCP 将 Advantys OTB 的 EcoStruxure Machine Expert 配置数据发送到物理设备。
它允许在不需要第三方软件的情况下更新 I/O 岛的配置参数。
Modbus TCP IOScanner 必须在调用此功能之前停止。
此功能块的执行为异步。要检查配置完成情况,必须在每个应用程序循环中测试 Done、Busy 和 Error 输出标志。
下表介绍输入变量:
输入 |
类型 |
注释 |
---|---|---|
Execute |
BOOL |
激活条目。在上升沿开始配置。 |
sAddr |
STRING |
OTB IP 地址。字符串的格式必须为 3{xx.xx.xx.xx} |
下表介绍输出变量:
输出 |
类型 |
注释 |
---|---|---|
Done |
BOOL |
当配置成功完成后设置为 TRUE。 |
Busy |
BOOL |
当正在进行配置时设置为 TRUE。 |
Error |
BOOL |
当配置结束且检测到错误时设置为 TRUE。 |
ConfError |
返回值:configurationOTBErrorCodes |
|
CommError |
返回值: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