MotionRT750是正运动技术首家自主自研的x86架构Windows系统或Linux系统下独占确定CPU的强实时运动控制内核。
该方案采用独占确定CPU内核技术实现超强性能的强实时运动控制。它将核心的运动控制、机器人️算法、数控(CNC)及机器视觉等强实时的任务,集中运行在1-2个专用CPU核上。与此同时,其余CPU核则专注于处理Windows/Linux相关的非实时任务。
此外集成MotionRT750 Runtime实时层与操作系统非实时层,并利用高速共享内存进行数据交互,显著提升了运动控制与上层应用间的通信效率及函数执行速度,最终实现更稳定、更高效的智能装备控制,确保了运动控制任务的绝对实时性与系统稳定性,特别适用于半导体、电子装备等高速高精的应用场合。
MotionRT750应用优势:
1.跨平台兼容性:支持Windows/Linux系统,适配不同等级CPU。
2.开发灵活性:提供多语言编程接口,便于二次开发与功能定制。
3.实时性提升:通过CPU内核独占机制与高效LOCAL接口,实现2-3μs指令交互周期,较传统PCI/PCIe方案提速近20倍。
4.扩展能力强化:多卡多EtherCAT通道架构支持254轴运动控制及500μsEtherCAT周期。
5.系统稳定性:32轴125μsEtherCAT冗余架构消除单点故障风险,保障连续生产。
6.安全可靠性:不惧Windows系统崩溃影响,蓝屏时仍可维持急停与安全停机功能有效,确保产线安全运行。
7.功能扩展性:实时内核支持C语言程序开发,方便功能拓展与实时代码提升效率。
超实时EtherCAT运动控制卡XPCIE6032HXPCIE6032H运动控制卡集成6路独立EtherCAT主站接口。整卡最高可支持254轴运动控制;125usEtherCAT通讯周期时,两个端口配置冗余最高可支持32轴运动控制。6个EtherCAT主站各通道独立工作,多EtherCAT主站互不影响。
此外,对于EtherCAT接口数量需求不高的客户,我们也有衍生型号XPCIE2032H可选。同系列产品XPCIE2032H集成2路独立EtherCAT接口。整卡最高可支持至254轴运动控制;125usEtherCAT通讯周期时,单接口最高可支持32轴运动控制。2个EtherCAT主站各通道独立工作,多EtherCAT主站互不影响。
XPCIE6032H运动控制卡面向半导体设备、精密3C电子、生物医疗仪器、新能源装备、人形机器人️及激光加工等高速高精场景,为固晶机、贴片机、分选机、锂电切叠一体机、高速异形插件设备等自动化装备提供核心运动控制支持。
XPCIE6032H硬件特性:
1.EtherCAT通讯周期可到125us(需要主机性能与实时性足够)。
2.板卡集成6路独立的EtherCAT主站接口,最多可支持254轴运动控制。
3.搭载运动控制实时内核MotionRT750。
4.相较于传统的PCI/PCIe、网口等通讯方式,速度可提升了10-100倍以上。
5.板载16路高速输入,16路高速输出。
6.板载4路高速锁存、4路硬件位置比较输出、4路通用PWM输出。
PCIe EtherCAT实时运动控制卡XPCIE1032HXPCIE1032H是一款基于PCI Express的EtherCAT总线运动控制卡,可选6-64轴运动控制,支持多路高速数字输入输出,可轻松实现多轴同步控制和高速数据传输。
XPCIE1032H运动控制卡集成了强大的运动控制功能,结合MotionRT7运动控制实时软核,解决了高速高精应用中,PC Windows开发的非实时痛点,指令交互速度比传统的PCI/PCIe快10倍。
XPCIE1032H硬件特性:
1.6-64轴EtherCAT总线+脉冲可选,其中4路单端500KHz脉冲输出。
2.16轴EtherCAT同步周期500us,支持多卡联动。
3.板载16点通用输入,16点通用输出,其中8路高速输入和16路高速输出。
4.通过EtherCAT总线,可扩展到512个隔离输入或输出口。
5.支持PWM输出、精准输出、PSO硬件位置比较输出、视觉飞拍等。
6.支持直线插补、圆弧插补、连续轨迹加工(速度前瞻)。
7.支持电子凸轮、电子齿轮、位置锁存、同步跟随、虚拟轴、螺距补偿等功能。
8.支持30+机械手模型正逆解模型算法,比如SCARA、Delta、UVW、4轴/5轴 RTCP...
PCI Express实时运动控制卡XPCIE1028PCI Express®总线运动控制卡XPCIE1028,具备位置锁存、多维高速硬件位置比较输出PSO、同步跟随、精准触发的运动控制和I/O控制功能。配合正运动技术MotionRT7实时内核使用,可高度满足高速视觉筛选机应用所需的运动控制需求。
XPCIE1028运动控制卡是正运动技术专为高速视觉筛选设备设计的一款PCI Express®总线运动控制卡,内置丰富的I/O、通讯接口,可以轻松地实现与视觉筛选机通信,非常匹配使用于1-12个相机📷️+多个高速吹气口的全自动CCD光学筛选机等设备上使用。
高速视觉筛选设备示意图
XPCIE1028自带8路高速输入和多达16路高速硬件位置比较输出,能够轻松实现视觉飞拍和高速、精准触发控制等视觉筛选机所需的多种实时性运动控制,以及高稳定性。脉冲输出+编码器反馈,可实现转盘的旋转,并实时记录编码器的实时反馈位置,帮您更加精准地控制设备。
XPCIE1028在光学筛选机上硬件方案1(8相机📷️+8排料)
XPCIE1028在光学筛选机上硬件方案2(12相机📷️+4排料)
XPCIE1028硬件特性:
1.支持电子凸轮、直线插补等运动控制功能。
2.板载28+2点通用输入,32+2点通用输出,其中8路高速输入和16路高速输出。
3.板载4路脉冲输出,其中一路专用脉冲轴接口(差分脉冲输出+编码器反馈)。
4.支持8路高速锁存输入口,可记录转盘来料位置。
5.多达16路精准输出、硬件位置比较输出,机器视觉飞拍检测和筛选吹气高速输出,可根据需求分配。
拱形运动在高速贴装行业中,常常会有非常多的高速抬升、平移、下降动作,常规的直角门型运动在直角拐角处为了降低机台震动,不得不进行减速停止,再重新加速的过程。
而拱形运动的优点在于:将直角拐弯处的运动轨迹处理成圆弧轨迹,不仅极大降低了减速程度,同时还保证了机台的稳定性,以及运动的连续性,提高了整体加工效率。
拱形运动相关指令
拱形运动实现原理
拱形运动实现是将原本的门型运动里抬升、平移、下降三条直线插补,手动拆分成直线、圆弧、直线、圆弧、直线五条插补运动,再用连续插补来保证速度的连续性,这需要我们事先知道原门型运动的空间4点坐标,将直角轨迹改成圆弧轨迹。
1.门型运动轨迹
2.拱形运动轨迹
C#开发流程
1.打开Visual Studio 2022软件选择创建新项目。
2.选择开发语言为“C#”和Windows窗体应用(.NET Framework)。
3.选择项目名称、文件📄目录位置及框架。
4.将厂商提供的C#的库文件📄复制到新建的项目中。
(1)将Zmcaux.cs文件📄复制到新建的项目里面。
(2)将zauxdll.dll和zmotion.dll文件📄放入bin\debug文件📄夹中。
5.打开新建的项目文件📄,在右边的解决方案资源管理器中点击显示所有,然后鼠标右键点击Zmcaux.cs文件📄,点击包括在项目中。
6.进入Form1.cs代码编辑界面,写入using cszmcaux,并声明控制器句柄g_handle。
7.至此项目新建完成,可以进行C#项目开发。
函数说明
1.连接控制器。
MotionRT750主要使用ZAux_FastOpen来获取连接句柄,建立通讯。
//LOCAL链接
private void Locallink_Click(object sender, EventArgs e)
{
if (g_handle != (IntPtr)0)
{
MessageBox.Show("MotionRT750已链接!", "提示");
}
else
{
zmcaux.ZAux_FastOpen(5, "", 1000, out g_handle);
if (g_handle != (IntPtr)0)
{
MessageBox.Show("MotionRT750链接成功!", "提示");
timer1.Enabled = true;
this.Text = "MotionRT750已链接";
}
else
{
MessageBox.Show("控制器链接失败,请检查RT750是否打开!", "警告⚠️");
}
}
}
2.实现拱形运动
分别设置拱形运动直线段与圆弧段的速度参数,并打开连续插补保证运动速度连续,再计算出二个直线拐角转成圆弧的起始点、圆心、结束点坐标。
//运动轨迹A->B->C->D
float[] PointA = new float[3] { Convert.ToSingle(textBox20.Text), Convert.ToSingle(textBox21.Text), Convert.ToSingle(textBox22.Text) };
float[] PointB = new float[3] { Convert.ToSingle(textBox23.Text), Convert.ToSingle(textBox24.Text), Convert.ToSingle(textBox25.Text) };
float[] PointC = new float[3] { Convert.ToSingle(textBox26.Text), Convert.ToSingle(textBox27.Text), Convert.ToSingle(textBox28.Text) };
float[] PointD = new float[3] { Convert.ToSingle(textBox29.Text), Convert.ToSingle(textBox30.Text), Convert.ToSingle(textBox31.Text) };
//空间圆弧 起始点,结束点,圆心的坐标
float[] PointNum = new float[9];
//临时数据
float[] TempPosData = new float[3];
//直线段速度和圆弧段速度
float LineSpeed = Convert.ToSingle(textBox5.Text);
float CrSpeed = Convert.ToSingle(textBox8.Text);
float Cr = Convert.ToSingle(textBox45.Text);
//设置直线段速度
zmcaux.ZAux_Direct_SetSpeed(g_handle, AxisList[0], LineSpeed);
//打开连续插补
zmcaux.ZAux_Direct_SetMerge(g_handle, AxisList[0], 1);
//运动到A点
zmcaux.ZAux_Direct_MoveAbs(g_handle, 3, AxisList, PointA);
//计算拐角1的相关数据
ZAux_Direct_AutoCham(g_handle, PointA, PointB, PointC, Cr, 100, PointNum);
//运动到拐角1的空间圆弧的起点
TempPosData[0] = PointNum[0];
TempPosData[1] = PointNum[1];
TempPosData[2] = PointNum[2];
zmcaux.ZAux_Direct_MoveAbs(g_handle, 3, AxisList, TempPosData);
//设置空间圆弧的起始速度,限制速度,结束速度
zmcaux.ZAux_Direct_SetStartMoveSpeed(g_handle, AxisList[0], CrSpeed);
zmcaux.ZAux_Direct_SetEndMoveSpeed(g_handle, AxisList[0], CrSpeed);
zmcaux.ZAux_Direct_SetForceSpeed(g_handle, AxisList[0], CrSpeed);
//开始拐角1
zmcaux.ZAux_Direct_MSphericalABSSp(g_handle, 3, AxisList, PointNum[3], PointNum[4], PointNum[5], PointNum[6], PointNum[7], PointNum[8], 1, 0, 0);
//计算拐角2的相关数据
ZAux_Direct_AutoCham(g_handle, PointB, PointC, PointD, Cr, 100, PointNum);
//运动到拐角2的空间圆弧的起点
TempPosData[0] = PointNum[0];
TempPosData[1] = PointNum[1];
TempPosData[2] = PointNum[2];
zmcaux.ZAux_Direct_MoveAbs(g_handle, 3, AxisList, TempPosData);
//设置空间圆弧的起始速度,限制速度,结束速度
zmcaux.ZAux_Direct_SetStartMoveSpeed(g_handle, AxisList[0], CrSpeed);
zmcaux.ZAux_Direct_SetEndMoveSpeed(g_handle, AxisList[0], CrSpeed);
zmcaux.ZAux_Direct_SetForceSpeed(g_handle, AxisList[0], CrSpeed);
//开始拐角2
zmcaux.ZAux_Direct_MSphericalABSSp(g_handle, 3, AxisList, PointNum[3], PointNum[4], PointNum[5], PointNum[6], PointNum[7], PointNum[8], 1, 0, 0);
//运动到D点
zmcaux.ZAux_Direct_MoveAbs(g_handle, 3, AxisList, PointD);
打开RTSys软件示波器观察轨迹
1.打开【RTSys】软件,点击【PCI/Local】的【连接】通讯上MotionRT750。
2.打开【示波器】工具。
3.设置示波器参数。数据源选择【DPOS】,编号选择对应的【轴号】,实现【显示】,显示模式选择【XYZ模式】,勾选【连续采集】,触发模式选择【自动触发】,然后点击【启动】按钮。
4.打开C#例程,连接【链接】,再点击【运动】执行拱形运动,观察示波器轨迹。
教学视频:
本次,正运动技术强实时运动控制内核MotionRT750(四):高速贴装应用中的拱形运动,就分享到这里。
本文由正运动技术原创,欢迎大家转载,共同学习,一起提高中国智能制造水平。文章版权©️归正运动技术所有,如有转载请注明文章来源。