4  计算机控制系统中的软件

在一个计算机控制系统中,除了硬件(计算机、传感器、执行机构等)外,软件也是一个非常重要的部分。控制系统的硬件电路确定之后,其主要功能将依赖于软件来实现。对同一个硬件电路,配以不同的软件,它所实现的功能也就不同,而且有些硬件电路功能可以用软件来实现。

研制一个复杂的计算机控制系统,软件研制的工作量往往大于硬件,可以认为,计算机控制系统设计,很大程度上是软件设计。因此,计算机控制系统设计人员必须掌握软件设计的基本方法和编程技术。

一、控制系统应用软件的功能及功能模块

(一)控制应用软件的功能

1数据输入/输出功能

过程数据输入/输出是测控软件的基本功能之一。数据输入包括来自现场的各种数据转换值、读数值、状态值等,以及来自控制台的各种输入值(如设定值、报警限等)。数据输出包括送往现场的控制量、控制逻辑信号以及送往控制台的各种指示信号。

即使是最简单的测控软件,也具备数据采集功能和参数报警功能。

2 回路控制功能

回路控制是测控软件最重要的功能之一。计算机测控系统的基本任务和周期性任务就是根据设定值与现场测量值获得偏差信号,由偏差信号经一定控制算法获得输出控制量,并将该控制量送往执行器,通过调节物料流量或能量,使控制对象的被控量逼近系统的目标值(设定值)。由于信号的输入、输出构成了一个环路,且控制过程是周期性的,因此称之为回路控制。一个系统有多少个控制点就有多少个控制回路,检测点的数目至少等于控制回路的数目。

3画面显示功能

不同的测控系统所要求的显示画面是不同的。但画面的种类大体包括总貌显示画面、棒图显示画面、细目显示画面、实时趋势画面、历史趋势画面、报警画面、回路控制画面、参数总表画面、操作记录画面、事故追忆画面及工艺流程画面等。

4报表功能

报表的种类是多种多样的,不同的测控系统、不同的用户对报表的格式有不同的要求。但根据报表的打印启动方式来看,主要有定时报表、随机报表和条件报表等。时报表、班报表、周报表、月报表及年报表均可视为定时报表,定时报表在定时时间到点时由系统自动打印输出。随机报表可由操作人员随时启动报表打印输出;条件报表则只有条件满足时由系统自动启动打印操作,如出现某个事故或报警信号时,自动打印有关数据。

5系统生成功能

专用的测控软件一般不具有系统生成功能,而一个通用的测控软件往往具有系统生成功能。系统生成功能即系统组态功能,主要包括数据库生成、历史数据库生成、图形生成、报表生成、顺序控制生成及连续控制生成等诸多子系统。

6通信功能

运行在单机控制系统的测控软件一般不具有通信功能,即使有通信功能,也只是为扩充系统所做的考虑。运行在多机系统的测控软件必须具有通信功能。多机控制系统往往又是二级或多级控制系统。上位机与上位机之间一般采用通用的网络通信,如以太网、TCPIP等。上位机与下位机之间一般都采用RS-485总线式通信网络或具有实时性的通信网络及其协议,以确保控制功能的实时性和可靠性。

7其它功能

控制策略:为控制系统提供可供选择的控制策略方案。

数据存储:存储历史数据并支持历史数据的查询。

系统保护:自诊断、断电处理、备用通道切换和为提高系统可靠性、维护性采取的措施。

数据共享:具有与第三方程序的接口,方便数据共享。

应该指出,并非每项功能都是任何测控软件所必需的,有的测控软件可能只需要其中的几项功能。

(二)控制应用软件的功能模块

目前,在计算机控制系统中,控制软件除控制生产过程之外,还对生产过程实现管理,根据控制软件的功能,一个工业控制软件应包含以下几个主要模块。

1数据采集及处理模块

