Modbus配置使用说明

更新时间:2024-07-07 16:46:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

Modbus配置使用说明

Modbus配置使用说明

1. 插件介绍

1.1. 插件功能

Modbus插件为ConfigTool组态配置软件的Modbus规约组态功能提供了集成的插件工具。

1.2. 运行位置

Modbus组态插件存放在/drcomm/bin目录下。 Modbus运行插件存放在/drcomm/plug目录下。

1.3. 依赖环境

Modbus插件的运行依赖于ConfigTool组态配置软件。

插件界面

Modbus插件主界面分为规约通道规约配置区、终端配置区和操作按钮三部分。

图 1Modbus规约插件主界面

Modbus配置使用说明

2. 插件调用

在ConfigTool组态配置软件进行节点“规约设置”,选择“c_modbus.lcn”。“规约组态”按钮转为可点击状态。点击“规约组态”按钮,即可进行Modbus规约的组态。

3. Modbus主界面配置

3.1. 通道配置

? ? ? ? ?

通道配置区的参数用于Modbus插件程序运行中使用,包括 尝试连接服务器时间间隔:新建通讯链路过程中如果遇到失败,直至下一次再尝试建立链路的时间间隔。

应答超时间隔:发送查询帧到接收响应帧之间的时间间隔,大于规定的时间即为超时。 应答超时后重试次数:应答超时开始计数,超过重试次数判该终端通讯中断。 客户端是否主动关闭连接:下拉菜单可选“禁止”:运行过程中不允许客户端主动关闭连接;“允许”:运行过程中允许长时间通讯链路没有数据传输情况下主动关闭连接。 是否使能通道遥信:下拉菜单可选“禁止”:不使用通道遥信功能 下拉菜单选择“允许”:使用通道遥信功能,在遥信表中实际遥信数量后加上一个遥信,代表通道遥信(创建了多少终端,添加多少个通道遥信)

终端数量:暂不支持终端数量配置,可认为这个选择无用。 对时配置:

? ?

对时帧配置界面

点击对时配置,跳出如上图的对话框,根据需对时设备的点表配置对时帧 功能码:下拉选择对时帧的功能码

对时间隔:多长时间发送一帧对时帧,单位为秒 年份基数:暂时未做

数据的字节序:下拉选择报文中的发送的数据的字节序 校验类型:根据需要选择无校验/CRC16/LRC16 校验码字节序:下拉选择校验码的字节序

时间格式:对时需要写入的数据,YY表示年,MM表示月,DD表示天,hh表示时,mm表示分,ss表示秒,ms表示毫秒。区分大小写和书写的顺序。若不需要某个时间,就把它直接去掉,如:不需要秒和毫秒 时间格式就写成 YY//MM//DD//hh//mm 就行了 不需要月就写成 YY//DD//hh//mm//ss//ms

Modbus配置使用说明

寄存器起始地址:数据写入寄存器的起始地址。 寄存器数量:连续寄存器个数。

填好之后保存就可以了不需要对表进行操作 终端配置

终端配置区

3.1.1. 新建终端

点击终端配置区的“自动创建”按钮,在出现的“终端条数目”文本框内填写该节点需要配置的终端数量(最大支持48个终端),点击“OK”,即可在终端配置区的列表中看到新生成的终端。每一行代表一个终端。不同的列代表终端配置参数,有以下参数: ? 从站地址模式:区别Modbus规约模式。“0”:Modbus/RTU;“1”:Modbus-TCP。 ? 从站地址:在Modbus/RTU定义为PDU的地址;在Modbus-TCP定义为MBAP报文头

的单元标识符。 ? 事务处理标识模式:Modbus-TCP专用,定义为MBAP报文头的事务处理标识模式。“0”:

无效;“1”:有效。 ? 校验码模式:“0”:报文尾部不需要添加校验码;“1”:添加16位CRC校验;“2”:添

加16位LRC校验。 ? 校验码字节序:“1”:低字节在前,高字节在后;“0”:高字节在前,低字节在后。 ? 查询帧数:该终端需要发送的Modbus查询帧。

? 控制帧数:该终端可以接受通讯控制器系统控制的规则数。

Modbus配置使用说明

图2 新建终端

删除终端:点击需要删除的终端,再点击删除终端按钮,当前终端就被删除了 清空终端:将当前创建的终端全部清空

复制终端:选中需要复制的终端,点击复制终端按钮,然后再点击向后粘贴按钮,选中终端就被复制到最后一行。

添加终端:在当前终端配置界面再添加一个新的终端

