十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

ModBus总线协议

ModBus总线协议 ModBus分为 ModBus RTC 和 ModBus ASCII 和 ModBus TCPModBus RTCModBus RTC ModeBus RemoteTerminal Unit (远程终端单元)他的链路主要是依赖串口通讯像RS485,RS232在通讯过程中只允许主设备向从设备发送请求不允许从设备主动向主设备发送请求一 寄存器支持ModBus 协议的设备一般都有以下几种寄存器1.线圈寄存器线圈寄存器是以比特bite为单位每一个线圈有且仅有0和1两种状态线圈是可读可写的所以外部设备既可以读线圈寄存器又可以写线圈寄存器。2.离散输入寄存器离散输入寄存器也是以比特bite为单位每一个线圈有且仅有0和1两种状态离散输入寄存器是只读不可写的所以外部设备既只能读离散输入寄存器不可以写离散输入寄存器。3.保持寄存器保持寄存器是以字word为单位每个保持寄存器有16个比特bite保持寄存器是可读可写的所以外部设备既可以读线圈寄存器的值又可以写保持寄存器的值。4.输入寄存器输入寄存器也是以字word为单位每个保持寄存器有16个比特bite输入寄存器是只读不可写的所以外部设备既只能输入寄存器的值不可以写输入寄存器的值。总结表一 四种寄存器的操作寄存器名线圈寄存器离散输入寄存器保持寄存器输入寄存器[操作码][操作名]01 读线圈02 读离散输入03 读保持寄存器04 读输入寄存器05 写单个线圈06 写单个保持寄存器15 写多个线圈16 写多个保持寄存器二 报文格式首先每个从站都有一个从站地址这个从站地址就相当于从站的身份ID有了ID之后主设备才能对这个从设备发起请求1.报文结构从站地址功能码表一的编号数据校验码1字节byte1字节byte每种操作的数据各不同长度也是非固定的n byte2 byteCRC校验码核心用途是在数据传输过程中是否发生错误2.各个操作详细报文结构01 读线圈请求主→从从站地址1 byte功能码1 byte线圈起始地址2 byte线圈数量2 byteCRC校验码2 byte响应从→主从站地址1 byte功能码1 byte字节数1 byte线圈值n byteCRC校验码2 byte02 读离散输入请求主→从从站地址1 byte功能码1 byte离散输入起始地址2 byte离散输入数量2 byteCRC校验码2 byte响应从→主从站地址1 byte功能码1 byte字节数1 byte离散输入值n byteCRC校验码2 byte03 读保持寄存器请求主→从从站地址1 byte功能码1 byte保持寄存器起始地址2 byte保持寄存器数量2 byteCRC校验码2 byte响应从→主从站地址1 byte功能码1 byte字节数1 byte保持寄存器值n byteCRC校验码2 byte04 读输入寄存器请求主→从从站地址1 byte功能码1 byte输入寄存器起始地址2 byte输入寄存器数量2 byteCRC校验码2 byte响应从→主从站地址1 byte功能码1 byte字节数1 byte输入寄存器值n byteCRC校验码2 byte05 写单个线圈请求主→从从站地址1 byte功能码1 byte线圈地址2 byte线圈写入值2 byteCRC校验码2 byte响应从→主从站地址1 byte功能码1 byte线圈地址2 byte线圈写入值2 byteCRC校验码2 byte06 写单个保持寄存器请求主→从从站地址1 byte功能码1 byte线圈地址2 byte线圈写入值2 byteCRC校验码2 byte响应从→主从站地址1 byte功能码1 byte线圈地址2 byte线圈写入值2 byteCRC校验码2 byte15 写多个线圈请求主→从从站地址1 byte功能码1 byte线圈起始地址2 byte线圈数量2 byte字节数1 byte线圈写入值n byteCRC校验码2 byte响应从→主从站地址1 byte功能码1 byte线圈起始地址2 byte线圈数量2 byteCRC校验码2 byte16 写多个保持寄存器请求主→从从站地址1 byte功能码1 byte保持寄存器起始地址2 byte保持寄存器数量2 byte字节数1 byte保持寄存器写入值n byteCRC校验码2 byte响应从→主从站地址1 byte功能码1 byte保持寄存器起始地址2 byte保持寄存器数量2 byteCRC校验码2 byte
返回列表