MCGS组态课件(新).ppt

上传人:牧羊曲112 文档编号:5439635 上传时间:2023-07-07 格式:PPT 页数:217 大小:3.95MB
返回 下载 相关 举报
MCGS组态课件(新).ppt_第1页
第1页 / 共217页
MCGS组态课件(新).ppt_第2页
第2页 / 共217页
MCGS组态课件(新).ppt_第3页
第3页 / 共217页
MCGS组态课件(新).ppt_第4页
第4页 / 共217页
MCGS组态课件(新).ppt_第5页
第5页 / 共217页
点击查看更多>>
资源描述

《MCGS组态课件(新).ppt》由会员分享,可在线阅读,更多相关《MCGS组态课件(新).ppt(217页珍藏版)》请在三一办公上搜索。

1、电气工程系曾劲松二零一二年,组态控制技术,人机监控界面系统的构成,User,PC,PLC,Pump,一般人机界面监控系统的构成如右操作员(User)面对PC机PC机利用各种通讯手段与PLC建立通讯PC从PLC中获得数据,并利用PC的强大图形功能动态显示这些数据PLC完成对生产设备的控制,角色-用户-资源,Role(Sysmgr),Resource,Role(Operator),Resource,Point,Device,Port,User,(角色),(用户),(设备),(点),(端口),(资源),角色-用户-资源,角色(Role):一组使用监控计算机的人,这一组人具有相同的操作权限用户(Use

2、r):要使用监控计算机的每一个人,每个用户有自己的标识符(User ID)及登录密码,用户还可以有自己的名字(User Name)资源(Resource):由PLC控制的、被用户所监控的对象,这是一个抽象的概念,它可以是一条生产线、也可以是一台泵在工程结构中,角色是让用户有权使用特许功能的机制,每个用户被指定一种角色。相反地,一种角色可以分配给几个用户。,端口-设备-点,端口(Port):计算机用来与 PLC 通讯的通讯端口,可以是串行口(COM1、COM2),也可以是计算机上的以太网卡、令牌环网卡、DDE通讯通道设备(Device):与监控计算机通讯相连的 PLC,这些设备挂在计算机的通讯端

3、口下点(Point):监控计算机从 PLC 中读取的变量、或者是计算机内存中的虚拟变量(不对应于 PLC 中的某个变量),设备,端口,点(Point),第一讲组态软件概述,一、MCGS组态软件的功能和特点 MCGS即“监视与控制通用系统”,英文全称为Monitor and Control Generated System。MCGS是为工业过程控制和实时监测领域服务的通用计算机系统软件,具有功能完善、操作简便、可视性好、可维护性强的突出特点。,MCGS工控组态软件的功能和特点可归纳如下:概念简单,易于理解和使用。普通工程人员经过短时间的培训就能正确掌握、快速完成多数简单工程项目的监控程序设计和运

4、行操作。功能齐全,便于方案设计。MCGS从设备驱动(数据采集)到数据处理、报警处理、流程控制、动画显示、报表输出、曲线显示等各个环节,均有丰富的功能组件和常用图形库可供选用。,3.实时性与并行处理。MCGS充分利用了Windows操作平台的多任务、按优先级分时操作的功能,使PC机广泛应用于工程测控领域成为可能。4.建立实时数据库,便于用户分步组态,保证系统安全可靠运行。MCGS组态软件由主控窗口、设备窗口、用户窗口、实时数据库和运行策略五部分构成。其中的“实时数据库”是整个系统的核心。,5.设立“设备工具箱”,针对外部设备的特征,用户从中选择某种“构件”,设置于设备窗口内,赋予相关的属性,建立

5、系统与外部设备的连接关系,即可实现对该种设备的驱动和控制。6.“面向窗口”的设计方法,增加了可视性和可操作性。以窗口为单位,构造用户运行系统的图形界面,使得MCGS的组态工作既简单直观,又灵活多变。,7.利用丰富的“动画组态”功能,快速构造各种复杂生动的动态画面。以图象、图符、数据、曲线等多种形式,为操作员及时提供系统运行中的的状态、品质及异常报警等有关信息。8.引入“运行策略”的概念。复杂的工程作业,运行流程都是多分支的。用传统的编程方法实现,既繁琐又容易出错。MCGS开辟了“策略窗口”,用户可以选用系统提供的各种条件和功能的“策略构件”。,9.MCGS系统由五大功能部件组成,主要的功能部件

6、以构件的形式来构造。不同的构件有着不同的功能,且各自独立。三种基本类型的构件(设备构件、动画构件、策略构件)完成了MCGS系统三大部分(设备驱动、动画显示和流程控制)的所有工作。10.MCGS中数据的存储不再使用普通的文件,而是用数据库来管理一切。,11.设立“对象元件库”,解决了组态结果的积累和重新利用问题。所谓对象元件库,实际上是分类存储各种组态对象的图库。12.提供对网络的支持。考虑到工控系统今后的发展趋势,MCGS充分运用现今发展的DCCW(Distributed Computer Cooperator Work)技术,即分布式计算机协同工作方式,来使分散在不同现场之间的采集系统和工作

