7 监控组态软件的功能和使用_第1页
7 监控组态软件的功能和使用_第2页
7 监控组态软件的功能和使用_第3页
7 监控组态软件的功能和使用_第4页
7 监控组态软件的功能和使用_第5页
已阅读5页,还剩138页未读 继续免费阅读

下载本文档

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

文档简介

第7章监控组态软件的功能和使用 7 1监控组态软件的概述7 2WinCC的功能介绍 7 1监控组态软件概述 监控组态软件概述现代计算机监控系统的功能越来越强 基本的数据采集和控制功能故障诊断 数据分析 报表的形成和打印 与管理层交换数据 为操作人员提供灵活方便的人机界面 计算机监控系统的组态软件技术 图形界面技术面向对象编程技术 Object服务器OrientedProgram OOP 组件技术 ComponentObjectModel COM 1 组态及组态软件的概念 组态 configuration含义是使用软件工具对计算机及软件的各种资源进行配置 达到使计算机或软件按照预先设置 自动执行待定任务 满足使用者要求的目的 也就是通过对软件采用非编程的操作方式 进行参数填写 图形连接和文件生成等 使得软件乃至整个系统具有某种指定的功能 2 组态 二次开发 监控组态软件开发商事先开发好一套具有一定通用性的软件开发平台 生产若干种规格的硬件模块 如I O模块 通信模块 控制模块 然后 再根据用户的要求在软件平台上进行二次开发以及硬件模块的连接 这种软件的二次开发工作就称为 组态 相应的软件开发平台就称为 监控组态软件 简称 组态软件 组态可以分为离线组态和在线组态两种 组态 一词既可以用做名词也可以用做动词 3 HMI SCADA软件组态软件 更确切称呼是人机界面HMI HumanMachineInterface 监控与数据采集SCADA SupervisoryControlAndDataAcquisition 软件 实现HMI或MMI ManMachineInterface 和控制功能 实时数据库 实时控制 SCADA 通信及联网 开放数据接口 对I O设备的广泛支持 4 组态软件的特点突出特点是实时多任务 1 提供开发环境和运行环境 2 采用客户 服务器模式 3 软件采用组件方式构成 4 采用DDE OLE COM DCOM ActiveX技术 5 提供ODBC OPC API接口 6 支持分布式应用 7 支持多种系统结构 如单用户 多用户 网络 甚至多层网络结构 8 支持Internet应用 5 组态软件主要解决的问题 1 如何与采集 控制设备间进行数据交换 2 使来自设备的数据与计算机图形画面上的各元素关联起来 3 处理数据报警及系统报警 4 存储历史数据并支持历史数据的查询 5 各类报表的生成和打印输出 6 为使用者提供灵活 多变的组态工具 可以适应不同应用领域的需求 7 最终生成的应用系统运行稳定可靠 8 具有与第三方程序的接口 方便数据共享 6 组态软件的系统构成必备的典型组件包括 1 应用程序管理器提供应用程序的搜索 备份 解压缩 建立新应用等功能的专用管理工具 2 图形界面开发程序是自动化工程设计工程师为实施其控制方案 在图形编辑工具的支持下进行图形系统生成工作所依赖的开发环境 3 图形界面运行程序在系统运行环境下 图形目标应用系统被图形界面运行程序装入计算机内存并投入实时运行 4 实时数据库系统组态程序建立实时数据库的组态工具 可以定义实时数据库的结构 数据来源 数据连接 数据类型及相关的各种参数 提高系统的实时性 增强处理能力 5 实时数据库系统运行程序在系统运行环境下 目标实时数据库及其应用系统被实时数据库系统运行程序装入计算机内存并执行预定的各种数据计算 数据处理任务 历史数据的查询 检索 报警的管理都是在实时数据库系统运行程序中完成的 6 I O驱动程序是组态软件中必不可少的组成部分 用于和I O设备通讯 互相交换数据 DDE和OPCClient是两个通用的标准I O驱动程序 用来和支持DDE标准和OPC标准的I O设备通讯 多数组态软件的DDE驱动程序被整合在实时数据库系统或图形系统中 而OPCClient则多数单独存在 扩展可选组件包括 1 通用数据库接口 ODBC接口 组态程序通用数据库接口组件用来完成组态软件的实时数据库与通用数据库的互联 实现双向数据交换 通用数据库既可以读取实时数据 也可以读取历史数据 实时数据库也可以从通用数据库实时地读入数据 2 通用数据库接口 ODBC接口 运行程序已组态的通用数据库连接被装入计算机内存 按照预先指定的采样周期 对规定时间区段按照组态的数据库结构建立起通用数据库和实时数据库间的数据连接 3 策略 控制方案 编辑组态程序策略编辑 生成组件是以PC为中心实现低成本监控的核心软件 具有很强的逻辑 算术运算能力和丰富的控制算法 4 策略运行程序组态的策略目标系统被装入计算机内存并执行预定的各种数据计算 数据处理任务 同时完成与实时数据库的数据交换 5 实用通讯程序组件实用通讯程序极大地增强了组态软件的功能 可以实现与第三方程序的数据交换 是组态软件价值的主要表现之一 通讯实用程序具有以下功能 可以实现操作站的双机冗余热备用 实现数据的远程访问和传送 通讯实用程序可以使用以太网 RS485 RS232 PSTN等多种通讯介质或网络实现其功能 7 组态软件的设计思想组态软件普遍使用 面向对象 ObjectOriented OO 的编程和设计方法 组成 图形界面系统实时数据库系统第三方程序接口组件控制功能组件 1 图形界面系统构成现场各过程的图形的画面被划分成三类简单的对象 线 填充图形和文本 静态属性在系统投入运行后保持不变 与原来组态时一致 而动态属性则与表达式的值有关 表达式可以是来自I O设备的变量 也可以是由变量和运算符组成的数学表达式 这种对象的动态属性随表达式的值的变化而实时改变 这种组态过程通常叫做动画链接 在图形界面上还具备报警通知和确认 报表组态及打印 历史数据查询与显示等功能 各种报警 报表 趋势都是动画链接的对象 其数据源都可以通过组态来指定 2 控制功能组件以基于PC的策略编辑 生成组件 也称之为软逻辑或软PLC 为代表 是组态软件的重要组成部分 3 实时数据库实时数据库可以存储每个工艺点的多年数据 用户既可以浏览工厂当前的生产情况 又可以过去的生产情况 4 通信及第三方程序接口组件开放系统的标志 是组态软件与第三方程序交互及实现远程数据访问的重要手段之一 它的主要作用 1 用于双机冗余系统中 主机与从机间的通信 2 用于构建分布式HMI SCADA应用时多机间的通信 3 在基于Internet或Browser Server B S 应用中实现通信功能 7 2WinCC的功能介绍 一 WinCC系统综述二 WinCC的SCADA基本功能及其应用 一 WinCC系统综述 一 什么是WinCC 是在MicrosoftWindowsNT和Windows2000环境下的一种高效HMI系统 用于实现过程的可视化 并为操作员开发图形用户界面 是 WindowsControlCenter 视窗自动化中心 的缩写 通信 操作员使用WinCC对过程监视操作员使用WinCC对过程进行控制 一旦出现临界过程状态 WinCC自动发出报警信号 在使用WinCC进行工作时 既可以打印过程值 也可以对过程值进行电子归档 二 WinCC的系统结构WinCC具有模块化的结构基本组件组态软件 CS 运行软件 RT WinCC选项WinCC附加软件 1 组态软件 1 图形系统 图形编辑器 2 报警系统 报警记录 3 归档系统 变量记录编辑器 4 报表系统 报表编辑器 5 用户管理器 6 通讯 提供WinCC与SIMATIC各系列可编程控制器的连接 2 运行软件用户通过运行软件对过程进行操作和监控 主要执行下列任务 1 读出已经保存在CS数据库中的数据 2 显示屏幕中的画面 3 与自动化系统通讯 4 对当前的运行系统数据进行归档 5 对过程进行控制 二 WinCC的SCADA基本功能 一 用户接口和操作 二 图形系统 三 报警记录 四 归档系统 五 报表系统 一 用户接口和操作1 可组态的用户接口配置标准 用户化的WinCC操作界面 保证生产过程的安全可靠 使操作员能够优化生产过程 其硬件配置主要包括键盘 鼠标和触摸屏等 画面总览表现为结构树的形式 并由画面树管理器 PictureTreeManager 管理 2 访问授权和用户管理可以禁止访问每一个生产过程 记录或WinCC的操作 以防止没有授权的存取 包括修改设定值 选择图形画面或从过程控制中调用组态软件 WinCC含有多达1000个不同的访问级别 可建立分级的访问保护 也可为个别用户提供唯一的用户访问权限 3 语言切换每一个项目在组态时都可以指定10种运行 runtime 语言 二 图形系统在组态工作中 图形系统用于创建并显示过程的画面 1 图形系统的任务 1 显示静态画面和操作者可控制的画面元素 例如文本 图形或按钮等 2 更新动态画面元素 例如根据过程值的变化修改棒图长度 3 对操作员输入作出反应 例如单击按钮 或输入域中的文本输入等 2 图形系统组件构成 1 图形编辑器是图形系统的组态组件 是用于创建画面的编辑器 2 图形运行软件是图形系统的运行组件 显示运行系统中的画面上的图片 并管理所有的输入和输出 3 模块库模块库有助于用户高效创建用户画面 在组态期间采用拖放方式将模块库中的对象插入过程画面 1 模块库含有大量的已预编译的对象 这些对象根据相关主题 例如阀 电机 电缆 显示仪器等 进行排序 2 用户自己创建的对象也可保存在项目库中 需要时可再次调出 三 报警记录1 报警记录的任务报警记录编辑器负责消息的采集和归档 包括过程 预加工 表达式 确认及归档等消息的采集功能 报警系统给操作员提供关于操作状态和过程故障状态的信息 使操作员能了解早期阶段的临界状态 2 报警记录的组件构成 1 报警记录组态系统组件为报警记录编辑器 用来定义显示何种报警 报警的内容 报警的时间 2 报警记录运行系统组件主要负责过程值的监控 控制报警输出 管理报警确认 3 报警的消息块 1 系统块 2 过程值块 3 用户文本块4 报警的基本状态 1 已激活 2 已清除 3 已确认 5 组消息在组态期间 一定数目的报警均可概括在一组报警中 6 消息类型和等级将消息划分为16个类别 每个消息类别下还可以定义16种消息类型 7 报警的归档短期归档和长期归档 四 归档系统1 归档系统的任务过程值归档的目的是采集 处理和归档工业现场的过程数据 所获得的过程数据可用于获取与设备的操作状态有关的管理和技术标准 归档系统除了用于过程值的处理外 还用于对报警进行归档 2 归档系统的组件 1 变量记录是归档系统的组态组件 用于确定对哪些过程值进行归档以及何时归档 图形编辑器提供在线趋势控件和在线表格控件 在画面中显示过程值当前的发展进程 其中在线趋势控件提供图形显示 而在线表格控件提供表格显示 2 变量记录运行系统是归档系统的运行系统组件 负责把运行系统中必须进行归档的过程值写入过程值归档 以及从过程值归档中读出已归档的过程值 3 归档的设置可用事件来启动和停止过程值归档 非周期 连续周期和可选择周期等 过程值归档 在组态过程值归档时 选择要归档的过程变量和存储位置 压缩归档 在组态压缩归档时 选择计算的方法和压缩的周期 五 报表系统1 报表系统的任务报表包括项目文档报表和运行系统数据报表 项目文档报表输出WinCC项目的组态数据 运行系统数据报表在运行期间输出过程数据 报表有下列基本类型 1 报警消息顺序报表 2 报警归档报表 3 变量记录运行报表 2 报表系统的组件 1 报表编辑器是报表系统的组态组件 包括页面布局编辑器和行布局编辑器 2 报表运行系统是报表系统的运行系统组件3 打印作业WinCC中的打印作业用于项目文档和运行系统文档的输出 在布局中对输出外观和数据源进行组态 在打印作业中对输出介质 打印数量 打印开始时间以及其他输出参数进行组态 六 通讯1 通讯方式WinCC与其它应用程序 例如MicrosoftExcel或SIMATICProTool 的通讯借助于OPC来实现 由WinCC提供集成的OPC服务器来完成 其它OPC服务器的数据也可通过OPC客户机由WinCC来接收 WinCC与自动化系统之间的通讯可以通过各自的过程总线 例如以太网或PROFIBUS 来实现 也可以由专门通讯驱动程序 通道 与SIMATICS5 S7 505等系列的PLC相连接 2 WinCC通讯的结构及原理WinCC使用变量管理器来处理项目产生的数据以及存储在项目数据库中的数据 其过程并不能为用户所见 WinCC的所有应用程序必须以WinCC变量的形式从变量管理器中请求数据 这些应用程序包括图形运行系统 报警记录运行系统和变量记录运行系统等 变量管理器管理运行时的WinCC变量 通过集成在WinCC项目中的通讯驱动程序从过程中取出请求的变量值 通讯驱动程序利用其通道单元构成WinCC与过程处理之间的接口 在大多数情况下其硬件连接是利用通讯处理器来完成的 WinCC通讯驱动程序使用通讯处理器向PLC发送请求消息 然后 通讯处理器将相应请求的回答发回WinCC 3 通道单元 逻辑链接 过程变量WinCC与自动化系统之间的通讯通过逻辑链接来实现 这些逻辑连接以分层方式排列成多个等级 每个的等级都反映在WinCC资源管理器的分层结构上 通讯驱动程序位于最高等级 也称作通道 通道的通讯拥有一个或多个协议 协议用于确定所用的通道单元 例如 MPI 该通道单元和协议一起用来访问某个特定类型的自动化系统 4 运行系统中的通讯过程 复习题1 监控组态软件有哪些特点 主要解决哪些主要问题 2 监控组态软件由哪些部分构成 3 监控组态软件WinCC的性能特点是什么 4 说明监控组态软件WinCC的系统结构 5 熟悉监控组态软件WinCC的使用方法何操作步骤 6 说明监控组态软件WinCC的和STEP7软件的关系 7 WinCC的SCADA基本功能有哪些 3 1WinCCExplorer项目3 2变量管理3 3建立一个画面3 4设置起始画面及运行界面3 5运行项目3 6使用内部变量仿真器 三 开始项目 3 1WinCCExplorer项目 WinCCExplorer以项目的形式管理着控制系统所有必要的数据 单击 开始 所有程序 SIMATIC WinCC WinCCV6 0ASIA 启动WinCCExplorer浏览器 也称为WinCC项目管理器 新建一个单用户项目 WinCC项目是以项目的形式进行管理的 左侧部分为浏览条 包括了一个WinCC项目的各个组成部件 右侧为左侧选择部件的详细内容 WinCCExplorer管理器的状态栏中显示当前的外部变量点数以及授权点数 3 1 2WinCC项目类型 WinCC项目分为三种类型 单用户项目 多用户项目和客户机项目 单用户项目示意图 多用户项目示意图 客户机项目示意图 3 1 3项目属性 项目属性 对话框 可以看到它包含三个选项卡 常规 选项卡可以显示和修改当前项目的一些常规数据 如类型 创建者 创建日期 修改者 修改日期 版本 指南和注释等 更新周期 选项卡用来选择更新周期 系统还提供了五个用户周期 可自行定义 热键 选项卡可为WinCC用户登录和退出以及硬拷贝等定义热键 快捷键 3 2变量管理 WinCC中变量的数据类型包括以下几类 二进制变量数据类型对应于位 可取为数值FALSE或 0 以及TRUE或 1 有符号8位数 数据类型具有1个字节长 且有符号 正号或负号 有符号8位数 数据类型也可作为 字符型 或 有符号字节 来引用 无符号8位数 数据类型为1个字节长 且无符号 无符号8位数 数据类型也可作为 字节 或 无符号字节 来引用 有符号16位数 数据类型具有2个字节长 且有符号 正号或负号 有符号16位数 数据类型也可作为 短整型 或 有符号字 来引用 无符号16位数 数据类型为2个字节长 且无符号 无符号16位数 数据类型也可作为 字 或 无符号字 来引用 有符号32位数 数据类型具有4个字节长 且有符号 正号或负号 有符号32位数 数据类型也可作为 长整型 或 有符号双字 来引用 无符号32位数 数据类型为4个字节长 且无符号 无符号32位数 数据类型也可作为 双字 或 无符号双字 来引用 浮点数32位IEEE754 数据类型具有4个字节长 且具有符号 正号或负号 浮点数32位IEEE754 数据类型也可作为 浮点数 来引用 浮点数64位IEEE754 数据类型具有8个字节长 且具有符号 正号或负号 浮点数64位IEEE754 数据类型也可作为 双精度型 来引用 使用 文本变量8位字符集 数据类型 在该变量中必须显示的每个字符将为一个字节长 例如 使用8位字符集 可显示ASCII字符集 使用 文本变量16位字符集 数据类型 在该变量中必须显示的每个字符将为两个字节长 例如 需要有该类型的变量来显示Unicode字符集 3 2 1外部变量 对于外部变量 变量管理器需要建立WinCC与自动化系统 AS 的连接 即确定通讯驱动程序 通讯由称作通道的专门的驱动程序来控制 WinCC有针对西门子自动化系统SIMATICS5 S7 505的专用通道以及与制造商无关的通道 如PROFIBUS DP和OPC等 计算机上的通讯卡有工业以太网卡和PROFIBUS网卡 插槽有ISA插槽 PCI插槽和PCMCIA槽 通讯卡有Hardnet和Softnet两种类型 Hardnet卡有自己的微处理器 可减轻CPU的负荷 可同时使用两种以上的通讯协议 Softnet卡没有自己的微处理器 同一时间只能使用一种通讯协议 以MPI通讯方式为例介绍外部变量的建立 3 2 2内部变量 内部变量 目录中系统已自带一些定义好的以 字符开头的变量 称为系统变量 不能删除或重新命名系统变量 系统定义的内部变量含义 3 3建立一个画面 下面插入一个画面 在画面上显示内部变量NewTag的值 3 4运行项目 单击WinCC项目管理器工具栏的激活项目图标 WinCC将按照 计算机属性 对话框中所选择的设置来运行项目 3 5画面对象的属性 可以看到 对象属性对话框包括 属性 和 事件 两个选项卡 属性 选项卡中包括对象的几何尺寸 颜色 样式 填充等外观特性 定义对象是如何出现在画面上 可以修改对象的 属性 中的相关值来改变对象的外观 如修改圆的背景颜色为红色 线颜色为绿色 事件 选项卡包括对象的鼠标 键盘等操作设置及对象属性引发的动作设置等 如图3 13所示 可以为各种 事件 添加相应的动作和动态效果 输入输出换算 I O域1 100 I O域2 intback back GetTagWord Tag6 back back 100 return back 单击一下按钮就加1 减1 floattemp temp GetTagFloat Tag6 temp temp 1 SetTagFloat Tag6 temp 类型I O 4 标识符 3条规则 1 标识符必须只能由字母 数字或下划线3种符号构成 即标识符中只能出现 字母 阿拉伯数字 下划线 2 标识符必须只能以字母或下划线作为开头 3 c语言不允许用户作为自定义对象的标识符 如if do for int等 合法 N Sum total非法 I m 12h wang x 4 1 数据类型 1 常量常量是在程序执行过程中值不能发生改变的数据 如1 2 1 3 52 变量变量是在程序执行过程中值可以发生改变的数据 想要定义一个变量 用户需要做如下2件事情 1 给出变量名称 符合标识符规则 sumaverage 2 给出变量的数据类型 变量数据类型 1 整型变量a 基本整型以int表示16位 32768 32767b 短整型short int 16位 32768 32767c 长整型long int 32位 2147483648 2147483647又分为有符号 无符号 signed intunsignedint0 65535例 inta b inta longe f unsignedshortc d 2 实型变量实型变量分为单精度 float型 双精度 double型 和长双精度 longdouble型 三类 例 floatx y doublez longdoublet 3 BOOL变量 4 2 运算符 1 算术运算符 2 关系运算符 高 低 4 3 逻辑运算符 1 逻辑与 相当于AND 2 逻辑或 相当于OR 3 逻辑非 相当于NOT a b若a b都为真 则结果为真a b若a b之一为真 则结果为真 a若a为真 则结果为假 优先级 非 算术运算符 高 例 c a b等效c a b 关系运算符a b c等效a b c 和 赋值运算符 低 4 4 程序结构 为了提高程序设计的质量和效率 现在普遍采用结构化的程序设计方法 结构化程序由若干个基本结构组成 每一个基本结构可以包含一个或多个语句 1 顺序结构 A B 2 选择结构真 非0 0 假 A B P 派生出多分支结构 循环结构 当 型循环 A P 假 真 直到 型循环 4 5 语句 1 if语句 实现选择结构 C语言提供了三种形式的if语句 1 if 表达式 例如 if x y 语句z x 2 if 表达式 例如 if x y 语句1z x elseelse语句2z y 3 if 表达式1 例如 if number 500 语句1cost 0 15 elseif 表达式2 elseif number 300 语句2cost 0 10 elseelse语句3cost 0 75 求三个数中的最大数 floata b c max a 5 6 b 9 9 c 4 7 if a b if b c max c elsemax b elseif a c max c elsemax a 2 switch语句 多分支结构 形式 switch 表达式 case常量表达式1 语句1 break case常量表达式2 语句2 break default 语句3 例 要求按照考试等级打印出百分制分数段switch grade case1 printf 85 100 break case2 printf 70 84 break case3 printf 60 69 break case4 printf 60 break default printf error 3 循环控制语句1 while语句实现 当 型循环结构例 求从1加到100的和 inti sum 0 i 1 while i 100 sum sum i i 2 do while语句inti sum 0 i 1 do sum sum i i while i 100 两者区别 while后的表达式一开始就为假 结果不一样 3 for语句 完全代替while do while 形式 for 表达式 表达式 表达式 语句例 for i 1 i 100 i sum sum i 求解表达式1 语句 for语句的下一语句 表达式2 求解表达式3 假 真 4 6 函数 一个较大的程序一般应分为若干个程序模块 每一个模块用来实现一个特定的功能 C语言中这样的功能是由函数完成的 从用户使用的角度来看 函数有两种 1 标准函数 既库函数 2 用户自己定义的函数 即项目函数 从函数的形式看 分为两类 1 无参函数2 有参函数intmax x y intx y intz if x y z x elsez y return z 4 7WinCC中的C概述 1 函数和动作的关系动作由触发器启动 函数是动作的组成部分 没有触发器 即函数在运行时不能自己执行 2 触发器的类型WinCC中的触发器分为时间触发和变量触发等 例1 C语言数码显示实现方法 include apdefap h voidOnPropertyChanged char lpszPictureName char lpszObjectName char lpszPropertyName doublevalue API中属性改变函数类型定义 BYTEa b c 定义a b c变字节型变量a GetTagByte LEDdisp 用gettagbyte函数获取LEDdisp内容赋给aSetTagByte LEDC1 0 用settagbyte函数把0赋给LEDC1SetTagByte LEDC10 0 用settagbyte函数把0赋给LEDC10SetTagByte LEDC100 0 用settagbyte函数把0赋给LEDC100if a 100 如果a大于等于100 b a a 100 100 则把a的最高位赋给bSetTagByte LEDC100 b 再把b的内容赋给LEDC100b a 100 a取余后 结果再赋给b 2 C语言数码显示的实现方法 续 Elseb a 如果a小于100 则直接把a赋给bif b 10 如果b大于等于10 c b b 10 10 则把b的最高位赋给cSetTagByte LEDC10 c 把c的内容赋给LEDC10c b 10 b取余后 结果再赋给cSetTagByte LEDC1 c 把c的内容赋给LEDC1 else如果b小于10SetTagByte LEDC1 b 把b的内容直接赋给LEDC1 起重机模拟控制应用实例 例2起重机模拟控制应用实例一 小车控制系统1 元素组成 线 圆 轮 按钮 指示灯2 上升按钮控制BOOLflag 布尔变量flag定义flag GetTagBit raise down stop 函数获取布尔值赋给flagif flag 如果flag为真 SetTagBit raise down stop FALSE 则把状态flase赋给信号raise down stop 保证始终为假 SetTagBit raise TRUE 把状态true赋给raise 3 下降按钮控制BOOLflag flag GetTagBit raise down stop if flag SetTagBit raise down stop FALSE SetTagBit down TRUE 4 升降运行指示灯控制 5 吊车升降模拟控制在吊钩对象属性中选择 几何 位置Y C语言动态控制吊钩对象的位置Y与线对象的高度 BOOLflag 布尔变量BOOLraiseflag downflag 布尔变量shortintheight top 宽度和高度定义为整型raiseflag GetTagBit raise 获取raise状态赋给raiseflag变量downflag GetTagBit down 获取down状态赋给downflag变量top GetPropWord NewPdl5 PDL 组18 Top 获得高度值 height GetPropWord NewPdl5 PDL 组17 Height 获得宽度值if raiseflag 如果符合 则控制top值依次减4 if raiseflag 二 大车控制系统1 元素组成 矩形 圆 轮 按钮 指示灯 2 大车左右模拟控制在大车对象属性中选择 几何 位置X C语言动态控制大车 小车吊钩 挂轮 线等对象的位置X BOOLleftflag rightflag 布尔型变量BYTEloop 字节型变量shortintleftD leftS leftR leftG 整型变量loop GetTagByte TanCrt 获得TanCrt内容赋给loopleftflag GetTagBit left 获理布尔值赋给leftflagrightflag GetTagBit right 获理布尔值赋给rightflagleftD GetLeft NewPdl5 PDL 组26 用getleft函数获得值赋给leftDleftS GetLeft NewPdl5 PDL 组17 获得值赋给leftSleftR GetLeft NewPdl5 PDL Control1 获得值赋给leftRleftG GetLeft NewPdl5 PDL 组18 获得值赋给leftGif leftflag rightflag leftD 110 如果leftflag为真并且rightflag为假 且leftD大于110 则 leftD leftD 4 以下各值都减4操作leftS leftS 4 leftR leftR 4 leftG leftG 4 if loop 1 如果loop值大于等于1 则loop loop 1 loop值执行减1操作elseloop 5 否则 把loop值赋值为5 else if leftflag rightflag leftD 760 如果leftflag为假并且rightflag为真 且leftD小于760 则 leftD leftD 4 以下各值都加4操作leftS leftS 4 leftR leftR 4 leftG leftG 4 loop loop 1 loop值执行加1操作if loop 5 如果loop值大于5 则loop 0 把loop值赋值为0 SetTagByte TanCrt loop 把loop值用settagbyte函数赋给TanCrtSetLeft NewPdl5 PDL Control1 leftR 把leftR值赋给Control1SetLeft NewPdl5 PDL 组17 leftS 把leftS值赋给组17SetLeft NewPdl5 PDL 组18 leftG 把leftG值赋给组18returnleftD 例子 变量的读写1 C语言模式 include apdefap h voidOnClick char lpszPictureName char lpszObjectName char lpszPropertyName 鼠标点击 BOOLa b 布尔变量a GetTagBit NewTag 4 获得布尔值 给ab GetTagBit NewTag 7 获得布尔值 给bif a 1 SetTagBit NewTag 4 0 如果a为1 把0赋给newtag4elseSetTagBit NewTag 4 1 如果a为0 把1赋给newtag4if b 1 SetTagBit NewTag 7 0 如果b为1 把0赋给newtag7elseSetTagBit NewTag 7 1 如果b为0 把1赋给newtag7 例子汽车动态运行控制1 C语言模式在汽车对象属性的几何位置中输入C语言实现小汽车动态运行 执行周期选用画面周期 include apdefap h 如果当前的程序中要使用其他项目函数或标准函数 则必须结合apdefap h文件 这通过预处理程序命令 include apdefap h 来完成 该命令必须插在程序标题之前 long main char lpszPictureName char lpszObjectName char lpszPropertyName c程序调用API定义的格式 图形名 对象名 属性名的类型定义都为字符指针型 BOOLa 布尔型变量shortmove 整型变量a GetTagBit NewTag 7 通过gettagbit函数获得NewTag 7布尔型值赋给amove GetTagWord NewTag 8 通过gettagword函数获得NewTag 8整型值赋给movewhile a 1 如果a为0执行下面的循环 如果a为1不执行 move move 1 每循环一次move的值减1if move 590 move590或move 0 则move赋590 move 590 SetTagWord NewTag 8 move 把每次循环得到move值 通过settagword函数赋给NewTag 8returnmove C程序结束返回 返回move的值 Y方向的小车BOOLa shortmove a GetTagBit NewTag 6 BOOLa shortmove a GetTagBit NewTag 7 move GetPropWord NewPdl0 PDL Control2 Top if a 1 move move 5 if move 590 move 200 move 590 SetPropWord NewPdl0 PDL Control2 Top move returnmove X方向BOOLa shortmove a GetTagBit NewTag 6 move GetLeft NewPdl0 PDL Control1 if a 1 move move 5 if move 590 move590 move 230 move 590 SetLeft NewPdl0 PDL Control1 move returnmove 7 5Profibus应用案例 7 5 1三条四级皮带运输机控制系统1 控制要求 每条四级皮带运输机控制系统 分别用四台电动机带动 启动时先起动最末一级皮带机 经过5秒延时 再依次起动其它皮带机 停止时应先停止最前一条皮带机 待料运送完毕后再依次停止其它皮带机 当某条皮带机发生故障或有重物时 该皮带机及其前面的皮带机立即停止并报警 而该皮带机以后的皮带机间隔5秒延时相继停止 2 网络控制要求 每条皮带运输机均由CPU314C 2DPPLC进行控制 采取一主二从DP控制模式 每条皮带运输机由上位机控制运行 分手动和自动 其运行状态除本地显示外必须经由主站传递给WINCC监控系统 上位机监控用WINCC软件开发 7 5 2系统分析与设计1 各站输入输出分配2 主从接口分配 Slave1接口设置Slave2接口设置 3 从站在主站中的映射区分配4 硬件组态 方案一 各站选用8点输入 8点输出模块 集成DP通信功能CPU 如CPU314C 2DP方案二 各站选用8点输入 8点输出模块 独立DP通信功能模块 如CPU314C和DP342 5WINCC通过MPI适配卡与PLC主站建立通信通道 主站与从站间通过PROFIBUS DP建立连接 5 PLC编程 6 WINCC设计 启动按钮Click事件函数 include apdefap h voidOnLButtonDown 相关参数 SetTagBit N SY02 start TRUE 置运行标志SetTagBit N SY02 M4 motor TRUE 启动4号电机SetTagWord m4count 0 时间计数初值清零 停止按钮Click事件函数 include apdefap h voidOnLButtonDown 相关参数 SetTagBit N SY02 start FALSE 清运行标志SetTagBit N SY02 M1 motor FALSE 停止1号电机SetTagWord m4count 0 时间计数初值清零 1号电机故障Click事件函数 include apdefap h voidOnLButtonDown 相关参数 if GetProcess SY02 Pdl 复选框1 SetTagBit N SY02 A trouble FALSE elseSetTagBit N SY02 A trouble TRUE 置故障标志SetTagBit N SY02 start FALSE 清运行标志SetTagBit N SY02 M1 motor FALSE 停止1号电机SetTagWord m4count 0 时间计数初值清零 2号电机故障Click事件函数 include apdefap h voidOnLButtonDown 相关参数 if GetProcess SY02 Pdl 复选框2 SetTagBit N SY02 B trouble FALSE elseSetTagBit N SY02 B trouble TRUE 置故障标志SetTagBit N SY02 start FALSE 清运行标志SetTagBit N SY02 M1 motor FALSE 停止1号电机SetTagBit N SY02 M2 motor FALSE 停止2号电机SetTagWord m4count 20 时间计数置初值 3号电机故障Click事件函数 include apdefap h voidOnLButtonDown 相关参数 if GetProcess SY02 Pdl 复选框3 SetTagBit N SY02 C trouble FALSE elseSetTagBit N SY02 C trouble TRUE 置故障标志SetTagBit N SY02 start FALSE 清运行标志SetTagBit N SY02 M1

温馨提示

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

评论

0/150

提交评论