Difference between revisions of "Basic Motion Elements/zh-hans"

From SoftMC-Wiki
Jump to: navigation, search
(chi-modify-NOTE)
Line 1,274: Line 1,274:
  
  
[[类别:运动控制|基础运动控制元素]]
+
[[Category:Motion Control|Basic Motion Elements]]

Revision as of 10:42, 15 March 2017

元素

元素 是轴与轴组的统称. 在MC-Basic中, 所有可被控制运动的对象统称为元素。 对于轴与轴组而言,许多属性和命令都是类似的。

更深入的轴组与轴的描述有:轴组: 笛卡尔轴组机器人 以及轴关节: 轴关节

轴的配置

本章节阐述了轴在系统中是如何配置的。包括位置、速度以及加速度的单位。也包括了加速度轨迹以及轴的软限制的设置。


NOTE-Info.svgNOTE
关于如何在softMC控制器中定义轴参数的步骤指引及实例请参考:轴配置步骤.

轴定义

在softMC中,一个轴被看成是驱动器,电机以及一部分softMC的集合。

每个轴都有一个softMC定义的属性集合。这些属性被用来计算位置和速度命令,监控限位,存储轴的配置数据。softMC向驱动器下发指令,然后驱动器控制电机。所有这些部分综合起来就形 成一个运控轴。

下方的图表示了一个softMC轴:

caption

轴名

softMC可以根据轴的地址:A1,A2,A3...,依次类推,直至A32(最大的轴数是由制造商提供的用户许可代码限制的),自动为您配置好您所有的轴。您可以通过“轴名+.+轴属性”的方式获取 轴的属性。例如:每一个轴都有一个VELOCITYFEEDBACK属性, 可以得到轴的当前的速度. 你可以通过? 来查询 [[MC- Basic:axis.VELOCITYFEEDBACK|VELOCITYFEEDBACK]]的值。ControlStudio 终端中的命令如下:

? A1.VelocityFeedback 

您可以重命名一个轴. 通常根据轴的功能去命名,可以增加您程序的易读性及方便调试。 例如: 您可以输入:

A1.AxisName = ConveyorAxis

然后,您就可以通过以下方式来查询属性:

? ConveyorAxis.VelocityFeedback 

轴名只能在配置程序“Config.prg”中更改,您不可以任何时候都打印轴名。

驱动器地址

驱动器地址是轴的一个属性。虚拟轴没有驱动器地址也不需要驱动器地址。该参数定义了softMC中的轴的物理地址(运控总线中的拓扑顺序或者驱动器的DIP开关配置)。 如果我们想给轴1配置地址为5,那么我们可以在ControlStudio的终端中或者程序中输入以下命令:

A1.Dadd = 5 ‘ Assign drive address 5 to axis 1
NOTE-Info.svgNOTE
在EtherCAT中,EC_SETUP程序根据驱动器与softMC的连接方式来操作轴的DADD参数

在该实例中:DADDDRIVEADDRESS的缩写。 Axis.DriveAddress属性应该与驱动器的硬件配置地址保持一致。大部分的轴属性和常数都会有缩写形式,这样可以提高输入和编程的效率。

虚拟轴

虚拟轴是一个只在MC中存在的轴。它具有实轴的大部分功能,如:轨迹发生器、单位、位置和速度命令,反馈信号以及限位。然而,虚拟轴并不包含驱动器、电机或者反馈设备。

轴可以在CONFIG.PRG 或者 AUTOEXEC.PRG程序中有任何总线配置的时候配置成虚拟轴。 只需要将 SIMULATED属性设置为:ON:

A1.Simulated = ON

虚拟轴与实轴对运动控制器的资源需求是相当的。事实上,虚拟轴在控制器中是被包含在总轴数之中的。 例如: 一个3个实轴和1个虚拟轴的系统,需要一个4轴MC系统。虚拟轴在MC中是如实轴一样的使用。 它们具有手动控制和自动运动轨迹,可以生成凸轮轨迹,可以当做凸轮中的主动轴或者从动轴使用。 虚拟轴的参数,例如位置反馈是可以用来产生事件的。 在使用中,它们的位置和速度反馈就设置成它们的命令位置和命令速度。 虽然大部分轴的命令和参数对虚拟轴都适用,但是也有一些不可以适用。 虚拟轴不可以接受任何总线命令。驱动器的参数,例如位置环增益,就不可以在虚拟轴中设置。

