系统架构设计:整体架构规划、控制层级划分、网络拓扑设计、硬件选型原则

好,咱们进入第二章。系统架构设计。

说实话,很多项目从需求到交付,最后出问题,十有八九是架构阶段埋的雷。我见过太多人一上来就选PLC、画图纸,结果做到一半发现通讯带宽不够,或者某个站点根本没法扩展。嗯,架构设计这事儿,急不得。

一、整体架构规划:先画大图,再抠细节

我个人习惯,拿到需求清单后,第一件事不是翻产品手册。我会先画一张“系统大图”。这张图不涉及具体型号,只表达三个东西:

  • 数据流:现场数据怎么往上走?走到哪一层?
  • 控制流:指令从哪下发?中间经过哪些节点?
  • 物理边界:哪些设备在同一个车间?哪些在异地?

举个例子。我曾经做一个汽车焊装线项目,客户要求整线节拍45秒。如果按传统做法,每个工位独立控制,最后数据汇总到中控室。但你会发现,工位之间的互锁信号太多,PLC之间通讯延迟一累积,节拍根本保不住。

所以那次我改成了“区域控制器+子站”的模式。把整线分成4个区域,每个区域一个主控制器,区域内部用高速背板总线,区域之间用工业以太网。说白了,就是让数据尽量在本地消化,别什么都往中控跑。

核心原则:

  • 高实时性控制(毫秒级)→ 本地闭环
  • 低实时性数据(秒级或以上)→ 上传到中控或MES
  • 跨区域互锁信号 → 尽量通过硬接线或专用实时网络

二、控制层级划分:ISA-95模型的落地

搞工业自动化的,没人不知道ISA-95。但怎么落地?我见过最典型的错误,是把ERP的排产指令直接发给PLC。你想想看,ERP一个订单变更,PLC那边可能正在跑一个关键动作,突然收到一个“停止”指令,不出事故才怪。

我个人习惯,把控制层级分成四层:

层级 名称 典型设备 响应时间
L4 企业管理层 ERP、MES服务器 分钟级~小时级
L3 车间管理层 SCADA、历史数据库 秒级
L2 过程控制层 PLC、DCS、IPC 毫秒级~百毫秒级
L1 现场设备层 传感器、执行器、变频器 微秒级~毫秒级

这里要注意,L2和L1之间是硬实时关系。我曾经在一个项目中,把变频器的启停指令通过OPC UA从L3下发,结果每次启动都有200ms以上的延迟,导致传送带上的工件位置对不准。后来改成了L2直接通过现场总线控制,问题才解决。

避坑指南:我曾经犯过一个错,把安全PLC和标准PLC混在同一层。安全信号(比如急停、光幕)必须独立于常规控制网络,最好用专用的安全总线(如PROFIsafe、CIP Safety)。别图省事走同一个网段,安全认证过不了是小事,出事故就是大事。

二、网络拓扑设计:星型、环型还是线型?

网络拓扑这块,没有绝对的好坏,只有合不合适。我简单说说几种常见结构的适用场景。

1. 星型拓扑

最常用,也最简单。所有设备都连到一台交换机上。优点是故障隔离好,一个设备坏了不影响其他。缺点是交换机挂了,整个网络瘫痪。所以关键场合要用冗余交换机。

2. 环型拓扑

工业以太网里很常见,比如PROFINET的MRP环。优点是冗余性好,一根线断了,数据还能从另一条路走。缺点是环上设备多了,延迟会累积。我记得有个项目,环上挂了30多个IO站,结果环恢复时间超过了200ms,导致部分设备掉线。后来拆成了两个小环。

3. 线型拓扑(菊花链)

成本最低,适合设备分布很长的场景,比如一条几百米的传送带。但缺点也很明显:中间一个设备断电,后面的全断。所以只建议用在非关键场合。

我的建议:对于关键生产线,用双环冗余。一个主环,一个备用环,交换机支持DLR(Device Level Ring)协议。这样即使主环断了,备用环能在10ms内接管。嗯,代价是交换机贵一些,但比起停产损失,这点钱不算什么。

四、硬件选型原则:够用、可靠、可扩展

选型这件事,我踩过的坑比走过的路还多。总结下来就三个词:够用、可靠、可扩展

1. 够用

别盲目追求高端。比如一个简单的包装机,用小型PLC(如西门子S7-1200或三菱FX5U)就够了,非要上S7-1500,成本翻倍不说,调试周期也长。反过来,一个需要高速飞拍定位的系统,用普通PLC的IO扫描周期根本跟不上,必须用运动控制器或专用视觉控制器。

2. 可靠

工业环境不是办公室。温度、湿度、振动、电磁干扰,这些都要考虑。我见过有人把商用交换机放在电柜里,结果夏天一过,交换机频繁重启。后来换成工业级交换机,问题解决。选型时注意几个参数:

  • 防护等级:电柜内IP20,现场IP65以上
  • 工作温度:至少0~55℃,最好-20~70℃
  • EMC抗扰度:符合IEC 61000-4标准

3. 可扩展

项目交付不是终点。客户过两年可能要加几个工位、换几台设备。所以选型时,PLC的IO点数留20%~30%余量,交换机端口数留4~8个空口,电源功率留30%余量。我曾经因为没留余量,客户后来加了一个视觉系统,结果发现PLC背板总线带宽不够,只能换控制器,那叫一个折腾。

硬件选型检查清单(我每次必看):

  1. CPU处理速度是否满足最大扫描周期要求?
  2. 通讯接口类型和数量是否匹配?(Profinet/EtherCAT/Modbus TCP等)
  3. IO模块是否支持热插拔?(关键场合必须支持)
  4. 电源模块是否有冗余输入?(双路供电更安全)
  5. 所有设备是否在同一生态内?(比如都用西门子,或者都用倍福,混搭容易出兼容性问题)

好了,系统架构设计这块,核心就是这些。说白了,架构设计就是做选择题——在成本、性能、可靠性之间找到平衡点。没有完美的方案,只有最适合当前项目的方案。下一章咱们聊控制程序开发,到时候我会讲讲怎么把架构设计落地成具体的代码结构。