欢迎来到天天文库
浏览记录
ID:3140164
大小:927.00 KB
页数:23页
时间:2017-11-19
《modbus rtu通用规约说明、模板及规约配置》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、ModbusRTU通用规约说明、模板及规约配置说明文档一、ModbusRTU通用规约说明1.1Modbus协议简介Modbus协议最初由Modicon公司开发出来,在1979年末该公司成为施耐德自动化(SchneiderAutomation)部门的一部分,现在Modbus已经是工业领域全球最流行的协议。此协议支持传统的串口链路RS-232、RS-422、RS-485和以太网设备。许多工业设备包括PLC,DCS,智能仪表等都在使用Modbus协议作为他们之间的通讯标准。Modbus协议包括ASCII、RTU、TCP等,并没有规定物理层。
2、此协议定义了控制器能够认识和使用的报文结构,而不管它们是经过何种网络进行通信的。标准的Modicon控制器使用RS232C实现串行的Modbus。Modbus的ASCII、RTU协议规定了报文、数据的结构、询问和应答的方式,数据通讯采用主/从方式,主站发出数据请求报文,从站接收到正确报文后就可以发送数据到主站端以响应请求;主站也可以直接发报文修改从站的数据,实现双向读写。1.2Modbus通用规约介绍Modbus协议需要对数据进行校验,串行协议中除有奇偶校验外,ASCII模式采用LRC校验,RTU模式采用16位CRC校验,但TCP模式
3、没有额外规定校验,因为TCP协议是一个面向连接的可靠协议。另外,Modbus采用主从问答方式收发数据,在实际使用中如果某从站站点断开后(如故障或失电),主站可以诊断出来,而当故障修复后,网络又可自动接通。因此Modbus协议的可靠性较好。Modbus协议在串行链路中RTU模式使用的最多,通用性很强,所以在这里仅介绍一下ModbusRTU协议即Modbus通用规约。下表是ModbusRtu支持的功能码:功能码名称作用01读取线圈状态取得一组逻辑线圈的当前状态(ON/OFF)02读取输入状态取得一组开关输入的当前状态(ON/OFF)03读
4、取保持寄存器在一个或多个保持寄存器中取得当前的二进制值04读取输入寄存器在一个或多个输入寄存器中取得当前的二进制值05强置单线圈强置一个逻辑线圈的通断状态06预置单寄存器把具体二进值装入一个保持寄存器07读取异常状态取得8个内部线圈的通断状态,这8个线圈的地址由控制器决定08回送诊断校验把诊断校验报文送从机,以对通信处理进行评鉴09编程(只用于484)使主机模拟编程器作用,修改PC从机逻辑10控询(只用于484)可使主机与一台正在执行长程序任务从机通信,探询该从机是否已完成其操作任务,仅在含有功能码9的报文发送后,本功能码才发送11读
5、取事件计数可使主机发出单询问,并随即判定操作是否成功,尤其是该命令或其他应答产生通信错误时12读取通信事件记录可是主机检索每台从机的ModBus事务处理通信事件记录。如果某项事务处理完成,记录会给出有关错误13编程(184/384484584)可使主机模拟编程器功能修改PC从机逻辑14探询(184/384484584)可使主机与正在执行任务的从机通信,定期控询该从机是否已完成其程序操作,仅在含有功能13的报文发送后,本功能码才得发送15强置多线圈强置一串连续逻辑线圈的通断16预置多寄存器把具体的二进制值装入一串连续的保持寄存器17报告
6、从机标识可使主机判断编址从机的类型及该从机运行指示灯的状态18(884和MICRO84)可使主机模拟编程功能,修改PC状态逻辑19重置通信链路发生非可修改错误后,是从机复位于已知状态,可重置顺序字节20读取通用参数(584L)显示扩展存储器文件中的数据信息21写入通用参数(584L)把通用参数写入扩展存储文件,或修改之22~64保留作扩展功能备用 65~72保留以备用户功能所用留作用户功能的扩展编码73~119非法功能 120~127保留留作内部作用128~255保留用于异常应答在这些功能码中较常使用的是1、2、3、4、5、6号功能码
7、,使用它们即可实现对下位机的数字量和模拟量的读写操作。1.1Modbus通用规约报文说明1.3.1读可读写数字量寄存器(线圈状态):01功能码上位机发送报文:[设备地址][功能码][起始寄存器地址高8位][低8位][读取的寄存器数高8位][低8位][CRC校验的低8位][高8位]定义设备地址功能码寄存器起始地址读取数据长度CRC校验数据11H01H0013H0025HCRC16字节数11222报文示例:1101001300250E84报文解析:[11]设备地址:在一个485总线上可以挂接多个设备,此处的设备地址表示与问询的设备通讯。示
8、例中为想和地址为17的(十进制的17是十六进制的11H)设备通讯。[01]功能码:读取数字量的功能码为01。[0013]起始寄存器地址高8位、低8位:表示想读取的开关量的寄存器起始地址。比如示例中的起始地址为19。[00
此文档下载收益归作者所有