使用前准备

在您准备开始使用之前,您必须确认以下工作:

安装并调试好驱动器. 根据步骤,安装和调试驱动器。运行ServoStudio,选择您的电机类型,然后调试轴,直至达到您的满意性能。

安装并检查您的softMC.

I/O接线. 连接光纤环,按照步骤,检查接线。

安装ControlStudio. ControlStudio中的终端窗口会被密集的使用,请注意,任何输入终端中的命令都会在断电之后丢失。可以将命令写在softMC程序中,断电重启之后即可重复使用 。


用户单位

softMC 支持用户单位,通过一个浮点型的转换系数来转换6中类型的属性:位置,速度,加速度,加加速度,外部位置,外部速度。

<axis>.DIRECTION' 用来乘以单位转换系数。 运动控制系数:(i.e., POSITIONFACTOR, VELOCITYFACTOR,

ACCELERATIONFACTOR , JERKFACTOR) 只能赋正值,
DIRECTION 决定它们的符号.
DIRECTION 能取两个值中的一个: 正向:-1  或者 反向: +1。

MC单位允许您在方便的单位下工作。所有的单位类型都是独立的。所以,位置单位是英寸,速度单位是英尺/分钟,加速度单位是rpm/秒。 轴的单位只能在轴下电的情况下更改。

用户单位

位置单位是由POSITIONFACTOR or PFAC控制的. softMC中:基于编码器系统的内部单位是编码器计数值,旋变系统中是65535个计数/转。编码器计数是编码器线数的4倍。 位置单位的设置,取决于每一个您选择的单位对应着多少个计数。 例如: 假设您有这样一个系统:

目标单位: 英寸

旋转电机 (与直线电机相反)

2000 线编码器

3:1 减速机

5 圈/英寸的丝杠

计算 POSITIONFACTOR (每英寸计数):

1 英寸 = 丝杠 5 圈 = 减速机15 圈 = 15 * 2000 线 = 15 * 2000 * 4 计数 = 120,000 计数

POSITIONFACTOR 设置成每英寸的计数是: 120000.

A1.PositionFactor = 120000

第二个例子:

将编码器改成旋变,丝杠单位改为米:

目标单位: 米

旋转电机

旋变反馈 (65536 计数/转)

3:1 减速机

2 圈/cm 丝杠

计算 POSITIONFACTOR (每米的计数为):

1 米 = 丝杠200圈 = 减速机600 圈 = 600 * 65536 计数 = 39,321,600 计数

POSITIONFACTOR 应该设置为:计数/米:: 39321600.

如果您使用ControlStudio自动计算, 需要提供 电机分辨率以及电机旋转角度/单位运动,然后ControlStudio将会自动完成计算。


速度单位

速度单位可以将softMC内部的速度单位(计数/ms)转换成您所需要的单位。它们是由VELOCITYFACTOR 或者 VFAC控制的. 通常,速度单位是位置单位/s,或者每分钟,或者rpm.如果您需要速度单位是您的位置单位/s,将VELOCITYFACTOR 设置为: POSITIONFACTOR 除以1000 (将毫秒转成秒):

A1.VelocityFactor = A1.PositionFactor/1000 ‘ 位置单位/秒

如果您想设置为用户位置单位/分钟, 除以 60000:

A1.VelocityFactor = A1.PositionFactor/60000 ‘ 位置单位/分

如果您需要rpm作为单位,您需要计算没转的计数,然后除以60000(将毫秒转成分钟):

目标单位: rpm

2000 线编码器

您首先需要确定每转的计数/英寸:

1 转 = 2000 线

= 2000 * 4 计数

= 8000 计数

VelocityFactor 应该设为计数/转除以60000:

A1.VelocityFactor = 8000/60000

加速度单位

加速度单位将softMC内部加速度单位(计数/毫秒2)转换成您的单位。它们是由:ACCELERATIONFACTOR 或 着<axis>.AFAC控制的。通常,加速度单位是速度单位/秒或者/分。如果您需要将加速度单位设为您的速度单位/秒, 将ACCELERATIONFACTOR 设置为 VELOCITYFACTOR 除以 1000 (将毫秒转为秒). 除以60000,将加速度单位设为速度单位/分:

A1.AccelerationFactor = A1.VelocityFactor/1000 ‘加速度单位 = 速度/秒

或者

A1.AccelerationFactor = A1.VelocityFactor/60000 ‘加速度单位 = 速度/分

