利用STARTER程序步指令实现伺服电机的基本定位

在对伺服电机的控制中,程序步的使用极为重要,今天我的技术分享,旨在使读者能够快速的了解STARTER软件中程序步指令中涉及的常见参数并通过一个例子来快速上手程序步基本编程。

图1 参数示例
首先我们来了解图1中左侧参数,如下表所示:

注:在程序步使用前,我们可以通过图2的六个数字输入量的不同组合来选择需要的程序步号。

图2 六个数字输入量
接下来要介绍的是程序步编程界面。

图3 程序步编程界面
我们先看图3表头各参数的含义:
1、P2616(No.)每个程序步都要有一个任务号,运行时依照任务号顺序执行(-1表示无效的任务)。
2、P2621(Job)表示该程序步的任务,有9种任务可供选择。
①Positioning:相对或绝对定位(P2623),P2627为位置设定值。
②Endless_POS/Endless_NEG:加速到指定速度后一直运行,直到限位/停步命令/block change速度。
③Waiting:等待时间由P2622设定(单位:ms),并修正到P0115[5]的整数倍(整数倍)。
④GOTO:移到指定的块号开始运行。
⑤ET_O/RESET_O:对开关量输出置位或复位,一共可组态两个输出。
⑥JERK:激活或取消JERK。
3、P2622(Parameter)依赖于不同的Job,对应不同的Job有不同的含义。
4、P2623.8/9(Mode)定义定位方式,绝对模式还是相对模式,仅当任务(Job)为位置方式(Positioning)时有效。
5、P2617/P2618/P2619/P2620
(Position,Velocity,Acceleration,Deceleration)指定运动的位置、速度、加/减速度。
6、P2623.4/5/6(Advanced)指定本次任务结束方式。
①CONTINUE_WITH_STOP:精确的到达要求的位置,在到达要求的位置之后切换到下面的程序步。
②CONTINUE_FLYING:执行完该次Task后不停止,直接运行下一任务.如果运行方向需改变,则先停止状态再运行下一任务。
③CONTINUE_EXTERNAL:
同CONTINUE FLYING,但外部信号可立即切换下一任务。
④CONTINUE_EXTERNAL_WAIT:
同CONTINUE EXTERNAL,但如果到达目标位置后仍没有外部触发,则会保持在目标位置等待外部信号。
⑤CONTINUE_EXTERNAL_ALARM:
同CONTINUE EXTERNAL WAIT,但如果到达目标位置后仍没有外部信号,将输出报警信号A07463。
7、P2623.0(Hide)跳过本条程序步不执行该任务。
简单了解了上述参数后,我们就可以利用程序步编程来完成一些任务:
例1:点动开关DI1,令圆盘以6000LU/MIN的速度旋转绝对位置180度,在此基础上再以 80000LU/MIN的速度走90度(要求速度不降低),等待2s,再以40000LU/MIN的速度反向旋转120度(要求速度减少为零再反向),重复上述步骤。
首先分析题目,因为题目要求很多,我们可以将题目拆分成一步一步来实现。
1. 程序步开始是以DI1作为开关,那么我们可以将P2631与数字量输入点DI1关联,如图4.1所示:

图4.1 关联DI1
2. 电机以60000LU/MIN的速度旋转180度.因为在之前配置时,我将电机的一圈配置为36000LU,所以电机选择180度转过的距离应为18 000LU,如图4.2所示。(注:Veiocity配置的速度单位为1000LU/MIN,所以配置60000LU/MIN的速度时,只写60便可)

图4.2 程序步第一步
3. 在此基础上再以8000LU/MIN的速度走90度(要求速度不降低),根据此条描述中的“速度不降低”可以确定No.0的结束方式应为CONTINUE_FLYING,由于我们使用的是绝对位置,再行进90度对应的距离为18000+9000=27000LU,如图4.3所示:

图4.3 程序步第二步
4.等待2s,实现本功能相对简单,只需要将电机的job项选择WAITING再将Parameter设置为2000即可。
5.再以4000LU/MIN的速度反向旋转120度(要求速度减少为零再反向)因为在上述步骤中我们使用的均为绝对位置所以我们一共正向运动了270度,反向旋转120度,我们需要做的就是回到150度的位置.即我们需要36000/360*150=15000LU。
6.需要重复上述步骤,我们可以使用GOTO进行跳转到No.0的步骤这样以来我们就可以实现程序的反复运行,如图4.4所示:






