手轮在三菱FX或台达EH中定位控制系统应用 点击:3758 | 回复:8



    
  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 28回
  • 年度积分:0
  • 历史总积分:34
  • 注册:2004年3月06日
发表于:2014-08-29 20:11:55
楼主

   最近公司淘了台二手镗铣床,机械改造结果最终如下:XYZ三轴改用滚珠丝杆加伺服电机驱动,并且安装光栅电子尺.配置来说应该归类简易数控机床了吧.接下来是电控改造,思路是这样的:加工过程中各轴走刀用波段开关调速,一般波段开关都有二十几档,足以满足各加工需求,工件装夹对刀使用手摇脉冲发生器(以下简称手轮),如此一来,整台机床的档次就上去了.由于本人原来一直使用西门子PLC的,以上控制如果使用西门子PLC控制自然不在话下,也因为对西门子太熟悉了,所以一开此想到的是用西门子200的话还要加定位模块,因为200只有两路高速脉冲输出.后来偶尔翻查了一下台达PLC的选型手册,得知EH2系列的有四路高速脉冲输出,而且输出频率达200KHZ.单看这一点感觉挺强大的.所以最终选择了台达EH2.

   硬件都选好了,接下来接线啥的这里就省略了.万事俱备,只欠东风,事情做到最后一步就是编程和调试.做任何事之前,都应该有个轮廓,有个方向.编程也一样,现在,粗略概括一下编程的大致方向,硬件方面手轮高速计速输入AB相接入PLC的X0,X1,轴向选择XYZ分别对应PLC的X2,X3,X4.最后是倍速选择X1,X10.X100对应PLC的X7.X10.X11输入点.软件编程思路如下:当手轮轴向选择开关转到OFF位置时,摇盘上的十字开关和波段开关起作用,十字开关控制方向,波段开关控制速度.当手轮轴向选择开关使能时,启用手轮,摇盘操作无效.手轮脉冲数由高数计数器计算出来后,再乘以当前选择的倍率,然后得到最终脉冲数发送出去.从而达到定位功能.在开始编程之前,重温一下伺服位置控制常识.伺服电机在位置控制时,最常用的方式是脉冲列+符号控制.脉冲列有两大要素,频率和脉冲数.以一台安川最高速为1500转/分,编码器分辨率为32768的伺服电机为例,最高速度接收脉冲的频率为1500/60*32768=819200.如果以819200/秒的频率发送32768个脉冲给伺服控制器(电子齿轮比为4/1),则代表伺服电机以1500转/分的速度旋转一圈后停止.由此可知,频率影响速度,脉冲数影响位移,这一点很重要.写程序之前,首先要熟悉PLC性能.这点想必不用多说,由于本人原来一直用的是西门子的PLC,用台达PLC真正地去处理问题这还是第一次,于是从官网下了个台达PLC应用技术手册反复看了几遍,企图找到应对上列要求的对策.这不看还好,一看傻眼了,原来冲它一个CPU集成四路高速脉冲输出的硬件功能,想像这款CPU性价比要比西门子200高许多.事实不是这样的,机床三轴的两种控制方式,摇盘上控制(变速控制)和手轮控制(定位控制),只有变速控制可以很容易控制,至于手轮定位控制,看了几遍应用技术手册,没有一个指定可以做到定位脉冲数实时刷新改变的.在此说两句题外话,曾经看过一网友发贴子说三菱台达等PLC功能怎么怎么样牛,最后把西门子批得一文不值,甚至可以扔垃圾桶里了.首先声明我并非西门子的人,对于这位网友,我只能不屑的说你真的只是一只井底土蛙.西门子的自由度与灵活性是所有日系包括亚洲工控产品都无法攀比的.比如现在碰到的问题,手轮定位用西门子PLC可以三言两语就处理了.

   言归正转,我位来看看台达PLC发送脉冲的指令有哪些,高速处理项有三条,API指令号的57脉冲输出,58脉冲冲宽调频,59脉冲输出附加减速,定位控制有13条,API指令号的155-159,191-199指令内容省略一下,想了解的看应用技术手册,另加一个API207.以下我们逐一分析看哪条指令能够达到手轮定位要求.

首先是API57脉冲输出指令,该指令有三个操作数S1脉冲频率,S2脉冲数目,D输出装置,指令执行之后,可以更改频率S1,但是不能更改脉冲数目S2,这一条很要命,我们现在要求是要改变S2,要求驱动手轮的同时,电机跟着手轮转.至于频率S1,手轮控制时还可以不用改变,指定一个频率即可.所以,这条指令不能完成要求.但它可以用于摇盘上的变速控制.摇盘上的变速控制也就轻易解决了.现在的关键是手轮控制.接着往下看API58脉冲冲宽调频,也是三个操作数,S1脉冲输出宽度,S2脉冲输出周期,D脉冲输出装置.没有脉冲数目的控制,直接就可以PASS掉了.API59附加减速脉冲输出,四个操作数S1脉冲输出的最大频率值,S2全部脉冲输出的总脉冲数,S3加减速的时间,D脉冲输出装置.初看指令说明在执行指令后可更改S1,S2.S3操作数,以为终于找到解决方案.但是再一细看,S2操作数设置不能低于110,否则无法正常发送脉冲,,假若真的只是数值限制也罢,大不了把数值放大来做,能达到目的就行.遗憾的是,按照应用技术手册上的例子程序试了一样,这条指令根本就发送不了脉冲.如果有高人看到或用过还望指点迷津.接下来看定位指令,十几个定位指令挨点边的也就两条,API158相对定位和API159绝对定位.它位同样的缺陷就是一旦执行指令,脉冲数是不可改变,假如改变脉冲数,要等指令执行完毕第二次再启动才生效.经过两天不断实验,我有些气馁,原以为很简单的功能竟然实现不了,于是打电话求助台达客服,得出结论是EH2系统PLC实现不了我想要的功能.另外得知还有一条脉冲发送指令,就是API207,据说是EH3版本才有此功能,我查看了一下手册,心也就凉了,就算EH2有此功能也无用,它只支持一路脉冲输出,默认Y0输出.

   难道就这样放弃了,换CPU吗,成本太大,因为我单只是一个CPU,还有两个扩展模块了.而且现在换CPU有如行军打仗临阵易帅的感觉.临阵易帅就是输了.我不想轻易认输,于是上网搜查有没有人处理过这样的问题.终于找到了一个比较接近的论文,百度文库链接为http://wenku.baidu.comli<x>nk?url=rkqVcmCQjUb4uBRut3RWj-3CxJ6SIa__1yMdvFgZ_6ljb44JEi1o5fdFQoZyZqVQjP8ViFD1z61QPV41ydoK58UUwfTZJDXUYkBe9QnacwG.论文给了一点启发我,用脉冲信号作为执行指令的启动信号,这是一个很大胆的设想.我按照论文定了段程序试验了一下,比较接近了,电机可以随手轮边摇边转了.但是,不能精准的定位.

论文应用的是绝对定位指令去驱动伺服,如果只用手轮一种方式去控制伺服的话,虽然不能精准定位,还是能做到边摇边转,但如果还要转换到波段开关控制时,绝对定位似乎就太麻烦了.这两种控制方式每次转换时都要记住电机当前位置,然后刷新电机当前位置,要不然,两种模式一切换电机就找原点位置.在这基础上,我把绝对定位指令换成相对定位指令,效果是怎么样呢,切换控制模式是不再冲突了,同时有一个新的问题也出现了.方向问题,相对定位指令中,方向的定义是你发正脉冲数,它代表正向,发负脉冲时,它代表反向.例如我手轮正向摇一圈累计是一百个脉冲,发送时电机正向旋转,我反向摇动手轮时,计数器由一百往下减,比如半圈,减到五十,发送的脉冲数还是正数,电机依然正转.这样不行.而且,细心的网友会发现还有一个问题.用手轮的脉冲信号作定位指令启动信号,还有一个致命问题,指令每次启动发送脉冲数都是从头开始发,比如我手轮摇到一百个脉冲,期间这条指令不知启动几次,根据你摇的速度的快慢不同而不一样,每次重新开始发,所发脉冲数根本控制不了.绝对定位也不行,会丢失脉冲什么的.

   难道就目前的硬件而言,真的达不到我所想的要求吗,我没认输,经过反复试验,我改变了一下思路,我们再理一理期望的要求.两种控制模式,波段开关改频率就不用考虑了,很容易就能实现,手轮控制时,我们不妨降低一点要求,我允许我摇手轮速度不一样时,同样圈数最终行程不一样,即允许偶尔丢失脉冲,但我一旦对刀慢速摇手轮时,每摇一格伺服的行程必须一样,因为操作机床的时候,真正对刀时,行程都是比较接近的时候再对刀,而且,对刀的时候,你也不可能把手轮摇得飞快.而手轮摇得飞快的时候,你也记不信你究竟摇了多少个脉冲出去,所以,能达到以上所说的,这台机床基本也就没有缺陷了.

   于是我这么想,当我高数计数器计算到1的时候,我马上把这1发送出去,然后利用脉冲发送完成标志位复位高速计数器,周而复始,丢失的脉冲数应该不多,至于指令启动信号,用比较指令比较高速计数器,当大于等于1的时候启动脉冲发送.发送完再复位,如此一来,发送的脉冲数才得以保证,达到精准定位.按照这个思路,我不断的尝试,最终还是成功了.最后提一点,台达做到了,三菱FX系列也能做到,它们的功能指令是一样的.





新手80

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 28回
  • 年度积分:0
  • 历史总积分:34
  • 注册:2004年3月06日
发表于:2014-08-31 18:32:24
1楼

自己先顶一个.网上看到很多人被这个问题困扰,为什么没人关注,郁闷.

新手80

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 28回
  • 年度积分:0
  • 历史总积分:34
  • 注册:2004年3月06日
发表于:2014-09-01 00:21:36
2楼

dfFDSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSWEFH

随心-王者之师

  • 精华:2帖
  • 求助:11帖
  • 帖子:146帖 | 5530回
  • 年度积分:1307
  • 历史总积分:29997
  • 注册:2008年4月27日
发表于:2015-03-16 18:10:56
3楼

非常感谢楼主的分享!立轴磨床的竖直进给运动是否可以改成这样的控制系统呢?磨头带动砂轮渐次向下作轴向进给运动 ,对吸附在砂轮正下方的旋转的圆工作台上的部件进行磨削。

li117948956

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1回
  • 年度积分:0
  • 历史总积分:99
  • 注册:2010年4月13日
发表于:2015-09-28 09:58:35
4楼

楼主,能发个具体的程式吗?

gaoxiaohu110

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 46回
  • 年度积分:0
  • 历史总积分:51
  • 注册:2013年7月09日
发表于:2016-02-29 00:15:55
5楼

楼主威武,这个问题困扰我一年了,1516,愁的不行!今天看了楼主的文章,有种豁然开朗的感觉,谢谢楼主。明天早点起试试!楼主能否提供下那篇论文,或者叫什么名字,链接失效了!qq875279516-谢谢!

追梦的GK

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 33回
  • 年度积分:1
  • 历史总积分:126
  • 注册:2012年1月06日
发表于:2016-06-28 17:24:20
6楼

楼主。学习了。我也正在为这个问题困扰着。

lihanch

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 18回
  • 年度积分:0
  • 历史总积分:5
  • 注册:2010年4月04日
发表于:2017-05-03 15:53:43
7楼

楼主你好

我也有同样的问题,你的程序可以发给我吗?谢谢!

479599478@qq.com

marsjian

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 32回
  • 年度积分:0
  • 历史总积分:159
  • 注册:2011年4月29日
发表于:2018-07-27 15:00:08
8楼

用了台达PLC DVP32ES200TC 有一顿一顿的。


热门招聘
相关主题

官方公众号

智造工程师