当前位置:文档之家› 运动控制卡在LabVIEW的应用

运动控制卡在LabVIEW的应用

运动控制卡在LabVIEW的应用
运动控制卡在LabVIEW的应用

运动控制卡在LabVIEW的应用

摘要:介绍了一种在LabVIEW平台上使用普通运动控制卡实现快速开发多轴运动控制程序的方法。该方法首先应用运动普通控制卡提供的函数库编译成通用动态链接库文件,然后使用LabVIEW与外部代码进行连接的动态连接库机制调用这个文件,实现实时的运动控制。实践证明,该方法不仅可以很好地发挥运动控制卡的性能,而且可以借助LabVIEW强大的界面编辑功能,缩短程序开发周期,美化人机界面。

关键词:LabVIEW;运动控制卡;动态链接库

一、引言

LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是美国国家仪器公司(National Instruments)推出一种基于图形语言的开发环境,编程非常方便,人机交互界面直观友好,用户可以创建独立的可执行文件,能够脱离开发环境而单独运行,是目前最流行的虚拟仪器编程平台,广泛应用于测试测量、过程控制、实验室研究与自动化等方面。

在运动控制方面,LabVIEW有专门的运动控制模块,并且NI公司为其所有的运动控制卡配备相应的驱动程序,可以方便实现即插即用功能。如果用户所使用的板卡不是NI 公司的产品,又没有提供与LabVIEW兼容的驱动程序,就不能为LabVIEW所用。但是LabVIEW能够通过调用Windows32动态连接库(Dynamic Link Library,简称DL L)来编写与LabVIEW兼容的驱动程序,实现该运动控制卡在LabVIEW环境下二次开发,不仅可以大大降低成本、缩短开发周期,而且可以使界面美观。

二、应用背景

笔者在参与某二自由度运动平台运动仿真项目的研制过程中,选用深圳众为兴数控技术有限公司生产的ADT850型四轴运动控制卡,该型号的卡提供多种版本Windows下的驱动程序和在BorlandC++3.1、VB和VC等多种环境下开发所需的函数库。虽然在这些编程环境中很容易实现所需的运动控制,但是,如果要开发出一个美观的人机交互界面,将会有很大一部分时间花在程序主界面的编写上。为此,我们利用LabVIEW强大的界面编辑功能以及它能够调用Windows32动态连接库的特点,首先在VC编译环境中编译出运动控制所需要的动态链接库文件,然后在LabVIEW环境中编写程序主界面,最后在LabVIEW框图程序中调用动态链接库文件来编写所需的运动控制程序。其主要过程如图1所示。

图1 DLL生成与LabVIEW调用

三、程序设计

LabVIEW具有强大的外部接口能力,可用的外部接口包括:DDE、CIN、DLL、MA TLAB 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 L ibrary文件,添加上运动控制卡随带的运动控制函数库文件后,即可编译成我们所需要的DLL文件。

3.2 动态链接库的调用

LabVIEW中动态链接库的调用是通过CLF(Call Library Function)节点实现的,CLF节点位于LabVIEW功能模板中的Advanced子模板中。

在LabVIEW中调用DLL时,则应根据应用程序的需要,确定参数个数和参数类型及调用规则,然后在LabVIEW中正确地配置DLL。首先从Advanced子模板中选择Call L ibrary Function Node图标并将其拖放到Diagram面板中适当位置,然后右键单击它,在弹出的菜单选项中选择Configer…弹出Call Library Function对话框。在此对话框中,第一个参数Library Name or Path中填入需要调用的动态连接库文件的文件名和路

径;第二个参数Function Name是连接库中要调用的函数名称;第三个参数Calling Conv entions是对DLL的调用规则,可选择C或stdcall,该项的选择应与用C++语言编写的动态库的编译模式相一致。如果C++的调用方式为extern “C” declspec(dllexpor t),那么Calling Conventions的选项为“C”,如果调用方式为extern declspec(dlle xport)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使用黑金开发板实现脉冲控制的运动控制卡 运动控制器第一步:实现简单脉冲控制系统 方式、 占空比 可编程 脉冲输 出 1.1使用Quartus II软件建立SOPC工程,按照上图建立添加所需CPU及外设。 1.2使用Nios II建立UC-OS-II工程。 1.3在UC-OS-II中建立一个任务,用于收发以太网数据,跟上位机通讯。 1.4在Quartus II中加入编码器解析模块,将来自编码器的AB信号转化成位置和速度,并支持总线读写,最高编码器脉冲频率20M。 1.5在Quartus II中加入脉冲输出模块,实现CPU发出的脉冲速度和脉冲数,最高输出脉冲频率8M。 1.6在Nios II中规划速度曲线,周期200us输出一个脉冲速度。 1.7连接驱动器和电机进行调试。 1.8加入缓冲控制。 1.9加入高速捕获功能。 1.10加入回零功能。

2使用DSP开发板+黑金开发板实现脉冲控制的运动控制卡 运动控制器第二步:DSP+FPGA脉冲控制系统 方式、 占空比 可编程 脉冲输 出 电压保护 2.1在第一步的系统中,增加与DSP通信的模块。 2.2Nios II中接收到上位运动指令之后,发出中断信号给DSP,DSP读取运动数据。 2.3DSP读取位置信号,规划出速度曲线输出到FPGA输出脉冲。 3. 连接驱动器和电机进行调试。 3使用DSP开发板+黑金开发板实现速度控制的运动控制卡

运动控制器第三步:DSP+FPGA 速度控制系统 8路模 拟量输出 3.1在第二步的基础上,在DSP 中增加位置环调节算法,输出速度曲线到FPGA ,FPGA 控制DA 输出模拟量。 3.2连接驱动器和电机进行调试。 4实现速度控+脉冲制的运动控制卡 电压保护 运动控制器第四步:DSP+FPGA 速度控制运动控制器 8路模 拟量输出 16方式、占空比可编程脉冲输出 线驱动器

