前面讲了:什么是沿指令及 沿指令梯形图的解析。沿指令由于其产生的信号时间极短:一个PLC的扫描周期,所以在对程序进行监控时,是观察不到其导通逻辑的。这就使程序调试带来一定难度,所以使用上升沿指令时,往往配合置位S和复位R指令。下面我们分析几个有趣的小程序。

首先是一个没有沿指令,使用置复位控制灯泡1的亮、熄灭的程序。

西门子plc编程指令图解(教你学编程3-西门子PLC)(1)

当按钮1 = 1 ,按钮2 = 0 时,灯泡1 = 1。

西门子plc编程指令图解(教你学编程3-西门子PLC)(2)

这个很简单好接受,那么我们加点难度:保持按钮1 = 1,同时命令按钮2 = 1,那么灯泡1是亮还是不亮?(有点烧脑了奥)

置位线圈(s)导通令灯泡1Q0.1点亮。复位线圈(R)导通令灯泡1Q0.1熄灭。那他们同时点亮灯泡1Q0.1听谁的呢?答案是:按照扫描周期,扫描灯泡1Q0.1的最后一个状态,

所以,保持按钮1 = 1,同时命令按钮2 = 1,灯泡1Q0.1是熄灭的。改变按钮1和按钮2导通的顺序最终的结果依旧不会改变。

西门子plc编程指令图解(教你学编程3-西门子PLC)(3)

好的,那么我们对这个程序进行一下改造,加上升沿指令。

西门子plc编程指令图解(教你学编程3-西门子PLC)(4)

程序没有发生改变,只是对按钮1和按钮2加了沿指令。那么我们再重复上面的操作,先导通按钮1,灯泡1点亮。

西门子plc编程指令图解(教你学编程3-西门子PLC)(5)

然后我们保持按钮1 = 1,同时命令按钮2 = 1,灯泡1熄灭。

西门子plc编程指令图解(教你学编程3-西门子PLC)(6)

上面结果和之前没有用沿指令的效果一样的啊?呵呵,别着急我们继续操作。

这次,我们改变按钮1和按钮2的操作顺序。先导通按钮2,再导通按钮1。疑惑出现了,灯泡1点竟然亮了。这个是为啥呢?不应该根据PLC扫描原理,Q0.1的状态应该是最后一个按钮2操作的结果灯泡1熄灭啊,为啥亮了呢?

西门子plc编程指令图解(教你学编程3-西门子PLC)(7)

我们分析一下,先不管对两个按钮的操作顺序,当按钮1和按钮2全部导通,Q0.1出现不一样的控制结果,其原因就在于我们对按钮1和按钮2使用了上升沿指令。只取了两个按钮由0-1的状态时的一个扫描周期,而对除了这个扫描周期以外的时间,其操作结果都无效。这就是为什么从监控状态来看,按钮1和按钮2虽然导通了,但其后面的能流线为虚线的原因。

当先按按钮1,再按按钮2时,灯泡1熄灭状态。

当先按按钮2,再按按钮1时,灯泡2点亮状态。

西门子plc编程指令图解(教你学编程3-西门子PLC)(8)

,