工控信息网(www.55gk.com)|中国工业控制及自动化信息网 行业新闻技术文章产品展示厂商展示供应信息求购信息论坛
文章分类 PLC DCS PAC PC-BASED CPCI-PXI 嵌入式系统 SCADA 工业以太网 变频器 无线通讯 自动化软件 人机界面 现场总线 运动控制 机械传动 机器视觉 电源
传感器 仪器仪表 执行机构 工业安全 低压电器 其它工控文章 
 首页 -> 技术文章 -> 运动控制 -> 正文

VXD开发技术在运动控制系统卡中的应用

1. VXD开发技术简介
     虚拟设备驱动程序(Virtual Device Driver)简称VXD,是用来扩展Windows操作系统功能的一类程序。VXD主要用来支持硬件设备的管理,它以特殊的DLL形式链接到Windows操作系统的核心层(ring 0),可以解决许多不能在一般应用层(ring 3)编程处理的一系列问题,如对硬件中断等的处理。
     VXD广泛应用于Microsoft公司推出的Windows 9X操作系统各个版本,许多基于Windows平台的硬件设备驱动程序都采用了VXD编程。
VXD编程由于涉及到Windows的底层结构,因此开发工作难度比较大。以前的VXD全部用汇编语言编写,并且需要对Windows底层结构有相当的了解,开发工作量比较大。许多公司为此推出了不同的VXD开发工具,其中比较著名的是美国Vireo公司推出的VtoolsD开发工具包,提供了对VXD编程的丰富的C++类库的支持,大大提高了开发此类程序的效率。
2.运动控制卡驱动程序的特点
    采用计算机进行运动控制具有极大的灵活性。通过编写不同的程序可以适应不同的控制系统的需要,同时借助于计算机高速运算能力和巨大的存储能力可以完成许多复杂的功能,如圆弧插补甚至空间曲面的加工等,并且能够以图形方式直观地模拟显示加工过程。
     运动控制卡作为关键部分,其硬件及驱动程序对整个控制系统的性能起着极其重要的作用。它负责将运动指令转换成相应的脉冲送到执行机构产生运动。
    从通用性角度考虑,运动控制卡驱动程序应该提供比较完整的运动控制函数库,该函数库应该能够执行从单轴直线运动到多轴联动,从直线段插补到圆弧插补甚至螺旋线插补等常用的运动指令。特别是在加工由多条线段和圆弧组成的复杂形状工件时,驱动程序应能保证加工连续性。由于计算机操作系统早已由DOS转向Windows,而Windows操作系统属于多任务操作系统,因此在开发Windows平台下运动控制卡驱动程序时还应注意在保证指令连续的前提下尽量减少对CPU等系统资源的占用,以保证其它任务能够正常执行。而过去采用运动状态查询方式判断上一条运动指令控制的轴是否已经进给完毕则很难满足这种要求。因此有必要采用其它方式解决这个问题。中断处理配合指令缓冲区可以很好地解决这个问题。
    对于中断的处理,在DOS平台下比较容易实现。因为DOS操作系统中断编程是开放的,程序员可以任意修改中断向量来处理自己的中断服务程序。但在Windows平台下,为了系统的稳定,操作系统对一般的应用程序(ring 3层)并未完全开放中断编程。然而由于设备驱动程序运行在操作系统底层(ring 0层),因此,我们可以借助于VXD编程来实现中断方式下工作的运动控制卡驱动程序。
3.采用VXD技术开发运动控制卡驱动程序
    VXD运行在Windows操作系统的底层,借助于VtoolsD等开发工具,我们可以比较容易地在中断方式下实现运动控制。
     为了使用方便,运动函数库中各运动指令对应的接口函数以Windows标准的动态链接库(DLL)形式封装,标准的DLL工作在ring 3层,而VXD工作在ring 0层,因此需要在DLL中加载VXD,对运动指令也需要分层进行处理。
为了保证运动指令的连续性,有必要采用指令缓冲区来配合运动中断。
    通过DLL接口函数接收的运动指令被压入DLL中的指令缓冲区,相应的指令处理线程被激活,对一级运动指令进行处理,处理结果通过DLL与VXD之间的接口压入位于VXD中的底层缓冲区。
     通过运动控制卡的硬件设计,可以实现在运动指令执行完毕后产生中断,在中断服务程序中,所要完成的任务就是从底层指令缓冲区取出下一条指令包含的各寄存器值,按地址将其送到卡上相应的寄存器中。
    对于需要对反馈信号进行采样处理的特殊功能,则可以利用卡上的外部定时中断,在其中断服务程序中进行相应的处理。
4.相对其它方式的优点
     采用VXD技术开发运动控制卡驱动程序及函数库相对于传统的查询方式下工作的程序来说,具有如下一些优点:
(1)系统运行效率更高,对CPU等系统资源占用更少。可以很容易地开发出带图形实时显示的运动控制系统。
(2)多指令连续运动及微线段插补时运动连续性更好,在Windows多任务环境下不容易受其它任务影响而出现运动的间断。
(3)可以实现更精确的采样处理功能,进而在此基础上实现全闭环控制。
Google
最新文章
 • 台湾普传PI-3000变频器系统在家电行业中的
 • 菱科变频调速技术在炼钢厂20吨转炉倾动和
 • 国务院住宅区供暖锅炉改造
 • LOGO在光学机械中的应用
 • 嵌人式系统综述
 • 华北科技1U整机在校园网络视频中应用
 • 台达ASD-B伺服系统在雕刻机上的应用
 • 浅析软件滤波在自动控制中的应用
 • 华北科技产品在彩票终端中的解决方案
 • 华北科技产品在360度全景智能监控系统中的
 • 台达自动化产品在橡塑电缆生产行业的整体
 • NOVO-7910奥运场馆监控系统应用方案
 • 华北科技产品在奥运场馆安防系统的综合应
 • 华北科技NOVO-3266在“卡拉OK点歌计费系统
 • 台达自动化技术在精密带刀片皮机上的解决
 • 基于台达机电技术的梳棉锯条冲齿加工伺服
 • 城市照明监控系统技术方案
 • 关于城管电子监控的构建
 • 台达机电产品在全自动灌装封尾机上的应用
 • 基于GPRS的热电远程监控系统开发应用
Copyright © 2005-2008 55GK.com 联系站长:555jx@163.com 
本网站所登VXD开发技术在运动控制系统卡中的应用及所有其它信息来自互联网.
仅供访问者参照使用,不直接或间接负责相关法律问题!