0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

亿佰特物联网应用专家 2024-06-28 08:21 次阅读

适用型号

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

功能简介

功能说明:Modbus指令快速生成教程旨在帮助用户快速生成Modbus通信指令,实现设备之间的数据传输。通过确定通信方式、选择功能码、确定起始地址和数据长度等步骤,用户可以轻松生成符合Modbus协议规范的指令。常用的功能码包括读取保持寄存器、写单个保持寄存器等,用于读取或写入设备的数据。通过本教程,用户可以快速了解如何生成Modbus指令,并在工业控制等领域中应用,实现设备间的高效通信与数据交换。

相关知识:

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

Modbus寄存器种类说明:

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

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

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

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

Modbus功能码:

4ad7827e-34e4-11ef-a655-92fbcf53809c.png

功能应用

(1)软件清单

软件:UartAssist

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

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

4b05a9ce-34e4-11ef-a655-92fbcf53809c.png

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

4b27c176-34e4-11ef-a655-92fbcf53809c.png

(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打头的十六进制形式。

4b4f0f9c-34e4-11ef-a655-92fbcf53809c.png

指令生成

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

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

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

4b6c3536-34e4-11ef-a655-92fbcf53809c.png

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

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

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

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

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

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

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

4b959df4-34e4-11ef-a655-92fbcf53809c.png

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

功能号选择:01读线圈

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

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

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

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

4bb6aff8-34e4-11ef-a655-92fbcf53809c.png

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

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

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

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

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

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

4bdb9c6e-34e4-11ef-a655-92fbcf53809c.png

从设备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),由此如图所示:

4ca62ec0-34e4-11ef-a655-92fbcf53809c.png

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

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

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

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

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

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

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

4cd4c50a-34e4-11ef-a655-92fbcf53809c.png

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

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

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

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

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

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

4d02c11c-34e4-11ef-a655-92fbcf53809c.png

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

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

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

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

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

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

4d23c9a2-34e4-11ef-a655-92fbcf53809c.png

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

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

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

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

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

产品推荐

4d4a4294-34e4-11ef-a655-92fbcf53809c.png

亿佰特无线通信设备产品涵盖无线数传电台、工业路由器、串口服务器、遥控开关、CAN总线、无线网关、远程IO模块、工业信号传输等。设备广泛应用于数据远程采集控制、水电气抄表、PLC无线通信、智慧农业等场景。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 寄存器
    +关注

    关注

    31

    文章

    5336

    浏览量

    120230
  • 通信
    +关注

    关注

    18

    文章

    6024

    浏览量

    135949
  • MODBUS
    +关注

    关注

    28

    文章

    1799

    浏览量

    76947
收藏 人收藏

    评论

    相关推荐

    来啦

    matlab学习心得分享啦!!!亲亲亲快来啦。。。。一起来学习啦
    发表于 08-28 19:30

    Modbus库开发笔记之二:Modbus消息帧的生成

    前面我们已经对Modbus的基本事务作了说明,也据此设计了我们将要实现的主从站的操作流程。这其中与Modbus直接相关的就是Modbus消息帧的生成
    发表于 07-10 22:46

    Modbus的多指令通信怎么一次接收多条指令

    有没有人研究过 Modbus的多指令通信(一次接收多条指令,逐条解析,逐条响应)
    发表于 01-29 00:54

    Modbus协议特点

    文章目录Modbus 通信协议介绍Modbus 协议特点RTU 协议帧数据Modbus 通信协议介绍UART、I2C、SPI 这些通信协议,都是最底层的协议,是“位”级别的协议。而我们在学习13章做
    发表于 11-22 07:59

    如何快速实现Modbus RTU和Modbus TCP协议转换?

    整合起来监控管理,目前上位机大部分用的Modbus TCP协议,而现场设备有大批量使用的是Modbus RTU协议,要实现Modbus TCP访问Modbus RTU设备的需求日益增加
    发表于 08-18 18:36

    PLC的MODBUS主站和从站完整指令库资料免费下载

    本文档的主要内容详细介绍的是PLC的MODBUS主站和从站完整指令库资料免费下载。
    发表于 09-16 17:12 35次下载
    PLC的<b class='flag-5'>MODBUS</b>主站和从站完整<b class='flag-5'>指令</b>库资料免费下载

    使用S7-200 MODBUS指令实现通讯方法及例程

    使用S7-200 MODBUS指令实现通讯方法及例程说明。
    发表于 04-22 15:15 37次下载

    快速平台-Modbus TCP网络接口

    快速平台-Modbus TCP网络接口
    发表于 04-29 10:52 7次下载
    <b class='flag-5'>快速</b>平台-<b class='flag-5'>Modbus</b> TCP网络接口

    S7-1200 Modbus TCP通信指令块编程教程

    S7-1200 Modbus TCP通信指令块编程教程免费下载。
    发表于 03-28 16:08 10次下载

    S7-200 SMART Modbus TCP服务器指令

    STEP7-Micro/WIN SMART 从V2.4 版本开始,软件中直接集成 Modbus TCP 库指令,无需单独安装或者购买。安装软件后,Modbus TCP 指令位于
    的头像 发表于 11-25 17:23 3558次阅读

    振弦采集模块配置工具VMTool 扩展功能指令生成器与实时曲线

    振弦采集模块配置工具VMTool 扩展功能指令生成器与实时曲线 振弦采集模块 指令生成器 ( 1) 指令
    的头像 发表于 01-29 10:42 802次阅读
    振弦采集模块配置工具VMTool 扩展功能<b class='flag-5'>指令</b><b class='flag-5'>生成</b>器与实时曲线

    详解TOF生成关断延迟指令

    可以使用“ 生成关断延时”(Generate off-delay) 指令将延时所指定的时间 PT 复位输出 Q。当输入 IN 的逻辑运算结果 (RLO) 从“0”变为“1”(上升沿)时,置位 Q
    的头像 发表于 06-06 10:21 2380次阅读
    详解TOF<b class='flag-5'>生成</b>关断延迟<b class='flag-5'>指令</b>

    怎样快速生成“无源电感Pcell”?

    怎样快速生成“无源电感Pcell”?
    的头像 发表于 12-06 16:13 831次阅读
    怎样<b class='flag-5'>快速</b><b class='flag-5'>生成</b>“无源电感Pcell”?

    计算机快速全息生成技术研究

    快速全息生成技术依赖于计算机生成的全息影像 (CGH) 的快速创建。目前,基于光线追踪的计算机生成全息图的
    的头像 发表于 12-12 11:15 521次阅读
    计算机<b class='flag-5'>快速</b>全息<b class='flag-5'>生成</b>技术研究

    快速实现Modbus和Profinet互转的方案

    Modbus转Profinet网关(XD-MDPN100/200)可快速实现Modbus信号至Profinet信号的转换,确保通信稳定安全。Modbus转Profinet网关(XD-M
    的头像 发表于 12-27 09:14 458次阅读
    <b class='flag-5'>快速</b>实现<b class='flag-5'>Modbus</b>和Profinet互转的方案