一、PLC 内存的作用
PLC(可编程逻辑控制器)的核心就是“存储与处理逻辑”。
它的内存既要保存用户写的程序,还要存储运行时的输入、输出、变量和各种中间数据。
可以大致分为三类存储内容:
- 系统程序(PLC 自带的操作系统和固件)。
- 用户程序(你写的梯形图、功能块、指令等)。
- 数据存储(输入输出状态、变量、寄存器等)。
二、PLC 内存的主要类型
不同品牌(如西门子、三菱、欧姆龙、AB)在叫法上略有不同,但逻辑大体一致。下面从功能角度分类:
1. 程序存储区
- 作用:存放用户编写的控制程序(梯形图、指令、功能块等)。
- 特点:
- 多为非易失性存储器(断电不丢失,如 Flash ROM、EEPROM)。
- 容量决定了你能写多复杂的程序。
- 举例:西门子 S7-1200 的程序就存储在加载存储器里。
2. 系统存储区
- 作用:存放 PLC 固件(操作系统、诊断功能)。
- 特点:
- 厂商预设,不允许用户修改。
- 断电不丢失。
- 举例:三菱 FX 系列 CPU 内自带的系统区。
3. 数据存储区
运行时数据会放在这里,主要包括:
(1)I/O 映像区
- 输入映像寄存器 (I)
- 存放采样到的输入点状态(开关量/模拟量)。
- 每个扫描周期开始时由物理输入刷新。
- 输出映像寄存器 (Q / O)
- 存放用户程序运算后的结果。
- 每个扫描周期结束时刷新到实际输出端子。👉 相当于一个“缓存”,避免程序直接操作硬件端口。
(2)内部存储器 / 辅助继电器 (M)
- 作用:存放中间结果、标志位,相当于虚拟继电器。
- 一部分掉电保持,一部分不保持(具体看设置)。
(3)定时器/计数器存储区 (T / C)
- 存放定时器当前值、计数器当前值和状态位。
- 部分可掉电保持(保持型),部分断电清零(非保持型)。
(4)数据寄存器 (D / V / DB)
- 存放用户变量、运算数据、参数等。
- 容量较大,可分:
- 掉电保持区(存配方、工艺参数)。
- 非保持区(只存运行时临时值)。
(5)特殊寄存器 (S / SM / SD 等)
- 存放系统状态信息:如 PLC 运行模式、错误代码、时钟等。
- 只读或部分可写。
4. 保持与非保持内存
PLC 的数据存储区通常区分为:
- 保持性内存(Retentive Memory):断电后数据仍保存(用电池或非易失性存储器)。适合存放配方、累计值。
- 非保持性内存(Volatile Memory):断电丢失。适合临时变量。
三、不同厂商常见命名对比
功能/存储区 | 三菱 PLC | 西门子 S7 | 欧姆龙 PLC | AB PLC |
---|---|---|---|---|
输入映像区 | X | I | IR | I |
输出映像区 | Y | Q | ODR | O |
内部继电器 | M | M | W/H/CIO | B |
定时器 | T | T | TIM | T |
计数器 | C | C | CNT | C |
数据寄存器 | D | DB/MD | DM | N/F |
四、总结
- 程序存储区:存放控制逻辑,断电不丢。
- 系统存储区:厂商固化的 OS,不可改。
- 数据存储区:最重要,包含输入映像、输出映像、中间继电器、定时器、计数器、数据寄存器等。
- 保持/非保持区:决定了断电后是否保留数据。

原创文章,作者:梦南圆,如若转载,请注明出处:http://mnyuan.cn/archives/18415