第 1 次 课 日期 20/2 周次 1 星期 1 学时 2 第1章 工业组态软件及发展 1.1工业组态软件的发展概况 1.1.1工业组态软件的发展过程 一、工业组态软件的发展过程 随着计算机技术突飞猛进的发展,新型的工业组态软件也随之发展起来了。其发展过程主要可归纳为以下几个步骤: (1)20世纪60年代:计算机较少地用于工业过程控制中。 (2)20世纪70年代:很多公司先后推出了新型控制系统。 (3)20世纪70年代:DCS及其计算机控制技术日趋成熟,并出现了丰富的软件,但软件仍是专用和封闭的,且成本居高不下。 (4)20世纪80年代中后期:基于个人计算机的监控系统开始进入市场,并发展壮大。组态软件即是典型的例子。 二、工业组态软件具有广阔的发展空间: 原因如以下几个方面: (1)很多DCS和PLC厂家主动公开通信协议,加入“PC监控”的阵营。 (2)由于PC监控大大降低了系统成本,使得市场空间得到扩大。 (3)各类智能仪表、调节器和现场总线设备可与工业组态软件构筑完整的低成本自动化系统,具有广阔的市场空间。 (4)给类嵌入式系统和现场总线的异军突起,把工业组态软件推倒了自动化系统主要位置,工业组态软件越来越成为工业自动化系统中的灵魂。 三、工业组态软件同时得到用户和DCS厂商的认可的原因: (1)微型计算机操作系统日趋稳定可靠,实时处理能力增强且价格便宜。 (2)微型计算机软件及开发工具非常丰富,使工业组态软件的功能强大,开发周期相应缩短,软件升级和维护也较方便。 四、新型工业控制系统的层次结构 1、新型工业控制系统主要划分为控制层、监控层、管理层。 其中,监控层的作用为:对下连接控制层,对上连接管理层,实现对现场的实时监测与控制,完成上传下达,组态开发的作用。硬件以微机和工作站为主,目前趋向于工业PC机。 2、组态软件的定义 组态软件是指数据采集与过程控制的专用软件,位于监控层一级的软件平台和开发环境中,能以灵活多样的组态方式提供良好的用户开发界面和简捷的使用方法,其预设置的各种软件模块可以非常容易地实现和完成监控层的各项功能,并能支持各种硬件厂家的计算机和I/O设备,与高可靠的工业控制计算机和网络系统结合,可向控制层和管理层提供软、硬件的全部接口,进行系统集成。 组态软件的开发工具以C++为主,也有Delphi或C++ Builder。 1.1.2 工业组态软件的主要特点 工业组态软件为模块化任意组合,主要特点如下: (1)延续性和可扩充性。 (2)封装性(易学易用)。 (3)通用性。 1.1.3 对工业组态软件的性能要求 1.实时多任务 实时性:工业控制计算机系统应该具有的能够在限定的时间内对外来事件作出反应的特性。 在对这个概念的理解上,我们要注意对于“限定的时间内”的理解,主要考虑两个要素: (1)根据生产过程出现的事件能够保持多长的时间; (2)该事件要求计算机在多长的时间以内必须作出反应,否则将对生产过程造成影响甚至损害。 工业控制计算机及监控工业组态软件具有时间驱动能力和事件驱动能力(在按一定的周期时间对所有事件进行巡检扫描的同时,可以随时响应事件的中断请求。 多任务处理能力:能将测控任务分解成若干并行执行的多个任务,加快程序的执行速度。(将某些变化不显著的事件作为顺序执行的任务;把保持时间很短且需要计算机立即作出反应的事件作为中断请求源或事件触发信号,编写专门的程序) 2.高可靠性 要求软件系统的平均无故障时间MTB大于一年。可采用冗余技术构成双机乃至多机备用系统。 实现双机冗余的几种形式: (1)RS485、以太网等总线型通信介质:冗余设备单独配备I/O适配器,直接连入设备网。  (2)RS232等非总线型通信介质:方法一:用转换器将设备网变成总线型网。  方法二:在I/O设备中编制控制程序,如果发现主机故障,马上将通信线路切换到从机。  3.标准化 没有统一的标准,只有用户意识中形成的不成文的标准。 1.2 工业组态软件的系统构成 工业组态软件通过一个应用工程项目或工程项目来标识。通过应用工程项目的 名称来访问其组态内容。 1.使用软件的工作环境:系统开发环境和系统运行环境。 2.工业组态软件的组件功能 3.扩展可选组件 第2和3两部分将结合力控软件在后面作具体介绍。 1.3 工业组态软件的设计思想 1.3.1 概述 工业组态软件主要解决的问题: (1)如何与采集、控制设备间进行数据交换; (2)使来自设备的数据与计算机图形画面上的各元素关联起来; (3)处理数据报警及系统报警; (4)存储历史数据并支持历史数据的查询; (5)各类报表的生成和打印输出; (6)为使用者提供灵活、多变的组态工具,可以适应不同应用领域的需求; (7)最终生成的应用系统运行稳定可靠; (8)具有与第三方程序的接口,方便数据共享。 1.3.2 工业组态软件的设计思想 工业组态软件由组件组成,每一类组件的设计思想如下: 1.图形界面系统 构成现场各过程图形的画面被划分成几类简单的对象,对象具有影响其外观的属性,各对象之间可通过动画连接,各组态软件由脚本语言来扩充其功能。 2.实时数据库系统 保存数据,防止丢失信息。 3.第三方程序接口组件 提供组态软件与第三方程序交互的手段,实现远程数据访问。 4.控制功能组件 面向对象,但不唯一地由事件触发,按照顺序周期地执行。 1.4 组态软件使用方法介绍(运行软件的安装过程进行示范) 1.4.1 力控软件简介 力控监控组态软件是在自动控制系统监控层一级的软件平台,它能同时和国内外各种工业控制厂家的设备进行网络通讯,它可以与高可靠的工控计算机和网络系统结合,便可以达到集中管理和监控的目的,同时还可以方便的向控制层和管理层提供软、硬件的全部接口,来实现与“第三方”的软、硬件系统来进行集成。 力控是运行在Windows98/NT/2000/XP操作系统上的一种监控组态软件。使用力控○R用户可以方便、快速地构造不同需求的数据采集与监控系统。 力控的应用范围广泛,可用于开发石油、化工、半导体、汽车、电力、机械、冶金、交通、楼宇自动化、食品、医药、环保等多个行业和领域的工业自动化、过程控制、管理监测、工业现场监视、远程监视/远程诊断、企业管理/资源计划等系统。 1.4.2 软件安装与启动(现场演示) 1.4.3 软件的组成 力控软件包括:工程管理器、人机界面VIEW、实时数据库DB、I/O驱动程序、控制策略生成器以及各种网络服务组件等,它们可以构成如下的网络系统:  1. 各部分功能介绍 工程管理器(Project Manager) 工程管理器用于创建工程、工程管理等用于创建、删除、备份、恢复、选择当前工程等。 开发系统(Draw) 开发系统是一个集成环境,可以创建工程画面,配置各种系统参数,启动力控其它程序组件等。 界面运行系统(View) 界面运行系统用来运行由开发系统Draw创建的画面,脚本、动画连接等工程。 实时数据库(DB) 实时数据库是力控软件系统的数据处理核心,构建分布式应用系统的基础。它负责实时数据处理、历史数据存储、统计数据处理、报警处理、数据服务请求处理等。 I/O驱动程序(I/O SERVER) I/O驱动程序负责力控与I/O设备的通信。它将I/O设备寄存器中的数据读出后,传送到力控R的数据库,然后在界面运行系统的画面上动态显示。 网络通信程序(NetClient/NetServer) 网络通信程序采用TCP/IP通信协议,可利用Intranet/Internet实现不同网络结点上力控○R之间的数据通信。 通信程序(PortServer) 通信程序支持串口、电台、拨号、移动网络通信。通过力控○R在两台计算机之间,使用RS232C接口,可实现一对一(1:1方式)的通信;如果使用RS485总线,还可实现一对多台计算机(1:N方式)的通信,同时也可以通过电台、MODEM、移动网络的方式进行通信。 Web服务器程序(Web Server) Web服务器程序可为处在世界各地的远程用户实现在台式机或便携机上用标准浏览器实时监控现场生产过程。 控制策略生成器(StrategyBuilder) 控制策略生成器是面向控制的新一代软件逻辑自动化控制软件,采用符合IEC1131-3标准的图形化编程方式,提供包括:变量、数学运算、逻辑功能、程序控制、常规功能、控制回路、数字点处理等在内的十几类基本运算块,内置常规PID、比值控制、开关控制、斜坡控制等丰富的控制算法。同时提供开放的算法接口,可以嵌入用户自己的控制程序。控制策略生成器与力控的其它程序组件可以无缝连接。 2.工程管理器介绍 运行力控软件,结合软件具体介绍: (1)工程管理器菜单 (2)工程管理器工具按钮 1.4.4 应用程序工程开发过程 创建新的应用程序工程的一般过程是:绘制图形界面、创建数据库、配置I/O设备并进行I/O数据连接、建立动画连接、运行及调试。 下图是采集数据在力控各软件模块中的数据流向图:  要创建一个新的应用程序工程,首先为应用程序工程指定工程路径,不同的工程不能使用同一工程路径,工程路径保存着力控生成的组态文件,它包含了区域数据库、设备连接、监控画面、网络应用等各个方面的开发和运行信息。每个机器只能安装一套力控软件,一个典型的应用中往往包含以下几个方面的内容: 1)设备驱动:计算机跟什么样的设备相连(如PLC、板卡、模块、智能仪表),是直接相连还是通过设备供应商提供的软件相连?是什么样的网络? 2)区域数据库:数据库主要将数据库的点参数和采集设备的通道地址相对应,现场的数据处理、量程变换、报警处理、历史存贮等都放到数据库进行,数据库提供了数据处理的手段,同时又是分布式网络服务的核心。 3)监控画面开发:在应用组态中,最重要的一部分是监控画面的制作。现场数据采集到计算机中后,操作人员通过仿真的现场流程画面便可以做监控,开发包括流程图、历史/实时分析曲线、历史/实时报警、生产报表等功能。 4)数据连接:所有的数据通过数据库变量进行动画连接,人机界面HMI里的数据库变量对应区域数据库DB的一个点参数,通过点参数的数据连接来完成和设备通讯的连接的。 1.4.5 系统需求 运行力控时,建议以下的硬件和软件配置: 1、Pentium 100以上的IBM微型机及其兼容机、工控机 2、至少64M内存(RAM) 3、至少100M硬盘 4、VGA或SVGA的各种类型的显示器 5、并行打印口 6、标准鼠标和键盘 7、WINDOWS 98/NT/2000/XP以上操作系统 8、TCP/IP网络通讯协议 第 2 次 课 日期 21/2 周次 1 星期 2 学时 2 第2章 软件环境介绍 (运行软件,结合软件作具体讲述) 开发系统(Draw)是一个集成的开发环境,可以创建工程画面、分析曲线、报表生成,定义变量、编制动作脚本等,同时可以配置各种系统参数,启动力控其他程序组件等。我们说的“组态”就在这里完成,运行系统将开发完的系统进行执行,完成计算机监控的过程。 2.1 开发环境 Draw支持浮动式工具条、鼠标右击操作、下拉菜单、上下文相关帮助等。当首次启动Draw程序时,工具条、工具箱、导航器等自动显示出来。可以选择显示或隐藏这些工具,或把它们移动到其他位置。 当创建一个新的应用程序工程后,首次启动Draw时,有许多菜单或工具处于禁止状态,直到创建一个窗口后这些菜单和工具才处于激活状态 。 2.2 导航器 Draw导航器采用分层的树形结构显示和浏览项目。可浏览到的项目包括:窗口、变量、动作、配置、自定义菜单、实时数据库、配方管理和数据表管理。 导航器可以隐藏,在Draw主窗口内任意浮动或停靠,也可以通过拖曳改变其大小。 1.显示/隐藏导航器 2. 在导航器中漫游 3. 导航器项目 2.3 Draw状态条 状态条中有三个显示区,左边第一个显示区显示Draw的操作状态;中间显示区显示正在编辑图形对象的名称;右边显示区显示系统的当前时间。 2.4 调色板 Draw的调色板支持16.7百万种颜色。 在缺省情况下,调色板提供了一些标准颜色,在第一页到第八页上。用户可以创建自定义颜色,并将自定义颜色装载在调色板上。用户可以任意选择。 2.5 菜单 1. “文件[F]”菜单 2. “编辑[E]”菜单 3. “查看[V]”菜单 4. “工具[D]”菜单 5. “操作[O]”菜单 6. “特殊功能[S]”菜单 7. “窗口[W]”菜单 8. “帮助[H]”菜单 2.6 工具条 Draw工具条为用户频繁进行的一些操作提供了快捷方法。工具条类型包括常用、排列、文本格式和绘画式样工具条。 1. 常用工具条 2. 文本格式工具条 3. 绘画式样工具条 4. Windows控件工具条 2.7 工具箱 Draw工具箱包含了用于创建各种图形对象以及编辑图形的工具。如创建简单图形对象:文本、线、填充体、按钮;复杂图形对象:趋势、报警、历史报表等。 工具箱中工具的列数可以通过系统参数“工具箱列数”来指定。 2.8 右键菜单 右键菜单是Draw为您提供的一个便捷工具。对于Draw中的许多对象包括窗口对象和图形对象,右键菜单中提供了设置对象属性及相关操作的各种命令。 窗口对象的右键菜单 在窗口空白处单击鼠标右键,可以选择其中的一项命令。 图形对象的右键菜单 选中图形对象后,单击鼠标右键,弹出图形对象的右键菜单 文本编辑右键菜单 在Draw中,任何涉及文本编辑的输入框里,用鼠标右键单击文本,弹出文本编辑右键菜单,选择其中的一项命令,可完成文本的剪切、复制、粘贴、删除等操作。 2.9 快捷方式 Draw为您提供了许多鼠标或键盘操作的快捷方式。 例如,对任一图形对象,用鼠标双击图形时,会自动进入动作定义过程。Draw同样支持快捷键。一个命令的加速键显示在该命令的菜单中。例如:新建窗口的快捷键方式是Ctrl+N,剪切的快捷键方式是Ctrl+X,而进入动作定义的快捷键方式是Alt+Enter等等。 2.10 设置开发环境 网格 此项用于设置Draw窗口显示的网格的疏密。其中“宽度”一项设置网格在水平方向上相邻两根竖线之间的距离,单位是像素(宽度范围为3~100);其中“高度”一项设置网格在垂直方向上相邻两根横线之间的距离,单位是像素(高度范围为3~100)。 工具箱列数 此项用于设置Draw工具箱中的工具按钮呈几列显示(此设置修改后,需要重新启动Draw以使修改生效)。 文档自动保存时间 在组态时,文件自动存盘周期,单位是分钟。 滚动条 选中复选框“带滚动条”后,在下次进入组态环境Draw后,工作窗口会显示水平和垂直滚动条,而水平和垂直滚动条的宽度和高度分别在“宽度”和“高度”项中设置,单位为像素数。 对象缺省属性 选中后,对象属性将为上次选中对象属性。 组态保护 用于限制组态用户,只有选中的级别以上的用户可以进入组态环境。 2.11 图形对象 图形对象包括简单图形对象和复杂图形对象。 2.12 窗口 1.创建窗口 2.打开窗口 3.关闭窗口 2.13 创建图形对象 本节描述创建Draw图形对象时使用的命令、工具以及绘制的方法。我们首先介绍几个常用术语: 单击:将光标定位在对象上,按下鼠标左键后立即抬起。 拖曳:将光标定位在对象上,按下鼠标左键,保持按下状态,移动鼠标。 手柄:当创建一个新的图形对象或单击选中一个已创建图形对象后,对象周围包围着若干个小矩形,表示对象处于被选中状态。通过拖曳这些小矩形,可以改变对象的尺寸或形状,我们称这些小矩形为“手柄”。 2.14 编辑图形对象 1.选择图形对象 2.移动图形对象 3.缩放图形对象 4.撤销与重复修改 5.复制图形对象 6.剪切图形对象 7.粘贴图形对象 8.删除图形对象 9.排列图形对象 10.设置图形对象层次 11.控制垂直和水平间距 12.旋转 13.镜像 14.图形对象属性 2.15 子图 子图由若干简单图形对象组成,是用力控○R中的图形开发工具进行绘制,然后打成单元,以任意进行缩放处理,也可以打散单元进行处理。 1.创建子图 2.选用子图 3.子图精灵 2.16初始启动设置 2.17引入工程 2.18 安装包 力控提供一种制作安装包的功能。当用户在某一台PC上安装了力控○R环境,并创建了工程应用,然后利用该功能就可以将力控○R运行环境(不包括开发环境)、工程应用、相关的参数信息及数据,全部压缩处理形成一个可安装的软件包。当用户在其它PC上运行这个软件包时,软件包释放全部数据文件,并自动完成运行环境的安装、系统参数设置、加密锁注册、工程应用安装等过程,并可以设置桌面运行快捷方式、开始菜单运行快捷方式和自动启动方式。 用户启动运行环境后直接进入工程应用的运行。 1.制作安装包 2.对安装包进行安装 第 3 次 课 日期 23/2 周次 1 星期 4 学时 2 第3章 变量 力控软件基本的运行环境分为三个部分,包括HMI(VIEW)人机界面、数据库DB、通讯程序IO/SERVER(见上一章),变量是人机界面软件数据处理的的核心。它是View进行内部控制、运算的主要数据成员,是View中编译环境的基本组成部分,它只生存在View的环境中。 3.1 变量类别 力控支持如下几类变量: (1)窗口中间变量 (2)中间变量 (3)数据库变量 (4)间接变量 (5)系统变量 对每类变量的定义和适用范围作具体阐述。 3.2 变量定义 新建变量定义如下图:  结合该图,讲述定义一个新变量的步骤: 1、激活“特殊功能[F]/ 定义变量”命令。 2、在“变量名”输入框内键入新的变量名。 3、在“数据类型”下拉框中为变量选择一种数据类型。 4、在“变量类别”选择框中为变量选择一种变量类型。 5、如果选定变量类别是“数据库变量”,还要指定数据库的“数据源”及具体点参数。 6、输入定义变量所需要的其它信息。 7、单击“确认”按钮保存输入内容并退出“变量定义”对话框,或单击“保存”按钮保存输入内容。 3.3 变量的位处理 对于数据类型为整型和实型的变量可以按位(BIT)进行读写访问,访问VAR整型变量的16个位,表示方法分别为:VAR.01、?、VAR.16。 举例说明:比如,如果将VAR的值设为2389,则VAR.16、?、VAR.01的值为:0、0、0、0、1、0、01、0、1、0、1、0、1、0、1。 3.4 搜索被引用变量和删除变量 3.4.1 删除变量 若要删除已创建变量,激活Draw菜单命令“特殊功能[S]/删除变量”,出现“删除变量”对话框(结合软件的具体操作讲述) 3.4.2 搜索被引用变量 Draw提供了搜索被引用变量的功能。 若要查询关于变量的全部被引用的情况,激活Draw菜单命令“特殊功能[S]/变量引用导航”,出现“选择变量”对话框(具体演示操作) 。 第 4 次 课 日期 27/2 周次 2 星期 1 学时 2 第4章 实时数据库系统 力控R的实时数据库系统由管理器和运行系统组成,实时数据库将组态数据、实时数据、历史数据等以一定的组织形式存储在介质上。实时数据库运行系统可以完成对生产实时数据的各种操作。 4.1 基本概念 (1)区域 区域是根据生产装置运行的特点将一个生产工艺过程分成几部分,设计时你可以将各部分装置的数据划分在不同的区域内。也可以针对一个工厂级数据来进行管理。例如化工厂的反应工段、公用工程工段、炼油厂的催化裂化工段等,就可以分在不同的区域里。每个力控R数据库系统可以支持多达31个区域。 (2)单元 单元通常是把与一个工艺设备或完成一个工艺目标的几个相连设备有关的点集合在一起,例如一个反应器、锅炉(包括汽包等)、再生器等设备上的监控点都可以分配到一个单元内。力控的许多标准画面是以单元为基础操作的,如:总貌画面就可以按照单元分别或集中显示点的测量值。每个点都必须分配给一个单元,而且只能分配一个单元。 下图展示了数据库中区域、单元和点的关系:  Ann-区域号;Unn-单元号;Pnn-点名。 点类型 点类型是将完成特定功能的一类点。力控○R数据库系统提供了一些系统预先定义的标准点类型,如:模拟I/O点、数字I/O点、累计点、控制点、运算点等;系统也可以创建自定义点类型。 点 在数据库中,系统也以点(TAG)为单位存放各种信息。点是一组数据值(称为参数)的集合。在点组态时定义点的名称。点可以包含标准点参数或者用户自定义参数。 点参数 点参数是含有一个值(整型、实型、字符串型等)的数据项的名称。系统提供了一些系统预先定义的标准点参数,例如:PV、 NAME、DESC等,用户也可以创建自定义点参数。 数据库访问 对数据库的访问采用“点名.参数名”的形式访问点及参数,如“TAG1.PV”表示点TAG1的PV参数,通常PV参数代表过程测量值数据库变量缺省访问的是PV参数。如:访问“TAG1”即表示访问“TAG1.PV”。 本地数据库 本地数据库是指当前的工作站内安装的力控数据库,它是相对网络数据库而言的。 网络数据库 相对当前的工作站,安装在其它网络结点上的力控数据库就是网络数据库,它是相对本地数据库而言的。 数据连接 数据连接是确定点参数值的数据来源的过程。力控数据库正是通过数据连接建立与其它应用程序(包括:I/O驱动程序、DDE应用程序、OPC应用程序、网络数据库等)的通信。数据交互过程。 数据连接分为以下几种类型: 1、I/O设备连接 I/O设备连接是确定数据来源于I/O设备的过程,I/O设备的含义是指在控制系统中完成数据采集与控制过程的物理设备,如:可编程控制器(PLC)、智能模块、板卡、智能仪表等。当数据源为DDE、OPC应用程序时,对其数据连接过程与I/O设备相同。 2、网络数据库连接 网络数据库连接是确定数据来源于网络数据库的过程。 3、内部连接 本地数据库内部同一点或不同点的各参数之间的数据传递过程,即一个参数的输出作为另一个参数的输入。 4.2 数据库管理器DbManager 4.2.1 导航器点表 导航器:显示数据库层次及内容的窗口,它采用树形结构,最多可以形成3层,根部是数据库,其下一层是区域,区域下一层为点类型。 数据库点表:一个二维表格,一行代表一个点,列显示各个点的信息,点信息包括点的参数值,参数设置,数据连接等信息。点表内显示的内容决定于导航器的当前选择。 4.2.2 工具条 分别结合软件上的各按钮、图标等介绍工具条的作用。 4.3 菜单 分别介绍主菜单中各项内容。 4.3.1 点 1.点类型与点参数组态 (1)创建用户自定义点类型 (2)创建自定义点参数 2.点组态 点的相关操作: a.新建点 b.修改点 c.删除点 d.等值化 e.复制粘贴点 f.查找 g.转移区域 点组态: (1)模拟I/O点 (2)数字I/O点 (3)累计点 (4)控制点 (5)运算点 (6)组合点 (7)自定义类型点 4.3.2 工程管理 DbManager提供:引入工程、保存工程、备份工程库、设置工程数据库系统参数、打印工程数据库内容等功能。 引入 引入功能可将其他工程数据库中的组态内容合并到当前工程数据库中。 保存 保存功能可将当前工程数据库的全部组态内容保存到磁盘文件上。 备份 备份功能可将当前工程数据库的全部组态内容及运行记录备份到指定的目录。 数据库系统参数 数据库系统参数控制数据库程序DB的启动方式、运行周期等重要参数。 导入点表 DbManager可将标准CSV格式文件的内容导入到点表中,以便用户用EXCEL等工具编辑完后将数据导入数据库中。 导出点表 DbManager可将点表中的内容输出到标准CSV格式文件,以便用户用EXCEL等工具打开阅读。 打印点表 DbManager支持以表格形式打印数据库组态内容。打印的内容与格式即为DbManager点表的内容与格式。 退出 当组态过程完成时,可执行退出过程。 4.3.3 DbManager工具 DbManager工具包括两项:统计和选项。 统计 DbManager可以从多个角度对组态数据进行统计。 选项 DbManager的选项功能可对其外观、显示格式、自动保存等项进行设置。 4.3.4 数据库状态参数 数据库提供了一组状态参数可供监视。 $ALARMTXT 该参数的数据类型为字符串型,它用于显示数据库当前报警的描述信息。 $ALARM 该参数的数据类型为整型,数值范围:0~3。它表示数据库所有区域当前发生报警(未确认)中的最高优先级值。 $ALARM00...$ALARM30 这31个参数与$ALARM相同,数据类型为整型,数值范围:0~3。它们分别表示数据库从00区域到30区域中当前发生报警(未确认)中的最高优先级值。 $IO_XXXXXX 其中“XXXXXX”代表I/O设备名称。该参数数据类型为整型,数值范围:0~1。值为0时表示I/O设备“XXXXXX”状态正常,值1为时表示I/O设备“XXXXXX”发生故障。 $IO_STATIONTYPE 该参数数据类型为整型,数值范围:0~1。值为1时表示数据库处于“活动”状态,拥有采集和控制权,值为0时表示数据库处于“备用”状态。 第 5 次 课 日期 28/2 周次 2 星期 2 学时 2 第5章 动画连接 5.1 动画连接概述 具体示范连接过程。 特别提示:当创建动画连接时,在连接生效之前,所使用的变量必须被创建。如果直接使用了尚未创建的变量,当“确定”按钮按下时,系统将提示进行定义,并可自动进入变量定义的对话框。 5.2 鼠标相关动作 该类动作分为拖动和触敏动作两类。 5.2.1 拖动 拖动连接使对象的位置与变量数值相连接。变量数值的改变使图形对象的位置发生变化,反之,用鼠标拖动图形对象又会使变量的数值改变。 拖动包括水平与垂直两个方向。 1.如何建立水平拖动 2.如何建立垂直拖动 5.2.2 触敏动作 窗口显示 窗口显示能使按钮或其它图形对象与某一窗口建立连接,当用鼠标点击按钮或图形对象时,自动显示连接的窗口。 5.3 对象的颜色相关动作 与对象颜色相关的动作包括:颜色变化和百分比填充。 5.3.1 颜色变化连接 1.边线变化 边线变化连接是指图形对象的边线颜色随着表达式的值的变化而变化, 2.实体文本变化 实体文本变化连接是指图形对象的填充色或文本的前景色随着表达式的值的变化而变化。 3.条件变化 条件变化连接是指图形对象的填充色或文本的前景色随着布尔表达式的值的变化而改变。 4.闪烁连接 闪烁连接可使图形对象根据一布尔变量或布尔表达式的值的状态而闪烁。闪烁可表现为颜色变化及或隐或现。颜色变化包括填充色、线色的变化。 5.3.2 百分比填充 百分比填充连接可以使具有填充形状的图形对象的填充比例随着变量或表达式值的变化而改变。百分比填充分为垂直填充与水平填充两种。 5.4 对象的尺寸及位置动画连接 可以把变量值与图形对象的水平、垂直方向运动或自身旋转运动连接起来,以形象地表现客观世界物体运动的状态;也可以把变量与图形对象的尺寸大小连接,让变量反映对象外观的变化。目标移动包括垂直、水平和旋转。尺寸动画连接包括高度和宽度动画连接。 5.4.1 目标移动 目标移动是指图形位置随着变量或表达式的值的变化而变化。目标移动分为水平与垂直两个方向上的移动和目标旋转。 5.4.2 尺寸变化连接 尺寸变化连接是指图形对象的尺寸随着变量或表达式的值的变化而变化。尺寸变化包括纵向与横向两个方向上的变化,即高度变化与宽度变化。 5.5 数值输入和输出显示 包括数值输入和数值输出。 5.5.1 数值输入 输入连接可使图形对象变为触敏状态。在运行期间,当鼠标点中该对象或直接按下设定的热键后,系统出现输入框,提示输入数据。输入数据后用回车确认,与图形对象连接的变量值被设定为输入值。 输入连接分为三种:模拟输入、开关输入和字符串输入。 5.5.2 数值输出 数值输出连接能使文本对象(包括按钮)动态显示变量或表达式的值。数值输出连接分为三种:模拟输出、开关输出和字符串输出。 5.6 杂项 在杂项中还有一些动画连接。 第 6 次 课 日期 2/3 周次 2 星期 4 学时 2 第5章 动画连接(续) 动画连接应用实例:(具体演示整个制作过程) 1、油罐液面升降效果 2、油泵、阀门的启停画面 3、制作液面变化的动画效果 4、制作利用滑动输入器控制油罐的液面画面 5、利用旋转仪表控制液位画面 6、油罐油量显示画面 第 7 次 课 日期 3/3 周次 2 星期 5 学时 2 第6章 动作脚本 6.1 动作脚本简介 动作脚本往往是与监控画面相关的一些控制,主要有以下类型: 1) 窗口脚本:可以在窗口打开时执行、关闭时执行或者在存在时周期执行。 2) 应用程序脚本:可以在整个应用启动时执行、关闭时执行或者在运行期间周期执行。 3) 数据改变脚本:当数据发生变化时执行。 4) 键脚本:当按下某一个键时执行指定动作。 5) 条件脚本:当指定的条件发生时执行的动作。 6.1.1 如何选择脚本 动作脚本可以增强对应用程序控制的灵活性。比如,用户可以在按下某一个按钮,打开某个窗口或当某一个变量的值变化时,用脚本触发一系列的逻辑控制、联锁控制,改变变量的值、图形对象的颜色、大小,控制图形对象的运动等等。 所有动作脚本都是事件驱动的。事件可以是数据改变、条件、鼠标或键盘、计时器等。处理顺序由应用程序指定,不同类型的动作脚本决定以何种方式加入控制。 命令型动作脚本包括:窗口、应用程序、数据改变、键和条件等。可以在菜单或者在Draw的导航器中启动命令型动作脚本的定义过程, 6.1.2 脚本编辑器 在Draw中,各种脚本类型所用的脚本编辑器对话框的形式大体相同,我们以键动作脚本为例来说明脚本编辑器的使用。 (具体举例) 6.2 动作脚本类型 6.2.1 图形对象动作脚本 图形对象的触敏性动作脚本可用于完成界面与用户之间的交互式操作,从简单图形(如:线、矩形等)到标准图形(如:趋势、报警记录等)都可以视为图形对象。图形对象包括每一种对象都有一些共同属性和专有属性。比如:所有的图形对象都存在着位置坐标属性;而填充类型的图形对象还有边线颜色或填充颜色等属性。 举例: 1、在Draw中的当前窗口画面中,创建一个矩形对象。 2、双击矩形,进入动画连接对话框,选择“触敏动作-左键动作”,弹出触敏性动作脚本编辑器。 3、在“按下鼠标”脚本编辑器中,填写脚本如下: this.FColor=255; “鼠标按着周期执行”编辑器中,填写脚本如下: a=a+5; “释放鼠标”编辑器中,填写脚本如下: this.FColor=0; 4、单击“确认”按钮(如要求定义变量a ,定义变量a 为中间变量)。 5、在画面上建立一个变量显示对象,显示变量 a 的值。 6、在Draw中将画面“保存”,然后单击“运行”,进入运行系统VIEW下,观看动作效果。 6.2.2 应用程序动作脚本 应用程序动作脚本的作用范围为整个应用程序,可以在这种脚本中调用其他应用程序、完成数值计算等。若要创建应用程序动作脚本,请选择“特殊功能[S]/动作/应用程序”菜单命令。 根据执行条件应用程序动作脚本有三种: 进入程序:在应用程序启动时执行一次。 程序运行周期执行:在应用程序运行期间周期性的执行。周期可以指定。 退出程序:在应用程序退出时执行一次。 具体举例说明。 6.2.3 窗口动作脚本 窗口动作脚本的作用范围为窗口,窗口画面关系的时候,动作脚本就不执行了。若要创建窗口动作脚本,请选择菜单命令“特殊功能[F]/动作/窗口”菜单项。 根据执行条件窗口动作脚本有三种: 进入窗口:开始显示窗口时执行一次。 窗口运行时周期执行:在窗口显示过程中以指定周期执行。 退出窗口:在窗口关闭时执行一次。 6.2.4 数据改变动作脚本 数据改变动作脚本以变量的数值改变作为触发事件。每当变量的数值发生变化时,脚本执行一次。 6.2.5 键动作脚本 键动作脚本以键盘按键的动作作为触发事件。若要创建键动作脚本,选择菜单命令“特殊功能[F]/动作/键”菜单项,出现键动作脚本编辑器: 根据执行条件键动作脚本有三种: 键按下:在键按下瞬间执行一次。 按键期间周期执行:在键按下期间循环执行,执行周期在系统参数里设定。 键释放:在键释放瞬间执行一次。 6.2.6 条件动作脚本 条件动作脚本以变量或逻辑表示式的条件值为触发事件。当条件值为真时、为真期间、为假时和为假期间执行条件动作脚本。 6.4 动作脚本语言 “脚本”的英文叫Script。它是一种解释性的编程语言,是从主流开发编程语言演变而来的,比如C、BASIC、PASCAL等,通常是它们的子集,脚本不能单独运行,比如力控软件的脚本要靠VIEW程序解释执行,脚本可以扩充和增强VIEW程序的功能,使系统更具灵活,根据特殊需要可进行特殊定制,因此二次开发时灵活方便。 注意:动作脚本语言是力控开发系统Draw提供的一种自行约定的内嵌式程序语言。它只生存在VIEW的程序中,通过它便可以作用于实时数据库DB,数据是通过消息方式通知DB程序的,本节介绍该语言的语法及用法。 动作脚本的组成: 动作脚本语言支持赋值、数学运算等基本语法,也可以书写由IF-ELSE-ENDIF等语句构成的带有分支结构的程序脚本。它由以下几个部分组成: 变量和常数:数据运算的最基本单位。 操作符:对数据实施的运算。 表达式:关键字、运算符、变量、字符串常数、数字或对象的组合。表达式可用来执行运算、操作字符或测试数据。 赋值语句:为变量或属性赋值的语句。 条件语句:使用条件语句可以根据指定的条件控制脚本的执行流程。 多分支语句:使用多分支语句可以根据指定的条件控制脚本的执行流程,在根据同一个条件处理多个分支时,它比条件语句更清晰。 循环语句:循环用于重复执行一组语句。 注释:用来解释代码如何工作的附加文本。 函数:软件提供了一些定制好的系统函数,用户也可以自定义函数。 6.4.1 变量和常数 变量的定义和类型参见前面章节,变量是动作脚本的基本组成单位,任何在脚本中应用的变量必须预先定义过,或者在编译环境下直接进行编译,它是构成脚本的基础。 6.4.2 操作符 开发系统提供了基本的赋值、算术运算、逻辑运算等功能,他们是通过操作符来完成的,操作符参数可以是数字或变量。在参数外加括号是可选的,而且操作符名称不区分大小写。 第 8 次 课 日期 6/3 周次 3 星期 1 学时 2 第6章 动作脚本(续) 6.5对象字段属性 对象:就是组成系统的一些基本构件,如窗口,窗口中的图形,配方等。每个对象作为一独立单元,有自身的状态。我们可以通过对象的属性和方法与对象通信,力控的字段属性可以作为对象的一个属性,供动作脚本中使用。 对象命名 要想引用对象的属性或方法,必须能够指明是哪个对象,对象命名是对象的唯一标识。 属性引用 对象有自己的属性和方法,其属性和方法的引用方式不同于普通变量和函数。在引用对象的属性/方法时必须说明为哪个对象,对象的属性可以通过改变其属性字段的值而动态改变, 图形对象名称必须以“#”符号开头。 对象属性字段的引用格式为“#对象名.属性”。 注意: 当在对象动作脚本中引用对象本身属性字段时,可以用“this”代表对象本身,对象属性字段的引用格式为“this.字段名”。 6.6 函数 函数分为系统函数和自定义函数 6.6.1 预设函数 力控的预设函数可以分为两大类,全局函数和对象函数。对象函数是与对象相关的函数,如配方函数,Windows控件函数。全局函数可以直接调用,而对象函数必须按对象属性方法引用规则调用,函数包括如下几类: 数学运算 用于数学计算。 字符串操作 用于字符串截取,类型转换等。 文件操作 用于文件复制,删除等。 设备操作 用于IO设备启停,切换地址等。 系统函数 主要用于画面上图形对象操作。 SQL函数 用于通用数据库操作。 配方函数 参见配方相关章节 WINDOWS控件函数 参见组件相关章节 6.6.2 自定义函数 名称:函数名,必须唯一,不能与已经使用的函数重名,包括自定义函数和系统函数。 返回值类型:可以是实型、整型、字符型,也可以为空即没有返回值。 参数列表:列出了该函数使用的参数以及参数属性。 名称:参数的名称。 类型:参数的数据类型。可以是实型、整型、字符型。 编辑代码:进入到脚本编辑器编辑自定义函数代码,完成所要完成的功能。 引用方式 参数的传递方式:传值方式和传地址方式。 (1)传值方式:调用该函数时,系统生成一个临时变量记录当前参数的数值,同时在函数中调用该参数时实际调用的是该临时变量,也就是说,如果在函数中改变该参数的数值将不会对传入参数起作用,在函数调用返回后参数的数值没有变化。 (2)传地址方式:调用该函数时,参数把其自身的地址传入,在函数体内对该参数的操作相当于对调用参数的操作,调用返回后,函数体内改变的数值生效,传地址方式下不能直接传数值。 注意: 自定义函数命名一定不要和系统函数重名,否则系统会以系统预定义函数为主 传值方式可以使用数值或变量作为参数,例如参数"100"等,而传地址方式必须传入变量。 自定义函数删除前一定要注意是否引用。 示例1: 自定义函数Test有一参数X1,X1在调用前其数值为100,如果自定义函数返回前有语句:"X1= 20;",如果是传值方式,则调用结束后X1的数值是100,保持原来的数值不变,如果是传地址方式,则函数的值是20,在函数体内改变参数的值会对参数本身起作用。 1、传地址: 定义函数名称test,在编辑代码可以进行编辑代码的动作脚本: 创建一个按钮,按钮的左键动作输入li101.pv=test(value),其中value、li101.pv为实型 创建两个文本的模拟输出动画连接,输入变量value、li101.pv,运行时可以看到按下按钮后执行完该函数后,VALUE和li101.pv的值就自动加10。 2、传值: 同样是上面的函数,改为传值方式,同样执行后, li101.pv的值就自动加10,而value的值没有变化。 示例2: 功能:在4个参数中求最大值,代码如下: //Function name: PMax //Parameters: X1, X2, X3, X4 if(X2 > x1) then x1 = x2; endif if(X3 > x1) then x1 = x3; endif if(X4 > x1) then 6.7 调试脚本 当您保存或从脚本编辑器中返回时,脚本编辑器对脚本程序进行语法检查和编译。当发现语法错误时,会发出警告提示。 第 9 次 课 日期 7/3 周次 3 星期 2 学时 2 第7章 分析曲线 趋势曲线一般横坐标为时间,纵坐标为变量或表达式的值。可以像处理其它图形对象那样指定趋势图位置,尺寸,颜色,同时可以对趋势图显示的时间范围,数值范围,网格数量,颜色,刻度数,采样周期,趋势笔进行指定,每个趋势图最多能显示八支笔。 7.1 实时趋势 实时趋势是变量的实时值随时间变化而绘出的变量-时间关系曲线图。使用实时趋势可以察看某一个数据库点或中间点在当前时刻的状态,而且实时趋势也可以保存一小段时间的数据趋势,这样使用它就可以了解当前设备的运行状况,整个车间当前的生产情况。 实时趋势图由以下几部分构成:标题、边框、网格、趋势曲线、游标、时间标记、数值标记、数值显示、当前系统时间等。 7.2 历史趋势 历史趋势是根据保存在实时数据库中的历史数据随历史时间变化而绘出的二维曲线图。历史趋势引用的变量必须是数据库型变量,并且这些数据库型变量所连接的数据库点参数必须已经指定保存历史数据。 历史趋势由以下几部分构成:标题、边框、网格、趋势曲线、游标、时间标记、数值标记、数值显示、当前系统时间等。 7.3 变量组 在实际应用中,工艺操作人员习惯上将相互有关联的工位号(即“位号”)的测量值放在一起进行观察、分析。力控○R提供变量组的概念,它允许最多将8个变量定义成一组,并在历史趋势、其它标准图形中按变量组进行显示或操作。 7.4 X-Y曲线 X-Y曲线是Y变量的数据随X变量的数据变化而绘出的关系曲线图。其横坐标为X变量,纵坐标为Y变量。 创建X-Y曲线 在工具箱中选择X-Y曲线按钮,在窗口中点击并拖拽到合适大小后释放鼠标。 X-Y曲线组态 双击X-Y曲线对象,弹出“X-Y曲线设置”对话框 标题:输入X-Y曲线的标题。点击右面的“颜色”调色板按钮出现调色板,在调色板中选择标题文字的颜色。 数据源:生成X-Y曲线的X和Y变量可以是各种变量(中间变量、窗口中间变量、DB变量)。如果是DB变量,需要在此下拉框中指定变量引用的数据源。 曲线样式:指定生成X-Y曲线的曲线形式,可以是连线形式或不连线形式(离散点形式)。 初始时间范围:这个对话框指定X-Y曲线初始运行的时间长度。 初始扫描周期:这个对话框指定X-Y曲线初始运行的时间单位。 长度指定/说明:定义X-Y曲线说明文字的字符显示长度。 长度指定/变量:定义X-Y曲线变量名的字符显示长度。 长度指定/数据:定义X-Y曲线变量数值的字符显示长度。 字体:单击此按钮,出现“字体”对话框,可指定X-Y曲线中文字显示的字体。 “分隔线”页中包括下列各项: X轴/分隔线数:指定X轴坐标的刻度数。右面的调色板按钮用来指定X轴坐标的刻度线的颜色。 X轴/每隔 列分隔一个标签:指定X轴坐标每隔几个刻度显示一个数值标记。右面的调色板按钮用来指定X轴坐标的数值标记颜色。 Y轴/分隔线数:指定Y轴坐标的刻度数。右面的调色板按钮用来指定Y轴坐标的刻度线的颜色。 Y轴/每隔 行分隔一个标签:指定Y轴坐标每隔几个刻度显示一个数值标记。右面的调色板按钮用来指定Y轴坐标的数值标记颜色。 具体举例说明。 第 10 次 课 日期 9/3 周次 3 星期 4 学时 2 第8章 数据报表 数据报表是工业生产中不可缺少的统计工具,它能将生产过程中的各类信息如:生产数据、统计数据以直观的表格形式进行反映,为生产管理人员提供有效的分析工具。 8.1 历史报表 历史报表提供了一种浏览和打印历史数据和统计数据的工具。对历史报表可进行手工或自动打印。历史报表从数据库中按照一定的采样方式获取一个或多个点的历史数据,以表格的形式显示出来。 8.1.1 创建历史报表 在工具箱中选择历史报表按钮,在窗口中点击并拖拽到合适大小后释放鼠标。观察效果。 这时可以象处理普通图形对象一样来改变历史报表的属性。选中历史报表对象,单击鼠标右键,弹出右键菜单: 选择“对象属性”,弹出“对象属性”对话框,通过这个对话框可以改变历史报表的填充色、边线颜色、边线风格等。 8.1.2 历史报表组态 双击历史报表对象,弹出“历史报表组态”对话框,对对话框中各项进行设置。 8.1.3 查询历史报表 若要连续查询历史报表数据,需要给报表加入控制对象。 8.1.4 手动打印报表 可以通过操作其它图形对象打印报表,如:通过单击一个按钮来打印报表。 比如,报表创建在窗口Report1上,同时Report1上某按钮用于控制报表的打印。为该按钮定义动作:“触敏动作/一般动作”,在“按下鼠标”事件脚本中加入: print("Report1.drw"); 当该按钮被点击时,打印窗口Report1及报表。 8.1.5 自动打印报表 若要在每天固定时刻自动打印报表。可以通过脚本控制来实现。 比如,我们希望在每天上午6点时,自动打印窗口Report1中的报表。可按下面步骤进行: 1、激活Draw菜单命令“特殊功能/动作/数据改变”,进入脚本编辑对话框,在“变量名”内键入系统变量“$Hour”,在编辑器内键入脚本: if($Hour == 6) && ($Minute ==0) && ($Second <= 3) then print("Report1.drw"); ENDIF; 2、按照上面的设置,每当时间由上午5点59分59秒变为6点时,报表便会自动打印出来(考虑到时间可能有误差,保留了3秒的延迟时间)。 8.1.6 自绘历史报表表头 当要实现形式较为复杂的历史报表表头时,可以利用Draw提供的图形对象,如:线、文本、矩形等,手工绘制历史报表的表头。 8.2 万能报表 万能报表提供类似EXCEL的电子表格功能,可实现形式更为复杂的报表格式,它的目的时提供一个方便而又灵活报表设计系统。 8.2.1 基本概述 单元格: 单元格是万能报表中的最基本单位,描述分两个部分:列序号+行序号,列序号用字母描述,行序号用数字描述(类似于EXCEL),如第一行第一列是A1,第三行第10列是J3。 区域: 区域是多个连续单元格的集合,如果对多个单元格进行同一种操作(如改变字体、求和等),就可以把连续单元格看成一个区域。区域可以通过表达式来描述,表达式由三部分组成:起始单元格、分割符、终止单元格,如从第二行第三列到第八行第九列是“C2:I8“。 属性: 单元格有自己的属性,包括:字体,字体大小,背景色,字体颜色,粗体,斜体,下划线,数据格式(数字或字符型变量),数字型变量输出格式,边框属性,字符的对齐方式等。 变量单元格可以通过一个变量来描述。 表达式: 单元格可以用表达式来进行计算,为了和普通文本分开,表达式以字符"="为开始字符。如可以让单元格A15的内容是A1的值,则在A15的单元格中应该输入:”=this.A1”。表达式应该符合力控○R动作脚本语法。 变量/函数: 报表中提供的变量和函数必须加前缀“this.” 以区别于其它变量和函数,如上述的A1在引用时必须用”this.A1”,区域这样引用”this.B2:I9”或”this.B2:this.I9”。 复制工具: 在报表制作中,可能有许多相似的计算。智能复制让您的操作更方便。如果一个报表需要在A10,A20,B25分别对A1:A9,A11:A19,B15:B34,求和,如果此时A10的公式已经生成,则在选择模式拷贝A10的公式=this.Sum(this.A1:A9),则拷贝到A20中去时,自动替换成:=this.Sum(this.A11:A19),在B25中自动替换成:=this.Sum(this.B15:B24)。 8.3 报表函数 1、SumIF 功能 根据指定条件对若干单元格求和。 语法 SUMIF(条件区域,条件表达式,求和区域) 条件区域,用于条件判断的单元格区域。 条件表达式,确定哪些单元格将被相加求和的条件,可以用this.value来表示条件区域中的变量。 求和区域,需要求和的实际单元格。只有当条件区域中的相应单元格满足条件表达式时,才对该区域中的单元格求和。 注意必须保证条件区域和求和区域的单元格数量一致。 示例 假设表达式是this.SumIF(this.A7:A10,this.Value > 12 && this.Value < 24, this.B7:B10)。如果A7,A8,A9,A10的值分别是:13,6,25,20,如果B7到B10分别是15,20,30,40,因为A7和A10的值满足条件表达式,则结果应该是:B7+B10 = 15 + 40 = 55。 2、AveIF 功能 根据指定条件对若干单元格求平均值。 语法 AveIF (条件区域,条件表达式,求平均值区域) 条件区域,用于条件判断的单元格区域。 条件表达式,确定哪些单元格将被求平均值的条件,可以用this.value来表示条件区域中的变量。 求平均值区域,需要求平均值的实际单元格。只有当条件区域中的相应单元格满足条件表达式时,才对该区域中的单元格求平均值。 注意必须保证条件区域和求平均值区域的单元格数量一致。 第 11 次 课 日期 13/3 周次 4 星期 1 学时 2 第9章 报警和事件 过程报警是指过程情况的警告,比如数据超过规定的报警限值,数据发生异常时,系统会自动提示和记录,根据需要还可以产生声音报警等。 系统报警是有关系统运行错误报警、I/O设备通讯错误报警、故障报警等。 而事件记录则是系统对各种系统状态以及用户操作等信息的记录。 专门的日志程序可以做特殊记录,对操作过程进行记录,用户可以通过记录来对系统进行维护。 9.1 报警处理过程 力控是一个分布式的报警系统,报警产生时首先由实时数据库处理和保存,然后可由界面系统显示和确认。由于DB与HMI可以分布运行在不同网络结点上,所以任意一台工作站的人机界面系统都可以显示和确认运行在其他网络工作站上的实时数据库产生的报警信息。 分布式的报警信息对于操作人员是透明的,操作人员不必清楚报警来自于本地数据库或远程网络数据库。 9.2 报警区域 报警系统是根据过程点所在区域的不同对这些点产生的报警信息进行过滤。 在创建数据库时用户可以按照生产工艺过程,将点划分在不同的区域内。力控○R系统可以支持多达31(0~30)个区域。设置了报警处理的数据库点分布在不同的区域时,就形成了报警区域。 力控○R可以对不同报警区域进行分别地显示和处理 9.3 报警类型和优先级 报警主要是由实时数据库来进行处理的。在这里以表格的形式把它们列举如下: 模拟量报警  低低限报警 低低限参数 LL 低低限报警优先级LLPR  低限报警 低限参数 L O 低限报警优先级LOPR  高高限报警 高高限参数 HH 高高限报警优先级HHPR  高限报警 高限参数 HI 高限报警优先级HIPR  变化率报警 限值 RATE 和周期 RATECYC 变化率报警优先级RATEPR  偏差报警 偏差限值 DEV 和设定值 SP 偏差报警优先级DEVPR  报警死区 死区限值 DEADBAND  延时报警 延时时间 ALARMDELAY   开关量报警  开关量状态报警 正常状态值 NORMALVAL 异常报警优先级ALARMPR   报警类型 对于低低限报警、低限报警、高高限报警、高限报警,当过程测量值超出了这四类报警设定的限值时,相应的报警产生。 对于偏差报警,当过程测量值(PV)与设定值(SP)的偏差超出了偏差限值DEV时,报警产生。 变化率报警检测过程测量值(PV)的实际变化率,即:如果PV值在变化周期RATECYC内的变化超出了变化率限值RATE,产生报警。 死区设定值DEADBAND防止了由于过程测量值在限值上下变化,不断地跨越报警限值造成的反复报警。 延时报警保证只有当超过延时时间ALARMDELAY后,PV值仍超出限值时,才产生限值报警。 开关量状态报警,只要当前值与预先组态的正常状态值(NORMALVAL)不同,就会产生报警。比如,某一点的正常状态值(NORMALVAL)设为1,当它的过程值(PV值)变为非1数值时即产生报警。 报警优先级 报警优先级的不同取值分别代表各类不同级别: 0:低级报警 1:高级报警 2:紧急报警 这3个级别从0到2优先级顺序从低到高。 在实时报警显示和系统报警窗口显示中,首先显示高优先级的报警。 9.4 报警状态 报警优先级是处理和显示各类报警先后顺序的依据。它标志着报警的严重程度,您可以在动作脚本中利用脚本函数GetCurAlm(或者$alarm数据库变量)来获取当前报警的优先级,然后根据优先级来进行其它处理。 第 12 次 课 日期 14/3 周次 4 星期 2 学时 2 第9章 报警和事件(续) 9.5 报警组态 报警数据在实时数据库中处理和保存。各种报警参数是数据库点的基本参数,在用数据库管理器(DBManager)进行点组态时同时设置点的报警参数。 报警记录是用来显示和确认报警数据的窗口。由开发系统Draw在工程画面中创建,而由界面运行系统View运行显示。报警记录是利用访问实时数据库的报警文件来进行查询的,不但可以访问本地的历史报警数据,还可以访问远程数据库的历史报警数据,构成分布式的、网络化的报警系统。 9.6创建报警记录 创建一个标准的报警记录(举例说明) 9.7系统报警记录 系统报警记录为长条形窗口,显示在屏幕的顶部或底部。它是一种顶层窗口,始终显示在屏幕上,不会因为切换画面而关闭。 系统报警记录分为左右两个显示区,左边的部分为系统报警区,显示最近发生的系统报警记录;右边部分为过程报警区,显示最近发生的过程报警记录。 9.8 报警组件 多功能报警将实时报警和历史报警合成在一个组件中,同时可以进行历史报警数据查询,同时字段可以灵活组合。(结合软件具体说明)。 9.9 事件 力控事件系统记录了系统进程的启停、系统状态的变化、系统内部消息以及操作人员的活动记录等信息。例如:当系统启动运行或退出运行,操作人员手工设置变量数值时,就会触发力控的事件系统对所发生的事件进行记录。 在实际应用中,事件记录可以作为事故追忆、历史信息查询的重要手段。 9.10 显示事件记录 事件的显示有多种方式:系统的事件显示可以通过日志管理来进行,也可以通过系统提供的事件函数来进行。同时由于事件记录进行设置后又可以存储到管理数据库或者文本文件中,用户可以通过第三方工具开发的程序管理事件文件,也可以通过组件来进行显示。 1、函数方式 2、运行系统:可见于日志系统。 3、事件组件 9.11日志事件 1、系统日志记录了力控○R的运行状态,包括运行系统VIEW、数据库系统DB、驱动服务器IO Server的运行状态。 2、当用户在定义中间变量的时候选择了记录操作,当变量变化的时候,变化内容就可以在操作日志中显示。 3、选择文件/打开日志文件,可以选择之前存储的文件。 4、选择文件/另存日志文件,可以另存储日志文件。 5、选择文件/导出列表,可以把日志文件导出到csv文件,可以直接用表格的方式打开查看。 6、选择文件/设置,弹出设置对话框,可以对日志文件进行大小设置以及属性设置,如下图所示: 7、可以选择日志文件的最大容量,当日志文件达到最大容量的时候,可以覆盖源文件,也可以另存到别的文件。这些都是用户可以自行设置选择的,为用户提供了很大的方便。 9.12 报警和事件输出 力控的报警和事件信息不但能保存在实时数据库中,形成历史文件,而且还可以输出为文本文件,或者通过ODBC方式输出到关系数据库中,选中输出到DBMS即是往关系数据库进行转储数据,供管理系统共享数据,同时根据需要可以进行打印的设置,设置声光报警等。 第 13 次 课 日期 16/3 周次 4 星期 4 学时 2 第10章 配方及内置函数 配方就是专为某些工艺过程提供的原料配比自动管理、控制工具。 10.1 配方概念 所谓配方就是一个二维参数表,参数表的行表示变量的一组取值,参数表列表示一组配方,即各变量的一种取值组合。如下表所示:  上表为5个变量的4种配方。 一个配方代表一组变量在取不同数值时的一种组合,配方不是图形对象。 10.2 配方组态 1、变量名 2、配方名 3、增加/删除配方 4、增加/删除变量 5、参数 6、加密 10.3 配方函数 配方函数的一般形式为RecipeXXXX(参数1、参数2、?),您可以通过配方函数来装入、选择、查看、修改配方。 (1)RecipeLoad(RecipeGroupName,RecipeName) 说明 装入配方组中指定的配方。 参数 RecipeGroupName 配方组名称,为字符串常量或变量。RecipeName 配方名,为字符串常量或变量。 (2)RecipeModify(RecipeGroupName, RecipeName) 说明 用当前变量值来修改对应配方组中的配方。 参数 RecipeGroupName 配方组名称,为字符串常量或变量。RecipeName 配方名, 为字符串常量或变量。 (3)RecipeSelect(RecipeGroupName, RecipeName) 说明 配方选择框,在该对话框中可以选择配方。 参数 RecipeGroupName 配方组名称。 RecipeName 配方名,选择框确认后的返回值,必须为一字符串变量。 (4)RecipeSelNext(RecipeGroupName, RecipeName) 说明 选定指定配方的下一个配方。 参数 RecipeGroupName 配方组名称,为字符串常量或变量。RecipeName 配方名,为一字符串常量或变量。 (5)RecipeSelPrev(RecipeGroupName, RecipeName) 说明 选定指定配方的上一个配方。 参数 RecipeGroupName 配方组名称,为字符串常量或变量。RecipeName 配方名,为一字符串常量或变量。 10.4 内置数据表 10.4.1 定义内置数据表 内置数据表:类似于传统关系数据库(DBMS)中的数据表,内置数据表是一张二维表,每列都有自己的名称,称作列名或字段名,行也称作记录。 过滤条件:即查询条件,是由表字段名及其他条件组成的布尔表达式。 数据表的使用 (1)建立数据表 (2)使用数据表操作函数 (3)内置数据表的属性 10.4.2 内置数据表绑定 内置数据表绑定过程就是将内置数据表中字段与力控变量建立对应关系的过程。 若要绑定内置数据表,双击Draw导航器“数据表管理/数据表绑定”进入“数据表绑定对话框”。 在“数据表绑定名称”中指定绑定表的名称,字段名与类型必须与内置数据表中的字段相一致。 10.5 相关函数 具体说明各个函数的语法和作用。 10.6 表格控件 表格控件是一张二维表,由表头与记录两部分组成。表头下面每一行为一个记录,记录由若干字段组成。 1、定义表格控件 2、相关函数 第 14 次 课 日期 17/3 周次 4 星期 5 学时 2 第11章 运行系统 运行系统View用来运行由开发系统Draw创建的画面工程,主要完成HMI部分的监控,它是运行在前台的;区域实时数据库DB是数据处理的核心,是网络节点的数据服务器,运行时保存相关的历史存储;IO程序是负责和控制设备通讯的服务程序,支持各种网络方式的通讯,比如串口、以太网等,数据库和I/O一般是工作在后台的。 11.1 标准菜单 (1)“文件”菜单 (2)“特殊功能”菜单 事件记录显示 选择该命令,显示“事件记录”窗口。 登录 选择该命令,可以进行用户登录。 注销 选择该命令,注销当前用户身份。 禁止/允许用户操作 当以某一用户身份登录后,可以选择该命令,禁止或允许对所有数据的下置操作。 11.2 自定义菜单 1、与菜单相关的几个概念 顶层菜单:顶层菜单是位于窗口标题下的菜单,运行时一直存在,也称作主菜单。顶层菜单中可以包括多级下拉式菜单。例如,在Windows画笔程序中看到的顶层菜单: 弹出菜单:弹出菜单是右键点击窗口中对象时出现的菜单,当选取完菜单项后,其立即消失。例如,在画笔中点击右键看到的弹出菜单: 菜单项分隔线:菜单项按功能分类的标志,是一条直线,它使菜单列表更加清晰。 快捷键:快捷键是与菜单功能等价的键盘按键或按键组合,如F1键,Ctrl + C。 2、创建自定义菜单 (具体步骤现场演示) 11.3 安全管理 11.3.1 系统安全管理 当您在开发系统Draw的系统参数中设置了“禁止退出”、“禁止Alt”和“禁止Ctrl + Alt + Del”选项时,View在运行时将提供以下系统安全性: 1) 隐藏菜单命令“文件[F]/进入组态状态[M]”和“文件[F]/退出[E]”。 2) 令系统功能热键“Alt + F4”、“Alt + Tab”,View的系统窗口控制菜单中的关闭命 令以及系统窗口控制按钮的关闭按钮失效。 3) 令系统热启动组合键“Ctrl + Alt + Del”失效。 11.3.2 数据安全管理 1、用户管理 2、防止非法进入开发系统和运行系统 3、防止非法修改变量 4、用户登录与注销 5、用户管理的程序控制 11.3.3 工程加密 11.4 运行参数 配制/运行系统参数 (1)参数设置: (2)系统设置: 11.5 其他设置 第 15 次 课 日期 20/3 周次 5 星期 1 学时 2 第12章 控件及对象组件 力控是一个面向对象的开发环境,控件和组件在力控内部都是一个对象,是能够完成特定任务的一段程序,但不能独立运行,必须依赖于一个主体程序(容器)。控件具有各种属性,可以控制控件的外观和行为,并接受输入并提供输出。 12.1 OLE控件 OLE控件,也被称为ActiveX或ocx控件,是一种完成特定功能的独立的标准软件组件。OLE控件定义了可重用组件的标准接口。但OLE控件不是独立的程序,它是置入控件容器的服务器。在使用OLE控件时,首先必须将其置入控件容器。力控○R就是一个标准的控件容器。 12.1.1 OLE控件管理 1、浏览OLE控件属性/方法 2、设置OLE控件属性 12.1.2 用动作脚本控制OLE控件 若要在OLE控件上加入对象脚本: 1、双击OLE控件,出现动画连接对话框。 2、在对话框上选择“触敏动作/左键动作”(定义有关鼠标按下事件、鼠标按住周期触发事件和释放鼠标事件的脚本)或“杂项/一般性动作”(定义有关OLE控件初始运行事件以及OLE控件周期运行事件的脚本),出现脚本编辑器后,可以开始编写动作脚本程序。 3、当要引用该OLE控件的方法和属性时,可单击编辑器上的“方法/属性”按钮,出现 “控件属性/方法”对话框后,直接选择其中的方法或属性名称。 另外,在对象脚本中引用OLE控件的属性或方法时,可以使用“This”代替OLE控件对象名称。如: This.Day = 29 ; Tag1 = This.year ; 如果在命令型脚本(即:应用程序动作脚本、窗口动作脚本、数据改变动作脚本和键动作脚本)中引用OLE控件的方法和属性,则必须定义OLE控件的对象名称,以便在脚本中引用多个OLE控件时加以区别。动作脚本程序中OLE控件对象名称前还要以符号“#”开头。 例如:“Calendar1”是一个OLE控件的对象名称,则下面的脚本是正确的: #Calendar1.Day = 29 ; Tag1 = #Calendar1.Year ; 12.1.3 力控OLE控件 下面介绍由力控提供的几个OLE控件。 12.1.3.1 DbCom 控件 DbCom是一个标准OLE控件。用户在各种常用开发环境下(如:VC++、VB、VFP、DELPHI、FrontPage、C++ Build等)可以调用DbCom来访问数据库中的数据。 功能 1、 通过DbCom可以访问本地数据库,也可以是网络上其它远程主机上的数据库。 2、 通过DbCom不但可以读取数据,而且可以设置数据。 3、通过DbCom不但可以读写数据,而且可以得到数据变化通知。当数据变化时,用户定义的方法将被触发。 12.1.3.2 DrawCom控件 DrawCom控件用于实现在其他容器中浏览力控○R运行时的工程画面,浏览的效果与在力控运行系统View中看到的工程画面完全相同,包含全部动态数据和动画。 属性: ServerAddress:服务器IP地址。 ViewName:初始启动画面名称。 方法: Display():显示一个画面窗口 12.2 WINDOWS控件 12.2.1 文本编辑框 能够显示多行文本,用于信息提示。 相关函数 注意:相关函数是与WINDOWS控件相关的一组函数,在动作脚本程序中调用时要指明WINDOWS控件的对象名称,具体格式为:“对象名称.相关函数(参数)”。 12.2.2 表格 表格除了用于报表显示外,还可以用做内置数据表的绑定表和ODBS/SQL的报表模板的显示,内置数据表在相关章节介绍。 12.2.3 复选框 复选框左边为一小矩形框,右边是文字说明。选中时左边方框中会有一“对号”这时关联的变量便可以进行其值为1,否则为0, 注意:变量一定要预先定义。 12.2.4 多选按纽 多选按钮,用于选择多个选项中的一个,通过内部的变量关联便可以通过按纽来进行选择,变量的值从0开始,来选择不同的按纽。 12.2.5 下拉框 下拉框是由一文本框与一列表框组合而成。列表框中可以显示多行文本,可以选择某一行作为当前下拉框的当前文本,文本框中显示的就是当前文本。 12.2.6 列表框 内容同上 12.2.7 视频窗口 视频捕获控件用于视频捕获卡与声卡信息的采集,并可以将采集的信息存储到文件中。利用视频捕获控件可以在力控○R窗口中监视视频画面。 12.2.8 播放AVI 该控件用于播放标准的视频AVI文件。 12.2.9 历史追忆 该控件是以表格的形式,查看数据点历史记录,数据包括指定区间的所有记录内容。该表主要用于事故查询。 12.2.10 起始时间 用于指定起始时刻。起始时刻以自1970年1月1日零时逝去的秒数来计算。 12.2.11 时间范围 该控件用于指定时间范围,它的单位为秒。 12.3 内部组件 内部组件是通过力控的内部接口开发的一种和人机界面相关的特定程序,它能完成一些特定的功能,包括曲线分析、数据转换等,保证了软件的灵活性和开放性。 12.3.1 温控曲线 通过多段PID进行闭环调节的温度的控制的情况可以通过温控曲线来观看,一个温控曲线组件可以完成一个批量事件的记录,所有记录的数据可以进行存盘,设定值根据设定曲线实时调试,然后可以进行回放进行曲线分析等。它可以用在窑炉、流量等控制的场合。 (具体过程现场演示) 12.3.2 增强 XY曲线 该曲线不但可以显示实时曲线和历史曲线,还可以实现在线添加曲线的功能。 12.3.3 立体棒图 立体棒图是常见的多个变量用直方图的表现形式,可以用直方图的高度变化来实时反映变量的数值的变化。 第 16 次 课 日期 21/3 周次 5 星期 2 学时 2 第13章 I/O设备驱动 力控与I/O设备之间一般通过以下几种方式进行数据交换:串行通信方式(支持Modem远程通信)、板卡方式、网络节点方式、适配器方式、DDE方式、OPC方式等。 对于采用不同协议通信的I/O设备,力控提供具有针对性的I/O驱动程序,实时数据库借助I/O驱动程序对I/O设备执行数据的采集与回送。 13.1 I/O设备通讯 13.1.1 数据通讯方式 1、串行通信: 一般是通过标准RS-232、 RS-422、RS-485等方式通信,另外,使RS-232互连的计算机串口和设备通信口还可以用Modem、电台、GPRS/CDMA等方式通信。 2、PC总线: 通信接口卡方式是利用I/O设备制造厂家提供的安装在计算机插槽中的专用接口卡与设备进行通信。I/O卡一般直接插在计算机的扩展总线上,如ISA、PCI等,然后利用开发商提供的驱动程序或直接经端口操作和软件进行通信,一般采用的是同步通信方式。 3、工业以太网: 大多采用TCP/IP或者UDP/IP网络通信协议,进行网络节点间的数据传递。 4、软件通讯 DDE方式和OPC方式通过Windows标准协议进行进程间通信。 13.1.2 支持的设备 力控现在支持多个厂家的几百种设备,见附件驱动列表 13.1.3 不支持的设备 13.2 I/O设备管理 13.2.1 新建I/O设备 具体过程现场演示。 13.2.2 设备参数说明 13.2.3 修改或删除I/O设备 13.2.4 引用I/O设备 13.3 运行参数 13.3.1 启动驱动程序 13.3.2 设置驱动程序 13.3.3 监视驱动程序日志 第 17 次 课 日期 23/3 周次 5 星期 4 学时 2 实验一 熟悉力控软件的动画连接方法。 实验目的:掌握力控软件的动画连接方法。 实验要求:1、熟悉力控软件的使用环境。 2、根据所学动画知识,熟悉各项操作。 3、结合课本动画连接应用实例,将其实现, 实验内容: 1、建立“进出油监控中心”; 2、油罐的液面升降; 3、油泵、阀门的启停; 4、液面变化效果。 第 18 次 课 日期 27/3 周次 6 星期 1 学时 2 实验二 熟悉力控软件的脚本程序的使用方法 实验目的:掌握力控软件的脚本程序的使用方法。 实验要求:1、熟悉脚本编辑器的使用方法。 2、熟悉脚本程序的编写方法。 3、完成实验内容里的实验题目。 实验内容: 1、创建一动作脚本,在运行时,当用鼠标左键按下圆形对象时,圆形对象的颜色发生变化。 2、创建一动作脚本,在运行时,当变量ccc的值是80时,矩形对象是可见的; 当变量ccc的值不是80时,矩形对象时隐藏的。 3、创建一数据改变动作脚本,当变量的值发生变化时,图形对象的颜色和尺寸 也随之变化。 4、创建一应用程序脚本,当反应釜内的液体温度超过98℃时,报警标志位为1, 系统发出声音报警;否则系统的输出信息为“温度正常”。 第 19 次 课 日期 28/3 周次 6 星期 2 学时 2 实验三 熟悉力控软件的复杂图形对象的组态及应用方法 实验目的:掌握力控软件的复杂图形对象的组态及应用方法。 实验要求:1、熟悉图形对象的组态及应用方法。 2、完成实验内容里的实验题目。 实验内容: 1、创建一个sinx曲线图,X范围0~200,Y范围-1~1。背景色为黑色,线为红色。 2、创建一个实时趋势图,图中有两个控制按钮,一个按钮用于增加时间间隔,一个按钮用于减少时间间隔,用它们对实时趋势的“时间间隔”进行控制。进入运行状态后,每次单击这两个控制按钮,实时趋势的时间范围就会被减少到原来的50%或增大到原来的200%。 3、创建如下图所示的X-Y曲线,变量X、Y为三角函数余弦关系。  第 20 次 课 日期 30/3 周次 6 星期 4 学时 2 实验四 监控组态软件综合应用 实验目的:初步掌握利用组态软件进行控制系统设计的方法。 实验要求: 运用组态软件实现一个小型的楼宇监控系统仿真过程。 实验内容: 1、楼宇控制系统应具有以下功能: (1)照明系统的监控; (2)排风系统的监控; (3)监测给水系统的运行状态。 2、楼宇监控系统组态画面主要有主操作画面、照明系统画面、给水系统画面、排风系统画面。管理人员能够通过相应的画面进行控制和监视。 (1)主操作界面 管理人员可通过主操作画面进入相应的画面,并对相应的系统进行监测。 (2)照明系统画面 管理人员可通过控制开关对各个场所的灯光进行控制。 (3)给水系统画面 管理人员可以对用水情况进行控制。 (4)排风系统画面 管理人员可根据各个场所的需求对排风进行控制。