一、通讯基础:RS232/RS485/以太网通讯原理、西门子PLC通讯协议族概览
各位工程师朋友,咱们今天聊聊通讯基础。说实话,搞自动化这么多年,我见过太多项目因为通讯问题翻车了。有的是线没接对,有的是协议没选好,还有的是压根没搞明白底层原理。嗯,咱们今天就把这些坑一个个填上。
1.1 串行通讯:RS232 与 RS485
先说说串口通讯。这东西看着老,但工业现场离不了。我去年还帮一个老客户改造产线,那设备还是RS232接口呢。
RS232:点对点的老将
RS232的特点很简单:一对一通讯。一个发送,一个接收,再加个地线,完事。
- 传输距离:15米左右,再远信号就飘了
- 速率:最高115200bps,够用但别指望太快
- 信号电平:±12V,逻辑1是-12V,逻辑0是+12V
注意:RS232的电压和TTL电平不兼容!我曾经有个学员直接把PLC的RS232口接到单片机的TX/RX上,结果烧了芯片。记住,中间要加电平转换芯片,比如MAX232。
RS485:远距离、多节点的王者
RS485就不一样了。它用差分信号传输,抗干扰能力强得多。我在一个污水处理厂的项目里,用RS485拉了1200米,一点问题没有。
关键参数:
- 最大节点数:32个(标准),用中继器可以扩展到更多
- 传输距离:1200米(9600bps时)
- 接线方式:A线(+)、B线(-)、GND
实战技巧:RS485总线两端一定要加120Ω终端电阻。为什么?因为信号在长线上会反射,不加电阻的话,数据包会乱跳。我见过一个项目,加了电阻后通讯瞬间稳定了。
1.2 以太网通讯:工业以太网的核心
现在新项目基本都用以太网了。速度快、布线简单、还能和办公网融合。但工业以太网和咱们家里的网络不太一样。
工业以太网的关键点:
- 确定性:普通以太网是"尽力而为"的,工业以太网要求"准时到达"
- 实时性:Profinet能做到1ms以内的循环周期
- 抗干扰:工业环境有电机、变频器,网线要用屏蔽双绞线
说白了,你家里的网断了可以重连,但产线上的PLC通讯断了,那可能就是停机损失几十万。
1.3 西门子PLC通讯协议族概览
西门子的通讯协议,说实话,刚开始接触时我也觉得乱。S7、Modbus、Profinet、Profibus……到底用哪个?
我个人的习惯是:先看设备,再选协议。下面这张图能帮你快速理清思路。
S7协议:西门子的亲儿子
S7协议是西门子自家的通讯协议。说白了,就是西门子设备之间聊天用的"方言"。优点是速度快、功能全,但第三方设备基本不支持。
我记得有一次,客户非要让三菱的PLC和西门子的S7-1200通讯。我折腾了半天,最后还是加了个Modbus网关才搞定。所以,同品牌设备用S7,跨品牌用Modbus,这是铁律。
Modbus:工业界的通用语言
Modbus是施耐德发明的,但现在已经是工业通讯的"普通话"了。几乎所有PLC、仪表、变频器都支持。
Modbus有两种形式:
- Modbus RTU:走RS485,适合远距离、多节点
- Modbus TCP:走以太网,速度快,但距离受限于网络
核心要点:Modbus是主从结构。主站(通常是PLC)发起请求,从站(仪表、变频器)响应。一个主站最多可以带247个从站(RTU模式)。
Profinet:实时以太网的标杆
Profinet是西门子主推的实时以太网协议。它和普通以太网的区别在于:Profinet能保证数据在指定时间内到达。
举个例子:你用Profinet控制伺服驱动器,PLC发出"走100mm"的指令,驱动器必须在1ms内收到并执行。普通以太网做不到这一点,因为数据包可能会被其他网络流量堵住。
Profinet的三种实时等级:
| 等级 | 循环时间 | 适用场景 |
|---|---|---|
| RT(实时) | 1-10ms | 分布式IO、普通控制 |
| IRT(等时实时) | 0.25-1ms | 伺服驱动、运动控制 |
| NRT(非实时) | 标准TCP/IP | 参数配置、诊断 |
避坑指南:我曾经在一个项目中,把Profinet线和普通以太网线混在一起走同一个交换机。结果Profinet的实时数据被普通数据包干扰,导致伺服驱动器偶尔丢步。后来加了专用Profinet交换机,问题才解决。记住:Profinet网络最好独立组网,或者用支持VLAN的交换机隔离。
1.4 实战选型建议
说了这么多,到底怎么选?我给大家一个简单的判断逻辑:
- 先看设备品牌:全是西门子?用S7协议,省心省力。
- 再看通讯距离:超过100米?考虑RS485+Modbus RTU。
- 最后看实时性:需要控制伺服?必须上Profinet IRT。
嗯,通讯基础就聊到这儿。记住一句话:选对协议,项目成功一半;选错协议,调试到崩溃。我这些年踩过的坑,希望你们能绕过去。
公众号:蓝海资料掘金营,微信deep3321