西门子plc编程各寄存器的作用

发布时间:2025-11-21
来源:
点击:22

学习plc编程不是一件容易的事,因为需要很多的理论知识和实践经验。为了更容易的理解理论知识,

 

现在讲解理论知识中的各寄存器的作用和原理,用比喻的形式来讲解西门子plc各寄存器的原理和作用。以西门子PLC(以S7-200/300/1200/1500系列为例)中的各种寄存器。

 

想象一下,PLC就像一座现代化的“自动化城堡”的大脑。 这个大脑要指挥整个城堡的运行(设备启停)、感知外部环境(传感器信号)、并记录自己的工作状态。而寄存器,就是这个大脑中不同功能的“记忆单元”或“工作区域”。

 

---

 

1. 过程映像区:城堡的“中央指挥厅”与“实时汇报厅”

 

在城堡的核心,有两个最重要的大厅:

 

· I区(输入映像寄存器): “实时汇报厅”

  · 原理与作用: 所有站岗的哨兵(输入传感器,如按钮、限位开关)在每个扫描周期开始时,会把他们看到、听到的情况(比如:东门有情况!西门正常!)统一、快速地汇报到这个大厅。PLC的CPU(城堡总督)不会直接去问每个哨兵,而是直接来这个大厅查阅“汇总报告”。这样做避免了因为哨兵分散汇报而导致的信息混乱和延迟。

  

  · 特点: 只读。总督只能看报告,不能修改报告。报告在每个扫描周期开始时统一刷新一次。

  

  · 比喻: 就像每天早晨的晨会,所有部门把昨天的情况汇总成报告,放在总督桌上。总督在今天一整天的工作中,都基于这份“晨会报告”来决策,而不会管晨会后外面发生的实时变化(那些变化会在明天的晨会报告中体现)。

 

· Q区(输出映像寄存器): “中央指挥厅”

  · 原理与作用: 总督根据“汇报厅”(I区)的情报,做出决策后,会把所有命令(比如:打开A门,关闭B灯)写在这个大厅的黑板上。在一个扫描周期结束时,所有执行部门(输出单元,如接触器、指示灯)会统一来查看黑板,然后同时去执行命令。

  

  · 特点: 可读可写。总督可以在这里写下命令,也可以查看自己下过什么命令。命令在每个扫描周期结束时统一发布一次。

  

  · 比喻: 就像总督把一天的工作指令写在一个命令板上。所有士兵和其他人会在一项工作(扫描周期)结束时,一齐来看命令板,然后各自行动,保证了行动的同步性和一致性。

 

为什么这样使用?

使用过程映像区(I区和Q区)就像在公司里使用“邮件系统”而不是“随时敲门”。它实现了解耦和同步。CPU不用疲于应付每个传感器和执行器的实时打扰,可以专注进行逻辑运算,所有输入输出变得整齐划一,程序稳定性和效率大大提高。

 

---

 

2. M寄存器:总督的“私人便签本”

 

· 原理与作用: 这是CPU内部一块完全自由的内存区,不直接与外部输入输出挂钩。总督在思考和处理复杂问题时,需要用它在上面写写画画,记录中间结果、标志位、临时数据等。

  

· 比如:“如果A按钮按下且B传感器触发,那么我稍后要去打开C电机”。这里的“且”的结果、“稍后”这个状态,就可以先记在M寄存器的便签上。

· 特点: 灵活、通用、可读可写。是程序内部的“粘合剂”和“状态记录器”。

 

· 比喻: 就像总督手边的一个万能便签本。他可以随时在上面记录灵感、设置提醒、做复杂的演算。这张便签可能只在某个问题解决前有用,解决后就撕掉(位复位);也可能是一些需要长期遵循的工作习惯(如始终置位的标志位)。

 

与I/Q区的区别:

 

· I/Q区是对外的、官方的通信渠道,用于和城堡外部世界(传感器、执行器)交换信息。

 

· M区是对内的、私人的工作空间,用于大脑内部的思考和记忆。

 

---

 

3. SM寄存器:城堡的“先天本能监控室”

 

这是问题的核心,也是最特别的一个区域。

 

· 原理与作用: 这是一块特殊的、只读的内存区,由PLC系统自身固化和管理。它里面存储的不是用户程序写进去的数据,而是PLC硬件和运行时系统的状态信息和预置参数。

 

· 例如:CPU的型号、版本、时钟脉冲(就像城堡的心跳)、扫描周期时间、通信端口状态、是否第一次上电等。

 

· 特点: 绝大多数只读(部分可写)。数据由系统生成,对用户程序来说是“只可观察,不可更改”的先天信息。

 

· 比喻: 这就像总督与生俱来的本能和体征。

  · 比如,你的心跳速度(SM0.4/SM0.5这类时钟脉冲)、你的呼吸节奏、你的反射神经反应时间,这些都是你身体“系统”自己产生的,你的主观意识(用户程序)无法命令自己身体内部”,但你却可以感知和利用它(比如根据心跳节奏来打拍子)。

  