运动控制的基础

运动控制的基础 概观本教程是在NI测量基础系列的一部分。每个在这个系列的教程,教你一个常用的测量应用的特定主题的解释理论概念,并提供实际的例子。在本教程中,学习运动控制系统的基础知识,包括软件,运动控制器,驱动器,电机,反馈装置,I / O。您还可以查看交互式演示,通过本教程的材料在自己的步伐。有关更多信息,返回到NI测量基础主页。目录运动控制系统的组成部分软件配置,原型设计,开发运动控制器移动类型电机放大器和驱动器汽车和机械要素反馈装置和运动的I / O NI相关产品运动控制系统的组成部分图1显示了一个运动控制系统的不同组件。图1。运动控制系统组件应用软件-您可以使用应用软件,以命令的目标位置和运动控制型材。运动控制器-运动控制系统的大脑作用到所需的目标位置和运动轨迹,并建立电机的轨迹遵循,但输出±10 V的伺服电机或步进和方向脉冲信号,步进电机。 放大器或放大器(也称为驱动器)驱动器-从控制器的命令和需要开车或关闭电机的电流产生。电机-电机机械能变成电能和生产所需的目标位置移动到所需的扭矩。机械部件-电机的设计提供一些力学的扭矩。这些措施包括线性滑轨,机械手臂,和特殊的驱动器。反馈装置或位置传

感器-位置反馈装置是不是需要一些运动控制应用(如步进电机控制),但重要的是为伺服电机。反馈装置,通常是一个正交编码器,感应电机的位置和结果报告控制器,从而结束循环的运动控制器。软件配置,原型设计,开发应用软件分为三大类:配置,原型和应用程序开发环境(ADE)。图2说明了运动控制系统的编程过程和相应的NI产品设计过程:图2。运动控制系统开发过程组态 做的第一件事情之一,是您的系统配置。为此,美国国家仪器公司提供测量与自动化浏览器(MAX),不仅运动控制,但所有其他NI硬件配置的交互式工具。对于运动控制,MAX 提供交互式的测试和调整面板,帮助您验证系统功能之前,你的程序。图3 NI MAX是一个交互式工具,用于配置和调整您的运动控制系统。 应用笔记 了解伺服调谐 使用1D互动的环境测试电机功能 轴运动控制器的配置 轴运动控制器设置 运动控制器的编码器设置 运动控制器的参考设置 数字运动控制器的I / O设置原型 当你配置你的系统,你可以开始原型和开发应用程序。在

运动控制卡概述

运动控制卡概述 ? ?主要特点 ?SMC6400B独立工作型高级4轴运动控制器 功能介绍: 高性能的独立工作型运动控制器以32位RISC为核心,控制4轴步进电机、伺服电机完成各种功能强大的单轴、多轴运动,可脱离PC机独立工作。 ●G代码编程 采用ISO国标标准G代码编程,易学易用。既可以在文本显示器、触摸屏上直接编写G代码,也可以在PC机上编程,然后通过USB通讯口或U盘下载至控制器。 ●示教编程 可以通过文本显示器、触摸屏进行轨迹示教,编写简单的轨迹控制程序,不需要学习任何编程语言。 ●USB通讯口和U盘接口 支持USB1.1全速通讯接口及U盘接口。可以通过USB接口从PC机下载用户程序、设置系统参数,也可用U盘拷贝程序。

●程序存储功能 程序存储器容量达32M,G代码程序最长可达5000行。 ●直线、圆弧插补及连续插补功能 具有任意2-4轴高速直线插补功能、任意2轴圆弧插补功能、连续插补功能。应用场合: 电子产品自动化加工、装配、测试 半导体、LCD自动加工、检测 激光切割、雕铣、打标设备 机器视觉及测量自动化 生物医学取样和处理设备 工业机器人 专用数控机床 特点: ■不需要PC机就可以独立工作 ■不需要学习VB、VC语言就可以编程 ■32位CPU, 60MHz, Rev1.0 ■脉冲输出速度最大达8MHz ■脉冲输出可选择: 脉冲/方向, 双脉冲 ■2-4轴直线插补 ■2轴圆弧插补 ■多轴连续插补 ■2种回零方式 ■梯型和S型速度曲线可编程

■多轴同步启动/停止 ■每轴提供限位、回零信号 ■每轴提供标准伺服电机控制信号 ■通用16位数字输入信号,有光电隔离 ■通用24位数字输出信号 ■提供文本显示器、触摸屏接口 技术规格: 运动控制参数 运动控制I/O 接口信号 通用数字 I/O 通用数字输入口 通用数字输出口 28路,光电隔离 28路,光电隔离,集电极开路输出 通讯接口协议

基于labview的智能家居控制设计

检测技术与仪表实验 课程设计 题 目 基于labview 的智能家居控制设计 姓 名 徐鑫涛 黄敏瑶 学 号 3100404112 3100404129 专业班级 10电气工程及自动化2班 任课教师 李园/钟伟红 分 院 信息科学与工程学院 完成日期 2012年12月20日 宁波理工学院

