Mitsubishi 三菱FXPLC学习之定位指令

发布时间 2023-08-07 11:30:41作者: 一杯清酒邀明月

  在PLC中,定位指令主要是用于位置控制,结合脉冲输出指令可以实现步进电机和伺服电机的精准控制与定位。而位置控制的应用非常广泛,如电梯的平层、工厂生产流水线的控制等。

  所以,在讲定位指令之前,我们很有必要先了解定位控制的相关概念与含义。

一、定位控制的相关概念

  所谓定位,即位置的确定,而位置的确定,是需要参考点的。例如有人问湖南在哪,回答可能会是“广东的北边”、“湖北的南边”、“江西的西边”、“贵州的东边”等,每个答案都对的,但每个答案又是不一样的。

  同理,在定位控制中,也有相对定位和绝对定位的概念,它们是针对起始位置的设置而言的,如下图24-1所示。

 

1、相对定位

  所谓相对定位,即相对于当前位置,目标位置有多远,在哪个方向。如图24-1所示,已知当前位置(B点)坐标为100,而A点相对于B点的距离(位移)是300-100=200,所以位移量为200,向右移。又或者,若目标位置为D点,根据相对定位的含义,D点离当前位置的B点距离是-300-100=-400,即位移量应为-400,“-”号表示向左移。

  在相对定位中,根据相对定位确定的位移量称为相对位移或增量式位移。

2、绝对定位

  所谓绝对定位,即与坐标原点相比较,目标位置有多远,在哪个方向。如图24-1所示,已知A点坐标为300,这个坐标显然是与坐标原点为参考点的,所以位移量应为300(即坐标值),向右移。又或者,若目标位置为D点,根据绝对定位的含义,D点坐标是-300,即位移量为-300,向左移。

  在绝对定位中,位移量与当前位置无关,它以原点为参考点,而原点一旦确定,一般都不会改变。

知道了两种定位方式,我们还要了解几种速度。

3、定位控制中的几种速度

  我们以电机的定位控制为例,如下图24-2所示,电机在驱动机构运转时,一般要历经几种速度的变化。

(1)基地速度vb:它是电机的启动速度,对应A点,是一个临界值。从图24-2可以看到,基低速度并不等于0,这表明电机在启动加速期间,并不是从0开始的,这在我之前讲脉冲输出指令PLSR的时候也可以发现。

(2)运行速度vn:电机加速完后的实际运行速度,在图24-2中,该速度是恒定的,这种电机运行速度不变的模式称为单速定位运行模式。除此之外,也有电机运行速度可变的模式,例如用PLSV指令控制电机运行,其速度可自由改变。

(3)最高速度vm:电机运行时可达到的最高速度,也是一个临界值。

根据几种速度的定义,会涉及到几个时间,如图24-2所示,其中t1、t2分别为加速时间和减速时间,表示电机从基地速度到最高速度之间变化的时间,两者一般设置为相等。

t3、t4分别为实际加速时间和实际减速时间,表示电机实际加减速时间,显然它们与电机的实际运行速度有关,两者一般也设置为相等。

另外,基地速度是电机的启动速度,所以不能太大,一般小于最高速度的十分之一。

品尝了以上定位控制的相关开胃菜后,我们是时候上主菜“定位指令”了。

二、定位指令

  之前的文章基本是基于FX2N所写的,但很遗憾,FX2N没有定位指令,所以本次所分享的定位指令是基于FX1S和FX1N的,不适用于FX2N。

1、原点回归指令ZRN

  这里的原点,即定位控制中的原点,是以PLC所接的进点开关(DOG)为准的,如下图24-3所示,近点开关或以机械原点为参考安装,也可以人为地选择其他位置。所以,机械原点不一定是原点回归指令中的原点。

  所谓“原点回归”,顾名思义,是使各种机械设备回归到原点位置。那为什么要设置原点回归呢?

  这是因为在定位控制中,若PLC断电,与位置相关的当前值寄存器数据会被清零,而机械设备却不一定处于原点位置。为了让机械设备的当前位置与寄存器数据(为零)一致,在PLC再次上电后该应用原点回归指令使得机械设备回到原点。那么,在接下来的定位控制中,就能是使寄存器数据与机械设备的当前位置保持对应。

  原点回归指令ZRN的编程手册截图与梯形图形式如下图24-4所示,可适用于16位和32位,有脉冲执行型和连续执行型两种。

ZRN指令有4个操作数,它们的内容如下:

S1表示原点回归速度,取值范围为10~32767Hz(16位)或10~1000000Hz(32位)。

S2表示爬行速度,取值范围为10~32767Hz,爬行速度的更多内容后面会讲到。

S3表示近点信号输入端口,可以是X、Y、M、S,一般是X0~X7,最好是X0、X1。

