普通运动控制卡在LabVIEW平台上的应用

合集下载

labview在科研和工程中的应用实例

labview在科研和工程中的应用实例

labview在科研和工程中的应用实例LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是一款由美国国家仪器公司(National Instruments)开发的图形化编程语言和开发环境。

它在科研和工程领域有着广泛的应用,可以用于数据采集、信号处理、控制系统设计等方面。

下面将介绍一些LabVIEW在科研和工程中的应用实例。

1. 数据采集与分析LabVIEW可以与各种传感器和仪器进行连接,实时采集数据,并进行实时分析和处理。

例如,在环境监测领域,可以使用LabVIEW 连接温度、湿度、气压等传感器,实时监测环境参数,并将数据存储和分析,用于环境状况的评估和预警。

2. 信号处理与图像处理LabVIEW提供了丰富的信号处理和图像处理函数库,可以方便地进行信号滤波、频谱分析、图像增强等操作。

在无线通信领域,可以使用LabVIEW设计和实现无线信号的解调和调制算法,用于无线通信系统的性能优化。

3. 控制系统设计与实现LabVIEW具有强大的控制系统设计和模拟功能,可以用于设计和实现各种控制系统。

例如,在机器人控制领域,可以使用LabVIEW 设计和实现机器人的运动控制、路径规划等功能,实现自动化生产和物流。

4. 数据可视化与人机交互LabVIEW提供了丰富的图形化界面设计工具,可以用于数据可视化和人机交互。

通过LabVIEW,用户可以设计出直观、易于操作的界面,方便用户对数据进行观察和操作。

例如,在实验室中,可以使用LabVIEW设计一个实验控制界面,方便实验人员对实验参数进行设置和监控。

5. 物联网系统开发随着物联网的快速发展,LabVIEW也被广泛应用于物联网系统的开发。

LabVIEW可以与各种传感器、执行器、无线模块等硬件设备进行连接,实现物联网系统的数据采集、实时处理和远程控制。

例如,在智能家居领域,可以使用LabVIEW设计和实现家庭自动化系统,实现对家电、照明、安防等设备的智能控制。

LabVIEW在电机控制中的应用实现精准的电机控制

LabVIEW在电机控制中的应用实现精准的电机控制

LabVIEW在电机控制中的应用实现精准的电机控制LabVIEW是一款基于图形化编程界面的开发环境,广泛应用于工业自动化领域。

在电机控制中,LabVIEW以其强大的实时性、易用性和可扩展性,成为了实现精准电机控制的理想选择。

一、LabVIEW的基本原理和特点LabVIEW采用了数据流图(Dataflow Diagram)的编程方式,通过将程序分为不同的模块,用图形化的图标表示不同的功能和算法,实现模块之间的数据交互和控制。

这种图形化的编程方式使得LabVIEW非常易于学习和使用。

LabVIEW具有以下几个特点:1. 强大的数据采集和处理功能:LabVIEW提供了丰富的传感器接口和数据采集模块,可以方便地获取电机的各种参数,如速度、转矩、温度等。

同时,LabVIEW还提供了丰富的信号处理和分析工具,可以对采集到的数据进行滤波、谐波分析等操作。

2. 高度可扩展性:LabVIEW支持与其他硬件设备和软件系统的连接,可以通过各种接口和协议与外部设备进行通信,实现与其他组件的集成,提高整个系统的可扩展性和灵活性。

3. 实时性能强:LabVIEW具有出色的实时性能,能够实时获取电机的状态并做出相应的控制。

这对于电机控制来说至关重要,因为电机反应速度非常快,需要实时采集和处理数据,才能实现精准控制。

二、LabVIEW在电机控制中的具体应用1. 电机控制算法的实现:LabVIEW提供了丰富的控制算法和函数模块,可以根据具体的需求,选择合适的算法进行电机控制,如PID控制、模糊控制等。

利用LabVIEW强大的数据处理能力,可以实现对控制算法的灵活调整和优化,从而提高电机控制的精度和稳定性。