摘要 随着嵌入式技术的发展和高速宽带网络的普及, 利用网络实现远程监控已为人们广泛接受,嵌入式网络监控技术正是在此条件下逐步发展成熟起来的. 用户使用Web 浏览器,通过以太网远程访问内置Web 服务器的监控摄像机, 不但可以实现对现场的远程视频监控, 而且可以向监控现场发送指令. 在整个系统的实现过程中, 嵌入式Web 服务器起着十分重要的作用,实现智能化离不开运算和控制单元。 本文中,我们探讨实现室内外温度,湿度,光照强度的智能控制采用虚拟仪器技术,数据采集并测得电气物理量,如电压、电流、温度等,基于数据采集以及labview仿真,通过软硬件与计算机的结合,实现了测量的自动化并提供可分析数据,对于温度程序的核心思想,其实就是利用这个系统能够根据温度的变化做出相应的处理,比如说外部温度比设定的温度高那么我就需要让制冷设备发挥作用来降低温度,设置相关反馈环节,基于LabView的温度控制系统,主要讲述控制系统软件方面的设计,首先对温度传感器采集到的温度信号(转化并处理为电压信号)输入到采集卡模拟输入端口,采集卡将信号送入LabView程序处理后从模拟输出端输出相关有效的PWM调制波形,实现了测量的自动化并提供可分析数据,实现使室内的温度、湿度、光照度等保持一个基本平衡的状态的智能化系统。 Internet向普通家庭生活不断扩展,消费电子、计算机、通讯一体化趋势日趋明显,现代智能家居由于其安全、方便、高效、快捷、智能化等特点在21 世纪将成为现代社会和家庭的新时尚。当家庭智能网关将家庭中各种各样的家电通过家庭总线技术连接在一起时,就构成了功能强大、高度智能化的现代智能家居系统。而基于嵌入式系统的家庭智能系统在国内才刚刚出现,随着嵌入式技术更加广泛的应用,随着成本的逐步降低,中国的智能家居最终将走向嵌入式。 关键词:温度反馈嵌入式系统 labview 数据采集

维宏维鸿四轴真四轴联动雕刻机运动控制卡说明书word版本

1.1维鸿系统的安装 在安装新的维鸿前,请删除旧版本的维鸿。删除的方法请参考程序卸载一节。维鸿系统包括软件和运动控制卡两部分。所以,系统的安装也分为两个阶段:软件安装和运动控制卡的安装。 总体上,请您在安装完软件之后再安装运动控制卡,这样运动控制卡的驱动 程序就不需要单独安装。所以简单以说,可以分为这样几个步骤: (1)安装维鸿软件,待安装程序提示关闭计算机后,关闭计算机。 (2)关闭计算机后,安装运动控制卡。 (3)重新启动计算机,进入Windows操作系统后,略微等待一会,待Windows 自动完 成配置,整个安装工作就算完成了。 (4)运行维鸿系统。 下面详细介绍其中的关键步骤。 维鸿软件安装 请按照下面的步骤安装软件: (1)打开计算机电源,启动计算机,系统自动运行进入Windows操作系统。 如果你还没有安装Windows操作系统,请首先安装该操作系统。 (2)Windows操作系统启动后,注意请关闭其他正在运行的程序。 (3)解压维鸿V2.0免安装包,打开里面的dotNetFrameWork文件夹,安装 dotNetFx40_Full_x86_x64.exe (4)打开维鸿V2.0文件夹,右键创建桌面快捷方式

(5)双击打开桌面快捷键方式,运行维鸿。 NcStuHio.... 维鸿软件驱动安装 USB 设备驱动支持XP 、win7或win8等32位操作系统,任何一个小的错误 都有可能安装驱动失败。 1. 将USB 数据线连接到电脑任意 USB 接口,若出现新硬件向导信息提示 中选“是,仅这一次(I ) ”选项,点击“下一步”。在出现新硬件向导信息提示 中选“从列表或指定位置安装(高级)”选项,点击“下一步”。 X Nc^tudi^.exe 二 NcStudia.txe.config 话 ” Ncituclio.ini ,INcstudi? 」Ncitudisoooooao 込 Noiijdll Ncuixllljcorifiig O public.dat X WHDJcc 空 2y U S B Ds vAtkr .d 11 2015-S^I 14:21 创建日! S9J KB 36D 云盘 嵯(H) WifilVlerge 康用360im 占用 梔用3讯動删住 隹角北0时本旦云査棗 梅用何勰右歸理 口上传到百度云 雄到任务栏(K) 附刹[幵冏菓鱼(U) 瓯以前旳龄S 盘送對㈣ 蛊切⑴ 复制(0 IW) 创建快捷方式(S) 892 KE Figurdti... 1 KB 1 KB 73 KB 2 KG 4展 1,243 KB Team Viewer 辫 传惑初 Q 压宿izi p p E d)艾彳牟宝 邮件阳牛人 ■ ,DVD RW 3動髓 ?

基于LabVIEW的控制系统仿真

基于LabVIEW的控制系统仿真 摘要 在控制理论教学和实验中,存在着设备短缺、教学手段单一等问题,采用虚拟控制系统实验方式可有效地解决这些问题。本文对控制系统仿真的意义与研究现状作了介绍,提出并确定了基于LabVIEW的控制系统仿真的实施方案。应用NI公司的LabVIEW 2009、控制设计工具包作为软件开发工具,实现了控制系统的建模、分析与设计这一系列过程的计算机仿真。经过编写程序和发布应用程序,最终开发出了一种交互式实验教学系统。该系统包含信号发生器、典型环节、质点-弹簧-阻尼器系统和一级倒立摆系统四个子模块,用户可进行控制系统建模、性能分析、PID设计、LQR设计等方面的研究。各个子模块运行良好,整个系统具有操作简单、界面友好和实时交互的特点;对于教学和实验的改革和创新具有一定的指导意义。 文中详细介绍了该实验教学系统的设计思路与设计过程。主体部分是对系统各个子模块的理论分析、相应的算法分析和虚拟仪器程序的编写,此外还涉及程序的动态调用和发布应用程序等内容。 关键词:控制系统;仿真;LabVIEW;倒立摆;实时交互