7、站之间协同工作。,二、MCGS组态软件的系统构成 1.MCGS组态软件的整体结构,MCGS组态软件(以下简称MCGS)由“MCGS组态环境”和“MCGS运行环境”两个系统组成。两部分互相独立,又紧密相关。MCGS组态环境是生成用户应用系统的工作环境,用户在MCGS组态环境中完成全部组态工作。MCGS运行环境是用户应用系统的运行环境,在运行环境中完成对工程的控制工作。,2.MCGS工程的五大部分,MCGS组态软件所建立的工程由主控窗口、设备窗口、用户窗口、实时数据库和运行策略五部分构成,每一部分分别进行组态操作,完成不同的工作,具有不同的特性。主控窗口:是工程的主窗口或主框架。主要的组态操作包括

8、:定义工程的名称,编制工程菜单,设计封面图形,确定自动启动的窗口,设定动画刷新周期,指定数据库存盘文件名称及存盘时间等。,设备窗口:是连接和驱动外部设备的工作环境。在本窗口内配置数据采集与控制输出设备,注册设备驱动程序,定义连接与驱动设备用的数据变量。用户窗口:本窗口主要用于设置工程中人机交互的界面。诸如:生成各种动画显示画面、报警输出、数据与曲线图表等。,实时数据库:是工程各个部分的数据交换与处理中心,它将MCGS工程的各个部分连接成有机的整体。在本窗口内定义不同类型和名称的变量,作为数据采集、处理、输出控制、动画连接及设备驱动的对象。运行策略:本窗口主要完成工程运行流程的控制。包括编写控制

9、程序(ifthen脚本程序),选用各种功能构件,如:数据提取、历史曲线、定时器、配方操作、多媒体输出等。,三、MCGS组态软件的工作方式 1.MCGS如何与设备进行通讯:MCGS通过设备驱动程序与外部设备进行数据交换。包括数据采集和发送设备指令。MCGS负责在运行环境中调用相应的设备驱动程序,将数据传送到工程中各个部分,完成整个系统的通讯过程。每个驱动程序独占一个线程,达到互不干扰的目的。,2.MCGS如何产生动画效果:MCGS为每一种基本图形元素定义了不同的动画属性,所谓动画属性,实际上是反映图形大小、颜色、位置、可见度、闪烁性等状态的特征参数。如:一个长方形的动画属性有可见度,大小变化,水

10、平移动等,每一种动画属性都会产生一定的动画效果。思考:我们在组态环境中生成的画面都是静止的,如何在工程运行中产生动画效果呢?,方法是:图形的每一种动画属性中都有一个“表达式”设定栏,在该栏中设定一个与图形状态相联系的数据变量,连接到实时数据库中,以此建立相应的对应关系,MCGS称之为动画连接。3.MCGS如何实施远程多机监控:MCGS提供了一套完善的网络机制,可通过TCP/IP网、Modem网和串口网将多台计算机连接在一起,构成分布式网络测控系统,实现网络间的实时数据同步、历史数据同步和网络事件的快速传递。,4.如何对工程运行流程实施有效控制:MCGS开辟了专用的“运行策略”窗口,建立用户运行

11、策略。MCGS提供了丰富的功能构件,供用户选用,通过构件配置和属性设置两项组态操作,生成各种功能模块(称为“用户策略”),使系统能够按照设定的顺序和条件,操作实时数据库,实现对动画窗口的任意切换,控制系统的运行流程和设备的工作状态。,第二讲 MCGS组态软件常用术语,一、MCGS组态软件常用术语 工程:用户应用系统的简称。在MCGS组态环境中生成的文件称为工程文件,后缀为.mcg,存放于MCGS目录的WORK子目录中。如:“D:MCGSWORKMCGS例程1.mcg”。对象:操作目标与操作环境的统称。如窗口、构件、数据、图形等皆称为对象。,选中对象:鼠标点击窗口或对象,使其处于可操作状态,称此

12、操作为选中对象,被选中的对象(包括窗口),也叫当前对象。组态:在窗口环境内,进行对象的定义、制作和编辑,并设定其状态特征(属性)参数,将此项工作称为组态。属性:对象的名称、类型、状态、性能及用法等特征的统称。,菜单:是执行某种功能的命令集合。位于窗口顶端菜单条内的菜单命令称为顶层菜单,一般分为独立的菜单项和下拉菜单两种形式,下拉菜单还可分成多级,每一级称为次级子菜单。构件:具备某种特定功能的程序模块,可以用VB,VC等程序设计语言编写,通过编译,生成DLL、OCX等文件。用户对构件设置一定的属性,并与定义的数据变量相连接,即可在运行中实现相应的功能。,策略:是指对系统运行流程进行有效控制的措施

