帮忙找下问题 点击:2080 | 回复:84



luw816

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 65回
  • 年度积分:0
  • 历史总积分:777
  • 注册:2010年2月09日
发表于:2010-10-07 20:53:22
楼主

请大家帮忙看一下以下这段程序中的问题啊,不合理的地方帮忙找出来,告诉小弟!不胜感激!!!

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




wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2010-10-23 14:06:53
61楼

 

  请网友们注意:“任务周期”不同于“程序的扫描周期”!

       

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2010-10-23 15:13:49
62楼

 

  知道了问题的成因后,我们就可以把楼主的“步进顺序功能程序”的毛病改正了。

 

  改正的程序如下所示(今天不准贴图片,我就用指令表程序的形式贴出来):

 

0  LD    X000
1   OR     Y005
2   ANI     X001
3   OUT   Y5
4   AND   M1           

5   PLSY    K5   K0     Y0

12    LD    M8002 
13    SET  S0
15   STL  S0
16   LD    Y5
17   SET  S20
19   STL  S20 
20   RST  Y2
21   RST  Y3
22   RST  Y4 
23   LD     X3 
24   AND  X5 
25   AND  X7 
26   SET  S21 
28   STL  S21
29   OUT  T0   K10 
32   LD     T0 
33   RST   Y1 
34   LDI    X11
35   OUT    M1
36   LDI     Y1

37   ANDP   X011

39   MPS

40   ANI     X012

41   SET     S22

43   MPP
44   AND  X12
45   SET  S24
47   STL   S22 
48   OUT  Y7 
49   OUT  T1   K10
52    LD    T1
53   SET   S23
55   STL   S23
56   OUT  T2   K10 
59   SET   Y2
60   SET   Y3
61   SET   Y4
62   SET   Y1
63    LD    T2
64   OUT  S0
66   STL   S24
67   OUT   Y7 
68   OUT   T3   K10
71    LD     T3
72    SET   S25
74    STL   S25
75    SET   Y2
76    SET   Y3
77    SET   Y4 
78    OUT   T4    K3
81     LD     T4
82    SET   S26
84    STL   S26
85    OUT   T5   K20 
88     RST   Y2 
89     RST   Y3
90     RST   Y4

91      LD    X10
92     AND  X13
93    SET    Y1
94     AND  T5
95     AND  Y5
96     OUT   S21 
98     RET
99     END

 

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2010-10-23 15:46:19
63楼

引用<luw816> 的内容:

 

  “个人觉得 k5是一步的时间,k0是走的步数,y0才是距离啊。有道理 我消化一下..... ”

 


 

 

  你们这是乱理解!很不恰当的比喻。<PLSY    K5    K0    Y0 >指令中的 K5 可以比喻成“步伐的速度”即单位时间内走5 步; K0  可以比喻成“不规定你走多少步”; Y0  可以比喻成这个走步的人,即指定由哪一位来走这个规定了速度的“步伐”。这个人在这一规定速度下走了多少步(即距离),由下式来确定:

 

“距离(步)”=“K5(速度)”ד时间(多少个时间单位)”

luw816

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 65回
  • 年度积分:0
  • 历史总积分:777
  • 注册:2010年2月09日
发表于:2010-10-23 15:49:47
64楼
回复内容:
对:wanggq 关于

 

  知道了问题的成因后,我们就可以把楼主的“步进顺序功能程序”的毛病改正了。

 

  改正的程序如下所示(今天不准贴图片,我就用指令表程序的形式贴出来):

 

0  LD    X000
1   OR     Y005
2   ANI     X001
3   OUT   Y5
4   AND   M1           

5   PLSY    K5   K0     Y0

12    LD    M8002 
13    SET  S0
15   STL  S0
16   LD    Y5
17   SET  S20
19   STL  S20 
20   RST  Y2
21   RST  Y3
22   RST  Y4 
23   LD     X3 
24   AND  X5 
25   AND  X7 
26   SET  S21 
28   STL  S21
29   OUT  T0   K10 
32   LD     T0 
33   RST   Y1 
34   LDI    X11
35   OUT    M1
36   LDI     Y1

37   ANDP   X011

39   MPS

40   ANI     X012

41   SET     S22

