




已阅读5页,还剩52页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机控制技术,李江全编著,石河子大学机电学院电气工程教研室2007年4月,第4章计算机控制系统中的软件,4.1计算机操作系统4.2现代软件技术4.3面向对象语言VisualBasic4.4监控组态软件Kingview4.5虚拟仪器软件LabVIEW,4.1计算机操作系统,计算机操作系统(简称为操作系统),是指用于管理和控制计算机软硬件资源,并且能为用户创造便利的工作环境的一组计算机程序的集合。一个操作系统主要有进程管理、作业管理、文件管理、设备管理和存储器管理等基本功能。,4.1.1计算机操作系统概述,按照不同的分类方法,可以将操作系统进行不同的分类,一般分为以下6类:,1顺序执行系统2分时操作系统3实时操作系统4批处理操作系统5网络操作系统6分布式操作系统,4.1.2通用操作系统,通用操作系统是指用于科学计算、商用、家庭等用途的操作系统。1DOS操作系统2UNIX操作系统3Linux操作系统4WindowsNT操作系统,4.1.3实时操作系统,实时操作系统主要用于计算机实时系统中(如计算机控制系统、大型设备的仿真/培训装置以及其它对时间要求比较强的系统),实时操作系统除了具有通用操作系统的特点和功能外,其主要特点是:实时性强、可靠性高,且稳定性好。实时操作系统在任何时刻总是保证优先级别最高的任务占用CPU和其他资源,而且还要保证系统响应的时间是可以容忍和确定的。系统对现场进行不间断地监视,一旦有事件发生,系统就能“实时”地做出响应。,通常,实时操作系统主要具有以下特点:,1多作业环境2任务的事件驱动3中断与中断优先级4同步与异步,4.1.4嵌入式操作系统,所谓嵌入式系统,是指以应用为中心和以计算机技术为基础,软硬件可裁剪,并且能够适应宿主系统对其功能、可靠性、成本、体积和功耗等多方面的要求的系统。简单地说,嵌入式系统与其监控的对象(宿主)是紧密地为一体的系统。对于嵌入式计算机监控系统,其最关键的技术之一就是嵌入式操作系统。,嵌入式操作系统应该具备以下特点:,1)响应快速、实时强2)结构紧凑、易于裁剪和配置3)开放性好、易于开发和嵌入,目前市面上比较流行的嵌入式操作系统有:VRTX、WindowsCE、VxWorks、JavaOS、Psos以及Hopen等,其中,Hopen为国产软件。,4.2现代软件技术,4.2.1面向对象技术,所谓对象,从广义地来讲,世界上的任何一个事物或实体都可以视为一个对象。在面向对象的技术中,“对象”被定义为一个内部封装了数据(信息/属性)和方法(操作)的实体。如果以上定义可能会显得有点抽象的话,那么具体地说,一个窗体、按钮、图形库里的一个罐体图形或该罐体图形所包含的某个部件都是一个对象。对象可能在软件开发平台中已经提供,也可以由软件开发者自己创建。,4.2.2动态数据交换(DDE)技术,DDE技术在Windows多窗口、多任务环境下,允许多个进程基于消息的驱动下“同时”进行,因而使多个应用程序并发执行,直接进行通信,共享彼此的数据和任务。应用程序间数据通信多任务机制是依靠程序之间有效的数据交换来实现的。这些数据交换机制,使得应用软件与Windows及应用软件之间能较好地协调,系统环境受到了保护,用户环境也更为安全。,4.2.3对象链接与嵌入(OLE)技术,OLE技术提供了一整套方法,将不同应用软件、不同操作系统中的应用对象组合成一个功能强大的新应用;可以使得一个应用程序能够紧密正确地使用另一个应用程序的服务。因此,OLE技术是一种高级的进程间通信机制。它把用户从应用程序为中心的计算环境解脱出来,代之以文档为中心的计算环境。在前一种环境中,完成任务的工具是单个的应用程序;而在以文档为中心的计算环境,用户能综合使用多种工具来完成工作。,4.2.4组件技术,组件是独立于特定的程序设计语言和应用系统,具有可重用性、能自包含的软件成分。也可以将组件简单地理解为构成软件的“零件”。也就是说,将一个庞大的应用软件分成多个模块,每个模块保持一定的功能独立性,在协同工作时,通过相互之间的接口交换信息来完成任务,将这样的软件模块称为组件。组件可以单独开发、单独编译,甚至单独调试和单独测试。有了组件技术,可以迅速地进行软件开发。只要在组件库中找出合适的组件,将其组合起来就可以得到所需的软件。,4.2.5用于过程控制的OPC规范,OPC提供一种工业标准机制,它利用微软公司的OLE技术来建立和规范工业应用中的客户机与服务器之间的通信和数据交换。OPC利用COM和DCOM技术,使得OPC的客户端应用程序和OPC的服务器端应用程序建立起无缝的数据交换,这种数据交换方式完全独立于应用程序运行的物理位置。,4.2.6动态链接库(DLL)技术,程序员在编写各种用途的应用程序时经常需要使用一些函数库,所谓函数库就是一些目标代码模块经过组合形成的代码群。应用程序从函数库中调用函数实际上就是通过链接使应用程序能够从函数库中存取和使用目标代码,链接是把外部函数结合到一个应用程序中的进程。,动态链接过程将包含函数的程序模块预先编译成目标文件,被链接成一种特殊的Windows可执行文件动态链接库(DLL)。当应用程序运行时,Windows操作系统检查可执行文件,如果需要不包含在可执行文件自身中的函数,Windows就自动装入指定的DLL文件,使得DLL中的所有函数都能被应用程序访问,仅到这个时候,Windows才能确定每个函数的地址并且将其动态地链接进应用程序。DLL是在运行时被装载的,并且所有使用这个DLL的应用程序都可以在运行时共享这个DLL在内存中的同一个拷贝。,4.2.7ActiveX技术,ActiveX技术是对象的链接与嵌入技术(OLE)与Internet技术的结晶。ActiveX部件是指一些可重复使用的程序代码和数据,是由遵循ActiveX规范的一个或者多个对象所构成的。通过ActiveX技术,程序员可以将可再用的软件部件组装到应用程序中去。ActiveX技术用于将基于对象的部件组合起来,关心的是如何使对象在一起工作,它是将现有的、完善的应用程序片断连在一起的强有力手段。,4.3面向对象语言VisualBasic,VisualBasic(简称VB)是微软公司推出的一种可视化的、面向对象的结构化高级程序设计语言,是当今世界上应用最广泛的编程语言之一,它也被公认为是编程效率最高的一种编程语言。无论是开发功能强大、性能可靠的商务软件,还是编写能处理实际问题的实用小程序,VB都是最快速、最简便的语言。它简单易学、容易掌握,软件界面设计非常便捷,编程工作量较小,开发周期短,特别适合非计算机专业的工程技术人员掌握和使用。,4.3.1VB的基本概念,1对象和类在面向对象的程序设计中,“对象”是系统中的基本运行实体。对象是具有特殊属性(数据)和行为方式(方法)的实体。将带有相似属性和行为的事物组合在一起,可以称为一个“类”,如人类,鸟类等。一个属于某种类的特定对象称为该类的一个实例。在面向对象的概念中,“类”用于指一组相似的对象。,2对象的属性属性是描述对象特性的集合,是用来表示对象的状态。对象的属性都有属性值,改变属性值就相当于改变了对象的特性。,3对象的方法方法指的是控制对象动作行为的方式,它是对象本身内含的函数或过程。方法决定了对象可以执行的动作,是一个简单的不必知道细节的无法改变的事件,但不称作事件;同样,方法也不是随意的,某些对象有一些特定的方法。,4对象的事件事件是发生在对象上的动作。VB应用程序是事件驱动的,也就是说,只有在事件发生时,应用程序才会运行。如果没有事件发生,那么整个程序就处于停滞状态。如果说属性决定了对象的特性,方法决定了对象的行为,那么事件就决定了对象之间联系的方式。VB中,事件就是能被对象识别的动作,如单击、双击、移动鼠标、装入窗体等都是事件。VB中的每个对象都有一个预定义的事件集,不同的对象有不同的事件集。,4.3.2VB与串口通信,VB是一般程序设计人员在Windows环境下最常用的串口编程语言。利用VB开发串口通信程序主要有两种方法:一是使用MSComm串口控件;二是调用WindowsAPI函数。在实践中,使用VB串口控件实现通信的方法比调用API动态链接库的方法更加方便、快捷,而且用较少的代码可以实现相同的功能,从而使编程效率大大提高,也减少了因编程不当而导致的系统不稳定。,1MSComm控件MSComm控件全称为MicrosoftCommunicationsControl,是Microsoft公司提供的串行通信编程ActiveX控件,它既可以用来提供简单的串行端口通信功能,也可以用来创建功能完备的、事件驱动的高级通信工具。MSComm控件在串口编程时非常方便,程序员不必花时间去了解较为复杂的API函数,而且在VB、VC+、Delphi等语言中均可使用。使用它可以建立与串行端口的连接,通过串行端口连接到其它通信设备(例如调制解调器),发出命令,交换数据,以及监视和响应串行连接中发生的事件和错误。利用它可以进行诸如拨打电话号码、监视串行端口的输入数据乃至创建功能完备的终端程序等。,1)MSComm控件处理通信的方式MSComm控件通过串行端口传输和接收数据,为应用程序提供串行通信功能。它提供下列两种处理通信的方式:(1)事件驱动方式事件驱动通信是处理串行端口交互作用的一种非常有效的方法。在许多情况下,在事件发生时程序会希望得到通知,例如,在串口接收缓冲区中有一个字符到达或一个变化发生时,程序都可以利用MSComm控件的OnComm事件捕获并处理这些通信事件;OnComm事件还可以检查和处理通信错误。所有通信事件和通信错误的列表,参阅CommEvent属性。在程序设计中,可以在OnComm事件处理函数中加入自己的处理代码,一旦事件发生即可自动执行该段程序。这种方法的优点是程序响应及时,可靠性高。,(2)查询方式在程序的每个关键功能之后,可以通过检查CommEvent属性的值来查询事件和错误。如果应用程序较小,并且是自保持的,这种方法可能是更可取的。例如,如果写一个简单的电话拨号程序,则没有必要对每接收一个字符都产生事件,因为唯一等待接收的字符是调制解调器的“OK”响应。轮询方式的进行可用计时器或DoLoop程序实现。查询方式实质上还是事件驱动,但在有些情况下,这种方式显得更为便捷。,2)MSComm控件的常用属性:(1)CommPort属性:设置并返回通讯端口号,设置为1即为COM1口。注意:必须在打开端口之前设置CommPort属性。(2)Input:返回并删除接收缓冲区中的数据流。InputLen属性确定被Input属性读取的字符数。(3)InputLen:设置并返回Input属性从接收缓冲区读取的字符数。设置InputLen为0,则Input属性读取缓冲区中全部的内容。(4)InputMode属性:设置或返回接收数据的数据类型。设置为0,以文本方式取回传入的数据;设置为1,以二进制方式取回传入的数据。(5)Output属性:向发送缓冲区写数据。Output属性可以传输文本数据或二进制数据。(6)PortOpen属性:设置或返回通信端口的状态。设置为True时打开串口,设置为False时关闭串口。当应用程序终止时,MSComm控件自动关闭串行端口。,(7)Rthreshold属性:设置并返回要接收的字符数。当接收缓冲区中的字符数大于等于该值时,将产生OnComm事件。(8)SThreshold属性:OnComm事件发生之前,设置并返回发送缓冲区中允许的最小字符数。(9)Setting属性:以字符串形式设置波特率、奇偶校验、数据位、停止位等串口通信参数。(10)OutBufferSize属性:设置或返回传输缓冲区大小。(11)CommEvent属性:捕捉并检查通信事件和错误的值。,3)MSComm控件通信步骤通常我们以下面的步骤来使用VB的MSComm控件作通信控制:(1)加入通信部件,也就是MSComm对象;(2)设置通信端口号码,即CommPort属性;(3)设置通信协议,即HandShaking属性;(4)设置传输速度等参数,即Settings属性;(5)设置其它参数,若必要时再加上其它的属性设置;(6)打开通信端口,即PortOpen属性设成True;(7)送出字符串或读入字符串,使用Input及Output属性;(8)使用完MSComm通信对象后,将通信端口关闭。即PortOpen属性设成False。遵循以上的步骤,可以建构自己的串行通信传输系统了。注意:步骤(2)(5)可在设计环境的属性窗口中设定,也可在程序中设定;而步骤(6)(8)只能在VB程序中设定。,2VB程序访问串口的方式由程序的执行到硬件动作的完成,就VB来说可以有两种方式,其步骤如图4-3所示。,4.3.3VB与数据采集,1VB实现数据采集的方式,VB实现数据采集,一般需要编写DLL和ActiveX控件,然后通过VB的API功能调用和控件调用,实现对模拟量输入/输出、数字量输入/输出以及计数等功能。就VB应用来说,一般厂商都为他们的数据采集卡提供了丰富的DLL函数和ActiveX控件,以灵活的实现各种数据采集功能。因此通过厂商所提供的DLL或是ActiveX控件,我们所写的控制程序代码就经过层层的转译,一直到DAQ卡上的缓存器,而检测程序代码则通过相反的管道将状态返回到我们所写的程序里。,2在VB中使用动态链接库VB目前已成为Windows系统下一种最高效灵活的主流开发工具之一,而在VB中使用API应用程序接口(即动态链接库)则正是对VB功能的强有力扩充。用户可以在VB应用程序中调用这些动态链接库中的函数,它使得VB能够直接控制和处理PC硬件资源,而不必依赖于MS-DOS系统服务。可以说,正是借助于API使得VB既能隐藏大部分Windows编程的难点,同时又提供了使用Windows环境的灵活性。,4.4监控组态软件Kingview,4.4.1监控组态软件概述,1组态软件的含义,组态(configuration)有设置、配置等含义,是指在软件领域内,操作人员根据应用对象及控制任务的要求,配置(包括对象的定义、制作和编辑,对象状态特征属性参数的设定等)用户应用软件的过程,即使用软件工具对计算机及软件的各种资源进行配置,达到让计算机或软件按照预先设置自动执行特定任务、满足使用者要求的目的,也就是把组态软件视为“应用程序生成器”。,2组态软件的特点组态软件最突出的特点是实时多任务。它包括数据采集与输出、数据处理与算法实现、图形显示及人机对话、实时数据的存储、检索管理、实时通信等,这些任务要在同一台计算机或者多台计算机上同时运行。组态软件是数据采集与过程控制的专用软件,它们是在自动控制系统监控层一级的软件平台和开发环境,能以灵活多样的组态方式(而不是编程方式)提供良好的用户开发界面,其预设置的各种软件模块可以非常容易地实现和完成监控层的各项功能,并能同时支持各种硬件厂家的计算机和I/O产品,与工控计算机和网络系统结合,可向控制层和管理层提供软、硬件的全部接口,进行系统集成。,3常见的组态方式,1)系统组态2)控制组态3)画面组态4)数据库组态,5)报表组态6)报警组态7)历史组态8)环境组态,4.4.2Kingview与动态数据交换,“组态王”支持动态数据交换(DDE),能够和其他支持动态数据交换的应用程序方便地交换数据。通过DDE,用户可以利用PC机丰富的软件资源来扩充“组态王”的功能,比如用电子表格程序从“组态王”的数据库中读取数据,对生产作业执行优化计算,然后“组态王”再从电子表格程序中读出结果来控制各个生产参数;可以利用VisualBasic开发服务程序,完成数据采集、报表打印、多媒体声光报警等功能,从而很容易组成一个完备的上位机管理系统;还可以和数据库程序、人工智能程序、专家系统等进行通信。,4.4.3Kingview与下位机通讯,作为上位机,Kingview把那些需要与之交换数据的设备或程序都作为外部设备。在Kingview安装过程中需安装外部I/O设备的驱动程序,如图4-4所示。,外部设备包括:下位机,如PLC、智能仪表、模块、板卡等,它们一般通过串行口、PCI总线和上位机交换数据;其他Windows应用程序一般通过DDE交换数据;若组态软件在网络上运行,则外部设备还包括网络上的其他计算机。只有在定义了外部设备之后,组态王才能通过I/O变量和它们交换数据。在开发过程中用户可以根据“设备配置向导”的提示一步步完成连接过程。在运行期间,组态王通过驱动程序和这些外部设备交换数据,如图4-5所示。,4.5虚拟仪器软件LabVIEW,4.5.1虚拟仪器概述,1虚拟仪器的概念,用软件构造的,“看得见、摸不着、断电即逝”,既是PC机又是仪器的“仪器”又称为“虚拟仪器”。包含实际仪器使用、操作信息的软件与PC机结合构成的仪器,就称之为虚拟仪器。或者说,虚拟仪器是指具有虚拟仪器面板的PC机仪器,它由PC机、一系列功能化硬件模块和控制软件组成。,虚拟仪器由仪器物理硬件、硬件接口和计算机上运行的虚拟仪器软件三部分构成,如图4-7所示。仪器硬件部分可由数据采集卡、GPIB接口、串并行接口、VIX接口、LAN接口、现场总线接口等构成,它们的主要功能是完成对被测信号的采集、传输和显示测量的结果;虚拟仪器的软件是核心、关键部分,用于实现对仪器硬件通信和控制,对信号进行分析处理,对结果表达和输出。,2虚拟仪器的基本结构,3虚拟仪器的特点,1)软件是虚拟仪器的核心2)虚拟仪器的性价比高3)虚拟仪器的出现缩小了仪器厂商与用户之间的距离4)虚拟仪器具有良好的人机界面5)虚拟仪器具有和其它设备互联的能力6)虚拟仪器的硬、软件都具有开放性、模块化、可重复使用及互换性等特点,4虚拟仪器的软件,在虚拟仪器系统中,硬件仅仅是解决信号的输入输出问题的方法和软件赖以生存、运行的物理环境,软件才是整个仪器的核心构件,任何使用者只要通过调整或修改仪器的软件,便可方便地改变和增减仪器的功能和规模,甚至仪器的性质。在很大程度上,虚拟仪器系统能否成功地运行,就取决于虚拟仪器的软件。虚拟仪器的软件可以分为几个层次,其中包括仪器驱动程序、应用程序和软面板程序。,虚拟仪器的软件开发平台目前主要有两类:第一类是基于传统语言的C、VisualBsaic、VisualC+、Delph等,第二类是基于图形组态和编程的图形组态软件,如HP公司的VEE、HEM公司的Snap-Master、IOtech公司的Dasylab、等,美国国家仪器公司(NI)作为测试领域最知名的公司之一,LabWindowsCVI
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年变态的iq测试题及答案
- 2025年复杂环境停车测试题及答案
- 2025年兽医职业考试题型及答案
- 2025年注塑技工考试试题及答案
- 2025年重大机械面试题及答案
- 2025年发展民宿面试题及答案
- 2025年管理班级的面试题及答案
- 2025年金融类面试题及答案
- 2025年专利级别考试试题及答案
- 2025年概率论期末试题及答案
- 强读和弱读-(课堂)课件
- 裕兴新概念英语第二册笔记第42课
- 管理高尔夫实战训练课程课件
- 输电线路工程导线压接技术培训
- 《变电站二次回路》By:国网技术学院-2018年版
- 网络舆情监测与研判全书电子教案正本书课件全套ppt最全教学教程电子讲义
- 2022年义务教育语文课程标准(2022版)解读【新课标背景下的初中名著阅读教学质量提升思考】
- 班级管理(第3版)教学课件汇总全套电子教案(完整版)
- 耐压测试仪点检记录表
- 幼儿园绘本故事:《花婆婆》
- 碘-淀粉比色法测定淀粉酶活力
评论
0/150
提交评论