定制的关系,并与AXISSTATUSFAST协调运动

许多应用程序需要系统参数或辅助运动设备与主要机器力学运动之间的自定义协调关系。同样地,在一个虚拟的程序设计坐标系和一个真实的力学坐标系之间需要定制的运动学转换也是很常见的。Aerotech的AXISSTATUSFAST命令是一个理想的工具,可以使用特技飞行编程语言对这些关系和转换进行编程。下面的示例将展示这是如何完成的。

例如关系发展

垂直Z轴以下的限定球形表面的高度为X轴和Y轴独立地编程为上移动该表面是一个定制的可编程关系的简单的例子。这个例子来自于现实世界的应用程序,是一个很好的介绍,以协调运动系统内可编程定制关系的有效性。

图1显示了3D打印的天线阵列被放置在部分半球上。通过将已知的X、Y和Z轴位置的球面关系编程到运动控制器中,可以极大地简化保持刀尖相对于表面的位置与X和Y轴运动协调的能力。亚博微信vip群然后,用户可以使用Aerotech的CADFusion 2D图形化运动开发工具简单地在X和Y坐标下编程所需的投影2D轮廓,并且该轮廓将被正确地重新投影到所需的半球上,因为Z轴将隐式地遵循编程的球面关系。这个自定义关系很容易使用两个A3200编程特性进行编程:AXISSTATUSFAST命令和orbit delayfilter参数。这两个特性为用户提供了广泛的功能,可以为系统变量和轴运动之间的自定义协调关系编写程序,并且使用起来非常简单。

AXISSTATUSFAST图1
图1. 3D上局部半球形表面天线阵列的打印。照片由珍妮弗·刘易斯A.教授,哈佛大学。

对于这个简单的半球例如,首先让我们定义的关系被编程到Z轴轨迹生成。图2描绘了其中已知零位置已经在顶点已建立半球的一侧投射。在X的任何点,Y平面限定的Z轴位置可以基于半球的标称半径确定。知道从通过X和Y位置的命令的半球的轴的径向距离,三角形可以得出,其中腿R,K,和√(XPOS2+ Ypos2)。通过毕达哥拉斯定理得到公式1。

K =√(R2——(Xpos2+ Ypos2))(式1)

AXISSTATUSFAST图2
要3D印刷在来自图1的零位置已经在半球的顶点已建立图2.侧的半球状工件的投影,并且其半径名义上被公知的。这允许作为X轴和Y轴位置指令的函数来隐式生成Z轴的位置指令。

此外,从图2中可以清楚地看出,方程2也是正确的。

Zpos =实际(Eq。2)

两者结合,我们用关系最终要被编程到Z轴的轨迹的X和Y位置的命令的(等式3)的功能。

Zpos = R-√(R2——(Xpos2+ Ypos2))(式3)

现在,Z轴和X、Y轴之间的运动关系已经建立,我们可以学习将这个关系编程到Z轴轨迹中,然后学习将它与X、Y轴同步。

与AXISSTATUSFAST编程

附录A中提供了一个用于A3200软件套件的示例有氧飞行代码。它显示了根据方程3中建立的与X和Y轴轨迹的关系执行相关Z轴轨迹生成所需的步骤。因为Z轴轨迹依赖于X和Y轨迹,所以必须使用AXISSTATUSFAST命令来收集运动更新速率下的X和Y位置命令。系统配置文件中的“MotionUpdateRate”参数设置每个轴的轨迹生成频率。一般而言,伺服阶段的最大运动更新速率为8 kHz。在编码示例中,所有轴都假定为8 kHz MotionUpdateRate设置。

AXISSTATUSFAST命令允许用户以生成数据项的速度收集不同的数据项。在本例中,我们从X和Y轴收集“PositionCommandRawUnfiltered”数据流。必须使用这个原始的、未经过滤的信号,以便计算出的Z轴轨迹中没有不可调和的滤波延迟。这允许使用轨迹延迟将Z轴与X轴和Y轴适当地重新同步。如果使用经过过滤的命令信号,则无法在所有轴之间实现同步。