13、和方法。启动策略:在进入运行环境后首先运行的策略,只运行一次,一般完成系统初始化的处理。该策略由MCGS自动生成,具体处理的内容由用户充填。循环策略:按照用户指定的周期时间,循环执行策略块内的内容,通常用来完成流程控制任务。,退出策略:退出运行环境时执行的策略。该策略由MCGS自动生成,自动调用,一般由该策略模块完成系统结束运行前的善后处理任务。用户策略:由用户定义,用来完成特定的功能。用户策略一般由按钮、菜单、其他策略来调用执行。事件策略:当开关型变量发生跳变时(1到0,或0 到 1),执行的策略,只运行一次。,热键策略:当用户按下定义的组合热键(如:Ctrl+D)时执行的策略,只运行一次。

14、可见度:指对象在窗口内的显现状态,即可见与不可见。变量类型:MCGS定义的变量有五种类型:数值型、开关型、字符型、事件型和组对象。事件对象:用来记录和标识某种事件的产生或状态的改变。如开关量的状态发生变化。,组对象:用来存储具有相同存盘属性的多个变量的集合,内部成员可包含多个其他类型的变量。组对象只是对有关联的某一类数据对象的整体表示方法,而实际的操作则均针对每个成员进行。动画刷新周期:动画更新速度,即颜色变换、物体运动、液面升降的快慢等,以毫秒为单位。,父设备:本身没有特定功能,但可以和其他设备一起与计算机进行数据交换的硬件设备。如:串口父设备。子设备:必须通过一种父设备与计算机进行通讯的设

15、备。如:岛电SR25仪表、研华4017模块等。模拟设备:在对工程文件测试时,提供可变化的数据的内部设备,可提供多种变化方式。,二、MCGS组态软件的操作方式 系统工作台面:是MCGS组态操作的总工作台面。鼠标双击Windows95/98/NT工作台面上的“MCGS组态环境”图标,或执行“开始”菜单中的“MCGS组态环境”菜单项,弹出的窗口即为MCGS的工作台窗口。组态工作窗口:是创建和配置图形对象、数据对象和各种构件的工作环境,又称为对象的编辑窗口。主要包括:主控窗口,用户窗口,设备窗口,运行策略窗口,实时数据库窗口。,属性设置窗口:是设置对象各种特征参数的工作环境,又称属性设置对话框。对象不

16、同,属性窗口的内容各异,但结构形式大体相同。图形库工具箱:MCGS为用户提供了丰富的组态资源。工具按钮一览:工作台窗口的工具条一栏内,排列标有各种位图图标的按钮,称为工具条功能按钮,简称为工具按钮。,第三讲 建立新工程,一、组建工程的一般过程 工程项目系统分析:分析工程项目的系统构成、技术要求和工艺流程,弄清系统的控制流程和测控对象的特征,明确监控要求和动画显示方式,分析工程中的设备采集及输出通道与软件中实时数据库变量的对应关系,分清哪些变量是要求与设备连接的,哪些变量是软件内部用来传递数据及动画显示的。,工程立项搭建框架:MCGS称为建立新工程。主要内容包括:定义工程名称、封面窗口名称和启动

17、窗口(封面窗口退出后接着显示的窗口)名称,指定存盘数据库文件的名称以及存盘数据库,设定动画刷新的周期。经过此步操作,即在MCGS组态环境中,建立了由五部分组成的工程结构框架。封面窗口和启动窗口也可等到建立了用户窗口后,再行建立。,设计菜单基本体系:为了对系统运行的状态及工作流程进行有效地调度和控制,通常要在主控窗口内编制菜单。编制菜单分两步进行,第一步首先搭建菜单的框架,第二步再对各级菜单命令进行功能组态。在组态过程中,可根据实际需要,随时对菜单的内容进行增加或删除,不断完善工程的菜单。,制作动画显示画面:动画制作分为静态图形设计和动态属性设置两个过程。前一部分类似于“画画”,用户通过MCGS

18、组态软件中提供的基本图形元素及动画构件库,在用户窗口内“组合”成各种复杂的画面。后一部分则设置图形的动画属性,与实时数据库中定义的变量建立相关性的连接关系,作为动画图形的驱动源。,编写控制流程程序:在运行策略窗口内,从策略构件箱中,选择所需功能策略构件,构成各种功能模块(称为策略块),由这些模块实现各种人机交互操作。MCGS还为用户提供了编程用的功能构件(称之为“脚本程序”功能构件),使用简单的编程语言,编写工程控制程序。完善菜单按钮功能:包括对菜单命令、监控器件、操作按钮的功能组态;实现历史数据、实时数据、各种曲线、数据报表、报警信息输出等功能;建立工程安全机制等。,编写程序调试工程:利用调

