定位模块与运动控制器在绝对位置控制中的应用对比
2018-05-14陈志帅马晓凤
许 睿,陈志帅,马晓凤
(中国电子科技集团公司第二研究所,山西 太原 030024)
0 引言
在以伺服电机为执行器件的运动控制系统中,伺服电机的编码器既能检测伺服电机在1转内的位置,又对伺服电机旋转周数进行计数。不管PLC的电源处于ON或OFF状态,绝对位置编码器都能够实时检出伺服电机的绝对位置,并通过电池供电的计数器备份数据。因而在机械安装后只要进行一次原点复归,以后接通电源时不需进行原点复归也能工作。在停电或出现故障后,可以很容易地恢复运行。这就是三菱MR-JE系列伺服驱动器的绝对位置控制系统(Absolute position detection system)。
此外,由于绝对位置的数据是通过检测器中内置的超级电容器保存的,所以即使发生电缆脱落或断线,只要在规定时间(旋转累积计数器的数据保存时间)内恢复供电,绝对位置数据也不会丢失。
运动控制器和定位模块是三菱Q系列运动控制的典型产品,由于运动控制器支持SSCNET(Servo System Controller Network),可以很简便地实现绝对位置控制功能[1]。而定位模块则需要编程人员通过编写PLC与伺服驱动器的通信程序来获取绝对位置值。
在绝对系统中,定位控制是以OP 为参考的指定位置(绝对地址)执行定位,把该地址当作定位地址(起动点可以在任何地方)。在增量系统中,则是把当前停止机器的位置当作起动点,并以指定位移方向对指定位移量执行定位。
1 SSCNET
SSCNET(图1)是一个专为运动控制所制定的网络通讯协议,它是由三菱电机名古屋制作所于20世纪90年代初期发展的新一代运动控制架构,通过使用数字式示波器功能﹐可以用运动控制器实现力距﹑速度﹑位置等电机信息的监控。最新的一代(SSCNET III)采用光纤系统,并配合更高性能的伺服驱动器(MR-JE-B)。SSCNET的网络结构可分为4层:
1) 电机控制层:建构在三菱的MR-JE系列伺服驱动器中,保留原本三菱的伺服控制技术并外加了通讯接口,固定时钟接收伺服指令及传回伺服状态,并控制马达的位置、速度及扭力,可通过伺服驱动器的Station ID switch指定轴号,不受配线顺序影响。
2) 网络通讯层:主要的技术是在同一条网络上的所有轴都依循一个固定的控制周期来动作,也就是控制上具有多轴等时性的特性。
3) 运动控制层:必须有一个同步于SSCNET的运动控制系统,负责将这些指令放到SSCNET的Master IC并且将各轴信息由Master IC取回。
4) 使用者接口层:这一层是纯软件,通常会与运动控制层紧密配合,使用者可以通过本层实现复杂控制。
在上述的第1层伺服控制网络(电机控制层)中,MR-JE系列伺服驱动器以固定时钟接收伺服指令并传回包括电机编码器当前值在内的伺服状态,然后,运动控制器通过运动控制层把伺服状态存放在Master IC中,同时,运动控制器以固定周期(8轴控制时为0.88 ms)控制各轴并更新伺服状态。
当PLC程序命令运动控制器的某轴执行1次原点回归,即1次初始化该轴OP地址,这时,执行了原点回归命令的电机的实际位置就是该轴原点。
图1 SSCNET示意图
2 定位模块实现绝对控制的两种方法
与运动控制器不同,定位模块MR-JE系列伺服驱动器实现绝对控制的原理是:用户编写PLC与伺服驱动器通信程序,使用16点晶体管型输出模块发送“ABS请求”、“ABS传送模式”和“SON”信号[2]。伺服驱动器接收到这些信号之后,通过16点晶体管型输入模块将当前电机编码器当前值(32位)低2位传递至PLC,并循环执行16次。电机编码器当前值被读出之后,绝对位置保存在PLC与定位模块的共用寄存器中,以QD75D4N定位模块为例,1轴当前绝对位置即保存在地址为800的数据寄存器里面。
下面介绍2种可以实现绝对位置读出的PLC梯形图程序:1)以数据通信为主体的绝对位置恢复程序;2)QD75专用指令(ABRST)程序。
2.1 程序一
1) 如果伺服开启信号(SON)和GND之间接通,将在伺服放大器电源接通时或PLC复位后收到RUN信号的上升沿开始传输ABS数据。另外,复位报警和紧急停止状态后同样也将传输ABS数据。
2) 传输数据和校验出错时,将重新传输该数据。最多连续重复3次传输后,如果仍出错,则会产生“ABS和校验出错”。
3)“ABS传输模式”信号,“ABS请求”信号和“ABS传输数据准备完毕”信号,信号如果在规定的时间内没有发生预期的变化(变ON或OFF),则会产生“ABS传输错误”[3]。
伺服放大器在传输32位ABS数据之后,还会传输6位和校验数据。PLC用梯形图程序计算ABS数据的和校验数值,和伺服放大器传送的和校验数值相比较。和校验的计算是把每次收到的2位ABS数据相加,得到6位的和校验数据。如果和检验失败,此时,使用PLC的梯形图程序将ABS传输模式信号(ABSM)和伺服开启信号(SON)置为OFF,在等待20 ms以后,再将这些信号置ON。如果连续3次重新传输数据后仍然无法得到正确结果,则认为通讯处于和校验出错状态,执行相关的出错处理程序。启动指令和ABS数据准备完毕信号应当连锁,这样可使在和校验出错时无法执行定位运行。
2.2 程序二
[Z.ABRST "Un" (S) (D)]是恢复指定轴的绝对位置的专用指令,其中(S)是存储控制数据的软元件的起始地址;(S)+2存储从伺服放大器接收的信号;(S)+3存储传送到伺服放大器的信号;(S)+4显示PLC与伺服放大器通讯的状态,0表示通讯完成,非0表示通讯中(系统存储);(D)显示该指令执行状态。
这两种程序的基本原理一致,只是实现方法有些差异,实际使用中,我们可以直接采用ABRST指令执行绝对位置恢复。
3 应用实例
多刀玻璃划线机的定位控制采用绝对位置控制,在系列产品中分别采用过运动控制器和定位模块作为运动控制主体。
使用运动控制器时,调用SFC程序的K1控制步执行原点复位。K1步程序中,定位地址D600是相对于电机OP地址而言的。
使用定位模块时,程序如图2所示,PLC执行[Z.ABRST "Un" (S) (D)]之后,1轴当前绝对位置即保存在地址为800的数据寄存器里面,[DFRO H0 K800 D800 K1]指令把该寄存器中的数据传送给D800,当需要重新确定原点时,M997置ON,CR信号(Y82)接通20ms,轴当前地点将作为原点ABS 数据保存在EEPROM 中。
图2 定位模块绝对控制程序示例
4 结束语
本文所述绝对位置控制程序已经在以运动控制器和定位模块为运动控制单元的多刀玻璃划线机控制系统中调试成功。通过该程序,实现了设备无传感器的绝对位置控制。同时,本程序对增量式控制系统也有一定的借鉴意义。
[1] 三菱电机株式会社.Motion Controller (Q172/Q173) User's Manual[Z].1999.
[2] 三菱电机株式会社.Q系列定位模块QD75P/QD75D用户手册(详细篇)[Z].1999.
[3] 三菱电机株式会社.MELSERVO-JE Absolute Position Detection System Installation Guide[Z].1999.