基于Windows系统下转台实时控制动态链接库的开发

来源 :科协论坛·下半月 | 被引量 : 0次 | 上传用户:long96169
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:介绍在windows系统环境下,为满足转台实时控制,提出实时控制动态链接库的开发需求,介绍实现方法,并结合具体工程实践验证动态链接库的实际效果。
  关键词:转台 实时控制 动态链接库
  中图分类号:TP273.5 文献标识码:A 文章编号:1007-3973(2013)002-082-02
  1 引言
  在windows环境下通过自制的PCI并口卡实现转台实时控制,应用程序要实现控制协议,则必须与PCI卡的驱动程序进行通信。为了屏蔽双方通信的细节问题(驱动程序连接、地址读写、I/O控制等),实现嵌入式调用,提出了动态链接库的开发。
  2 通信原理
  驱动程序必须与应用程序进行通信,才能最终达到应用程序控制设备的目的,目前比较流行的通信方法一种是:使用WriteFile和ReadFile分别从驱动中读取和写入数据,然后用不同的IRP来传递信息。另一种是:使用DeviceIoControl通信。
  2.1 应用程序与驱动程序通信
  2.1.1 应用程序实现与驱动通信的过程
  2.1.2 DeviceIoControl函数
  2.2.1 DeviceIoControl异步完成
  当应用程序调用DeviceIoControl函数时,驱动程序首先把此IRP保存,然后设法返回STATUS_PENDING。在一个事件发生后,驱动程序完成该IRP。
  2.2.2 Win32事件
  应用程序创建一个事件,直接将该事件句柄传递给驱动程序,然后等待驱动程序发送事件消息。驱动程序在获得该事件指针后,在IRQL<=DISPATCH_LEVEL级别下的例程中设置事件信号状态来触发应用程序。
  2.3 驱动程序获取应用程序数据缓冲区的方法
  buffered方式,I/O管理器先创建一个与用户模式数据缓冲区大小相等的系统缓冲区。而你的驱动程序将使用这个系统缓冲区工作。I/O管理器负责在系统缓冲区和用户模式缓冲区之间复制数据。
  direct方式,I/O管理器锁定了包含用户模式缓冲区的物理内存页,并创建一个称为MDL(内存描述符表)的辅助数据结构来描述锁定页。因此你的驱动程序将使用MDL工作。
  最终使用哪种方式是由I/O控制命令中的数据访问方式来决定。实际就是共享BUFFER和建立一个MDL的过程。
  3 动态链接库的功能实现
  3.1 设备的打开与关闭函数
  在Windows操作系统中,设备被看成是一个文件。我们可以打开一个设备句柄(就如同打开一个文件),然后应用程序可以在设备句柄最后关闭之前与驱动程序通信(读/写操作),从而间接驱动设备。
  应用程序访问驱动程序的步骤是:先用CreateFile函数打开设备,然后用DeviceIOControl函数,也可采用ReadFile和WriteFile函数与驱动程序通信,本设计采用前者。当应用程序退出时,用CloseHandle关闭设备。
  3.2 中断处理函数
  开中断:打开中断,开始采数。调用此函数成功后,设备驱动程序开始采数,并每隔1ms给应用程序发一个消息。
  关中断:关闭中断,停止采数。
  3.3 数据采集和数据交换函数
  数据采集:根据转台并行通信协议,读取规定的设备地址中对应的数据,再加以合并整理出转台各轴的角位置数据。
  数据交换:此函数完成应用程序和底层驱动程序交换数据的功能。该函数带两个参数,参数类型均为DWORD *,一个为转台各轴角位置数据在1ms内采样的数据包,另一个为下一个1ms内转台各轴角位置数据的仿真数据。
  3.4 转台控制指令函数
  转台控制指令包括:运行(位置、速率、摇摆)、停止运行、仿真、停止仿真指令。根据转台并行通信的协议,向规定的设备地址中写入对应的数据即可完成转台的控制指令。
  4 典型案例分析
  如图2所示,上位机发送内框仿真指令及仿真参数(正弦波1度1Hz,仿真周期为5个),则转台处于仿真状态下,数据采样效果比较满意,该图显示的是转台做1度1Hz的正弦仿真。上位机采样周期为1ms,每次数据采集有2组数据,以0.5ms间隔显示。
  根据曲线分析图可以看出,转台实时控制效果较好,满足工程需要。
  5 结论
  转台实时控制动态链接库可以满足1ms的实时控制需求,达到了工程要求。
  该动态链接库的开发实现了转台上位机软件的嵌入式开发,无需开发人员了解转台通信协议及底层实现细节,既方便了上位机开发人员同时也能很好的保护公司商业秘密。
