PLC六种点动启停控制方式程序 1,简单位逻辑判断 2,利用异或指令 3,利用复位置位指令 4,利用累加器 5,字节循环指令 6,置位优先,复位优先指令

一说到PLC里的点动控制,很多新人上来就怼个常开触点带输出线圈。这招对付基础场景还行,遇到需要自锁保持的场合就得翻车。今儿咱们来点硬核操作,手撕六种花式点动控制方案。

1. 简单位逻辑的骚操作

!基础自锁

老司机都懂这个经典结构:

A    I0.0       //启动按钮
FP   M0.0       //取上升沿
S    Q0.0       //置位输出
A    I0.1       //停止按钮
R    Q0.0       //复位输出

这代码暗藏玄机——用FP指令防抖是真的稳。注意这里用了置位复位指令代替传统自锁,实测抗干扰能力比并联触点强三档。新手容易在上升沿处理上翻车,不信你试试去掉FP指令,绝对收获一台永动机。

2. 异或指令玩二进制魔术

!异或控制

西门子S7-1200里这么玩:

IF "Button" THEN
    "Output" := XNOR("Output",1);
END_IF;

这行代码把布尔逻辑玩出了花。每次按钮按下时输出状态翻转,等效于XOR异或运算。注意要加防抖处理,否则产线小哥按一次按钮可能触发多次状态变化,别问我怎么知道的...

3. 复位置位双剑合璧

!SR触发器

三菱FX系列经典套路:

OUT SET Y0
LD X0
OUT RST Y0

这写法看似简单实则暗藏杀机。注意PLC扫描周期特性,当置位和复位同时触发时,最后执行的指令生效。建议用SET/RST指令代替OUT直接输出,防止出现幽灵信号。

4. 累加器暴力美学

!累加控制

欧姆龙CP1H可以这么骚:

MOV(1, DM0)
XOR(Button, DM0, DM0)
MOV(DM0.0, Output)

这波操作把累加器当状态寄存器用。每次按钮信号与累加器异或,最低位刚好对应输出状态。这种玩法比较冷门,适合装X用,实际项目慎用——维护工程师可能会提着扳手找你。

5. 字节循环移位的骚走位

!移位指令

施耐德M340的另类操作:

LD %M1
ROL 8#1
ST %MW10
LDN %I0.0
ANDN %MW10.0
ST %Q0.0

通过循环移位制造脉冲序列,取最低位控制输出。这方法适合需要状态记忆的场景,还能顺带做操作次数统计。不过要当心字长溢出,搞不好会整出个跑马灯效果。

6. 置位优先/复位优先的修罗场

!优先级指令

西门子S7-1500的RS/SR指令:

RS(
    SET:=#Start,
    RESET1:=#Stop,
    OUT=>#Motor);

这个指令块暗藏优先级机制:RS是复位优先,SR是置位优先。调试时遇到过两个信号同时触发的情况吗?这个指令能救命。曾经有个项目因为优先级搞反,设备在急停时反而加速运转,现场堪比好莱坞大片。

实测发现,在120次/分钟的快速操作场景下,方案2和方案6的响应速度最快。但要说抗干扰能力,还是老牌的方案1最稳。建议关键设备用方案3配硬件互锁,娱乐项目随便浪。最后提醒:所有方案必须配合上升沿处理,否则等着收投诉电话吧!

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