实时数据采集程序主要完成多路信号(包括模拟量、开关量、数字量和脉冲量)的采样、输入变换、存储等。数据处理程序包括:数字滤波程序,用来滤除干扰造成的错误数据或不宜使用的数据;线性化处理程序对检测元件或变送器的非线性用软件补偿;标度变换程序把采集到的数字量转换成操作人员所熟悉的工程量;数字信号采集与处理程序对数字输入信号进行采集及码制之间的转换,如BCD码转换成ASC码等;脉冲信号处理程序对输入的脉冲信号进行电平高低判断和计数;开关信号处理程序判断开关信号输入状态的变化情况,如果发生变化,则执行相应的处理程序;数据可靠性检查程序用来检查是可靠输入数据还是故障数据。

2控制模块

控制算法程序是计算机控制系统中的一个核心程序模块,主要实现所选控制规律的计算,产生对应的控制量。它主要实现对系统的调节和控制,它根据各种各样的控制算法和千差万别的被控对象的具体情况来编写,控制程序的主要目标是满足系统的性能指标。常用的有数字式PID调节控制程序、最优控制算法程序、顺序控制及插补运算程序等。还有运行参数设置程序,对控制系统的运行参数进行设置。运行参数有采样通道号、采样点数、采样周期、信号量程范围、放大器增益系数、工程单位等。

3 监控报警模块

将采样读入的数据或经计算机处理后的数据进行显示或打印,以便实现对某些物理量的监视;根据控制策略,判断是否超出工艺参数的范围,计算机要加以判别,如果超越了限定值,就需要由计算机或操作人员采取相应的措施,实时地对执行机构发出控制信号,完成控制,或输出其它有关信号,如报警信号等,确保生产的安全。

4系统管理模块

首先用来将各个功能模块程序组织成一个程序系统,并管理和调用各个功能模块程序;其次用来管理数据文件的存储和输出。系统管理程序一般以文字菜单和图形菜单的人-机界面技术来组织、管理和运行系统程序。

5数据管理模块

这部分程序用于生产管理部分,主要包括变化趋势分析、报警记录、统计报表、打印输出、数据操作、生产调度及库存管理等程序。

6-机交互模块

-机交互模块分为两部分:人机对话程序,包括显示、键盘、指示等程序;画面显示程序,包括用图、表及曲线在CRT屏幕上形象地反映生产状况的远程监控程序等。

7 数据通信模块

数据通信程序是用于完成计算机与计算机之间、计算机与智能设备之间大信息传递和交换。它的主要功能有:设置数据传送的波特率(速率);上位机向下位机(数据采集站)发送指令,命令相应的下位机传送数据;上位机接收下位机传送来的数据。

二、控制应用软件的开发工具

简化的计算机控制系统结构可分为两层,即I/O控制层和操作控制层。I/O控制层主要完成对过程现场I/O处理并实现直接数字控制(DDC);操作控制层则实现一些与运行操作有关的人机界面功能,与之有关的控制软件编写常采用以下3种开发工具:一是采用机器语言、汇编语言等面向机器的低级语言来编制;二是采用CVisual BasicVisual C++等高级语言来编制;三是采用监控组态软件来编制。

1面向机器的语言

机器语言是一种CPU指令系统,也称为CPU的机器语言,它是CPU可以识别的一组由01序列构成的指令码。用机器语言编制程序,就是从所使用的CPU的指令系统中挑选合适的指令,组成一个指令序列。这种程序可以被机器直接理解并执行,速度很快,但由于它们不直观、难记、难以理解、不易查错、开发周期长,现在只有专业人员在编制对于执行速度有很高要求的程序时才采用。

为了降低编程者的劳动强度,人们使用一些用于帮助记忆的符号来代替机器语言中的01指令,使得编程效率和质量都有了很大的提高。由这些助记符号组成的指令系统,称为汇编语言。汇编语言指令与机器语言指令基本上是一一对应的。因为这些助记符号不能被机器直接识别,所以汇编语言程序必须被编译成机器语言程序才能被机器理解和执行。编译之前的程序被称为源程序,编译之后的程序被称为目标程序

汇编语言与机器语言都是因CPU的不同而不同,所以统称为面向机器的语言。使用这类语言,可以编出效率极高的程序,但对程序设计人员的要求也很高。他们不仅要考虑解题思路,还要熟悉机器的内部结构,所以一般人很难掌握这类程序设计语言。

用汇编语言编写的程序代码针对性强,代码长度短,程序执行速度快,实时性强,要求的硬件也少,但编程繁琐,工作量大,调试困难,开发周期长,通用性差,不便于交流推广。

