Modbus通讯功能码及实例

上传人:cn****1 文档编号:488451677 上传时间:2022-12-17 格式:DOCX 页数:5 大小:23.22KB
返回 下载 相关 举报
Modbus通讯功能码及实例_第1页
第1页 / 共5页
Modbus通讯功能码及实例_第2页
第2页 / 共5页
Modbus通讯功能码及实例_第3页
第3页 / 共5页
Modbus通讯功能码及实例_第4页
第4页 / 共5页
Modbus通讯功能码及实例_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《Modbus通讯功能码及实例》由会员分享,可在线阅读,更多相关《Modbus通讯功能码及实例(5页珍藏版)》请在金锄头文库上搜索。

1、功能码名称作用01读取线圈状态取得一组逻辑线圈得当前状态(ON/OFF)02读取输入状态取得一组开关输入得当前状态(ON/OFF)03读取保持寄存器在一个或多个保持寄存器中取得当前得二进制值04读取输入寄存器在一个或多个输入寄存器中取得当前得二进制值05强置单线圈强置一个逻辑线圈得通断状态06预置单寄存器把具体二进值装入一个保持寄存器07读取异常状态取得8个内部线圈得通断状态,这8个线圈得地址由控制器决定08回送诊断校验把诊断校验报文送从机,以对通信处理进行评鉴09编程(只用于484)使主机模拟编程器作用,修改PC从机逻辑10 控询(只用于484)可使主机与一台正在执行长程序任务从机通信,探询

2、该从机就是否已完成其操作任务,仅在含有功能码9得报文发送后,本功能码才发送11 读取事件计数可使主机发出单询问,并随即判定操作就是否成功,尤其就是该命令或其她应答产生通信错误时12读取通信事件记录可就是主机检索每台从机得ModBus事务处理通信事件记录。如果某项事务处理完成,记录会给出有关错误13编程(184/384484584可使主机模拟编程器功能修改PC从机逻辑14 探询(184/384484584)可使主机与正在执行任务得从机通信,定期控询该从机就是否已完成其程序操作,仅在含有功能13得报文发送后,本功能码才得发送15 强置多线圈强置一串连续逻辑线圈得通断16 预置多寄存器把具体得二进制

3、值装入一串连续得保持寄存器17 报告从机标识可使主机判断编址从机得类型及该从机运行指示灯得状态18 (884与MICRO84)可使主机模拟编程功能,修改PC犬态逻辑19 重置通信链路发生非可修改错误后,就是从机复位于已知状态,可重置顺序字节20读取通用参数(584L)显示扩展存储器文件中得数据信息21写入通用参数(584L)把通用参数写入扩展存储文件,或修改之2264保留作扩展功能备用6572保留以备用户功能所用留作用户功能得扩展编码73119非法功能120127保留留作内部作用128255保留用于异常应答实例在这些功能码中较长使用得就是1、2、3、4、5、6号功能码,使用它们即可实现对下位机

4、得数字量与模拟量得读写操作。1、读可读写数字量寄存器(线圈状态):计算机发送命令:设备地址命令号01起始寄存器地址高8位低8位读取得寄存器数高8位低8位CRC校验得低8位CRC校验得高8位例:110100130025CRC低CRC高意义如下:设备地址:在一个485总线上可以挂接多个设备,此处得设备地址表示想与哪一个设备通讯。例子中为想与17号(十进制得17就是十六进制得11)通讯。命令号01:读取数字量得命令号固定为01。起始地址高8位、低8位:表示想读取得开关量得起始地址(起始地址为0)。比如例子中得起始地址为19。寄存器数高8位、低8位:表示从起始地址开始读多少个开关量。例子中为37个开关

5、量。CRC校验:就是从开头一直校验到此之前。在此协议得最后再作介绍。此处需要注意,CRC校验在命令中得高低字节得顺序与其她得相反。设备响应:设备地址命令号01返回得字节个数数据1数据2、数据nCRC校验得低8位CRC校验得高8位例:110105CD6BB20E1BCRC低CRC高意义如下:设备地址与命令号与上面得相同。返回得字节个数:表示数据得字节个数,也就就是数据1,2、n中得n得值。数据1、n:由于每一个数据就是一个8位得数,所以每一个数据表示8个开关量得值,每一位为0表示对应得开关断开,为1表示闭合。比如例子中,表示20号(索引号为19)开关闭合,21号断开,22闭合,23闭合,24断开

6、,25断开,26闭合,27闭合、如果询问得开关量不就是8得整倍数,那么最后一个字节得高位部分无意义,置为0。CRC校验同上。2、读只可读数字量寄存器(输入状态):与读取线圈状态类似,只就是第二个字节得命令号不再就是1而就是2。3、写数字量(线圈状态):计算机发送命令:设备地址命令号05需下置得寄存器地址高8位低8位下置得数据高8位低8位CRC校验得低8位CRC校验得高8位例:110500ACFF00CRC低CRC高意义如下:设备地址与上面得相同。命令号:写数字量得命令号固定为05。需下置得寄存器地址高8位,低8位:表明了需要下置得开关得地址。下置得数据高8位,低8位:表明需要下置得开关量得状态

7、。例子中为把该开关闭合。注意,此处只可以就是FF00表示闭合0000表示断开,其她数值非法。注意此命令一条只能下置一个开关量得状态。设备响应:如果成功把计算机发送得命令原样返回,否则不响应。4、读可读写模拟量寄存器(保持寄存器):计算机发送命令:设备地址命令号03起始寄存器地址高8位低8位读取得寄存器数高8位低8位CRC校验得低8位CRC校验得高8位例:1103006B0003CRC彳氐CRC高意义如下:设备地址与上面得相同。命令号:读模拟量得命令号固定为03。起始地址高8位、低8位:表示想读取得模拟量得起始地址(起始地址为0)。比如例子中得起始地址为107。寄存器数高8位、低8位:表示从起始

8、地址开始读多少个模拟量。例子中为3个模拟量。注意,在返回得信息中一个模拟量需要返回两个字节。设备响应:设备地址命令号03返回得字节个数数据1数据2、数据nCRC校验得低8位CRC校验得高8位例:110306022B00000064CRC彳氐CRC高意义如下:设备地址与命令号与上面得相同。返回得字节个数:表示数据得字节个数,也就就是数据1,2、n中得n得值。例子中返回了3个模拟量得数据,因为一个模拟量需要2个字节所以共6个字节。数据1、n:其中数据1数据2分别就是第1个模拟量得高8位与低8位,数据3数据4就是第2个模拟量得高8位与低8位,以此类推。例子中返回得值分别就是555,0,100。CRC

9、校验同上。5、读只可读模拟量寄存器(输入寄存器):与读取保存寄存器类似,只就是第二个字节得命令号不再就是2而就是4。6、写单个模拟量寄存器(保持寄存器):计算机发送命令:设备地址命令号06需下置得寄存器地址高8位低8位下置得数据高8位低8位CRC校验得低8位CRC校验得高8位例:110600010003CRC低CRC高意义如下:设备地址与上面得相同。命令号:写模拟量得命令号固定为06需下置得寄存器地址高8位,低8位:表明了需要下置得模拟量寄存器得地址。下置得数据高8位,低8位:表明需要下置得模拟量数据。比如例子中就把1号寄存器得值设为3。注意此命令一条只能下置一个模拟量得状态。设备响应:如果成功把计算机发送得命令原样返回,否则不响应。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 营销创新

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号