43   MPP
44   AND  X12
45   SET  S24
47   STL   S22 
48   OUT  Y7 
49   OUT  T1   K10
52    LD    T1
53   SET   S23
55   STL   S23
56   OUT  T2   K1O 
59   SET   Y2
60   SET   Y3
61   SET   Y4
62   SET   Y1
63    LD    T2
64   OUT  S0
66   STL   S24
67   OUT   Y7 
68   OUT   T3   K10
71    LD     T3
72    SET   S25
74    STL   S25
75    SET   Y2
76    SET   Y3
77    SET   Y4 
78    OUT   T4    K3
81     LD     T4
82    SET   S26
84    STL   S26
85    OUT   T5   K20 
88     RST   Y2 
89     RST   Y3
90     RST   Y4

91      LD    X10
92     AND  X13
93    SET    Y1
94     AND  T5
95     AND  Y5
96     OUT   S21 
98     RET
99     END

 

 

以后再遇到不懂得  还希望前辈多多指导..........

内容的回复:
非常感谢 你的解释!!!! 今天我也试了把plsy移到步进程序外面,结果解决了,重新编了一套  机器的控制盘已经拆了,明天按新程序重新配  和现在用的相比  省下了 3个继电器   呵呵 。

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2010-10-23 15:57:50
65楼

 

  嘿嘿!楼主不厚道噢,你的悬赏怎么乱给人?劳神费力的给你整了半天,却把20分给没出力的人了!

 

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2010-10-23 20:44:37
66楼

 

  现在可以贴出图片内容了,我再把“步进功能梯形图程序”与“指令表程序”的对照图贴出来:

 

luw816

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 65回
  • 年度积分:0
  • 历史总积分:777
  • 注册:2010年2月09日
发表于:2010-10-23 22:16:50
67楼
回复内容:
对:wanggq 关于

 

  嘿嘿!楼主不厚道噢,你的悬赏怎么乱给人?劳神费力的给你整了半天,却把20分给没出力的人了!

 

内容的回复:大哥 不是我给的 好像是系统自己给的啊  我的“求帮忙解释下这段文字”去随便回答一下,拿50分一定给你!!!!!!!!


luw816

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 65回
  • 年度积分:0
  • 历史总积分:777
  • 注册:2010年2月09日
发表于:2010-10-23 22:20:26
68楼
回复内容:
对:wanggq 关于

 

  现在可以贴出图片内容了,我再把“步进顺序功能程序”与“指令表程序”的对照图贴出来:

 

内容的回复:
wanggq   哥们不会忘记你的啊 !还有所有帮助过我的朋友们!大家互相帮助共同进步!!!今天我登陆的时候就结账了,我也不知道咋回事,分不给你真说不过去啊!!!!

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2010-10-24 07:37:29
69楼

 

  嘿嘿,不碍事!我是和您开玩笑呢。我也知道这是《工控论坛》所为,我实际上是针对《工控论坛》这一不合理的规则进行讽刺!

 

  我抽空也要写一个“悬赏帖”,并首先把“沙发”给占了,看<工控网>把悬赏分乱给谁!

          

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2010-10-25 19:40:35
70楼

 

  今天我们谈<luw816>网友的这个SFC程序的化简问题。

 

  对于这种实际问题,因为我们不在现场,对实际问题的信息没有全部的了解。所以,除了<luw816>之外,我们谈这个问题是没有优势的。还望<luw816>网友大力的支持,把我们需要的相关实际信息尽量的提供给我们。

 

  譬如,我们仅仅知道这个SFC程序中的Y7是“向另一个PLC提供输入信号用的”这一信息还不够,还应该知道另一个PLC是用这个Y7信号的“ON/OFF”状态,还是只用其“上升沿”或“下降沿”?假如另一个PLC只是用这个Y7信号的“上升沿”,那么,我们就可以将原程序的101步等效化简之后只有80步(都未计END)。

 

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2010-10-25 20:50:19
71楼

 

  我先贴一个该程序的化简的SFC图片出来:

luw816

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 65回
  • 年度积分:0
  • 历史总积分:777
  • 注册:2010年2月09日
