Modbus协议介绍及解析.docx

上传人:p** 文档编号:1208781 上传时间:2024-11-24 格式:DOCX 页数:10 大小:22.57KB
下载 相关 举报
Modbus协议介绍及解析.docx_第1页
第1页 / 共10页
Modbus协议介绍及解析.docx_第2页
第2页 / 共10页
Modbus协议介绍及解析.docx_第3页
第3页 / 共10页
Modbus协议介绍及解析.docx_第4页
第4页 / 共10页
Modbus协议介绍及解析.docx_第5页
第5页 / 共10页
Modbus协议介绍及解析.docx_第6页
第6页 / 共10页
Modbus协议介绍及解析.docx_第7页
第7页 / 共10页
Modbus协议介绍及解析.docx_第8页
第8页 / 共10页
Modbus协议介绍及解析.docx_第9页
第9页 / 共10页
Modbus协议介绍及解析.docx_第10页
第10页 / 共10页
亲,该文档总共10页,全部预览完了,如果喜欢就下载吧!
资源描述

《Modbus协议介绍及解析.docx》由会员分享,可在线阅读,更多相关《Modbus协议介绍及解析.docx(10页珍藏版)》请在第壹文秘上搜索。

1、Modbus协议介绍及解析1 .Modbus简介Modbus是一种广泛应用于工业控制领域串行通信协议,以其开放性、高可靠性、高效简单性、免费等优点,成为了工业领域通信协议的业界标准,是工业现场电广设备之间常用的连接方式。Modbus按其格式可分为Modbus-RTU,Modbus-ASCII,MOdbUS-TCP,其中前两者适用于串行通信控制网络中,例如RS485.RS232等,而Modbus-TCP主要应用于基于以太网TCP/IP通信的控制网络中。通过此协议,控制器相互之间、或控制器和其它设备之间进行通信。Modbus协议使用的是主从通讯技术,即由主设备主动查询和操作从设备。一般将主控设备方

2、所使用的协议称为ModbUSMaSter,从设备方使用的协议称为ModbUSS1.aveo典型的主设备包括工控机和工业控制器等;典型的从设备如P1.C可编程控制器等。Modbus通讯物理接口可以选用串口(包括RS232和RS485),也可以选择以太网口。2 .报文类型及格式2.1 协议描述ModbUS协议定义了一个与基础通信层无关的简单协议数据单元PDU)0特定总线或网络上的VodbUS协议映射能够在应用数据单元(ADU)上引入一些附加域,启动MOdbUS事务处理的客户机创建Modbus应用数据单元。如图1所示。Modbus-KT1.方式的通讯数据帧格式如图2所示。ADU功敏.PDU图IMOd

3、buS心议数据单元数据格式,地址码功能码数据区I错误校检数据长度,I1字节I1字节I冲节I】他CRaX冗余循环码)I图2ModbusRTU数据帐格式2 .2通讯信息传输过程当命令由主机发送至从机时,符合相应地址码的从机处理命令,根据功能码作相应任务。如果CRe校验无误,则执行相应的任务,然后把数据返送给主机。如果CRC校验出错就不返回任何信息,主机应当有相应的超时处理。如果接收正确,但不能处理,返回异常报文。对字型数据发送顺序为先高字节后低字节;对浮点数按照正常的顺序发送;信文总长度(包括地址码和CRC校验码)不超过256字节。2.3应用数据单元应用数据单元(ADU)由地址码、功能码、数据区、

4、错误校验码构成。地址码:地址码是通讯信息帧的第一字节,从0到255。每个从机有唯一的地址码,并且只有符合地址码的从机才能响应回送信息。OXFF为广播地址。功能码:功能码向服务器指示将执行哪种操作。Modbus协议建立了客户机启动的请求格式,用一个字节编码ModbUS数据单元的功能码域,当从客户机向服务器设备发送报文时,功能码域通知服务器执行哪种操作。数据区:数据区可以是数据(如:开关量输入/输出、模拟量输入/输出、寄存器等等)、参考地址等。均为二进制数。各种数据参考地址在综合控制装置中均从1开始,在通讯过程中则从0开始,所以读写地址N时使用的地址数据为N-1.错误校验码(CRC校验):由于电子

5、噪声或一些其它干扰,信息在传输过程中有时会发生错误,CRC校验可以检验主机或从机在通讯数据传送过程中的信息是否有误,错误的数据可以放弃(无论是发送还是接收),这样增加了系统的安全和效率。ModbUS通讯协议的CRC(冗余循环码)包含2个字节,即16位二进制数。CRC码由发送设备(主机)计算,放当于发送信息帧的尾部。接收信息的设备(从机)再重新计算接收到信息的CRC,比较计算得到的CRC是否与接收到的相符,如果两者不相符,则表明出错。在进行CRC计算时只用8个数据位,起始位及停止位,如有奇偶校验位也包括奇偶校验位,都不参与CRC计算。3 .主要功能码说明(1)读取内部线圈(接点)功能码:OxO1