在示例代码的第25行和第26行中可以看到AXISSTATUSFAST命令。特技飞行“关键”代码块以1千赫的速度执行。在样例代码中,所有内容都包含在临界开始和临界结束命令块中。因此,要在1 kHz任务执行中捕获X和Y轨迹信号的全部8 kHz,必须在每次执行关键代码时捕获8个数据点并将其填充到一个数组中。在每次执行AXISSTATUSFAST命令时捕获的数据点的数量由命令行中的最后一个参数定义。现在,X和Y轨迹点在一个数组中,它们可以用来计算该周期的8个轨迹点的Z轴位置。要查看AXISSTATUSFAST命令可以收集哪些数据项的完整列表和实现方向,请分别访问“DATACOLLECT ITEM”命令和“AXISSTATUSFAST”命令A3200帮助文件主题。

为了计算Z轴的轨迹,FOR循环结构简单的构建通过每个XY位置命令走路和计算每方程3建立在的FOR循环结束时的球形关系对应的Z轴命令是一个PT(位置和时间)的命令行,其中,所述Z轴被命令在一个毫秒的1/8的规定的时间间隔计算出的位置时,对应于该八倍FOR循环将在1毫秒长的关键代码段运行。这符合X的轨迹率和8kHz的Y轴。之后所有八个Z轴位置已经被计算和指挥,未来八年X和Y的轨迹点被收集并重复这一过程,只要关系已启用。

在后台任务运行样本代码,主运动被命令X和Y中另一个任务轴。Z轴将始终遵循等式3中定义的球形表面,而不管其中X和Y被命令去的。要解决的最后一个问题是同步的。

同步轨迹

用户必须实现双方的X轨迹延迟和Y轴所有三个轴的运动同步。因为Z轴是留给到命令被发送到X和Y轴进行反应,它本质上是滞后于它的其轨迹的执行相对于X和Y轴。关键代码段的执行需要1毫秒,并且有从所述机器控制器收集X和Y轨迹额外的延迟。为了补偿在Z轴观察到的延迟时,用户必须进入系统配置文件,并把在TrajectoryDe​​layFilter于X轴和Y轴,其可在轴>运动>过滤器的文件夹部分中找到。此参数增加在相同的幅度与由Z轴所见的X和Y轨迹执行的发起延迟由于关系计算。因此,该轴被完全地重新同步。

所述TrajectoryDe​​layFilter的所需值,以毫秒为单位设定,取决于系统配置和所使用的驱动器。在这种情况下,为3毫秒的延迟,需要以考虑代码执行,并与驱动器硬件相关联的延迟使用。对于用户来确定正确的延迟最简单的方法是添加TrajectoryDe​​layFilter之前测量该相位滞后看出Z轴相对于在数字示波器的实用程序X和Y轴的指令流。图3示出了示出了Z轴命令流落后于X和Y中添加轨迹延迟之前轴捕获的数字示波器曲线图。

使用左和右光标线,所需的3毫秒的延迟可以很容易地测定。图4示出了再一个3毫秒的延迟之后的相同的运动线已经在X中实现和Y命令经由TrajectoryDe​​layFilter参数流。你可以看到所有三个轴是运动正在同步到完全相同的轨迹生成周期。

AXISSTATUSFAST图3
图3。A3200的数码示波器的屏幕截图显示了Z轴命令响应的相位滞后,这是由于编程的球面关系对X轴和Y轴命令的反应。

结论

虽然为Z的该示例双轴跟踪的球形表面是简单的,这里使用的概念提供了非常强大的功能给用户,当涉及到非线性的自定义编程运动学。极其复杂的功能关系和大量的轴,真实和虚拟的运动之间动态转换,可以在AeroBasic语言直接编程。轴,其轨迹是依赖于其它轴和非线性定制运动学变换的运动在许多复杂的自动化应用的常见问题。此外,还可以形成并不仅仅基于位置的关系。人们可以编程基于另一轴速度命令和/或加速度命令的功能,除了位置从属轴的位置。所述AXISSTATUSFAST命令为用户提供的多功能性,以规定他们能想到的真实和/或虚拟一样轴线之间的任何运动关系,而TrajectoryDe​​layFilter参数允许运动执行到保持同步。

AXISSTATUSFAST图4
A3200的数字范围效用表示X图4的屏幕截图,3毫秒的TrajectoryDe​​layFilter参数被添加到X和Y轨迹之后Y,和Z轴的命令同步。

附录A.样品AeroBasic代码(下载地址文本文件完整的程序)

AXISSTATUSFAST_Appendix一