2高级语言

常用的面向过程语言有CBASICPascal等。使用这类编程语言,程序设计者可以不关心机器的内部结构甚至工作原理,把主要精力集中在解决问题的思路和方法上。这类摆脱了硬件束缚的程序设计语言被统称为高级语言。高级语言的出现是计算机技术发展的里程碑,它大大地提高了编程效率,使人们能够开发出越来越大、功能越来越强的程序。

随着计算机技术的进一步发展,特别是像Windows这样具有图形用户界面的操作系统的广泛使用,人们又形成了一种面向对象的程序设计思想。这种思想把整个现实世界或是其中一部分看成是由不同种类对象组成的有机整体。同一类型的对象既有共同点,又有各自不同的特性。各种类型的对象之间通过发送消息进行联系,消息能够激发对象做出相应的反应,从而构成了一个运动的整体。采用了面向对象思想的程序设计语言就是面向对象的程序设计语言,当前使用较多的面向对象的语言有Visual BasicVisual C++Java等。

高级语言通用性好,编程容易,功能多,数据运算和处理能力强,但实时性相对差些。

在计算机发展过程的早期,应用软件的开发大多采用汇编语言。在工业过程控制系统中,目前仍大量应用汇编语言编制应用软件。由于计算机技术的发展,工业控制计算机的基本系统逐渐与广泛使用的个人计算机兼容,而各种高级语言也都有各种I/O口操作语句,并具有对内存直接存取的功能。这样,就有可能用高级语言来编写需要进行许多I/O操作的工业控制系统的应用程序。从许多成功的应用来看,用高级语言开发工业控制和检测系统的应用程序,其速度快,可靠性高,质量好。

汇编语言和高级语言各有其优点和局限性。在程序设计中,应发挥汇编语言实时功能强、高级语言运算能力强的优点,所以在应用软件设计中,一般采用高级语言与汇编语言混合编程的方法,即用高级语言编写数据处理、数据管理、图形绘制、显示、打印、网络管理等程序;用汇编语言编写时钟管理、中断管理、输入/输出、数据通信程序等实时性强的程序。

3组态软件

组态软件是一种针对控制系统而设计的面向问题的开发软件,它为用户提供了众多的功能模块,例如控制算法模块(如PID)、运算模块(如四则运算、开方、最大/最小值选择、一阶惯性、超前滞后、工程量变换、上下限报警等数十种)、计数/计时模块、逻辑运算模块、输入模块、输出模块、打印模块、CRT显示模块等。系统设计者只需根据控制要求,选择所需的模块就能十分方便地生成系统控制软件。

监控组态软件是标准化、规模化、商品化的通用开发软件,只需进行标准功能模块的软件组态和简单的编程,就可设计出标准化、专业化、通用性强、可靠性高的上位机人机界面监控程序(HMI系统),且工作量较小,开发调试周期较短,对程序设计员要求也低一些。因此,监控组态软件是性能优良的软件产品,将成为开发上位机监控程序的主流开发工具。

工业控制软件包是由专业公司开发的现成控制软件产品,它具有标准化、模块组合化、组态生成化等特点,通用性强,实时性和可靠性高。利用工业控制软件包和用户组态软件,设计者可根据控制系统的需求来组态生成各种实际的应用软件。这种开发方式极大地方便了设计者,他们不必过多地了解和掌握如何编制程序的技术细节,只需要掌握工业控制软件包和组态软件的操作规程和步骤,就能开发、设计出符合需要的控制系统应用软件,从而大大缩短了研制时间,也提高了软件的可靠性。

在软件技术飞速发展的今天,各种软件开发工具琳琅满目,每种开发语言都有其各自的长处和短处。在设计控制系统的应用程序时,究竟选择哪种开发工具,还是几种软件混合使用,这要根据被控对象的特点、控制任务的要求以及所具备的条件而定。

三、监控组态软件概述

