微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > 普通运动控制卡在LabVIEW平台上的应用

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

时间:01-06 来源:互联网 点击:

  • 用其它函数节点一样来应用这些CLF节点。针对某型二自由度运动平台运动控制的特殊性,要求这两个自由度完全独立,互不相关,这就不能采用多轴插补函数进行脉冲输出控制,只能是两轴分别控制。

    整个LabVIEW框图程序的结构采用顺序结构(SequenceStructure),每一顺序框都对应某项固定的任务。图2中三个顺序框是整个框图程序的前三框,从左到右其任务分别是板卡初始化、板卡驱动成功与否和相关参数的初始化及其显示,相关参数初始化顺序框中采用While循环模式等待输入,只有当参数设定完成并按下确定键后程序才能继续往下运行。


    图2程序初始化阶段框图

    图3所示是紧接在图2后面的顺序框,也是程序框图的第四个顺序框,这是整个框图程序的主体部分。顺序框中嵌入一个While循环,While循环中又嵌入一个顺序结构,其前一框的作用是运动模式选择及运动控制,这也是整个程序框图的核心部分,后一框的作用是数据显示部分。

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


    图3程序核心部分框图

    图4是整个框图程序的最后三个顺序框,其中,前一框的任务是得到停止指令后返回两轴的当前位置,并立即发出返回零点位置的指令;中间一框中嵌入了一个While循环,目的是循环检测并显示两轴的运行状态以及当前位置,一旦检测到所有轴已经回到零点位置并已全部停止运行,就自动跳出While循环,开始执行最后一框程序,即执行板卡结束运行函数。


    图4程序结束阶段框图

    图5为程序的前面板,这是程序正常运行时的主控界面也是唯一的界面。在这个界面上,可以进行自由度的选择、手动自动的选择、手动位移设定、自动运行模式下的正弦轨迹曲线的设定、两轴运行速度的设定以及运行控制。另外,界面上的两个Grphy图还能实时显示两自由度变化曲线和两轴运行轨迹曲线,板卡驱动状态和两轴运行状态的正常与否以三个指示灯的形式显示出来。


    图5程序主界面

    四、结束语

    一般来讲,很多运动控制卡的二次开发多采用VC++、VB或C++Builder等编译软件编写,有时编写界面就占了程序编写工作的很大一部分,不利于提高效率。本文利用LabVIEW界面开发简单以及LabVIEW可以调用动态链接库等功能,实现了在LabVIEW平台下快速开发普通运动控制卡的运动控制程序。这种方法不仅可以采用价格相对较低的普通运动控制卡,而且能避免繁琐的界面编程,缩短周期,提高效率,降低成本。本文所引用的程序已在某二自由度运动平台控制系统上通过测试并已得到应用,运行平稳、准确。

    本文作者创新点:利用LabVIEW调用通用动态连接库的功能,采用新的方法来对普通运动控制卡进行二次开发,这种新方法不仅可以缩短开发周期,而且可以降低成本。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top