2、通讯协议基础:OSI七层模型、TCP/IP四层模型、串行通讯(RS-232/485)与以太网通讯的基本原理
各位好,我是老张。在DCS系统里摸爬滚打了十几年,今天咱们聊聊通讯协议的基础。说实话,很多刚入行的工程师觉得协议这东西太抽象,离现场很远。但我要告诉你——通讯协议就是DCS的神经系统。你想想看,现场几百个仪表的数据,怎么准确无误地传到中控室?靠的就是这些协议。
2.1 OSI七层模型:通讯界的“通用语言”
OSI模型,全称是开放系统互连参考模型。它把通讯过程拆成了七层。我个人习惯把这七层分成两组:上面三层(应用、表示、会话)是“用户层”,下面四层(传输、网络、数据链路、物理)是“传输层”。
为什么要分层?说白了,就是为了解耦。每一层只管自己的事,出了问题也好排查。我在项目中遇到过这样的情况:现场通讯时断时续,很多人一上来就怀疑是网线坏了。其实呢,往往是应用层的报文格式不对,或者会话层的连接超时了。
OSI七层模型速记表
| 层号 | 名称 | 一句话解释 | DCS中的例子 |
|---|---|---|---|
| 7 | 应用层 | 用户直接交互的界面 | OPC、Modbus TCP |
| 6 | 表示层 | 数据格式转换、加密 | ASCII码、二进制编码 |
| 5 | 会话层 | 建立、管理、终止会话 | RPC远程调用 |
| 4 | 传输层 | 端到端的可靠传输 | TCP、UDP |
| 3 | 网络层 | 路由选择、寻址 | IP、路由器 |
| 2 | 数据链路层 | 帧封装、差错检测 | 以太网MAC、交换机 |
| 1 | 物理层 | 比特流传输、电气特性 | RS-485、网线、光纤 |
嗯,这里要注意:OSI模型是个理论框架,实际应用中很少完全照搬。但它的分层思想,是所有通讯协议的基础。
2.2 TCP/IP四层模型:互联网的“实战派”
TCP/IP模型比OSI更精简,只有四层。它把OSI的上三层合并成了“应用层”,把下面两层合并成了“网络接口层”。
为什么会这样?因为TCP/IP是实战中长出来的,不是理论推导出来的。我记得当年调试一个DCS系统,上位机用的是OPC DA,下位机是PLC。通讯总是不稳定。排查了半天,发现是TCP窗口大小设置不合理。你想想看,如果不懂传输层,这种问题根本无从下手。
避坑指南
我曾经在项目里遇到过:工程师把Modbus TCP和Modbus RTU混为一谈。Modbus TCP走的是TCP/IP协议栈,端口502;Modbus RTU走的是串口。两者报文格式都不一样。千万别搞混了。
2.3 串行通讯:RS-232与RS-485
串行通讯,说白了就是一根线传数据,按位(bit)一个一个传。虽然现在以太网很普及,但在DCS现场,RS-485依然是主力。为什么?因为抗干扰能力强,传输距离远。
2.3.1 RS-232:点对点的“老前辈”
RS-232是最早的串行标准之一。它的特点是:
- 全双工:可以同时发送和接收
- 传输距离短:一般不超过15米
- 点对点:只能连两个设备
- 电压摆幅大:±12V左右,抗干扰还行
我在早期项目中用过RS-232连接PLC和上位机。说实话,距离一长就不行,而且只能连一台设备。后来基本都换成RS-485了。
2.3.2 RS-485:多站通讯的“主力军”
RS-485是DCS现场最常用的串行标准。它的优势很明显:
- 差分信号传输:抗共模干扰能力强
- 传输距离远:最远可达1200米
- 支持多站:一条总线上最多挂32个节点(标准)
- 半双工:同一时刻只能发送或接收
重要提醒
RS-485总线必须加终端电阻!我见过太多现场因为没加终端电阻,导致信号反射、通讯失败的案例。终端电阻一般取120Ω,接在总线两端。
串行通讯的参数设置也很关键。波特率、数据位、停止位、校验位,这四个参数必须一致,否则通讯不上。我习惯用9600波特率、8数据位、1停止位、无校验——这是最通用的配置。
2.4 以太网通讯:DCS的“高速公路”
以太网现在已经是DCS系统的主流通讯方式了。它基于CSMA/CD(载波监听多点接入/碰撞检测)机制。说白了,就是“先听后说,边说边听”。
以太网的帧结构是这样的:
前导码(7B) + 帧起始定界符(1B) + 目标MAC(6B) + 源MAC(6B) + 类型/长度(2B) + 数据(46-1500B) + FCS(4B)
嗯,这里要注意:以太网的最小帧长是64字节,最大是1518字节。如果数据不够46字节,要填充。为什么?因为要保证碰撞检测的有效性。
在DCS系统中,以太网通常采用工业以太网交换机,支持环网冗余(如RSTP、MRP)。我记得有一次,一个化工厂的DCS网络因为交换机故障导致整个系统瘫痪。后来改成了环网拓扑,故障恢复时间从几分钟缩短到了几十毫秒。
串行通讯 vs 以太网通讯
| 对比项 | 串行通讯(RS-485) | 以太网通讯 |
|---|---|---|
| 传输速率 | 一般≤115.2kbps | 10/100/1000Mbps |
| 传输距离 | 最远1200米 | 100米(双绞线),更远需光纤 |
| 节点数量 | 最多32个(标准) | 理论上无限制 |
| 抗干扰能力 | 强(差分信号) | 中等(需屏蔽) |
| 实时性 | 好(确定性) | 一般(需工业以太网协议) |
| 成本 | 低 | 较高 |
最后说一句:没有最好的协议,只有最合适的协议。在DCS现场,往往是多种协议共存。RS-485用于现场仪表采集,以太网用于控制器和上位机通讯。你想想看,如果全用以太网,现场几百个仪表都拉网线,成本得多高?
好了,这一章就到这里。下一章我们聊聊Modbus协议——DCS系统里最常用的通讯协议之一。