随着工业自动化水平的迅速提高,计算机在工业领域的广泛应用,人们对工业自动化的要求也越来越高,种类繁多的控制设备和过程监控装置在工业领域的应用,使得传统的工业控制软件已无法满足用户的各种需求。在开发传统的工业控制软件时,当工业被控对象一旦有变动,就必须修改其控制系统的源程序,导致其开发周期长;已开发成功的工控软件又由于每个控制项目的不同而使其重复使用率很低,导致它的价格非常昂贵;在修改工控软件的源程序时,倘若原来的编程人员因工作变动而离去时,则必须由其他人员或新手进行源程序的修改,因而难度很大。

监控组态软件的出现为解决上述实际工程问题提供了一种崭新的方法,因为它能够很好地解决传统工业控制软件存在的种种问题,使用户能根据自己的控制对象和控制目的任意组态,完成最终的自动化控制工程。

随着计算机软件技术的发展,计算机控制系统的组态软件技术的发展也是非常迅速,可以说是到了令人目不暇接的地步。特别是图形界面技术、面向对象编程技术(OOP)、组件技术(COM)的出现,使原来单调、呆板、操作麻烦的人机界面变得面目一新。目前,除了一些小型的应用需要开发者自己编写应用程序,凡属大中型的应用,最明智的办法应该是选择一个合适的监控组态软件。

本书选取计算机控制领域常用的监控组态软件KingView作为控制系统开发软件。

KingView(即组态王)是目前国内具有自主知识产权、市场占有率相对较高的组态软件,其应用领域几乎囊括了大多数行业的工业控制。 

(一)组态软件的含义

在使用工控软件时,人们经常提到组态一词。与硬件生产相对照,组态与组装类似。如要组装一台计算机,事先提供了各种型号的主板、机箱、电源、CPU、显示器、硬盘及光驱等,我们的工作就是用这些部件拼凑成自己需要的计算机。当然软件中的组态要比硬件的组装有更大的发挥空间,因为它一般要比硬件中的部件更多,而且每个部件都很灵活,因为软件都有内部属性,通过改变属性可以改变其规格(如大小、形状、颜色等)。

组态(Configuration)有设置、配置等含义,就是模块的任意组合。在软件领域内,是指操作人员根据应用对象及控制任务的要求,配置用户应用软件的过程(包括对象的定义、制作和编辑、对象状态特征属性参数的设定等),即使用软件工具对计算机及软件的各种资源进行配置,达到让计算机或软件按照预先设置自动执行特定任务、满足使用者要求的目的,也就是把组态软件视为应用程序生成器