加加速单位

设置加加速的系数也是必要的。即便您总是使用平滑系数。平滑系统可以自动根据速度和加速度值来定义加加速参数, 但是它只是系数前的一个值。因此,完整的加加速有效值会在内部计算 。至少您需要设置:Jfac=Afac/1000 ,这个参数通常是可以正常工作的。 JERKFACTOR 设置了您的加加速单位和内部加加速单位的转换系数。[计数/毫秒</nowiki>3]. <axis>.JERKFACTOR 必须包含位置和时间维度的转换系数。

加速度规划曲线

softMC提供了平滑的,可用的加速度规划曲线,用来降低设备的抖动和磨损,并且可以允许高加速度升率。softMC允许您独立控制加速度和减速度,用来更进一步的降低抖动。|

ACCELERATIONDECELERATION 控制加速的的升率。 以下代码可在中断中输入,设置A1轴的加速度和减速度:

A1.Acceleration = 1000
A1.Deceleration = 1000

您需要设置了加速的的单位之后,方可输入以上命令。您可以强加限制加速和减速的时间。 运动主要包括三个阶段:加速阶段,匀速阶段,减速阶段。

加加速是加速度的一阶导。快速运动通常会产生较大的加加速。大的加加速通常会引发设备共振,从而造成不必要的磨损和噪声。有的运动控制器简单的瞬间改变一个很大的加速度值,这样 会产生一个很大的加加速度。softMC允许您通过轴的属性:SMOOTHFACTOR 或者 [[MC- Basic:axis.JERK|<axis/group>.JERK]]在所有的运动规划中限制加加速的值;

设置<axis/group>.SMOOTHFACTOR (SMOOTH)为0,指定梯形规划。 如果您需要一个平滑的加速度规划,可以通过设置 SMOOTHFACTOR 为从1 到最大为 100的值来实现. 如果SMOOTHFACTOR 很大(>=50),它可以将加速度变化时间提高一个或多个数量级。

在直线加速中,使用<axis/group>.ACCELERATION 以及 [[MC-Basic:axis.JERK |<axis/group>.JERK ]] 去限制速度,产生加速度曲线,可以消除扭矩的高频部分。这样可以减小设备共振,从而降低噪声、振动以及机械磨损。 例如: 下图显示了softMC如何通过可控加加速产生了一个平滑的加速度曲线:

caption


另外,还有一些参数可以定义运动中加速/减速的时间。这些持续时间将被内部用来计算合理的运动参数,已尽可能的达到时间要求。 <axis/group>.TIMEACCELERATION and [[ MC- Basic:axis.TIMEDECELERATION|<axis/group>.TIMEDECELERATION]] 可以用来基于时间的定义.

位置与速度

对每个轴而言,位置与速度是最重要的两个命令与反馈信号。这些属性每个总线周期都会刷新一次,并且可以随时读取。这些属性是双精度的浮点数,速度单位已在上面讨论过。 有4个属性保存这些值:


只要运控总线正常,您可以随时读取这些属性。

位置误差是由位置命令和位置反馈之间的误差来定义的。当一个轴不动时:(例如:, ISSETTLED), 简单的位置误差就生效了。然而,当轴在运动中时, 实际的位置误差并不等于即时的位置命令减去当时的位置反馈,因为当运动指令下发到反馈回来,总线中会有几个周期的延迟。

当softMC计算位置误差时,会自动算入通信的延迟。不同的运控总线和驱动器位置控制,会存在不一样的通信延迟。

为了管理位置误差延迟问题,softMC提供了一个轴与轴组的位置延迟参数:<''axis''>.POSITIONERRORDELAY,该参数 允许您设置计算位置误差时的总线延迟的周期数。

softMC允许您将任意轴设置为旋转轴。旋转轴通常是执行机械的往复重复性运动。

例如:带动旋转平台的电机通常定义为旋转轴。这种情况下,旋转平台的单位一般定义为:度。而且在360°之后又重复。这样,位置总是在选装了360°之后又重复了。 而不是持续增加。这样的关键是正确且精准地设置翻转位置:(POSITIONROLLOVERPROLLOVER) 。


例如以下实例:旋转电机通过 5:3 减速机带动平台:

目标单位: 度
目标重复: 360°
减速机: 5:3
反馈: 2000 线编码器
该例中, 首先设置位置单位为度:
1 度 = 1/360 平台旋转圈
= 电机的(5/3) * (1/360)圈
= 2000 * (5/3) * (1/360) 线
= 4 * 2000 * (5/3) * (1/360) 计数
= 40000/1080

