大家好,最近在自学PLC,关于PLC扫描工作方式遇到了一些问题没想明白,特来社区求教,还望各位社区前辈赐教!
. s- |. P% U! Y% u2 QPLC的扫描工作方式:输入扫描→程序执行→输出刷新,问题出在对程序执行时的疑惑,具体如下:
, r5 R- e! z2 f% A; o, H0 t首先看梯形图:
4 ]4 o; Q5 S: E- z4 K( }4 ~7 }. n7 Y2 k* O5 Z8 @- E
1、我图片中的梯形图,假设程序段4在某一扫描周期时触点接通,使得M0.0线圈得电,此时T37开始计时1秒,同时M0.0常开触点闭合,实现自锁;7 M9 w& m" \6 r$ }2 B5 l. F
2、当T37计时未满1s时(在这1s内会经历n个扫描周期),程序段5的T37常开触点不会闭合,因此M0.1没有得电;. I/ R0 }3 X- u; V4 a( h+ r
3、当T37计时满1s时(此时处于第k个扫描周期),T37常开触点闭合,M0.1得电4 C! |8 I! X/ O' s: j$ m
那么问题来了:
' R% P, [7 y8 s. HPLC是按从上到下的顺序依次执行程序的,在第k个扫描周期时,先执行程序段4,此时M0.0是得电的。然后执行程序段5,T37常开触点闭合,M0.1得电,但是程序段4中串联了一个M0.1的常闭触点,此时PLC是否会回过头去把M0.1常闭触点断开,使得M0.0断电,当这一个扫描周期执行完的时候,M0.0的状态应该为0,M0.1的状态应该为1。(或者是程序继续往下执行,当这一扫描周期执行完的时候,M0.0的状态为1,M0.1的状态也为1,等下一个扫描周期,即第k+1个扫描周期的时候,M0.1常闭触点断开,M0.0失电,当第K+1个扫描周期执行完的时候,M0.0状态为0,M0.1状态为1)
0 k9 k% H: C- ], B0 l
: w! g: K$ o( r: R# \* E* C" z8 M
" X/ Z. R5 U% ?! A) i- @# ^
3 P- e* v) O0 x" D: T9 Y% W& D* E2 v
补充内容 (2021-6-3 08:59):
C& f2 p& F {/ `在网上找到了一个比较详细的说法,按照该说法,我括号里面的分析才是对的。http://www.plc100.com/jichu/yuanli/yunxing.htm |