19、试程序产生的模拟数据,检查动画显示和控制流程是否正确。连接设备驱动程序:选定与设备相匹配的设备构件,连接设备通道,确定数据变量的数据处理方式,完成设备属性的设置。此项操作在设备窗口内进行。工程完工综合测试:最后测试工程各部分的工作情况,完成整个工程的组态工作,实施工程交接。,二、建立新工程(以水位控制系统为例)1 鼠标单击文件菜单中“新建工程”选项,如果MCGS安装在D:盘根目录下,则会在D:MCGSWORK下自动生成新建工程,默认的工程名为:“新建工程X.MCG”(X表示新建工程的顺序号,如:0、1、2等)2 选择文件菜单中的“工程另存为”菜单项,弹出文件保存窗口。3 在文件名一栏内输入“水

20、位控制系统”,点击“保存”按钮,工程创建完毕。,第四讲 制作工程画面,一、建立画面(以水位控制系统为例)1 在“用户窗口”中单击“新建窗口”按钮,建立“窗口0”。2 选中“窗口0”,单击“窗口属性”,进入“用户窗口属性设置”。3将窗口名称改为:水位控制;窗口标题改为:水位控制;窗口位置选中“最大化显示”,其它不变,单击“确认”。4 在“用户窗口”中,选中“水位控制”,点击右键,选择下拉菜单中的“设置为启动窗口”选项,将该窗口设置为运行时自动加载的窗口。,二、编辑画面 选中“水位控制”窗口图标,单击“动画组态”,进入动画组态窗口,开始编辑画面。制作文字框图 1 单击工具条中的“工具箱”按钮,打开

21、绘图工具箱。2 选择“工具箱”内的“标签”按钮,鼠标的光标呈“十字”形,在窗口顶端中心位置拖拽鼠标,根据需要拉出一个一定大小的矩形。,3 在光标闪烁位置输入文字“水位控制系统演示工程”,按回车键或在窗口任意位置用鼠标点击一下,文字输入完毕。4 选中文字框,作如下设置:点击(填充色)按钮,设定文字框的背景颜色为:没有填充;点击(线色)按钮,设置文字框的边线颜色为:没有边线。点击(字符字体)按钮,设置文字字体为:宋体;字型为:粗体;大小为:26点击(字符颜色)按钮,将文字颜色设为:蓝色。,制作水箱 1 单击绘图工具箱中的(插入元件)图标,弹出对象元件管理对话框。2 从“储藏罐”类中选取罐17、罐5

22、3。3 从“阀”和“泵”类中分别选取2个阀(阀58、阀44)、1个泵(泵40)。4 将储藏罐、阀、泵调整为适当大小,放到适当位置,参照效果图。,5 选中工具箱内的流动块动画构件图标,鼠标的光标呈“十”字形,移动鼠标至窗口的预定位置,点击一下鼠标左键,移动鼠标,在鼠标光标后形成一道虚线,拖动一定距离后,点击鼠标左键,生成一段流动块。再拖动鼠标(可沿原来方向,也可垂直原来方向),生成下一段流动块。6 使用工具箱中的图标,分别对阀,罐进行文字注释。依次为:水泵、水罐1、调节阀、水罐2、出水阀。7 选择“文件”菜单中的“保存窗口”选项,保存画面。,第五讲 定义数据对象,实时数据库是MCGS工程的数据交

23、换和数据处理中心。数据对象是构成实时数据库的基本单元,建立实时数据库的过程也就是定义数据对象的过程。定义数据对象的内容主要包括:指定数据变量的名称、类型、初始值和数值范围。确定与数据变量存盘相关的参数,如存盘的周期、存盘的时间范围和保存期限等。,在开始定义之前,我们先对所有数据对象进行分析。(以水位控制系统为例),下面以数据对象“水泵”为例,介绍一下定义数据对象的步骤:1 单击工作台中的“实时数据库”窗口标签,进入实时数据库窗口页。2 单击“新增对象”按钮,在窗口的数据对象列表中,增加新的数据对象,系统缺省定义的名称为“Data1”、“Data2”、“Data3”等(多次点击该按钮,则可增加多

24、个数据对象)。3 选中对象,按“对象属性”按钮,或双击选中对象,则打开“数据对象属性设置”窗口。,4 将对象名称改为:水泵;对象类型选择:开关型;在对象内容注释输入框内输入:“控制水泵启动、停止的变量”,单击“确认”。按照此步骤,根据上面列表,设置其他9个数据对象。,第六讲 动画连接,由图形对象搭制而成的图形画面是静止不动的,需要对这些图形对象进行动画设计,真实地描述外界对象的状态变化,达到过程实时监控的目的。MCGS实现图形动画设计的主要方法是将用户窗口中图形对象与实时数据库中的数据对象建立相关性连接,并设置相应的动画属性。在系统运行过程中,图形对象的外观和状态特征,由数据对象的实时采集值驱