Simulation of Control System Based on LabVIEW Abstract In the teaching and experimental process of control theory, there exist problems such as equipment shortages, monotonous teaching methods and etc. We can use Virtual Instrument to solve these problems effectively. This paper introduces the significance and research status of the control system simulation, puts forward and determines the implement scheme of the Control System Simulation Based on LabVIEW. Use NI's products (LabVIEW 2009, Control Design Toolkit) as software development tools to realize computer simulation of the control system modeling, analysis and design process. After writing programs and publishing applications, we can achieve an interactive experimental and teaching system. The system consists of four sub-modules: signal generator, typical elements, the mass-spring-damper system and the single inverted pendulum system. Users can do research in control system modeling, performance analysis, PID design, LQR design and other aspects. Each sub-module of the system runs well, the whole system has the features as follows: simple, friendly interface and real-time interactive. It will provide the teaching and experiment field with reform and innovation. This paper describes the thinking and design process of the system in details. Theoretical analysis and algorithm analysis for the sub-module and Virtual Instrument programs writing are the main parts. It also discusses the dynamic program invocation and publishing applications and so on. Keywords:Control System; Simulation; LabVIEW; Inverted Pendulum; Real-Time Interaction

运动控制卡应用编程技巧

运动控制卡应用编程技巧 内容来源网络,由“深圳机械展(11万㎡,1100多家展商,超10万观众)”收集整理! 更多cnc加工中心、车铣磨钻床、线切割、数控刀具工具、工业机器人、非标自动化、数字化无人工厂、精密测量、3D打印、激光切割、钣金冲压折弯、精密零件加工等展示,就在深圳机械展. 关于源代码的阅读,需要读者有一定的C++编程基础,至少对以下表示形式不会产生误解:const char *pString; //指定pString邦定的数据不能被修改 char * const pString; //指定pString的地址不能被修改 const char * const pString; //含上面两种指定功能 当然,随便提醒一下,这些源代码若需要加入你的软件工程当中,还需要作一些调整和修改,因此,这些源代码实质上称为伪代码也可以,之所以展现它们,是让程序员们有个可视化的快感,特别是那些认为源代码就是一切的程序员。 同时,为了提高针对性,大部分控制卡调用的函数会明确指出是邦定哪些卡的,实际应用时,程序员可自行选择,以体现一下自己的智商是可以写写软件的。 一、控制卡类的单一实例实现 把控制卡类作一个类来处理,几乎所有C++程序员都为举双手表示赞同,故第一个什么都没有的伪代码就此产生,如下表现: class CCtrlCard { public:

…Function public: …attrib } 于是,用这个CctrlCard可以产生n多个控制卡实例,只要内存足够。然而,针对现实世界,情况并不那么美好。通常情况下,PC机内只插同种类型的控制卡1到2张,在通过调用d1000_board_init或d3000_board_init函数时,它们会负责返回有效卡数nCards,然后从0-nCards*4 - 1自行按排好轴数。初始化函数就是C++的new或malloc的操作,取得系统的资源,但是控制卡的资源与内存不一样,取得资源后必需要释放才可以再次获取,即控制卡资源是唯一的。 既然控制卡资源是唯一的,那么最好Cctrlcard产生的实例也是唯一的,这样,我们可以方便的需要定义一个全局变量即可: CctrlCard g_Dmcard; 在其它需要调用的地方,进行外部呼叫: extern CctrlCard g_DmcCard; 以上方法实在太简单了,很多人都会开心起来。实质上,方法还有很多,即然可以产生n 多对实例,我们的核心是只要保证调用board_init函数一次即可,故也可以单独定义一个InitBoard函数: class CctrlCard {

基于AVR单片机和LabVIEW的丝杆步进电机运动控制系统

基于A VR单片机和LabVIEW的丝杆步进电机运动控制系统 A VR单片机为核心的嵌入式系统,配备专用步进电机驱动器实现对丝杆步进电机运动的控制工作,LabVIEW软件构建虚拟仪器系统并创建友好交互界面。单片机和LabVIEW之间确定串口通信规则,使LabVIEW能够发送相应字符串到单片机从而实现对丝杆步进电机启停、运动方向、运动步数的直接控制,并能够读取电机相关运动状态。文章设计的丝杆电机运动控制系统具有工作稳定,易于操作和可移植性强的特点。 标签:单片机;LabVIEW;步进电机;串口通信 1 概述 丝杆步进电机,又称线性步进电机,由于其特殊的机械机构和工作机理,在日常实验研究及工业生产等相关领域发挥着越来越大的作用。随着技术的不断发展创新,对于丝杆步进电机运动的控制方法已经不仅仅只限于单种技术的使用,而是多技术混合,结合各自的独特优势来实现最优化的系统设计。本系统以A VR 单片机为核心搭建硬件工作电路,LabVIEW软件创建虚拟仪器系统,解决了步进电机工作噪声较大,控制操作不便等问题。 2 系统组成 系统主要由装有LabVIEW软件的计算机,A VR单片机、电机驱动器和丝杆步进电机组成,系统组成框图如图1所示。 其中本系统中选用美国国家仪器(NI)公司研制开发的2014版LabVIEW 软件,LabVIEW是一种图形化的编程语言的开发环境,可以方便地建立自己的虚拟仪器,利用其编写的上位机程序控制下位机;下位机选用ATMEL公司中8位系列单片机的ATmega128系列单片机,该款单片机稳定性极高,功耗也很低,单片机与计算机之间通过USB线连接;电机驱动器选用TB6600型号的两相式步进电机驱动器,可实现正反转控制,通过3位拨码开关选择7档细分控制,3位拨码快关选择8档电流控制,能达到低振动、小噪声、高速度的效果;丝杆步进电机选用机身长度40mm,相电流1.7A,保持转矩43N·cm,导程8mm的42丝杆步进电机。 3 系统功能实现 本系统是一种丝杆步进电机运动控制系统,最终可通过LabVIEW直接发送控制丝杆步进电机启停、运动方向以及运动步数的命令,并能读取电机相关运动状态。要完成上述功能需要单片机硬件控制电机、单片机与LabVIEW串口通信和LabVIEW状态机三个基本功能的实现。 3.1 单片机硬件控制电机

基于LabVIEW的几种简单测量与控制系统.

基于LabVIEW的几种简单测量与控制系统 李鹏雄徐熙炜 指导老师:俞熹 (复旦大学物理系上海 200433) 摘要:本文介绍了虚拟仪器的概念,LabVIEW的概念、来源、特点以及应用,着重讨论了几种简化的实用测量与控制系统。对红绿灯系统提出改进,使其更接近于生活中的实际情况。最后有对本实验的理解。 关键词:虚拟仪器 LabVIEW 计算机实测与控制温度计光强红绿灯 一.引言 虚拟仪器(Virtual Instruments)指的是用计算机软件将计算机硬件与仪器硬件结合在一起,利用计算机强大的计算以及模拟能力和仪器设备实现控制和测量的目的的工具。区别于传统的仪器,虚拟仪器没有一套固定的设备、固定的外观和功能等,其很大一部分功能是依赖于计算机来实现的。所以虚拟仪器往往能缩小体积,减少硬件成本。 LabVIEW是实验室虚拟仪器集成环境(Laboratory Virtual Instrument Engineering Workbench)的简称,是美国国家仪器公司(NATIONAL INSTRUMENTS,简称NI)的创新软件产品。其功能是用编程的方法创建虚拟仪器,但是和传统的编程不同的是,它使用的是图形化的程序语言,称为“G”语言,编写的程序后缀为.VI。使用这种语言编程时,基本上不写程序代码,取而代之的是图标和流程图。它尽可能利用了技术人员、科学家、工程师所熟悉的术语、图标和概念,因此,LabVIEW是一个面向最终用户的工具。LabVIEW集成了与满足GPIB、VXI、RS-232 和RS-485协议的硬件及数据采集卡通讯的全部功能。它还内置了便于应用TCP/IP、ActiveX等软件标准的库函数。这是一个功能强大且灵活的软件。使用它进行原理研究、设计、测试并实现仪器系统时,可以大大提高工作效率。它广泛地被工业界、学术界和研究实验室所接受,视为一个标准的数据采集和仪器控制软件。它也是目前应用最广、发展最快、功能最强的图形化软件集成开发环境。 二.LabVIEW下的几种简单测量与控制系统 使用LabVIEW开发平台编制的程序称为虚拟仪器程序,简称为VI。VI包括三个部分:程序前面板、框图程序和图标/连接器。程序前面板用于设置输入数值和观察输出量,用于模拟真实仪表的前面板。而每一个程序前面板都对应着一段框图程序。框图程序用LabVIEW图形编程语言编写,可以把它理解成传统程序的源代码。图标/连接器是子VI被其它VI调用的接口。 1.温度计 温度计程序是一个典型的测量用虚拟仪器。 图1就是温度计程序的前面板,可以看到上面有酒精温度计的图案,数字显示,还有两个显示电压和温度的框,以及一个停止按钮。

运动控制卡C程序示例

2. VC 编程示例 2.1 准备工作 (1) 新建一个项目,保存为“ VCExample.dsw ”; (2) 根据前面讲述的方法,将静态库“ 8840.lib ”加载到项目中; 2.2 运动控制模块 (1) 在项目中添加一个新类,头文件保存为“ CtrlCard.h ”,源文件保存为“ CtrlCard.cpp ”; (2) 在运动控制模块中首先自定义运动控制卡初始化函数,对需要封装到初始化函数中的库函数进行初始化; (3) 继续自定义相关的运动控制函数, 如:速度设定函数,单轴运动函数,差补运动函数等; (4) 头文件“ CtrlCard.h ”代码如下: # ifndef __ADT8840__CARD__ # define __ADT8840__CARD__ 运动控制模块 为了简单、方便、快捷地开发出通用性好、可扩展性强、维护方便的应用系统,我们在控制卡函数库的 基础上将所有库函数进行了分类封装。下面的示例使用一块运动控制卡 ****************************************************** #define MAXAXIS 4 //最大轴数 class CCtrlCard { public: int Setup_HardStop(int value, int logic); int Setup_Stop1Mode(int axis, int value, int logic); (设置stop1 信号方式) int Setup_Stop0Mode(int axis, int value, int logic); (设置stop0 信号方式) int Setup_LimitMode(int axis, int value1, int value2, int logic); (设置限位信号方式) int Setup_PulseMode(int axis, int value); (设置脉冲输出方式) int Setup_Pos(int axis, long pos, int mode); (设置位置计数器) int Write_Output(int number, int value); (输出单点函数) int Read_Input(int number, int &value); (读入点) int Get_CurrentInf(int axis, long &LogPos, long &ActPos, long &Speed); (获取运动信息) int Get_Status(int axis, int &value, int mode); (获取轴的驱动状态) int StopRun(int axis, int mode); (停止轴驱动) int Interp_Move4(long value1, long value2, long value3, long value4); (四轴差补函数) int Interp_Move3(int axis1, int axis2, int axis3, long value1, long value2, long value3); (三轴差补函数) int Interp_Move2(int axis1, int axis2, long value1, long value2); (双轴差补函数) int Axis_Pmove(int axis ,long value); (单轴驱动函数) int Axis_Cmove(int axis ,long value); (单轴连续驱动函数) int Setup_Speed(int axis ,long startv ,long speed ,long add ); (设置速度模块) int Init_Board(int dec_num); (函数初始化) (设置速度模块) CCtrlCard(); (定义了一个同名的无参数的构造函数) int Result; // 返回值 }; #endif

基于labview的电梯控制设计

成绩评定表

课程设计任务书

目录 1 目的及基本要求 (1) 2 基本原理 (1) 2.1程序原理 (1) 2.2设计步骤 (1) 3 电梯控制设计和仿真 (2) 3.1 总体程序设计 (2) 3.2 控件描述 (3) 3.3 子程序设计 (4) 4 结果及性能分析 (6) 4.1 运行结果 (6) 4.2 性能分析 (7) 参考文献 (7)

1 目的及基本要求 熟悉LabVIEW开发环境,掌握基于LabVIEW的虚拟仪器原理、设计方法和实现技巧,运用专业课程中的基本理论和实践知识,采用LabVIEW开发工具,实现国际象棋设计和仿真。 基本要求: 本程序是参照日常电梯使用规则而设计的,实现的功能是:程序运行后,可以选择要去的层数一层或者多层,电梯会从低到高的依次在已选择的层数停下来,然后在继续到下一个被选中的层数停下,当都已选楼层停下后,按钮会灭掉,回到一层,等待下一次的楼层选择。本程序基于电梯的特点利用LabVIEW制作的一款简单的电梯控制程序。 2 基本原理 2.1程序原理 设计上可大致分为以下几个部分: 1)主面板部分即电梯主界面的设置 2)控件部分即按钮的设置 3)控制部分就是通过操作按键来控制电梯移动 4)逻辑部分进行判断电梯走动没有,是否运行,同时布尔灯的亮灭 5)显示部分就是将电梯所到层数显示出来 运行原理: 程序运行后,首先规定电梯停在大楼的一层,然后根据右边所点亮的布尔控件上显示的数字层数,电梯经过时间的判断开始运行,向上或者向下移动,到达所选的楼层后,电梯停止,布尔灯灭掉,继续向下一个所选的楼层移动,直到所有的所选楼层全部停完后,

nMotion运动控制卡使用手册2.0

nMotion运动控制卡使用手册 nMotion控制卡特点: 支持Mach3所有版本,包括目前最新版本. 支持所有Windows版本,包括Windows8 USB无需驱动,所有Windows版本即插即用,支持热插。 USB总线采用高档芯片磁耦隔离,真正有价值的隔离,不同于一般控制卡的光耦隔离输入输出,做到了超可靠性,绝对保证电脑USB的安全。同时保证的超强的EMC抗干扰能力。 单芯片,系统更精减,比一般的又芯片处理方式稳定性高出不知多少倍。 双核超高速CPU(单核最高主频204MHz),运算处理能力有极大冗余。并保证实现4轴联动下500KHz的脉冲输出频率,6轴联动的脉冲输出频率最高达300KHz,可接伺服/步进。 运动控制缓冲大小可设,保证最快插补周期也能稳定运行,电脑运行负荷过重时也能平稳运行。 拥有16路输入口,输入接口更简单,端口干湿接点均可,接线更为简单,干接点方法只要外部接一个物理开关到地线即可,所有16路输入口都有信号指示,为低电平时指示灯亮,调试简单明了。 拥有8路输出口,单路输出驱动能力500mA,可直接驱动直流继电器 PWM调速输出端口,可设PWM频率,0~1000连续可调 拥有测速功能,主轴实际转速在Mach3界面中实时显示,测量精准稳定。 电路板由工程师精心打造,设计水平一目了然。 带有256字节NVRAM空间,可保存6个轴的座标值,下次上电无需找零点。

目录 nMotion运动控制卡使用手册 (1) nMotion控制卡特点: (1) 目录 (2) 外观及安装孔机械尺寸: (5) 1 Mach3的软件安装 (6) 1.1安装准备 (6) 1.2 USB电缆的准备 (6) 1.3运动控制卡的软件安装 (7) 2 Mach3的软件配置 (8) 3.运动控制卡的硬件安装 (11) 3.15轴输出信号 (11) 3.2 16个输入端子(Input Port)引脚位置图 (12) 3.3 8路控制输出端子引脚位置图: (13) 4. 引脚功能描述 (14) 4.1 5轴输出端子(Axis Output Port )引脚功能描述 (14) 4.2 16 个输入端子(Input Port)引脚功能描述 (14) 4.3 输出端子(Out Port)引脚功能描述: (15) 5 USB运动控制卡的接线图 (16) 5.1 X、Y、Z、A、B轴输出 (16) 5.2 输入端口 (18) 5.3 各类规格传感器的接线和配置方法 (19) 5.4 输出端口 (20) 6 外部倍率旋钮 (21) 7 主轴调速PWM模拟量输出 (23) 7.2 主轴调速模拟输出接口原理图 (26) 7.3 主轴输出接线图(通用变频器的接线图) (27) 8 主轴测速 (27) 8.1 nmotion控制卡配置对话框 (27) 8.2 主轴转速显示 (28)

伺服-运动控制卡的工作原理及其应用