组态软件更确切的称呼应该是人机界面(Human Machine InterfaceHMI/控制与数据采集(Supervisory Control And Data AcquisitionSCADA)软件。组态软件最早出现时,实现HMI和控制功能是其主要内涵,即主要解决人机图形界面和计算机数字控制问题。

组态软件是指一些数据采集与过程控制的专用软件,它们是在自动控制系统控制层一级的软件平台和开发环境,使用灵活的组态方式(而不是编程方式)为用户提供良好的用户开发界面和简捷的使用方法,它解决了控制系统通用性问题。其预设置的各种软件模块可以非常容易地实现和完成控制层的各项功能,并能同时支持各种硬件厂家的计算机和I/O产品,与工控计算机和网络系统结合,可向控制层和管理层提供软、硬件的全部接口,进行系统集成。组态软件应该能支持各种工控设备和常见的通信协议,并且通常应提供分布式数据管理和网络功能。对应于原有的HMI的概念,组态软件应该是一个使用户能快速建立自己的HMI的软件工具或开发环境。

在工业控制中,组态一般是指通过对软件采用非编程的操作方式(主要有参数填写、图形连接和文件生成等)使得软件乃至整个系统具有某种指定的功能。由于用户对计算机控制系统的要求千差万别(包括流程画面、系统结构、报表格式、报警要求等),而开发商又不可能专门为每个用户去进行开发。所以,只能是事先开发好一套具有一定通用性的软件开发平台,生产(或者选择)若干种规格的硬件模块(如I/O模块、通信模块、现场控制模块等),然后再根据用户的要求在软件开发平台上进行二次开发,以及进行硬件模块的连接。这种软件的二次开发工作就称为组态。相应的软件开发平台就称为控制组态软件,简称组态软件。组态一词既可以用做名词也可以用做动词。计算机控制系统在完成组态之前只是一些硬件和软件的集合体,只有通过组态,才能使其成为一个具体的满足生产过程需要的应用系统。

(二)采用组态软件的意义

在实时工业控制应用系统中,为了实现特定的应用目标,需要进行应用程序的设计和开发。在过去,由于技术发展水平的限制,没有相应的软件可供利用。应用程序一般都需要应用单位自行开发或委托专业单位开发,这就影响了整个工程的进度,系统的可靠性和其它性能指标也难以得到保证。

为了解决这个问题,不少厂商在开发系统的同时,也致力于控制软件产品的开发。工业控制系统的复杂性,对软件产品提出了很高的要求。要想成功开发一个较好的通用的控制系统软件产品,需要投入大量的人力物力,并需经实际系统检验,代价是很昂贵的,特别是功能较全、应用领域较广的软件系统,投入的费用更是惊人。

在组态软件出现之前,工控领域的用户通过手工或委托第三方编写HMI应用,开发时间长、效率低、可靠性差;或者购买专用的工控系统,通常是封闭的系统,选择余地小,往往不能满足需求,很难与外界进行数据交互,升级和增加功能都受到严重的限制。组态软件的出现,把用户从这些困境中解脱出来,用户可以利用组态软件的功能,构建一套最适合自己的应用系统。

采用组态技术构成的计算机控制系统在硬件设计上,除采用工业PC机外,系统大量采用各种技术成熟的通用的I/O接口设备和现场设备,基本不再需要单独进行具体电路设计。这不仅节约了硬件开发时间,更提高了工控系统的可靠性。

组态软件实际上是一个专为工控开发的工具软件。它为用户提供了多种通用工具模块,用户不需要掌握太多的编程语言技术(甚至不需要编程技术),就能很好地完成一个复杂工程所要求的所有功能。系统设计人员可以把更多的注意力集中在如何选择最优的控制方法,设计合理的控制系统结构,选择合适的控制算法等这些提高控制品质的关键问题上。另一方面,从管理的角度来看,用组态软件开发的系统具有与Windows一致的图形化操作界面,非常便于生产的组织与管理。

由于组态软件都是由专门的软件开发人员按照软件工程的规范来开发的,使用前又经过了比较长时间的工程运行考验,其质量是有充分保证的。因此,只要开发成本允许,采用组态软件是一种比较稳妥、快速和可靠的办法。

组态软件是标准化、规模化、商品化的通用工业控制开发软件,只需进行标准功能模块的软件组态和简单的编程,就可设计出标准化、专业化、通用性强、可靠性高的上位机人机界面控制程序,且工作量较小,开发调试周期短,对程序设计员要求也较低,因此,控制组态软件是性能优良的软件产品,已成为开发上位机控制程序的主流开发工具。

IPC、通用接口部件和组态软件构成的组态控制系统是计算机控制技术综合发展的结果,是技术成熟化的标志。由于组态技术的介入,计算机控制系统的应用速度大大加快了。

(三)组态软件的系统构成

组态软件的结构划分有多种标准,下面以使用软件的工作阶段和软件体系的成员构成两种标准讨论其体系结构

1) 以使用软件的工作阶段划分

从总体结构上看,组态软件一般都是由系统开发环境(或称为组态环境)与系统运行环境两大部分组成。系统开发环境和系统运行环境之间的联系纽带是实时数据库,三者之间的关系如图4-1所示。

4-1 系统组态环境、系统运行环境和实时数据库三者之间的关系

1) 系统开发环境。

它是自动化工程设计工程师为实施其控制方案,在组态软件的支持下进行应用程序的系统生成工作所必需依赖的工作环境。通过建立一系列用户数据文件,生成最终的图形目标应用系统,供系统运行环境运行时使用。

系统开发环境由若干个组态程序组成,如图形界面组态程序、实时数据库组态程序等。

2) 系统运行环境。

在系统运行环境下,目标应用程序被装入计算机内存并投入实时运行。系统运行环境由若干个运行程序组成,如图形界面运行程序、实时数据库运行程序等。

组态软件支持在线组态技术,即在不退出系统运行环境的情况下可以直接进入组态环境并修改组态,使修改后的组态直接生效。

