MCGS组态课件(新).ppt_第1页
MCGS组态课件(新).ppt_第2页
MCGS组态课件(新).ppt_第3页
MCGS组态课件(新).ppt_第4页
MCGS组态课件(新).ppt_第5页
已阅读5页,还剩212页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

电气工程系曾劲松二零一二年 组态控制技术 人机监控界面系统的构成 User PC PLC Pump 一般人机界面监控系统的构成如右操作员 User 面对PC机PC机利用各种通讯手段与PLC建立通讯PC从PLC中获得数据 并利用PC的强大图形功能动态显示这些数据PLC完成对生产设备的控制 角色 用户 资源 Role Sysmgr Resource Role Operator Resource Point Device Port User 角色 用户 设备 点 端口 资源 角色 用户 资源 角色 Role 一组使用监控计算机的人 这一组人具有相同的操作权限用户 User 要使用监控计算机的每一个人 每个用户有自己的标识符 UserID 及登录密码 用户还可以有自己的名字 UserName 资源 Resource 由PLC控制的 被用户所监控的对象 这是一个抽象的概念 它可以是一条生产线 也可以是一台泵在工程结构中 角色是让用户有权使用特许功能的机制 每个用户被指定一种角色 相反地 一种角色可以分配给几个用户 端口 设备 点 端口 Port 计算机用来与PLC通讯的通讯端口 可以是串行口 COM1 COM2 也可以是计算机上的以太网卡 令牌环网卡 DDE通讯通道设备 Device 与监控计算机通讯相连的PLC 这些设备挂在计算机的通讯端口下点 Point 监控计算机从PLC中读取的变量 或者是计算机内存中的虚拟变量 不对应于PLC中的某个变量 设备 端口 点 Point 第一讲组态软件概述 一 MCGS组态软件的功能和特点MCGS即 监视与控制通用系统 英文全称为MonitorandControlGeneratedSystem MCGS是为工业过程控制和实时监测领域服务的通用计算机系统软件 具有功能完善 操作简便 可视性好 可维护性强的突出特点 MCGS工控组态软件的功能和特点可归纳如下 概念简单 易于理解和使用 普通工程人员经过短时间的培训就能正确掌握 快速完成多数简单工程项目的监控程序设计和运行操作 功能齐全 便于方案设计 MCGS从设备驱动 数据采集 到数据处理 报警处理 流程控制 动画显示 报表输出 曲线显示等各个环节 均有丰富的功能组件和常用图形库可供选用 3 实时性与并行处理 MCGS充分利用了Windows操作平台的多任务 按优先级分时操作的功能 使PC机广泛应用于工程测控领域成为可能 4 建立实时数据库 便于用户分步组态 保证系统安全可靠运行 MCGS组态软件由主控窗口 设备窗口 用户窗口 实时数据库和运行策略五部分构成 其中的 实时数据库 是整个系统的核心 5 设立 设备工具箱 针对外部设备的特征 用户从中选择某种 构件 设置于设备窗口内 赋予相关的属性 建立系统与外部设备的连接关系 即可实现对该种设备的驱动和控制 6 面向窗口 的设计方法 增加了可视性和可操作性 以窗口为单位 构造用户运行系统的图形界面 使得MCGS的组态工作既简单直观 又灵活多变 7 利用丰富的 动画组态 功能 快速构造各种复杂生动的动态画面 以图象 图符 数据 曲线等多种形式 为操作员及时提供系统运行中的的状态 品质及异常报警等有关信息 8 引入 运行策略 的概念 复杂的工程作业 运行流程都是多分支的 用传统的编程方法实现 既繁琐又容易出错 MCGS开辟了 策略窗口 用户可以选用系统提供的各种条件和功能的 策略构件 9 MCGS系统由五大功能部件组成 主要的功能部件以构件的形式来构造 不同的构件有着不同的功能 且各自独立 三种基本类型的构件 设备构件 动画构件 策略构件 完成了MCGS系统三大部分 设备驱动 动画显示和流程控制 的所有工作 10 MCGS中数据的存储不再使用普通的文件 而是用数据库来管理一切 11 设立 对象元件库 解决了组态结果的积累和重新利用问题 所谓对象元件库 实际上是分类存储各种组态对象的图库 12 提供对网络的支持 考虑到工控系统今后的发展趋势 MCGS充分运用现今发展的DCCW DistributedComputerCooperatorWork 技术 即分布式计算机协同工作方式 来使分散在不同现场之间的采集系统和工作站之间协同工作 二 MCGS组态软件的系统构成1 MCGS组态软件的整体结构 MCGS组态软件 以下简称MCGS 由 MCGS组态环境 和 MCGS运行环境 两个系统组成 两部分互相独立 又紧密相关 MCGS组态环境是生成用户应用系统的工作环境 用户在MCGS组态环境中完成全部组态工作 MCGS运行环境是用户应用系统的运行环境 在运行环境中完成对工程的控制工作 2 MCGS工程的五大部分 MCGS组态软件所建立的工程由主控窗口 设备窗口 用户窗口 实时数据库和运行策略五部分构成 每一部分分别进行组态操作 完成不同的工作 具有不同的特性 主控窗口 是工程的主窗口或主框架 主要的组态操作包括 定义工程的名称 编制工程菜单 设计封面图形 确定自动启动的窗口 设定动画刷新周期 指定数据库存盘文件名称及存盘时间等 设备窗口 是连接和驱动外部设备的工作环境 在本窗口内配置数据采集与控制输出设备 注册设备驱动程序 定义连接与驱动设备用的数据变量 用户窗口 本窗口主要用于设置工程中人机交互的界面 诸如 生成各种动画显示画面 报警输出 数据与曲线图表等 实时数据库 是工程各个部分的数据交换与处理中心 它将MCGS工程的各个部分连接成有机的整体 在本窗口内定义不同类型和名称的变量 作为数据采集 处理 输出控制 动画连接及设备驱动的对象 运行策略 本窗口主要完成工程运行流程的控制 包括编写控制程序 if then脚本程序 选用各种功能构件 如 数据提取 历史曲线 定时器 配方操作 多媒体输出等 三 MCGS组态软件的工作方式1 MCGS如何与设备进行通讯 MCGS通过设备驱动程序与外部设备进行数据交换 包括数据采集和发送设备指令 MCGS负责在运行环境中调用相应的设备驱动程序 将数据传送到工程中各个部分 完成整个系统的通讯过程 每个驱动程序独占一个线程 达到互不干扰的目的 2 MCGS如何产生动画效果 MCGS为每一种基本图形元素定义了不同的动画属性 所谓动画属性 实际上是反映图形大小 颜色 位置 可见度 闪烁性等状态的特征参数 如 一个长方形的动画属性有可见度 大小变化 水平移动等 每一种动画属性都会产生一定的动画效果 思考 我们在组态环境中生成的画面都是静止的 如何在工程运行中产生动画效果呢 方法是 图形的每一种动画属性中都有一个 表达式 设定栏 在该栏中设定一个与图形状态相联系的数据变量 连接到实时数据库中 以此建立相应的对应关系 MCGS称之为动画连接 3 MCGS如何实施远程多机监控 MCGS提供了一套完善的网络机制 可通过TCP IP网 Modem网和串口网将多台计算机连接在一起 构成分布式网络测控系统 实现网络间的实时数据同步 历史数据同步和网络事件的快速传递 4 如何对工程运行流程实施有效控制 MCGS开辟了专用的 运行策略 窗口 建立用户运行策略 MCGS提供了丰富的功能构件 供用户选用 通过构件配置和属性设置两项组态操作 生成各种功能模块 称为 用户策略 使系统能够按照设定的顺序和条件 操作实时数据库 实现对动画窗口的任意切换 控制系统的运行流程和设备的工作状态 第二讲MCGS组态软件常用术语 一 MCGS组态软件常用术语工程 用户应用系统的简称 在MCGS组态环境中生成的文件称为工程文件 后缀为 mcg 存放于MCGS目录的WORK子目录中 如 D MCGS WORK MCGS例程1 mcg 对象 操作目标与操作环境的统称 如窗口 构件 数据 图形等皆称为对象 选中对象 鼠标点击窗口或对象 使其处于可操作状态 称此操作为选中对象 被选中的对象 包括窗口 也叫当前对象 组态 在窗口环境内 进行对象的定义 制作和编辑 并设定其状态特征 属性 参数 将此项工作称为组态 属性 对象的名称 类型 状态 性能及用法等特征的统称 菜单 是执行某种功能的命令集合 位于窗口顶端菜单条内的菜单命令称为顶层菜单 一般分为独立的菜单项和下拉菜单两种形式 下拉菜单还可分成多级 每一级称为次级子菜单 构件 具备某种特定功能的程序模块 可以用VB VC等程序设计语言编写 通过编译 生成DLL OCX等文件 用户对构件设置一定的属性 并与定义的数据变量相连接 即可在运行中实现相应的功能 策略 是指对系统运行流程进行有效控制的措施和方法 启动策略 在进入运行环境后首先运行的策略 只运行一次 一般完成系统初始化的处理 该策略由MCGS自动生成 具体处理的内容由用户充填 循环策略 按照用户指定的周期时间 循环执行策略块内的内容 通常用来完成流程控制任务 退出策略 退出运行环境时执行的策略 该策略由MCGS自动生成 自动调用 一般由该策略模块完成系统结束运行前的善后处理任务 用户策略 由用户定义 用来完成特定的功能 用户策略一般由按钮 菜单 其他策略来调用执行 事件策略 当开关型变量发生跳变时 1到0 或0到1 执行的策略 只运行一次 热键策略 当用户按下定义的组合热键 如 Ctrl D 时执行的策略 只运行一次 可见度 指对象在窗口内的显现状态 即可见与不可见 变量类型 MCGS定义的变量有五种类型 数值型 开关型 字符型 事件型和组对象 事件对象 用来记录和标识某种事件的产生或状态的改变 如开关量的状态发生变化 组对象 用来存储具有相同存盘属性的多个变量的集合 内部成员可包含多个其他类型的变量 组对象只是对有关联的某一类数据对象的整体表示方法 而实际的操作则均针对每个成员进行 动画刷新周期 动画更新速度 即颜色变换 物体运动 液面升降的快慢等 以毫秒为单位 父设备 本身没有特定功能 但可以和其他设备一起与计算机进行数据交换的硬件设备 如 串口父设备 子设备 必须通过一种父设备与计算机进行通讯的设备 如 岛电SR25仪表 研华4017模块等 模拟设备 在对工程文件测试时 提供可变化的数据的内部设备 可提供多种变化方式 二 MCGS组态软件的操作方式系统工作台面 是MCGS组态操作的总工作台面 鼠标双击Windows95 98 NT工作台面上的 MCGS组态环境 图标 或执行 开始 菜单中的 MCGS组态环境 菜单项 弹出的窗口即为MCGS的工作台窗口 组态工作窗口 是创建和配置图形对象 数据对象和各种构件的工作环境 又称为对象的编辑窗口 主要包括 主控窗口 用户窗口 设备窗口 运行策略窗口 实时数据库窗口 属性设置窗口 是设置对象各种特征参数的工作环境 又称属性设置对话框 对象不同 属性窗口的内容各异 但结构形式大体相同 图形库工具箱 MCGS为用户提供了丰富的组态资源 工具按钮一览 工作台窗口的工具条一栏内 排列标有各种位图图标的按钮 称为工具条功能按钮 简称为工具按钮 第三讲建立新工程 一 组建工程的一般过程工程项目系统分析 分析工程项目的系统构成 技术要求和工艺流程 弄清系统的控制流程和测控对象的特征 明确监控要求和动画显示方式 分析工程中的设备采集及输出通道与软件中实时数据库变量的对应关系 分清哪些变量是要求与设备连接的 哪些变量是软件内部用来传递数据及动画显示的 工程立项搭建框架 MCGS称为建立新工程 主要内容包括 定义工程名称 封面窗口名称和启动窗口 封面窗口退出后接着显示的窗口 名称 指定存盘数据库文件的名称以及存盘数据库 设定动画刷新的周期 经过此步操作 即在MCGS组态环境中 建立了由五部分组成的工程结构框架 封面窗口和启动窗口也可等到建立了用户窗口后 再行建立 设计菜单基本体系 为了对系统运行的状态及工作流程进行有效地调度和控制 通常要在主控窗口内编制菜单 编制菜单分两步进行 第一步首先搭建菜单的框架 第二步再对各级菜单命令进行功能组态 在组态过程中 可根据实际需要 随时对菜单的内容进行增加或删除 不断完善工程的菜单 制作动画显示画面 动画制作分为静态图形设计和动态属性设置两个过程 前一部分类似于 画画 用户通过MCGS组态软件中提供的基本图形元素及动画构件库 在用户窗口内 组合 成各种复杂的画面 后一部分则设置图形的动画属性 与实时数据库中定义的变量建立相关性的连接关系 作为动画图形的驱动源 编写控制流程程序 在运行策略窗口内 从策略构件箱中 选择所需功能策略构件 构成各种功能模块 称为策略块 由这些模块实现各种人机交互操作 MCGS还为用户提供了编程用的功能构件 称之为 脚本程序 功能构件 使用简单的编程语言 编写工程控制程序 完善菜单按钮功能 包括对菜单命令 监控器件 操作按钮的功能组态 实现历史数据 实时数据 各种曲线 数据报表 报警信息输出等功能 建立工程安全机制等 编写程序调试工程 利用调试程序产生的模拟数据 检查动画显示和控制流程是否正确 连接设备驱动程序 选定与设备相匹配的设备构件 连接设备通道 确定数据变量的数据处理方式 完成设备属性的设置 此项操作在设备窗口内进行 工程完工综合测试 最后测试工程各部分的工作情况 完成整个工程的组态工作 实施工程交接 二 建立新工程 以水位控制系统为例 1 鼠标单击文件菜单中 新建工程 选项 如果MCGS安装在D 盘根目录下 则会在D MCGS WORK 下自动生成新建工程 默认的工程名为 新建工程X MCG X表示新建工程的顺序号 如 0 1 2等 2 选择文件菜单中的 工程另存为 菜单项 弹出文件保存窗口 3 在文件名一栏内输入 水位控制系统 点击 保存 按钮 工程创建完毕 第四讲制作工程画面 一 建立画面 以水位控制系统为例 1 在 用户窗口 中单击 新建窗口 按钮 建立 窗口0 2 选中 窗口0 单击 窗口属性 进入 用户窗口属性设置 3 将窗口名称改为 水位控制 窗口标题改为 水位控制 窗口位置选中 最大化显示 其它不变 单击 确认 4 在 用户窗口 中 选中 水位控制 点击右键 选择下拉菜单中的 设置为启动窗口 选项 将该窗口设置为运行时自动加载的窗口 二 编辑画面选中 水位控制 窗口图标 单击 动画组态 进入动画组态窗口 开始编辑画面 制作文字框图 1 单击工具条中的 工具箱 按钮 打开绘图工具箱 2 选择 工具箱 内的 标签 按钮 鼠标的光标呈 十字 形 在窗口顶端中心位置拖拽鼠标 根据需要拉出一个一定大小的矩形 3 在光标闪烁位置输入文字 水位控制系统演示工程 按回车键或在窗口任意位置用鼠标点击一下 文字输入完毕 4 选中文字框 作如下设置 点击 填充色 按钮 设定文字框的背景颜色为 没有填充 点击 线色 按钮 设置文字框的边线颜色为 没有边线 点击 字符字体 按钮 设置文字字体为 宋体 字型为 粗体 大小为 26点击 字符颜色 按钮 将文字颜色设为 蓝色 制作水箱 1 单击绘图工具箱中的 插入元件 图标 弹出对象元件管理对话框 2 从 储藏罐 类中选取罐17 罐53 3 从 阀 和 泵 类中分别选取2个阀 阀58 阀44 1个泵 泵40 4 将储藏罐 阀 泵调整为适当大小 放到适当位置 参照效果图 5 选中工具箱内的流动块动画构件图标 鼠标的光标呈 十 字形 移动鼠标至窗口的预定位置 点击一下鼠标左键 移动鼠标 在鼠标光标后形成一道虚线 拖动一定距离后 点击鼠标左键 生成一段流动块 再拖动鼠标 可沿原来方向 也可垂直原来方向 生成下一段流动块 6 使用工具箱中的图标 分别对阀 罐进行文字注释 依次为 水泵 水罐1 调节阀 水罐2 出水阀 7 选择 文件 菜单中的 保存窗口 选项 保存画面 第五讲定义数据对象 实时数据库是MCGS工程的数据交换和数据处理中心 数据对象是构成实时数据库的基本单元 建立实时数据库的过程也就是定义数据对象的过程 定义数据对象的内容主要包括 指定数据变量的名称 类型 初始值和数值范围 确定与数据变量存盘相关的参数 如存盘的周期 存盘的时间范围和保存期限等 在开始定义之前 我们先对所有数据对象进行分析 以水位控制系统为例 下面以数据对象 水泵 为例 介绍一下定义数据对象的步骤 1 单击工作台中的 实时数据库 窗口标签 进入实时数据库窗口页 2 单击 新增对象 按钮 在窗口的数据对象列表中 增加新的数据对象 系统缺省定义的名称为 Data1 Data2 Data3 等 多次点击该按钮 则可增加多个数据对象 3 选中对象 按 对象属性 按钮 或双击选中对象 则打开 数据对象属性设置 窗口 4 将对象名称改为 水泵 对象类型选择 开关型 在对象内容注释输入框内输入 控制水泵启动 停止的变量 单击 确认 按照此步骤 根据上面列表 设置其他9个数据对象 第六讲动画连接 由图形对象搭制而成的图形画面是静止不动的 需要对这些图形对象进行动画设计 真实地描述外界对象的状态变化 达到过程实时监控的目的 MCGS实现图形动画设计的主要方法是将用户窗口中图形对象与实时数据库中的数据对象建立相关性连接 并设置相应的动画属性 在系统运行过程中 图形对象的外观和状态特征 由数据对象的实时采集值驱动 从而实现了图形的动画效果 以水位控制系统为例需要制作动画效果的部分包括 水箱中水位的升降 水泵 阀门的启停 水流效果 水箱中水位的升降效果水位升降效果是通过设置数据对象 大小变化 连接类型实现的 具体设置步骤如下 1 在用户窗口中 双击水罐1 弹出单元属性设置窗口 2 单击 动画连接 标签 3 选中折线 在右端出现 4 单击进入动画组态属性设置窗口 按照下面的要求设置各个参数 表达式 液位1 最大变化百分比对应的表达式的值 10 其它参数不变 5 单击 确认 水罐1水位升降效果制作完毕 水罐2水位升降效果的制作同理 单击进入动画组态属性设置窗口后 按照下面的值进行参数设置 表达式 液位2 最大变化百分比对应的表达式的值 6 其它参数不变 水泵 阀门的启停水泵 阀门的启停动画效果是通过设置连接类型对应的数据对象实现的 设置步骤如下 1 双击水泵 弹出单元属性设置窗口 2 选中 数据对象 标签中的 按钮输入 右端出现浏览按钮 3 单击浏览按钮 双击数据对象列表中的 水泵 4 使用同样的方法将 填充颜色 对应的数据对象设置为 水泵 5 单击 确认 水泵的启停效果设置完毕 调节阀的启停效果同理 只需在数据对象标签页中 将 按钮输入 填充颜色 的数据对象均设置为 调节阀 出水阀的启停效果 需在数据对象标签页中 将 按钮输入 可见度 的数据对象均设置为 出水阀 水流效果水流效果是通过设置流动块构件的属性实现的 实现步骤如下 1 双击水泵右侧的流动块 弹出流动块构件属性设置窗口 2 在流动属性页中 进行如下设置 表达式 水泵 1 选择当表达式非零时 流块开始流动 水罐1右侧流动块及水罐2右侧流动块的制作方法与此相同 只需将表达式相应改为 调节阀 1 出水阀 1即可 至此动画连接已完成 按F5或点击工具条中图标 进入运行环境 看一下组态后的结果 前面 建立画面 一节中 我们已将 水位控制 窗口设置为启动窗口 所以在运行时 系统自动运行该窗口 这时我们看见的画面仍是静止的 移动鼠标到 水泵 调节阀 出水阀 上面的红色部分 鼠标指针会呈手形 单击一下 红色部分变为绿色 同时流动块相应地运动起来 但水罐仍没有变化 这是由于我们没有信号输入 也没有人为地改变水量 我们可以用如下方法改变其值 使水罐动起来 利用滑动输入器控制水位以水罐1的水位控制为例 1 进入 水位控制 窗口 2 选中 工具箱 中的滑动输入器图标 当鼠标呈 十 后 拖动鼠标到适当大小 3 调整滑动块到适当的位置 4 双击滑动输入器构件 进入属性设置窗口 按照下面的值设置各个参数 基本属性 页中 滑块指向 指向左 上 刻度与标注属性 页中 主划线数目 5 即能被10整除 操作属性 页中 对应数据对象名称 液位1 滑块在最右 下 边时对应的值 10 其它不变 5 在制作好的滑块下面适当的位置 制作一文字标签 制作方法参见 编辑画面 一节 按下面的要求进行设置 输入文字 水罐1输入文字颜色 黑色框图填充颜色 没有填充框图边线颜色 没有边线 6 按照上述方法设置水罐2水位控制滑块 参数设置为 基本属性 页中 滑块指向 指向左 上 操作属性 页中 对应数据对象名称 液位2 滑块在最右 下 边时对应的值 6 其它不变 7 将水罐2水位控制滑块对应的文字标签设置为 输入文字 水罐2输入文字颜色 黑色框图填充颜色 没有填充框图边线颜色 没有边线 8 点击工具箱中的常用图符按钮 打开常用图符工具箱 9 选择其中的凹槽平面按钮 拖动鼠标绘制一个凹槽平面 恰好将两个滑动块及标签全部覆盖 10 选中该平面 点击编辑条中 置于最后面 按钮 此时按 F5 进入运行环境后 可以通过拉动滑动输入器而使水罐中的液面动起来 利用旋转仪表控制水位在工业现场一般都会大量地使用仪表进行数据显示 MCGS组态软件适应这一要求提供了旋转仪表构件 用户可以利用此构件在动画界面中模拟现场的仪表运行状态 具体制作步骤如下 1 选取 工具箱 中的 旋转仪表 图标 调整大小放在水罐1下面适当位置 2 双击该构件进行属性设置 各参数设置如下 刻度与标注属性 页中 主划线数目 5 操作属性 页中 表达式 液位1 最大逆时钟角度 90 对应的值 0 最大顺时钟角度 90 对应的值 10其它不变 3 按照此方法设置水罐2数据显示对应的旋转仪表 参数设置如下 操作属性 页中 表达式 液位2 最大逆时钟角度 90 对应的值 0 最大顺时钟角度 90 对应的值 6 其它不变 进入运行环境后 可以通过拉动旋转仪表的指针使整个画面动起来 水量显示为了能够准确地了解水罐1 水罐2的水量 我们可以通过设置标签的 显示输出 属性显示其值 具体操作如下 1 单击 工具箱 中的 标签 图标 绘制两个标签 调整大小位置 将其并列放在水罐1下面 第一个标签用于标注 显示文字为 水罐1第二个标签用于显示水罐水量 2 双击第一个标签进行属性设置 参数设置如下 输入文字 水罐1文字颜色 黑色框图填充颜色 没有填充框图边线颜色 没有边线 3 双击第二个标签 进入动画组态属性设置窗口 将 填充颜色设置为 白色边线颜色设置为 黑色 4 在输入输出连接域中 选中 显示输出 选项 在组态属性设置窗口中则会出现 显示输出 标签 5 单击 显示输出 标签 设置显示输出属性 参数设置如下 表达式 液位1 输出值类型 数值量输出 输出格式 向中对齐 整数位数 0 小数位数 1 6 单击 确认 水罐1水量显示标签制作完毕 水罐2水量显示标签与此相同 需做的改动 第一个用于标注的标签 显示文字为 水罐2 第二个用于显示水罐水量的标签 表达式改为 液位2 第七讲编写控制流程 脚本程序简介用户脚本程序是由用户编制的 用来完成特定操作和处理的程序 脚本程序的编程语法非常类似于普通的Basic语言 但在概念和使用上更简单直观 力求做到使大多数普通用户都能正确 快速地掌握和使用 对于大多数简单的应用系统 MCGS的简单组态就可完成 只有比较复杂的系统 才需要使用脚本程序 但正确地编写脚本程序 可简化组态过程 大大提高工作效率 优化控制过程 脚本语言编辑环境脚本程序编辑环境是用户书写脚本语句的地方 脚本程序编辑环境主要由脚本程序编辑框 编辑功能按钮 MCGS操作对象列表和函数列表 脚本语句和表达式4个部分构成 分别说明如下 脚本程序编辑框用于书写脚本程序和脚本注释 用户必须遵照MCGS规定的语法结构和书写规范书写脚本程序 否则语法检查不能通过 编辑功能按钮提供了文本编辑的基本操作 用户使用这些操作可以方便操作和提高编辑速度 比如 在脚本程序编辑框中选定一个函数 然后按下帮助按钮 MCGS将自动打开关于这个函数的在线帮助 或者 如果函数拼写错误 MCGS将列出与所提供的名字最接近函数的在线帮助 脚本语句和表达式列出了MCGS使用的三种语句的书写形式和MCGS允许的表达式类型 用鼠标单击要选的语句和表达式符号 在脚本编辑处光标所在的位置填上语句或表达式的标准格式 MCGS对象和函数列表以树结构的形式 列出了工程中所有的窗口 策略 设备 变量 系统支持的各种方法 属性以及各种函数 以供用户快速的查找和使用 比如 可以在用户窗口树中 选定一个窗口 窗口0 打开窗口0下的 方法 然后双击Open函数 则MCGS自动在脚本程序编辑框中 添加了一行语句 用户窗口 窗口0 Open 通过这行语句 就可以完成窗口打开的工作 脚本程序基本语句由于MCGS脚本程序是为了实现某些多分支流程的控制及操作处理 因此包括了几种最简单的语句 赋值语句 条件语句 退出语句和注释语句 同时 为了提供一些高级的循环和遍历功能 还提供了循环语句 所有的脚本程序都可由这五种语句组成 当需要在一个程序行中包含多条语句时 各条语句之间须用 分开 程序行也可以是没有任何语句的空行 大多数情况下 一个程序行只包含一条语句 赋值程序行中根据需要可在一行上放置多条语句 1 赋值语句赋值语句的形式为 数据对象 表达式 赋值语句用赋值号 号 来表示 它具体的含义是 把 右边表达式的运算值赋给左边的数据对象 赋值号左边必须是能够读写的数据对象 如 开关型数据 数值型数据以及能进行写操作的内部数据对象 而组对象 事件型数据对象 只读的内部数据对象 系统函数以及常量 均不能出现在赋值号的左边 因为不能对这些对象进行写操作 赋值号的右边为一表达式 表达式的类型必须与左边数据对象值的类型相符合 否则系统会提示 赋值语句类型不匹配 的错误信息 条件语句条件语句有如下三种形式 If 表达式 Then 赋值语句或退出语句 If 表达式 Then 语句 EndIfIf 表达式 Then 语句 Else 语句 EndIf 条件语句中的四个关键字 If Then Else Endif 不分大小写 如拼写不正确 检查程序会提示出错信息 条件语句允许多级嵌套 即条件语句中可以包含新的条件语句 MCGS脚本程序的条件语句最多可以有8级嵌套 为编制多分支流程的控制程序提供了可能 IF 语句的表达式一般为逻辑表达式 也可以是值为数值型的表达式 当表达式的值为非0时 条件成立 执行 Then 后的语句 否则 条件不成立 将不执行该条件块中包含的语句 开始执行该条件块后面的语句 值为字符型的表达式不能作为 IF 语句中的表达式 循环语句循环语句为While和EndWhile 其结构为 While 条件表达式 EndWhile当条件表达式成立时 非零 循环执行While和EndWhile之间的语句 直到条件表达式不成立 为零 退出 退出语句退出语句为 Exit 用于中断脚本程序的运行 停止执行其后面的语句 一般在条件语句中使用退出语句 以便在某种条件下 停止并退出脚本程序的执行 注释语句以单引号 开头的语句称为注释语句 注释语句在脚本程序中只起到注释说明的作用 实际运行时 系统不对注释语句作任何处理 本讲主要目的是想通过编写一段脚本程序实现水位控制系统的控制流程 从而使大家熟悉脚本程序的编写环境 下面先对控制流程进行分析 当 水罐1 的液位达到9米时 就要把 水泵 关闭 否则就要自动启动 水泵 当 水罐2 的液位不足1米时 就要自动关闭 出水阀 否则自动开启 出水阀 当 水罐1 的液位大于1米 同时 水罐2 的液位小于6米就要自动开启 调节阀 否则自动关闭 调节阀 具体操作如下 1 在 运行策略 中 双击 循环策略 进入策略组态窗口 2 双击图标进入 策略属性设置 将 循环时间设为 200ms 按 确认 3 在策略组态窗口中 单击工具条中的 新增策略行 图标 增加一策略行 如果策略组态窗口中 没有策略工具箱 请单击工具条中的 工具箱 图标 弹出 策略工具箱 4 单击 策略工具箱 中的 脚本程序 将鼠标指针移到策略块图标上 单击鼠标左键 添加脚本程序构件 5 双击进入脚本程序编辑环境 输入下面的程序 IF液位11and液位2 6THEN调节阀 1ELSE调节阀 0ENDIF 第八讲MCGS报警处理 一 概述重点 MCGS的报警处理机制MCGS把报警处理作为数据对象的属性 封装在数据对象内 由实时数据库在运行时自动处理 当数据对象的值或状态发生改变时 实时数据库判断对应的数据对象是否发生了报警或已产生的报警是否已经结束 并把所产生的报警信息通知给系统的其它部分 同时 实时数据库根据用户的组态设定 把报警信息存入指定的存盘数据库文件中 实时数据库只负责报警的判断 通知和存储三项工作 而报警产生后所要进行的其它处理操作 即对报警动作的响应 则需要设计者在组态时制定方案 例如希望在报警产生时 打开一个指定的用户窗口 或者显示和该报警相关的信息等 二 定义报警重点 MCGS报警的定义各种数值对象的报警方式数值型数据对象有六种报警 下下限 下限 上限 上上限 上偏差 下偏差 开关型数据对象有四种报警方式 开关量报警 开关量跳变报警 开关量正跳变报警和开关量负跳变报警 事件型数据对象不用进行报警限值或状态设置 当它所对应的事件产生时 报警也就产生 对事件型数据对象 报警的产生和结束是同时完成的 字符型数据对象和组对象不能设置报警属性 但对组对象所包含的成员可以单个设置报警 组对象一般可用来对报警进行分类 以方便系统其它部分对同类报警进行处理 当多个报警同时产生时 系统优先处理优先级高的报警 当报警延时次数大于1时 实时数据库只有在检测到对应数据对象连续多次处于报警状态后 才认为该数据对象的报警条件成立 我们在实际应用中 适当设置报警延时次数 可避免因干扰信号而引起的误报警行为 当报警信息产生时 我们还可以设置报警信息是否需要自动存盘和自动打印 如图所示 这种设置操作需要在数据对象的存盘属性中完成 三 处理报警重点 报警条件 报警应答和报警限值的设置方法 报警的产生 通知和存储由实时数据库自动完成 对报警动作的响应由设计者根据需要 在报警策略中组态完成 在工作台窗口中 鼠标单击 运行策略 标签 在运行策略窗口中 单击 新建策略 按钮 弹出选择策略类型的对话框 选择 报警策略 单击 确定 按钮 系统就添加了一个新的报警策略 缺省名为策略X X表示数字 1 报警条件 策略名称 输入报警策略的名称 策略执行方式 对应数据对象 用于与实时数据库的数据对象连接 对应报警状态 对应的报警状态有三种 报警产生时执行一次 报警结束时执行一次 报警应答时执行一次 确认延时时间 当报警产生时 延时一定时间后 再检查数据对象是否还处在报警状态 如是 则条件成立 报警策略被系统自动调用一次 策略内容注释 用于对策略加以注释 当设置的变量产生报警时 在和设定的对应报警状态和确认延时时刻一致时 系统就会调用此策略 用户可以在策略中组态需要在报警时执行的动作 如打开一个报警提示窗口或执行一个声音文件等 2 报警应答报警应答的作用是告诉系统 操作员已经知道对应数据对象的报警产生 并作了相应的处理 同时 MCGS将自动记录下应答的时间 要选取数据对象的报警信息自动存盘属性才有效 在实际应用中 对重要的报警事件都要由操作员进行及时的应急处理 报警应答机制能记录下报警产生的时间和应答报警的时间 为事后进行事故分析提供实际数据 3 报警限值在策略工具箱中的数据对象策略构件 在运行时可用来读取和设置数值型数据对象的报警限值 如下图所示 设置指定对象的报警下限为20 报警上限为300 表示把右边编辑框内的常数值或指定数据对象的值设定为对应的限值 表示把对应的报警限值读到右边编辑框内的指定数据对象 此时 不能是常量 同时也可以在脚本程序中使用内部系统函数 SetAlmValue DatName Value Flag 来设置数据对象的报警限值 使用内部系统函数 GetAlmValue DatName Value Flag 读取数据对象报警限值 4 显示报警信息重点 MCGS动画构件 报警显示 的属性设置在用户窗口中放置报警显示动画构件 并对其进行组态配置 运行时 可实现对指定数据对象报警信息的实时显示 如下图所示 报警显示动画构件显示的一次报警信息包含如下内容 报警事件产生的时间产生报警的数据对象名称报警类型 限值报警 状态报警 事件报警 报警事件 产生 结束 应答 对应数据对象的当前值 触发报警时刻数据对象的值 报警界限值报警内容注释 组态时 在用户窗口中双击报警显示构件可将其激活 进入该构件的编辑状态 在编辑状态下 用户可以用鼠标来自由改变各显示列的宽度 对不需要显示的信息 将其列宽设置为零即可 在编辑状态下 再双击报警显示构件 将弹出如下图所示的属性页 一般情况下 一个报警显示构件只用来显示某一类报警产生时的信息 定义一个组对象 其成员为所有相关的数据对象 把属性页中的 报警对应的数据对象 设置成该组对象 则运行时 组对象包括的所有数据对象的报警信息都在该报警显示构件中显示 5 报警信息的存盘和实时打印报警信息的存盘和实时打印由MCGS的实时数据库负责管理 但组态时 需要在数据对象属性页的 存盘属性 页进行设置 选取 自动保存产生的报警信息 选项和 自动实时打印产生的报警信息 选项 否则 系统不保存也不实时打印报警信息 6 报警信息浏览构件MCGS在策略构件工具箱中提供了报警信息浏览构件 在系统运行时 通过执行运行策略 可以将指定数据对象在指定时间范围内的报警存盘信息以报表的形式显示在窗口中 或是直接输出到打印机上 打印成报表 7 报警操作函数MCGS报警操作函数是MCGS报警功能的扩展 用户利用报警操作函数可以更加方便 快捷的完成各种报警需要的功能 报警函数列表如下 AnswerAlm DatName 应答数据对象DataName所产生的报警 SetAlmValue DatName Value Flag 设置数据对象DatName对应的报警限值 GetAlmValue DatName Value Flag 读取数据对象DatName报警限值 EnableAlm name n 打开 关闭数据对象的报警功能 SetAlmLinePrint n 设置报警行式打印输出 DelAlmDat DatName Num 删除数据对象DataName对应的报警存储数据中最早Num小时内的报警存储数据 DelAllAlmDat DatName 删除数据对象DatName对应的所有报警存储数据 报警操作实例 第一步 在实时数据库中完成变量Data00的报警定义和自动存盘 自动打印设置 第二步 建立报警显示窗口 在窗口中使用报警显示构件实时的显示Data00报警信息 第三步 建立报警策略 在策略属性中连接Data00 在策略块中新建一个策略行 在策略行使用数据对象操作构件打开第二步中的报警窗口 第四步 显示和打印报警存盘信息 新建一个用户策略 在策略块中新建一个策略行 在策略行使用报警信息浏览构件显示Data00的报警存盘信息 同时在窗口中使用一个按钮来执行此策略或在主控窗口中新建一个菜单项执行此策略 第五步 修改报警限值和打开 关闭报警功能 在脚本程序构件中或按钮下的脚本程序中使用 SetAlmValue DatName Value Flag 来设置数据对象的报警限值 GetAlmValue DatName Value Flag 读取数据对象报警限值和 EnableAlm name n 控制报警的开关操作 思考 1 为什么报警信息不能保存下来 2 怎样实现对带有小数位的数据进行四舍五入的处理 3 组对象有什么用处 4 为何变量删不掉 1 一定是在数据对象属性页的 存盘属性 页设置时 没有选取 自动保存产生的报警信息 选项和 自动实时打印产生的报警信息 选项 2 在数据对象属性页的 基本属性 页设置时设定小数位数 3 用来存储具有相同存盘属性的多个变量的集合 内部成员可包含多个其他类型的变量 组对象一般是作为数据来源用于制作报表和进行数据的处理 用户把变量加入到组对象后就只要对其进行处理 而不需要处理每个对象 不仅节省了大量的时间而且有利于管理 4 先用 使用计数检查 命令检查变量使用情况 然后就可以删除没有用到的变量 如果 某变量删不掉 说明此变量正在使用 不能删除 第九讲MCGS报表输出 一 概述在实际工程应用中 大多数监控系统需要对数据采集设备采集的数据进行存盘 统计分析 并根据实际情况打印出数据报表 所谓数据报表就是根据实际需要以一定格式将统计分析后的数据记录显示并打印出来 以便对生产过程中系统监控对象的状态进行综合记录和规律总结 数据报表在工控系统中是必不可少的一部分 是整个工控系统的最终结果输出 实际中常用的报表形式有实时数据报表和历史数据报表 班报表 日报表 月报表 等 二 MCGS报表机制在大多数应用系统中 数据报表一般分成两种类型 即实时数据报表和历史数据报表 实时数据报表是实时地将当前时刻的数据对象的值按一定的报告格式 用户组态 进行显示和打印出来 它是对瞬时量的反映 实时数据报表可以通过MCGS系统的自由表格构件来组态显示实时数据报表并将它打印输出 历史数据报表是从历史数据库中提取存盘数据记录 把历史数据以一定的格式显示和打印出来 为了能够快速方便地组态工程数据报表 MCGS系统提供了灵活方便的报表组态功能 系统提供了 EXCEL报表输出 策略构件和 历史表格 动画构件 两者均可以用于报表组态 Excel报表输出 策略构件用于对数据进行处理并生成数据报表 通过调用Office家族中Excel强大的数据处理能力 把MCGS存盘数据库或其数据库中的数据进行相应的处理 以Excel报表的形式保存 并可以将报表进行实时显示和打印输出 历史表格 动画构件是MCGS系统提供的内嵌的报表组态构件 用户只需在MCGS系统下组态绘制报表 通过MCGS的打印和显示窗口即可打印和显示数据报表 MCGS自由表格是一个简化的历史表格 它取消了与历史数据的连接 以及历史表格中的统计功能 以及其与历史数据报表制作有关的功能 但是具备与历史表格一样的格式化和表格结构组态 可以很方便的和实时数据连接 构造实时数据报表 三 创建报表在MCGS的绘图工具箱中 选择自由表格或历史表格 在用户窗口中 按下鼠标左键就可以在用户窗口中绘制出一个表格来 选择表格 使用工具条上的按钮对表格的各种属性进行调节 也可以对表格的事件进行组态 在表格上点击鼠标右键 在右键菜单中选择事件编辑 弹出事件编辑对话框 就可以对表格的事件进行编辑 四 报表组态报表创建后 缺省为一张空表 需要对表格进行组态 才能形成最终需要的报表 表格的组态 不论是自由表格还是历史表格 都分为两个层次来进行 这两个层次在表格的组态中 体现为表格两种状态组态 显示界面组态和连接方式组态 显示界面的组态 包括表格单元是否合并 表格单元内固定显示的字符串 如果表格单元内连接了数据 使用什么样的形式来显示这些数据 格式化字符串 表格单元在运行时是否可以编辑 是否需要把表格单元中的数据输出到某个数据变量上去 数据连接的组态 在自由表格中 对每个单元格进行数据连接 在历史表格中 用户可以根据实际情况确定是否需要构成一个单元区域以便连接到数据源中 或是否对数据对象进行统计处理等等 补充 历史报表历史报表通常用于从历史数据库中提取数据记录 并以一定的格式显示历史数据 实现历史报表有三种方式 用策略构件中的 存盘数据浏览 构件 用动画构件中的 历史表格 构件 用动画构件中的 存盘数据浏览 构件 利用 存盘数据浏览 策略构件实现历史报表 什么是嵌入式系统嵌入式系统一般指非PC系统 有计算机功能但又不称之为计算机的设备或器材 它是以应用为中心 软硬件可裁减的 适应应用系统对功能 可靠性 成本 体积 功耗等综合性严格要求的专用计算机系统 简单地说 嵌入式系统集系统的应用软件与硬件于一体 具有软件代码小 高度自动化 响应速度快等特点 特别适合于要求实时和多任务的体系 嵌入式系统主要由嵌入式处理器 相关支撑硬件 嵌入式操作系统及应用软件系统等组成 它是可独立工作的 器件 嵌入式系统的硬件部分 包括处理器 微处理器 存储器及外设器件和I O端口 图形控制器等 嵌入式系统有别于一般的计算机处理系统 它不具备像硬盘那样大容量的存储介质 而大多使用EPROM EEPROM或闪存 FlashMemory 作为存储介质 软件部分包括操作系统软件 要求实时和多任务操作 和应用程序编程 应用程序控制着系统的运作和行为 而操作系统控制着应用程序编程与硬件的交互作用 1 如何使画面中的数字 文本显示等根据值的不同用不同的颜色显示 2 动画的动作变化非常慢 为什么 3 脚本程序中添加赋值语句 确定时弹出错误对话框 4 进行表格的打印时 字体非常小和屏幕上显示的不一致 5 为什么用存盘数据浏览可以看到数据 但是历史表格中却不显示数据 1 可以用多个图形或文本叠加的方法实现 例如 某个测量值value在0 100内用蓝色表示 大于100时用红色表示 就可以用两个同样大小的显示框 一个字体颜色选为蓝色 设置其属性中的可见度表达式为value 100 对应图符不可见 另一个用红色 设置其属性中的可见度表达式为value 100 对应图符可见 2 在 主控窗口 系统属性 系统参数 可以修改闪烁周期和动画刷新周期时间 适当减小时间可以加快变化速度 3 亲自测试 采用微软拼音输入法中文输入状态下采用 号 没有问题 采用智能ABC输入法全角状态下加入 号 会出错误 半角状态正常 4 表格打印时 跟显示的字体有关系 有些打印机支持的字体较少 就会出现显示正常 打印不正常的现象 5 检查历史表格的数据来源中的组对象的存盘属性设置 需要设置一定的存盘时间 第十讲MCGS曲线显示 一 概述在实际生产过程中 对实时数据 历史数据的查看 分析是不可缺少的工作 但对大量数据仅做定量的分析还远远不够 必须根据大量的数据信息 绘制出趋势曲线 从趋势曲线的变化中发现数据的变化规律 因此 趋势曲线处理在工控系统中成为一个非常重要的部分 MCGS组态软件能为用户提供功能强大的趋势曲线 通过众多功能各异的曲线构件 包括历史曲线 实时曲线 计划曲线 以及相对曲线和条件曲线 用户能够组态出各种类型的趋势曲线 从而满足工程项目的不同需求 二 MCGS的趋势曲线机制MCGS共提供了五种用于趋势曲线绘制的构件 分别是 历史曲线 实时曲线 条件曲线 相对曲线和计划曲线 每种曲线构件的功能各不相同 1 历史曲线 历史曲线是将历史存盘数据从数据库中读出 以时间为横坐标 数据值为纵坐标进行曲线绘制 同时 历史曲线也可以实现实时刷新的效果 历史曲线主要用于事后查看数据分布和状态变化趋势以及总结信号变化规律 2 实时曲线 实时曲线是在MCGS系统运行时 从MCGS实时数据库中读取数据 同时 以时间为X轴进行曲线绘制 X轴的时间标注 可以按照用户组态要求 显示绝对时间或相对时间 3 条件曲线 条件曲线构件用于把历史存盘数据库中 满足一定条件的数据以曲线的形式显示出来 和历史曲线不同的是 条件曲线没有实时刷新功能 条件曲线处理的数据不是整个历史数据库 而只是其中满足一定条件的数据集合 同时 条件曲线构件的X轴可以为绝对时间 相对时间或数值型变量等多种形式 4 相对曲线 相对曲线构件能以实时曲线的方式显示一个或若干个变量与某一指定变量的函数关系 例如 显示当温度发生变化时 压力对应的变化情况 5 计划曲线 使用计划曲线构件 用户可以预先设置一段时间内的数据变化情况 然后

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论