运动控制器及数控系统的工程应用
上QQ阅读APP看书,第一时间看更新

第9章 基于运动控制脉冲单元的专用机床控制系统开发

9.1 项目背景

某客户的专用机床工作要求如下:

1)运动轴用伺服电动机控制,要求实现精确位置控制。

2)要求实现绝对位置检测,即不需要每次上电后回原点。

3)能够实现连续多段定位。

4)能够作速度控制,也能够实现位置控制。

5)加工零件对象固定,工作程序固定。

6)控制系统成本低。

9.2 控制系统方案及配置

9.2.1 方案及配置

经过对客户专用机床动作要求和性能指标的详细了解,提出了下列控制系统方案:

1)主控系统采用三菱FX2N-80MR PLC。

2)运动控制单元采用FX2N-1PG位置控制单元。

3)伺服驱动器采用MR-J3-350A(200VAC级)。

4)伺服电动机采用HF-SP352,额定功率为3.5kW,额定转速为2000r/min。

9.2.2 位置控制单元FX2N-1PG

选用FX2N-1PG(以下简称1PG)作运动控制是因为其具备位置控制器的丰富功能。其功能简述如下:

1)1PG是一个简单的运动控制器,它通过发送脉冲给伺服驱动器或步进电动机实现运动控制。

2)1PG不能独立实现运动控制,它只是作为FXPLC的一个功能单元使用,必须通过主控制FXPLC对1PG进行读、写指令操作(FROM/TO指令),从而实现运动控制。

3)1PG作为一个运动控制器其内部也有接受运动指令的“接口”和表示运动状态的“接口”。由于它必须与主PLC交换信息,所以这些接口都在其缓冲区——BFM。在BFM区内规定了各“指令接口”和“状态接口”的位置。

4)所有与运动相关的参数全部在BFM内,通过PLC的写指令进行设置。

5)1PG具备“回原点模式”“JOG模式““自动模式”,没有“手轮模式”。

6)在自动模式中其运动指令有:①单速定位;②(带工艺完成功能的)单速定位;③外部信号指令定位;④双速定位;⑤变速运行(速度可任意变化,类似于变频器)。

9.3 基于1PG的自动程序编制

对1PG只能设置定位位置、定位速度和定位方式。要构成连续的自动运行方式必须在PLC一侧编制步进程序,如图9-1所示。

978-7-111-48108-9-Part01-71.jpg

图9-1 步进程序

在图9-1所示的PLC程序中,在第342步,用上电信号设置一个“初始状态”;在346步,在自动起动指令X007=ON,进入第1工步S20,在这一工步中,用脉冲信号设置“定位距离”和“定位速度”。

用X007发出单速定位指令。当定位完成后,用“定位完成信号”起动进入下一工步S30。在S30工步中,重新设置“定位距离”和“定位速度”。由此构成整个运动程序。

在实际的各工步转换程中,根据经验,加一个计时器作延迟更利于稳定的转换。延迟时间要根据工步运行状态确定。

9.4 绝对位置检测系统的建立

1PG没有专门的建立“绝对位置检测系统”的功能,但客户要求在这套控制系统上采用“绝对位置检测系统”。经过分析,要建立“绝对位置检测系统”,必须采用以下两种方法:

1)通过主PLC的绝对值读取指令。这种方法要做硬件电缆连接,比较复杂。

2)采用数控系统建立简易“绝对位置检测系统”的方法。即在运动过程中一直读取系统“当前值”,并将当前值送到断电保持寄存器中,在系统关机时,能记忆住当前数据。在重新上电后把保存的数据送回1PG“当前值寄存器”。

按照此思路,编制程序如图9-2所示。但断电又重新上电后,读出的数据为零,即当前值数据丢失了。错误在什么地方呢?这种方法有问题吗?经过仔细分析:在图9-2所示PLC程序的第233步,如果一上电就读取数据,当前值还为零,因此读出的数据为零。结果为D300=0。到第243步,又将D300(D300=0)写入“当前值寄存器”,所以“当前值=0”。

978-7-111-48108-9-Part01-72.jpg

图9-2 保存当前值的PLC程序

解决这一问题的方法是:先将保存的数据送到“当前值寄存器”,这一步相当于建立坐标系,然后再开始监视并保存“当前值数值”。这样就符合工作要求。处理方法是上电后延迟一段时间再读取当前值数据。改进后的程序如图9-3所示。在图9-3中,在第213步,上电脉冲M8002之后,再经过50ms才发出SET M10指令,用M10控制第202步的“读当前值指令”。这样就可以读到在断电时所保存的数据了。