自动化工程设计工程师最先接触的一定是系统开发环境,通过一定工作量的系统组态和调试,最终将目标应用程序在系统运行环境投入实时运行,完成一个工程项目。

一般工程应用必须有一套开发环境,也可以有多套运行环境。在本书的例子中,为了方便,我们将开发环境和运行环境放在一起,通过菜单限制编辑修改功能而实现运行环境。

一套好的组态软件应该能够为用户提供快速构建自己的计算机控制系统的手段。例如,对输入信号进行处理的各种模块、各种常见的控制算法模块、构造人机界面的各种图形要素、使用户能够方便地进行二次开发的平台或环境等。如果是通用的组态软件,还应当提供各类工控设备的驱动程序和常见的通信协议。

2) 按照成员构成划分

组态软件因为其功能强大,且每个功能相对来说又具有一定的独立性,因此其组成形式是一个集成软件平台,由若干程序组件构成。

组态软件必备的功能组件包括如下6个部分。

1) 应用程序管理器。

应用程序管理器是提供应用程序的搜索、备份、解压缩、建立应用等功能的专用管理工具。在自动化工程设计工程师应用组态软件进行工程设计时,经常会遇到下面一些烦恼:经常要进行组态数据的备份,经常需要引用以往成功项目中的部分组态成果(如画面),经常需要迅速了解计算机中保存了哪些应用项目。虽然这些工作可以用手动方式实现,但效率低下,极易出错。有了应用程序管理器的支持,这些工作将变得非常简单。

2) 图形界面开发程序。

它是自动化工程设计人员为实施其控制方案,在图形编辑工具的支持下进行图形系统生成工作所依赖的开发环境。通过建立一系列用户数据文件,生成最终的图形目标应用系统,供图形运行环境运行时使用。

3) 图形界面运行程序。

在系统运行环境下,图形目标应用系统被图形界面运行程序装入计算机内并投入实时运行。

4) 实时数据库系统组态程序。

有的组态软件只在图形开发环境中增加了简单的数据管理功能,因而不具备完整的实时数据库系统。目前比较先进的组态软件都有独立的实时数据库组件,以提高系统的实时性、增强处理能力。实时数据库系统组态程序是建立实时数据库的组态工具,可以定义实时数据库的结构、数据来源、数据连接、数据类型及相关的各种参数。

5) 实时数据库系统运行程序。

在系统运行环境下,目标实时数据库及其应用系统被实时数据库运行程序装入计算机内存,并执行预定的各种数据计算、数据处理任务。历史数据的查询、检索、报警的管理都是在实时数据库系统运行程序中完成的。

6I/O驱动程序。

它是组态软件中必不可少的组成部分,用于I/O设备通信,互相交换数据。DDEOPC客户端是两个通用的标准I/O驱动程序,用来支持DDEOPC标准的I/O设备通信,多数组态软件的DDE驱动程序被整合在实时数据库系统或图形系统中,而OPC客户端则多数单独存在。

组态软件KingView与下位机通讯

1KingView中的I/O设备

作为上位机,KingView把那些需要与之交换数据的设备或程序都作为外部设备(即I/O设备,又称为逻辑设备)。KingView支持的I/O设备包括:可编程控制器(PLC)、智能模块、板卡、智能仪表、变频器等。

KingView设备管理中的逻辑设备分为DDE设备、板卡类设备(即总线型设备)、串口类设备、人机界面卡、网络模块,工程人员根据自己的实际情况通过KingView的设备管理功能来配置定义这些逻辑设备。

    DDE设备是指与KingView进行DDE数据交换的Windows独立应用程序,因此,DDE设备通常就代表了一个Windows独立应用程序,该独立应用程序的扩展名通常为.exe文件,KingViewDDE设备之间通过DDE协议交换数据,如:ExcelWindows的独立应用程序,当ExcelKingView交换数据时,就是采用DDE的通信方式进行的。

板卡类逻辑设备实际上是KingView内嵌的板卡驱动程序的逻辑名称,内嵌的板卡驱动程序不是一个独立的Windows应用程序,而是以DLL形式供KingView调用,这种内嵌的板卡驱动程序对应着实际插入计算机总线扩展槽中的I/O设备,因此,一个板卡逻辑设备也就代表了一个实际插入计算机总线扩展槽中的I/O板卡。KingView根据工程人员指定的板卡逻辑设备自动调用相应内嵌的板卡驱动程序,因此对工程人员来说,只需要在逻辑设备中定义板卡逻辑设备,其它的事情就由KingView自动完成。

串口类逻辑设备实际上是KingView内嵌的串口驱动程序的逻辑名称,内嵌的串口驱动程序不是一个独立的Windows应用程序,而是以DLL形式供KingView调用,这种内嵌的串口驱动程序对应着实际与计算机串口相连的I/O设备,因此,一个串口逻辑设备也就代表了一个实际与计算机串口相连的I/O设备。

人机界面卡又可称为高速通信卡,它既不同于板卡,也不同于串口通信,它往往由硬件厂商提供,如西门子公司的S7-300用的MPI卡、莫迪康公司的SA85卡。通过人机界面卡可以使设备与计算机进行高速通信,这样不占用计算机本身所带的RS-232串口,因为这种人机界面卡一般插在计算机的总线(ISAPCI)插槽上。

2KingViewI/O设备的管理

KingViewI/O设备之间的数据交换采用以下五种方式:串行通信方式、板卡方式、网络节点方式、人机接口卡方式、DDE方式。其它Windows应用程序一般通过DDE交换数据;若组态软件在网络上运行,则外部设备还包括网络上的其它计算机。KingView通过对I/O设备的操作可以实现KingView与其它许多软件的数据交换。

KingView软件系统与工程人员最终使用的具体控制设备或现场部件无关,对于不同的硬件设施,只需为KingView配置相应的通信驱动程序即可。因此要使KingView与外部设备通讯,在KingView安装过程中需安装外部I/O设备的驱动程序,如图4-2所示,在运行期间,KingView通过驱动程序和这些外部设备交换数据。

 

 

 

 

 

 

 

 

 

 

4-2 安装I/O设备KingView驱动程序

KingView对设备的管理是通过对逻辑设备名的管理实现的,具体讲就是每一个实际I/O设备都必须在KingView中指定一个唯一的逻辑名称,此逻辑设备名就对应着该I/O设备的生产厂家、实际设备名称、设备通信方式、设备地址、与上位PC机的通信方式等信息内容(逻辑设备名的管理方式就如同对城市长途区号的管理,每个城市都有一个唯一的区号相对应,这个区号就可以认为是该城市的逻辑城市名,比如北京市的区号为010,则查看长途区号时就可以知道010代表北京)。在KingView中,具体I/O设备与逻辑设备名是一一对应的,有一个I/O设备就必须指定一个唯一的逻辑设备名,特别是设备型号完全相同的多台I/O设备,也要指定不同的逻辑设备名。

KingView的设备管理结构列出已配置的与KingView通讯的各种I/O设备名,每个设备名实际上是具体设备的逻辑名称(简称逻辑设备名,以此区别I/O设备生产厂家提供的实际设备名),每一个逻辑设备名对应一个相应的驱动程序,以此与实际设备相对应。

只有在定义了外部设备之后,KingView才能通过I/O变量和它们交换数据。为方便定义外部设备,KingView设计了设备配置向导指导完成设备的连接。在开发过程中,用户只需要按照安装向导的提示就可以进行相应的参数设置,选择I/O设备的生产厂家、设备名称、通讯方式,指定设备的逻辑名称和通讯地址,完成I/O设备的配置工作,则KingView自动完成驱动程序的启动和通信,不再需要工程人员人工进行。KingView采用工程浏览器界面来管理硬件设备,已配置好的设备统一列在工程浏览器界面下的设备分支。

 

习题与思考题

2-1  计算机实时操作系统有什么特点?

2-2  计算机实时控制系统采用的操作系统有什么特点?

2-3  在计算机控制系统中采用数据库的意义是什么?

2-4  组态软件有哪些功能?有什么特点?

2-5  组态软件常见的组态方式有哪几种?

2-6  工控领域常用的组态软件有哪些?各有什么特点?

2-7  描述组态工控系统的组建过程。

2-8  计算机控制系统中采用的现代软件技术有哪些?

 

1