一.概述
两轴运动控制系统在许多自动化设备中都有应用,如X-Y台控制,医疗器械(如X光机)等。常用的上位控制单元有自开发单片机系统、具有运动控制功能的专用PLC(如松下FP0)等。本文介绍一种更具开放性、控制更灵活的上位控制单元——运动控制卡。
两轴运动控制系统的执行电机多采用步进电机或全数字式伺服电机。MPC01运动控制卡是步进机电公司开发的基于PC机ISA总线的步进或数字式伺服电机的上位控制单元。它与PC机构成主从式控制结构:PC机负责人机交互界面的管理和控制系统的实时监控等工作;MPC01卡完成运动控制的细节(包括脉冲和方向信号的输出、自动升降速处理、原点和限位等信号的检测等)。
下图为一个简单的两轴运动控制系统控制电路接线图:
二.两轴运动系统的基本运动型式及实现方法
1. 独立运动
所谓独立运动指各轴的运动之间没有联动关系,可以是单轴运动,也可以是两轴同时按各自的速度运动。点位运动、连续运动都属于独立运动。
(1)点位运动函数
点位运动是指被控轴以各自的速度分别移动指定的距离,在到达目标位置时自动停止。在MPC01函数库中共提供了六个点位运动指令函数:
int con_pmove(int ch,long step);
int fast_pmove(int ch,long step);
int con_pmove2(int ch1,long step1,int ch2,long step2);
int fast_pmove2(int ch1,long step1,int ch2,long step2);
(2)连续运动函数
连续运动是指被控轴以各自的速度按给定的方向一直运动,直到碰到限位开关或调用制动函数才会停止。在MPC01函数库中共提供了六个连续运动指令函数:
int con_vmove(int ch,int dir);
int fast_vmove(int ch,int dir);
int con_vmove2(int ch1,int dir1,int ch2,int dir2);
int fast_vmove2(int ch1,int dir1,int ch2,int dir2);
(3)回原点函数
回原点运动是指被控轴以各自的速度按给定的方向一直运动,直到碰到原点信号限位开关或调用制动函数才会停止。在MPC01函数库中共提供了六个回原点运动指令函数:
int con_hmove(int ch,int dir);
int fast_hmove(int ch,int dir);
int con_hmove2(int ch1,int dir1,int ch2,int dir2);
int fast_hmove2(int ch1,int dir1,int ch2,int dir2);
2.插补运动
插补运动是指两轴按照一定的算法进行联动,被控轴同时启动,并同时到达目标位置。插补运动以矢量速度运行,矢量速度分为常矢量速度和梯形矢量速度。与插补运动有关的函数有:
(1)线性插补函数
线性插补运动是指两个轴以矢量速度(常矢量速度或梯形矢量速度)作线性联动,每个被控轴的运动速度为矢量速度在该轴上的分速度,各个被控轴同时启动,并同时到达目标位置。MPC01函数库中提供四个线性插补函数:
int con_line2(int ch1,long pos1,int ch2,long pos2);
int fast_line2(int ch1,long pos1,int ch2,long pos3);
(2)园弧插补函数
圆弧插补运动是指两个轴以矢量速度(常矢量速度或梯形矢量速度)沿给定圆弧作联动,每个被控轴的运动速度为矢量速度在该轴上的分速度,由于矢量速度的方向在不断改变,各被控轴的运动分速度也在不断改变。各个被控轴同时启动,并同时到达目标位置,并且两个轴的合成运动轨迹为给定的圆弧。MPC01函数库中提供四个圆弧类插补函数:
int arc_certer(int ch1,int ch2,long cen1,long cen2,float angle);
int fast_arc_center(int ch1,int ch2,long cen1,long cen2,float angle);
int arc_final(int ch1,int ch2,int dir,long fx,long fy,long radius);
int helical_move(int CHX,int CHY,int CHZ,long cen1,long cen2,float angle,long pitch);
三.结束语
通过调用MPC01运动控制卡的运动函数库,可以快速、方便地开发出两轴运动控制系统。系统控制功能的修改或增、删可通过修改控制程序实现,具有较大柔性。