978-7-111-48108-9-Part01-73.jpg

图9-3 建立简易绝对值检测系统的方法

这种简易绝对值位置检测系统建立方法是最简便的方法,推而广之,可以在其他控制系统中使用,只是在最初时还需要一个输入信号作DOG信号建立原点。在对原点位置没有严格要求时,可定义操作面板上任意一个信号作DOG信号,不用实际做一个DOG挡块,这是建立原点的一个简化方法。

使用这种方法要特别注意:如果在断电以后,机械发生了移动,控制系统无法检测到断电期间机械移动的情况,这种情况下必须在上电后重新作“回原点”操作,在建立了正确的坐标系以后,再进行自动运行。

9.5 定位不准的问题及其解决方法

本专用机床的工作要求是作“速度-位置控制”运行,即先以某一速度运行,在接到工艺完成信号后再进行定位。

9.5.1 定位不准的现象

现场运行发现:经过多次运行后,出现定位运行有时准、有时不准的现象。厂家技术人员感到迷惑:同一套系统同一套程序,为什么会出现定位运行有时准、有时不准的现象?

工作机械的动作要求如下:如图9-4所示,以“A点”为原点,顺时针为正向,工件从“A点”开始运行,经过N转后,在C点接到“工艺完成信号”,要求从“C点”开始定位运行到“A点”。

作者在现场仔细观察了工作过程,发现最后的定位运行有时正转、有时反转。以图9-4为例:当圆筒到达C点时,要求圆筒定位运行到A点,圆筒可能按顺时针回到A点,也可能按逆时针回到A点。如果圆筒在速度运行阶段按顺时针运行,在接到工艺完成信号后逆时针运行,就会出现“反向间隙”误差。

因此判断是“反向间隙”在起作用。反向间隙示意图如图9-5所示。

978-7-111-48108-9-Part01-74.jpg

图9-4 工作机械的定位运行

978-7-111-48108-9-Part01-75.jpg

图9-5 反向间隙示意图

由于1PG1没有“反向间隙”补偿功能,因此在反向运行后,必定会出现反向间隙误差。

9.5.2 解决问题的方法

提出的解决方法是:强制定位运行与旋转方向一致。原PLC程序为:以“当前值”除“一圈行程”,取其“余数”,以余数作为定位值反向运行定位。即以“A点”为原点,顺时针为正向,当工件从“A点”开始运行,经过N转后,在C点接到“工艺完成信号”,然后经过“C→B→A”定位到“A点”。

改进后的PLC程序如图9-6所示。

1)求出工件“C点”在一圈中的“当前值”(以当前值除“一圈行程”,取其“余数”,图9-6中D502=余数)。

2)计算“C→A”之间的距离(“一圈行程”减“余数”。D550=“C→A”段的行程)。

978-7-111-48108-9-Part01-76.jpg

图9-6 单向定位PLC程序

3)求出定位点A点的绝对数值(“C点绝对当前值”+“C—A之间的距离”。D580=“A点”的绝对行程)。

4)以此数值作为工艺完成定位指令的数值。

第516步就是计算“A点”绝对位置的过程。计算“A点”绝对位置的目的就是要在下一步的定位运行中给出一目标值,保证下一步是继续向前正转运行而不会反转运行。这样就避免了反向间隙的影响。经过这样的PLC程序处理之后,整机就能够准确定位。

由于1PG没有“反向间隙补偿”功能,所以在选型时必须注意,对要求精确定位、有换向运动的机床是不适合的,但是对一般定位精度要求,而且动作简单或动作固定的机床还是适用的。

对于动作简单的机床可以将动作规定为一个方向运动,而且应该与最初的回原点方向一致。

对于要求换向动作复杂的机床,如果其运动程序固定,则可以在运动程序中编制一个“换向编程子程序”,每次运动换向前就调用一次“换向编程子程序”。这就相当于执行了一次“反向间隙补偿”,也可以实现“反向间隙补偿”。只是要求每套机械对应于一套程序,否则编程的工作就太大了。

9.6 结束语

1PG是一个功能足够丰富的位置控制单元,适合于控制动作固定的工作机械。实际上一台主PLC可以带8台1PG,所以可以低成本地构成一套多轴控制系统。

经过处理,1PG系统也可以构成“绝对位置检测系统”。

但1PG毕竟是简易的低成本位置控制系统,没有“反向间隙补偿”,没有手轮功能。这是选型时必须注意的。