发表于:2010-10-25 22:53:02
72楼
回复内容:
对:wanggq 关于

 

  今天我们谈<luw816>网友的这个SFC程序的化简问题。

 

  对于这种实际问题,因为我们不在现场,对实际问题的信息没有全部的了解。所以,除了<luw816>之外,我们谈这个问题是没有优势的。还望<luw816>网友大力的支持,把我们需要的相关实际信息尽量的提供给我们。

 

  譬如,我们仅仅知道这个SFC程序中的Y7是“向另一个PLC提供输入信号用的”这一信息还不够,还应该知道另一个PLC是用这个Y7信号的“ON/OFF”状态,还是只用其“上升沿”或“下降沿”?假如另一个PLC只是用这个Y7信号的“上升沿”,那么,我们就可以将原程序的101步等效化简之后只有80步(都未计END)。

 

内容的回复:
非常感谢  弄的我都不知道咋谢你了!!呵呵 。y7用的算是上升沿吧,不需要一直接通但需要有一点宽度,实验得出k10就最小了。那么plsy用到步进顺控中为啥会发生这么种情况啊?

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2010-10-26 07:49:39
73楼
引用<luw816 >的内容:

  “y7用的算是上升沿吧,不需要一直接通但需要有一点宽度,实验得出k10就最小了”。

  


 

   回复:只对Y7信号的前1.0秒的部分考虑,且1.0秒之后的ON没有限制,那就简单了,如下红色内容就是相应的片断:

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2010-10-26 07:54:23
74楼

 

  关于<luw816>提问的“plsy用到步进顺控中为啥会发生这么种情况?”,我早已经回复过了!

 

  我在第56、59、60楼用这3个回帖合起来说明了<PLSY>指令放在“状态S21”的片断中会造成该指令在“状态S21”关断期间没有经过“OFF演算”,所以当“状态S21”第2次开通时,<PLSY>指令再驱动时运算出错,故“状态S21”第2次开通期间<PLSY>没有脉冲输出;“状态S21”第3次开通时,<PLSY>指令才开始执再驱动所赋予的“输出脉冲”的任务。即编程手册中所提到的<PLSY>指令的特点:

 

请在以下条件成立的基础上执行指令驱动接点OFF状态后的再起动。

 

  条件: 前次驱动的脉冲输出指令的“脉冲输出中监视(Y00:[M8147],Y01:[M8148])”处于OFF状态后,必须经过1个以上演算周期方能再次执行。

   

  这是由于脉冲输出指令的再次驱动必须经过1次以上OFF运算。若在上述条件指定时间前执行再次驱动,将在最初指令执行扫描时发生“运算错误”,在第二次指令执行扫描时开始输出用于再驱动的脉冲。

---------------------------------------------------

  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指令的问题》等一系列的帖子。
                          

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2010-10-26 15:21:29
75楼

 

    80步的步进梯形图:               (和<luw816>网友要求的顺序功能是一样的)

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2010-10-26 15:52:32
76楼

 

  因为我注意到<luw816>网友的原程序中的Y2、Y3、Y4(分别控制仨电磁阀)在不同的“状态S”里总是一同ON,也一同OFF!所以,我们就没有必要分别用12条指令去操作它们了,改用4条指令分配到4个“状态S”里对Y2操作足矣。PLC的Y2对外接一个仨触点的继电器,由继电器控制仨电磁阀。

 

    在“状态S”的分配上,原程序用了8个“状态S”,而化简的程序只用了5个“状态S”。

 

  原程序中“状态S0”基本上没有分配实质性的任务,所以,我将原程序中“状态S20”的任务分配给了“状态S0”,从而取消了“状态S20”。

 

  再把原程序中“状态S23”的任务合并到“状态S22”中,从而取消了“状态S23”;再把原程序中“状态S25”的任务合并到“状态S24”中,从而取消了“状态S25”。

 

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2010-10-26 16:50:55
77楼

 

  改动较大的是“状态S21”:

 

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2010-10-26 16:59:04
78楼

 

  对原程序中“状态S21”的化简,与其说是“等效化简”,毋宁说“改良化简”:

 

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2010-10-26 17:07:41
79楼

 

  移动前后的片断比较:

 

yjig

  • 精华:2帖
  • 求助:5帖
  • 帖子:97帖 | 5237回
  • 年度积分:0
  • 历史总积分:12514
  • 注册:2004年6月04日
发表于:2010-10-26 17:18:24
80楼

王大师又是图,又是说明,还不知楼主能否看得明白。

其实本人在37楼就曾经提醒过,将PLSY移到S0之前,估计楼主根本就没试验。


热门招聘
相关主题

官方公众号

智造工程师