第2章 CPU模块详解:PLC的大脑与心脏
各位同学,今天我们来聊聊PLC最核心的部件——CPU模块。说白了,CPU就是PLC的大脑,它负责执行程序、处理数据、协调各个模块工作。我做了十几年工控,见过太多因为CPU选型不当导致的惨案,所以这一章咱们得好好掰扯掰扯。
2.1 CPU到底在干什么?
CPU的作用,我习惯用三个词概括:取指、译码、执行。它从内存里把指令一条条取出来,翻译成机器能懂的语言,然后驱动相应的硬件去干活。
具体来说,CPU干这几件事:
- 逻辑运算:与、或、非、异或这些基本操作
- 算术运算:加减乘除、比较大小
- 数据传送:把数据从输入模块搬到内存,再从内存搬到输出模块
- 时序控制:管理扫描周期,确保程序按顺序执行
- 通信管理:和编程软件、HMI、其他PLC交换数据
嗯,这里要注意一点:CPU不直接控制外部设备。它只负责算,算完了把结果告诉输出模块,输出模块再去驱动继电器、电磁阀。这个分工要搞清楚。
2.2 处理速度——别被参数忽悠了
很多厂家宣传CPU速度时,喜欢报一个很漂亮的数字,比如「位指令执行时间0.01μs」。但你想想看,实际项目里哪有那么多位指令给你跑?
我给大家拆解一下:
| 指令类型 | 典型执行时间 | 说明 |
|---|---|---|
| 位指令(LD、AND、OR) | 0.01~0.1 μs | 最快,但实际占比不高 |
| 字指令(MOV、ADD) | 0.1~1 μs | 中等速度,数据处理常用 |
| 浮点运算 | 1~10 μs | 慢,PID运算、数学计算会用到 |
| 字符串处理 | 10~100 μs | 最慢,能不用尽量不用 |
我在项目中遇到过一件事:某设备厂家选了一款号称「0.02μs位指令」的PLC,结果现场跑一个简单的PID控制,扫描周期愣是到了50ms。为什么?因为PID里全是浮点运算和乘法指令,位指令那点速度根本体现不出来。
2.3 内存类型——RAM、ROM、Flash各司其职
CPU里的内存,说白了就三种:
- RAM(随机存取存储器):掉电就丢,用来存运行时的数据。比如定时器当前值、计数器当前值、中间变量。我习惯叫它「工作台」。
- ROM(只读存储器):掉电不丢,但写不进去。用来存固件、操作系统。一般用户碰不到。
- Flash(闪存):掉电不丢,也能写。用来存用户程序、参数设置、配方数据。相当于「硬盘」。
这里有个坑,我提醒一下:有些低端PLC的RAM很小,比如只有4KB。你写程序时稍微多用几个数组、字符串,RAM就爆了。程序下载时没问题,一运行就报错。我曾经吃过这个亏,一个简单的数据记录功能,因为RAM不够,折腾了两天才找到原因。
2.4 选型注意事项——别光看价格
CPU选型,我总结了四个字:够用就好。但「够用」怎么定义?
2.4.1 冗余需求
如果你做的是关键设备——比如化工反应釜、发电机组、电梯——那冗余是必须的。冗余说白了就是双CPU,一个干活,一个待命。主CPU挂了,备用CPU无缝切换。
冗余分两种:
- 热备冗余:两个CPU同时运行,数据实时同步。切换时间<50ms,基本感觉不到。
- 冷备冗余:备用CPU不运行,主CPU挂了才启动。切换时间几秒到几十秒,适合非关键场合。
我个人习惯:只要客户说「不能停」,我就推荐热备。虽然贵一点,但省心。有一次在化工厂,主CPU因为电源模块故障挂了,热备CPU自动顶上,操作员都没发现。要是冷备,反应釜可能就超温了。
2.4.2 运算能力
运算能力不是看CPU主频,而是看指令集和处理架构。
- 小型项目:开关量控制为主,选8位或16位CPU就够了。比如传送带、简单包装机。
- 中型项目:有模拟量、PID、简单通信,选32位CPU。比如恒压供水、暖通空调。
- 大型项目:有运动控制、视觉系统、复杂通信,选64位或带协处理器的CPU。比如机器人、数控机床。
你想想看,一个简单的启停控制,用32位CPU和8位CPU,效果一样。但如果你要做高速计数、电子凸轮,8位CPU根本跑不动。别为了省钱选个不够用的,后面改起来更贵。
- CPU是PLC的大脑,负责执行程序、处理数据。
- 处理速度要看混合指令,别被位指令速度忽悠。
- 内存分RAM、ROM、Flash,选型时注意程序区和数据区大小。
- 冗余看需求,运算能力看项目规模。
好了,这一章就到这里。下一章我们讲I/O模块,那是PLC和外部设备打交道的「手脚」。到时候我会分享一些接线上的坑,保证你们听了不亏。