其他文献
摘 要:往复压缩机气缸套和活塞环是在交变载荷下工作的一对摩擦副,因此活塞环、活塞机气缸套的磨损情况至关重要。对制氮压缩机K-71301/A活塞严重磨损的情况进行分析,提出合理的解决方案,保证装置的连续运行和安全生产。  关键词:往复压缩机 气缸 磨损 下沉度  中图分类号:TH45 文献标识码:A 文章编号:1007-3973(2013)002-066-02  1 前言  K-71301往复压缩机
摘 要:结合地铁中间立柱桩施工实践,介绍自平衡测桩法的试验目的、试桩依据、原理及方法,从设备的安装、测试程序、测试数据整理与分析三个部分,阐述自平衡测桩法在AM工法旋挖扩底灌注桩中的应用。  关键词:自平衡法 旋挖扩底灌注桩 应用  中图分类号:TU473.16 文献标识码:A 文章编号:1007-3973(2013)002-001-03  1 工程概况  武汉地铁2号线一期工程中南路站为地下二层
摘 要:水利工程对于我国经济的发展至关重要,水利工程管理是保障水里工程顺利化运作的前提基础。随着经济的飞速发展,水利工程自动化管理成为水利工程管理发展的必然趋势,做好利工程自动化管理工作对于提高水利工程质量,提升水利工程工作效率具有重要的作用。  关键词:自动化 水利工程 管理  中图分类号:TP27 文献标识码:A 文章编号:1007-3973(2013)002-073-02  1 目前我国水利
摘 要:以福建省500kV某变电站为例,对比综自站及非综自站的特点,论述综合自动化系统的优势,并阐述变电站综合自动化系统当前的运行状况及存在的若干问题的建议解决办法,为今后变电站综合自动化系统发展提供实践参考。  关键词:传统变电站 监控 综合自动化 发展 趋势  中图分类号:TM76 文献标识码:A 文章编号:1007-3973(2013)002-075-02  1 引言  变电站综合自动化就是
摘 要:风能作为一种清洁能源,越来越受到各个国家的重视。世界范围内风电装机容量一直在增加。随着装机容量的增加,风力发电对电网的影响也越来越明显。介绍风力发电的并网条件及并网特点,不同风力发电机与电网的并入方式;介绍风电并入电网对电网的影响和我国的电网结构及内蒙古地区电网的大概结构。  关键词:风力发电 并网 风电场  中图分类号:TM614 文献标识码:A 文章编号:1007-3973(2013)
摘 要:无线传输方式是广播电视覆盖的最初手段,也是广播电视公共服务的基本手段,有着广泛的使用范围和广阔的应用前景。简要介绍几种正在使用和即将使用的传输技术和方法。  关键词:广播电视 无线传输 技术  中图分类号:TN934.4 文献标识码:A 文章编号:1007-3973(2013)002-092-02  1 引言  经过数十年的发展,我国的广播电视已形成了由地面无线网络、有线网络和卫星网络构成
摘 要:随着国网公司“三集五大”的实施,变电运行维操管理模式已经成为实现电网集约化管理的重要手段。但随着电网飞速发展,维操站所辖变电站设备日益增多,设备多样化、操作工具不统一的问题日益凸现,给现场操作带来很多不便和安全风险。变电站多功能操作摇把,能满足各种开关手车的操作及各种手摇式闸刀的操作,彻底解决了操作摇把多样化以及操作脱把等问题,提高了操作效率,减轻了操作人员劳动强度,降低了操作风险,规范了
自2007年4月18日我国铁路进行了第六次大提速之后,我国正式进入了高铁时代,铁路行业发展迅猛,越来越多的人们选择铁路作为自己的出行方式,然而,铁路的发展仍然受到诸如铁路运输以及安全隐患、维护等因素的限制。实践证明,将铁路运输信息化可有效的降低铁路在安全及运输等方面的问题。如今,物联网已被初步运用于我国的铁路行业当中,是计算机以及互联网之后最受人们关注的第三波信息化发展浪潮。概述物联网技术及其工作
针对爬壁机器人的特性和功能对其关节位移反馈进行设计,通过对位移传感器进行选型,利用线性霍尔传感器SS495实现对爬壁机器人的关节位移的测量,并对其性能进行测试。通过微控制器MC9S12DG128实现对关节位移数据的采集和处理,从而实现爬壁机器人的关节位移的闭环控制。
目的观察柴芍六君子汤加味联合西药治疗消化性溃疡的临床疗效。方法将132例消化性溃疡患者随机分为治疗组和对照组。治疗组66例给予柴芍六君子汤加味联合雷尼替丁、硫糖铝、