1、3、系统软件3.1 组态王软件介绍本系统采集控制软件选用中国本土软件厂商北京亚控科技发展有限公司生产的,国内最早的商用组态软件“组态王” 。截止到 2009 年底, “组态王”已在国内装机量有 10 万套,成功地应用于我国工业领域的各行各业,例如石油、化工、电力、冶金、造纸、橡胶、环保、机械制造等等,在中国使用的监控软件中,组态王拥有国内最多的用户。像国外众多的软件一样,组态王软件也经过了一个发展例程:1995 年组态王 V1.01996 年组态王 V1.21997 年组态王 V1.511998 年组态王 V2.01999 年组态王 V5.12000 年组态王 V5.1 for Interne
2、t2001 年组态王 V6.0、组态王电力专业版 6.02002 年组态王 V6.022003 年组态王 V6.52005 年组态王 V6.512006 年组态王 V6.522007 年组态王 V6.53下面介绍组态王通用强大的功能。3.1.1 基本人机界面功能 通过本功能完成画面组态。1.快速便捷的应用设计 用组态软件构造“监控和数据采集系统”的好处之一就是能大大缩短开发时间,并能保证系统的质量。能快速便捷地进行图形维护和数据采集是此类系统的关键点。组态王正是提供了丰富的快速应用设计的工具。(1)方便实用的工程管理 组态王 6.53 提供方便实用的管理工具工程管理器。工程管理器是一个独立的可
3、执行文件,用来管理本机的所有组态王工程,可以实现工程的压缩备份,备份恢复,数据词典的导出导入,实现开发和运行系统的切换等。(2).集成的开发环境 最新设计的组态王工程浏览器为用户提供了便利的集成开发环境。工程设计者可以在工程浏览器中查看工程的各个部分,可以查看画面、数据库、配置通讯驱动程序、设计报表;可以完成系统的大部分配置。工程浏览器采用树形结构,操作简单方便,容易接受。在工程浏览器中,用户也可以方便地切换到组态王开发环境和运行环境。(3).功能强大、易用的绘图工具 目前用简单的示意性图形已经不足以表示工业现场复杂的生产过程,用户普遍要求更加丰富多彩、生动逼真的画面。为满足此要求,组态王提供
4、了丰富的绘图工具,并尽可能使绘图工具的使用方法容易掌握。组态王工具箱中提供的绘图工具包括直线、折线、圆弧、矩形(方形) 、圆角矩形、圆形(椭圆)等工具。它们的使用方法与一般绘图软件(如“画笔” )大致相同,设计者不需专门的培训即可使用。(4).灵活的便捷菜单 使用组态王的过程中,用户可以随时按下鼠标右键来得到上下文相关的快捷菜单。这种方式比普通的菜单命令更容易使用,将大幅度地提高开发应用系统的效率。(5).支持无限色和过渡色 组态王 6.53 调色板改为支持无限色,支持二十四种过渡色效果,组态王的任一种绘图工具都可以使用无限色,大部分图形都支持过渡色效果,巧妙地利用无限色和过渡色效果,可以使您
5、轻松构造面无限逼真、美观的画面。(6).图形对象丰富的动画效果 图形界面上的任何对象或复合对象都可以随着过程参数的改变而变换状态,以产生动画效果。图形对象与过程参数建立变化对应关系的过程称为“动画连接” 。图形对象可以按动画连接的要求改变颜色、尺寸、位置、填充百分比等属性。一个图形对象可以同时定义多个连接。把这些动画连接组合起来,应用软件将呈现出令人难以想象的图形动画效果。图形对象可以进行的“动画连接”包括:属性变化:包括线属性、填充属性、文本色位置与大小变化:包括水平和垂直移动、缩放、旋转、填充值输出:包括模拟值输出、离散值输出、字符串输出用户输入:包括模拟值输入、离散值输入、字符串输入滑动
6、杆输入: 包括水平滑动杆输入、垂直滑动杆输入特殊:包括闪烁、隐含两种命令语言连接:包括鼠标或等价键按下时、弹起时和按住时可执行的功能强大的命令语言程序提示文本:每个基本图素都可以定义一个提示信息条动画连接的定义非常简单。以旋转连接为例,设计者只需给出旋转的偏转角度和对应的过程参数的数值即可。定义的全过程都反映在一个简单的对话框中。(7).动画连接向导 通过可视化图形操作,直接完成移动、旋转的动画连接定义。(8).图形界面 “监控和数据采集系统”必须有易于使用的图形界面。当今的应用系统变得越来越复杂,操作者希望系统能提供容易理解而且灵活可靠的操作方式。设计者也希望能有快速而强大的系统开发工具。数
7、千次成功的工程实践证明,组态王正是这样一种能满足多数设计者需要的系统开发工具。(9).大画面和导航图 一个复杂的工艺流程有时很难在一个屏幕大小的画面上体现出来,如果分开为多个画面,则首先是不能体现工艺流程的完整性,其次在操作和浏览上造成不便。组态王 6.53 支持大画面和导航图,设计者可以将画面制作成 4 个 1024X768 屏幕大小的画面,通过画面的滚动条或导航图来选择浏览的画面部分。(10).方便快捷的变量替换 组态王 6.53 中,提供了多种变量替换方式,可以在工程的不同范围如整个工程或画面中使用不同的替换方式进行变量替换。变量替换方式可以有:变量使用替换、变量名称替换、站点名称替换和
8、外来变量替换。替换的范围可以选择整个工程、画面组、画面或画面组中的图素。(11).画面管理功能 面对大量纷繁复杂的画面和变量列表,要找到一个想要使用的画面或变量实属不易。在组态王 6.53 中,不但提供了对设备列表、和变量列表的排序按照列表项的排序功能,而且还提供了变量的查找功能、画面按照名称、画面描述或画面文件名称的排序功能,画面的查找功能。为方便画面管理,提供了画面分组管理功能。用户可以创建 9 层,每层256 个画面组的组列表。在画面组间可以进行画面的复制、移动和粘贴。2.丰富的可扩充的图形库 设计者利用系统提供的图库,可以轻松构造自己需要的图形。(1).大量的标准工业元件 组态王系统内
9、部提供了一个全新的庞大的图形库,包含了大量预先建立好的组合图形对象,比如控制按钮、指示表、阀门、电机、泵、管路和其他标准工业元件。图库中的元素称为“图库精灵” ,使用“图库精灵”将极大地加快应用系统的构造。(2).面向对象的设计 图形库中的对象之所以称为“图库精灵” ,因为它不仅仅是一组图形,更包含了丰富的动画连接。一个图形精灵实际上就是一个已定义对象全部条件的小型应用,它包括以下这些内容(对不同的精灵略有不同):组成精灵的图形对象、触发动画效果的过程参数(变量) 、动画连接。设计者可以简单地从图库中取出图库精灵并放到自己的应用中,并按照需要的大小缩放它,图库精灵任意缩放也不会失真。图库精灵可
10、作为一个整体来修改属性(包括动画连接) ,修改的全过程都在一个简单的对话框中完成。(3).扩展图库 为满足不同行业用户的需要,图库被设计成可扩充的。设计者可以创建图库精灵,把它们加入到图库中去,或者把不再需要的精灵从图库中删除。设计者还可以创建新的图库。创建一个新的图库精灵非常简单:在画面上绘制精灵的外观,定义所有的动画连接,选择好对象,最后用菜单命令创建精灵,并把它放入图库。另外,组态王 6.53 提供功能:用户绘制图形,定义好动画连接后,可以生成关于图形的描述程序,通过编制程序,动态控制图形外观。创建一个新的图库也同样简单,只需使用菜单命令并输入新图库的名称。设计者自己定义的图库精灵,其使
11、用方法与系统定义的精灵相同。3.对多媒体的支持 组态王 6.53 进一步完善了对多媒体的支持。充分利用这些特性,用户可以设计出更容易被接受和使用的人机界面。(1).嵌入图片 组态王可以嵌入各种各样格式的图片,例如BMP、GIF、JPG、JPEG、PNG 等。图形的颜色仅受显示系统的限制(不局限于 256 色) 。图形大小可根据需要任意调整。对于位图,支持透明操作。用户可以指定位图中的任一种颜色透明。经过透明处理后,位图中这种颜色的地方可以显示出背景图像。对于 gif 格式的图形,支持原有的动画效果,用户可轻松构造符合自己需要的画面效果。使用嵌入的图片后,设计者的画面将更加生动逼真。(2).使用
12、声音 组态王的 PlaySound 函数用于直接播放一个声音文件(.WAV) ,您可以根据需要在任意时刻调用它。比如作为语音报警。组态王的DisplayMCI 函数提供了对多媒体设备的一个通用接口,具有强大的控制能力。您甚至可以用它播放一段电影(VCD) 。例如在一工业控制系统中显示来自摄象机的实时视频图象,并且通过组态王控制摄象机云台的运动。下面的例子演示播放 CD 唱片中第 3 支歌曲的命令语言。 13DisplayMCI( “PLAYCD“, 3 );停止播放 CDDisplayMCI( “STOPCD“, “ );播放背景音乐 MIDI 格式DisplayMCI( “PLAYMIDI“
13、, “c:midi.mid“ );注意:播放声音需要有声卡、扬声器等硬件设备的支持。(3).播放动画 组态王具有播放动画的控件,用户可以使用此控件来播放AVI 动画。用 AVI 动画制作的画面更加引人注目。(4).支持视频采集设备 支持视频采集设备是组态王的一个强大功能。利用视频采集设备可以进一步加强对生产现场的监控。组态王通过视频采集控件,可以把视频头采集来的图象在运行画面上实时播放,组态王 6.53 可对画面进行拍摄和摄像,以供事后分析,另外,组态王还支持多通道云台设备,并且可以控制云台的动作。4.灵活简便的变量定义和管理 设计者在数据库中定义过程参数和其他变量。变量的类型有:内存离散变量
14、内存整数变量内存实数变量内存字符串变量I/O 离散变量I/O 整数变量I/O 实数变量I/O 字符串变量结构变量其中,IO 变量用于和外部采集元件连接,也用于和其他应用程序交换数据。内存变量主要用来存放中间结果。组态王在系统运行过程中维护一个实时数据库,数据库中存放所有变量的最新数据。通过检测变量值的变化,组态王改变图形对象的状态并跟踪报警的发生。(1).基于结构的变量 在许多应用系统中,用户需要定义大量变量,而这些变量往往具有相同属性。为方便用户快速、成批地定义这种变量,组态王 6.53新增支持结构变量功能。结构模板可以嵌套,模板下面包含的成员无需再定义,可以直接引用,从而使工程人员可以快速
15、完成画面组织。(2).变量分组管理 为了便于用户管理和维护系统的变量,组态王 6.53 支持变量分组管理。将变量分组,主要作用是免除当系统有大量的变量时,给用户查找、修改变量带来的诸多麻烦。通过变量组,用户可按照不同的需要将变量放到不同的组中,查找、修改时只需在变量组中进行就可以了,大大缩小了查阅的范围,方便了用户。(3).多选变量修改属性 当定义很多变量后,修改变量的属性成了问题,如果一个个的重新定义变量的属性,会花去设计者很多宝贵的时间,特别是对于修改相同属性的变量来说,更是一件让人头痛的事情。组态王 6.53 提供了多选变量修改变量共同属性的功能,设计者可以在数据词典中任选多个变量,选择
16、修改属性快捷菜单,就可以在弹出的一个变量属性对话框里修改选中变量的共同属性。(4).变量统计与刷新 工程中共用了多少变量、变量都在哪里被使用了、哪些变量没有被使用都是每一个工程人员关心的问题。组态王提供了变量使用报告和变量更新计数等功能。方便的提供了变量的各种使用信息。5.强大的控制语言 利用组态王可以快速构造一个完善的“监控和数据采集系统” ,但是每个工程系统又具有特殊性,需要一些细致的调整和扩充的功能。组态王命令语言是集成在组态王系统内部的简便、但功能强大的编程语言。它的作用就在于扩充应用系统的功能,以及对应用系统进行最精确的控制。(1)简便易学的语法 组态王命令语言非常简便易学。它的语法
17、是 C 语言的一个子集,任何了解或不了解 C 语言的开发者都可以迅速地掌握。组态王命令语言使用的算符包括数学算符和逻辑算符。命令语言内部支持顺序执行、条件分支和循环结构,可以用来开发完整的程序。组态王系统中所有的命令语言程序都在对话框中书写。为方便开发者,在对话框中可以查看算符、所有变量和函数。(2).丰富的内部函数 命令语言程序的强大功能是通过函数来实现的。组态王内部函数可以按功能分为:字符串函数:对字符串进行分析、查找、替换、截取以及字符串和数值之间的转换数学函数:三角函数、对数和指数函数等系统函数:文件操作、取系统信息以及控制其他应用程序的函数控件函数:通过此类函数可以改变控件的外观和行
18、为SQL 函数:通过此类函数和 ODBC 数据库交换信息其他函数:操作历史曲线、报警窗口、画面的函数、打印函数等利用这些函数,可以方便地实现配方管理、统计分析、曲线打印等功能,还可以灵活控制历史趋势曲线、报警窗口等对象。(3).方便的自定义函数、自定义结构变量和使用临时变量 为降低用户编写命令语言的难度,用户可将重复使用的功能编写成可重复调用的自定义函数。用户可以自己定义各种类型的函数,通过这些函数能够实现工程特殊的需要。自定义函数是利用类似 C 语言来编写的一段程序,通过其他命令语言来调用,从而实现工程的特殊需要。如:计算、公用的命令语言功能块等。在命令语言中可以按照已经定义的结构定义自定义
19、结构类型变量,其结构变量的成员与原成员相同,具有相同结构的结构变量可以互相赋值。自定义结构变量属于局部变量,作用域只为当前的命令语言。在命令语言中可以自定义临时使用的局部变量,供程序使用,随时定义,随时使用,不计算在点数内。(4).命令触发机制 设计者可以指定执行命令语言的条件,以使对系统的控制更加灵活。根据执行条件的不同,命令语言可以分为:应用程序命令语言:在应用系统启动、退出时执行或在系统运行期间定时执行。事件命令语言:当事件发生时、存在时、消失时执行(事件是指一个给定的条件) 。数据改变命令语言:在给定变量的值发生改变时执行。热键命令语言:当操作者按下热键后执行。自定义函数命令语言:当自
20、定义函数在其它命令语言中被调用时执行。画面命令语言:在画面加载、存在、关闭时执行。动画连接命令语言:连接的图素被鼠标单击时,在鼠标按下、按住过程中、或弹起时执行。报警预置自定义函数:报警产生、确认、恢复,或鼠标双击报警窗中的报警信息时自动调用。控件事件函数:控件的事件被触发时调用。6.采集和显示历史数据(1).分组形式的数据采集保证重要变量的采集优先级 在工程中,总会有一些关键变量需要优先采集。组态王中对此制定了分组采集的策略。以每 55 毫秒为一个级别,优先级越高的变量保证了采集次数,如一个定义采集频率为 110毫秒的变量和一个定义为 220 毫秒的变量相比,在后一个变量采集一次的情况下,前
21、一个变量必须保证两次采集。对于变量要求同时采集的情况,组态王中对于属于同一结构成员的连接在同一设备的结构变量以最小采集频率进行同时采集。组态王 6.53 采用了性能更稳定、技术更先进的高速历史库。其特点是存储、查询速度快,占用空间小,采用先进的存储机制,避免了因为系统异常而导致丢数据的可能。网络间历史数据的传输也采用数据流的形式,保证了数据保存的完整性。(2).分布式历史数据库 组态王是一个真正基于网络的分布式处理系统。支持分布式数据库。在网络中,每一台数据采集站从工业现场采集的数据,都传送到历史数据服务器上,网络上的所有其他站点直接访问历史数据服务器。分布式数据库的访问方式对用户是透明的。控
22、制工程师不必了解复杂的网络协议,可以直接得到网络其他计算机上的历史数据,如同使用本地数据一样。(3).历史数据的记录方式 压缩的数据记录:组态王将定时采集的过程参数记入历史数据库,为避免相同数据的重复记录,组态王采用一种压缩的数据记录方式。这种方式最大程度地减少了数据的冗余,而且丝毫不会损失数据信息量。采用压缩的数据记录方式,在相同的系统规模下,减少了系统开销,节约了系统投资。记录方式:组态王数据记录有两种方式:第一是数据变化记录,只要数据发生变化的幅度超过定义的阈值,就进行记录。第二是按指定的时间间隔记录历史数据,适用于数据变化慢的场合。(4).实时和历史趋势曲线 趋势曲线能以图形方式观察一
23、段时间内的过程状态和趋势。应用系统中可以定义数目不限的趋势曲线窗口,而一个趋势曲线窗口可同时显示多个过程参数,由于基于事件驱动数据交换技术和紧凑高效的结构,组态王的趋势曲线能精细地描绘出过程值的每次变化。实时趋势曲线适合于“在线”观察过程参数的变化,曲线窗口也会自动卷动以显示最新数据。历史趋势曲线将用于查看过程参数的所有数据,曲线窗口不会自动翻卷,如果需要,可以通过操作按钮来实现。(5).自定义显示格式 设计者可以设定趋势曲线的显示格式,趋势曲线通过按钮操作,完成翻卷、统计功能。数据曲线还可以任意缩放,以满足灵活查阅的需要。组态王 6.53 中大大简化了趋势曲线的定义工作。用户只需输入变量的名
24、字,调整个别参数,即可完成趋势曲线定义工作。(6).开放的数据库编程接口 为了最大限度地开发历史数据资源,组态王提供历史数据库的编程接口。这个接口采用动态连接库(DLL)的方式给出,任何 Windows 下的编程语言(VC+、VB 等)都可以方便的调用。这样,开发者就可以编写出自己的数据处理过程,增强系统的功能。(7).全新的灵活多样、操作简单的内嵌式报表 数据报表是对生产过程中变量状态的记录和反映,它以一定格式输出用户指定的变量状态信息、生产产品情况,比如某生产车间的班次产品生产情况报表、产品月报表等就是一种数据处理报表。组态王以两种方式提供数据报表:利用组态王集成的报表系统生成各种形式的报
25、表和利用组态王的历史数据库编程接口和 DDE 数据交换生成 Excel 报表。.组态王集成的报表系统组态王提供一套全新的、集成的报表系统,内部提供丰富的报表函数,例如:日期和时间函数、逻辑函数、统计函数等,用户可创建多样的报表。用户可以根据工程的需要任意改变报表的外观。提供报表工具条,操作简单明了,对于表格的行列数设定、行列合并和拆分、边框和图案的设定、文本和变量数值的输出都可以通过简单的定义来完成。报表能够进行组态,例如有日报表、月报表、年报表、实时报表的组态,操作简单,功能齐全。例如:日报表的组态只需用户选择需要的变量和每个变量的收集间隔时间。另外,提供报表模板,方便用户调入其它的表格。.
26、用 EXCEL 生成报表Excel 是 Windows 下最为流行的电子表格程序,功能非常强大。利用组态王提供的历史数据库编程接口和 DDE 数据交换,应用系统中的数据可以方便地在 Excel 中形成报表及产品报告。操作者可以充分利用 Excel 的功能以不同方式对历史数据进行分析,绘制图表并打印输出。分析后的结果还可以通过 DDE 传回来。(8). 配方管理 在制造领域,配方用来描述生产一件产品所用的不同配料之间的比例关系,是生产过程中一些变量对应的参数设定值的集合。例如,一个面包厂生产面包时有一个基本的配料配方,此配方列出所有要用来生产面包的配料成份表(如水,面粉,糖,鸡蛋,香油等) ,另
27、外,也列出所有可选配料成份表(如水果,果核,巧克力片等) 。组态王为这些需要配方的工程项目提供了全面的配方管理。用户可以在开发系统中定义配方的组成。用户也可以自己编写配方模板文件。例如在系统运行过程中,操作者可以根据实际的需要调用不同的配方。调用方式是通过命令语言中简单的函数来实现的。组态王的配方管理函数是标准命令语言函数的扩展,可以被用于任何形式的命令语言中,通过这些函数用户可以对已有的配方模板文件进行选择、修改、调用、插入、删除等操作。3.1.2 强有力的安全管理系统 对于可能有不同类型的用户共同使用的大型复杂应用,必须解决好授权与安全性的问题,系统必须能够依据用户的使用权限允许或禁止其对
28、系统进行操作。1.优先级和安全区 组态王采用分级和分区的双重保护策略。应用系统中的每一个可操作元素都可以被指定保护级别(最大 999 级)和安全区(最多 64个) ,还可以指定变量和热键命令语言的安全区。对应地,设计者可以指定操作者的操作优先级(最大 999 级)和工作安全区(最多 64 个) 。在系统运行时,若操作者优先级小于可操作元素的访问优先级,或者工作安全区不在可操作元素的安全区内时,可操作元素是不可访问或操作的。安全区功能在工程中使用广泛,在控制系统中一般包含多个控制过程,同时也有多个用户操作该控制系统。为了方便、安全地管理控制系统中的不同控制过程,组态王引入了安全区的概念。将需要授
29、权的控制过程的对象设置安全区,同时给操作这些对象的用户分别设置安全区,例如工程要求 A 工人只能操作车间 A 的对象和数据,B 工人只能操作车间 B 的对象和数据,组态王中的处理是:将车间 A 的所有对象和数据的安全区设置为包含在 A 工人的操作安全区内,将车间 B 的所有对象和数据的安全区设置为包含在 B 工人的操作安全区内,其中 A 工人和 B 工人的安全区不相同。2.用户分组管理 系统采用用户标识符和口令来区别和保护操作者。每一个操作者将获得唯一的用户标识符和口令,非法使用者不能进入系统。对于访问和操作系统的所有用户,组态王实行分组管理。设计者可以根据工程管理的方便,将用户分成若干个组来
30、管理,可以配置用户组的公共安全区,方便操作。3.安全管理系统应用 安全系统应用包括以下两部分:安全系统组态和登录。安全系统组态允许设计者:定义用户组、用户名和口令等;定义安全区名;定义用户的优先级和安全区;定义变量的写安全区;定义可操作对象的操作优先级和操作安全区;定义执行热键命令语言的优先级和安全区;登录。操作员通过输入用户名和口令登录系统,登录完成后,只有在操作员的优先级大于可操作对象的访问优先级,并且操作员的安全区在可操作对象的安全区内时,才可以访问和操作可操作对象。若两者有一个不满足,则操作者不能访问可操作对象。对于变量的输入,只要操作者的安全区在变量的可操作安全区内,就可以改变变量的
31、值。操作优先级大于 900 的操作者可作为系统的管理员。系统管理员负责管理操作者,包括增加、删除操作者,修改他们的组名、标识符、口令、操作优先级和安全区等。4.操作记录 用户经常需要收集并记录系统各种各样的信息,以便监视和分析系统的历史运行。组态王可以记录数据系统发生的各种事件,如发生的报警、完成的操作、系统登录情况、操作变量值等。组态王运行时将自动记录什么人,何时,进行了什么操作。记录数据可写入记录文件(*.al2) 、ODBC 数据库或者直接送到打印机上。下图是一写入记录文件的操作记录例子。3.1.3 强大的通讯能力 组态王目前能连接 PLC、智能仪表、板卡、模块、变频器等几百种外部设备。
32、支持设备之多之广可与国外优秀同类软件相媲美。组态王通过驱动程序和这些工控设备通讯,所有的驱动程序存在于一张光盘上,在用户购买组态王时作为附件免费提供。组态王的大部分驱动程序采用组件(COM)技术,使通讯程序和组态王构成一个完整的系统。这种方式既保证了运行系统的高效率,也使系统能够达到很大的规模。组态王同时保留了 DDE 通讯方式。这种通讯方式在早期的 Windows 版本中有比较广泛的应用。一些应用软件需要通过这种方式和组态王通讯。组态王支持 OPC 协议,即可以作为 OPC 服务器,也可作为 OPC 客户。1.通讯驱动程序自动向导 组态王软件系统与最终用户使用的具体的 PLC或现场部件无关。
33、对于不同的硬件设施,只需为组态王配置相应的通信驱动程序即可。组态王对驱动程序进行了重新设计,使驱动程序的配置更加方便。控制工程师可以把每一台下位机看作一种设备,他不必关心具体的通讯协议,只需要在组态王的设备库中选择设备的类型,然后按照“设备配置向导”的提示一步步完成安装即可。2.高效的数据采集 作为关键技术之一,组态王对通讯程序做了多种优化处理,尽量使通讯瓶颈对系统的影响最小,同时保证数据传递的及时和准确。组态王采取的优化措施包括:变量分组采集的策略:以每 55 毫秒为一个级别,优先级越高的变量采集的次数越多,保证关键变量的采集,如一个定义采集频率为 110 毫秒的变量和一个定义为 220 毫
34、秒的变量相比,在后一个变量采集一次的情况下,前一个变量必须保证两次采集。对于变量要求同时采集的情况,组态王中对于属于同一结构成员的,且连接在同一设备上的结构变量以成员变量的最小采集频率对所有成员进行同时采集。动态优化的通讯方式:组态王对全部通讯过程采取动态管理的方法,如果变量没有定义历史记录或报警,则只有在数据被上位机需要时才进行采集;对于那些暂时不需要更新的数据则尽可能减少通讯。这种方式可以大大缓解串口通讯速率慢的矛盾,提高系统的效率。例如,用户为一台 OMRON PLC 定义了 1000 个 I/O 变量,但在某一时刻,显示画面上的动画连接、历史记录、报警、命令语言等,可能只使用了 100
35、0个 I/O 变量中的一部分,这部分变量(称之为活动变量)必须是实时采集的;而其他 I/O 变量不会对系统产生影响。在这种情况下,组态王经过动态优化,在本次数据采集中将只采集活动变量。当系统中 I/O 变量个数显著增加时,这种通讯方式可以保证数据采集周期不会有很大的变化。需求合并:组态王把对一个设备的多种通讯请求(动画显示、历史数据记录、报表生成等)尽可能的合并,一次采集的数据将满足多个功能模块的需要。尽量打包:大多数的下位机都支持多个数据一次采集完成。组态王充分利用了这个特性,对于提供这种通讯功能的下位机,组态王将尽可能地把需要采集的变量进行优化组合,在一次采集过程中得到大量有效数据。这种优
36、化方式也有效地减少了通讯的次数。3.强大的硬件测试功能和完善的检测手段 为保证用户对硬件的方便使用,在完成设备配置与连接后,组态王 6.53 开发环境中可以对硬件设备进行测试。即在不启动运行系统的情况下,能完成对硬件设备的读写操作。设计者就可以在开发时根据设备通讯情况随时修改各项通讯参数,能大大减少调试设备的时间。测试的设备包括:串口设备、板卡设备和 OPC 设备。同时,组态王 6.53 新增加对硬件设备的检测方法,即新增时间戳和质量戳两个变量域,能检查对于每个采集的变量点其采集时间和采集是否正常,当数据采集时,质量戳和时间戳作为变量的域,在开发中,设计者可以通过硬件设备测试方式进行观察,在系
37、统运行时,用户可以直接通过动画连接进行观察。时间戳将伴随着每次采集时间的不同而变化。质量戳将显示每次采集的通讯质量。4.故障诊断与恢复 故障的诊断与恢复是组态王的重要特色。在工业现场中,由于通讯故障而引起的损失可能是非常巨大的,为了将这种损失降为最小,组态王精心优化了通讯故障的诊断机制,可以在极短的时间(12 个采集周期)内报告故障的发生,并诊断出出现故障的下位机,非常有助于现场工程师及时排除险情。组态王的自动恢复功能是指:当下位机被更换或恢复运行后,不需要现场工程师对软件系统作任何干预,组态王通过短时间的尝试后,可以自动恢复与下位机的通讯。自动恢复功能对于保障系统可靠运行是非常必要的。当一台
38、下位机发生故障时,组态王会自动优化通讯链,使与其他下位机之间的通讯几乎不受影响,保证了通讯的高效率。5.支持远程拨号和无线采集数据 组态王 6.53 中新增加对 MODEM 支持的功能,即利用 MODEM 拨号实现组态王与远程设备的通讯功能。在开发系统中直接定义 MODEM 设备,并通过对 MODEM 的寄存器的定义,完成组态王的变量与 MODEM 寄存器的连接,通过对 MODEM 变量的操作,来完成对MODEM 的操作。6.支持使用 GPRS 与设备进行通讯 GPRS 具有通信速度快、通信费用低、 组网灵活等特点。GPRS 数传终端,具有 TCP/IP 协议转换功能不需要用户提供TCP/IP
39、 的支持。可适用于所有带串口的终端设备,通过 GPRS 网络平台实现数据信息的无线和透明传输,为不具备 TCP/IP 协议处理的终端设备提供了 GPRS 通信的能力。目前组态王已经支持以下厂商的 GPRS DTU 设备:深圳宏电、深圳倚天、厦门桑荣、唐山蓝迪、北京艺能、北京汉智通、台湾尉普、爱立信、福建实达等。7.可扩充的设备库 组态王的驱动程序采用了组件(COM)技术,组态王提供了驱动程序的开发包,使用这套开发工具,用户或第三方软件供应商可以很方便地为新设备开发驱动程序,不断扩充组态王支持的设备库。3.1.4 先进的报警和事件管理 完善的“监控和数据采集系统”应当能检测到非正常状态的发生,并
40、将报警信息按照正确的顺序登录到数据库,并且不能丢失任何数据,以便事后对它们进行分析。组态王是通过报警和事件这两种情形来通知操作人员过程的活动情况。组态王的事件驱动的报警方式和紧凑高效的结构使得报警信息可以被完整地记录,即使突然发生大量的报警也不会遗漏。报警是过程状态出现问题时发生的警告,同时要求操作人员做出响应。组态王报警系统全新改版,具有方便、灵活、可靠、易于扩展的特点。组态王分布式报警管理提供多种报警管理功能。包括:基于事件的报警、报警分组管理、报警优先级、报警过滤、新增死区和延时概念等功能,以及通过网络的远程报警管理。事件说明了系统的正常状态信息,不要求操作人员响应。除报警事件外,组态王
41、还可以记录应用程序事件和操作员操作信息。报警和事件具有多种输出方式:文件、数据库、打印机和报警窗。1.真正基于网络的报警系统 组态王 6.53 的报警系统是真正基于网络的分布式报警系统,在设定为报警服务器的站点上产生所有的报警。其他任何站点都可作为客户端,直接浏览报警服务器中的报警信息。2.报警和事件的产生 报警的定义:变量的报警设置在定义变量时完成,设计者可以方便地查看和修改。丰富的报警条件:报警条件的丰富反映了组态王处理报警信息的灵活性。组态王一共为模拟变量和长整型变量设计了 3 类 7 种报警条件,为离散变量设计了 3 种报警条件。模拟型变量和长整型变量:越限报警高高、高、低、低低四种报
42、警限;偏差报警大、小两种偏差报警限;变化率报警。离散型变量:变量值开、关或改变;报警输出文本可以自由定义,对模拟量和长整型变量的越限报警和偏差报警增加了延时和死区概念。每个变量的任意多种报警条件可以并存,根据每种条件检测到的报警信息都会被记录下来,而不会彼此掩盖。报警可以分组管理,每个报警均可以定义其所属的报警组和优先级。报警分类:报警组和报警优先级。为方便报警信息的管理,组态王引入报警组和报警优先级的概念。在定义变量的报警条件时,设计者可以同时定义变量所归属的报警组,比如,把“反应车间”内使用的所有变量(过程参数)归属于“反应车间”报警组。当操作者查看报警信息时,可以指定要查阅的报警组“反应
43、车间” ,以单独显示“反应车间”内变量的报警情况。报警组是由设计者定义的。报警组按照“树”形结构组织,这种模型非常符合实际的工业生产状况。操作者还可以按照优先级方式查阅报警信息。变量的报警优先级(最多999 级)也和报警条件同时定义。当操作者指定一个值后,只有那些优先级高于此值的变量才能显示它们的报警信息。事件的定义:操作模拟量和离散量时会生产事件信息记录到报警中,定义变量时选择是否生成事件。用户可以根据生成的信息追忆系统的操作情况。组态王设计了七种事件信息:恢复事件:发生报警后,若变量变化不再产生报警或产生新类型报警,则产生恢复事件。确认事件:确认一个或多个报警时产生的事件。操作员登录事件:
44、操作员登录时产生的事件。操作员注销事件:自动或手动注销当前登录的操作员时产生的事件。应用程序事件:是指非操作员操作,例如命令语言、DDE、OPC 等改变数据时产生的事件。操作事件:是指操作员操作,例如修改变量值或变量域时产生的事件。工作站事件:指工作站启动或退出时产生的事件。3.报警和事件的输出 组态王系统中报警和事件的输出提供四种形式:报警窗口、文件、数据库和打印机。利用报警窗口,操作者不但能及时查阅报警信息,而且可以确认报警、删除报警、更改报警类型、事件类型、操作员、报警优先级、报警组、站点名和服务器名。当操作者利用报警窗口做修改时,报警信息连同操作者的名称和操作过程同时记录下来,以便事后
45、追忆和分析。窗口操作有三种方式:带图标快捷按钮操作、窗体上单击鼠标右键操作和键盘操作。报警文件:按照用户定义的格式,系统将报警信息记录到报警文件(*.al2)中。记录的报警信息可以包括如图所示的内容:同时用户还可以详细记录登录事件和操作事件到文件中。用户可以指定文件存储的时间,编辑报警文件,并进行打印等操作。数据库:按照用户定义的格式,系统将报警事件、登录事件、操作事件信息记录到用户预先定义好的数据库中,如 Access、 SQL Server 等。用户可以同时指定操作数据库的用户和口令,保证数据库的安全性。打印机:按照用户定义的格式,系统将报警事件、操作事件和登录事件信息送到打印端口,实时打
46、印出来,如下所示实时打印内容:报警时间:1 时 5 分 15 秒 210 毫秒 变量名:num3 报警值:1. 限值:5. 报警类型 :低低 质量位:192报警日期:05/2/8 事件类型:报警 报警组:厂级 事件类型: 工作站启 工作站时间 :9 时 5 分 13 秒 机器名: 化工站点操作时间:1 时 5 分 49 秒 事件类型: 应用程序 成功标志: 成功 变量名:sw1 变量注释 : 新值:1. 域名:值 旧值:0. 操作日期 :01/2/8登录日期:05/2/8 登录时间 :9 时 5 分 38 秒 操作员 :用户组一成员二 事件类型:登录进入 成功标志 :成功 机器名:化工站点事件
47、类型: 工作站启 工作站时间 :9 时 17 分 37 秒 机器名: 化工站点 事件类型: 工作站退 工作站时间 :9 时 17 分 37 秒 4.用户自定义报警命令语言函数 组态王中提供了三个报警预置自定义函数,分别为实型变量、整型变量、离散变量的自定义函数。当相应数据类型的变量(无论是 IO 或内存变量)产生报警、报警确认或报警恢复,或者操作人员在运行系统的报警窗口中双击某一条报警、报警确认或报警恢复信息时,系统会自动调用相应的函数。设计者可以在每个函数中编写自己的命令语言程序,实现报警相关的事件产生时的一系列动作。如有时候需要将产生报警的变量的相关信息记录到报表中保存,设计者可以在预置自
48、定义函数中获取报警产生的时间,报警的变量名称,当时变量的值等信息,然后将这些信息写到组态王的报表中进行打印或保存。5.Email、短消息服务程序 对于无人职守的数据采集站点,或重要的数据、报警信息要及时通知相关工程人员,传统的技术无法实现这些要求。随着互连网、电信技术的迅速发展,这些技术在工控行业中应用越来越广泛。组态王6.53 提供了 Email 和短消息发送功能,其中短消息还具有接收功能与手机短信基本相同。EmaiL 功能模块与组态王之间是类似于驱动程序的关系,与组态王建立无缝连接,其中提供邮件服务器、收件人地址、发件人地址、用户名、密码、邮件标题、邮件内容等项目,用户可以自由设置,也可以
49、利用手动或自动的方式发送邮件,适用与各种网络模式。短消息通过定义各种所需项目,如发送时间、接收对象、发送内容等,可以发送给指定人员。比如设计者可以做一个命令语言,当特殊的报警产生时,给相关人员发送 Email。6.控制变量报警使能 组态王 6.53 中提供了一个变量的报警使能域AlarmEnable。通过改变该域的值可以控制组态王变量是否产生报警。从而可以减少一些试验阶段不必要的报警信息。3.1.5 广泛的数据获取和处理 一般地,工业现场的设备构成的控制网络负责完成自动控制的功能,保证工厂的运行,但它难于让工厂操作和管理人员看到生产过程的实际运行状况。组态王能够很好地解决这一问题,它将数据从不同的数据源取过来,并直观、形象地显示出来,供操作和管理人员操作和分析。在组态王的开放式结构中,系统可以与广泛的数据源交换数据,如 IO 驱动程序,ODBC 数据库,OPC 服务器,动态数据交换( DDE) , ActiveX 控件等,同时可以将数据以趋势曲线、报表等形式显示出来。1.I/O 驱动程序 组态王提供广泛的