主要内容

创建一个网络通讯协议连接

工业通信工具箱™支持Modbus®通过TCP/IP或串行RTU接口。您可以使用它与Modbus服务器通信,如PLC。典型的工作流程是:

  • 创建到服务器或硬件的Modbus连接。

  • 如果需要,配置连接。

  • 进行读写操作,如温控通信等。

  • 清除并关闭连接。

要通过Modbus接口进行通信,首先要使用网络通讯协议函数。创建对象也建立了连接。的语法是:

< objname > = modbus(“交通”、“DeviceAddress”)

< objname > = modbus(“交通”、“港口”)

您必须将传输类型设置为其中之一“tcpip”“serialrtu”指定要使用的协议。然后设置地址和端口,如下面的部分所示。您还可以在对象创建中使用参数来设置属性,例如超时而且ByteOrder

当您创建Modbus对象时,它连接到服务器或硬件。如果运输是“tcpip”,然后DeviceAddress必须被指定。Port为可选参数,默认为502 (Modbus预留端口)。如果运输是“serialrtu”,然后“端口”必须被指定。

使用TCP/IP传输创建对象

当运输是“tcpip”,你必须指定DeviceAddress.这是Modbus服务器的IP地址或主机名。港口为Modbus服务器使用的远端端口。Port为可选参数,默认为502,为Modbus的预留端口。

这个例子创建了Modbus对象使用所示的设备地址和港口308

m = modbus (“tcpip”“192.168.2.1”, 308)
m = Modbus TCPIP属性:DeviceAddress: '192.168.2.1'端口:308状态:'open' NumRetries: 1超时时间:10(秒)ByteOrder: 'big-endian' WordOrder: 'big-endian'

使用串行RTU传输创建对象

当运输是“serialrtu”,你必须指定“端口”.这是Modbus服务器所连接的串口。

这个例子创建了Modbus对象使用港口“COM3”

m = modbus (“serialrtu”“COM3”
m = Modbus带有属性的串口RTU: Port: 'COM3' BaudRate: 9600 DataBits: 8 Parity: 'none' StopBits: 1 Status: 'open' NumRetries: 1 Timeout: 10(秒)ByteOrder: 'big-endian' WordOrder: 'big-endian'

创建具有属性设置的对象

您可以使用名称-值对创建对象,以设置属性,例如超时.的超时属性指定等待Modbus服务器响应的最大时间(以秒为单位),默认值为10.您可以在创建对象期间或在创建对象之后更改该值。

有关可为这两种传输类型设置的属性的列表和描述,请参见配置Modbus通信属性

这个例子使用Serial RTU创建了一个Modbus对象,并增加了超时20.秒。

m = modbus (“serialrtu”“COM3”“超时”= 20)
m = Modbus带有属性的串口RTU: Port: 'COM3' BaudRate: 9600 DataBits: 8 Parity: 'none' StopBits: 1 Status: 'open' NumRetries: 1 Timeout: 20(秒)ByteOrder: 'big-endian' WordOrder: 'big-endian'

输出中的对象显示指定的超时属性值。

Baidu
map