6、.描述:读从机多个内部线圈数据。不支持广播命令。(地址OXXXX)查询查询信息指定要读取的线圈开始地址和线圈数量。线圈地址从0开始。以读取地址为17的从机中第715号内部线圈的值为例:克询报文格式主机发送发送的信息举例从机地址11发送至地址为17的从机功能码01读内部线圈起始地址高00起始地址为OOoO7号线圈起始地址低06数据数目高00读取线圈数目(三f):孙数据数目低09CRC码由王机计更得到CRC码响应响应报文格式:从机响应返回的信息举例从机地址11来自从机17功能用01读内B1.字节数2共分节(咐)数据字节13b线圈714的信数据字节201线图15的值CRC码由从机计算得到CRC码计算

7、机发送命令:设备地址功能码01起始寄存器地址高8位低8位读取的寄存器数高8位低8位CRC校验的低8设备响应:设备地址功能码01返回的字节个数数据1数据2数据nCRC校验的低8位CRC校验的高8位(2)读取开关量输入功能码:0x02描述:读从机多个开入。不支持广播命令。(地址IXXXX,只读)查询和响应同OXO1.功能码(3)写数字量(线圈状态)功能码:0x05例:110500CFF00CRC低CRC高1.功能码:写数字量的命令号固定为05。2 .需下置的寄存器地址高8位,低8位:表明了需要下置的开关的地址。3 .下置的数据高8位,低8位:表明需要下置的开关量的状态。例子中为把该开关闭合。注意,

8、此处只可以是FF00表示闭合0000表示断开,其他数值非法。4 .此命令一条只能下置一个开关量的状态。计算机发送命令:设备地址功能码05需下置的寄存器地址高8位低8位下置的数据高8位低8位CRC校验的低8位CRC校验的高8位设备响应:如果成功把计算机发送的命令原样返回,否则不响应。(4)取多个保持寄存器(数据寄存器)功能码:0x03描述:读从机多个保持寄存器二进制数据。不支持广播命令。(地址4XXXX)查询查询信息指定要读取的寄存器开始地址和寄存器数量。寄存器地址从O开始。以读取地址为17的从机中第108第I1.O号寄存器为例:查询报文格式主机发送发送的信息举例从机地址11发送至地址为17的从

9、机功能码03读寄存器数据起始地址高00起始地址为40108起始地址低6B数据数目高00读取寄存器数目:3个数据数目低03CRC码由王机计算得到CRe码响应响应报文格式:从机峋应返回的倍忌举例从机炮址11来自从机17功能码03读寄存器却据字书的63个寄存总数据长度共6T节数据】高0240108号寄存器的值-022B数据】低2B的掘2高OO40109号寄存器的值TX)Oo射据2低OO数据3高OO40110号寄存器的II-OO64数娓3低64CRC码日从机计5得到CRC配计算机发送命令:设备地址功能码03起始寄存器地址高8位低8位读取的寄存器数高8位低8位CRC校验的低8据2数据nCRC校验的低8位

10、CRC校验的高8位(5)读取多个输入寄存器(模拟输入寄存器)功能码:0x04描述:读从机多个模拟输入寄存器二进制数据。不支持广播命令。(地址3XXXX,只读)同0x03功能码(6)写单个寄存器功能码:0x06描述:写从机单个寄存器。(地址4XXXX)命令:命令指定要写的寄存器地址和写入的值。地址从900开始。以将数据1写入地址为1的从机中第900号寄存器为例:命令报文格式:王机发送发送的信息举例从机地址1发送至地址为1的从机功能码06写里个寄存器起始地址高03写入地址40900起始地址低83数据高00写入数据:01数据低01CRC码由主机计算得到CRC码响应响应报文格式:与命令格式相同。计算机

11、发送命令:设备地址功能码06需下置的寄存器地址高8位低8位下置的数据高8位低8位CRC校验的低8位CRC校验的高8位(7)写多个保持寄存器功能码:Ox1.O描述:写从机多个保持寄存器。(地址4XXXX)命令:命令指定要写的寄存器地址和写入的值。地址从900开始。以将数据1写入地址为1的从机中第900、901号寄存器为例:命令报文格式:王机发送发送的信息举例从机地址1发送至地址为1的从机功能码10写多个寄存器起始她址高03写入地址40900起始地址低83寄存器豹目高00寄存器数为02寄存器数目低02字节数M2寄存器数量数据1高OO写入数据:01数据1低01数据2高OO写入数据:01数据2低01CRC码由王机Hs好到GR玛响应响应报文格式:从机响应返回的信息举例从机地址1来自从机1功能码10写多个寄存器起始地址高03写入地址40900起始地址低83寄存器数目高00寄存器数为02寄存器数目低02CRC码由从机计算得到CRC码计算机发送命令:设备地址功能码10需下置的寄存器起始地址高8位低8位要写的寄存器数量的高字节低字节要写的字节数(等于寄存器数目*2)下置的数据高8位低8位CRC校验的低8位CRC校验的高8位设备响应:如果成功则响应:设备地址,功能码0x10,寄存器起始地址高字节,低字节,要写的寄存器数量的高字节,低字节,CRC校验低字节,高字节。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 计算机应用/办公自动化

copyright@ 2008-2023 1wenmi网站版权所有

经营许可证编号:宁ICP备2022001189号-1

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。第壹文秘仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第壹文秘网,我们立即给予删除!