经过整理的Modbus通讯协议详解(⼀)
Modbus通讯协议简介
Modbus协议
Modbus协议最初由Modicon公司开发出来,在1979年末该公司成为施耐德⾃动化(Schneider Automation)部门的⼀部分,现在
Modbus已经是⼯业领域全球最流⾏的协议。此协议⽀持传统的RS-232、RS-422、RS-485和以太⽹设备。许多⼯业设备,包括
PLC,DCS,智能仪表等都在使⽤Modbus协议作为他们之间的通讯标准。有了它,不同⼚商⽣产的控制设备可以连成⼯业⽹络,进⾏集中
监控。
当在⽹络上通信时,Modbus协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产⽣何种⾏动。如果需要回
应,控制器将⽣成应答并使⽤Modbu杞人忧天 s协议发送给询问⽅。
Modbus协议包括ASCII、RTU、TCP等,并没有规定物理层。此协议定义了控制器能够认识和使⽤的消息结构,⽽不管它们是经过何种⽹
络进⾏通信的。标准的Modicon控制器使⽤RS232C实现串⾏的Modbus。Modbus的ASCII、RTU协议规定了消息、数据的结构、命令
和就答的⽅式,数据通讯采⽤Mar/Slave⽅式,Master端发出数据请求消息,Slave端接收到正确消息后就可以发送数据到Master端以
响应请求;Master端也可以直接发消息修改Slave端的数据,实现双向读写。
Modbus协议需要对数据进⾏校验,串⾏协议中除有奇偶校验外,ASCII模式采⽤LRC校验,RTU模式采⽤16位CRC校验,但TCP模式没
有额外规定校验,因为TCP协议是⼀个⾯向连接的可靠协议。另外,Modbus采⽤主从⽅式定时收发数据,在实际使⽤中如果某Slave站点
断开后(如故障或关机),Master端可古代战争 以诊断出来,⽽当故障修复后,⽹络⼜可⾃动接通。因此,Modbus协议的可靠性较好。
Modbus的传输层
1、 Modbus⽹络上转输
在Modbus⽹络上通信时,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产⽣何种⾏动。如果需要回应,控
制器将⽣成反馈信息并⽤Modbus协议发出。在其它⽹络上,包含了Modbus协议的消息转换为在此⽹络上使⽤的帧或包结构。这种转换也扩
展了根据具体的⽹络解决节地址、路由路径及错误检测的⽅法。
控制器通信使⽤主—从技术,即仅⼀设备(主设备)能初始化传输(查询)。其它设备(从设备)活泼英文 根据主设备查询提供的数据作出相应反应。
典型的主设备:主机和可编程仪表。典型的从设备:可编程控制器。推销词
主设备可单独和从设备通信,也能以⼴播⽅式和所有从设备通信。如果单独通信,从设备返回⼀消息作为回应,如果是以⼴播⽅式查询的,则不作
任何回应。Modbus协议建⽴了主设备查询的格式:设备(或⼴播)地址、功能代码、所有要发送的数据、⼀错误检测域。
从设备回应消息也由Modbus协议构成,包括确认要⾏动的域、任何要返回的数据、和⼀错误检测域。如果在消息接收过程中发⽣⼀错误,或
从设备不能执⾏其命令,从设备将建⽴⼀错误消息并把它作为回应发送出去。
2、在其它类型⽹络上转输
在其它⽹络上,控制器使⽤对等技术通信,故任何控制都能初始和其它控制器的通信。这样在单独的通信过程中,控制器既可作为主设南极寿星 备也可作
为从设备。提供的多个内部通道可允许同时发⽣的传输进程。
在消息位,Modbus协议仍提供了主—从原则,尽管⽹络通信⽅法是“对等”。如果⼀控制器发送⼀消息,它只是作为主设备,并期望从从
设备得到回应。同样,当控制器接收到⼀消息,它将建⽴⼀从设备回应格式并返回给发送的控制器。
2、 查询—回应周期
(1)查询
查询消息中的功能代码告之被选中的从设备要执⾏何种功能。数据段包含了从设备要执⾏功能的任何附加信息。例如功能代码03是要求从
设备读保持寄存器并返回它们的内容。数据段必须包含要告之从设备的信息:从何寄存器开始读及要读的寄存器数量。innocence歌词 错误检测域为从设备
提供了⼀种验证消息内容是否正确的⽅法。
(2)回应
如果从设备产⽣⼀正常的回应,在回应消息中的功能代码是在查询消息中的功能代码的回应。数据段包括了从设备收集的数据:象寄存器值或
状态。如果有错误发⽣,功能代码将被修改以⽤于指出回应消息是错误的,同时数据段包含了描述此错误信息的代码。错误检测域允许主设备
确认消息内容是否可⽤。
通讯传送⽅式:
标准的Modbus⼝是使⽤⼀RS-232C兼容串⾏接⼝,它定义了连接⼝的针脚、电缆、信号位、传输波特率、奇偶校验。控制器能直接或经由
Modem组⽹。
通讯传送分为独⽴的信息头,和发送的编码数据。以下的通讯传送⽅式定义也与MODBUS RTU通讯规约相兼容:
编 码
8位⼆进制
起始位
1位
数据位
8位
奇偶校验位
1位(偶校验位)
停⽌位
1位
错误校检
CR歇后语大全搞笑 C(冗余循环码)
信息帧结构
当办公室主任 通讯命令发送⾄仪器时,符合相应地址码的设备接通讯命令,并除去地址码,读取信息,如果没有出错,则执⾏相应的任务;然后把执⾏
结果返送给发送者。返送的信息中包括地址码、执⾏动作的功能码、执⾏动作后结果的数据以及错误校验码。如果出错就不发送任何信息。
地址码
功能码
数据区
错误校验码
8位
8位
N 8位
16位
初始结构 = ≥4字节的时间
地址码 = 1 字节
功能码 = 1 字节
数据区 = N 字节
错误校检 = 16位CRC码
结束纸上谈兵的典故 结构 = ≥4字节的时间
地址码:地址码为通讯传送的第⼀个字节。这个字节表明由⽤户设定地址码的从机将接收由主机发送来的信息。每个从机都必须有唯⼀
的地址码,并且只有符合地址码的从机才能响应回送。当从机回送信息时,相当的地址码表明该信息来⾃于何处。主机发送的地址码表明将
发送到的从机地址,⽽从机发送的地址码表明回送的从机地址。
功能码:通讯传送的第⼆个字节。主机发送的功能码告诉从机执⾏什么任务。ModBus通讯规约定义功能号为1到127。本仪表只利⽤其中
的⼀部分功能码。作为主机请求发送,通过功能码告诉从机执⾏什么动作。作为从机响应,从机发送的功能码与从主机发送来的功能码⼀
样,并表明从机已响应主机进⾏操作。如果从机发送的功能码的最⾼位为1(⽐如功能码⼤与此同时127),则表明从机没有响应操作或发送
出错。
数据区:数据区包含需要从机执⾏什么动作或由从机采集的返送信息。这些信息可以是数值、参考地址等等。例如,功能码告诉从机读取寄
存器的值,则数据区必需包含要读取寄存器的全国连锁超市 起始地址及读取长度。对于不同的从机,地址和数据信息都不相同。
错误校验码:主机或从机可⽤校验码进⾏判别接收信息是否出错。有时,由于电⼦噪声或其它⼀些⼲扰,信息在传输过程中会发⽣细微的变
化,错误校验码保证了主机或从机对在传送过程中出错的信息不起作⽤。这样增加了系统的安全和效率。错误校验采⽤CRC-16校验⽅法。
注:信息帧的格式都基本相同:地址码、功能码、数据区和错误校验码
本文发布于:2023-04-26 22:00:49,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/fan/89/849799.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |