Modbus协议简介


文章目录

  • Modbus协议简介
  • 1、啥是Modbus协议?
  • 2、Modbus模型
  • 3、Modbus协议版本
  • 4、Modbus通信
  • 5、Modbus不同存储区介绍:
  • 6、Modbus协议学习三个工具:
  • 7、常用的数据类型转换:
  • 8、总结


1、啥是Modbus协议?

1.1、Modbus协议介绍:

long long ago,有一家叫Modicon的公司开发了一种真正用于工业现场的总线协议,你看Mod+bus就是这样来的!Modicon公司本着更好普及和推动Modbus基于以太网(TCP/IP)分布式应用,将Modbus所有权移交给IDA,至此成了开源协议。

modbus协议:1、定义了一个控制器能够认识和使用的消息结构,而不管他们是经过何种网络进行通信的;2、而且描述了控制器请求访问其他设备的过程,如何应答来自其他设备的请求,以及怎样侦测错误并记录;3、制定了统一的消息域的结构和内容;

说白了,modbus协议同其他协议一样,就是约定,规约!===>>>通过格式,结构或者特定功能码告诉对方你想干啥!

1.2、Modbus协议的特点:

[1] Modbus协议标准开发,公开发表且无版权要求;开源免费好用,所以应用广泛;

[2] 支持多种电气接口,包括RS232,RS485,TCP/IP等,还可以在各种介质上面传输,如双绞线,光纤,红外,无线等;

[3] Modbus协议消息帧,格式简单,紧凑,通俗易懂。用户理解和使用简单,厂商容易开发和集成,方便形成工业控制网络。

2、Modbus模型

2.1、这是一个卡位的家伙:

Modbus是OSI模型第7层上的应用层报文传输协议,这层是针对特定应用的协议,你发的邮件,远程登录,传输的文件等等都是应用层协议;这么好用,又拥有大批粉丝,那后来的TCP/IP协议自然也得支持了,这是基于TCP的Modbus。

3、Modbus协议版本

3.1、关于变种的传说:

传说在遥远的东方,有一位长着天眼的战神,天眼一开,顿时可横扫宇内,斩杀各类妖魔鬼怪,不用说了,大家知道我说的是二郎神—杨戬!杨戬的宠物,哮天犬,就是一个变种:又能咬人,又能变形,又能当宠物狗!同样Modbus在不断的演变过程中,也出现了变异,演变出许多的变种,当然这是人为造成的!

3.2、串行链路上的变种:

Modbus在串行链路上有两个变种:Modbus RTU模式和Modbus ASCII模式,至于两个变种的差异,小二已经给您罗列好了,请细细品尝下表:(RT8,ASC7)

Modbus在串行链路上两种不同模式的对比:

特性

RTU模式

ASCII模式

编码

二进制

ASCII(打印字符:0-9,a-z,A-Z)

每个字符位数

起始位:1Bit

起始位:1Bit

数据位:8Bits

数据位:7Bits

奇偶校验(可选):1位

奇偶校验(可选):1位

停止位:1或2

停止位:1或2

报文校验

CRC(循环冗余校验)

LRC(纵向冗余校验)

3.3、以太网链路上的变种:

这个真是百家齐放,以至于存在多个Modbus/TCP变种,这里不做介绍了。

4、Modbus通信

4.1、Modbus在串行链路的通用报文格式:看到了吗?帧报文之间间隔3.5个字符。

地址

功能码

数据

CRC校验

小于3.5个字符的报文间隔时间

1*byte

1*byte

N*byte

2*byte

小于3.5个字符的报文间隔时间

4.2、主/从有别:

Modbus协议是一个主/从架构的协议,就像电影长城里面的怪兽头==>>用触角发指令给其他下属怪兽==>> 同样下属怪兽==>>也可以通过触角给怪兽头进行通信==>>而且怪兽头可以同所有下属怪兽通信==>>下属怪兽只能直接同怪兽头通信===>>下属怪兽A和B不能直接通信==>>完美的modbus通讯!真怀疑张艺谋是学过modbus的!

5、Modbus不同存储区介绍:

5.1、神秘的小房子==寄存器:

您好,客官,笑傲江湖厅请,每次听到这个我都非常开心,我知道笑傲江湖厅这个神秘的小房子里面会有很多乐趣。同样的Modbus通讯中,数据都是放在寄存器中的,这就是Modbus的神秘小房子。而且还分了不同代号的好几个小房子。

【1】线圈状态小房子:

0X:输出端口,位,读/写,存储单元地址:00001-OXXXX;类比PLC中的DO;应用:电磁阀输出,LED显示灯等;

【2】离散输入状态小房子:

1X:线圈,位,只读,存储单元地址:10001-1XXXX; 类比PLC中的DI;应用:拨码开关,接近开关;

【3】保持寄存器小房子:

3X:输入寄存器,字,只读,存储单元地址:30001-3XXXX;类比PLC中的AO;应用:模拟量设定值;

【4】输入寄存器小房子:

4X:保持/输出寄存器,字,读/写,存储单元地址:40001-4XXXX;类比PLC中的AI;应用:模拟量输入;

6、Modbus协议学习三个工具:

6.1、Modbus Slave / Modbus Poll / VSPD

请自行搜索软件下载,小二不能提供帮助;

7、常用的数据类型转换:

数据类型

C#简称

数据长度(位)

数据范围


Bit

1

0-1

字节

Byte

8

0-255

有符号16位整数

Short

16

-32768-32768

无符号16位整数

UShort

16

0-65535

有符号32位整数

Int

32

-2E31-2E31

无符号32位整数

UInt

32

0-2E32

单精度浮点数

Float

32

-3.4E38-3.4E38

有符号64位整数

Long

64

-2E63-2E63

无符号64位整数

ULong

64

0-2E64

双精度浮点数

Double

64

-1.79E308-1.79E308

字符串

String

64


8、总结

(1)重点掌握Modbus协议发展历程,明白RTU和ASCII的异同,熟悉modbus工具使用;