MODBUS

创建MODBUS对象

描述

M = MODBUS(运输DeviceAddress构造一个MODBUS对象,,在传输类型之上运输使用指定的'DeviceAddress'。当运输“tcpip”DeviceAddress必须指定为第二个参数。DeviceAddress是MODBUS服务器的IP地址或主机名。

M = MODBUS(运输DeviceAddress港口另外指定港口。当运输“tcpip”DeviceAddress必须指定。港口是MODBUS服务器使用的远程端口。端口是可选的,默认为502,这是MODBUS的保留端口。

M = MODBUS(运输DeviceAddress名称,值指定与使用任何先前的语法的一个或多个名称值对参数的附加选项。例如,你可以指定一个超时值。该超时属性指定秒的等待时间来完成读写操作,并默认为10

M = MODBUS(运输'港口'构建一个MODBUS对象传输类型之上运输使用指定的'港口'。当运输'serialrtu''港口'必须指定。该参数是串行端口MODBUS服务器连接到,如“COM3”

M = MODBUS(运输'港口'名称,值指定与使用任何先前的语法的一个或多个名称值对参数的附加选项。例如,您可以指定NUMRETRIES,表示在超时后服务器没有应答时重试执行的次数。

例子

全部折叠

当传输为TCP/IP时,必须指定MODBUS服务器的IP地址或主机名。您可以选择指定MODBUS服务器使用的远程端口。端口默认为502,这是MODBUS的预留端口。

创建MODBUS对象使用主机地址和示出的端口308

M = MODBUS(“tcpip”'192.168.2.1',308)
米=的Modbus TCPIP与属性:DeviceAddress: '192.168.2.1' 端口:308个状态: '开放式' NUMRETRIES:1超时:10(秒)字节顺序: '大端' WordOrder: '大端'

对象输出显示双方你设定的参数和默认值。

当运输'serialrtu',你必须指定'港口'。这是串口MODBUS服务器连接。

创建MODBUS对象使用港口“COM3”

M = MODBUS('serialrtu'“COM3”
m = Modbus串行RTU与属性:端口:'COM3' BaudRate: 9600 DataBits: 8奇偶校验:'none' StopBits: 1状态:'open' NumRetries: 1 Timeout: 10(秒)字节序:'big-endian'字序:'big-endian'

被自动使用您设置的对象输出显示的参数和默认值。

可以使用名称-值对创建对象,以设置属性,例如超时。该超时属性指定的最大时间,以秒来等待来自MODBUS服务器的响应,并且默认是10。您可以在创建对象期间或创建对象之后更改该值。

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

使用Serial RTU创建MODBUS对象,但增加超时20秒。

M = MODBUS('serialrtu'“COM3”'超时',20)
米=串行Modbus RTU具有属性:港口: 'COM3' 波特率:9600个DATABITS:8奇偶校验: '无' 停止位:1个状态: '开放式' NUMRETRIES:1超时:20(秒)字节顺序: '大端' WordOrder:“大端”

对象输出反映超时属性改变。

输入参数

全部折叠

用于设备通信的物理传输层,指定为字符向量或字符串。指定传输类型作为第一个参数当您创建MODBUS目的。你必须为任一组传输类型“tcpip”'serialrtu'指定要使用的协议。

例子:米= MODBUS( 'TCPIP', '192.168.2.1')

数据类型:字符

MODBUS服务器的IP地址或主机名,指定为矢量字符或字符串。如果传输是TCP / IP,它被要求作为对象创建过程中的第二个参数。

例子:米= MODBUS( 'TCPIP', '192.168.2.1')

数据类型:字符

由MODBUS服务器使用的远程端口,指定为双端口。如果传输是TCP/IP,可选作为对象创建过程中的第三个参数。如果没有指定,则使用默认的502。

例子:米= MODBUS( 'TCPIP', '192.168.2.1',308)

数据类型:

串行端口MODBUS服务器被连接到,例如'COM1',指定为字符向量或字符串。如果传输是串行RTU,它被要求作为对象创建过程中的第二个参数。

例子:米= MODBUS( 'serialrtu', 'COM3')

数据类型:字符

名称-值对的观点

指定可选的用逗号分隔的对名称,值参数。名称是参数的名称和价值为对应值。名称必须出现在引号内。可以按任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:米= MODBUS( 'serialrtu', 'COM3', '超时',20)

有许多名称 - 值对,当你创建可以使用MODBUS对象,包括这里所示的两个。有的只能用两种TCP / IP或串行RTU使用,有些可以用这两种传输类型使用。对于所有属性的列表,以及如何期间和对象创建后对其进行设置,请参阅配置属性MODBUS通讯

等待MODBUS服务器响应的最长时间(以秒为单位),指定为逗号分隔的对'超时'和类型的正值。默认值是10。您可以在创建对象期间或创建对象之后更改该值。

例子:米= MODBUS( 'serialrtu', 'COM3', '超时',20)

数据类型:

如果超时后服务器没有应答,则执行的重试次数,指定为逗号分隔的对,由“NumRetries”和类型的正值。如果使用串行RTU传输,则重新发送该消息。如果使用TCP/IP传输,连接将被关闭并重新打开。您可以在创建对象期间或创建对象之后更改该值。

例子:m = modbus (‘serialrtu’,‘COM3’,‘NumRetries’, 5)

数据类型:

扩展功能

C / c++代码生成
使用MATLAB®Coder™生成C和c++代码。

介绍了在R2017a