· SM0.1(首次扫描为1)就像是出生时的第一声啼哭,标志着生命的开始,但一生只有一次,你无法制造第二次。

  

· SM0.0(始终为1)就像是“我还活着”这个基本事实,它永远成立。

 

· SM0.0: “永恒” 或 “系统电源”

  · 作用:在PLC处于RUN模式时,该位始终为ON(1)。

  · 原理:操作系统在运行时,会强制将此位置1。它代表了一种“绝对存在”的逻辑条件。

  · 使用场景:用于需要每个扫描周期都无条件执行的指令。例如,始终将一个设定值传送给某个变量,或者持续调用一个关键的功能块。

· SM0.1: “第一次执行”

  · 作用:在PLC由STOP转为RUN模式的第一个扫描周期内为ON,之后永久为OFF。

  · 原理:操作系统在完成初始化、即将开始执行用户程序的第一周期前,设置此标志,作为一个单脉冲信号。

  · 使用场景:初始化程序的绝对核心。用于复位计数器、定时器,设置初始状态,执行一次性的上电操作等。它与SM0.0的“永恒”形成鲜明对比,是“刹那”的代表。

· SM0.4 与 SM0.5: “内置节拍器”

  · 作用:SM0.5产生占空比为50%的1秒脉冲(0.5秒ON,0.5秒OFF)。SM0.4产生1分钟脉冲(30秒ON,30秒OFF)。

  · 原理:操作系统内部有一个高精度的实时时钟,它会自动地、周期性地翻转这些位的状态。

· 使用场景:无需编写复杂的定时器逻辑,即可直接获得闪烁效果(如报警指示灯)或标准的计时基准。

SM寄存器与其他寄存器(尤其是M寄存器)的核心区别:

 

· 数据来源:

  · M寄存器的数据完全来自于用户程序的写入,是“后天学习的知识和笔记”。

  · SM寄存器的数据来自于PLC系统自身,是“与生俱来的本能和体征”。

 

· 控制权:

  · 你可以随意修改M寄存器里的便签内容。

  · 你基本不能修改SM寄存器,只能读取和利用它提供的信息。你不能命令PLC“现在让首次扫描标志位再次置位”,就像你不能命令自己“再出生一次”。

 

为什么要这样使用?

将系统状态和用户数据分开,是软件工程中“关注点分离”的经典体现。它保证了系统核心状态的安全性和稳定性(用户程序不会意外篡改关键系统参数),同时为程序员提供了一个稳定、可靠的窗口来观察和适应PLC的运行节拍,从而编写出更高效、更智能的程序(例如利用时钟脉冲进行定时闪烁,利用首次扫描标志进行初始化)。

 

---

 

4. 其他重要寄存器

 

· V/L/DB区(数据块): 城堡的“中央档案库”

  · 比喻: 如果说M寄存器是随手可用的便签本,那么数据块就是一本本厚重的、分类明确的永久档案。用于存储大量的、需要长期保存的工艺参数(如配方、设定值)、生产数据(如产量、运行时间)、历史记录等。它容量大,组织性强,是存储“城堡知识和历史”的地方。

 

· T寄存器(定时器): “沙漏”或“厨房定时器”

  · 比喻: 总督设置一个5分钟的沙漏(设定时间),当沙漏开始流动(启动定时器),他就可以去做别的事。他无需一直盯着时钟,只需要在需要的时候看一眼沙漏里的沙是否流尽(定时时间到)。这是专门为时间控制设计的“工具寄存器”。

 

· C寄存器(计数器): “计数绳结”或“账本”

  · 比喻: 古代人用绳子上打结的方式来计数。每经过一辆马车,就在绳子上打个结(计数器加1)。打满10个结,就代表10辆马车已经通过,然后可以去执行某个动作(如关闭大门),并清空绳结(复位计数器)。这是专门为计数任务设计的“工具寄存器”。

 

总结

 

在这个“自动化城堡”的比喻中:

 

· I/Q区是官方、高效的对外通信系统,保证秩序。

 

· M区是总督灵活机动的内部工作区,负责思考与协调。

 

· SM区是总督与生俱来的生命体征和本能,不可更改但可利用。

 

· V/DB区是庞大的中央数据库,存储知识与历史。

 

· T/C区是专用的工具,分别处理时间和数量的测量。

 

这样设计的目的,是为了让PLC的大脑(CPU)能够层次清晰、各司其职、安全高效地完成复杂的自动化控制任务,既保证了与外界交互的可靠性,又赋予了程序内部逻辑极大的灵活性。

免责声明:本站所提供信息均来源于网友提供或网络搜集,由本站编辑整理,如涉及版权问题,请联系本站管理员予以更改或删除
旗下服务
在线课程 现场培训
微信公众号
© 2019-现在 版权所有,并保留所有权利。ICP备案证书号:沪ICP备18011190号-4

沪公网安备 31011202007493号