VC环境下小型工业监控软件的开发-Read.doc

VC环境下小型工业监控软件的开发-Read.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VC环境下小型工业监控软件的开发 摘??要:Microsoft公司推出的Visual C++,是面向对象的应用软件开发环境。在VC开发环境下,结合研华或研祥的工业用数据采集卡及其相关动态库,利用多线程技术,可以开发出小型、经济适用的工业监控软件。本文主要介绍了这种开发方法及其 相关要点。 关键词:工业监控软件;Visual C++;数据采集卡 一、引言 目前,国内大中小型企业为提高产量和生产效率,增强企业运行安全系数,普遍开始利用计算机进行工业自动化生产的技术改造。通过微机对现场的生产情况进行监视控制,可以达到减轻工作量,提高劳动生产率和安全可靠性的目的,这已经成为企业界管理人员和自动化领域技术人员的共识。现在为方便地开发适用的工业监控软件,国内外诸多公司已经开始研发工业组态软件,诸如美国的Intouch,台湾研华的Genie,北京恒力的Good-Helper。这些组态软件缩短了工业监控系统软件的开发周期,也相应提高了其可靠性。然而,这些组态软件本身价格昂贵,对于小型企业的单机系统来说,又有许多功能用不上,造成浪费。同时组态软件的本身也还存在不足之处,不能满足一些特殊要求。因此,目前仍然需要技术人员掌握基本的开发方法,量体裁衣地为企业开发出小型经济适用的软件。 本文在针对小型企业的单机监控系统软件的开发设计过程中,基于Microsoft公司的Visual C++面向对象的应用软件开发环境 ,提出了一些基本的方法和需要注意的要点。 二、小型工业监控软件开发的基本方法 1、Visual C++开发环境简介 Visual C++是汇集Microsoft公司技术精华的主流产品。它最重要的特征是提供了MFC类库,封装了Windows API接口函数,并建立了应用程序框架,使程序开发人员可以将主要精力集中在所要解决的具体问题上。尤其是利用的Visual C++魔法(AppWizard)功能生成SDI或MDI应用程序,进行少量修改后,就可以进入软件界面的外观设计。 2、小型工业监控软件的基本结构 工业监控软件大体可以分为前台显示界面部分和后台数据采集与传输部分。后台数据采集及控制程序通过对卡板的读写达到数据输入和控制参数的输出功能。前台显示界面则通过与后台数据采集及传输程序共享数据单元方式或传递数据方式,得到实时采集的数据在屏幕上加以显示。其结构如图1所示。 图1 工业监控软件基本结构 3、数据采集和控制指令传送 数据采集和传输所用的卡板现已基本标准化,其中尤其以台湾研华和研祥的工控产品为代表,性能可靠,价格基本在千元左右已能广泛为工控界接受。其最大优势是提供了产品配套的动态链接库(.DLL)。从前在DOS下编写数据采集和传输程序,要求 程序员对卡板的功能了解足够透彻,并且直接对端口进行读写,效率低且容易出错。现在用动态链接库中的函数直接对卡板编程,方便快捷可靠而且不需要了解太多关于卡板的信息。以研祥的818HG数据采集卡板的DMA数据采集功能为例,其配套软盘上有DLL2.h头文件、818.dll动态库和818.lib静态库可供用户使用。头文件DLL2.H中定义了DMA数据传输的开始、状态检测和结束函数。 int PASCAL W-818-AD-DMA-start (int ad-ch-no,int ad-range,dma-ch-no,int irq-ch-no,int count,unsigned short *ad-buffer,unsigned int cl,unsigned int c2): int PASCAL W-818-AD-DMA-Status(int * status,int * count): int PASCAL W-818-AD-DMA-stop(int * count): 其中参数含义在说明书中有详细说明,这样即使软件开发人员对DMA数据传输方式并不是十分熟悉,也可以方便地编写用于采集快速变化信号(例如脉宽为30us的脉冲信号)的数据采集程序。对于数据采集和传输任务,在应用程序中,将其置于后台工作是一个理想的方案。例如,在北京恒力公司的组态软件(DOS环境下使用)中,采用的是将数据采集部分驻留在内存中的方式。在开发Windows应用程序时,一个确实可行的方法是创建后台数据采集和控制工作线程,尤其在数据采集是以DMA方式大量传递数据时,可以避免前台界面因数据采集程序循环而导致的响应过慢。 下面简要介绍工作线程的编写过程 (1)编写线程函数 工作线程的唯一目的是执行线程函数或者控制函数。通常线程启动时,这个函数就启动了,线程结束了,这个函数也就结束了 。线程函数的编写如下: UINT MyThreadProc(LPVOID pParam) { ......//数据采集与控

文档评论(0)

zhaohuifei + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档