2. 急停与复位逻辑设计
任务说明
设计一个符合安全标准的急停控制逻辑:当急停按钮被按下时,系统必须立即切断所有输出(包括主轴、冷却泵、润滑泵等),并且只有在急停按钮复位后,操作人员手动触发复位信号,系统才能重新允许输出。该逻辑是数控系统PLC程序中最基础的安全环节,直接关系到设备和人身安全。
环境与依赖
- PLC平台:西门子S7-1200(或任意支持上升沿检测与置位/复位指令的PLC)
- 编程软件:TIA Portal V15及以上
- I/O分配:
| 地址 | 符号 | 说明 |
|---|---|---|
| I0.0 | E_STOP | 急停按钮(常闭触点,按下时断开) |
| I0.1 | RESET_BTN | 手动复位按钮(常开触点) |
| I0.2 | START_BTN | 启动按钮(常开触点) |
| Q0.0 | OUTPUT_EN | 输出使能中间继电器 |
| Q0.1 | SPINDLE | 主轴电机接触器 |
| Q0.2 | COOLANT | 冷却泵接触器 |
| Q0.3 | LUBE | 润滑泵接触器 |
核心逻辑设计
急停安全逻辑的核心在于:急停信号必须采用硬件常闭触点接入PLC输入,这样即使急停按钮线路断线,系统也会自动进入急停状态(失效安全原则)。PLC程序中,急停输入取反后作为急停触发条件。当急停触发时,立即复位所有输出使能;复位按钮仅在急停已释放且输出使能为0时有效,防止误操作。
关键完整代码(LAD/STL)
以下为西门子S7-1200的STL(语句表)实现,可直接在TIA Portal中创建FB或OB1中使用:
// 网络1:急停检测与输出切断
// 急停按钮为常闭触点,I0.0=1表示正常,I0.0=0表示急停按下
A(
O "E_STOP" // 急停未按下(常闭闭合,输入为1)
O "OUTPUT_EN" // 或输出使能已置位
)
// 若急停按下(I0.0=0)且输出使能当前为1,则复位输出使能
A(
AN "E_STOP" // 急停按下(输入为0)
A "OUTPUT_EN" // 且当前输出使能为1
)
R "OUTPUT_EN" // 立即复位输出使能,切断所有输出
// 网络2:复位逻辑(仅在急停释放且输出使能为0时允许复位)
A "E_STOP" // 急停已释放(输入为1)
AN "OUTPUT_EN" // 输出使能当前为0(已切断)
A "RESET_BTN" // 操作人员按下复位按钮
S "OUTPUT_EN" // 置位输出使能,允许后续启动
// 网络3:启动控制(输出使能后,通过启动按钮控制主轴)
A "OUTPUT_EN" // 输出使能有效
A "START_BTN" // 按下启动按钮
S "SPINDLE" // 主轴启动
// 网络4:冷却泵控制(示例:主轴运行时可手动开启)
A "OUTPUT_EN" // 输出使能有效
A "SPINDLE" // 主轴已运行
A "COOLANT_SW" // 冷却开关(I0.3,常开)
S "COOLANT"
// 网络5:润滑泵控制(示例:周期性自动润滑,此处简化为与主轴联动)
A "OUTPUT_EN"
A "SPINDLE"
= "LUBE"
// 网络6:急停时强制复位所有输出(冗余保护)
AN "E_STOP" // 急停按下
R "SPINDLE" // 强制停止主轴
R "COOLANT" // 强制停止冷却
R "LUBE" // 强制停止润滑
运行与验证方法
- 在TIA Portal中新建项目,添加S7-1200 CPU,创建PLC标签表,按上述I/O分配定义符号名。
- 将上述STL代码粘贴到OB1或新建FB中,编译下载至PLC。
- 使用PLC仿真或实际硬件进行以下验证:
| 步骤 | 操作 | 预期结果 |
|---|---|---|
| 1 | 急停未按下,按启动按钮 | 主轴运行,冷却/润滑按逻辑动作 |
| 2 | 按下急停按钮 | 所有输出(主轴、冷却、润滑)立即断开,OUTPUT_EN复位为0 |
| 3 | 保持急停按下,按复位按钮 | 输出保持断开,无法复位(验证互锁) |
| 4 | 释放急停,不按复位,直接按启动 | 主轴不启动(验证必须手动复位) |
| 5 | 释放急停,按复位按钮 | OUTPUT_EN置位为1,此时按启动按钮主轴可运行 |
通过标准:上述5个步骤全部符合预期结果,特别是步骤2中急停按下瞬间所有输出立即切断(无延迟),步骤3和步骤4验证了复位互锁与手动复位要求,即判定逻辑设计正确。
关键点说明
- 急停按钮必须使用常闭触点接入PLC输入,这是安全回路的基本要求,确保断线时自动触发急停。
- 输出使能(OUTPUT_EN)作为总安全闸门,所有设备输出均以其为前置条件,实现急停时一刀切。
- 复位按钮仅在急停释放且输出使能为0时有效,防止急停未释放时误复位。
- 网络6为冗余保护,即使输出使能因故障未及时复位,急停信号也能直接强制切断各设备输出。