伺服-运动控制卡的工作原理及其应用 作者:深圳众为兴数控 运动控制卡通常是采用专业的运动控制芯片或高速DSP 来满足一系列运动控制需求的控制单元,其可通过PCI 、PC104等总线接口安装到PC 和工业PC 上,可与步进和伺服驱动器连接,驱动步进和伺服电机完成各种运动(单轴运动、多轴联动、多轴插补等),接收各种输入信号(限位原点信号,sensor),可输出控制继电器、电磁阀、气缸等元件。用户可使用VC 、VB 等开发工具,调用运动控制卡函数库,快速开发出软件。 以一个通用的XYZ 三轴通用控制平台开发为例,此平台加上胶枪、刀具等模块后可用于点胶、切割等用途,运动控制卡采用深圳众为兴数控开发的ADT8940A1,ADT8940A1运动控制卡是一款经济实用型运动控制卡,4轴伺服/步进电机控制,最大脉冲输出频率为2MHz ,每轴均有位置反馈输入;可实现2-4轴直线插补,可实现XYZ 三轴插补,进行整体配合动作;带有40路隔离数字输入,16路隔离数字输出,可控制胶枪、刀具等模块;具有外部信号驱动、硬件缓存等功能,能满足绝大部分的4轴以下工作平台的运动控制需求。

ADT8940A1能驱动绝大多数的伺服驱动器。ADT8940A1运动控制卡采用脉冲的方式驱动伺服,脉冲数量决定伺服电机的转动圈数,脉冲频率决定伺服电机的转动速度,同时ADT8940A1卡能够将伺服电机的位置实时反馈给控制系统软件。可将伺服报警、伺服到位等信号接入ADT8940A1卡,实时反馈伺服状态。用输出可实现伺服的伺服使能和伺服报警清除等功能。我们XYZ轴采用丝杠传动方式的话,XY假如选用5mm间距的丝杠,将伺服的每转脉冲设置为10000,ADT8940A1控制卡控制精度为1个脉冲,机械的精度将可以达到 5mm/10000=0.0005mm;ADT8940A1控制卡的速度可达2000000脉冲/秒,伺服电机的转速可以高达12000转/分钟,XY轴的速度可达1000mm/s。为了使机械运行更平稳,运用ADT8940A1的硬件加减速功能,能在很短时间内从低速加速到高速,同时也在运动中改变速度,实现速度灵活控制,设置也很简单,只需用运动控制函数库中的 set_startv设置低速,set_speed设置高速,set_acc设置加速度即可

基于LabVIEW软件的PID自动控制

苏州大学机电工程学院 Soochow University of Mechanical and Electrical Engineering 课程设计报告 Curriculum design 课题名称:基于LabVIEW软件的PID自动控制学院: ********院 专业:********* 姓名:*** 学号:****

目录 一、PID控制原理 (1) 1、PID控制介绍 (1) 2、PID控制规律 (1) 3、PID 控制的性能指标 (3) 4、PID 控制器参数整定的分类 (3) 5、PID相关控制 (5) 6、数字PID (7) 二、LabVIEW8.5软件 (9) 1、简介 (9) 2、特点 (10) 3、虚拟仪器 (11) 4、应用领域 (12) 三、前期练习题目与内容 (14) 四、设计内容与要求 (17) 1、设计内容 (17) 2、设计要求 (17) 五、设计方案 (18) 1、设计思路 (18) 2、程序框图设计 (20) 3、控制面板设计 (21) 六、最终设计结果及运行情况 (22) 1、程序框图 (22) 2、控制面板 (22)

七、课程设计心得 (25)

基于LabVIEW软件的PID自动控制 一、PID控制原理 1、PID 控制介绍 PID 控制是过程控制中广泛应用的一种控制,简单的说就是按偏差的比例(proportional)、积分(Integral)、微分(Derivative)进行的控制。当今,尽管各种高级控制在不断的完善,但目前在实际生产过程中应用最多的仍是常规PID 控制,其原因是: 1) 各种高级控制在应用上还不完善; 2) 大多数控制对象使用常规PID 控制即可以满足实际的需要; 3) 高级控制难以被企业技术人员掌握。 PID 控制器具有结构简单,参数易于调整等优点。在长期的工程实践中,人们对PID控制己经积累了丰富的经验。特别是在那些实际过程控制中,控制对象的精确数学模型难以建立,系统参数又经常发生变化,常采用PID 控制器,并根据经验进行在线整定。 以下将从PID 控制规律、PID 控制的性能指标及PID 控制参数整定三个方面对PID 控制做进一步的介绍。 2、PID 控制规律 PID(Proportional,Integral and Differential)控制器是一种基于“过去”,“现在”和“未来”信息估计的简单算法。

RNR精简型USB运动控制卡使用说明

RNR精简型USB运动控制卡 MACH3专用版 V2.0 安装使用说明书 RNR RobotTech, 2010

目录 功能概览 (5) 外观及尺寸 (7) 接口示意图 (7) 安装尺寸图 (8) 初次使用 (8) 脉冲输出 (11) 连接(步进/伺服)电机驱动器 (11) 差分方式 (11) 单端方式 (12) 从属轴设置 (13) 其他说明 (14) 信号输入 (15) 输入信号的接线 (16) 急停按钮 (18) 限位开关 (19) 自动回原点 (21) 从属轴的自动回原点 (25) 自动对刀 (25) 自动刀具清零 (28) 自动寻边 (29)

寻中心 (31) 手轮接口 (32) 手轮接线 (33) Mach3的手轮设置 (34) 手轮接口作为扩展的信号输入 (36) 信号输出 (39) 信号输出的接线 (39) 主轴电机控制 (40) 继电器方式 (41) PWM方式 (42) 其他信号输出 (45)

警告: 由运动控制卡控制的机械设备,具有极强的专业性。对操作人员的知识及素质有特殊要求。若设备设计或使用不当,自动设备会具有一定的危险性和破坏性,请确保设计和使用的安全以及遵守相关法规法则,如果不确定,请咨询相关专家而不要冒险。 首次使用者、对本产品或Mach3软件性能不熟悉者,在试验本产品时,请确保机械设备的电源开关在手边并能迅速切断电源。 强烈建议使用者安装急停按钮并保证按钮功能正常。 本公司以"如其所示"的方式提供其产品和服务,对使用本公司产品造成的任何直接/间接人身伤害和财产损失不承担责任。