设置完单位之后,您必须打开旋转模式,并且是指翻转为360°,如下:

A1.PositionFactor = 40000/1080
A1.PositionRollover = 360
A1.PositionRolloverEn = On  ‘打开旋转运动

在该例中:反馈的位置永远都在360以内,但是,您仍然可以控制轴长距离运动,例如1000度,但是,一旦电机停下来,反馈仍然会是在360度以内。

当在电机持续保持单方向旋转的应用中使用旋转模式的时候,请注意务必保证利用所有softMC中可用的精度选项。因为在这种模式下,误差是多圈累积的。 例如:我们可能把上述实例中的A1.POSITIONFACTOR四舍五入到了37.037。而实际精度是1,000,000分之一。然而,在旋转了10,000转之后(2000rpm的速度,运行5分钟),那么1/1,000,000就可 能累积了好几度的误差。这就意味着,如果平台的位置是100°,那实际可能只转了97°。那么平台就已经漂移了。

在上述实例中,如果使用除式,那么计算就可以很准确。因为softMC是一个基于双精度的计算。如果您不能将一个比例用十进制精确表示的话,您应该使用softMC算术去计算。在例子中,使 用softMC的全精度(大概1/1014),那么电机需要旋转3x1011转才会累积一度的误差。这相当于用6000rpm的速度运行88年才能达到的。

所有的驱动器都会提供与外部或者附加编码器的接口。这些编码器是主反馈设备的补充。您需要对总线周期数据(EtherCAT:PDO)进行配置以支持该功能。在主-从操作(齿轮与凸轮)中,外部 位置是经常使用到的,例如在线性操作的电机上。

softMC通过轴的属性提供外部位置,POSITIONEXTERNALPEXT。该参数保存驱动器的外部编码 器输入的累积编码器运动,每运控总线周期刷新一次。

softMC允许您控制POSITIONEXTERNAL (PEXT)的单位。 可以通过设置POSITIONEXTERNALFACTOR来控制。 该操作与设置编码器位置单位一样。外部位置与速度单位只在总线设置了传输外部编码 器信号之后才生效。


softMC通过 VELOCITYEXTERNAL<''axis''>.VEXT提供外部速度信号。当总线设置了传输外部编码器信号之后 ,该参数保存外部编码器的累积运动/毫秒,同样是没总线周期刷新一次。

softMC允许您通过 <''axis''>.VELOCITYEXTERNALFACTOR<''axis''>.VEXTFAC控制VELOCITYEXTERNAL的单位。 该设置 步骤与设置位置单位一样的, 如果<''axis''>.VEXTFAC 只能当外部编码器信号输入例外。

限位

本节阐述了您可以加在softMC中的各种限位。这些限位可以帮助保护设备避免位置、速度、扭矩超限。 系统中一共有3种限位:

  • MC发生器限位
  • MC实时限位
  • 驱动器限位

可以通过几种方式设置限位。第一,有的限位是softMC设置的,有的是驱动器设置的。限位可以使实时检查的,也可以是后续检查的。

MC Generator limits(MC发生器限位) 限制运动控制发生器的后续命令。例如:如果您改变了一个加速度限位,这对当前运动是没有作用的。但是对后续的运动指令是由效的。如果轴 不是在jog模式,或者作为一个从轴操作,那么POSITIONMINPOSITIONMAX (位置限位)只会在运动开始时 检查一次。

softMC会每个周期实时检查 realtime limits(实时限位)。这些限位的改变会作用在当前运动上。 VELOCITYFEEDBACK 会被每个周期与 VELOCITYOVERSPEED比对。

Drive limits(驱动器限位)。改变这些设置会当前运动有效。例如: ILIM 限制了驱动器的输出峰值电流。这些限位与控制器限制的位置和速度的限位是相独立的。

轴位置限位

softMC中有许多与位置相关的限位: POSITIONMIN PMIN

POSITIONMAX PMAX

POSITIONMIN (PMIN) POSITIONMAX (PMAX) 规定了位置反馈的最大和最小值。 可以如下设定这些限位:

A1.PositionMin = -10
A1.PositionMax = 200.5

或者您也可以使用缩写形式:

A1.PMin = -10
A1.PMax = 200.5

