Modbus是一种串行通讯协议,是Modicon公司(现在的施耐德电气 Schneider Electric) 于1979年为使用可编程逻辑控制器(PLC)通信而发表。Modbus已经成为工业领域通信协议事实上的业界标准,并且现在是工业电子设备之间常见的连接方式。
Modbus在工业环境下很流行,因为它是公开发布而免版税的。它是为工业应用开发的,与其他标准相比,它相对易于部署和维护,除了要传输的数据格式的大小外,几乎没有其他限制。Modbus使用RS485作为其物理层。
Modbus支持连接到同一网络的许多设备之间进行通信,例如,一个测量温度和湿度并将结果发送给服务器的系统中,Modbus通常用于在监控和数据采集(SCADA)系统中将计算机或服务器与远程终端单元(RTU)连接。许多数据类型是根据梯形逻辑(一种通过基于继电器逻辑电路图的图形来代表程序的一种编程语言)的行业用法机及其在驱动继电器中的用途来命名的: 单位物理输出称为线圈,单位物理输入称为离散输入或触点。
Modbus协议在RS232,RS422和RS485之上运行。有针对Modbus帧的基于IP链路层定义的 Modbus/TCP规范。Modbus协议基于Request(请求)/Response(响应)模型。
Modbus通信协议的类型串行端口和以太网存在多种版本的Modbus协议,最常见的是:
Modbus RTU
Modbus ASCII
Modbus TCP
Modbus Plus
Modicon发布了基于主从架构的多点网络的Modbus通信接口。Modbus节点之间的通信通过发送请求和读取响应类型消息来实现。
Modbus协议及其物理媒体Modbus是描述消息通信对话框的开放标准。
Modbus通过多种类型的物理介质进行通信,例如:
串行RS-232
串行RS-485
串行RS-422
以太网
最初的Modbus接口在RS-232串行通信上运行,但是大多数后来的Modbus实现使用RS-485,因为它允许:
距离更长。
更高的速度。
单个多点网络中可能有多个设备。
使用两线制通过串行RS-485物理介质进行主从Modbus通信 发送 并接收连接。
在简单的接口(如RS232或RS485)上,Modbus消息以纯格式通过网络发送,并且该网络将专用于Modbus通信。
但是,如果您的网络需要使用功能更广泛的网络系统(例如以太网上的TCP / IP)使用多个异构设备,则Modbus消息将以此物理接口规定的格式嵌入到以太网数据包中。
因此,在这种情况下,Modbus和其他类型的混合协议可以同时存在于同一物理接口上。
Modbus消息结构简介Modbus的主要消息结构是点对点。Modbus能够在点对点和多点网络上运行。
Modbus设备使用Master-Slave(Ethernet称为Client-Server)技术进行通信,其中只有一个设备(Master 或Server)可以请求数据(称为查询)。
其他设备(Slaves或Clients)通过将请求的数据提供给主服务器或执行查询中请求的操作来进行响应。
从站是任何外围设备,例如I / O传感器,阀门,网络驱动器或其他测量类型的设备,它们处理信息并使用Modbus将其响应消息发送到主设备。
主机可以寻址单个从机或向所有从机发起广播消息。从站将分别对所有寻址到它们的消息查询返回响应,但不响应广播消息。
从站不会自行回复消息,而仅响应从主站发送的消息查询。
对于使用以太网的协议(例如Modbus TCP),任何设备都可以发出Modbus命令,因此所有设备都可以充当主设备,尽管通常只有一个设备充当主设备。