插入终端:选中一个终端,点击插入终端按钮,就会在选中的终端前插入一个新的终端

3.1.2. 解析包配置

解析包配置的范围包括终端配置区列表中所有终端的全部查询帧和控制帧。

配置终端参数中每个终端的“查询帧数”数和“控制帧数”数,其中“控制帧数”为可选项。在规约插件主界面点击“解析包配置”按钮,进入解析包配置界面。

Modbus配置使用说明

图3 解析包配置

解析包配置界面分为两部分:

? 终端列表区:采用树型结构显示所有终端的所有查询帧和控制帧。

? 帧数据配置区:默认为灰色空白,点击终端列表区的任意帧,即可显示相应配置参数。

3.1.2.1. 查询帧配置

查询帧配置是指轮流发送给从站的查询报文配置规则。

在终端列表区点击查询帧,即可显示所有查询帧需要配置的参数。

图 4查询帧配置界面

查询帧的参数包括以下部分:

? 查询帧号:只能显示该帧序号,不能修改。

? 起始地址:Modbus规约01、02功能的起始线圈地址,从0开始;03、04功能的起始

Modbus配置使用说明

寄存器地址,从0开始。

? 查询数量:Modbus规约01、02功能的查询线圈数量;03、04功能的查询寄存器数量。注:中间不能有不可读的寄存器(或线圈),但是允许有不处理的寄存器(或线圈),数目需要满足前面的最大值限制。 ? 功能码:Modbus规约功能码,查询帧内只能填写01、02、03、04中的一种。 ? 响应解析包数量:处理从站响应帧的解析规则数量。

注:对响应解析包的划分,需要符合以下条件:该解析包内需处理的数据点项必须寄存器(或线圈)连续,在数据库中的点号连续,数据类型、信息属性(属于遥测、遥信、还是遥脉)、负整数模式以及多字节序等方面相同。 在帧数据配置的“响应解析包数量”文本框内填写响应帧需要解析的规则数量,点击“解析包设置”,即可在解析包配置区的列表中看到新生成的解析包。

图 5生成响应解析包

列表中每一行代表一个解析包。不同的列代表解析包配置参数,有以下参数:

? 字节偏移:从当前解析的字节开始,解析起始字节向后偏移的字节数。可用在01、02、

03、04功能码响应帧解析上。

? 位偏移:字节内从低位开始算起,解析起始位向后偏移的位数。仅用于01、02功能码

响应帧解析上。 注:也可同字节偏移组合使用,偏移的位=字节偏移数×8+位偏移数。 ? 信息属性:该解析包处理的信息种类。“0”:遥信;“1”:遥测;“2”:遥脉。 ? 对应点号:第一个数据项对应的数据库点号,每组的数据项点号必须连续。

? 数目:该解析包总共的数据项数目,注意这里的数目必须要正确,否则会影响后面部分

的正确解释。

? 数据类型:数据项的数据类型,只有数据类型相同的才能划分在同一解析包中。“0”:

未定义;“1”:位格式;“2”:无符号8位整型;“3”:有符号8位整型;“4”:无符号16位整型;“5”:有符号16位整型;“6”:无符号32位整型;“7”:有符号32位整型;“8”:32位浮点数;“9”:有符号64位整型;“10”:64位浮点数;“11”:结构化数据。 ? 负整数模式:采用最高位表示正负数的数据格式,仅用于“数据类型”为2、4、6有效。

“0”:不采用该模式;“1”:采用负整数模式。

Modbus配置使用说明

? 字节序:多字节数的十六进制先后字节顺序。根据Modbus规约,默认选“1”。详见:

? 两字节数:

? “0”:L H ? “1”:H L 例:接收缓冲中有2个字节0x12 0x34。选“0”,数据是0x3412;选“1”,数据是0x1234。 四字节数: ? ? ? ? ?

“0”:LL LH HL HH “1”:LH LL HH HL “2”:HH HL LH LL “3”:HL HH LL LH “4”~“N”:留待扩充

例:接收缓冲中有4个字节0x12 0x34 0x56 0x78。 选“0”,数据是0x78563412; 选“1”,数据是0x56781234。 选“2”,数据是0x12345678。 选“3”,数据是0x34127856。 ? 八字节数:

? “0”:LLL LLH LHL LHH HLL HLH HHL HHH ? “1”:LLH LLL LHH LHL HLH HLL HHH HHL ? “2”:LHH LHL LLH LLL HHH HHL HLH HLL ? “3”:LHL LHH LLL LLH LHL LHH LLL LLH ? “4”~“N”:留待扩充