25、动,从而实现了图形的动画效果。,以水位控制系统为例需要制作动画效果的部分包括:水箱中水位的升降 水泵、阀门的启停 水流效果水箱中水位的升降效果 水位升降效果是通过设置数据对象“大小变化”连接类型实现的。具体设置步骤如下:1 在用户窗口中,双击水罐1,弹出单元属性设置窗口。,2 单击“动画连接”标签。3 选中折线,在右端出现。4 单击进入动画组态属性设置窗口。按照下面的要求设置各个参数:表达式:液位1;最大变化百分比对应的表达式的值:10;其它参数不变。5 单击“确认”,水罐1水位升降效果制作完毕。,水罐2水位升降效果的制作同理。单击进入动画组态属性设置窗口后,按照下面的值进行参数设置:表达式:

26、液位2;最大变化百分比对应的表达式的值:6;其它参数不变。水泵、阀门的启停 水泵、阀门的启停动画效果是通过设置连接类型对应的数据对象实现的。,设置步骤如下:1双击水泵,弹出单元属性设置窗口。2选中数据对象标签中的按钮输入,右端出现浏览按钮。3单击浏览按钮,双击数据对象列表中的水泵。4使用同样的方法将“填充颜色”对应的数据对象设置为“水泵”。5单击确认,水泵的启停效果设置完毕。,调节阀的启停效果同理。只需在数据对象标签页中,将“按钮输入”、“填充颜色”的数据对象均设置为:调节阀。出水阀的启停效果,需在数据对象标签页中,将“按钮输入”、“可见度”的数据对象均设置为:出水阀。水流效果 水流效果是通过

27、设置流动块构件的属性实现的。,实现步骤如下:1双击水泵右侧的流动块,弹出流动块构件属性设置窗口。2在流动属性页中,进行如下设置:表达式:水泵=1;选择当表达式非零时,流块开始流动。水罐1右侧流动块及水罐2右侧流动块的制作方法与此相同,只需将表达式相应改为:调节阀=1,出水阀=1即可。,至此动画连接已完成,按F5或点击工具条中图标,进入运行环境,看一下组态后的结果。前面“建立画面”一节中,我们已将“水位控制”窗口设置为启动窗口,所以在运行时,系统自动运行该窗口。这时我们看见的画面仍是静止的。移动鼠标到“水泵”、“调节阀”、“出水阀”上面的红色部分,鼠标指针会呈手形。单击一下,红色部分变为绿色,同

28、时流动块相应地运动起来,但水罐仍没有变化。这是由于我们没有信号输入,也没有人为地改变水量。我们可以用如下方法改变其值,使水罐动起来。,利用滑动输入器控制水位 以水罐1的水位控制为例:1进入“水位控制”窗口。2选中“工具箱”中的滑动输入器图标,当鼠标呈“十”后,拖动鼠标到适当大小。3调整滑动块到适当的位置。4双击滑动输入器构件,进入属性设置窗口。按照下面的值设置各个参数:,“基本属性”页中,滑块指向:指向左(上);“刻度与标注属性”页中,“主划线数目”:5,即能被10整除;“操作属性”页中,对应数据对象名称:液位1;滑块在最右(下)边时对应的值:10;其它不变。5在制作好的滑块下面适当的位置,制

29、作一文字标签(制作方法参见“编辑画面”一节),按下面的要求进行设置:,输入文字:水罐1输入 文字颜色:黑色 框图填充颜色:没有填充 框图边线颜色:没有边线 6按照上述方法设置水罐2水位控制滑块,参数设置为:“基本属性”页中,滑块指向:指向左(上);“操作属性”页中,对应数据对象名称:液位2;滑块在最右(下)边时对应的值:6;其它不变。,7将水罐2水位控制滑块对应的文字标签设置为:输入文字:水罐2输入文字颜色:黑色框图填充颜色:没有填充框图边线颜色:没有边线8点击工具箱中的常用图符按钮,打开常用图符工具箱。9选择其中的凹槽平面按钮,拖动鼠标绘制一个凹槽平面,恰好将两个滑动块及标签全部覆盖。,10

30、选中该平面,点击编辑条中“置于最后面”按钮。此时按“F5”,进入运行环境后,可以通过拉动滑动输入器而使水罐中的液面动起来。利用旋转仪表控制水位 在工业现场一般都会大量地使用仪表进行数据显示。MCGS组态软件适应这一要求提供了旋转仪表构件。用户可以利用此构件在动画界面中模拟现场的仪表运行状态。具体制作步骤如下:,1选取“工具箱”中的“旋转仪表”图标,调整大小放在水罐1下面适当位置。2双击该构件进行属性设置。各参数设置如下:“刻度与标注属性”页中,主划线数目:5;“操作属性”页中,表达式:液位1;最大逆时钟角度:90,对应的值:0;最大顺时钟角度:90,对应的值:10 其它不变。,3按照此方法设置

