请大家帮忙看一下以下这段程序中的问题啊,不合理的地方帮忙找出来,告诉小弟!不胜感激!!!
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
现在我把控制目的告诉大家 大家帮忙分析,x0启动按钮,x1停止按钮,x3、5、7、10、13为相应的位置检测传感器,x12为为两不同状态信号检测传感器,x11为电机停止检测的传感器。y0脉冲输出口,y1为一指示灯,y2、3、4为电磁阀,stl s26中还有out y7梯形图中未标出,y7为另一plc的某一输入信号,
控制过程:启动---x3、5、7on----plsy输出脉冲电机前进----x12 on或off且x11 on分别进入不同控制状态,完成输出的一系列动作。动作完成条件允许后返回继续。 现在主要问题还是plsy 的输出问题,为什么是隔周期???????
小弟文学水平有限,简略一点,望看明白的大侠予以指导 不胜感激啊 !!!!!!!
哎,不让贴图片,我就用纯文字的内容给楼主做回复吧!
《FX1s/FX1n/FX2n/FX2nc编程手册》第229页有这样的内容:
请在以下条件成立的基础上执行指令驱动接点OFF状态后的再起动。
条件: 前次驱动的脉冲输出指令的“脉冲输出中监视(Y00:[M8147],Y01:[M8148])”处于OFF状态后,必须经过1个以上演算周期方能再次执行。
这是由于脉冲输出指令的再次驱动必须经过1次以上OFF运算。若在上述条件指定时间前执行再次驱动,将在最初指令执行扫描时发生“运算错误”,在第二次指令执行扫描时开始输出用于再驱动的脉冲。
而“步进顺序功能程序”的每一个“状态片断”都相似于一段“跳转程序片断”。首次执行“状态S21内的程序片断”时,Y0有脉冲输出。当加工物件进入X11的视线时,状态转移条件成立,由X12选择转移到以“状态22”或“状态24”为起始的“分支”中去。这时“状态21”自动关闭,成为一个相似于“跳转的片断”。在跳转的期间<PLSY K5 K0 Y0 >这条指令没有经过“OFF演算”。当第2个“任务周期”执行到“状态21内的程序片断”时,<PLSY K5 K0 Y0 >的驱动条件再次为ON时,<PLSY K5 K0 Y0 >指令运算出错!不输出脉冲。第3个“任务周期”执行到“状态21内的程序片断”时,<PLSY K5 K0 Y0 >的驱动条件又一次为ON时,“指令执行扫描时开始输出用于再驱动的脉冲”。这就是楼主所说的“隔周期”输出。