单旋转台XYR在精密点胶/外观检测/精密焊接的C#应用
ZMC408CE - 高性能总线型运动控制器
ZMC408CE是正运动推出的一款多轴高性能EtherCAT总线运动控制器,具有EtherCAT、EtherNET、RS232、CAN和U盘等通讯接口,ZMC系列运动控制器可应用于各种需要脱机或联机运行的场合。
ZMC408CE运动控制器支持PLC、Basic、HMI组态三种编程方式。PC上位机API编程支持C#、C++、LabVIEW、Matlab、Qt、Linux、VB.Net、Python等接口。
ZMC408CE硬件功能特性
1.支持8轴运动控制(脉冲+EtherCAT总线),EtherCAT同步周期可快至125us;
2.24路通用输入、16路通用输出,模拟量AD/DA各两路;
3.8路10MHz高速差分脉冲输出,总线轴、脉冲轴可混合插补;
4.高性能处理器,提升运算速度、响应时间和扫描周期等;
5.一维/二维/三维、多通道视觉飞拍,高速高精;
6.位置同步输出PSO,连续轨迹加工中对精密点胶胶量控制和激光能量控制等;
7.多轴同步控制,多坐标系独立控制等;
8.直线插补、任意空间圆弧插补、螺旋插补、样条插补等;
9.应用灵活,可PC上位机开发,也可脱机独立运行。
更多关于ZMC408CE详情点击“推荐 | 8通道PSO的高性能EtherCAT总线运动控制器”查看。
PCIE464 - PCIe EtherCAT总线运动控制卡
PCIE464是正运动推出的一款EtherCAT总线+脉冲型、PCIE接口式的运动控制卡,可选6-64轴运动控制,支持多路高速数字输入输出,可轻松实现多轴同步控制和高速数据传输。
PCIE464运动控制卡适合于多轴点位运动、插补运动、轨迹规划、手轮控制、编码器位置检测、IO控制、位置锁存等功能的应用。
PCIE464运动控制卡适用于3C电子加工、检测设备、半导体设备、SMT加工、激光加工、光通讯设备、锂电及光伏设备、以及非标自动化设备等高速高精应用场合。
PCIE464硬件功能特性
1.可选6-64轴运动控制,支持EtherCAT总线/脉冲/步进伺服驱动器;
2.联动轴数最高可达16轴,运动周期最小为100μs;
3.标配8进8出,其中4路高速锁存输入和8路高速PWM、PSO输出,更多IO请选配ACC37接线板扩展板;
4.支持PWM输出、精准输出、PSO硬件位置比较输出、视觉飞拍等;
5.支持30+机械手模型正逆解模型算法,比如SCARA、Delta、UVW、4轴/5轴 RTCP...;
6.支持掉电存储和掉电中断,提供程序更安全机制;
7.具有螺距补偿控制,在单轴上通过多个补偿点进行精确调整,从而实现更高的加工精度。
更多关于PCIE464详情点击“PCIE464 — 高速高精,超高实时性的PCIe EtherCAT实时运动控制卡”查看。
XPCIE1032H - PCIe EtherCAT实时运动控制卡
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...
更多关于PCIE464详情点击“不止10倍提速!PCIe EtherCAT实时运动控制卡XPCIE1032H 等您评测!”查看。
01 C#进行单旋转台XYR项目开发
1.在VS2019菜单“文件”→“新建”→“项目”,启动创建项目向导。
2.选择开发语言为“C#”和Windows窗体应用程序,点击下一步。
3.配置好项目名称和位置,以及相应框架,点击创建。
4.找到厂家提供的光盘资料里面的C#函数库,路径如下(64位库为例)。进入厂商提供的光盘资料,找到zauxdll.dll,zmotion.dll和Zmcaux.cs这三个库文件。
库文件路径:【00光盘资料】→【04PC函数】→【01PC函数库V2.1】→【Windows平台】→【C#】→【64位】→【库文件】。
5.将厂商提供的C#的库文件以及相关文件复制到新建的项目中。
1)将zmcaux.cs文件复制到新建的项目里面中。
2)将zauxdll.dll和zmotion.dll文件放入bindebug文件夹中。
3)将Zmcaux.cs文件添加进项目中。右键项目名称,选择添加,再选择现有项,选择Zmcaux.cs文件。
6.双击Form1.cs里面的Form1,出现代码编辑界面,在文件开头写入using cszmcaux,并声明控制器句柄g_handle。
7.至此,项目新建完成,可进行C#项目开发。
02 相关PC函数介绍
PC函数手册可在光盘资料获取,具体路径如下:“00光盘资料3编程手册3ZMotion PC函数库编程手册”。
1.链接控制器,获取链接句柄。
2.机械手参数矫正指令。
3.硬件比较输出指令使用介绍。
4.圆心螺旋指令使用介绍。
03 C#单旋转台XYR例程演示
1.上位机软件界面如下,首先选择连接方式。
可以选择网口IP连接,串口COM连接,PCI卡卡号连接以及Local MotionRT连接。选择好连接字符串后,这里以网口IP连接为例,再连接字符串中输入控制器IP地址,再点击连接。若弹出链接成功提示框,则可正常操作。若连接失败,检测连接字符串是否正确,网线是否松动等情况。
2.总线驱动器初始化界面的介绍。
(1)配置好总线起始轴号,总线节点个数,本地脉冲轴起始轴号和本地脉冲轴个数四个参数后,点击总线初始化按钮,进行总线扫描。
(2)等待初始化完成后,表格出现厂商ID和设备ID等相关节点信息,则代表初始化完成。
(3)如需将对应总线节点的IO状态信息映射到控制器上查看,则填写对应节点需要映射IO的起始地址,若无需映射默认-1不需要修改,填写完成后,点击保存,再次点击总线初始化按钮进行总线扫描。
(4)通过RTSys软件查看IO映射的地址成功与否。成功连接控制器后,在菜单栏中找到【控制器】→【控制器状态】→【槽位0节点】,可以看到所有节点对应的IO起始地址。可以在总线初始化完成后观看此界面确认IO起始地址映射正常。
3.相关轴参数配置界面介绍。
选择轴号,配置轴类型,电机一圈脉冲数,加速度,减速度等相关轴参数后点击立即生效按钮,将这些参数配置对应轴上。默认旋转中心(X,Y)坐标为(0,0),接着选择旋转轴实际正向旋转方向,再点击写入参数配置按钮,将机械手参数写入机械手模型结构中。
4.旋转中心标定界面介绍。
(1)首先点击手动运动,选择正解机模式,接着点击寸动按钮选择寸动还是点动模式,最后配置好速度。
(2)参考单旋转台旋转中心标定界面的步骤,通过手动运动示教三组坐标。示教完成后点击标定旋转中心按钮,通过三点确认圆心计算旋转中心的坐标。
注意:α,β,γ三个角度不重合即可,原理是3点确定一个圆心,角度范围覆盖可以尽量大一些。
(3)点击单旋转台关节轴参数按钮,可以看到的计算出的旋转中心坐标,点击写入参数配置,将实际旋转中心写入机械手结构参数中。
函数介绍:当点击标定旋转中心按钮后,首先会判断当前模式是否处于正解模式,标定旋转中心时机械手必须处于正解模式。然后再调用机械手参数矫正指令,开始计算旋转中心将计算的坐标赋值给轴参数配置界面的文本框。
privatevoidCalculate_rotation_center(objectsender, EventArgs e) { float[] conter =newfloat[2]; //存储旋转中心坐标 intcali_table =1000; //关节坐标存储的table起始编号 intspace =3; //坐标存储间隔 intgroups =3; //坐标个数 inttableaux =1500; //辅助参数的table编号 intzeroout =1200; //计算出来理论零点时关节轴的绝对坐标的table编号 intzeroout2 =1300; //计算出来的机械手参数存储的位置,不填时直接存储原参数的位置 intret; int[] iAxisMtype =newint[2]; ret=zmcaux.ZAux_Direct_GetMtype(g_handle,Axis[0],refiAxisMtype[0]); if(iAxisMtype[0] ==33) { Console.WriteLine("当前处于正解模式"); } else { //建立正解 ret = zmcaux.ZAux_Direct_Connreframe(g_handle, reframe_num, VirAxis_List, robot_mode, store_table, frame_num, Axis); } //计算旋转中心坐标 ret = zmcaux.ZAux_Direct_FrameCal(g_handle, VirAxis_List,2, cali_table, space, groups, tableaux, zeroout, zeroout2); if(ret !=0) { MessageBox.Show("旋转中心计算失败"); return; } ret = zmcaux.ZAux_Direct_GetTable(g_handle, zeroout2,2, conter); textBox61.Text = conter[0].ToString(); textBox60.Text = conter[1].ToString(); }
5.产品参数配置界面。
配置好产品长度,产品宽度等相关参数以及不同段的速度后,点击手动运动将加工轴通过手动运动移动到A点位置,点击示教坐标按钮,将当前位置保存为A点坐标。完成示教后,即可点击启动按钮,对手机边框进行检测。
函数介绍:点击启动检测后,会根据A点坐标,产品长度,产品宽度和拐角半径,计算出所需坐标点位。结合实际情况在拐角处使用圆心螺距指令实现拐角轨迹,走出实际产品轨迹。根据拍照线宽,使用硬件比较输出模式5周期脉冲模式,每隔线宽距离触发一次比较。
privatevoidmove_path(objectsender, EventArgs e) { //设置拐角模式,用Speed限制单轴速度 ret = zmcaux.ZAux_Direct_SetCornerMode(g_handle, VirAxis_List[0],corner_mode); //设置运行速度 ret = zmcaux.ZAux_Direct_MovePara(g_handle, (uint)VirAxis_List[0],"Speed", (uint)VirAxis_List[0], product_para[6]); //回到起始点 ret = zmcaux.ZAux_Direct_MoveAbs(g_handle,3, VirAxis_List, distance_A1); intidle =0; while(true) { Thread.Sleep(10); //获取轴运行状态 zmcaux.ZAux_Direct_GetIfIdle(g_handle, VirAxis_List[0],refidle); if(idle ==-1){break;} } //清空矢量坐标 ret = zmcaux.ZAux_Direct_SetParam(g_handle,"VECTOR_MOVED", VirAxis_List[0],0); floatline_width = Convert.ToSingle(textBox31.Text); //拍照线宽 floatarc_length =Convert.ToSingle(2* Math.PI* product_para[2]); //四个拐角弧长 intout_num = Convert.ToInt32((product_para[0]*2+2* product_para[1] - product_para[2]*8+ arc_length) / line_width);//输出点数 intout_mode =5; //输出模式 intout_port =0; //输出端口 intout_state =1; //输出状态 floatstart_vector =0; //起始矢量 floatout_vector =0.5f; //输出脉冲 floatdelay_vector =0.5f; //延时矢量 //直线A1-B1 //清空矢量 zmcaux.ZAux_Direct_SetParam(g_handle,"VECTOR_MOVED", VirAxis_List[0],0); //清空上次未完成的输出 zmcaux.ZAux_Direct_HwPswitch2(g_handle, VirAxis_List[0],2,0,0,0,0,0,0); //设置周期脉冲模式的硬件比较输出 zmcaux.ZAux_Direct_HwPswitch2(g_handle, VirAxis_List[0], out_mode, out_port, out_state, start_vector+ delay_vector, out_num, line_width, out_vector); //设置直线速度 ret = zmcaux.ZAux_Direct_MovePara(g_handle, (uint)VirAxis_List[0],"Speed", (uint)VirAxis_List[0], product_para[6]); //直线插补运动 ret = zmcaux.ZAux_Direct_MoveAbs(g_handle,3, VirAxis_List, distance_B1); //拐角B1-B2 //设置拐角速度 ret = zmcaux.ZAux_Direct_MovePara(g_handle, (uint)VirAxis_List[0],"Speed", (uint)VirAxis_List[2], product_para[7]); //圆心螺旋指令实现拐角 ret = zmcaux.ZAux_Direct_MHelicalAbs(g_handle,3, VirAxis_List, distance_B2[0], distance_B2[1], distance_B1[0], distance_B2[1],0, distance_B2[2],1); //直线B2-C1 //设置直线速度 ret = zmcaux.ZAux_Direct_MovePara(g_handle, (uint)VirAxis_List[0],"Speed", (uint)VirAxis_List[0], product_para[6]); //直线插补运动 ret = zmcaux.ZAux_Direct_MoveAbs(g_handle,3, VirAxis_List, distance_C1);//拐角C1-C2 //设置拐角速度 ret = zmcaux.ZAux_Direct_MovePara(g_handle, (uint)VirAxis_List[0],"Speed", (uint)VirAxis_List[2], product_para[7]); //圆心螺旋指令实现拐角 ret = zmcaux.ZAux_Direct_MHelicalAbs(g_handle,3, VirAxis_List, distance_C2[0], distance_C2[1], distance_C2[0], distance_C1[1],0, distance_C2[2],1); //直线C2-D1 //设置直线速度 ret = zmcaux.ZAux_Direct_MovePara(g_handle, (uint)VirAxis_List[0],"Speed", (uint)VirAxis_List[0], product_para[6]); //直线插补运动 ret = zmcaux.ZAux_Direct_MoveAbs(g_handle,3, VirAxis_List, distance_D1); //拐角D1-D2 //设置拐角速度 ret = zmcaux.ZAux_Direct_MovePara(g_handle, (uint)VirAxis_List[0],"Speed", (uint)VirAxis_List[2], product_para[7]); //圆心螺旋指令实现拐角 ret = zmcaux.ZAux_Direct_MHelicalAbs(g_handle,3, VirAxis_List, distance_D2[0], distance_D2[1], distance_D1[0], distance_D2[1],0, distance_D2[2],1); //直线D2-A2 //设置直线速度 ret = zmcaux.ZAux_Direct_MovePara(g_handle, (uint)VirAxis_List[0],"Speed", (uint)VirAxis_List[0], product_para[6]); //直线插补运动 ret = zmcaux.ZAux_Direct_MoveAbs(g_handle,3, VirAxis_List, distance_A2); //拐角A2-A1 //设置拐角速度 ret = zmcaux.ZAux_Direct_MovePara(g_handle, (uint)VirAxis_List[0],"Speed", (uint)VirAxis_List[2], product_para[7]); //圆心螺旋指令实现拐角 ret = zmcaux.ZAux_Direct_MHelicalAbs(g_handle,3, VirAxis_List, distance_A1[0], distance_A1[1], distance_A1[0], distance_A2[1],0,360,1); }
04 使用RTSys抓取输出和轨迹
1.打开【RTSys】软件,点击【常用】→【连接】→【控制器】。
2.输入控制器IP地址,点击连接。
3.打开RTSys软件中的示波器可以方便直观的观察输出的次数。选择菜单栏中的【工具】→【示波器】。打开示波器后配置水平刻度通道数量,接着选择数据源的类型,再确认通道号的显示是否被勾选,最后勾选连续采集和跟随。配置好这些参数后即可点击蓝色三角按钮开始抓取数据。
4.运行C#手机外观检测例程。
(1)配置好轴参数,机械手参数以及产品参数后,点击启动检测。
(2)后勾选轴3,轴4和输出口0,将模式切换为XYZ模式再配置好合适的垂直刻度,可以更直观的看到输出口的输出次数以及的间距。
(3)勾选轴3和轴4的DPOS,将显示模式切换为XY模式,即可直观看到轴实际运行的轨迹。
(4)设置YT模式。抓取主轴轴3的VP_SPEED也就是加工合速度,可以看到在拐角处是减速运行的。
5.教学视频可点击→“单旋转台XYR在精密点胶外观检测精密焊接的C#应用_哔哩哔哩_bilibili”查看。
完整代码获取地址
▼
本次,正运动技术单旋转台XYR在精密点胶/外观检测/精密焊接的C#应用,就分享到这里。
更多精彩内容请关注“正运动小助手”公众号,需要相关开发环境与例程代码,请咨询正运动技术销售工程师:400-089-8936。
本文由正运动技术原创,欢迎大家转载,共同学习,一起提高中国智能制造水平。文章版权归正运动技术所有,如有转载请注明文章来源。
审核编辑 黄宇
- 随机文章
- 热门文章
- 热评文章
- 广西三江山洪致5人被困 消防紧急疏散,广西三江山洪致5人被困 消防紧急疏散
- 外交部:坚决反对任何国家以“航行自由”为名进行挑衅,外交部:坚决反对任何国家以“航行自由”为名进行挑衅
- 中外专家探讨AI前景:机遇与挑战并存,中外专家探讨AI前景:机遇与挑战并存
- 深圳铁路7月1日起实行新运行图 高铁动卧添新方向,深圳铁路7月1日起实行新运行图 高铁动卧添新方向
- “贴地飞行”!7秒冲刺时速650公里,我国磁悬浮技术获新突破,“贴地飞行”!7秒冲刺时速650公里,我国磁悬浮技术获新突破
- 智能机器人企业为何看向合肥?这场对接会给出答案,智能机器人企业为何看向合肥?这场对接会给出答案
- 驯鹰人库尔马西:半个多世纪的传统文化守望,驯鹰人库尔马西:半个多世纪的传统文化守望
- 河南迎来今年入汛以来首次大范围强降水,河南迎来今年入汛以来首次大范围强降水
- 暴雨致广东怀集变“泽国” 多方力量展开救援,暴雨致广东怀集变“泽国” 多方力量展开救援
- 襄荆高铁启动联调联试 助力湖北首条环线高铁“画圆”,襄荆高铁启动联调联试 助力湖北首条环线高铁“画圆”
- 广西防城港码头首船电解铝超大件设备启航,广西防城港码头首船电解铝超大件设备启航
- 6月18日人民币对美元中间价报7.1761元 下调15个基点,6月18日人民币对美元中间价报7.1761元 下调15个基点
- 《(新编)中国通史纲要》《中华文明史简明读本》英文版正式发布,《(新编)中国通史纲要》《中华文明史简明读本》英文版正式发布
- 1中国首创 “蒸笼” 法,蒸出高性能 “黄金半导体”
- 2(寻味中华|非遗)蒙古族搏克:摔跤之力在腰,决胜之智在心,(寻味中华|非遗)蒙古族搏克:摔跤之力在腰,决胜之智在心
- 3海默科技(300084):披露权益变动报告书的提示性公告
- 4结题材料不合格,只因订书钉没用不锈钢?
- 5汇隆活塞(833455):第四届监事会第七次会议决议
- 6来了!广西首批高考录取通知书送达→
- 7赣州市章贡区市场监管局开展“你送我检”进市场服务惠民生暨整治制售假劣肉制品宣传活动
- 8声桥—中欧艺术交流音乐会在德国法兰克福举行,声桥—中欧艺术交流音乐会在德国法兰克福举行
- 9夏厦精密(001306):上海市锦天城律师事务所关于浙江夏厦精密制造股份有限公司2025年限制性股票激励计划(草案)的法律意见书
- 10中国文物将首次亮相亚美尼亚 续写“一带一路”文明对话
- 11“如果您需要帮助,可以拍拍我”
- 12旱作农业迎来科技“及时雨”
- 13今天这个题材可能要强攻!
- 12025年廊坊经洽会:小箱包“圈粉”大咖 县域特色产业快速出海,2025年廊坊经洽会:小箱包“圈粉”大咖 县域特色产业快速出海
- 2宇树科技完成C轮融资 注册资本增至3.64亿,宇树科技完成C轮融资 注册资本增至3.64亿
- 3第六届西部数博会文旅“黑科技”破壁虚实,第六届西部数博会文旅“黑科技”破壁虚实
- 4四川乐山:餐饮行业大咖齐聚共绘美食产业新蓝图,四川乐山:餐饮行业大咖齐聚共绘美食产业新蓝图
- 5黑龙江省水运口岸首次进口铜矿粉 “铁水联运”激活跨境物流新引擎,黑龙江省水运口岸首次进口铜矿粉 “铁水联运”激活跨境物流新引擎
- 6全球乳业大会开幕!伊利作为亚洲乳企代表受邀出席,斩获世界乳品创新奖,全球乳业大会开幕!伊利作为亚洲乳企代表受邀出席,斩获世界乳品创新奖
- 7河南粮食重点领域贷款余额超2595亿元,河南粮食重点领域贷款余额超2595亿元
- 8廊坊经洽会观察:跨境电商如何赋能产业出海?,廊坊经洽会观察:跨境电商如何赋能产业出海?
- 92025夏季达沃斯实现全绿色用能 减排二氧化碳约600吨,2025夏季达沃斯实现全绿色用能 减排二氧化碳约600吨
- 10上合组织国家留学生探访山东青岛体验“智造”魅力,上合组织国家留学生探访山东青岛体验“智造”魅力
- 11浙江加速城乡融合高质量发展步伐,浙江加速城乡融合高质量发展步伐
- 12合肥推动“车机人”协同计划 打造聚合型智能产业集群,合肥推动“车机人”协同计划 打造聚合型智能产业集群
- 13(活力中国调研行)百年高炉遇见未来 北京科幻产业加速跑,(活力中国调研行)百年高炉遇见未来 北京科幻产业加速跑