一、Modbus TCP
Modbus TCP是Modbus结合了TCP/IP的协议,面向可靠连接。Modbus TCP通过以太网在站点之间传送Modbus 报文,它与Modbus RTU的区别如下:
Modbus RTU | Modbus TCP | |
---|---|---|
物理介质 | rs232/485串行总线 | 以太网总线 |
优势 | 使用差分信号传输,具有较好的抗干扰能力 | 使用以太网通信,速度较快 |
网络拓扑 | 适用于点对点或多点到点的拓扑结构,每个设备通过串口直接连接到主站 | 适用于以太网的星型或总线型拓扑结构,设备通过以太网交换机或路由器连接到主站 |
Modbus TCP通用消息帧格式如下:
可看出TCP报文相较于RTU报文,多了MBAP报文头,少了CRC校验。这是因为TCP本身具有校验和错误检测的功能,通过序列号、确认应答和重传机制来确保数据的可靠传输。如果报文出错,TCP会自动进行重传,确保数据的正确性。
二、双层网络
采用集中控制的双层网络架构如图所示,PC作为TCP主站通过以太网总线控制各个支路的设备,通过路由器转换为RTU命令控制各个Slave。这样的好处是以太网传输快速且容量高,而rs485、232作为支路较为经济且受设备数量限制较小。
三、常见问题
1.什么是PLC,PLC和单片机有什么区别
PLC:可编程逻辑控制器(Programmable Logic Controller),专门用于工业自动化领域。它的主要功能是对生产过程进行控制和监控,以实现对工业生产过程的自动化控制。PLC采用一种可编程的存储器,在其内部存储执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令,通过数字式或模拟式的输入输出来控制各种类型的机械设备或生产过程。
单片机(Microcontrollers,MCU)又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。
plc和单片机的区别:
1.结构不同,PLC是建立在单片机之上的产品,而单片机是一种集成电路。
2.用途不同,单片机可以构成各种各样的应用系统,从微型、小型到中型、大型都可;而PLC主要用于工控领域,是单片机应用系统的一个特例。
3.“可编程”的含义不同,PLC的可编程是对开关量、模拟量的控制,一般是使用组态软件来仿真以及编写控制逻辑,而单片机则是用C语言或汇编来实现对操作系统及芯片底层的直接操纵。
2.Modbus协议和RS485、RS232有什么区别
Modbus是一种应用层的软件协议,必须要有硬件为实现平台,而不同的硬件平台具有不同的电气特性和连接方式。
RS485是半双工的,RS232是全双工的,仅仅只是一个物理接口,简单的说就是硬件。RS-485总线只是规定了接口的电气标准,并没有规定应用层的通信协议,所以很多公司都是自定义基于RS-485总线的应用层通讯协议。而modbus通信协议则是基于RS-485总线上的标准应用层的协议。
Modbus协议的应用主要有三种:Modbus RTU、Modbus ASCII 和Modbus TCP三种,其中Modbus
RTU与Modbus ASCII均为支持RS485总线的通信协议,Modbus TCP是支持以太网的通信协议。因此一般而言,大家说的基于串口通信的Modbus通信协议都是指Modbus RTU通信协议。
协议分为硬件协议和软件协议,而通讯协议属于软件协议,Modbus是应用层的通讯协议,主要是规定了发送和接收报文的格式。而RS232、485是物理层的串行接口,也可以说是硬件协议,它可以支持几十种的通讯协议,Modbus只是其中通讯协议的一种。