文 /宝鸡文理学院电气系 胡 皓 周妮娜
基于Visual C++的运动控制系统开发
分析了运动控制卡的结构、功能,介绍了用Visual C++开发Windows环境下
的运动控制系统的
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
。给出了Visual C++的运动控制应用程序部分代码。试验
表明,本方案可以方便地开发数控系统、
检测
工程第三方检测合同工程防雷检测合同植筋拉拔检测方案传感器技术课后答案检测机构通用要求培训
设备、自动生产线,大大缩短控制系
统的开发周期。
在一个运动控制系统中,“上位控制”和 “执行机构”是
系统中举足轻重的两个组成部分。“执行机构”部分一般不外
乎为步进电动机、伺服电动机以及直流电动机等。它们作为
执行机构,带动刀具或工件动作;“上位控制”单元的方案主
要有四种:单片机系统、专用运动控制PLC、PC+运动控制
卡、专用控制系统。“上位控制”是指挥执行机构动作的。本
文主要介绍了基于运动控制卡(Motion Controlling Bo~d)技术
的步进电动机驱动运动控制系统及其在Windows环境下的实
现方法。
采用PC+运动控制卡的控制方案
采用PC+运动控制卡作为上位控制,可充分利用计算机
资源,用于比较复杂,且柔性比较强的设备。从用户使用的
角度来看,基于PC机的运动控制卡主要是硬件接口(输入/输
出信号的种类、性能)和软件接口(运动控制函数库的功能函
数)的差异。
运动控制卡是基于 PC机各种总线的步进电动机或数字
式伺服电动机的上位控制单元,总线形式也是多种多样。由
于计算机主板的更新换代,ISA插槽越来越少,PCI总线的运
动控制卡应该是 目前的主流。卡上专用CPU与PC机CPU构
成主从式双CPU控制模式。PC机CPU可以专注于人机界面、
实时监控和发送指令等系统管理工作;卡上专用CPU用来处
理所有运动控制的细节:升降速计算、行程控制,多轴插补
等,无需占用PC机资源。同时随卡还提供功能强大的运动控
制软件库:C语言运动库、Windows DLL动态链接库等,让
用户更快、更有效地解决复杂的运动控制问题。
运动控制卡采用了开放式结构,使用简便,功能丰富,可
靠性高。若采用PC机的PCI总线方式,卡上无需进行任何跳
线设置,所有资源自动配置,并且所有的输入、输出信号均
56 I电气时代2006年第7期
用光电隔离,提高了控制卡的可靠性和抗干扰能力;在软件
方面提供了丰富的运动控制函数库,以满足不同的应用要求。
用户只需根据控制系统的要求编制人机界面,并调用控制卡
运动函数库中的指令函数,就可以开发出既满足要求又成本
低廉的多轴运动控制系统。
运动函数库为单轴及多轴的步进或伺服控制提供了许多
运动函数,如单轴运动、多轴独立运动、多轴插补运动等等。
另外,为了配合运动控制系统的开发,还提供了一些辅助函
数,如中断处理、编码器反馈、间隙补偿及运动中变速等。
正是由于运动控制卡的开放式结构,强大而丰富的软件
功能,对于使用者来说,进行二次开发的
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
周期缩短了,开
发手段增多了,针对不同的数控设备,其柔性化、模块化、高
性能的优势被充分利用。
MPC系列通用运动控制器
MPC系列运动控制卡是基于PC机ISA、PCI总线的步进
电动机或数字式伺服电动机的上位控制单元,配备了许多功
能强大,内容丰富的运动控制软件工具。
MPC卡分为A、B两种类型:A型卡采用先进的控制芯
片,具有s形升降速曲线,最高输出频率可达2.4 MHz,带
有编码器反馈端口,主要适用于数字式交流伺服系统或闭环
的步进电动机控制系统;B型卡具有梯形升降速曲线,最高
输出频率可达 100 kHz,主要适用于开环的步进电动机控制
系统。
以MPC一02为例,MPC控制卡的结构如附图所示。
附图中,PC机负责人机交互界面的管理和控制系统的实
时监控等工作,例如键盘和鼠标的管理、系统状态的显示、控
制指令的发送及外部信号的监控等等。MPC一02卡完成运
动控制的所有细节包插 脉冲和方向信号的自动升降速处理,
维普资讯 http://www.cqvip.com
原点和限位等信号的检测等。MPC02卡可控制3轴步进电动
机或数字式伺服电动机,并支持多卡共用以实现多于3个运
动轴的控制。每轴均可输出脉冲和方向信号,以控制电动机
的运转。同时可外接原点减速限位等开关信号,以实现回原
点保护等功能,这些开关信号I~tMPC02卡自动检测并做出反
应。另外,MPC02卡还提供了适用于伺服系统的伺服使能和
偏差清零信号接口,以及供用户使用的通用I/O接口。
附图 MPC一02控制卡的结构
Windows下基于Visual C++运动控制系统的
开发
(1)开发环境
Windows应用程序设计的最大特点就是消息处理。所有
的Windows应用程序都是基于消息的,每一个Windows程序
都要求有一个消息循环,应用程序中的每一个窗口都要求有
一 个消息处理器。不论什么时候,只要出现一个事件,
Windows系统就会产生一条消息。因此,Windows应用程序
设计的核心就是传递消息,读入消息,处理消息。Windows
系统是多任务系统,如果有消息要处理,它就占用CPU处理
消息,如果一个程序不再有要处理的消息,系统就询问其他
正在运行的程序是否有消息要处理,并把控制权转给有消息
要处理的应用程序。
Visual c++是一个在Windows环境下的程序开发工具,
它是可视化的,面向对象的,采用事件驱动的。它屏蔽了
Windows环境下程序设计的复杂性,使Windows应用程序设
计变得简单、方便、快捷。利用MPC卡的动态链接库DLL可
以很快地开发出Windows平台下的运动控制系统。MPC卡动
态链接库是标准的Windows 32位动态链接库,选用的开发工
具应支持 Windows标准的32位DLL调用。
(2)动态链接库函数调用方法
在VC中调用动态链接库DLL中函数有两种方法。
隐式调用需要DLL函数声明头文件MPC02.H;编译连
接时用的导入库文件MPC02.1ib;动态链接库文件MPC02.
d1l;设备驱动程序MPC02.sys。当建立
工程
路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理
之后,在VC集
【运动控制专辑】
成环境中点击 “/project/settings⋯”菜单,弹出 “project
settings”对话框。选 “Link”选项卡,在 “object/library
modules”栏内输入导入库文件名MPC02.1ib,单击 “OK”
按钮。在调用DLL函数的源代码文件开始处包含MPC02.h
头文件。之后则可以按照调用内部函数一样调用DLL函数。
显式调用只需要如下文件动态链接库文件MPC02.Dll
和设备驱动程序 MPC02.sy S。显式调用方法需要调用
Windows API函数加载和释放动态链接库。
(3)控制运动函数的用法
MPC02函数库中提供常用的单轴运动、多轴独立运动控
制、多轴插补运动控制、中断、光码盘反馈等功能。
例如下面一段代码使某根轴按梯形速度运动一段距离。
set—profile(1,0,1 000,1 000); //设置 1轴低速
为0,高速为 1 000,加速度为 1 000
fast—pmove(1,10 000); //使 1轴按照设置的梯形
速度运动 10 000个脉冲
(4)共用问题
每块MPC02卡最多可以控制3轴的运动,当需要控制多
个轴时,可以在PC机上插入几块卡,而在编程时,把它们当
成一个整体对待,各卡之间的轴与同一块卡上的轴也同样能
够进行联动或插补,这样就能实现多于3轴的运动控制。对
于4轴控制,可以用两块MPC02卡。一台计算机上可同时使
用的MPC02卡的数 目取决于 PCI扩展槽的数目。
结 论
利用 Visual c++在Windows平台上,扩展运动控制卡,
可以方便地开发数控系统,检测设备、自动生产线等。由于
运动控制卡的运动函数库能够完成与运动控制有关的复杂细
节,比如升降速直线插补、圆弧插补等,这样可以大大缩短
控制系统的开发周期。MPC在插补算法和运动函数的执行效
率方面采用了更有效的方法,提高了插补精度和速度。MPC
运动函数库用于二次开发,用户只要用C/C++或 Visual
Basic等编制所需的用户界面程序,并把它与MPC运动库链
接起来,就可以开发出自己的控制系统。EA
(收稿 日期 :2006.04.19)
相关文章
现代运动控制 系统的数字及网络化
— — 《电气时代》2005年第3期
运动控制系统专用软件图形显示功能的开发研究
— — 《电气时代》2005年 第5期
电气时代2006年第7期 l 57
维普资讯 http://www.cqvip.com