加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
    • 一、适用型号
    • 二、功能简介
    • 三、功能应用
    • 四、指令生成
  • 推荐器件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

【教程】如何快速生成Modbus指令?教程来啦

06/28 09:39
2582
阅读需 9 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

一、适用型号

该笔记适用于标准Modbus协议产品(MA01系列、ME31系列、M31系列、ME15-AXAX8080)。

二、功能简介

功能说明:Modbus指令快速生成教程旨在帮助用户快速生成Modbus通信指令,实现设备之间的数据传输。通过确定通信方式、选择功能码、确定起始地址和数据长度等步骤,用户可以轻松生成符合Modbus协议规范的指令。

常用的功能码包括读取保持寄存器、写单个保持寄存器等,用于读取或写入设备的数据。通过本教程,用户可以快速了解如何生成Modbus指令,并在工业控制等领域中应用,实现设备间的高效通信与数据交换。

相关知识:

Modbus是一种主/从通讯模式,主站在Modbus网络上没有地址,从站的地址范围为0-247,其中0为广播地址,从站的实际地址范围为1-247。

Modbus寄存器种类说明:

线圈状态:输出端口,可设定端口的输出状态,也可以读取该位的输出状态;

离散输入状态:输入端口,通过外部设定改变输入状态,可读但不可写;

保持寄存器:控制器运行时被设定的某些参数,可读可写;

输入寄存器:控制器运行时从外部设备获得的某些参数,可读不可写。

Modbus功能码:

三、功能应用

(1)软件清单

软件:UartAssist

(2)Modbus指令调试界面介绍

首先双击打开此软件,如图所示:

点击左上角图标,然后会出现新的菜单栏,选择点击工具,然后会继续出现新的菜单栏,选择点击Modbus调试器,在右侧就会出现一个Modbus指令生成框,如图所示:

(3)从页面中我们可以发现:

第一栏为协议类型选择,其中协议包含Modbus-RTU、Modbus-ASCII、Modbus-TCP,我们常用的协议为Modbus-RTU、Modbus-TCP,Modbus-RTU通常对应串口通讯使用,Modbus-TCP通常对应网口通讯使用;

第二栏为从设备ID,对应设备的Modbus地址;

第三栏为功能号选择,其中包含01功能码读线圈,02功能码读离散量输入,03功能码读保持寄存器,04功能码读输入寄存器,05功能码写单个线圈,06功能码写单个寄存器,15功能码写多个线圈,16功能码写多个寄存器;

第四栏是寄存器地址,相应寄存器地址可在手册寄存器章节查询;

第五栏根据不同的功能号,会出现不同的描述,具体可见指令生成章节。

注:输入地址和数值可以为十进制数或0x打头的十六进制形式。

四、指令生成

示例将以M31系列分布式IO为例,Modbus地址设置为1,协议类型选择Modbus RTU进行讲解。

(1)DI(1区)相关指令生成示例

读取DI状态指令:查询手册可知,DI的寄存器起始地址为0x0000(10001),由此如图所示:

从设备ID号(Modbus地址):1(具体以现场使用而定)

功能号选择:02读离散量输入

寄存器地址:0x0000(为寄存器起始地址,0就代表从第一路开始读取)

读数据长度:1(如果需要同时读取4路,将此值改为4即可)

填写相关数据后,点击更新。

(2)DO(0区)相关指令生成示例

读取DO状态指令:查询手册可知,DO的寄存器起始地址为0x0000(00001),由此如图所示:

从设备ID号(Modbus地址):1(具体以现场使用而定)

功能号选择:01读线圈

寄存器地址:0x0000(为寄存器起始地址)

读数据长度:1(如果需要同时读取4路,将此值改为4即可)

填写相关数据后,点击更新。

控制单个DO状态指令:查询手册可知,DO的寄存器起始地址为0x0000(00001),由此如图所示:

从设备ID号(Modbus地址):1(具体以现场使用而定)

功能号选择:05写单个线圈

寄存器地址:0x0000(为寄存器起始地址)

线圈状态值:On为打开,off为关闭

填写相关数据后,点击更新。

控制多个DO状态指令:查询手册可知,DO的寄存器起始地址为0x0000(00001),由此如图所示:

从设备ID号(Modbus地址):1(具体以现场使用而定)

功能号选择:15写多个线圈

寄存器地址:0x0000(为寄存器起始地址)

线圈状态值:1 0 1 0(1为打开,0为关闭,1 0 1 0表示控制1,3路打开,2,4路关闭;多个线圈的状态值用空格符分隔)

填写相关数据后,点击更新。

(3)AI(3区)相关指令生成示例

读取AI数据指令:查询手册可知,AI的工程量的寄存器起始地址为0x0000(30001),由此如图所示:

从设备ID号(Modbus地址):1(具体以现场使用而定)

功能号选择:04读输入寄存器

寄存器地址:0x0000(为寄存器起始地址)

读数据长度:1(如果需要同时读取4路,将此值改为4;如果需要同时读取4路浮点类型,将此值改为8)

填写相关数据后,点击更新。

(4)AO(4区)相关指令生成示例

读取AO数据指令:查询手册可知,AO的寄存器起始地址为0x0000(40001),由此如图所示:

从设备ID号(Modbus地址):1(具体以现场使用而定)

功能号选择:03读保持寄存器

寄存器地址:0x0000(为寄存器起始地址)

读数据长度:1(如果需要同时读取4路,将此值改为4;如果需要同时读取4路浮点类型,将此值改为8)

填写相关数据后,点击更新。

控制单个AO数据指令:查询手册可知,AO的寄存器起始地址为0x0000(40001),由此如图所示:

从设备ID号(Modbus地址):1(具体以现场使用而定)

功能号选择:06写单个寄存器

寄存器地址:0x0000(为寄存器起始地址)

寄存器数据:1(此值为修改AO的数据)

填写相关数据后,点击更新。

控制多个AO数据指令:查询手册可知,DO的寄存器起始地址为0x0000(00001),由此如图所示:

从设备ID号(Modbus地址):1(具体以现场使用而定)

功能号选择:16写多个寄存器

寄存器地址:0x0000(为寄存器起始地址)

寄存器数据:100 200 300 400(100 200 300 400表示修改AO的数据第一路为100,第二路200,第三路300,第四路400;多个寄存器数据用空格符分隔)

填写相关数据后,点击更新。

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
AD73311ARSZ 1 Analog Devices Inc Single-Channel, 3 V and 5 V Front-End Processor for General Purpose Applications Including Speech and Telephony

ECAD模型

下载ECAD模型
$10.72 查看
LAN8720A-CP-TR 1 Microchip Technology Inc DATACOM, ETHERNET TRANSCEIVER, QCC24, 4 X 4 MM, 0.85 MM HEIGHT, ROHS COMPLIANT, QFN-24

ECAD模型

下载ECAD模型
$1.09 查看
VSC8504XKS-05 1 Microchip Technology Inc Ethernet Transceiver
暂无数据 查看

相关推荐

电子产业图谱