本章是整理知识内容,为强化知识长期更新。
以下部分超链接需要科学上网。
ModBus
modbus是一种通讯协议,是Modicon公司1979年为使用可编程逻辑控制器(PLC)通讯而发表。Modbus是工业领域通讯协议的业界标准之一,目前也我国国家标准工业通讯协议中的重要成员之一。
介绍
Modbus采用主从(Master-Salve)通信模式,仅有主设备(Master)能对传输进行初始化,从设备(Slave)根据主设备的请求进行应答。 __在主从关系中,通信总是成对发生。一个设备必须发起请求,然后等待响应 - 并且发起设备(主设备)负责发起每次交互。 通常,主设备是人机界面(HMI)或监控和数据采集(SCADA)系统,从设备是传感器、可编程逻辑控制器(PLC)或可编程自动化控制器(PAC)。 这些请求和响应的内容以及发送这些消息的网络层由协议的不同层来定义__。
- 在串行链路的主从通信中,Modbus主设备可以连接一个或N(最大为247)个从设备,主从设备之间的通信包括单播模式和广播模式。
- 在广播模式中,Modbus主设备可同时向多个从设备发送请求(设备地址0用于广播模式),从设备对广播请求不进行响应。
- 在单播模式中,主设备发送请求至某个特定的从设备(每个Modbus从设备具有唯一地址),请求的消息帧中会包含功能代码和数据,比如功能代码“01”用来读取离散量线圈的状态。从设备接到请求后,进行应答并把消息反馈主设备。
- __主设备不发送数据,从数据是不会自己发出数据的;即必须是主设备发出查询请求才能建立通讯。 __
消息帧校验方式
- ASCII消息帧:
LRC(纵向冗长检测)
- CRCi消息帧:
CRC(循环冗长检测)
ModBus是OSI模型第七层上即__应用层__报文传输协议。
ModBus支持多工业设备、包括PLC
、DSC
、变频器
、智能仪表等都在应用。
ModBus支持多种电气接口,如RS-232
、RS-485
等,还可以在各种介质上传送,如双绞线、光纤、无线。
ModBus协议完全免费;帧格式
简单,紧凑。
ModBus对线缆的要求、长度、波特率,终端电阻,接地,连接器,通信状态的LED指示,都有电气标准。
ModBus数据可以分为两大类,分别为Coil和Register,每一种数据,根据读写方式的不同,又可细分为两种(只读,读写)。
- Coli是位(bit)变量。
- Register是整型(word ,即 16 - bit )。
Primary tabels |
Object Type |
Type Of |
comments |
Discretes Input 离线输入量 |
Single bit |
只读 |
IO系统提供这种类型的数据 |
Coils 线圈 |
Single bit |
只写 |
通用应用程序改变这种类型的数据 |
Input Registers 输入寄存器 |
16-bit word |
只读 |
IO系统提供这种类型的数据 |
Holding Registers 保持寄存器 |
16-bit word |
只写 |
通用应用程序改变这种类型的数据 |