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

猜你喜欢

尖叫之夜美成白天鹅的向涵之,凭《大生意人》白依梅封神:这 BE 爱情我意难平(尖叫之夜有谁)

相处间,她看清了他铁骨之下的温柔,他读懂了她慈悲之中的坚韧,当李成自嘲“我手上沾的人血太多,怕下地狱”时,白依梅含笑回应的“我到地狱找你玩”,瞬间将“烈酒与清泉”般的CP张力拉满。有人说她的选择不值,可正如网…

尖叫之夜美成白天鹅的向涵之,凭《<strong>大生意人</strong>》白依梅封神:这 BE 爱情我意难平(尖叫之夜有谁)

NDP13B02QB 充电接口CC&amp;CV转换器(bq321充电器)

它能够持续输出高达 8A 的负载电流,同时具备优异的线路与负载调节性能。该器件的工作输入电压范围为 7V 至 30V,并可提供从 3.3V 到25V 的可调输出电压。其内部软启动功能可避免启动过程中出现输入…

NDP13B02QB 充电接口CC&amp;CV转换器(bq321充电器)

联通骑手卡全解析:外卖小哥的“话费救星”到底值不值得办?(联通外卖骑手卡)

持有四大运营商正规授权资质,实时更新高性价比流量卡套餐,还提供最新流量卡避坑技巧,学生党、游戏党、上班族都能找到适配的流量方案。 至尊骑手卡(爆款):月租59元(首充后前2-3个月39元),2000分钟通话…

联通骑手卡全解析:外卖小哥的“话费救星”到底值不值得办?(联通外卖骑手卡)

范曾87岁再当爹?展览牵手照被误读,真相藏在细节里(范曾今年多大岁数了)

那天展览会上,范曾和徐萌一同露面,照片里的徐萌穿着宽松裙子👗,脸上没怎么打理,看起来有些疲惫,大家觉得她照顾老人太辛苦,衣服像睡衣,扶着范曾走路的样子就像在帮行动不便的长辈。 后来有人翻出以前的照片做对比,发现…

范曾87岁再当爹?展览牵手照被误读,真相藏在细节里(范曾今年多大岁数了)

供应链风向突变:iPhone 17 Pro弃用国产屏,尴尬了谁?(供应链风向突变是指)

按照消息源说法,京东方计划在2025年第三季度初向苹果供应1000多万块iPhone 17 ProOLED屏幕,但是未能解决技术问题,导致这些面板可靠性、良率与性能无法满足苹果对LTPO OLED面板的性…

供应链风向突变:iPhone 17 Pro弃用国产屏,尴尬了谁?(供应链风向突变是指)