近年来,虚拟仪器技术在航空、航天、航海、通信、汽车、半导体、生物医学等众多领域得到了广泛应用,从简单的仪器控制、数据采集到尖端的测控和工业自动化,从大学实验室到工业现场,从探索研究到技术集成,可以发现虚拟仪器技术应用的很多实例。国内外学者对此作了很多的研究工作,也发表了不少相关文章或论文,但在运动控制方面,却探讨的不多。因此,笔者想就虚拟仪器技术在步进电机控制系统中的应用,谈谈自己的一些初步探讨和体会。
一、虚拟仪器与运动控制
1. 虚拟仪器与图形化编程语言-LabVIEW
虚拟仪器(即Virtual Instrument,简称NI)是一种基于计算机的仪器,就是在通用计算机上加上软件和(或)硬件,使得使用者在操作这台计算机时,就象是在操作一台他自己设计的专用的传统电子仪器。在虚拟仪器系统中,硬件仅仅是为了解决信号的输入输出,软件才是整个仪器系统的关键,任何一个使用者都可以通过修改软件的方法控制工程网版权所有,很方便地改变、增减仪器系统的功能与规模,所以有“软件就是仪器”之说。虚拟仪器技术的出现,彻底打破了传统仪器由厂
虚拟仪器系统是计算机系统与仪器系统技术相结合的产物。它利用PC计算机强大的图形编程环境和在线帮助功能,结合相应的硬件www.cechina.cn,快速建立人机交互界面的虚拟仪器面板,完成对仪器或设备的控制、数据分析与显示,提高仪器的功能和使用效率,大幅度降低仪器的价格,使用户可以根据自己的需要定义仪器的功能,方便地对其进行维护、扩展、升级等。
LabVIEW是美国NI公司利用虚拟仪器(virtual instnlments)技术开发的32位,主要面向计算机测控领域的虚拟仪器软件开发平台。LabVIEW同时也是一一种功能强大的图形编程语言,但它与传统的文本编程语言(如c语言)不同,采用了一种基于流程图的图形化编程形式,因此也被称为G语言(graphical language)。这种图形化的编程形式控制工程网版权所有,方便了非软件专业的工程师快速编制程序。LabVIEW也不同于传统文本式的编程语言的顺序执行方式,而是采用了数据流的执行方式,这种方式要求程序仅在各节点已获得它的全部数据后才执行。
多任务并行处理一般是通过多线程技术来实现的,不同的任务实际上通过各自的线程轮流占用CPU时间片来达到“同时”处理的目的。LabVIEW也采用了多线程技术,而且与传统文本式的编程语言相比控制工程网版权所有,有两大优点:LabVIEW把线程完全抽象出来,编程者不需对线程进行创建、撤销及同步等操作;LabVIEW使用图形化的数据流的执行方式,因此在调试程序时,可以非常直观地看到代码的并行运行状态,这使编程者很容易理解多任务的概念。
LabVIEW图形化编程语言有效地利用了当今图形用户接口的点击特性。编写程序只包含以下的一些简单步骤:
(1)用鼠标选择仪器函数作为对象;
(2)描述测试步骤和对象之间的关系;
(3)建立初始条件。
2. 运动控制
运动控制卡是一种基于PC机、用于各种运动控制场合(包括位移、速度、加速度等)的上位控制单元。它的出现主要是因为:
(1)为了满足新型数控系统的标准化、柔性、开放性等要求;
(2)在各种工业设备、国防装备(如跟踪定位系统等)、智能医疗装置等设备的自动化控制系统研制和改造中,急需一个运动控制模块的硬件平台;
(3)PC机在各种工业现场的广泛应用,也促使配备相应的控制卡以充分发挥PC机的强大功能。
运动控制卡通常采用专业运动控制芯片或高速DSP作为运动控制核心CONTROL ENGINEERING China版权所有,大多用于控制步进电机或伺服电机。一般地,运动控制卡与PC机构成主从式控制结构:PC机负责人机交互界面的管理和控制系统的实时监控等方面的工作 (例如键盘和鼠标的管理、系统状态的显示、运动轨迹规划、控制指令的发送、外部信号的监控等等);控制卡完成运动控制的所有细节(包括脉冲和方向信号的输出、自动升降速的处理、原点和限位等信号的检测等等)。运动控制卡都配有开放的函数库供用户在相应系统平台下自行开发、构造所需的控制系统。因而这种结构开放的运动控制卡能够广泛地应用于制造业中设备自动化的各个领域。
步进电机是一种将电脉冲转化为角位移的执行机构。当步进驱动器接