三菱PLC时间设定锁机程序2.0。 模块里一共可以设置三期。 根据模板复制粘贴即可设置更多期。 不用可关。 到期设备将停止使用动作。 备注清晰明了。
LD M8000 // PLC运行常ON触点 OUT T0 K31536000 // 一年定时器(别问我怎么算的) MOV D8018 D200 // 抓取当前年份 MOV D8017 D201 // 当前月份 MOV D8016 D202 // 当前日 // 第一期时间锁 CMP K2025 D200 // 年份比较 CMP K12 D201 // 月份比较 CMP K31 D202 // 日期比较 ANB ANB OUT M100 // 第一期触发标志 // 第二期时间锁(复制粘贴改参数) CMP K2026 D200 CMP K6 D201 CMP K15 D202 ANB ANB OUT M101 // 第三期时间锁(同理可得) CMP K2027 D200 CMP K1 D201 CMP K1 D202 ANB ANB OUT M102这个时间比较模块的精髓在于无脑复制。想加第四期?直接复制第三期的代码块,改改参数就完事了。每个时间锁独立判断,任意一个到期都会触发停机——没错,就是那个经典的"逮到过期直接拉闸"的套路。
停机控制部分更简单粗暴:
LD M100 OR M101 OR M102 OUT Y0 // 停机输出信号 ANI M50 // 解锁开关(常闭) OUT M199 // 系统总锁机标志这里藏着个骚操作:M50是隐藏的解锁开关。平时保持常闭状态,真到紧急情况的时候,拿编程器怼进去改个常开就能临时解锁。
三菱PLC时间设定锁机程序2.0。 模块里一共可以设置三期。 根据模板复制粘贴即可设置更多期。 不用可关。 到期设备将停止使用动作。 备注清晰明了。
时间参数记得用三菱的时钟寄存器(D8013-D8018),实测比普通定时器稳得多。之前用T型定时器翻过车——设备停了之后客户居然手动改系统时间,这谁顶得住啊?
最后给寄存器分配划重点:
- D200-D202:实时时钟缓存区
- D210-D212:第一期设定值
- D220-D222:第二期设定值
- D230-D232:第三期设定值
想关掉这个功能?直接注释掉MOV时钟寄存器的程序段就行。不过建议保留框架,哪天想重新启用了,把注释取消又是一条好汉。记住,注释一定要写成这样:
// 2024/06/15 王工增加的时间锁模块 // 要关闭就把下面三行MOV指令nop掉 // 别动后面的比较逻辑!会炸!这备注风格才叫实用,比那些"此处实现功能A"的注释强多了。最后提醒一句:定期备份程序!上次有个哥们儿把锁机时间和设备自毁程序搞混了,那场面...(手动狗头)