强实时运动控制内核MotionRT750(四):高速贴装应用中的拱形运动(运动控制测试)

强实时运动控制内核MotionRT750(四):高速贴装应用中的拱形运动(运动控制测试)
强实时运动控制内核MotionRT750

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运动控制卡XPCIE6032H

XPCIE6032H运动控制卡集成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实时运动控制卡XPCIE1032H

XPCIE1032H是一款基于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实时运动控制卡XPCIE1028

PCI 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(四):高速贴装应用中的拱形运动,就分享到这里。

本文由正运动技术原创,欢迎大家转载,共同学习,一起提高中国智能制造水平。文章版权©️归正运动技术所有,如有转载请注明文章来源。

特别声明:[强实时运动控制内核MotionRT750(四):高速贴装应用中的拱形运动(运动控制测试)] 该文观点仅代表作者本人,今日霍州系信息发布平台,霍州网仅提供信息存储空间服务。

猜你喜欢

尴尬了!印度要求电信运营商使用印度产设备,才发现根本不会造,印度早前不惜损失排除了中国电信承建商,留下了欧美企业(聊聊印度)

印度国内像TejasNetworks这种厂商,虽然有一定研发能力,但2023年全年收入也就十几亿美元💵,还主要依赖进口零部件(数据来源:TejasNetworks财报)。 我还注意到一个细节,印度在2021…

尴尬了!印度要求电信运营商使用印度产设备,才发现根本不会造,印度早前不惜损失排除了中国电信承建商,留下了欧美企业(聊聊印度)

水泥自流平师傅lɜ6̆̈͜͡5͜͡б9͜͡6͜͡0⒈❶❶塑胶地板施工福州舞蹈像给地面铺了层隐形宁德PVC福清最懂 日久生情的道理-电话(水泥自流平工艺价格)

福清别墅区的施工师傅更把它称作 “实木地板的保镖”:“没自流平前,实木地板用两年就会因地面不平翘边,现在铺上自流平,地板拼缝严丝合缝,用 15年都跟新的一样。” 自流平施工最懂 “日久生情” 的道理,它会…

水泥自流平师傅lɜ6̆̈͜͡5͜͡б9͜͡6͜͡0⒈❶❶塑胶地板施工福州舞蹈像给地面铺了层隐形宁德PVC福清最懂 日久生情的道理-电话(水泥自流平工艺价格)

无塑格拉辛纸袋FSC 认证可降解防氧化金属零件电子元件防腐蚀包装(格拉辛纸的用途)

无塑格拉辛纸袋在环保性与防护性能上优势显著。作为无塑产品,其原料为纯植物纤维制成的格拉辛纸,不含塑料成分,可完全降解,从源头上避免了微塑料污染,顺应全球减塑环保趋势;同时格拉辛纸本身具有优良的防潮性、耐温性…

无塑格拉辛纸袋FSC 认证可降解防氧化金属零件电子元件防腐蚀包装(格拉辛纸的用途)

学生优惠火车票将可随时使用 购票更灵活优惠(学生优惠火车票能便宜多少)

铁路部门为了满足学生旅客多样化的出行需求,继8月1日起全面实行学生旅客预约购票服务之后,进一步优化了学生旅客购票出行的优惠措施

学生优惠火车票将可随时使用 购票更灵活优惠(学生优惠火车票能便宜多少)

演好人慈眉善目,演坏人恶贯满盈,54岁的他早就该火了(慈眉善目的人物有谁出自哪里)

在众多熟脸中,那张叫不出名字的“熟悉面孔”——海一天,饰演走私商人卢少东。在《情满四合院》中,“许大茂”的自私与算计被他刻画得入木三分——眼神一撇、嘴角一歪,就知道坏主意来了。 那种属于小人物的“鸡…

演好人慈眉善目,演坏人恶贯满盈,54岁的他早就该火了(慈眉善目的人物有谁出自哪里)