新闻中心

EEPW首页 > 模拟技术 > 设计应用 > 监控软件设备驱动程序的编程与实现

监控软件设备驱动程序的编程与实现

作者:时间:2013-12-04来源:网络收藏

0 前言

  在专业出现以前,自动控制系统集成人员的一个重要任务就是编写专门的系统上位监控程序。但是,在实际工程中我们发现:一方面,由于各编程人员的水平参差不齐,许多软件的功能和可靠性都存在问题;另一方面,由于每个编程人员的编程习惯和编程思路都不同,程序的可读性和功能的扩展性都比较差。因此,功能强大、实用面广的专业就应运而生。如MCGS、组态王控软件等。由于现场智能仪表、采集板的多种多样,监控软件自带的程序毕竟有限,因此编制程序就成了自控系统集成工程师的重要工作之一。

  本文以北京昆仑通态公司开发的MCGS为例来说明监控软件程序的一般思路。MCGS是基于Windows95和WindowsNT平台,为用户提供了从数据采集到数据处理、报警处理、流程控制、动画显示、报表输出等解决实际工程问题的完整方案和操作工具。MCGS允许用户在VisualBasic中操作MCGS中的对象,提供了一套开放的可扩充接口,用户可根据自己的需要用VB编制特定的功能构件来扩充系统的功能。

  1接口原理

  许多组态软件提供了设备驱动程序软件开发包,支持用户用VB、VC、Delphi等高级编程语言编制设备驱动程序。MCGS组态软件驱动程序编程原理框图如图1所示:

  监控软件设备驱动程序编制原理与实现

  几乎所有的PLC、智能仪表、采集板卡都提供了驱动软件,有的在说明书中还提供了驱动软件的核心代码、函数或数据结构。而监控软件也提供了开放性的可扩充接口,一般包括属性函数、方法函数、IO端口操作函数和串口操作函数等。在运行模式下,监控软件定时或在事件激发时调用设备驱动程序,而设备驱动程序根据需要,再调用设备核心函数。

  例如,MCGS在组态模式下按“在线帮助”按钮就会调用GetDevHelp接口,显示设备构件的在线帮助;按“内部属性”按钮时就会调用SetDevPage接口,显示设备构件的特定属性页。在运行环境下,MCGS首先调用一次InitDevRun接口对设备进行一些必须的初始化工作。然后MCGS按设定的采集周期调用CollectDevDat接口,从设备采集数据或向设备输出数据。运行时,当用户在脚本程序中调用!SetDevice函数或在运行策略中调用设备操作功能时,MCGS调用RunDevCommand接口,以执行设备的特定功能。

  监控软件设备驱动程序编制原理与实现

  2 编程实现

  常用设备驱动程序包括采独立板卡类驱动程序和智能仪表类驱动程序。

  2.1独立板卡类

  独立板卡类包括模数(A/D)转换板、数模(D/A)转换板、开关量输入输出板(DI/DO),通信板卡等。它们一般直接插入计算机的总线槽里,通过ISA或PCI总线扩展槽与计算机进行数据通信。每块板都有一个基地址范围为:000H-3FFH,计算机通过该基地址来向采集板输入输出数据,没有通信协议的概念。

  在MCGS组态软件运行时,MCGS会定时调用接口函数:PublicFunctionCollectDevDat(DatFAsVariant,DatAsVariantmsgAsVariant)AsLong。所以需要定时采集的数据都通过这个接口来采集,采回来的数据都放在数组dat中。


上一页 1 2 3 下一页

关键词: 监控软件 设备驱动

评论


相关推荐

技术专区

关闭