更改 Modbus TCP 端口

changeModbusPort 命令

changeModbusPort 命令可用来更改用于与 Modbus TCP 主机进行数据交换的端口。

Modbus 从站端口Modbus TCP 配置窗口中显示。

缺省 Modbus 端口号为 502。

命令

描述

changeModbusPort “portnum”

portnum 为要使用的新 Modbus 端口号,以字符串传输。

运行命令之前,请参阅使用的端口以确保其他 TCP/UDP 协议或进程未使用 portnum

如果指定端口号已经在使用中,/usr/Syslog/FWLog.txt 文件中将记录错误。

逻辑控制器电源重置可将 Modbus 端口号返回至缺省值 (502)。因此,必须在每次电源重置之后执行 changeModbusPort 命令。

注: 更改端口号后,在以太网配置窗口的安全参数组中为 Modbus 服务器选择的协议活动选项将不再有效。

从 SD 卡脚本运行命令

步骤

操作

1

创建脚本文件,比如;

; Change Modbus slave port

changeModbusPort "1502";

2

命名脚本文件为Script.cmd

3

将脚本文件复制到 SD 卡。

4

将 SD 卡插入控制器。

使用 ExecuteScript 功能块运行命令

可使用 ExecuteScript 功能块从应用程序中运行 changeModbusPort 命令。

下列示例代码将 Modbus TCP 从站端口从缺省值 (502) 更改为 1502。

IF (myBExe = FALSE AND (PortNum <> 502)) THEN

   myExecSc( // falling edge for a second change
   xExecute:=FALSE ,
   sCmd:=myCmd , 
   xDone=>myBDone , 
   xBusy=> myBBusy, 
   xError=> myBErr, 
   eError=> myIerr);
   string1 := 'changeModbusPort "';
   string2 := WORD_TO_STRING(PortNum);
   myCmd := concat(string1,string2);
   myCmd := concat(myCmd,'"');
   myBExe := TRUE;
END_IF

myExecSc(
xExecute:=myBExe ,
sCmd:=myCmd , 
xDone=>myBDone , 
xBusy=> myBBusy, 
xError=> myBErr, 
eError=> myIerr);