您的位置首页  家电资讯  新闻

LabVIEW怎么做复杂的多轴运控系统?手把手教你设计思路实现

  • 来源:互联网
  • |
  • 2020-08-13
  • |
  • 0 条评论
  • |
  • |
  • T小字 T大字

运动控制技术在国民经济和国防建设中所起的作用及其应用的范围越来越大。在工业生产中,运动控制系统既用于提高产品质量,也用于提高产品的产量。运动控制技术正在不断地深入到各个领域并迅速地向前推进,其应用范围已经涵盖了几乎所有的工业领域。随着近年来工业的发展,对各种机械性能和产品质量要求的逐渐提高,针对一台电机的控制已经不能完成一些复杂轨迹的生成,这就需要人们协调控制多台电机,由此产生了多轴运动控制系统。

LabVIEW 是美国NI公司开发的一种图形化编程语言,其功能强大,具有编程直观、简便、快捷的特点,正受到越来越多编程人士的青睐,尤其是非软件专业人员。本文采用“PC+运动控制卡”的设计方案,设计了基于LabVIEW的多轴运动控制系统,并提出了通过 LabVIEW与外部代码进行连接的 ActiveX技术,调用运动控制卡所提供的函数,开发了实时多轴运动控制系统软件,满足了实际工作的需求。

01

系统硬件的设计

本文釆用“PC+运动控制卡”模式对多轴运动控制系统进行设计。这样构造的多轴运动控制系统只需根据对被控制对象的控制要求,在 Windows环境下设计符合用户操作的人机界面和功能程序,就可达到多轴运动控制的目的。整个多轴运动控制系统的硬件由PC机、运动控制卡、电动机、驱动器、执行机构等部分组成,PC机和运动控制卡通过PCI总线进行通信,且在PC机上利用 LabVIEW软件开发平台进行上层控制软件的设计开发,其系统结构与原理示意如图1。

此多轴运动控制系统是典型的上、下位机结构,便于对多轴运动控制的协调和管理提高控制的实时性PC机作为上位机,可完成对多轴运动的位置、加速度、速度等参数进行设定,完成对人机界面管理、信息显示和预处理等非实时处理任务。运动控制卡为下位机,接收来自PC机的控制信号并进行实时处理,实现运动控制算法,并根据作业的要求和传感器件的信号进行必要的逻辑微数学运算,为各电机提供正确的控制信号以完成所要求的多轴运动,且可向PC机实时返回当前运动的位置、速度等参数,以便在PC机上可经过软件编程实现运动轨迹图像的显示。

此多轴运动控制系统以专用的运动控制卡为独立的标准部件,运动控制卡采用的是美国Parker han-nifin公司生产的最新系列运动控制卡ACR1505,与同类产品相比其具有较高的性能,尤其在控制精度速度和易操作性方面表现优异,多用于较高性能的运动控制。它采用32字节浮点DSP,具有120MFOPS的处理能力,有4个30MHz编码器的输入,使用PCI总线和上位机通信能够对四轴伺服或步进电机进行控制。电机和驱动器均采用上海鸣志公司生产的高性能产品。传感器采用增量式脉冲编码器,用于闭环伺服系统的位置检测这样可以明显缩短设计和开发周期提高系统的性能。

将运动控制卡以插卡形式嵌入PC机,即构成“PC+运动控制卡”模式多轴运动控制系统。这样将PC的信息处理能力和开放式的特点与运动控制卡的运动轨迹控制能力有机结合在一起,使得该多轴运动控制系统具有信息处理能力强、开放程度高、运动轨迹控制准确、通用性好的特点。

02

系统软件的开发

在系统的控制软件方面,通过在PC机上用LabVIEW软件来设计开发了多轴运动控制系统的控制界面和控制程序。在系统控制界面中输入多轴运动的目标位置加速度、速度等运动控制参数,ACR1505运动控制卡就会根据此信息控制电机的运动,完成对运动轨迹的规划和对实时运动位置坐标的读取。

本文采用LabVIEW作为上位PC机软件系统的开发平台,编程方便,人机交互界面直观友好,摒弃了传统开发工具的复杂性,在提供强大功能的同时保证了系统灵活性。LabVIEW提供了ActiveX外部程序接口能力,通过ActiveX能够方便地调用运动控制卡中的程序、控件等。通过ActiveX自动化LabVIEW既可以作为客户端,也可以作为服务器作为客户端,LabVIEW可以调用ActiveX自动化服务器中的ActiveX对象,获得其属性和方法,用户可以应用这些属性和方法进行编程。本文就是在LabVIEW平台上通过ActiveX技术调用运动控制卡所提供的ActiveX自动化服务器程序中的ActiveX对象,进行进一步的编程处理,从而实现对多轴运动的位置速度、加速度等的控制以及插补等运动控制算法的实现,完成对多轴运动控制系统的控制功能的快速开发,大大缩短了开发周期。

运动控制卡ACR1505提供一个名为“Co-mACRsrvr”的ActiveX自动化服务器,这个ActiveX自动化服务器包含了4个可供调用的ActiveX对象,分别为status(状态)、control(控制)、terminal(终端)和utility(效用),这些 ActiveX对象提供了对运动控制卡操作的多种属性和方法。例如 status提供了可以获取运动控制状态信息和相关数据的属性和方法;control提供了可以实现对运动控制参数如速度、位置等数据进行设置等用于控制功能实现的属性和方法。LabVIEW可以通过调用这些ActiveX对象,并对它的属性和方法进行访问,实现对运动控制卡的多种控制和操作功能。其主要实现过程如图2所示。

03

控制程序的实现

