帮忙找下问题 点击: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




luw816

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 65回
  • 年度积分:0
  • 历史总积分:777
  • 注册:2010年2月09日
发表于:2010-10-12 15:28:29
21楼
回复内容:
对:wl7878010 关于你的问题在脉冲输出个数为0,步进电机无法转动。计算出步进电机驱动器需要的脉冲个数,再把PLSY后面的K0改成数值就OK 内容的回复:此处k0是不能变的,k0的意思是无限个脉冲,我这台机器需要的电机转数是不一样而且不固定,所以用的k0.........


luw816

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 65回
  • 年度积分:0
  • 历史总积分:777
  • 注册:2010年2月09日
发表于:2010-10-12 15:35:37
22楼
回复内容:
对:纯熟巧合 关于

脉冲输出个数K0不是为0,是说无数个脉冲.  频率5HZ 不知道楼主的电机转的有多慢.....

楼主可以拿上电脑到现场监视运行调试,看问题出在哪里. 看每个生产周期Y0口是否都有输出...看问题是出在程序上还是机台上...

步进很容易玩的,建议楼主增加脉冲输出标志进去.....

 

内容的回复:k0这个我清楚啊,k5只是当时随便输的一个只值啊,真实的大约在100hz左右,用电脑监控过,确定是y0的输出的问题啊
也就是程序的问题,如果把plsy去掉,直接输出y0的话是正常的,所以我觉得是我对plsy的理解还不够。现在使用的,我把程序改了一下,在外不加了一个继电器,但是效率太低,所以请大家帮下忙,解决下这个问题。

luw816

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

我觉的,你最好监控一下,如果脉冲输出的指令每次都执行,有时输出,有时没输出;那就用个中间单元把他放在步进的外面。

内容的回复:想尝试加个中断进去,不知可行否......


luw816

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 65回
  • 年度积分:0
  • 历史总积分:777
  • 注册:2010年2月09日
发表于:2010-10-12 15:43:59
24楼
回复内容:
对:lingf454 关于我的邮箱:lingf545@163.com 内容的回复:程序的附件不会添加啊..........


lingf454

  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 115回
  • 年度积分:0
  • 历史总积分:1345
  • 注册:2009年12月04日
发表于:2010-10-14 09:33:19
25楼

对你无语,连邮件都不会发啊?

luw816

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

对你无语,连邮件都不会发啊?

内容的回复:我晕  邮件俺上初中时就会,只是程序的附件没加上。。。。。。


纯熟偶然

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 500回
  • 年度积分:0
  • 历史总积分:2229
  • 注册:2009年1月03日
发表于:2010-10-15 16:20:02
27楼
在第15步那的 SET S21   前面加个M8147的常闭点.

春回大地

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 122回
  • 年度积分:0
  • 历史总积分:231
  • 注册:2005年7月26日
发表于:2010-10-15 17:26:36
28楼
按照使用PLSY这一指令来说,K5是脉冲频率;K0表示连续脉冲输出;只要指令处在ON情况下,Y0就一直输出不间断脉冲。简单的说要想得到连串脉冲输出,保持指令ON;否则关。如规定要脉冲数,请在脉冲输出完时下一步写M8029。

luw816

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 65回
  • 年度积分:0
  • 历史总积分:777
  • 注册:2010年2月09日
发表于:2010-10-15 19:15:23
29楼
回复内容:
对:纯熟偶然 关于在第15步那的 SET S21   前面加个M8147的常闭点. 内容的回复:谢谢  我试一下


luw816

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 65回
  • 年度积分:0
  • 历史总积分:777
  • 注册:2010年2月09日
发表于:2010-10-15 19:19:11
30楼
回复内容:
对:春回大地 关于按照使用PLSY这一指令来说,K5是脉冲频率;K0表示连续脉冲输出;只要指令处在ON情况下,Y0就一直输出不间断脉冲。简单的说要想得到连串脉冲输出,保持指令ON;否则关。如规定要脉冲数,请在脉冲输出完时下一步写M8029。 内容的回复:
现在的状况是 y0每隔一周期才输出一次啊。

yjig

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

针对Y0每隔一周期才输出一次啊,建议你做一测试,将程序中的【PLSY  K5  K0  Y0】,临时改成未使用的X*单独控制,不受其他输入影响,看看是否仍然是每隔一个周期才输出。

本人有过类似的经历,也与楼主的情况一样,其输出速度相当慢,每个周期输出一个脉冲。经检查发现是程序在执行过程中,数据有更新的“可能”,后来将脉冲输出指令放在程序(所有的寄存器D赋值后)的后面,问题也就解决了。

