请大家帮忙看一下以下这段程序中的问题啊,不合理的地方帮忙找出来,告诉小弟!不胜感激!!!
0 ld x000
1 or y05
2 Ani X1
3 OUT Y5
4 LD M8002
5 SET S0
7 STL S0
8 LD Y5
9 SET S20
11 STL S20
12 RST Y2
13 RST Y3
14 RST Y4
15 LD X3
16 AND X5
17 AND X7
18 SET S21
20 STL S21
21 OUT T0 K10
24 MPS
25 AND TO
26 RST Y1
27 MRD
28 ANI X11
29 AND Y5
30 PLSY K100 K0 Y0
37 MPP
38 ANI Y01
39 ANDP X11
41 MPS
42 ANI X12
43 SET S22
45 MPP
46 AND X12
47 SET S24
49 STL S22
50 OUT Y7
51 OUT T1 K10
54 LD T1
55 SET S23
57 STL S23
58 OUT T2 K1O
61 SET Y2
62 SET Y3
63 SET Y4
64 SET Y1
65 LD T2
66 OUT S0
68 STL S24
69 OUT Y7
70 OUT T3 K10
73 LD T3
74 SET S25
76 STL S25
77 SET Y2
78 SET Y3
79 SET Y4
80 OUT T4 K3
83 LD T4
84 SET S26
86 STL S26
87 OUT T5 K20
90 RST Y2
91 RST Y3
92 RST Y4
93 LD X10
94 AND X13
95 SET Y1
96 AND T5
97 AND Y5
98 OUT S21
100 RET
101 END
SFC程序的扫描过程是选择开通(ON)的“状态S内的片断” 来扫描运算的:
如果把<PLSY>指令写在“状态S21 内的片断”中,当状态从S21转移到S22时,S21 自动关断(OFF)程序的扫描就不经过S21,而直接跳到S22 内的片断中去扫描。因此,<luw816>的原程序中状态S21 内的<PLSY>指令就不可能轮到“OFF运算”!第2 次任务周期中又轮到扫描“状态S21 内的片断”时,即在没有经过“OFF运算”之前对<PLSY>指令进行的“再驱动”是无效的!
我上面讲的这些内容只限于三菱FX1s及FX1n系列的PLC,其它系列的PLC只能做参考!关于<PLSY>指令的详细解释还请网友们参阅我在2010年7月2日以来的一段日子里回复《关于plsy指令的一个问题》中的一系列回贴。还可以参阅我的《回复 <winter938 >网友的问题》及《回复网友关于PLSY指令的问题》等一系列的帖子。