位置限位必须在使用前打开。限位是通过POSITIONMINENABLE 以及 POSITIONMAXENABLE打开或 者关闭的。 位置单位前面章节已经讨论过了。

位置限位是通过两种方式检验的。 第一, 它们在运动发生器中检查。如果您发出一个超过了该限制的位置运动命令,系统会报错并且不会运动。第二种,可以在每一个总线周期内检查(一般 是2 或 4毫秒 )。如果运动位置超过了设定限位,那么系统报错。

如果轴的确因为超位置限位而报错且停下来了,那么softMC可以仍然允许您往回运动,回到限位区域内,该运动不会报错。

位置限位只在主-从控制模式下连续检查。有的情况下,当电机超出了PMIN or PMAX,softMC偶尔不会检查到超限。驱动器的位置/速度/扭矩环不稳定也可能造成位置超限报错。

您可以通过设置 POSITIONMINENABLEPOSITIONMAXENABLE的开关来选择是否只需要打开一种限位,或者两种都打开:

A1.PositionMinEnable = ON
A1.PositionMaxEnable = ON

或者,您也可以使用缩写:

A1.PMinEn = ON
A1.PMaxEn = ON

默认情况下,这两个限位开关是关闭的。您必须自己将其打开。

您应该设置您的系统所能允许的最大位置误差。您可以通过设置<''axis''>.POSITIONERRORMAX (<''axis''>.PEMAX)来控制。

请注意,您应该设置一个合适的PEMAX值,以匹配您应用的需求。如果实际的位置跟随误差 (PE) 超出了PEMAX,那么运动停止,轴会被下使能。


在正常运行时,如果偶尔产生了跟随位置误差超限,那么很有可能是由于设备零部件磨损、破坏、或者缺少润滑导致的。您应该根据设备正常运行时的界限去设置最大位置跟随误差,否则很 有可能会产生令人讨厌的报错。

在调试安装阶段,位置误差可能会经常报错,因为系统还不稳定。这种情况下,即使速度命令为0,电机页可能会飞车。所以,在系统上电前,需要将POSITIONERRORMAX设置为一个合理 的小的值。例如:您可以将其设置为电机的几圈,(或者直线电机上的几个英寸)。这样的话,如果调试还没稳定,系统也不会出太大问题。如果为了避免系统报跟随位置误差超限,而 把PEMAX设置成一个很大的值,那么,电机仍然有可能会飞车。

比例控制位置环是最简单的位置环控制。下图显示了一个比例控制的位置环:

caption

如您所见,速度命令与跟随误差是成比例的。大的速度命令需要大的位置跟随误差。首先,inches/min, mil单位看上去可能有点让人困惑。

下图显示的是一个典型的比例环的加速度与跟随误差的曲线图:

caption

100%前馈的好处是,它可以预测稳态误差。坏处是:当系统执行加速或者减速的时候,一般会导致过冲。有的情况下,这并不是问题,因为系统依然可以平滑地运行,或者有的过冲是可以接 受的。


<''axis''>.POSITIONERRORSETTLE, 定义了在什么0的多少范围内可以认为是已经稳定了。例如:您可以用:

A1.PositionErrorSettle = 0.01

或者,用缩写形式:

A1.PESettle = 0.01

去指定位置误差必须在0.01个单位以内,才能认为该轴已经到达了稳定状态。

  • POSITIONERRORSETTLE在当运动控制器必须指定在什么足够接近0的范围内认为是稳定了的情况下使用。通常在两个运动之间,下一个运动在上一个运动已经完成了才开始使用。

softMC可以自动完成这些设置,如果您使用 STARTTYPE属性,当您按照本手册的“MOVE”指令运动一个轴的时候,您必须设置TSETTLE>0 或者忽略掉 POSITIONERRORSETTLE 属性。

  • TIMESETTLE (or TSETTLE) 定义了位置误差必须保持在PESETTLE 以内多长时间才被认为是轴已经稳定了。

当运动规划已经完成了,而且位置误差已经跌入了POSTIONERRORSETTLE以内,softMC等待TIMESETTLE毫秒才进入稳定状态。如果位置误差在稳定时间内超过了POSITIONERRORSETTLE,那么计时器将会重置。

  • ISSETTLED 是一个全局的逻辑属性(TRUE or FALSE) ,表示了该轴是否已经稳定。一个轴如果要达到稳定状态,必须满足一下条件:

