《串口通讯modbus协议学习笔记.pdf》由会员分享,可在线阅读,更多相关《串口通讯modbus协议学习笔记.pdf(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、串口通讯串口通讯 modbusmodbus 协议协议串口通讯常用的有 RS232 和 RS485RS232全双工,电缆最长 15.2m发送 TXD;接收 RXD逻辑 1(MARK)=-3V-15V逻辑 0(SPACE)=+3+15VRS485半双工,电缆最长 1200m线制:两线,A、B多台设备连接:所有 A 并联,所有 B 并联RS485RS485 转转 USBUSB。安装完驱动后会多一个串口(COM 口) ,可在 属性=高级 中修改串口号 COM N。串口(及 modbus)配置波特率baud rate4800、96009600、19200、38400、57600串口奇偶校验parity
2、Check无,奇检验,偶校验串口数据位databits7 或 8 8 位串口停止位stopbits1 1 或者 2 位串口双工模式半双工或者全双工(带 RTS/CTS 控制)串口站号Slave ID1 1(0 为主站)modbus协议ProtocolModbus RTUmodbus主从状态从从、主modbusResponse超时1 秒modbusTimeout延时200 毫秒modbus停止位有校验时 1Bit,无校验时 2Bit其他TTL(晶体管-晶体管逻辑电平)电平信号。+5V 等价于逻辑“1”,0V 等价于逻辑“0”modbus-RTUmodbus-RTU 协议协议RS485 是硬件,m
3、odbus-RTU是协议。一般 RS485 上跑的也就是 modbus-RTU,所以被混为一谈。MODBUS 协议在一根通讯线上使用主从应答式连接(半双工)主机查询,从机回应modbus-RTUmodbus-RTU 帧结构帧结构地址函数数据1 字节1 字节N 字节一般主机查询12345设备地功能编地址高地址低数据高址码字节字节字节1 字节1 字节1 字节1 字节1 字节地址:1247常用功能码功能功能位数操作IO码0102030405061516读取线圈状态读取输入状态读取保持寄存器读取输入寄存器强置单线圈1 位1 位16 位整型16 位整型位读读读读写写写写DODIAOAIDOAODOAO校
4、验码2 字节6数据低字节1 字节7CRC 高字节1 字节8CRC 低字节1 字节说明取得一组逻辑线圈的当前状态取得一组开关输入的当前状态在一个或多个保持寄存器中取得当前的二进制值在一个或多个输入寄存器中取得当前的二进制值强置一个逻辑线圈的通断状态把具体二进值装入一个保持寄存器强置一串连续逻辑线圈的通断把具体的二进制值装入一串连续的保持寄存器预置单寄存器16 位整型强置多线圈位预置多寄存器16 位整型数据设备不同,数据位数不同起始地址:0001默认情况下先发地位,后发高位错误校验(CRC)用串口调试软件计算有的通讯 CRC 高字节在前,有的通讯 CRC 高字节在后2 2 路继电器模块读写实例路继
5、电器模块读写实例参见参见 modbusmodbus 协议规定协议规定读继电器输出数据:01数据地设备地址功能码址高位 8位010100数据地址低位 8位00读取数读取数CRC 低CRC 高量量字节字节高 8 位低 8 位0002BDCB备注读取00、 01状态返回 DATA16 进制2 进制低 8 位000000都不亮01000100 亮02001001 亮03001100、01 都亮读输入数据:02数据地数据地读取数读取数设备地址址CRC 低CRC 高功能码量量备注址高位 8低位 8字节字节高 8 位低 8 位位位010200000002F9CB返回类似上条写继电器输出数据:05设备功能数据
6、地址数据地址内容内容CRCCRC备注地址码高位 8 位低位 8 位高 8 位低 8 位低高01050000FF008C3A开 0001050001FF008C3A开 01010500000000CDCA关 000105000100009C0A关 01数据地址:00、01内容中:0000 为关,FF00 为开CRC 为低字节在前浙江奥新仪表的串口通讯是自定义的 RS485“通讯协议”主机查询2a0100起始位地址功能码00 瞬时流量04 正向总量从机回应2e结束位01从机地址00命令个位十位D0百位千位D1万位十万位D2D3D4D5校验和0AAH结束标志联合站联合站 modbusmodbus 卡卡配置在 84 页主机查询命令在 39 页EnableIntAddress数据地址Count读取数据个数16 位Device从站地址Func函数1013