D表示脉冲输出端口,仅为Y0或Y1。

  如下图24-5所示,当驱动条件成立时,机械以S1指定的原点回归速度(vn)从当前位置向原点移动,直到碰到近点信号的前端即开始减速,减到爬行速度(vp)后就以爬行速度向原点移动,当检测到DOG的后端(近点信号由ON变OFF)时,机械在1ms内停止。

  以上的说明中提到了两个速度,即原点回归速度和爬行速度。原点回归速度一般比较大,这样可以让机械较快地回到原点,但较快的速度惯性也比较大,所以在快要回到原点的时候,让机械减速到爬行速度,缓慢接近原点,直到停止。爬行速度一般大大低于回归速度,但大于或等于基底速度。

  如图24-5所示,机械要从回归速度降到爬行速度,显然是需要时间的,所以近点信号的接通时间不能太短,必须保证大于这个减速的时间。

  和脉冲输出指令一样,原点回归指令的应用也会涉及到几个特殊辅助继电器和数据寄存器。

2、ZRN指令的相关特殊软元件

  下图24-6所示为ZRN指令的相关的特殊辅助继电器。

  其中M8140为ZRN指令时清零信号输出功能有效,在应用ZRN指令时,若预先将M8140置ON,就能够在原点回归结束后向伺服电机输出清零信号。若ZRN指令的脉冲输出口为Y0,则清零信号输出口为Y2;若ZRN指令的脉冲输出口为Y1,则清零信号输出口为Y3。

其余几个特殊辅助继电器在脉冲输出指令中已经讲解,在此不再赘述。

下图24-7所示为ZRN指令的相关的特殊数据继电器。

  其中D8145存储的是基低速度的值,为最高速度的十分之一,若超出范围,自动以最高速度的十分之一运行。而D8140~D8143的含义与脉冲输出指令的一样,在此不再赘述。另外的几个寄存器内容也比较简单,我相信大家一看就能明白!

  知道了原点回归指令后,我们再接着看另外的两个指令DRVI、DRVA。

三、相对位置控制指令DRVI和绝对位置控制指令DRVA

  首先,从名字上我们就可以知道,这两个指令的功能,分别是用于相对定位和绝对定位的。

1、相对位置控制指令DRVI

DRVI指令的编程手册截图和梯形图形式如下图24-8所示,有4个操作数,其含义分别如下:

S1表示输出脉冲量(相对位移量),取值范围为-32768~+32767(16位)或-999999~+999999(32位),0除外。

S2表示输出脉冲频率,取值范围为10~32767Hz或10~100000Hz。

D1表示输出脉冲端口,仅为Y0或Y1。

D2表示指定旋转方向的输出端口,ON:正转;OFF:反转。

  当驱动条件成立时,指令通过D1指定的输出端口输出一个频率为S2、脉冲数为S1的定位脉冲,其中S1的正负确定位置移动的方向(即电机的转向)。若S1为正表示正转,绝对位置变大;反之,若S1为负表示反转,绝对位置变小。

  DRVI指令的控制分析如下图24-9所示。

  显然,它是自带加减速的,根据上文的特殊数据寄存器,最高速度是有限制的,即S2的设定值被D8146、D8147的值所限定。

  其实,除了最高速度,S2也有一个最小值的限定,如下图24-10的编程手册截图所示。从图24-10可以发现,最低输出频率只与最高速度和加减速时间有关,若最高速度为50000Hz,加减速时间为100ms,此时就可以算出S2的最小值为500Hz。此时,若S2的值小于500Hz,则按500Hz输出。

2、绝对位置控制指令DRVA

DRVA指令的编程手册截图和梯形图形式如下图24-11所示,也有4个操作数,其含义分别如下:

S1表示目标绝对位置指定的脉冲量,取值范围为-32768~+32767(16位)或-999999~+999999(32位),0除外。

S2表示输出脉冲频率,取值范围为10~32767Hz或10~100000Hz。

D1表示输出脉冲端口,仅为Y0或Y1。

D2表示指定旋转方向的输出端口,ON:正转;OFF:反转。

  显然,DRVA指令和DRVI指令的区别只在于S1的设定。当驱动条件成立时,指令通过D1指定的输出端口输出一个频率为S2的定位脉冲,其中S1表示目标位置的绝对位置脉冲量,它是以原点为参考的,若S1大于当前位置值,电机将正转;若S1小于当前位置值,电机将反转。

  我们以图24-11的梯形图为例,执行指令DRVA K25000 K3000 Y0 Y4,目标的绝对位置脉冲量为2500,若当前位置的绝对位置脉冲量小于K25000,电机将正转到K25000处,此时Y4输出为ON;若当前位置的绝对位置脉冲量大于K25000,电机将反转转到K25000处,此时Y4输出为OFF。

  其实,只要我们理解了相对定位和绝对定位的含义,那么DRVA指令和DRVI指令的理解也会简单很多。

最后,定位指令的学习分享就到这了啦,希望大家学有所成!