查询帧配置完毕,点击“保存配置”保存当前查询帧配置。

3.1.2.2. 控制帧配置

控制帧配置是指配置了一组允许系统发出控制指令的规则。

在终端列表区点击控制帧,即可显示所有控制帧需要配置的参数。

Modbus配置使用说明

图 6控制帧配置界面

控制帧的参数包括以下部分:

? 控制帧号:只能显示该帧序号,不能修改。

? 功能码:Modbus规约功能码,控制帧内只能填写05、06、15、16中的一种。 ? 起始地址:Modbus规约定义的05功能码的线圈地址,或者是06功能码的寄存器地址,

或是15功能码的起始线圈地址,或是16功能码的起始寄存器地址。(一个寄存器或者线圈的地址)

? 数据数目:需要发送的数据库内数据数目。(要遥控的寄存器或线圈的数目) ? 数据类型:需要发送的数据库内数据类型。

? 负整数模式:采用最高位表示正负数的数据格式。 ? 字节序:参考3.1.2.1中查询帧解析包的字节序定义。 ? 大排行号:控制点在节点数据库中的排行(全节点唯一)。(和节点数据库中的节点号一

一对应)

? 控制类型:只能选择“遥控”和“遥调”两种。 ? 参数包数量:控制帧的参数包规则数量。

在帧数据配置的“参数包数量”文本框内填写需要配置的控制参数规则数量,点击“参数包设置”,即可在参数包配置区的列表中看到新生成的参数包。参数包分为遥控类型和遥调类型,区别在于“动作指令”列不同,其余参数定义如下:

? 参数偏移量:数据库的遥调值在转义数组中的偏移量,单位是寄存器。参数偏移量

必须小于参数数目。

? 参数数目:转义数组中的寄存器数量。参数数目必须大于0。 ? 转义数组:一个或一组寄存器组成的数组,指的是数据库中的数据通过转义生成通

讯发送数据。有可能数据库中只是一个布尔型的数据,而通讯发送需要若干16位的数据,就需要配置转义数组。

左键双击“转义数组”列中的每个单元格都进行编辑:

Modbus配置使用说明

图 9控制帧转义数组配置

“转义数组配置”对话框分为三个区:选择数制区、转义数组区和操作按钮区。数制可以选择十进制和十六进制,有利于按照信号量点表直接填写转义数组的数值。转义数组区内左键双击“寄存器数值”单元格编辑数值,除非单元格内显示“禁止编辑”。 ? 遥控配置

“控制类型”下拉菜单中选择“遥控”选项。参数包配置区的“动作指令”列每个单元格都生成一个下拉菜单,下拉菜单内容如下:(遥控合表示所控制的开关/继电器由分到合;遥控分表示所控制的开关/继电器由合到分)

? 05功能码

? “功能码”填写05。 ? “数据数目”填写1。

? “数据类型”下拉菜单根据具体需求选择。 ? “大排行号”选择节点遥控值对应的点号。

? “参数包数量”填写2,点击“参数包设置”按钮,在参数包配置区中即可生

成2条配置规则。

? 参数包配置区“动作指令”中选择“遥控合0->1”与“遥控分1->0”,不需要

配置其他选项。

图 11遥控命令05功能码参数配置

点击“保存配置”保存当前控制帧配置。 ? 06功能码

? “功能码”填写06。 ? “数据数目”填写1。

? “数据类型”下拉菜单根据具体需求选择。 ? “大排行号”选择节点遥控值对应的点号。

? “参数包数量”填写2,点击“参数包设置”按钮,在参数包配置区中即可生

成2条配置规则。

? 参数包配置区“动作指令”中选择“遥控合0->1”与“遥控分1->0”,“参数

数目”填写1。

Modbus配置使用说明

图 12遥控命令06功能码参数配置

? 左键双击“转义数组”列中的单元格进行转义数据配置。

图 2遥控06功能码转义数组配置

点击“保存并关闭”按钮保存转义数组并关闭对话框。 点击“保存配置”保存当前控制帧配置。 ? 16功能码

? “功能码”填写16。 ? “数据数目”填写1。

? “数据类型”下拉菜单选择“布尔型”。 ? “大排行号”选择节点遥控值对应的点号。

? “参数包数量”填写2,点击“参数包设置”按钮,在参数包配置区中即可生

成2条配置规则。

? 参数包配置区“动作指令”中选择“遥控合0->1”与“遥控分1->0”,“参数

数目”需大于1,按照信号量点表填写。

Modbus配置使用说明

图 13遥控命令16功能码参数配置