2. 电机状态监测和保护:LabVIEW可以通过采集电机运行时的各种参数,实时监测电机的状态,如温度、电流、转速等。

当电机运行参数异常时,LabVIEW可以通过设定相应的报警和保护机制,及时采取措施避免电机受损。

3. 远程监控和控制:LabVIEW支持与其他设备和系统进行远程通信,可以实现对电机的远程监控和控制。

基于LabVIEW的伺服电机测控系统设计

基于LabVIEW的伺服电机测控系统设计

第1期(总第224期) 2021年2月机 械工程与自动化MECHANICAL ENGINEERING&AUTOMATIONNo1Feb文章编号=1672-6413(2021)01-0158-03基于LabVIEW的伺服电机测控系统设计櫜张日红,朱立学,杨松夏(仲恺农业工程学院机电工程学院,广东广州510225)摘要:伺服运动控制以其精准稳定的定位控制优势在工业机器人、机床自动化等方面得到了广泛应用。

在LabVIEW图形化编程开发环境下,通过调用研华PCI1245运动控制卡中的运动控制函数对4台交流伺服台达电机进行了单独运行和联动运行的定位控制程序开发,该程序还可以实时动态地监控伺服电机的状态参数。

通过在实验室环境下的调试运行,验证了控制程序的有效性。

关键词:伺服电机;LabVIEW;测控系统中图分类号:TP273文献标识码:A0引言由于伺服电机的精度高、高速性能好、适应性强以及运行稳定等优点,因而得到众多科研人员的青睐。