1,运动规划已完成。 2,位置误差必须小于POSITIONERRORSETTLE且保持了TIMESETTLE毫秒

  • ISMOVING 是一个指示运动状态的属性。

有效的取值范围是:-1 到 3,各个含义如下:

-1 = 该元素是一个从轴(齿轮或凸轮),或者是一个增量式的运动。否则,以下值生效:
0 = 该元素没有运行
1 = 该元素正在加速
2 = 该元素处于匀速段
3 = 该元素正在减速

例子:

While a1.ismoving > 0 ‘等待运动规划完成
End While

轴速度限制

softMC中有几个关于轴速度的限制:


  • VelocityOverspeed 定义了一个绝对的电机速度限制。当超出了这个速度限制,系统会产生一个错误,并将该轴立即停止。VELOCITYOVERSPEED 是以softMC的速度单位为单位并且可以在任意时刻设置。它是每个总线周期刷新一下。

例如:

A1.VelocityOverspeed = 4000
  • VelocityMax(VMAX)可以用来设置运动规划的最大速度命令。VELOCITYMAX 是以softMC速度单位为单位的,可以通过终端窗口或者配置程序”Config.prg”,进行设置。它是在运动开始的时候进行检查的。

例如:

A1.VelocityMax = 5000

有两个限位用来控制加速和减速,它们自己可以在加速度规划中限制速度的突变。

这些属性可以在终端窗口或者在用户任务中设置。 这些属性就是:

ACCELERATIONMAXDECELERATIONMAX.

  • ACCELERATIONMAX 是运动命令的加速度上限。以softMC加速度单位为单位。
  • DECELERATIONMAX 是运动命令的减速度上限。以softMC减速度单位为单位。

"Rate" (比例) 参数

以下参数是用来按比例增加或者减小轴或者轴组的最大限制的:

  • <Axis/Group>.VelocityRate 定义了轴速度的 最大比例,取值范围是:-1到100%。与加速度、减速度或者加加速独立。<''axis''/''group''>.VelocityRate 是模态或者节点。
  • <Axis/Group>.AccelerationRate定义了轴的加速度最大值比例,取值范围0.1到100%。与速度、减速度以及加加速相独立。<''axis''/''group''>.AccelerationRate 可以是模态或者节点。
  • <Axis/Group>.DecelerationRate 定义了轴的减速度最大值比例,取值范围0.1到100%。与速度、加速度以及加加速相独立。<''axis''/''group''>.DecelerationRate可以是模态或者节点。

<axis>.JerkRate可以使模态或者节点。

NOTE-Info.svgNOTE
在这些情况中,"rate"不是时间的改变量的意思。而是轴最大值得比例。

例如:

A1.VRate = 50 ‘ VelocityRate 50%
A1.ARate = 70 ‘ AccelerationRate 70%
A1.DRate = 80 ‘ AccelerationRate 80%
A1.JRate = 60 ‘ JerkRate 60%

配置确认

现在,您可以通过使用softMC的“MOVE”指令来检查系统。该指令将在后续章节中讨论。现在,只是用来确认以上配置参数是否正确的。

首先,使能您的驱动器。、

使能

Enable the drive with the following commands:

System.Enable = ON

A1.Enable = ON

当运控总线在可操作模式下后。意味着驱动器已经连接好了,而且已经在softMC和驱动器之间有周期性的数据交换了。 (SERCOS: Phase = 4,  EtherCAT: Operation)

Scara is attached to TASK1.PRG

--> Initial position of Scara is {0 , 0 , 0 , 0} --> Final position of Scara is {-300 , -500 , -40 , 0} </pre>

运动属性

通过复制,通用元素也会获得“实轴”的所有属性。而且可以通过通用轴也可以获取“实”轴的属性。 例如:

Gen_Axes_List[1] = A1
While Gen_Axes_List[1].IsMoving <> 0 
 Sleep 1
End While
Sys.Dout.1 = 1

改变任何通用轴上的属性同时可以改变“实”轴的属性。 例如:

Print “Position Factor and Acceleration of A1 Before SetUp: “ A1.Pfac, A1.Acc
‘ Set A1’s properties through Gen_Axes_List[1]
Call AxisSetUp(Gen_Axes_List[1])
Print “Position Factor and Acceleration of A1 After SetUp: “ A1.Pfac, A1.Acc
--> Position Factor and Acceleration of A1 Before SetUp: 65536 1000
--> Position Factor and Acceleration of A1 After SetUp: 32768 1500