? 左键双击“转义数组”列中的单元格进行转义数据配置。

图 14遥控16功能码转义数组配置

? 根据信号量点表,将相应的数值填写进“寄存器数值”列。保存并关闭对话框。 点击“保存配置”保存当前控制帧配置。 ? 遥调配置

“控制类型”下拉菜单中选择“遥调”选项。参数包配置区的“动作指令”列每个单元格都生成一个下拉菜单,菜单内容如下:

Modbus配置使用说明

图 15控制帧遥调动作指令

? 06功能码

? “功能码”填写06。 ? “数据数目”填写1。

? “数据类型”下拉菜单选择“16位无符号整型”或“16位有符号整型”。 ? “负整数模式”根据实际情况填写。

? “字节序”根据实际情况填写,参考3.1.2.1中关于字节序的定义。 ? “大排行号”选择节点遥调值对应的点号。

? “参数包数量”填写1,点击“参数包设置”按钮,在参数包配置区中即可生

成配置规则。

? 参数包配置区“动作指令”中选择“遥调输出”,“参数数目”填写1。

图 16遥调命令06功能码参数配置

Modbus配置使用说明

? 左键双击“转义数组”列中的单元格进行转义数据配置。

图 17遥调06功能码转义数组配置

不需要做任何配置。保存并关闭对话框。

注:06功能码只能发送一个16位的数据,只要配置数据库的遥调点号和数值类型,发送数据由数据库的数值决定,所以不需要做任何配置。 点击“保存配置”保存当前控制帧配置。 ? 16功能码

? “功能码”填写16。 ? “数据数目”填写1。

? “数据类型”根据系统需要填写。 ? “负整数模式”根据实际情况填写。

? “字节序”根据实际情况填写,参考3.1.2.1中关于字节序的定义。 ? “大排行号”选择节点遥调值对应的点号。

? “参数包数量”填写1,点击“参数包设置”按钮,在参数包配置区中即可生

成配置规则。

? 参数包配置区“动作指令”中选择“遥调输出”。“参数偏移量”根据实际需要

填写偏移的数量。“参数数目”根据实际需要填写数目。 注:16功能码可以发送多个寄存器,而遥调命令目前只支持发出一个遥调值。有些应用场景需要在遥调值的前后增加若干固定数值的寄存器,这就需要使用“参数偏移量”和“参数数目”组合使用。如果参数偏移量大于0,数据库中的遥调值就从转义数组的参数偏移量起始位置上填写。如果遥调值为16位整型值,只占用1个寄存器,其前后的转义数据可以填写固定参数。如果遥调值为32位整型值或浮点数,需要占用2个寄存器。 Modbus配置使用说明

图 18遥调命令16功能码参数配置

? 左键双击“转义数组”列中的单元格进行转义数据配置。

图 19遥调16功能码转义数组配置

? 根据信号量点表,将相应的数值填写进“寄存器数值”列。保存并关闭对话框。 点击“保存配置”保存当前控制帧配置。 ? 用16功能码代替06功能码

某些厂家自定义16功能码的用途,使用16功能码写单个寄存器。为此,Modbus插件专门开发了该功能。

? “功能码”填写16。 ? “数据数目”填写1。

Modbus配置使用说明

? “数据类型”根据系统需要填写。

? “负整数模式”根据实际情况填写,但“数据类型”必须选择“16位无符号

整型”。

? “字节序”根据实际情况填写,参考3.1.2.1中关于字节序的定义。 ? “大排行号”选择节点遥调值对应的点号。

? “参数包数量”填写1,点击“参数包设置”按钮,在参数包配置区中即可生

成配置规则。

? 参数包配置区“动作指令”中选择“遥调输出”, “参数数目”填写1,转义

数组默认即可。

图 20遥调命令16功能码转06功能码参数配置

点击“保存配置”保存当前控制帧配置。

Modbus配置使用说明

? “数据类型”根据系统需要填写。

? “负整数模式”根据实际情况填写,但“数据类型”必须选择“16位无符号

整型”。

? “字节序”根据实际情况填写,参考3.1.2.1中关于字节序的定义。 ? “大排行号”选择节点遥调值对应的点号。

? “参数包数量”填写1,点击“参数包设置”按钮,在参数包配置区中即可生

成配置规则。

? 参数包配置区“动作指令”中选择“遥调输出”, “参数数目”填写1,转义

数组默认即可。

图 20遥调命令16功能码转06功能码参数配置

点击“保存配置”保存当前控制帧配置。

本文来源:https://www.bwwdw.com/article/3li.html

Top