31、水罐2数据显示对应的旋转仪表。参数设置如下:“操作属性”页中,表达式:液位2;最大逆时钟角度:90,对应的值:0;最大顺时钟角度:90,对应的值:6;其它不变。进入运行环境后,可以通过拉动旋转仪表的指针使整个画面动起来。水量显示 为了能够准确地了解水罐1、水罐2的水量,我们可以通过设置标签的“显示输出”属性显示其值,具体操作如下:,1单击“工具箱”中的“标签”图标,绘制两个标签,调整大小位置,将其并列放在水罐1下面。第一个标签用于标注,显示文字为:水罐1第二个标签用于显示水罐水量2双击第一个标签进行属性设置,参数设置如下:输入文字:水罐1文字颜色:黑色框图填充颜色:没有填充框图边线颜色:没有边

32、线,3 双击第二个标签,进入动画组态属性设置窗口。将:填充颜色设置为:白色边线颜色设置为:黑色4 在输入输出连接域中,选中“显示输出”选项,在组态属性设置窗口中则会出现“显示输出”标签。5 单击“显示输出”标签,设置显示输出属性。参数设置如下:表达式:液位1;输出值类型:数值量输出;,输出格式:向中对齐;整数位数:0;小数位数:1。6单击“确认”,水罐1水量显示标签制作完毕。水罐2水量显示标签与此相同,需做的改动:第一个用于标注的标签,显示文字为:水罐2;第二个用于显示水罐水量的标签,表达式改为:液位2。,第七讲 编写控制流程,脚本程序简介 用户脚本程序是由用户编制的、用来完成特定操作和处理的

33、程序,脚本程序的编程语法非常类似于普通的Basic语言,但在概念和使用上更简单直观,力求做到使大多数普通用户都能正确、快速地掌握和使用。,对于大多数简单的应用系统,MCGS的简单组态就可完成。只有比较复杂的系统,才需要使用脚本程序,但正确地编写脚本程序,可简化组态过程,大大提高工作效率,优化控制过程。,脚本语言编辑环境脚本程序编辑环境是用户书写脚本语句的地方。脚本程序编辑环境主要由脚本程序编辑框、编辑功能按钮、MCGS操作对象列表和函数列表、脚本语句和表达式4个部分构成,分别说明如下:脚本程序编辑框用于书写脚本程序和脚本注释,用户必须遵照MCGS规定的语法结构和书写规范书写脚本程序,否则语法检

34、查不能通过。,编辑功能按钮提供了文本编辑的基本操作,用户使用这些操作可以方便操作和提高编辑速度。比如,在脚本程序编辑框中选定一个函数,然后按下帮助按钮,MCGS将自动打开关于这个函数的在线帮助,或者,如果函数拼写错误,MCGS将列出与所提供的名字最接近函数的在线帮助。,脚本语句和表达式列出了MCGS使用的三种语句的书写形式和MCGS允许的表达式类型。用鼠标单击要选的语句和表达式符号,在脚本编辑处光标所在的位置填上语句或表达式的标准格式。,MCGS对象和函数列表以树结构的形式,列出了工程中所有的窗口、策略、设备、变量、系统支持的各种方法、属性以及各种函数,以供用户快速的查找和使用。比如,可以在用

35、户窗口树中,选定一个窗口:”窗口0”,打开窗口0下的”方法”,然后双击Open函数,则MCGS自动在脚本程序编辑框中,添加了一行语句:用户窗口.窗口0.Open(),通过这行语句,就可以完成窗口打开的工作。,脚本程序基本语句 由于MCGS脚本程序是为了实现某些多分支流程的控制及操作处理,因此包括了几种最简单的语句:赋值语句、条件语句、退出语句和注释语句,同时,为了提供一些高级的循环和遍历功能,还提供了循环语句。,所有的脚本程序都可由这五种语句组成,当需要在一个程序行中包含多条语句时,各条语句之间须用“:”分开,程序行也可以是没有任何语句的空行。大多数情况下,一个程序行只包含一条语句,赋值程序行

36、中根据需要可在一行上放置多条语句。,1.赋值语句 赋值语句的形式为:数据对象=表达式。赋值语句用赋值号(“=”号)来表示,它具体的含义是:把“=”右边表达式的运算值赋给左边的数据对象。赋值号左边必须是能够读写的数据对象,如:开关型数据、数值型数据以及能进行写操作的内部数据对象,而组对象、事件型数据对象、只读的内部数据对象、系统函数以及常量,均不能出现在赋值号的左边,因为不能对这些对象进行写操作。赋值号的右边为一表达式,表达式的类型必须与左边数据对象值的类型相符合,否则系统会提示“赋值语句类型不匹配”的错误信息。,条件语句条件语句有如下三种形式:If 表达式 Then 赋值语句或退出语句If 表

37、达式 Then 语句EndIfIf 表达式Then语句Else语句EndIf,条件语句中的四个关键字“If”、“Then”、“Else”、“Endif”不分大小写。如拼写不正确,检查程序会提示出错信息。条件语句允许多级嵌套,即条件语句中可以包含新的条件语句,MCGS脚本程序的条件语句最多可以有8级嵌套,为编制多分支流程的控制程序提供了可能。,“IF”语句的表达式一般为逻辑表达式,也可以是值为数值型的表达式,当表达式的值为非0时,条件成立,执行“Then”后的语句,否则,条件不成立,将不执行该条件块中包含的语句,开始执行该条件块后面的语句。值为字符型的表达式不能作为“IF”语句中的表达式。,循环

