西门子PLC基础指令6:读取时钟指令、设置时钟指令、使能含义与注意
读/写指令
1. 读取时钟 指令 READ_RTC
READ_RTC
(RTC 全称是 Real - Time Clock,即实时时钟 )指令的主要作用是将 CPU 内部实时时钟(RTC)的当前日期和时间信息读取出来,并存储到以指定字节地址(图中的 T )起始的 8 个连续字节缓冲区中 。这 8 个字节所存储的时间信息内容及顺序如下:
字节位置 | 存储内容 | 取值范围及说明 |
---|---|---|
第1个字节 | 年 | 0 - 99(例如23代表2023年) |
第2个字节 | 月 | 1 - 12 |
第3个字节 | 日 | 根据月份不同为28 - 31(考虑闰年) |
第4个字节 | 小时 | 0 - 23 |
第5个字节 | 分钟 | 0 - 59 |
第6个字节 | 秒 | 0 - 59 |
第7个字节 | 星期 | 1 - 7(1代表星期日,2代表星期一,以此类推) |
第8个字节 | 保留 | 通常未使用 |
指令引脚说明
- EN(Enable):
使能
输入引脚。当该引脚有能流
流入时(即 EN 端为 1 状态),指令 READ_RTC 才会执行读取实时时钟操作。如果 EN 端没有能流流入(为 0 状态),指令不会执行,且不会更新目标缓冲区中的时间数据。 - ENO(Enable Output):使能输出引脚。当指令成功执行后,ENO 端会有能流流出,即 ENO 为 1 状态 ;如果指令执行过程中出现错误,例如硬件故障、时钟未正确配置等,ENO 端将没有能流流出(为 0 状态) 。ENO 引脚可以用来级联其他功能块,只有当 READ_RTC 指令成功执行时,后续功能块才有可能执行。
- T:时间缓冲区
起始地址
引脚。用于指定存储读取到的时间信息的起始字节地址,要求该地址在 PLC 的存储区域中是有效的,且后续连续 7 个字节的存储区域也可正常使用,不会被其他程序误占用。
2. 设置时钟 指令 SET_RTC
SET_RTC
是 设置 PLC 实时时钟的指令,可以修改 PLC 当前的 日期和时间。
使用场景:
- 数据记录准确
如果 PLC 要记录生产数据、报警记录、运行日志,正确的时间能让记录有用,否则事后根本对不上。 - 定时控制准确
比如每天 8:00 自动启动设备,17:30 自动关机,如果 PLC 时间不准,就会早开晚关。 - 与其他系统同步
PLC 通常和 SCADA、MES、数据库、HMI 联网工作,统一时间可以保证事件顺序一致,方便分析。 - 维护与追溯
出现故障后,维护人员可以根据时间精确定位问题发生的时刻,对应生产批次。
3. 使能(Enable)
Enable
Enable
:在技术领域(尤其是自动化、电子和编程中),“Enable” 通常翻译为 “使能”
,表示 “允许、激活、启用” 的意思,指通过一个信号或条件来启动某个功能、设备或操作。
使能(Enable)
使能(Enable)
:PLC 使能信号就是“某段逻辑或某个模块的执行总开关”,必须使能=1,后续逻辑才有意义。
假设我们有一个自动送料机,但要求它只在 “安全门已关” 的条件下才能运行。
- “安全门已关” 信号 → 使能信号
- “送料按钮” 信号 → 触发信号
- 如果 安全门开着(使能=0),不管你怎么按送料按钮,PLC 都不会执行送料动作。
- 如果 安全门关上(使能=1),那么按送料按钮,PLC 才会执行送料。
简单总结:使能是一种前置条件(安全条件)
使能注意点:
- 使能不是开关
开关直接决定“输出”是否通断
使能只是“允许条件”
,要配合触发信号才会真正动作 - 使能信号通常来自安全条件
例如安全门、急停按钮、系统启动完成信号、设备模式选择开关等
- 程序中使能常用在第一格
把使能条件放在梯形图的最前面,后面的逻辑全部受它控制,这样便于整体屏蔽某段功能
- 使能断开时要考虑输出复位
想象一个场景:
- 你写了一个 送料电机 的程序
- 有个 安全门闭合信号 作为使能
- 送料按钮按下 → 电机运行(Q0.0=1)
- 运行时,安全门突然打开(使能=0) → 按理说电机应该马上停
但是!如果你的程序只是这样:
LD I0.0 //安全门点位 O Q0.0 //自锁(避免启动后下个周期又停止设备) A I0.1 //送料启动按钮(常开) A I0.2 //送料停止按钮(常闭) = Q0.0 //送料电机
- 安全门打开时,这一行逻辑直接断了
- 但 Q0.0 可能不会自动复位,取决于 PLC 型号和输出写法
- 有些 PLC 输出继电器会在下一扫描周期才断,甚至因为自保持回路继续保持电机运行
- 结果:安全门已经开了,电机还在转 —— 安全隐患 ⚠️
正确做法:
LD I0.0 //安全门点位 O Q0.0 //自锁(避免启动后下个周期又停止设备) A I0.1 //送料启动按钮(常开) A I0.2 //送料停止按钮(常闭) = Q0.0 //送料电机AN I0.0 // 如果使能断开 R Q0.0 // 立即复位输出AN I0.2 // 停止按钮按下 R Q0.0 // 立即复位
这样,即使安全门信号在运行过程中突然丢失,也能保证 Q0.0 在同一扫描周期立即断开。
4. 能流
能流
:能流是梯形图编程语言中特有的一个概念,用于模拟电路中的电流流动,它是一种虚拟的、表示逻辑执行条件的信号流。在梯形图中,能流从左母线开始,经过各种触点、线圈、功能块等元件,最终流向右母线。
- 触点控制:常开触点和常闭触点是控制能流的基本元件。当常开触点闭合、常闭触点断开时,能流可以通过;反之,能流被阻断。例如,在一个由按钮控制电机启动的梯形图程序中,按钮对应的常开触点闭合时,能流就可以通过该触点,继续向后流动,为后续控制电机线圈的输出指令提供执行条件。
- 元件执行:当能流到达线圈或功能块时,如果满足相应的条件,线圈就会得电(在实际应用中对应设备的动作 ),功能块就会执行相应的功能。比如,当能流到达电机输出线圈时,电机就会启动;能流到达数据处理功能块时,功能块就会对输入的数据进行运算等处理。
- 能流流向:能流只能从左向右流动,这符合梯形图的基本绘制规则和逻辑执行顺序,确保了程序的执行具有明确的方向性和顺序性。