要实现多轴运动控制程序,就要通过ActiveX自动化,将LabVIEW作为自动化客户端,将运动控制卡提供的函数作为自动化服务器,实现LabVIEW对运动控制卡提供的ActiveX对象的调用,并访问它的属性和方法。LabVIEW中提供了丰富的有关ActiveX操作的函数,这些函数位于其程序框图的功能模板上的Connectvity--ActiveX面板上。其中主要函数有:Automation Open用于打开ActiveX对象,获得对象的Reference;Property Node用于读取或设置ActiveX对象的属性;Invoke Node用于调用ActiveX对象提供的方法。

LabVIEW作为自动化客户端操作ActiveX对象,首先要将运动控制卡提供的软件包中名为ComACRSrvt。tlb的文件拷贝到LabVIEW软件的文件目录下。然后将AutomationOpen函数放置到LabVIEW程序框图中,打开对ActiveX自动化功能的引用,并在此函数左上角的Automation Refnum端子处创建一个与其相连的Automation Refnum控件,由此控件进行ActiveX 对象的选择和调用。将一个或多个方法(或属性)节点函数Invoke Node (或Property Nodes)放置到程序框图中,并将Automation Open函数右端的Automation Refnum输出与方法(或属性)节点的Reference input端连接就可以完成对该对象的方法(或属性)的访问了。访向一个ActiveX对象的多个属性和方法,要将各节点顺次首尾连接。

本文设计出一个能完成多轴运动功能的程序。此程序分两个部分,分别为运动控制部分和运动显示部分。其中完成两轴运动控制的程序前面板如图3所示。

运动控制部分程序通过对control对象中的属性和方法的访问编程,并通过前面板对多轴运动的速度、加速度运动目标位置和运动模式的设置,完成对多轴运动的控制。通过运动模式选择按钮可对多轴运动控制系统的运动模式进行选择,可实现绝对运动和相对运动两种运动模式。绝对运动是将输人的目标位置参数作为新运动的绝对运动距离;相对运动是将此参数值作为新运动相对当前位置的运动距离。运动显示部分通过调用status对象中的属性和方法进行编程,实现对多轴运动的实时位置坐标读取和运动轨迹显示功能。此外本程序还增加了通信连接测试和错误报告显示的功能,可通过连接测试指示灯的亮灭来显示相应的ActiveX对象是否被LabVIEW程序正确调用。若控制过程中出现错误,可在错误报告栏中查看错误报告,以便作出相应处理。下面将对这两部分程序进行进一步说明:

运动控制部分的程序框图如图4所示。其中fMoveACC、fMoveVE、bMoveAbsolute属性分别用来设置运动的加速度、速度和模式。connect方法用来设置控制卡与PC机的通信方式,将其设定为PCI总线方式。Move方法用来对运动位置和参加运动的轴数进行设置。

运动显示部分的程序框图如图5所示。其中主要通过status对象的GetACRCustom方法对控制卡返回的运动位置坐标等参数进行读取。设定对位置坐标每10ms记录一下此多轴运动控制系统当前的运动位置坐标,并生成运动轨迹图。

本文采用“PC+运动控制卡”的多轴运动控制系统方案设计了基于LabVIEW的多轴运动控制系统,并在LabVIEW软件平台上对多轴运动控制系统的控制程序进行了开发。目前,很多运动控制程序的开发多采用VB、VC++等软件编写,有时编写界面就占了程序编写工作的很大一部分,不利于效率的提高。本文利用LabVIEW界面易操作性以及LabVIEW可以调用ActiveX等功能,实现了在LabVIEW软件平台下系统运动控制程序的快速开发。这种方法能够避免繁琐的界面编程,缩短周期,提高效率。此系统已经在水浸C扫描成像超声无损检测运动系统中得到应用,经试验测定,此系统的定位精度为±0.065mm/300mm,重复精度为±0.05mm,分辨率为0.01mm,具有较高的控制精度和性能。

随着自动化技术的飞速发展,机器视觉检测和控制系统已被广泛应用在工况监视、产品检验和自动控制等领域,以提高生产效率和生产自动化程度。其中最重要体现就是工业自动化流水线的多轴控制,如何实现整条流水线的监视、自动控制,具体的循环设计思路是怎样实现的,特别是遇到20、50轴甚至更多轴时,如何使用通用软件做好LabVIEW联动控制,统一系统软件管理。

8月13号晚上8点,莱伯维尔智能科技负责人刘老师,将给大家 直播《使用LabVIEW重塑逻辑、思想、方法共鸣联动配置即用型平台(20-50轴)》,带你深入掌握工业控制领域的生产流水线、自动化多轴控制技术方法。

直播主题:《使用LabVIEW重塑逻辑、思想、方法共鸣联动配置即用型平台(20-50轴)》

直播时间: 2020年8月13日(周四) 晚8点

直播简介:

LabVIEW通用逻辑运动控制软件应用场合贴标、打螺螺丝机、以及好多气缸的一并联动、造成咱们的系统软件不容易管理,然而缺乏这种思想与方法,特别结合视觉+运动让大家困难重重,希望这次直播给大家一个方向。

螺丝机、贴片机、插件机、以及点胶机视觉方面应用居多,可以说几乎无处不在。

直播大纲:

1.LabVIEW多轴控制界面的布局

2.LabVIEW通用逻辑的撰写方式

3.实例演示上千点位通用映射其他类的机制

4.LabVIEW运动控制的思想

5.通用运动逻辑类的复用、联动20-50轴工控思想

扫一扫二维码,立即报名直播!

另外,给大家准备了一份LabVIEW运动控制学习资料,包含完整的LV安装程序包+通用视觉软件框架。提前报名直播,扫码进群的学员,即可免费领取学习!

免责声明:本站所有信息均搜集自互联网,并不代表本站观点,本站不对其真实合法性负责。如有信息侵犯了您的权益,请告知,本站将立刻处理。联系QQ:1640731186