38、语句循环语句为While和EndWhile,其结构为:While 条件表达式.EndWhile当条件表达式成立时(非零),循环执行While和EndWhile之间的语句。直到条件表达式不成立(为零),退出。,退出语句退出语句为“Exit”,用于中断脚本程序的运行,停止执行其后面的语句。一般在条件语句中使用退出语句,以便在某种条件下,停止并退出脚本程序的执行。注释语句以单引号“”开头的语句称为注释语句,注释语句在脚本程序中只起到注释说明的作用,实际运行时,系统不对注释语句作任何处理。,本讲主要目的是想通过编写一段脚本程序实现水位控制系统的控制流程,从而使大家熟悉脚本程序的编写环境。下面先对控制流

39、程进行分析:当“水罐1”的液位达到9米时,就要把“水泵”关闭,否则就要自动启动“水泵”;当“水罐2”的液位不足1米时,就要自动关闭“出水阀”,否则自动开启“出水阀”;当“水罐1”的液位大于1米,同时“水罐2”的液位小于6米就要自动开启“调节阀”,否则自动关闭“调节阀”。,具体操作如下:1在“运行策略”中,双击“循环策略”进入策略组态窗口。2双击图标进入“策略属性设置”,将:循环时间设为:200ms,按“确认”。3在策略组态窗口中,单击工具条中的“新增策略行”图标,增加一策略行。如果策略组态窗口中,没有策略工具箱,请单击工具条中的“工具箱”图标,弹出“策略工具箱”。4单击“策略工具箱”中的“脚本

40、程序”,将鼠标指针移到策略块图标上,单击鼠标左键,添加脚本程序构件,5 双击进入脚本程序编辑环境,输入下面的程序:IF 液位11 and 液位26 THEN 调节阀=1ELSE调节阀=0ENDIF,第八讲 MCGS报警处理,一、概述重点:MCGS的报警处理机制 MCGS把报警处理作为数据对象的属性,封装在数据对象内,由实时数据库在运行时自动处理。,当数据对象的值或状态发生改变时,实时数据库判断对应的数据对象是否发生了报警或已产生的报警是否已经结束,并把所产生的报警信息通知给系统的其它部分,同时,实时数据库根据用户的组态设定,把报警信息存入指定的存盘数据库文件中。,实时数据库只负责报警的判断、通

41、知和存储三项工作,而报警产生后所要进行的其它处理操作(即对报警动作的响应),则需要设计者在组态时制定方案,例如希望在报警产生时,打开一个指定的用户窗口,或者显示和该报警相关的信息等。,二、定义报警重点:MCGS报警的定义 各种数值对象的报警方式 数值型数据对象有六种报警:下下限、下限、上限、上上限、上偏差、下偏差。,开关型数据对象有四种报警方式:开关量报警,开关量跳变报警,开关量正跳变报警和开关量负跳变报警。事件型数据对象不用进行报警限值或状态设置,当它所对应的事件产生时,报警也就产生,对事件型数据对象,报警的产生和结束是同时完成的。,字符型数据对象和组对象不能设置报警属性,但对组对象所包含的

42、成员可以单个设置报警。组对象一般可用来对报警进行分类,以方便系统其它部分对同类报警进行处理。,当多个报警同时产生时,系统优先处理优先级高的报警。当报警延时次数大于1时,实时数据库只有在检测到对应数据对象连续多次处于报警状态后,才认为该数据对象的报警条件成立。我们在实际应用中,适当设置报警延时次数,可避免因干扰信号而引起的误报警行为。,当报警信息产生时,我们还可以设置报警信息是否需要自动存盘和自动打印,如图所示,这种设置操作需要在数据对象的存盘属性中完成。,三、处理报警重点:报警条件、报警应答和报警限值的设置方法。报警的产生、通知和存储由实时数据库自动完成,对报警动作的响应由设计者根据需要,在报

43、警策略中组态完成。,在工作台窗口中,鼠标单击“运行策略”标签,在运行策略窗口中,单击“新建策略”按钮,弹出选择策略类型的对话框,选择“报警策略”,单击“确定”按钮,系统就添加了一个新的报警策略,缺省名为策略X(X表示数字)。,1、报警条件,策略名称:输入报警策略的名称。策略执行方式:对应数据对象:用于与实时数据库的数据对象连接。对应报警状态:对应的报警状态有三种:报警产生时执行一次、报警结束时执行一次、报警应答时执行一次。,确认延时时间:当报警产生时,延时一定时间后,再检查数据对象是否还处在报警状态,如是,则条件成立,报警策略被系统自动调用一次。,策略内容注释:用于对策略加以注释。当设置的变量

