wkp2013
级别: 探索解密
精华主题: 0
发帖数量: 10 个
工控威望: 140 点
下载积分: 636 分
在线时间: 38(小时)
注册时间: 2013-08-31
最后登录: 2022-10-18
查看wkp2013的 主题 / 回贴
楼主  发表于: 2014-09-03 10:41
现在要编一个程序,程序的运算思路卡住了,不知道怎么往前走,情况是这样的 ,一条生产线有个冲孔机和切刀,冲床每隔一定距离冲孔,冲床后面有个切刀,切一定长度的板材,假如说传送带每传送600mm停止冲床下降冲一次,传送带每走1300mm停止切刀下降切一次,传送带电机有一个编码器脉冲反馈到PLC,这个程序怎么编写?各位老师帮帮小弟,第一次编写程序老板还催的急。   ,附加:台达plc ,台达的变频器,欧姆龙的编码器,求思路加程序
[ 此帖被wkp2013在2014-09-03 14:11重新编辑 ]
aojianyun121
级别: 家园常客
精华主题: 0
发帖数量: 133 个
工控威望: 523 点
下载积分: 5400 分
在线时间: 110(小时)
注册时间: 2010-11-25
最后登录: 2024-01-27
查看aojianyun121的 主题 / 回贴
1楼  发表于: 2014-09-03 16:29
   你这样没精度要求吧? 编码器没用过,我是这样想的,假设你一个脉冲走1MM, 一圈600MM ,这样走600MM就需要走600个脉冲。因为是变频器控制,就需要速度和计数相结合,提前让它减速。    例如速度为V1    走600MM  就可能是刚好600
                                                                                                                                                 速度为V2                                     可能是500  然后减速为V0 在到一定位置  给变频器一个停止信号
                                                                                                                                                   速度为V3                                   可能是400  然后减速为V0 在到一定位置  给变频器一个停止信号
等,你把速度和计编码器的个数,做好对应的关系提前让它减速直到停止下来为你设定的距离个数。至于切刀和冲孔,不是一个点输出吧,只要不是一个输出逻辑上就更好处理了。  


用伺服更好做一点,       不一定对,有错的希望指正出来
[ 此帖被aojianyun121在2014-09-03 16:37重新编辑 ]
aojianyun121
级别: 家园常客
精华主题: 0
发帖数量: 133 个
工控威望: 523 点
下载积分: 5400 分
在线时间: 110(小时)
注册时间: 2010-11-25
最后登录: 2024-01-27
查看aojianyun121的 主题 / 回贴
2楼  发表于: 2014-09-15 12:16
引用
引用第4楼wkp2013于2014-09-03 17:13发表的  :
先谢谢你的回复,冲床和切刀是两个输出点控制,可以认为,Y1 ,Y2。你给出的解释很好理解也很好实现,传送带传送,编码器计数,每传送600mm冲床下降一次,这个很好处理,但是后面还有个切刀要求传送1300mm后切刀动作,只有一个编码器反馈给PLC脉冲。假如走600个脉冲,冲床下降,以冲床下降动作清零编码器,这样切刀永远也达不到1300个脉冲,假如冲床下降不清零,让切刀下降动作清零编码器,这是就出现一个问题,冲床如何动作,600mm时候可以动作,1200mm可以动作,但这时再走100mm 切刀就动作编码器就清零,等下次再启动传送600mm冲床下降时,其实传送带已经传送了700mm,这里要求冲床每传送600mm就出现矛盾处,如何处理,待解?

      不是很明白你的意思,第一个600 Y1输出,   不清零,清了不计数了,后面的永远达不到。   因为一直在计数,到1200和600怎么会有输出呢?  这两个数据又不是相等的,怎么可能会给一个输出信号呢?  不懂你的数据处理思路。  
   我的想法是一你计数存到   D0         然后D0和600比较 等于时输出Y1   D0 继续和1300(如果是还要加上前面6000的话,你可以加个600即是和1800比较) 比较  等于时输出Y2   在清零。再循环。  
            即使你上面说的,到600是输出,Y1输出时你可以记一次数,第二次到1200时 让Y1不输出不就结了,到1300时输出Y2并清除。