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

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

3天内不再提示

MODBUS主站通信应用,MODBUS功能码及数据编址

h1654155282.3538 来源:电气电子发烧友 作者:电气电子发烧友 2020-11-21 09:56 次阅读

MODBUS通信的底层为RS485信号,采用双绞线进行联接就可以了,因此传输距离较远,可达1000米,抗干扰性能比较好,且成本低,在工业控制设备的通信中被广泛使用,现在众多厂家的变频器控制器都采用了该协议。传送数据格式有HEX码数据和ASCII码两种,分别称为MODBUS-RTU和MODBUS-ASC协议,前者为数据直接传送,而后者需将数据变换为ASCII码后传送,因此MODBUS-RTU协议的通信效率较高,处理简单,使用得更多。MODBUS为单主多从通信方式,采用的是主问从答方式,每次通信都是由主站首先发起,从站被动应答。因此,如变频器之类的被控设备,一般内置的是从站协议,而PLC之类的控制设备,则需具有主站协议、从站协议。

1、MODBUS主站通信应用

2、用户可通过MODBUS指令编程,把PLC作为主站与MODBUS从站设备通信。MODBUS指令可以同时存在多条并且全部被驱动,系统内部会协调指令的顺序执行,MODBUS协议要求无论写还是读,从站均需要有应答(广播除外)。一条MODBUS指令可能需要执行较长时间,一般需要多个扫描周期。在一个扫描周期内,指令被驱动,但不一定被执行。若存在多条MODBUS指令,其执行顺序是这样的:从开机开始,扫描第一条被驱动的MODBUS指令,若扫描到,把该MODBUS的参数记录下来,在后台执行。执行完后,返回用户程序,从刚执行的MODBUS指令位置开始扫描下一条被驱动的MODBUS指令并执行,周而复始。

3、梯形图:

4、MODBUS功能码及数据编址

作为MODBUS从站时,支持MODBUS协议功能码0x01,0x03,0x05,0x06,0x0f,0x10;通过这些功能码,可读写的线圈有M,S,T,C,X(只读),Y等变量;寄存器有D,T,C。MODBUS通信主机在访问(读取或改写)PLC从机的内部变量时,必须遵循如下的通信命令帧定义,以及变量地址索引方法,才能进行正常的通信操作。
责任编辑人:CC

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

    关注

    27

    文章

    1437

    浏览量

    75691
  • ModBus协议
    +关注

    关注

    3

    文章

    148

    浏览量

    33196
收藏 人收藏

    评论

    相关推荐

    请教 labview 做一个modbus RTU

    最近在用LabVIE想做一个modbus RTu,我的步骤是1、新建工程,2、新建一个 IO server,选择modbus (串口,)3、新建一个VI现在有几疑问,1、我通过这样
    发表于 11-17 17:09

    labview modbus通信

    plc labview作为从plc将数据modbus rtu 协议传给labview
    发表于 04-08 22:05

    Modbus 模拟器 !

    使用STM32F0开发的RS485变送器(使用Modbus RTU协议),为了调试,需要用 Modbus 模拟器 来调试。在网上 没找到,因此 来论坛发帖求助!谢谢!
    发表于 01-08 23:36

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

    量,因为Modbus协议起源于PLC应用,而线圈是对PLC的DO输出的称呼,一般适用于对从站下达操作命令。读这种具有读写功能的状态量的数据
    发表于 07-10 22:46

    Modbus问题

    ModbusRTU两之间如何交互数据? 工业控制中,一般都是主从通讯方式居多,有时也会碰到两个之间通讯。例如某工作站上位机(
    发表于 11-24 16:36

    请问在STM32上跑modbus rtu应该怎么做

    最近一个项目中需要用到485通信,下面的期间是modbus rtu协议,我是小白没搞过modbus,有没有移植过的大神给小弟指点迷津啊,要在STM32上跑modbus rtu
    发表于 01-11 09:04

    stm32作为主ModBus Slave怎么进行调试?

    单片机做为从已经调通,上位机用的是ModBus Poll.现在要把把单片机作为主,上位机用的是ModBus Slave,不知道怎么调试,是不是单片机只要按
    发表于 08-18 04:01

    项目应用丨Modbus转EtherNETIP网关配置案例

    EIP 的输入输出起始地址。无响应动作可选择保持或清零,即与从断线之后可以保持数据或清零数据。7.设置
    发表于 10-28 15:16

    Modbus功能的回调函数如何编写呢

    FreeModbus从设计(10)-Modbus功能的回调函数如何编写关键词:FreeModbus CubeMX HAL库 串口 功能
    发表于 02-16 07:31

    esp32当modbus-rtu slave从通讯,收不到从的响应报文是为何?

    有朋友测试过esp32当 modbus slave从(我拿的esp32当从,用的是RTU模式)吗? 我用modbus poll软件测试下来,
    发表于 02-14 07:11

    基于Modbus RTU协议下实现的1多从自组网无线通信形式

      本方案是基于Modbus RTU协议下实现的1多从自组网无线通信形式,为S7-1200 PLC,DTD433F作为从
    发表于 03-10 14:54

    介绍S7-1200 Modbus RTU通信组态及编程步骤

    ModSim中Modbus地址从40001开始的5个字中的数据,分别读取到Modbus RTUCPU1215C 中地址从DB1.DBW0
    发表于 03-15 16:13

    什么是ModbusModbus用来干什么?Modbus的内容是什么?

    查询功能0x03   功能描述:现在我是主机,我要查询从机地址为01的数据。我现在用电脑的modbus调试助手来代替主机,stm32来代
    发表于 05-05 16:40

    Modbus协议的理解

    秒,否则,接受设备将认为是传送错误。   功能告诉从要执行的功能。例如运行命令,读取监
    发表于 05-05 16:47

    modbus功能怎么用?

    modbus功能怎么用
    发表于 11-06 06:37