1. PLC基础认知:什么是PLC、三菱FX系列家族谱、PLC的工作原理(扫描周期)、输入输出映像区
各位同学,咱们今天正式开课。第一节课,我不打算上来就扔一堆指令表,那太枯燥了。咱们先聊聊PLC到底是个什么东西,它怎么工作的。你把这些底层逻辑搞明白了,后面学什么指令都顺手。
1.1 什么是PLC?
PLC,全称是可编程逻辑控制器。说白了,它就是一台专门为工业环境设计的“小电脑”。
你想想看,我们家里的电脑能打游戏、能办公。PLC呢?它只干一件事——控制机器。比如让电机转起来、让气缸推出去、让传送带停下来。
它跟普通电脑最大的区别在哪?
- 皮实耐造:工厂里灰尘大、温度高、震动强。普通电脑早罢工了,PLC照样跑。我记得有一次在水泥厂调试,粉尘厚得能写字,PLC愣是没出过毛病。
- 实时性高:你按下一个急停按钮,PLC必须在几毫秒内响应。电脑要是卡个几秒,机器可就撞了。
- 编程简单:不用学C++、Python。梯形图跟电路图似的,电工师傅看两眼就能上手。
核心定义:PLC是一种数字运算操作的电子系统,专为在工业环境下应用而设计。它采用可编程的存储器,用来在其内部存储执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令,并通过数字式或模拟式的输入和输出,控制各种类型的机械或生产过程。
1.2 三菱FX系列家族谱
三菱FX系列,可以说是国内工控圈的老面孔了。我入行那会儿,用的最多的就是FX1N和FX2N。现在虽然出了很多新型号,但核心思想一脉相承。
咱们按时间线捋一捋:
| 系列 | 定位 | 特点 | 我个人的看法 |
|---|---|---|---|
| FX1S | 入门级 | 体积小,I/O点数少(10-30点),适合简单控制 | 现在基本淘汰了,但做小设备偶尔还能见到 |
| FX1N | 经济型 | 扩展性好,最多128点,带定位功能 | 经典款,我当年用它做过几十台包装机 |
| FX2N | 标准型 | 功能全面,支持模拟量、通信、高速计数 | 曾经的王者,现在被FX3U取代了 |
| FX3U | 高性能型 | 运算速度快,容量大,支持以太网 | 目前主流,性价比很高,我推荐新手直接学这个 |
| FX3G | 紧凑型 | 介于FX1N和FX3U之间,带USB口 | 适合做小型设备,编程方便 |
| FX5U | 新一代 | 基于iQ-F平台,支持结构化编程 | 未来趋势,但老项目还是FX3U多 |
选型建议:如果你刚入门,我建议从FX3U开始学。为什么?因为市面上存量最大,资料最多,你遇到问题随便一搜就有答案。FX5U虽然新,但很多老工程师还在观望。
1.3 PLC的工作原理——扫描周期
好,接下来是重点中的重点。PLC是怎么工作的?它不像我们人脑可以同时想好几件事。PLC是“一根筋”,它按顺序一步一步来。
这个顺序,就叫扫描周期。
一个扫描周期分三步:
- 输入采样:PLC先把所有输入点的状态(比如按钮按没按、传感器通没通)读进来,存到内存里。
- 程序执行:CPU从上到下、从左到右执行你的梯形图程序。注意!这时候它用的数据是第一步采样进来的,不是实时变化的。
- 输出刷新:程序跑完了,把结果一次性送到输出端。比如让继电器吸合、让指示灯亮起。
然后,再回到第一步,循环往复。
关键点:整个扫描周期内,输入信号只在第一步被读取一次。程序执行过程中,即使外部输入变了,PLC也“看不见”,要等到下一个周期才更新。
为什么会这样?我举个例子你就明白了。
假设你有一个急停按钮,接在X0上。程序里写的是:如果X0=ON,就停止电机。
如果PLC是实时响应的,程序执行到一半时,你按了急停,CPU可能正在处理别的指令,等它反应过来,电机已经多转了0.1秒。这在高速设备上可能就出事故了。
所以PLC采用“批量处理”的方式:先统一拍照(输入采样),再统一计算(程序执行),最后统一行动(输出刷新)。这样保证了确定性——每个周期内的行为都是可预测的。
避坑指南:我曾经遇到一个学员,他写了个程序,用M0自锁控制一个输出。结果发现输出有时候不动作。查了半天,原来是他在程序里既用了M0的常开触点,又用了M0的常闭触点,而且顺序搞反了。因为PLC是逐行扫描的,同一个周期内,前面的指令改了M0,后面的指令读到的已经是新值了。这就是“扫描周期”带来的影响。
1.4 输入输出映像区
刚才提到了,PLC在输入采样阶段把信号存到内存里。这个内存区域,就叫输入映像区。对应的,输出刷新阶段用的区域叫输出映像区。
你可以这么理解:
- 输入映像区:相当于一个“快照”,记录着每个输入点的状态(ON或OFF)。程序只能读它,不能写它。
- 输出映像区:相当于一个“草稿本”,程序可以反复修改它。但最终只有扫描周期结束时的结果,才会真正送到物理输出点。
举个例子:
// 梯形图逻辑(示意)
// 网络1
LD X0 // 读输入映像区中的X0
OUT Y0 // 写输出映像区中的Y0
// 网络2
LD X1 // 读输入映像区中的X1
OUT Y1 // 写输出映像区中的Y1
程序执行时,X0和X1的值来自输入映像区(第一步采样的结果)。Y0和Y1的值先写到输出映像区,等程序跑完,再统一送到物理输出点。
实用技巧:有时候我们需要在一个扫描周期内多次读取同一个输入点。比如检测一个脉冲信号。这时候,你可以用中间继电器M来“锁存”这个信号。我习惯的做法是:
// 上升沿检测
LD X0
AND M0 // 上一个周期的状态
OUT M1 // 上升沿标志(仅ON一个扫描周期)
LD X0
OUT M0 // 保存当前状态,供下一周期使用
这样就能可靠地捕捉到X0从OFF变ON的瞬间,哪怕它只ON了很短的时间。
总结一下今天的内容:
- PLC是工业专用电脑,皮实、实时、易编程。
- 三菱FX系列从FX1S到FX5U,各有定位。新手推荐FX3U。
- PLC按扫描周期工作:输入采样→程序执行→输出刷新。
- 输入输出映像区是PLC的“内存快照”,程序读写的是映像区,不是物理点。
嗯,第一节课就到这里。这些概念你吃透了,后面学指令、写程序,就不会觉得PLC是个黑盒子了。下一节我们开始讲位元件和字元件,那是编程的基础砖块。