功能概览 RNR精简型USB运动控制卡专用于Mach3软件。其功能及特点如下: ●支持最多4轴联动控制。其中第4轴可以设为从动轴 ●输出脉冲100K,采用最小误差插补算法,加工精度高 ●USB接口,适用任何具有USB接口的上网本,笔记本,台式 机以及平板等PC兼容计算机 ●免驱动设计,能够更好地兼容各种软硬件环境(支持WinXP 及WIN7系统) ●支持自动回原点(回零) ●从动轴在回原点时自动调平 ●支持自动对刀 ●支持急停输入 ●支持限位开关接入 ●支持主轴控制(PWM方式及继电器方式) ●提供4路带光耦隔离数字信号输入 ●最多提供12路数字信号输入 ●提供4路带光耦隔离继电器输出 ●支持手轮接口

运动控制卡应用实验---指导书(201309版本)

机械设计制造及其自动化专业实验 ——机电控制实验 运动控制卡应用实验 实验指导书 重庆理工大学 机械工程学院 实践教学及技能培训中心 2014年1月

学生实验守则 1.学生应按照实验教学计划和约定的时间,准时上实验课,不得迟到早退。 2.实验前认真阅读实验指导书,明确实验目的、步骤、原理,预习有关的理论知识,并接受实验教师的提问和检查。 3.进入实验室必须遵守实验室的规章制度。不得高声喧哗和打闹,不准抽烟、随地吐痰和乱丢杂物。 4.做实验时必须严格遵守仪器设备的操作规程,爱护仪器设备,服从实验教师和技术人员指导。未经许可不得动用与本实验无关的仪器设备及其它物品。 5.实验中要细心观察,认真记录各种试验数据。不准敷衍,不准抄袭别组数据,不得擅自离开操作岗位。 6.实验时必须注意安全,防止人身和设备事故的发生。若出现事故,应立即切断电源,及时向指导教师报告,并保护现场,不得自行处理。 7.实验完毕,应主动清理实验现场。经指导教师检查仪器设备、工具、材料和实验记录后方可离开。 8.实验后要认真完成实验报告,包括分析结果、处理数据、绘制曲线及图表。在规定时间内交指导教师批改。 9.在实验过程中,由于不慎造成仪器设备、器皿、工具损坏者,应写出损坏情况报告,并接受检查,由领导根据情况进行处理。 10.凡违反操作规程,擅自动用与本实验无关的仪器设备、私自拆卸仪器而造成事故和损失的,肇事者必须写出书面检查,视情节轻重和认识程度,按学院有关规定予以赔偿。 重庆理工大学

说明 1.同学可以登录学校的“实验选课系统”(从学校首页登陆:https://www.doczj.com/doc/d817985214.html,或从数字 校园登录),自己进行实验项目的选择。希望同学们能在每个实验项目开放的时间内尽早进行实验预约(预约时间必须比实验上课时间提前3天),因为学生数量比较多,如果某实验项目开放的时间内同学未能进行实验预约,则错过该实验项目的实验机会,补做就要在该实验项目下一次开放时进行。 2.如有什么问题,同学可以拨打电话62563127联系张君老师。

基于LabVIEW的控制系统仿真毕业设计

基于LabVIEW的控制系统仿真毕业设计 目录 1 绪论......................................................................................................................................... I 1.1 课题背景 ....................................................................................................................................... - 1 - 1.2 控制系统仿真的意义.................................................................................................................... - 1 - 1.3 控制系统仿真的研究现状............................................................................................................ - 2 - 1.4 本课题研究内容 ........................................................................................................................... - 2 - 2 LabVIEW概述 .................................................................................................................. - 4 - 2.1 虚拟仪器技术 ............................................................................................................................... - 4 - 2.2 控制设计工具包 ........................................................................................................................... - 5 - 3 系统方案的选定............................................................................................................... - 7 - 3.1 系统概述 ....................................................................................................................................... - 7 - 3.2 系统方案的比较与选定................................................................................................................ - 7 - 3.3 系统子模块的规划........................................................................................................................ - 9 - 4 系统设计......................................................................................................................... - 10 - 4.1 信号发生器 ................................................................................................................................. - 10 - 4.1.1 确定方案 ............................................................................................................................. - 10 - 4.1.2 VI设计................................................................................................................................. - 10 - 4.2 典型环节 ..................................................................................................................................... - 13 - 4.2.1 建模及理论分析 ................................................................................................................. - 13 - 4.2.2 VI设计................................................................................................................................. - 14 - 4.3 质点-弹簧-阻尼器系统.......................................................................................................... - 18 - 4.3.1 建模与模型转换及其VI设计........................................................................................... - 18 - 4.3.2 模型分析及其VI设计....................................................................................................... - 21 - 4.3.3 PID设计及其VI设计......................................................................................................... - 25 - 4.4 一级倒立摆系统 ......................................................................................................................... - 29 - 4.4.1 建模与分析及其VI设计................................................................................................... - 30 - 4.4.2 LQR设计及其VI设计....................................................................................................... - 36 - 4.4.3 实时仿真及其VI设计....................................................................................................... - 41 - 4.5 动态调用VI的设计 ................................................................................................................... - 44 - 4.5.1 VI的动态调用..................................................................................................................... - 44 - 4.5.2 VI设计................................................................................................................................. - 45 -

相关主题
文本预览
相关文档 最新文档