linux下控制gpio的几种方法_西门子 PLC,使用单个按钮控制一个指示灯的几种方法!...

本文详细介绍了西门子PLC中使用按钮实现设备启动/停止控制的四种方法,包括利用上升沿指令、辅助继电器、RS指令以及通过HMI事件。每种方法都确保了在按钮按下时仅执行一次控制操作,从而实现单按钮的启停功能。这些方法有助于理解PLC程序执行逻辑。
摘要由CSDN通过智能技术生成

西门子 PLC 程序采用循环扫描的方式运行,运行时,程序按照输入采样,程序执行,输出刷新的顺序循环执行,这样的一个循环称之为程序的一个扫描周期,PLC 一般扫描周期为 30mS 左右,有些大型 PLC 或者高端型号,扫描周期可能只有 10ms 左右。

f8d807d8dd3f30ec6567ab810064a45a.png

按照这个原理,我们按钮按下,一般都是几百毫秒,程序已经执行了多个扫描周期。所以要使用单个按钮来进行程序控制,其核心是要求我们在按下按钮时,输入信号只能在一个周期内执行程序,所以不论采用哪种方法,都必须要用到 I P I 取上升沿指令,这个指令的特点是信号由 0 变为 1 是,只执行一个扫描周期。

下面根据这个原理,有以下几种单个按钮控制启动/停止的方法

方法一:

84e84c769fa05cc117bdd7a9ebf409fd.png

第一行程序,当第一次按下启动按钮(灯 Q0.0 为 0 说明第一次)M0.0 时,M0.0 的上升沿为 1,Q0.0 的常闭也为 1,逻辑结果为 1,置位亮灯辅助 M100.0 的指令被执行,M100.0

被置位 1;

第二行程序,当第一次按下启动按钮(灯 Q0.0 为 0 说明第一次)M0.0 时,M0.0 的上升沿为 1,Q0.0 的常开为 0,逻辑结果为 0,复位亮灯辅助 M100.0 的程序不会被执行,M100.0的值不会因为本段程序被改变;

第三段程序,由于 M100.0 被置位 1,所以 Q0.0 输出结果为 1;之后的程序扫描周期,只要 M0.0 没有被再次接通,结果都保持不变;

当我们再次按下 M0.0 时,这个时候 Q0.0 是为 1 的;

第一行,M0.0 上升沿为 1,Q0.0 常闭为 0,逻辑结果为0,M100.0 置位不被执行;

第二行,M0.0 上升沿为 1,Q0.0 常开为 1,逻辑结果为1,M100.0 复位被执行,M100.0 变为 0;

第三段程序,由于 M100.0 被复位为 0,所以 Q0.0 输出结果为 0;

之后的程序扫描周期,只要 M0.0 没有被再次接通,结果都保持不变;

方法二:

ad65508fc7b3c0f4436c4e855a3718a2.png

以上这种方法,当我们第一次按下 M1.0 按钮时,第一行按钮辅助 M110.0 在第一个程序周期输出结果为 1,

第二行的逻辑结果:M110.0 为 1,Q0.1 的常闭触点也为 1,所以他两进行与运算,逻辑结果也为 1;

第三行,M110.0 常闭触点动作,结果为 0,Q0.1 的常开触点当前也为 0,与运算结果为 0;

Q0.0 结果为第二行和第三行的或运算,由于第二行为 1,所以结果为 1;

第二个程序扫描周期,由于 M1.0 按钮没有被再次按下,不管当前状态是否松开,都不会执行,所以 M110.0 结果为 0;

第二行,M110.0 为 0,Q0.1 的常闭触点受上一次程序执行的影响,也为 0,与运算逻辑结果为 0;

第三行 M110.0 的常闭为 1,Q0.1 已经动作,所以也为 1,与运算逻辑结果为 1;

Q0.1 的结果是第二行和第三行的或运算,所以结果仍然为 1,就这样,程序实现了第一次按下按钮,Q0.1 输出结果始终保持为 1;

当我们再次按下按钮 M1.0 时,M100.0 再次为 1 一个扫描周期;

第二行 M100.0 为 1,Q0.1 由于已经为 1,所以常闭触点为 0,逻辑结果为 0;

第三行 M100.0 的常闭变为 0,Q0.1 的常开为 1,逻辑结果也为0;

Q0.1 的值是第二行 0 和第三行 0 的或运算结果,也为 0,所以Q0.1 的值变为 0,恢复到初始状态;

Q0.1 的状态始终保持为 0,等待下一次按钮被按下,重复上面的程序逻辑。

方法三:

31c49db0185032537333f033bb78356a.png

第三种方法和第一中方法类似,利用 RS 置位优先指令(或者 SR 复位优先指令也可以),指令左边的两条指令执行完成后,统一输出;

第一次按下 M2.0 按钮时,R 复位条件不满足;S1 置位条件满足,逻辑结果为置位,所以 Q0.2 被置位;

第二次按下时,由于之前 Q0.2 已经被置位,所以复位 R条件满足,置位 S1 条件不满足,所以 Q0.2 被复位;

这种用法,逻辑统一处理完成后,统一输出,程序结构较为简单,逻辑清晰;

方法四:

在 PLC 变量表中建立灯的一个变量;

623c74d13aa03816de7dad8d1ea810b6.png

在 HMI 中添加一个按钮,在属性-事件-单击中添加函数

4e0ae2170d37ae37d780b9014ec25379.png

当按钮单击时,取放灯 Q0.0 的值,如果之前为 0,则改变输出为 1;如果之前为 1,则改变输出为 0;

总结:当个按钮控制启停,这样的程序在实际应用中有会用到,但是更多的目的,是希望能够参考几种方法,加深对 PLC 程序执行逻辑的理解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值