以上故障,至今我也无法解释,明明是没有任何更新,可程序就是不听使唤。

yjig

  • 精华:2帖
  • 求助:5帖
  • 帖子:97帖 | 5237回
  • 年度积分:0
  • 历史总积分:12514
  • 注册:2004年6月04日
发表于:2010-10-15 20:10:00
32楼
楼上的问题还有一种可能,是否与顺序控制相关?

luw816

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

针对Y0每隔一周期才输出一次啊,建议你做一测试,将程序中的【PLSY  K5  K0  Y0】,临时改成未使用的X*单独控制,不受其他输入影响,看看是否仍然是每隔一个周期才输出。

本人有过类似的经历,也与楼主的情况一样,其输出速度相当慢,每个周期输出一个脉冲。经检查发现是程序在执行过程中,数据有更新的“可能”,后来将脉冲输出指令放在程序(所有的寄存器D赋值后)的后面,问题也就解决了。

以上故障,至今我也无法解释,明明是没有任何更新,可程序就是不听使唤。

内容的回复:
您好,使用x.....单独控制可以试试,我印象中不加任何其他指令好像可以,plsy必须要用plc来试,监控不了,看plsy的使用时有这么一句话“此指令再次运行必须经过一个完整的扫描周期.......”程序上不知道怎么解决它了,暂时只是改变了一些程序在外不用了一个继电器,效率达不到要求。另外你所说的解决方式能再详细点么?俺是个新手还望多多指教!!不胜感激啊!!还有不知道您有没有尝试过加入一个中断程序,现在我手头没有三菱的plc了,只有lg的,这个我还不太熟悉啊。。。

penghuida

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 10回
  • 年度积分:0
  • 历史总积分:43
  • 注册:2010年9月18日
发表于:2010-10-16 15:20:46
34楼

加一个M8029就行啦,意思就是加一个完成标致位。每次都要发送完成当前脉亮才能进行下一次的发送,这样每个周期都会有输出了。

 

penghuida

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 10回
  • 年度积分:0
  • 历史总积分:43
  • 注册:2010年9月18日
发表于:2010-10-16 15:27:11
35楼

你这个脉冲程序没有脉冲完成标致位,就会出现这样的问题的。用脉冲完成标致位来控制Y5的断开而不能用输入X1来断开就可以了。

脉冲输出最好是用DRVI指令控制,PLSY用来控制点动。

还不明白就QQ我:513792020

yjig

  • 精华:2帖
  • 求助:5帖
  • 帖子:97帖 | 5237回
  • 年度积分:0
  • 历史总积分:12514
  • 注册:2004年6月04日
发表于:2010-10-16 15:50:40
36楼

回luw816:

有一个分析方法,你可试一试,你保留程序中的必须部分,其余无关部分删除一半,看看是否解决问题?

如不行,再删除一半,直到完全解决为止,最后删除的部分就是问题的所在。

当然,你必须备份程序!

yjig

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

还有一分析方法,你可试一下。将程序中的STL  S21的以下部分:

“┫/ X11┣-------┫Y5┣-------【PLSY K5 K0 Y0】”,改成“┫/  X11┣-------┫Y5┣-------(M100)”,该程序仍然在S21之间,然后把:

M100放在程序的最前端(S0之前),即变成了:

-┫M100┣-------【PLSY K5 K0 Y0】”,改的目的,看看顺控是否影响脉冲输出。

纯熟偶然

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 500回
  • 年度积分:0
  • 历史总积分:2229
  • 注册:2009年1月03日
发表于:2010-10-18 11:20:41
38楼
引用luw816 的回复内容:回复内容:
对:纯熟偶然 关于在第15步那的 SET S21   前面加个M8147的常闭点. 内容的回复:谢谢  我试一下


那么楼主的问题是否已解决了?



luw816

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 65回
  • 年度积分:0
  • 历史总积分:777
  • 注册:2010年2月09日
发表于:2010-10-18 20:21:43
39楼
回复内容:
对:纯熟偶然 关于引用luw816 的回复内容:回复内容:
对:纯熟偶然 关于在第15步那的 SET S21   前面加个M8147的常闭点. 内容的回复:谢谢  我试一下


那么楼主的问题是否已解决了?

这几天放假了  ,等明天上班时试试......

内容的回复:


donglisheng1@163.com

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 136回
  • 年度积分:0
  • 历史总积分:532
  • 注册:2005年9月24日
发表于:2010-10-19 09:39:07
40楼
X11是做什么用的?正常运行时一直无输入?正常运行时后边的步序不执行?

热门招聘
相关主题

官方公众号

智造工程师