在机械运动控制研究领域中,伺服驱动控制是一个非常重要的研究课题,也是一个非常综合性的研究课题,其普遍应用于自动化CNC数控设备、自动化仪表车床、纺织业以及生产加工与制造进程控制系统中,它关系到机械电子工程、自动化控制以及计算机技术等学科[3。

与此同时,随着电子计算机应用技术的高速发展,使得虚拟仪器也逐渐得到学术界和工业界的认同及推广。

伴随着运动控制卡等一系列硬件的开发,在众多领域的研究、制造和开发中,LabVIEW虚拟仪器测控程序得到了非常广泛的应用,通过LabVIEW编程语言调用运动控制卡的内置函数对系统进行高精度的控制是全新的控制方案。

运用LabVIEW编程语言进行由运动控制卡、伺服电机及其驱动器所组成的单轴或多轴伺服控制系统开发具备系统调试方便、稳定性高等优点[5。

1伺服电机控制系统的硬件配置图1为单个伺服电机控制的硬件接线示意图。

硬件系统由ECMA-C20602SS伺服电机、ASD-B2-0221-B 伺服驱动器、PCI1245运动控制卡、ADAM-3952接线端子板、24V直流电源和电脑等组成[]。

基于LabVIEW的双铣刀数控机床控制系统

基于LabVIEW的双铣刀数控机床控制系统
第2 卷第 1 期 9 0
21年1月 02 0




Vo .2 .0 1 9 No 1 0c.2 2 t 01
Ju n lo c a ia o ra fMe i
基于 L b I W 的双铣刀数控机床控制系统 aV E
第 1 期 0
鲁智安 , : 于L b Iw 的双铣刀数控机床控制系统 等 基 aV E
・ 19 ・ 19
主要是对刀架进行重新设计 , 以保证 能够实现同时用 两把 铣 刀进 行 加工 ; 机床 的控 制系 统 采用 工业 计 算 机 (P 、 动控 制卡 、aVE 和 N tn IC)运 L b IW I i 运动 控 制模 mo o 块构建。 在机 床 控 制 系统 的研 发 中 , 研 究首 先 针对 一 个 本 伺服 电机进行控制 , 并把控制程序做成子程序供整个 程序调用 ; 其次 , 对螺 杆 的形 状 和加 工 过 程进 行 分 析 , 建立 螺 杆加 工 中各个 轴 之 间 的运 动关 系 , 现各 轴 电 实
efce td u l l n u tr NC ma h n o c e .A e h n l ss o c e s a e a d e it g s r w ma h n n r c s , h f in o b e mi i g c t s C c i e fr s r w i l e t f r t e a a y i f s r w h p n xsi c e c i i g p o e s t e n r l t n h p b t e a h a i t c e r c s i g w s e t b i e . t o a r s n e o d s n a s e ilmi i g ma hn h tt e ai s i ewe n e c xs o s r w p o e sn a sa l h d A meh d w s p e e t d t e i p c a l n c i e t a wo o s g l mi i g c t r r b e t o k smu t n o s n t o t ls se ,b s g t e v r a n t me ts f r a VI l n u t s a e a l o w r i l e u l a d i c nr y tm l e a y s o y u i h it l i s u n ot e L b EW t t moi n n u r wa wi i t h s o mo ue a d te NIc mp n C 一 3 0 moi n c n r lc r . h e sb l y a d p o e sn f ce c fd u l l n ut r NC we e d l n h o a yS P I 7 9 t o t a d T e fa i i t n r c si g e in y o o b e mi i g c t s C r o o i i l e

LabVIEW在航空航天领域中的应用案例

LabVIEW在航空航天领域中的应用案例

LabVIEW在航空航天领域中的应用案例概述:LabVIEW是一种基于图形化编程语言的开发环境,适用于各种科学和工程领域。

在航空航天领域,LabVIEW被广泛应用于飞行控制系统、飞行仿真和数据采集等方面。

本文将介绍一些LabVIEW在航空航天领域的应用案例。

一、飞行控制系统飞行控制系统是航空航天领域中至关重要的一部分。

LabVIEW可用于开发和测试飞行控制系统。

通过使用LabVIEW,工程师可以快速设计和实现各种飞行控制算法,并进行实时数据采集和分析。

例如,某航空公司正在开发一种新型飞机的飞行控制系统。

他们使用LabVIEW开发了一个实时飞行仿真系统,该系统可以模拟各种飞行条件,并测试飞行控制系统在不同情况下的性能。

LabVIEW的易用性和实时性使得工程师能够快速进行系统调试和优化。

二、飞行仿真飞行仿真是航空航天领域中用于模拟飞行器行为和性能的重要工具。

LabVIEW可以与各种硬件设备(如飞行模拟器和运动平台)以及飞行动力学模型进行集成,实现高度真实的飞行仿真。

举个例子,某航空航天研究机构使用LabVIEW开发了一个飞行仿真平台,用于测试新型飞机的飞行性能。

他们利用LabVIEW的数据采集和分析功能,实时记录并分析飞行器在各种飞行条件下的性能指标。

这些数据可以用于改进飞机设计和优化飞行控制系统。

三、数据采集与分析航空航天领域中对各种参数数据的采集和分析非常重要。

LabVIEW提供了强大的数据采集和分析功能,可帮助工程师实时监测和记录关键参数。

例如,在一次航空航天试飞中,工程师使用LabVIEW搭建了一个数据采集系统,用于记录飞机各种传感器的输出值。

通过LabVIEW的数据处理和可视化功能,工程师可以及时监测飞行器的状态,并根据数据分析来优化飞行控制系统。

结论:LabVIEW在航空航天领域中具有广泛的应用,无论是在飞行控制系统的开发、飞行仿真还是数据采集与分析方面,LabVIEW都能发挥重要作用。

LabVIEW在工业自动化控制中的应用案例分析

LabVIEW在工业自动化控制中的应用案例分析

LabVIEW在工业自动化控制中的应用案例分析自从1993年推出以来,LabVIEW(Laboratory Virtual Instrument Engineering Workbench)已经成为工业自动化控制领域中的一种重要工具。

LabVIEW通过图形化编程环境,使工程师和科学家能够快速开发应用程序,并能够实时监测和控制工业过程。

本文将通过几个实际案例来分析LabVIEW在工业自动化控制中的应用。

案例一:用LabVIEW实现温度控制在工业生产过程中,温度控制是非常关键的一个环节。

某工厂的高温熔炉需要对熔炉内的温度进行稳定控制,以确保产品质量。

工程师使用LabVIEW软件和硬件模块搭建了一个温度控制系统。

他们利用LabVIEW编写了控制算法,并将其与温度传感器、加热元件以及PID 控制器相连接。

通过LabVIEW的图形化界面,工程师们可以实时监测熔炉的温度,同时对加热元件进行精确控制,以达到所需的温度稳定性。

这个案例展示了LabVIEW在工业控制中的精确性和实时性。

案例二:用LabVIEW实现机器视觉系统在自动化生产线上,机器视觉系统起着至关重要的作用。

例如,某制造公司在流水线上使用机器视觉系统检测产品的质量。

他们利用LabVIEW中的图像处理工具箱,将相机与电脑连接,并使用LabVIEW 编写了算法来检测产品表面的缺陷和瑕疵。

通过LabVIEW的图形化界面,工程师们可以实时监测产品的质量,并对生产线中的异常产品进行排除。

这个案例展示了LabVIEW在工业自动化中的灵活性和实用性。

案例三:用LabVIEW实现数据采集与分析在许多工业领域中,数据的采集和分析对于及时发现问题和提高生产效率至关重要。

某电力公司使用LabVIEW搭建了一个数据采集系统,用于监测电力设备的运行状态。

他们通过LabVIEW软件和传感器设备实时采集数据,并对数据进行分析和处理。

通过LabVIEW的图形化界面,工程师们可以实时监测设备运行的各项参数,并根据历史数据进行故障预警和预测性维护。

LabVIEW在电机控制与驱动中的应用

LabVIEW在电机控制与驱动中的应用LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是一款由美国国家仪器公司开发的用于快速设计、测量和控制系统的图形化编程语言和开发环境。

由于其简洁直观的图形化编程界面和强大的数据处理能力,LabVIEW在电机控制与驱动领域得到了广泛的应用。

本文将探讨LabVIEW在电机控制与驱动中的具体应用案例。

1. 电机控制系统概述电机控制系统是指通过对电机进行控制,实现对机械设备的精确运动控制。

电机控制系统一般由传感器、控制器和执行器组成。

传感器用于采集机械设备的位置、速度等参数信息,控制器根据采集到的信息进行数据处理与判断,然后输出控制信号给执行器,从而控制电机的运动。

LabVIEW作为一款功能强大的编程工具,能够实现电机控制系统中各个组件之间的数据交互和控制逻辑的设计。

2. LabVIEW在电机位置控制中的应用电机位置控制是电机控制系统的重要环节之一,通过对电机位置的精确控制,可以实现机械设备的正常运行。

LabVIEW可以通过编写控制算法和配置各种传感器,实现电机的位置反馈和闭环控制。

通过LabVIEW的图形化编程界面,用户可以直观地观察电机位置的变化和控制效果,便于系统调试和参数优化。

3. LabVIEW在电机速度控制中的应用电机速度控制是在电机控制系统中常见的一种控制方式。

LabVIEW 通过编写速度控制算法和输入控制信号,可以实现对电机速度的精确控制。

LabVIEW提供了丰富的数据处理函数和工具包,可以轻松实现速度环闭合控制、反馈信号滤波和速度曲线优化等功能,助力用户实现高精度的电机速度控制。

4. LabVIEW在电机力矩控制中的应用电机力矩控制是一种高级的电机控制技术,主要应用于对力矩要求较高的场景,如机器人、工业自动化等领域。

LabVIEW在电机力矩控制中通过设计转矩控制算法和优化控制策略,可以实现对电机输出力矩的精确控制。

运动控制卡和PLC有什么区别

运动控制卡和PLC有什么区别运动控制和PLC都是运动控制器,可以储存和执行逻辑运算、顺序控制、定时计数、加速度变换等操作指令,最主要的使用场景就是制造业生产设备当中的机械运动控制,包括机械轴或者机械臂之类的,在机器人、激光设备、刀切设备、半导体设备上有着广泛的应用。

运动控制卡是基于PC机或工业PC机的上位控制单元,其原理是利用高性能微处理器及大规模可编程器件实现多个伺服电机的多轴协调控制的一种高性能的步进/伺服电机运动控制卡,它可以发出连续的、高频率的脉冲串,通过改变发出脉冲的频率来控制电机的速度,改变发出脉冲的数量来控制电机的位置。

PLC又叫可编程逻辑控制器,是专门为在工业环境下使用而设计的电子运算系统。

PLC自带微处理芯片,可以在内部独立存储和执行操作指令,通过数字或模拟信号的输入输出来控制机械设备。

概括的来说,PLC可以看做是一个专门用于工业生产的,简易的独立的微型电脑。

两者的区别主要有以下几点稳定性:因为运动控制是用于工业环境下,所以不可避免的会遇到粉尘、油污、电磁干扰等外部因素影响。

运动控制卡在执行操作指令的同时,还需花费相当一部分性能去维持PC机本身的系统运作,遭受环境影响之后,更有可能出现卡顿死机等情况。

PLC相比运动控制卡,因其本身结构简单,系统相对独立,所以稳定性会更强,抗干扰能力更好,在强干扰环境下更合适。

功能性:PLC是利用自身的微型处理器来进行工作运算的,整体性能自然不如PC机。

运动控制卡基于PC平台运行,因此功能性更为强大,比如可以借助CAD等软件实现制图;利用相机拓展实现视觉识别加工;利用FPGA+DSP/ARM+DSP芯片的功能,实现高精度运动控制(多轴直线和圆弧插补、运动跟踪、PWM控制等)。

可拓展性:PLC主要通过外接其他模块实现功能拓展,可拓展程度有限,主要针对专门的应用场景。

运动控制卡基于PC平台,用高级编程语言C++、C#、VB、、labview等编程语言进行开发,可以借助庞大的数据库,实现丰富的功能拓展,并且变更方便,可以做到快速响应,更适应柔性化加工要求。

基于Labview的变积分数字化PID调速运动控制系统研究

基于Labview的变积分数字化PID调速运动控制系统研究控制系统过程中,积分增量不变。

而系统对积分项的要求是,系统偏差大时积分作用应减弱甚至全无,而偏差小时则应加强。

积分系数取大了就会产生超调,甚至积分饱和,取小了又迟迟不能消除静差。

因此,如何根据系统偏差大小改变积分速度,对于提高系统的品质是很重要的。

考虑到控制系统的稳定性与精确性,调速模块控制器采用变积分数字PID控制算法,可以较好地解决系统的品质问题。

变积分PID的基本思想是改变积分项的累加速度,使其与偏差大小相对应:偏差越大,积分越慢,反之越快。

为此设置系数f(e(k)),它是速度误差e(k)的函数。

当增大时,f减小,反之增大。

变积分的PID积分项表达式为:系数f与偏差当前值的关系可以是线性的或非线性的,可以设为f的值在[0,1]区间内变化,当|e(k)|差大于所给分离区间A+B后,f=0,不再对当前值e(k)进行继续累加;当偏差|e(k)|小于B时,加入当前值e(k),即积分项变为,与一般的PID积分项相同,积分动作达到最高速度;而当偏差|e(k)|在B与A+B之间时,则累加计入的是部分当前值,其值在0~|e(k)|之间随|e(k)|的大小而变化,因此,其积分速度ui在和之间。

变积分PID的算法为[4]。

这种算法对A、B两个参数的要求不精确,参数容易整定。

系统中电枢控制式直流电机的数学模型为:式中:为电动机增益常数;为电动机时间常数;根据直流电动机的数学模型(4)式和变积分PID算法表达式(3)式以及其系数表达式(2)可以编写MATLAB程序,放入MATLAB节点模块中。

3 系统硬件结构系统硬件由数据采集卡、驱动模块、电动机、速度传感器、位置传感器、电流传感器等六部分组成。

图中虚线内部分为计算机,其中速度调节和位置调节以互换方式作用。

系统的硬件组成结构如图1所示。

3.1数据采集卡本系统中有三路输入,一路输出。

根据这个要求,本系统采用凌华的一款通用多功能数据采集卡PCI911DG,该卡具有16路分辨率为12位的模拟输入,一路12位模拟输出,16个数字I/O,可编程输入增益和输入范围可选择。

LabVIEW NI SoftMotion和C系列驱动接口入门

LabVIEW NI SoftMotion和C系列驱动接口入门2011-11-14 13:43:39 来源:互联网关键字:LabVIEW NI 驱动接口概览本指南展示了如何使用美国国家仪器公司的LabVIEW NI SoftMotion Module和NI 951x C系列驱动接口来开发运动控制的应用。

该应用使用了NI CompactRIO可重配置嵌入式系统以及LabVIEW、LabVIEW NI SoftMotion和NI-Motion驱动软件,用来执行一系列双轴运动。

在开发这项应用的过程中,您可以学习到使用NI RIO Scan Interface开发运动应用的概念和技术。

利用RIO Scan Interface,用户可以在LabVIEW Real-Time Module中,对C系列模块进行直接访问。

目录所需元件LabVIEW NI SoftMotion Module概览设置硬件在控制器上安装和配置软件在扫描接口模式下创建工程在LabVIEW项目中增加NI SoftMotion资源配置步进式驱动接口模块的轴使用交互式测试面板测试系统配置定时循环创建运动配置文件发布、测试并使用VI连接至伺服式和步进式驱动您所学到的东西更多资源所需元件这篇指南需要使用到下列软件:LabVIEW 2009 或后续版本LabVIEW Real-Time Module 2009或后续版本NI-RIO 3.2.0或后续版本LabVIEW NI SoftMotion Module 2009或后续版本这篇指南还需要使用下列硬件:CompactRIO 控制器和可提供Scan Interface(扫描接口)模式的机箱或NI 9144分布式机箱两个NI 9512 单轴步进式驱动接口控制器电源单独的模块电源以太网连接和线缆即使您没有指定的硬件,仍可以遵循这篇文章中的“LabVIEW NI SoftMotion Module 指南”一节,进行离线的配置以学习在LabVIEW中使用该模块的方法。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

摘 要: 介绍了一种在LabVIEW平台上使用普通运动控制卡实现快速开发多轴运动控制程序的方法。该方法首先应用运动普通控制卡提供的函数库编译成通用动态链接库文件,然后使用LabVIEW与外部代码进行连接的动态连接库机制调用这个文件,实现实时的运动控制。 实践证明,该方法不仅可以很好地发挥运动控制卡的性能,而且可以借助LabVIEW强大的界面编辑功能,缩短程序开发周期,美化人机界面。 关键词:LabVIEW;运动控制卡;动态链接库 一、引言 LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是美国国家仪器公司(National Instruments)推出一种基于图形语言的开发环境,编程非常方便,人机交互界面直观友好,用户可以创建独立的可执行文件,能够脱离开发环境而单独运行,是目前最流行的虚拟仪器编程平台,广泛应用于测试测量、过程控制、实验室研究与自动化等方面。 在运动控制方面,LabVIEW有专门的运动控制模块,并且NI公司为其所有的运动控制卡配备相应的驱动程序,可以方便实现即插即用功能。如果用户所使用的板卡不是NI公司的产品,又没有提供与LabVIEW兼容的驱动程序,就不能为LabVIEW所用。但是LabVIEW能够通过调用Windows32动态连接库(Dynamic Link Library,简称DLL)来编写与LabVIEW兼容的驱动程序,实现该运动控制卡在LabVIEW环境下二次开发,不仅可以大大降低成本、缩短开发周期,而且可以使界面美观。 二、应用背景 笔者在参与某二自由度运动平台运动仿真项目的研制过程中,选用深圳众为兴数控技术有限公司生产的ADT850型四轴运动控制卡,该型号的卡提供多种版本Windows下的驱动程序和在BorlandC++3.1、VB和VC等多种环境下开发所需的函数库。虽然在这些编程环境中很容易实现所需的运动控制,但是,如果要开发出一个美观的人机交互界面,将会有很大一部分时间花在程序主界面的编写上。为此,我们利用LabVIEW强大的界面编辑功能以及它能够调用Windows32动态连接库的特点,首先在VC编译环境中编译出运动控制所需要的动态链接库文件,然后在LabVIEW环境中编写程序主界面,最后在LabVIEW框图程序中调用动态链接库文件来编写所需的运动控制程序。其主要过程如图1所示。

图1 DLL生成与LabVIEW调用 三、程序设计 LabVIEW具有强大的外部接口能力,可用的外部接口包括:DDE、CIN、DLL、MATLAB Script以及HiQ Script等,其中DLL是其常用的外部接口。 3.1 动态链接库(DLL)的编写 DLL是基于Windows程序设计的一个非常重要的组成部分。DLL的编制与具体的编程语言及编译器无关,只要遵守DLL的开发规范和编程策略,并安排正确的调用接口,不管用何种编程语言编制的DLL都具有通用性,这就给我们编写通用的DLL带来了很大的方便。 针对LabVIEW调用DLL的特点和运动控制的复杂性,我们所编写的通用DLL中必须包含多个可供调用的函数,这些函数都调用运动控制函数库中的一个或多个函数,DLL中每个可供调用的函数都对应着某一具体任务,称其为功能函数。DLL中的功能函数主要有:板卡初始化函数、运行条件初始化函数、两轴运行状态函数、两轴位置函数、脉冲发送函数、两轴伸长计算函数、停止运行函数、归零函数以及板卡结束运行函数等,每个功能函数一般都有自己独立的接口。 功能函数确定以后,在Visual C++6.0编译器中建立一个Win32 Dynamic-Link Library文件,添加上运动控制卡随带的运动控制函数库文件后,即可编译成我们所需要的DLL文件。 3.2 动态链接库的调用 LabVIEW中动态链接库的调用是通过CLF(Call Library Function)节点实现的,CLF节点位于LabVIEW功能模板中的Advanced子模板中。 在LabVIEW中调用DLL时,则应根据应用程序的需要,确定参数个数和参数类型及调用规则,然后在LabVIEW中正确地配置DLL。首先从Advanced子模板中选择Call Library Function Node图标并将其拖放到Diagram面板中适当位置,然后右键单击它,在弹出的菜单选项中选择Configer…弹出Call Library Function对话框。在此对话框中,第一个参数Library Name or Path中填入需要调用的动态连接库文件的文件名和路径;第二个参数Function Name是连接库中要调用的函数名称;第三个参数Calling Conventions是对DLL的调用规则,可选择C或stdcall,该项的选择应与用C++语言编写的动态库的编译模式相一致。如果C++的调用方式为extern “C” declspec(dllexport),那么Calling Conventions的选项为“C”,如果调用方式为extern declspec(dllexport)stdcall,则Conventions的选项为默认值“stdcall”,否则发生不可预见的错误而退出程序。接下来的Parameter和Type分别是参数名称和参数类型,表示函数返回类型。左击Add a Parameter After按钮,又多出了Data Type和Pass两项,它们分别是数据类型转换和参数传递方式,这是配置所调用函数形参所必须的选项。 3.3 程序实现 根据以上所编写的功能函数配置好CLF节点的参数个数及其数据类型后,也就设置好了CLF节点的输入输出端口。每一个功能函数对应着相应功能的CLF节点,我们可是像使用其它函数节点一样来应用这些CLF节点。针对某型二自由度运动平台运动控制的特殊性,要求这两个自由度完全独立,互不相关,这就不能采用多轴插补函数进行脉冲输出控制,只能是两轴分别控制。 整个LabVIEW框图程序的结构采用顺序结构(Sequence Structure),每一顺序框都对应某项固定的任务。图2中三个顺序框是整个框图程序的前三框,从左到右其任务分别是板卡初始化、板卡驱动成功与否和相关参数的初始化及其显示,相关参数初始化顺序框中采用While循环模式等待输入,只有当参数设定完成并按下确定键后程序才能继续往下运行。

图2 程序初始化阶段框图 图3所示是紧接在图2后面的顺序框,也是程序框图的第四个顺序框,这是整个框图程序的主体部分。顺序框中嵌入一个While循环,While循环中又嵌入一个顺序结构,其前一框的作用是运动模式选择及运动控制,这也是整个程序框图的核心部分,后一框的作用是数据显示部分。 运动模式选择包括自由度的选择和自动与手动模式选择。自由度选择和运行模式选择均采用选择结构(Case Structure),自由度的选择结构框内又嵌入了运行模式选择结构框,即每个自由度的运动都有自动和手动两种方式。选择手动方式时,手动位移可以通过拖动前面板上的手动进度条来确定,而选择自动方式时,其运行轨迹是一正弦曲线,这条曲线的形状由所设定的幅度值、频率值和相角值来确定。另外,无论在哪一种模式下运行,都可以通过调节前面板上速度系数进度条来调节两轴各自的运行速度。每个自由度的运动控制部分都包括手动控制和自动控制两部分,且都可以按照一般编译器中的逻辑关系和数据关系通过调用不同的CLF节点来实现。数据显示部分主要是实时显示两自由度的值和对应轴的伸长值。

图3 程序核心部分框图 图4是整个框图程序的最后三个顺序框,其中,前一框的任务是得到停止指令后返回两轴的当前位置,并立即发出返回零点位置的指令;中间一框中嵌入了一个While循环,目的是循环检测并显示两轴的运行状态以及当前位置,一旦检测到所有轴已经回到零点位置并已全部停止运行,就自动跳出While循环,开始执行最后一框程序,即执行板卡结束运行函数。 图4 程序结束阶段框图 图5为程序的前面板,这是程序正常运行时的主控界面也是唯一的界面。在这个界面上,可以进行自由度的选择、手动自动的选择、手动位移设定、自动运行模式下的正弦轨迹曲线的设定、两轴运行速度的设定以及运行控制。另外,界面上的两个Grphy图还能实时显示两自由度变化曲线和两轴运行轨迹曲线,板卡驱动状态和两轴运行状态的正常与否以三个指示灯的形式显示出来。 图5 程序主界面 四、结束语 一般来讲,很多运动控制卡的二次开发多采用VC++、VB或C++ Builder等编译软件编写,有时编写界面就占了程序编写工作的很大一部分,不利于提高效率。 本文利用LabVIEW界面开发简单以及LabVIEW可以调用动态链接库等功能,实现了在LabVIEW平台下快速开发普通运动控制卡的运动控制程序。这种方法不仅可以采用价格相对较低的普通运动控制卡,而且能避免繁琐的界面编程,缩短周期,提高效率,降低成本。本文所引用的程序已在某二自由度运动平台控制系统上通过测试并已得到应用,运行平稳、准确。 本文作者创新点:利用LabVIEW调用通用动态连接库的功能,采用新的方法来对普通运动控制卡进行二次开发,这种新方法不仅可以缩短开发周期,而且可以降低成本。 参考文献: [1] 燕廷,马增强等.基于LabVIEW数据采集与处理软件编程技巧[J].微计算机信息, 2005,21-6:153-154 [2] 杨乐平,李海涛等.LabVIEW高级程序设计[M].北京:清华大学出版社,2003-08 [3] 李国厚.虚拟仪器技术及其开发与应用[J].自动化与仪表,2002,23-7:4-6

相关文档
最新文档