专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

PSO视觉飞拍与精准输出的C开发(三)二维三维多轴PSO输出

  本文主要介绍正运动技术EtherCAT控制器在VS平台采用C语言实现的各种PSO功能。正运动提供多种PSO模式供用户搭配不同的场景使用。
  上节讲解了多轴PSO等距周期和固定时间周期两种比较输出模式,本节主要讲解二维三维比较输出模式。01硬件介绍
  ZMC408CE是正运动推出的一款多轴高性能EtherCAT总线运动控制器,具有EtherCAT、EtherNET、RS232、CAN和U盘等通讯接口,ZMC系列运动控制器可应用于各种需要脱机或联机运行的场合。
  ZMC408CE支持8轴运动控制,最多可扩展至32轴,支持直线插补、任意圆弧插补、空间圆弧、螺旋插补、电子凸轮、电子齿轮、同步跟随等功能。
  ZMC408CE支持8轴运动控制,可采用脉冲轴(带编码器反馈)或EtherCAT总线轴,通用IO包含24个输入口和16个输出口,部分IO为高速IO,EtherCAT最快100us的刷新周期。
  ZMC408CE支持8个通道的硬件比较输出、硬件定时器、运动中精准输出,还支持8通道PWM输出,对应的输出口为OUT07,支持8个通道同时触发硬件比较输出,用于多通道的视觉飞拍场合等。
  ZMC408CE支持PLC、Basic、HMI组态三种编程方式。PC上位机API编程支持C、C、LabVIEW、Matlab、Qt、Linux、VB。Net、Python等接口。
  ZMC408CE内置高精度PSO位置同步输出功能,在加工圆角与曲线时即使进行有减速调整,在高速加工的场合中也能控制激光输出的等间距输出。02PSO技术介绍
  PSO(positionsynchronizedoutput)即位置同步输出,本质是通过采集实时的编码器反馈位置(无编码器可使用输出的脉冲位置)与比较模式设定的位置进行比较,控制OP高速同步输出信号,PSO示意图如下。
  PSO一般与激光器(或点胶喷射阀等设备)同步输出信号进行相位同步,在运动轨迹的所有阶段以恒定的空间(或恒定时间)间隔触发输出开关,包括加速、减速和匀速段,从而实现脉冲能量均匀地作用在被加工物体上。
  PSO功能的特点是能高速且稳定的输出信号,因为输出精度足够高,所以能够在整个运动轨迹中以固定的距离触发输出信号而不用考虑总体速度,即在直线部分以很快的速度运动,而在圆角部分减速的同时也能保证输出间距恒定。
  通常圆角加工部分在整个加工过程中占有比较小的部分,这样在保证加工效果的同时,就可以最大限度地提高产能。
  正运动的PSO功能调用ZAuxDirectHwPswitch2函数接口实现,该函数采用硬件实现IO的高速比较输出,响应速度达到微秒级别,故名硬件比较输出。03C语言MFC进行运动控制项目的开发
  1。新建MFC项目并添加函数库
  注:本例程在VS2010编译环境下,基于。NETFramework4。0框架创建的MFC窗体应用程序。
  (1)工具栏菜单文件新建项目,启动创建项目向导。
  (2)选择开发语言为VisualC和。NETFramework4以及MFC应用程序,填写好程序名以及选择好程序存放路径,点击确定。
  (3)点击下一步。
  (4)选择类型为基于对话框,点击下一步或者完成即可。
  2。找到厂家提供的C函数库文件
  (1)进入厂商提供的光盘资料,找到8。PC函数文件夹,并点击进入,找到C函数库,路径如下(64位库为例)。
  (2)选择函数库2。1文件夹。
  (3)选择Windows平台文件夹。
  (4)根据需要选择对应的函数库,这里选择64位库。
  (5)解压C压缩包,里面有C对应的函数库。
  (6)函数库具体路径如下。
  (7)将厂商提供的C库文件以及相关文件复制到新建的项目中。
  3。在项目中添加静态库和相关头文件
  静态库:zauxdll。lib,zmotion。lib
  相关头文件:zauxdll2。h,zmotion。h
  (1)先右击头文件,接着依次选择:添加现有项。
  (2)在弹出的窗口中依次添加静态库和相关头文件。
  (3)声明用到的头文件和定义控制器连接句柄。
  至此,项目新建完成。
  4。查看PC函数手册
  用户需要从PC函数手册中获取运动控制开发使用的函数接口,对照手册说明使用,PC函数手册在光盘资料查看,具体路径如下:光盘资料8。PC函数函数库2。1ZMotion函数库编程手册V2。1。pdf。
  5。控制器网口连接函数接口
  PC编程一般使用网口对控制器和工控机进行链接。ZAuxFastOpen();如果链接成功,该接口会返回一个链接句柄。通过操作这个链接句柄可以实现对控制器的控制。
  ZAuxOpenEth()接口说明:
  项目应用截图:
  6。硬件比较输出函数接口
  使用对下位机寄存器操作的指令操作链接句柄ghandle,对控制器进行寄存器内容取值,实时控制下位机相关的指令如下。
  实时全局变量指令:ZAuxDirectHwPswitch2硬件比较输出指令到位置后硬件自动触发op输出信号。
  7。硬件定时器函数接口
  ZAuxDirectHwTimer硬件定时器硬件比较输出后一段时间还原电平。
  04MFC程序的运行和读写控制开发
  1。Demo交互界面如下
  2。二维比较模式
  (1)2D比较(模式25)
  语法:HWPSWITCH2(25,opnum,opstate,maxerr,num,tablepos)
  mode25:二维的比较模式;
  opnum:对应的输出口;
  opstate:第一个比较点的输出状态;
  maxerr:比较位置每个轴左右的脉冲偏差,进入偏差范围后开始比较,此参数不能写0;
  num:table里面存储的比较点坐标个数;
  tablepos:第一个比较点坐标所在table编号。
  说明:比较点写在TABLE中,两个连续的TABLE数据组成一个2D坐标,每到达一个比较位置OP反转一次。
  图中蓝色段表示OP开启,各类常用插补运动均支持比较,比较点坐标一定的要准确,否则会影响后面点的比较。
  该模式主要功能为,碰到设置好的二维比较点之后,输出口电平反转。
  该模式使用时需要指定高速输出口,将首个比较点的输出状态、比较轴设置好之后,再设置比较点(即设置table寄存器,点数量等),设置比较点脉冲最大误差等参数后,启动比较。紧接着驱动轴运动即可。
  脉冲偏差说明:2D模式下设置XY坐标需要准确,轴运动不到准确的TABLE比较点时将无法触发,3D模式同理。故多维比较模式引入一个特殊参数maxerr位置范围偏差,左右范围均有效,即实际位置坐标点与TABLE的比较点的差值在maxerr范围内便有效,触发时刻为当前位置进入比较点的触发范围内便触发比较,比较范围示意图如下。
  注意:maxerr的单位为脉冲数的偏差,不是距离的偏差。
  如下图所示,设置高速比较输出口为0,首个比较点的输出状态为1,比较轴为0,1;设置两个比较点,比较点坐标分别为:(100,50),(160,80)。即当轴运动到点(100,50)和点(160,80),误差范围在50个脉冲左右的范围时,都会触发电平变化。
  示波器波形如图所示:在坐标(100,50)时输出为1,直到坐标(160,80)的时候恢复为0。
  (2)2D比较(模式26)
  语法:HWPSWITCH2(26,opnum,opstate,maxerr,num,tablepos,〔ophwtimeus,ophwtimes,hwcyctimeus〕)
  mode26:二维的比较模式;
  opnum:对应的输出口;
  opstate:第一个比较点的输出状态;
  maxerr:比较位置每个轴左右的脉冲偏差,进入偏差范围后开始比较,此参数不能写0;
  num:table里面存储的比较点坐标个数;
  tablepos:第一个比较点坐标所在table编号;
  以下参数和HWTIMER二选一,HWTIMER单独写可以动态调整参数
  ophwtimeus:脉冲时间;
  ophwtimes:脉冲个数;
  hwcyctimeus:脉冲周期。
  说明:比较点写在TABLE中,两个连续的TABLE数据组成一个2D坐标,每到达一个比较位置触发OP,每个比较点OP反转的次数和反转周期由HWTIMER设置;到达下一个TABLE位置,OP再次触发。类似模式7和模式36。
  该模式主要功能为,碰到设置好的二维比较点之后,输出口输出一断设置好的定时脉冲。
  该模式使用时,需要指定高速输出口,将首个比较点的输出状态、比较轴设置好之后,再设置比较点(即设置table寄存器,点数量等),设置好比较点之后再设置脉冲有效时间、脉冲周期时间,以及脉冲个数(重复次数),设置比较点的脉冲最大误差等参数后,启动比较。紧接着驱动轴运动即可。
  如下图所示,设置高速比较输出口为0,首个比较点的输出状态为1,比较轴为0,1;设置两个比较点,比较点坐标分别为:(100,100),(200,200)。即当轴运动到点(100,100),点(200,200),误差范围在10个脉冲左右的范围时,都会触发两个周期为60ms,脉冲有效时间为20ms的脉冲。
  示波器波形如图所示:在坐标(100,100),(200,200)的时候都会触发两个周期为60ms,脉冲有效时间为20ms的脉冲。
  3。三维比较模式
  (1)3D比较(模式35)
  语法:HWPSWITCH2(35,opnum,opstate,maxerr,num,tablepos)
  mode35:三维的比较模式;
  opnum:对应的输出口;
  opstate:第一个比较点的输出状态;
  maxerr:比较位置每个轴左右的脉冲偏差,进入偏差范围后开始比较,此参数不能写0;
  num:table里面存储的比较点坐标个数;
  tablepos:第一个比较点坐标所在table编号;
  说明:比较点写在TABLE中,三个连续的TABLE数据组成一个3D坐标,每到达一个比较位置触发OP,每个比较点OP反转的次数和反转周期由HWTIMER设置;到达下一个TABLE位置,OP再次触发。类似模式26和模式7。
  该模式主要功能为,碰到设置好的三维比较点之后,输出口电平反转。
  该模式使用时需要指定高速输出口,将首个比较点的输出状态、比较轴设置好之后,再设置比较点(即设置table寄存器,点数量等),设置比较点的脉冲最大误差等参数后,启动比较。紧接着驱动轴运动即可。
  如下图所示,设置高速比较输出口为0,首个比较点的输出状态为1,比较轴为0,1,2;设置4个比较点,比较点坐标分别为:(80,40,20),(160,80,40),(240,120,60),(320,160,80)。即当轴运动到点(80,40,20),(160,80,40),(240,120,60),(320,160,80),误差范围在10个脉冲左右的范围时,都会触发电平变化。
  示波器波形如图所示:在坐标(80,40,20),(160,80,40),(240,120,60),(320,160,80)时会发生电平变化。
  核心程序示例:参数:mode25,26,35,36。2D3D的比较模式Axisnum:轴数组Opnum:对应的输出口Opstate:第一个比较点的输出状态。maxerr:比较位置每个轴左右的脉冲偏差,进入偏差范围后开始比较。num:TABLE里面存储的比较点个数。tablepos:第一个比较点坐标所在TABLE编号与hwtimer并用时,可以动态调整hwtimer参数。ModePara1:脉冲时间ModePara2:脉冲个数ModePara3:脉冲周期int32CMyControlDlg::ZAuxDirectHwPswitch22D(ZMCHANDLEhandle,intAxisnum,intMode,intOpnum,intOpstate,intmaxerr,intnum,inttablepos,floatModePara1,floatModePara2,floatModePara3){if(0Axisnum〔0〕Axisnum〔0〕MAXAXISAUX){returnERRAUXPARAERR;}charcmdbuff〔2048〕;chartempbuff〔2048〕;charcmdbuffAck〔2048〕;生成命令sprintf(cmdbuff,BASE(d,d),Axisnum〔0〕,Axisnum〔1〕);switch(Mode){case25:sprintf(tempbuff,HWPSWITCH2(d,d,d,d,d,d),Mode,Opnum,Opstate,maxerr,num,tablepos);strcat(cmdbuff,tempbuff);break;case26:sprintf(tempbuff,HWPSWITCH2(d,d,d,d,d,d,f,f,f),Mode,Opnum,Opstate,maxerr,num,tablepos,ModePara1,ModePara2,ModePara3);strcat(cmdbuff,tempbuff);break;case35:sprintf(tempbuff,HWPSWITCH2(d,d,d,d,d,d),Mode,Opnum,Opstate,maxerr,num,tablepos);strcat(cmdbuff,tempbuff);break;case36:sprintf(tempbuff,HWPSWITCH2(d,d,d,d,d,d,f,f,f),Mode,Opnum,Opstate,maxerr,num,tablepos,ModePara1,ModePara2,ModePara3);strcat(cmdbuff,tempbuff);break;default:returnERRAUXPARAERR;break;}调用命令执行函数intretZAuxExecute(handle,cmdbuff,cmdbuffAck,2048);if(strlen(cmdbuffAck)!0)returnERRACKERROR;returnret;}
  (2)3D比较(模式36)
  语法:HWPSWITCH2(36,opnum,opstate,maxerr,num,tablepos,〔ophwtimeus,ophwtimes,hwcyctimeus〕)
  mode36:三维的比较模式;
  opnum:对应的输出口;
  opstate:第一个比较点的输出状态;
  maxerr:比较位置每个轴左右的脉冲偏差,进入偏差范围后开始比较,此参数不能写0;
  num:table里面存储的比较点坐标个数;
  tablepos:第一个比较点坐标所在table编号;
  以下参数和HWTIMER二选一,HWTIMER单独写可以动态调整参数
  ophwtimeus:脉冲时间;
  ophwtimes:脉冲个数;
  hwcyctimeus:脉冲周期。
  该模式主要功能为,碰到设置好的三维比较点之后,输出口输出一断设置好的定时脉冲。
  该模式使用时,需要指定高速输出口,将首个比较点的输出状态、比较轴设置好之后,再设置比较点(即设置table寄存器,点数量等),设置好比较点之后再设置脉冲有效时间,脉冲周期时间,以及脉冲个数(重复次数),设置比较点的脉冲最大误差等参数后,启动比较。紧接着驱动轴运动即可。
  如下图所示,设置高速比较输出口为0,首个比较点的输出状态为1,比较轴为0,1,2;设置4个比较点,比较点坐标分别为:(80,40,20),(160,80,40),(240,120,60),(320,160,80)。
  即当轴运动到点(80,40,20),(160,80,40),(240,120,60),(320,160,80),误差范围在10个脉冲左右的范围时,都会触发电平变化。都会触发两个周期为40ms,脉冲有效时间为20ms的脉冲。
  示波器波形如图所示:在坐标(80,40,20),(160,80,40),(240,120,60),(320,160,80)时会触发两个周期为40ms,脉冲有效时间为20ms的脉冲。
  核心程序示例:参数:mode25,26,35,36。2D3D的比较模式Axisnum:轴数组Opnum:对应的输出口Opstate:第一个比较点的输出状态。maxerr:比较位置每个轴左右的脉冲偏差,进入偏差范围后开始比较。num:TABLE里面存储的比较点个数。tablepos:第一个比较点坐标所在TABLE编号与hwtimer并用时,可以动态调整hwtimer参数。ModePara1:脉冲时间ModePara2:脉冲个数ModePara3:脉冲周期int32CMyControlDlg::ZAuxDirectHwPswitch22D(ZMCHANDLEhandle,intAxisnum,intMode,intOpnum,intOpstate,intmaxerr,intnum,inttablepos,floatModePara1,floatModePara2,floatModePara3){if(0Axisnum〔0〕Axisnum〔0〕MAXAXISAUX){returnERRAUXPARAERR;}charcmdbuff〔2048〕;chartempbuff〔2048〕;charcmdbuffAck〔2048〕;生成命令sprintf(cmdbuff,BASE(d,d),Axisnum〔0〕,Axisnum〔1〕);switch(Mode){case25:sprintf(tempbuff,HWPSWITCH2(d,d,d,d,d,d),Mode,Opnum,Opstate,maxerr,num,tablepos);strcat(cmdbuff,tempbuff);break;case26:sprintf(tempbuff,HWPSWITCH2(d,d,d,d,d,d,f,f,f),Mode,Opnum,Opstate,maxerr,num,tablepos,ModePara1,ModePara2,ModePara3);strcat(cmdbuff,tempbuff);break;case35:sprintf(tempbuff,HWPSWITCH2(d,d,d,d,d,d),Mode,Opnum,Opstate,maxerr,num,tablepos);strcat(cmdbuff,tempbuff);break;case36:sprintf(tempbuff,HWPSWITCH2(d,d,d,d,d,d,f,f,f),Mode,Opnum,Opstate,maxerr,num,tablepos,ModePara1,ModePara2,ModePara3);strcat(cmdbuff,tempbuff);break;default:returnERRAUXPARAERR;break;}调用命令执行函数intretZAuxExecute(handle,cmdbuff,cmdbuffAck,2048);if(strlen(cmdbuffAck)!0)returnERRACKERROR;returnret;}
  本次,正运动技术运动控制器PSO视觉飞拍与精准输出的C开发(三):二维三维多轴PSO输出,就分享到这里。更多精彩内容请关注正运动小助手公众号。
  本文由正运动技术原创,欢迎大家转载,共同学习,一起提高中国智能制造水平。文章版权归正运动技术所有,如有转载请注明文章来源。

