运动控制器的程序设计说明书
CANCEL;
FOR J=1 TO VR(318)
FOR I=1 TO VR(316) ;进入循环缠绕达到一定的层数
MOVELINK(VR(300),VR(302),VR(302),0,0);
MOVELINK(VR(304),VR(306),0,0, 0);
MOVELINK(VR(308),VR(310),0,VR(310),0);
的是VR变量。选取VR变量区,从VR(300)开始定义变量。
定义:
VR(300)=Lacc;加速1段小车的行程(转数)
VR(302)=Macc;加速1段主轴的行程
VR(304)=Lconst;匀速2段小车的行程
VR(306)=Mconst;匀速2段主轴的行程
VR(308)=Ldec;减速3段小车的行程
注意: 反向运动可以被CANCEL或RAPIDSTOP指令停止。或到达反向限位,禁止或原点返回。
参阅: AXIS,CANCEL,FORWARD,RAPIDSTOP
例子: back:
REVERSE
WAIT UNTIL IN (0) = ON‘等待停止信号
CANCEL
半自动控制方式待完善。
举例说明该语句的使用方法和功能:
例:飞剪以纸的速度在运动,每160米剪掉滚动的纸。飞剪可以运动到1.2米,此例中使用运动1米的距离。纸的运行长度由编码器测量得出。两轴的单位转换因子设置成米。轴1是连接轴。
MOVELINK (0,150,0,0,1);等待距离
MOVELINK (0.4,0.8,0.8,0,1);加速度
规律一:在加速和减速阶段为了与速度匹配,link dist是distance的两倍。
规律二: 为了满足速度需要,在常速阶段,两轴必须要运动相同的距离,其运动距离与link distance 是相同的。MOVELINK工作在缺省轴,除非AXIS定义其它基本轴,link axis设置驱动基本轴。
注意:若link acc和link dec的和大于link dist,则它们要成比例的减少并使得两者的总和等于link dist。
NEXT I
NEXT J
PRINT“Done”
由上述可知,控制方式分为三种。为了方便调试和运行,本系统还设置了手动控制方式,即单独控制主轴和小车的运动。这三种控制方式可以用以下图来表示。
其中,IN0接通高电平表示自动控制方式;IN1接通表示半自动控制方式;如果以上两种方式都不接通那么即表示为手动控制方式,可以采用三位两通式的选择开关不可自动复位。 IN2接通表示主轴加速; IN3接通高电平表示主轴减速,并且两者不可同时接通,带有自动复位的功能。 同理IN4 和IN5分别表示小车正向加减速输入,类似主轴加减速使用的开关; IN6和 IN7分别表示小车反向加减速输入。
ELSE IF IN3=1 THEN MSPEED=MSPEED-1
ENDIF
ENDIF
FORWORD(MSPEED) AXIS(0)
GOTO Xunhuan
运动控制指令
语法: REVERSE
备选: RE
说明: REVERSE反向连续运动,速度由SPEED参数设置。加速率由ACCEL参数设置。
REVERSE工作在缺省基本轴,除非AXIS定义临时基本轴。
MOVELINK (1,1.8,0.8,0.8,1)
在以上程序中,加速阶段独立编程。这可以在加速结束阶段执行一些动作。
MOVELINK (0.4,0.8,0.8,0,1)
MOVELINK (0.6,1.0,0,0.8,1)
假设本系统中锥形管的长度为L,为了实现它的均匀缠绕,主轴做匀速旋转,并且其所在的轴为轴0,小车也称工作台做加速,匀速,减速的过程,其所在的轴为轴1。
ELSE BACK=1 THEN
IF IN6=1 THEN MPEED=MSEED+1
ELSE IF IN7=1 THEN MSPEED=MSPEED-1
ENDIF
ENDIF
REVERSE(MSPEED) AXIS(1)
ENDIF
ENDIF
IF IN2=1 THEN MSPEED=MSPEEED+1
在手动控制方式下,设置变量分别表示不同的控制方式,用变量MYMODE表示控制方式。
IF IN0=1 THEN MYMODE=1
IF IN1=1 THEN MYMODE=2
ENDIF
ELSE MYMODE=3
ENDIF
小车的动作可分为正向运动和反向运动,这里所说的正向是与主轴旋转的同方向来规定的。因此也需要设置变量来表示小车的运动反方向从而更精确的进行手动控制前进或者后退的距离。这里设置HEAD和BACK分别表示。
MOVELINK (0.6,1.0,0,0.8,1);匹配速度然后减速
WAIT UNTIL NTYPE=0;等待到最后运动开始
OP (0,ON);激活剪子
MOVELINK (-1,8.2,0.5,0.5,1) ;返回
在这个程序中,MC控制单元开始等待滚动150米。在这个距离之后,飞剪加速匹配纸的速度常速运行,再减速至停止,不超过1米的距离。这个运动使用两MOVELINK指令。程序于是等待下一运动缓存清除NTYPE=0。这表明加速阶段完成。连结轴(主轴)的距离在MOVELINK指令中是:150,0.8,1.0,8.2,总共160米。确定速度,飞剪位置和纸在剪切任务中匹配。MOVELINK指令的参数必须正确。因此,最先分别考虑加速度,常速和减速阶段是最简单的。这象以上陈述的,加速和减速阶段需要Link distance是distance的两倍。两个阶段可以定义为:
根据程序流程图可以进行如下编程:
Xubhaun: IF MYMODE=3 THEN
IF HEAD=1 THEN
IF IN4=1 THEN MSPEED=MSPEED+1
ELSE IF IN5=1 THEN MSPEDD=MSPEED-1
ENDIF
ENDIF
FORWORD(MSPEED) AXIS(1)
在进行锥形管缠绕时,为了实现稳定缠绕,这里提出了一种运动方案,因为是进行锥形缠所以,导丝头运动轨迹沿着锥形管外侧母线运动,并且锥形管芯模和小车带动的导丝头两者之间的距离是一定不变的,这样可以使得导丝头加速,匀速,和减速。其一个来回导丝头的运动示意图:
设置参数行程均已知:
1 小车(工作台):Lacc,主轴:Macc ; 2 小车:Lconst,主轴:Mconst; 3 小车:Ldec.主轴:Mdec; 4小车:0,主轴:Mstop; 5小车:-Ldec,主轴:Macc; 6小车:-Lconst,主轴:Mconst; 7小车:-Lacc,主轴:Macc; 8小车:0,主轴:Mstop-。
link pos 这个参数是绝对位置,当参数6设成2,MOVELINK在这个位置开始连结; 参数6和7可选。
其中,参考参数为AXIS,REP_OPTION,UNITS
参数表明,连接轴可以向任意方向驱动输出,基本轴的距离使得连接轴移动相应的距离。连接轴驱动基准轴的移动距离可以分成三个阶段分别是加速、匀速、减速部分。其中加速度和减速由link acc和link dec参数设置。常速连接距离由总连接距离和以上两个参数。这三个阶段可以用三个独立的MOVELINK指令也可以将其叠加在一条指令中。并且使用本指令有两条规律。
IF IN2=1 THEN HEAD=1
ELSE IF IN3=1 THEN HEND=1
ELSE HEAD=0
ENDIF
ENDIF
IF IN4=1 THEN BACK=1
ELSE IF IN5=1 THEN BACK=1
ELSE B的编写程序,首先根据手动控制画出程序流程图,图中有些环节直接用变量来进行判断。下图为手动方式下的程序流程图:
MOVELINK(0,VR(312),0,0,0);
MOVELINK(-VR(308),VR(310),VR(310),0,0);
MOVELINK(-VR(304),VR(306),0,0,0);
MOVELINK(-VR(300),VR(302),0,VR(302),0);
MOVELINK(0,VR(314),0,0,0);
link dist 在用户单位下,从连接开始到结束,被连接轴(主轴)移动的正向距离;
link acc 基准轴加速过程中,主轴转过的正向距离;
link dec 基准轴减速过程中,主轴转过的正向距离;
link axis 连接轴、主轴;
link options 1当主轴色标信号触发时,从轴与主轴开始连结; 2当主轴运动到设定的绝对位置,从轴与主轴开始连结; 4 MOVELINK自动重复连续双向运行。设置REP_OPTION=1,取消此操作;
MOVELINK (0.4,0.8,0.8,0,1)‘此为全加速运动
MOVELINK (0.4,0.8,0,0.8,1)‘此为全减速运动
常速阶段匹配速度,两轴运行相同的距离,因此,运动距离和连结距离相等。常速阶段定义如下:
MOVELINK (0.2,0.2,0,0,1)‘此为全常速运动
MOVELINK指令允许三部的distance,link distance,link_acceleration,link_deceleration参数相加。产生如下指令:
VR(310)=Mdec;减速3段主轴的行程
VR(312)=Mstopw;停止4段主轴的行程
VR(314)=Mstoph;停止8段主轴的行程
VR(316)=I; 布满芯模表面需要来回数
VR(318)=J; 满足生产工艺缠绕层数
由此,可以进行编程:
WDOG=ON;
BASE(0);
CANCEL;
CANCEL;
MOVELINK为运动控制类命令,在基本轴产生直线运动,并通过电子齿轮比与连接轴的测量位置连接。其具体使用格式如下: