跳到正文
Learn-LAD
示例库/机床冷却液控制

机床冷却液控制

开关闭合后机器运行 40 秒、冷却液运行 45 秒;结束后的两个短脉冲只做抑制,不改变主逻辑。

进阶 S7-1200 冷却 定时器 实验

导入到我的 TIA 项目

通过 TiaLink 把本示例的 6 个对象导入你当前打开的 TIA Portal 项目。导入前会先预检,默认不覆盖同名对象,导入后不会自动保存。

TiaLink 设置

默认 http://localhost:8080。也可以在本页地址后加 ?tialink= 临时指定。

TiaLink 启动时若设置了 --api-token,这里要填相同的值;只保存在本机浏览器 localStorage,不会上传。

概述

合上开关后,机床运行 40 秒、冷却液运行 45 秒;两者结束后各产生一个短脉冲(10 秒 / 5 毫秒),用于抑制再次触发。

程序有三个网络:主输出、结束脉冲、以及短延时抑制。注意:这个示例的后两个网络更像实验性逻辑,实际作用有限,读的时候重点看主输出部分。

信号表

信号 类型 含义 作用
Machine_Bench_Turn_ON_Switch I 总开关 启动机床和冷却液
Machine Q 机床运行 40 秒
Coolant Q 冷却液 45 秒
Tag_2 M 机床结束脉冲 机床停止后 10 秒
Tag_3 M 冷却结束脉冲 冷却停止后 5 毫秒
Tag_1 M 点表中未使用 —

工作流程

  1. 开关闭合 → Machine 运行 40 秒,Coolant 运行 45 秒;
  2. 机床停止后,TON 计 10 秒 → Tag_2 短暂为 1;
  3. 冷却液停止后,TON 计 5 毫秒 → Tag_3 短暂为 1;
  4. 开关断开,所有输出停止。

MainOB

Network 1 — 机床与冷却液

Network 1:Machine_Bench_Turn_ON_Switch、Tag_2、Machine、Tag_3、Coolant

条件 → 动作:开关闭合且 Tag_2=0 → Machine=1 持续 40 秒;开关闭合且 Tag_3=0 → Coolant=1 持续 45 秒。

为什么:用两个 TP 分别控制机床和冷却液的运行时长;冷却液比机床多 5 秒,保证停机后继续冷却。

注意:Tag_2/Tag_3 是短脉冲,正常情况下几乎不影响主输出;TP 触发一次后需要新的上升沿。

逻辑: Machine = TP(IN = Switch AND NOT Tag_2, PT = T#40s).Q

Coolant = TP(IN = Switch AND NOT Tag_3, PT = T#45s).Q

Network 2 — 机床结束脉冲

Network 2:Machine_Bench_Turn_ON_Switch、Machine、Tag_2、Tag_2

条件 → 动作:开关仍闭合、机床已停止、Tag_2=0 → TON 计 10 秒 → Tag_2=1。

为什么:原工程意图可能是"机床停止后延时做某件事";但 Tag_2 只是 TON 输出,置位后条件立即断开,所以只维持一个扫描周期。

注意:这不会形成持续 10 秒的信号,和字面"延时 10 秒"容易混淆。

逻辑:Tag_2 = TON(IN = Switch AND NOT Machine AND NOT Tag_2, PT = T#10s).Q

Network 3 — 冷却结束脉冲

Network 3:Machine_Bench_Turn_ON_Switch、Tag_3、Coolant、Tag_3

条件 → 动作:开关仍闭合、冷却已停止、Tag_3=0 → TON 计 5 毫秒 → Tag_3=1。

为什么:5 毫秒的延时在实际设备上几乎不可见,可能是原工程的占位/实验参数。

注意:与 Tag_2 类似,这只是瞬时脉冲,不承担实际的冷却后动作。

逻辑:Tag_3 = TON(IN = Switch AND NOT Tag_3 AND NOT Coolant, PT = T#5MS).Q

常见问题

  • 机床/冷却液不运行:检查总开关和两个 TP 的条件;Tag_2/Tag_3 异常为 1 会切断输出。
  • 机床停止后没有延时动作:当前程序没有真正的"停止后延时输出",只有瞬时脉冲;应改用 TON 并保持条件。
  • 想要冷却液延后关闭:把 Coolant 改成 TOF,或在机床停止后延时断开。

变体与扩展

  • 冷却液延时关闭:Machine 停止后让 Coolant 继续运行 N 秒(TOF 或 TON)。
  • 加液位/流量联锁:冷却液无流量时禁止机床运行。
  • 维护计时:累计冷却液运行时间,到时提示更换。

变量与数据块

变量表:Default tag table

名称数据类型地址注释
Machine_Bench_Turn_ON_SwitchBool%I0.0
CoolantBool%Q0.0
MachineBool%Q0.1
Tag_1Bool%M0.2
Tag_2Bool%M0.0
Tag_3Bool%M0.1
系统实例 DB(4 个)

TIA 自动生成的定时器/计数器实例 DB,导入示例时会一并导入。

IEC_Timer_0_DB 实例 DB(IEC_TIMER)
名称数据类型起始值注释
Static
PTTime
ETTime
INBool
QBool
IEC_Timer_0_DB_1 实例 DB(IEC_TIMER)
名称数据类型起始值注释
Static
PTTime
ETTime
INBool
QBool
IEC_Timer_0_DB_2 实例 DB(IEC_TIMER)
名称数据类型起始值注释
Static
PTTime
ETTime
INBool
QBool
IEC_Timer_0_DB_3 实例 DB(IEC_TIMER)
名称数据类型起始值注释
Static
PTTime
ETTime
INBool
QBool

下一步