军民鱼水情,雷锋社区行半岛全媒体记者刘笑笑通讯员陈建扬陈纪刚刘鹏为深入学习宣传贯彻党的二十大精神,在学雷锋纪念日到来之际,日前,91033部队某连组织官兵在驻地街道开展学雷锋志愿活动,弘扬雷锋精神,争当短视频当真就娱乐至死么一hr人类关于媒介形式使用的评价,这数千年历史下来,回头看总觉一种很奇怪的可乐感。古希腊先贤苏格拉底是很看不上文字的。在他看来,文字是脱离情境的存在。我和你的口头交流,并不是只有交今天,走过50年50年前的3月1日,中国恢复国际海事组织成员国的合法席位,以开放合作互利共赢的胸襟,让世界航运更美好。每一次突破1971年联合国第26届大会通过决议,恢复中华人民共和国在联合国的合日本逃兵隐居山东,行医70年救人无数,只为向中国人民谢罪当记者问其老人是中国人还是日本人时,老人回答说我算是日本也行,算中国人也行,不管他中国还是日本,死了就随便吧!2010年12月1日下午,山东济南医学院为这位102岁的老人举行了遗体一定去山东!跨越31年母女再次相见妈妈,还认识我吗?听到陌生女子的喊声李顺花老人一愣对方上前握住老人的手说我是湖南来的,就是您30年前收留的那个小女孩!老人这才反应过来思绪闪回到30年前当年15岁的湖南女孩林静跟朋美军官信誓旦旦,乌克兰将在10月完蛋,泽连斯基连替身都准备好了基辅政权究竟什么时候倒台?看一看美国人是怎么说的。最近,有个美国人就这个问题发表了自己的看法。这个人不是一般人,他是我们的老朋友,美国海军陆战队情报官员里特。里特说在今年的秋天,乌一天之内3位明星离世,最年轻者仅25岁,意外来得太突然!3月4日对于大家来说或许是很平常的一天,但娱乐圈中却接连传出噩耗。短短不到24小时,三位明星相继离世,年纪最大的80岁,最年轻的一位年仅25岁。一青年演员刘峰25岁3月4日一大早,最近二十年国产剧经典男性角色(6)众生皆苦。因为每一个人面对的,都是一片荒原。从我们开始对生活对生命有自己的思考,我们就进入了荒原。无人能给予答案,毕竟,每个人对生命的理解都不一样。所以,人会一边迷失,一边创造。荒狂飙电影版诛烬枭亡,王者开局,兄弟相残,上演无间道!最近被一部电影的名字所吸引,遂而观之,发觉和狂飙真的有几分相似,质感也算不错,虽然剧情差了点,但是作为一部网大剧,还算挺不错的,起码不是烂片,就是结局仓促了点,这部电影的名字就是诛关于甲流上感抗病毒药物,我们了解多少?头条创作挑战赛春季是上呼吸道感染的高峰期,流行期,近日,甲流来势汹汹,传播速度之快,让人们猝不及防,特别是师生学生群体,孕妇和老年人需要加强防护,防止感染。今天我在这里简单叙述一下四川新闻联播丨工业引擎强劲制造业重点项目有序推进视频加载中坚持工业兴省,大力实施制造强省战略,离不开优质产业项目做支撑。眼下,全省各地制造业重点项目开足马力抓建设,大家以拼的精神闯的劲头实的干劲奋战一季度,持续夯实制造业基底,为
天梭手表和浪琴手表该怎么选择?先说一句其实该怎么选择一款手表没有标准答案,最重要的还是自己喜欢适合自己,毕竟适合自己的才是最好的嘛!天梭和浪琴都是瑞士的著名手表品牌从等级上来说,浪琴的定义是二类表,而天梭则是三针织开衫的24种穿法,单穿内搭都好看秋冬好看耐穿的单品,除了大衣羽绒服,针织开衫也是不错的选择,特别是在南方的集美,最近这个天气也很适合穿着,等到冬入春换季,也是家中常备的换季单品。两套简约有质感的开衫穿搭,颜色都是虞书欣爱用平价好物,直男们还不赶快买来送女友自从苍兰诀播出后,还有谁没有爱上小作精虞书欣?这段日子看了许多欣欣子的Vlog,发现好多平价好物都很适合不知道送什么给女朋友的男生们今天就来分享给男性朋友们,让我们给女朋友收获欣欣刘亦菲和唐嫣穿同款制服,气质却差很大,身高仪态太重要了头条创作挑战赛秋天来了,又到了玩转制服穿搭的季节,在许多人眼里,制服呆板难看,除非颜值超高,否则很难穿得好看,其实不然,只要掌握了制服的搭配技巧,我们就能分分钟化身时髦优雅的女神,国内半永久纹绣技术名师,本色纹绣培训学校特聘讲师曾美英女士环球创美会纹绣专委会认证高级持久美妆师曾美英人物介绍来自江西的曾美英老师,艺名艺雯,不但喜欢美业,学习,拍照,同时是中国半永久纹绣行业资深培训导师,梵色创美集团本色纹绣学院高级讲师你看,那些趟过你心河的温言软语都在这里1。对,放过自己2。没人扶你的时候,自己要站直,路还长,背影要美。3。难得几个好友,江湖相扶行走。平时两条微信,见面一杯薄酒。4。首先要有稳定的收入和作息才能保证稳定的情绪。5。世世界杯冠军花落谁家?梅西看好巴西争冠,这一次他是对的?距离世界杯正式开赛还有一个多月的时间,关于世界杯冠军的热门球队究竟是哪支球队,也逐步上了热搜。阿根廷国家队队长梅西近日接受采访时表示,如果一定要让我选择,那么法国队和巴西队应该是大他们终于在错误的时空,去犯另一种相爱的错误今日推诗1创造北岛2我看到我在倒退赵丽华3赠别穆旦4错误十四行张错5轰炸东京穆旦6一生中岛7黑夜雁西8借来方向北岛创造北岛世世代代的创造令我不安例如夜在法律上奔走总有一种原因一只狗我想做时间的朋友,可时间不跟我做朋友2022,快要滚蛋了!今年似乎没什么可圈可点的,反正能够活下来,就已经相当不错了。我想做时间的朋友,可时间不跟我做朋友。经历过无数被套路过的包装炒作,时间只负责揭露真相。看了太多入生活的第一步是解放人身作为一个资深打工人,我已经深切地感受到了打工对我自由的侵害。没办法,要吃饭,就不能不劳动,要穿衣,就不能不工作。我本是一个向往自由的人,蓝天白云,青山绿水,鸟语花香,青草绿叶,都是日系电动车疯狂降价促销,背后原因到底是啥?撰文陈一汛编辑孙春芳本田花费数万亿日元进行电动化转型,但在它最为重视的中国市场,电动化刚起步不久就有点蹒跚。数据显示,在华首款纯电产品eNS1和eNP1,今年上市至今累计销量分别为
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网