44、产生报警时,在和设定的对应报警状态和确认延时时刻一致时,系统就会调用此策略,用户可以在策略中组态需要在报警时执行的动作,如打开一个报警提示窗口或执行一个声音文件等。,2、报警应答 报警应答的作用是告诉系统,操作员已经知道对应数据对象的报警产生,并作了相应的处理,同时,MCGS将自动记录下应答的时间(要选取数据对象的报警信息自动存盘属性才有效)。,在实际应用中,对重要的报警事件都要由操作员进行及时的应急处理,报警应答机制能记录下报警产生的时间和应答报警的时间,为事后进行事故分析提供实际数据。,3、报警限值在策略工具箱中的数据对象策略构件,在运行时可用来读取和设置数值型数据对象的报警限值,如下图所

45、示,设置指定对象的报警下限为20,报警上限为300。,“”表示把右边编辑框内的常数值或指定数据对象的值设定为对应的限值,“”表示把对应的报警限值读到右边编辑框内的指定数据对象(此时,不能是常量)。,同时也可以在脚本程序中使用内部系统函数!SetAlmValue(DatName,Value,Flag)来设置数据对象的报警限值,使用内部系统函数!GetAlmValue(DatName,Value,Flag)读取数据对象报警限值。,4、显示报警信息 重点:MCGS动画构件“报警显示”的属性设置 在用户窗口中放置报警显示动画构件,并对其进行组态配置,运行时,可实现对指定数据对象报警信息的实时显示。如下

46、图所示,报警显示动画构件显示的一次报警信息包含如下内容:,报警事件产生的时间产生报警的数据对象名称报警类型(限值报警、状态报警、事件报警)报警事件(产生、结束、应答)对应数据对象的当前值(触发报警时刻数据对象的值)报警界限值报警内容注释,组态时,在用户窗口中双击报警显示构件可将其激活,进入该构件的编辑状态。在编辑状态下,用户可以用鼠标来自由改变各显示列的宽度,对不需要显示的信息,将其列宽设置为零即可。在编辑状态下,再双击报警显示构件,将弹出如下图所示的属性页。,一般情况下,一个报警显示构件只用来显示某一类报警产生时的信息。定义一个组对象,其成员为所有相关的数据对象,把属性页中的“报警对应的数据

47、对象”设置成该组对象,则运行时,组对象包括的所有数据对象的报警信息都在该报警显示构件中显示。,5.报警信息的存盘和实时打印报警信息的存盘和实时打印由MCGS的实时数据库负责管理,但组态时,需要在数据对象属性页的“存盘属性”页进行设置,选取“自动保存产生的报警信息”选项和“自动实时打印产生的报警信息”选项,否则,系统不保存也不实时打印报警信息。,6.报警信息浏览构件 MCGS在策略构件工具箱中提供了报警信息浏览构件,在系统运行时,通过执行运行策略,可以将指定数据对象在指定时间范围内的报警存盘信息以报表的形式显示在窗口中,或是直接输出到打印机上,打印成报表。,7.报警操作函数 MCGS报警操作函数

48、是MCGS报警功能的扩展,用户利用报警操作函数可以更加方便、快捷的完成各种报警需要的功能,报警函数列表如下:!AnswerAlm(DatName):应答数据对象DataName所产生的报警。,!SetAlmValue(DatName,Value,Flag):设置数据对象DatName对应的报警限值。!GetAlmValue(DatName,Value,Flag):读取数据对象DatName报警限值。!EnableAlm(name,n):打开/关闭数据对象的报警功能。!SetAlmLinePrint(n):设置报警行式打印输出。,!DelAlmDat(DatName,Num):删除数据对象Dat

49、aName对应的报警存储数据中最早Num小时内的报警存储数据。!DelAllAlmDat(DatName):删除数据对象DatName对应的所有报警存储数据。,报警操作实例,第一步,在实时数据库中完成变量Data00的报警定义和自动存盘、自动打印设置.第二步,建立报警显示窗口,在窗口中使用报警显示构件实时的显示Data00报警信息.,第三步,建立报警策略,在策略属性中连接Data00,在策略块中新建一个策略行,在策略行使用数据对象操作构件打开第二步中的报警窗口。,第四步,显示和打印报警存盘信息,新建一个用户策略,在策略块中新建一个策略行,在策略行使用报警信息浏览构件显示Data00的报警存盘信

50、息,同时在窗口中使用一个按钮来执行此策略或在主控窗口中新建一个菜单项执行此策略。,第五步,修改报警限值和打开/关闭报警功能,在脚本程序构件中或按钮下的脚本程序中使用!SetAlmValue(DatName,Value,Flag)来设置数据对象的报警限值、!GetAlmValue(DatName,Value,Flag)读取数据对象报警限值和!EnableAlm(name,n)控制报警的开关操作。,思考:,1、为什么报警信息不能保存下来?2、怎样实现对带有小数位的数据进行四舍五入的处理?3、组对象有什么用处?4、为何变量删不掉?,1、一定是在数据对象属性页的“存盘属性”页设置时,没有选取“自动保存

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号