用途很多,各行各业都用,全名莫迪康
大部分PLC,变频器都支持modbus,
什么是协议,电脑之间的语言,例如我们中国人都能听懂汉语
什么是接口 不同的国家都能说,语言不分国界,协议不分接口,确定好协议后,可以再以太网,串口,无线网都能走
协议就是一种规约,规定和约定
Modbus就是一种可以被很多人认可能够满足人需求的现在免费的协议,是一个应用层的报文传输协议,本身就是一个比较泛的协议,包括RTU ASCII TCP,走的时候必须选择走其中一个,把他们之间的区别和联系搞好对比着学就容易理解。
【涉及的概念:存储区,分为输入线圈,输出线圈,输入寄存器,输出寄存器,线圈的话最小单位是布尔,1或者0,寄存器的话一个最先单位占16个位,也就是存布尔用线圈,存数据用寄存器。
存储区的范围,分为5位和6位,
标准地址5位Yxxxx,第一位表示存储区的代号,后四位也就是最大范围9999,最小范围是0001
扩展地址6位Yxxxxx,范围是Y00001-Y65536
】
Modbus RTU 通信协议
说中文的目的为了交流,用协议就是为了通信,
通信的本质:读写,
六种动作,也就是六种功能,每一个都有一个代号
读输出线圈 01,读输入线圈 02 ,读输出寄存器03,读输入寄存器04,
写单个输出线圈05,写单个输出寄存器06,
功能扩展:写多个输出线圈15,写多个输出寄存器16
RTU和串口没有ip这一说法
ModbusRTU/ASCII
报文格式:从站地址(设备编号)+功能码(上述所写)+数据+校验
对于读取来说:
从站地址(设备编号)【找谁?】
功能码【干嘛?】
数据【具体干什么】
校验【验证】
如报文 01 03 00 00 00 02 C4 0B
分析:
01 站地址
03 读输出寄存器
00 00 起始寄存器
00 02 寄存器长度
C4 0B CRC校验
回复:
01 站地址
03 读输出寄存器
04 字节计数
01 46 01 3B 具体四个字节
5A 59 CRC校验
协议你发的对才给你回,发的不对不回,校验不对也不回
报文里的地址是相对地址