收藏 分销(赏)

基于WinCC的水塔水位仿真系统设计.doc

上传人:w****g 文档编号:10596997 上传时间:2025-06-04 格式:DOC 页数:31 大小:1.17MB
下载 相关 举报
基于WinCC的水塔水位仿真系统设计.doc_第1页
第1页 / 共31页
基于WinCC的水塔水位仿真系统设计.doc_第2页
第2页 / 共31页
点击查看更多>>
资源描述
吉林化工学院信控学院专业综合设计说明书 基于WinCC水塔水位仿真系统设计 学生学号: 08540130 学生姓名: 赵晓凯 专业班级: 测控 0801 指导教师:孙明革 刘麒 职 称:副教授 讲师 起止日期:2011.10.10~2011.10.28 吉林化工学院 Jilin Institute of Chemical Technology 27 / 31 专业综合设计任务书 一.设计题目:基于WinCC水塔水位控制系统 二.设计目 1.掌握用可编程控制器(PLC)实现工业系统自动化设计方法; 2.熟练掌握并利用PLC梯形图语言进行编程; 3.掌握WinCC软件应用环境及组态方法; 4.掌握上下位机之间通讯方法。 三.设计任务及要求 利用PLC实现水塔水位控制系统自动化控制,需要完成以下内容: 1.使用S7 300梯形图语言进行编程,实现水塔水位控制系统自动化控制; 2.完成WinCC各个画面组态; 3. 完成上下位机之间通讯对工业现场实况进行模拟仿真。 四.设计时间及进度安排 设计时间共三周(2011.10.10~2011.10.28),具体安排如下表: 周安排 设 计 内 容 设计时间 第一周 查阅资料,对西门子S7-300软件进行了解,并完成下位机编程。 2011.10.10~2011.10.16 第二周 查阅资料,了解WinCC软件完成上位机画面组态,并实现上下位机之间通讯 2011.10.17~2011.10.23 第三周 提交设计作品和专业综合设计说明书,评定专业综合设计成绩。 2011.10.24~2011.10.28 五.指导教师评语及学生成绩 指导教师评语: 年 月 日 成绩 指导教师(签字): 摘要 在工农业生产过程中,经常需要对水位进行测量和控制。水位控制在日常生活应用也相当广泛、比如水塔、地下水、水电站等情况下地水位控制。而水位检测可以有多种实现方法,如机械控制,逻辑电路控制、机电控制等。本文采用PLC进行主控制,在水箱上安装一个自动检测水位装置,利用水导电性连续地全天候监测水位变化,把测量到水位转换成相应电信号,主控台应用MCGS组态软件对接收到信息进行数据处理,完成相应水位显示,故障报警信息显示等。使水塔水位保持在适当位置。 由于本文中是基于WinCC仿真实验,所以为了简便,检测部分用手动开关进行了替代。在实际工业过程中只需用检测器件替换回来即可。本文仿真系统采用组态软件WinCC 控制系统方案,设计了水塔水位控制系统画面、实况模拟、报警记录及历史报警查询等界面,实现了基于WinCC水塔水位控制系统模拟仿真。该控制系统配置灵活、控制可靠、维修方便,提高了生产效率,保证了系统稳定运行。 利用仿真系统对所需要操作系统进行仿真操作,这样可以提前发现系统弊病,可以进行及时调整及改进,可以避免一些故障发生,减少不必要损失。 关键词:PLC ;组态软件WinCC;水塔水位控制系统 目 录 专业综合设计任务书 I 摘要 II 第一章 绪论 1 1.1 专业综合设计课题背景及意义 1 1.2 可编程控制器PLC简介 1 1.3 WinCC在工业中应用 2 第二章 水塔水位控制系统工艺和设计要求 4 2.1 工艺流程 4 2.2 控制要求 4 第三章 下位机软件简介及编程 5 3.1 S7-300概述 5 3.2 S7-300组成部件 5 3.3 程序流程图 6 3.4 控制程序 7 第四章 上位机WinCC软件组态 10 4.1 WinCC组态软件简介 10 4.2 WinCC系统构成 10 4.3 WinCC组态过程 11 4.3.1 新建项目设计 11 4.3.2 欢迎界面设计 13 4.3.3 登录界面设计 14 4.3.4 工艺流程图设计 15 4.3.5 修改密码界面设计 17 4.3.6 报警界面设计 20 4.3.7 用户创建 23 4.3.8 系统运行 23 结 论 25 参考文献 26 第一章 绪论 1.1 专业综合设计课题背景及意义 水箱中水位高低通常由水电管理人员进行控制管理,非常麻烦,并且时常出现高层楼房断水和水箱溢水等不安全事故,给居民生活带来了极大不便。同时也造成了不必要水资源流失。为了解决经常停水情况和有效地避免水资源浪费,节约能源,本文设计了一个适用于城镇居民楼房,特别是农村住宅楼房生活用水水箱水位控制器。 PLC是在传统顺序控制器基础上引入微电技术、计算机技术、自动控制技术和通讯技术而形成一代新型工业控制装置,目是用来取代继电器、执行逻辑、计时、计数等顺序控制功能,建立柔性程序控制系统。我国经济建设及小城镇建设迅猛发展,企业生产自动化程度大大提高,人们生活水平已经迈入小康,对家庭用水质量进一步提高,是对家庭生活质量有着更高要求。这些都必然需要依赖高品质、安全可靠性好产品出现。 为满足人们对生产和生活中水位控制高品位要求,是实现无人值守和家庭优雅舒适生活理想。本设计从人们现实生活用水现状着手,采用当今社会较为流行控制界面西门子WinCC V6为窗口,在S7-300PLC上实现水塔水位控制模拟控制功能。而从世界范围来看,PLC是用最多、应用范围最广自动化产品,也可以说是最实用自动化产品。因为用PLC来实现自动有很多优点,可使系统硬件设备大为简化,体积减小,而且PLC抗干扰能力强,可靠性高,操作维护简单。因而在当今日常生活和工业生产中PLC得到了广泛应用。 1.2 可编程控制器PLC简介 可编程控制器是在继电器控制和计算机控制基础上发展而来新型工业自动控制装置。早期可编程控制器在功能上只能实现逻辑控制,因而被称为可编程逻辑控制器(Programmable Logic Controller),简称PLC。随着微电子技术和微型计算机发展,微处理器用于PLC,使其不仅可以实现逻辑控制,还可以进行数字运算和处理、模拟量调节和联网通信等,因此美国电气制造协会于1980年将它正式命名为可编程控制器(Programmable Controller),简称PC。但近年来PC又成为个人计算机(Personal Computer)简称,为避免发生混淆,我们仍把可编程控制器简称为PLC。 1、PLC产生 传统继电器控制具有结构简单、易于掌握、价格便宜等优点,在工业生产中应用甚广。但是,这些控制装置体积大、动作速度较慢、耗电较多、功能少,特别是接线复杂、排除故障非常困难而且要花费大量时间。如果工艺要求发生变化,控制柜内元件和接线也需要作相应变动,改造工期长、费用高,通用性和灵活性较差。 1968年,美国最大汽车制造商通用汽车公司(GM),为了适应汽车型号不断翻新,想寻找一种方法,以尽可能减少重新设计继电器控制系统和接线、降低成本、缩短时间,而考虑把计算机功能完善、通用灵活等优点及继电器控制简单易懂、操作方便、价格便宜等优点结合起来,制成一种通用控制装置,提出了研制PLC基本设想:1.编程简单方便,可在现场修改程序;2.硬件维护方便,最好是插件式结构;3.可靠性要高于继电器控制装置;4.体积小于继电器控制装置;5.可将数据直接送入管理计算机;6.成本上可及继电器竞争;7.输入可以是交流115V;8.输入为交流115V,2A以上,能直接驱动电磁阀;9.扩展时,原有系统只需做很小改动;10.用户程序存储 容量至少可以扩展到4K。 根据以上设想和要求,1969年美国数字设备公司(DEC)研制出世界上第一台可编程控制器,并在通用汽车公司汽车生产线上试用成功,从而开创了工业控制新局面。从此,这一更新技术就以很快速度发展起来,现代PLC已成为现代工业控制三大支柱(PLC,机器人和CAD/CAM)之一。 2、PLC特点 1.编程方法简单易学 考虑到企业中一般电气技术人员和技术工人传统读图习惯和应用微机实际水平,PLC配备有他们最容易接受和掌握梯形图语言。梯形图语言电路符号和表达方式及继电器电路原理图非常接近。而且某些仅有开关量逻辑控制功能PLC只有十几条指令。通过阅读PLC使用手册或短期培训,电气技术人员或技术工人只要几天时间就可以熟悉梯形图语言,并用来编制用户程序。 2.硬件配套齐全,用户使用方便 PLC配备有品种齐全各种硬件装置供用户选用,用户不必自己设计和制作硬件装置。用户在硬件方面设计工作只是确定PLC硬件配置和外部接线。PLC安装接线也很方便。 3.通用性强,适应性强 PLC生产具有系列化和模块化特点,硬件配置相当灵活,可以很方便地组成能满足各种控制要求控制系统。组成系统后,如果工艺变化,可以通过修改用户程序,方便快速地适应变化。 4.可靠性高,抗干扰能力强 绝大多数用户都将可靠性作为选择控制装置首要条件。PLC采取了一系列硬件和软件抗干扰措施,可以直接用于有强烈干扰工业生产现场。PLC平均无故障间隔时间高,如日本三菱公司F1、F2系列PLC平均无故障间隔时间长达30万小时,这是一般微机所不能比拟。 5.系统设计、安装、调试工作量少 PLC用软件功能取代了继电器控制系统中大量中间继电器、时间继电器、计数器等器件,控制柜设计、安装、接线工作量大大减少。PLC梯形图程序很容易掌握,设计和调试梯形图所花时间比设计继电器系统电路图花时间要少得多。 6.维修工作量小,维修方便 PLC故障率很低,并且有完善诊断和显示功能。PLC或外部输入装置和执行机构发生故障时,可以根据PLC上指示灯或编程器提供信息迅速地查明故障原因。用更换模块方法可以迅速地排除PLC故障。 7.体积小,能耗低 以F1意40M型PLC为例,其外形尺寸为305×110×110mm,功耗小于25VA。由于体积小,PLC很容易装入机械设备内部,是实现机电一体化理想控制设。 1.3 WinCC在工业中应用 WinCC(Windows Control Center)是西门子开发在WINDOWS 环境下解决生产和过程自动化、可视化信息、显示和实现控制策略,即实现SCADA 系统人机接口( HMI-Human Machine Interface)组态软件。它提供了适用于工业图形显示、消息、归档以及报表各种功能模板,能实现高性能过程耦合、快速画面更新和可靠资料处理,具有较高实用性。它在Windows NT 或Windows 2000 标准坏境中提供确保可靠地控制生产过程所有功能。WinCC显著特性是全面开放,很容易结合标准或用户程序建立人机接口,精确地满足生产实际要求。系统集成商可应用WinCC作为其系统扩展基础,通过开放接口开发自己应用软件。WinCC是基于32 位应用软件Windows 32 位操作系统抢先多任务特性确保了对过程事件快速反应,并提供了多种防止资料丢失保护,WinCC使用了面向对象软件编程技术,将所有工程工具组态功能集成在一起,提供用于过程可视化和操作全部基本功能。此外,提供宽范围编辑功能接口,使用户为其独特应用单独组态。WinCC组态软件提供了适用于工业图形显示、消息、归档以及报表各种功能模板,能实现高性能过程偶合、快速画面更新和可靠资料处理,具有较高实用性。 第二章 水塔水位控制系统工艺和设计要求 2.1 工艺流程 4个开关分别为:S1代表水塔高水位到限;S2代表水塔低水位超限;S3代表水池高水位到限;S4代表水池低水位超限。通过对水池进水阀和水塔供水电机控制。保证水塔正常水位。 2.2 控制要求 当水池水位低于水池低水位界(S4为ON表示),阀Y打开进水(Y为ON)定时器开始定时,4秒后,如果S4还不为OFF,那么阀Y指示灯闪烁,表示阀Y没有进水,出现故障,S3为ON后,阀Y关闭(Y为OFF)。当S4为OFF时,且水塔水位低于水塔低水位界时S2为ON,电机M运转抽水。当水塔水位高于水塔高水位界时电机M停止。如图2-1所示: 图2-1 控制流程图 第三章 下位机软件简介及编程 3.1 S7-300概述 S7-300是模块化中小型PLC,适用于中等性能控制要求。品种繁多CPU模块,信号模块和功能模块满足各种领域自动控制任务,用户可以根据系统具体情况选择合适模块,维修时更换模块很方便。 S7-300每个CPU都有一个使用MPI(多点接口)通信协议RS-485接口。有CPU还带有集成现场总线PROFIBUS-DP接口,PROFINET接口或PtP(点对点)串行通信接口。S7-300不需要附加任何硬件,软件和编程,就可以建立一个MPI网络。使用CPU集成PROFIBUS-DP接口或通信处理器,S7-300可以作DP网络上主站或从站。 S7-300有350多条指令,其编程软件STEP7功能强大,使用方便。STEP7功能块图和梯形图编程语言符合IEC61131标准,语句表编程语言及IEC标准稍有不同,以保证及STEP5兼容,3种编程语言可以互相转换。 S7-300已将HMI(人机接口)服务集成到操作系统内,大大减少了人机对话编程要求。S7-300按指定刷新速度自动地将数据传送给SIMATIC人机界面。 3.2 S7-300组成部件 S7-300PLC是模块式PLC,它由以下几部分组成: 1.中央处理单元(CPU) CPU用于存储和处理用户程序,控制集中式I/O和分布式I/O。各种CPU有不同性能,有CPU集成有数字量和模拟量输入/输出点,有CPU集成有PROFIBUS-DP等通信接口。CPU前面板上有状态故障指示灯,模式选择开关,24V电源端子和微存储卡插槽。 2.电源模块(PS) 电源模块用于将AC 220V电源转换为DC24V电源,供CPU模块和I/O模块使用。电源模块和额定输出电流由2A,5A和10A3种,过载时模块上LED闪烁。 3.信号模块(SM) 信号模块是数字量输入/输出模块(简称为DI/DO)和模拟量输入/输出模块(简称为AI/AO)总称,它们使不同过程信号电压或电流及PLC内部信号电平匹配。 4.功能模块(FM) 功能模块式智能信号处理模块,它们不占用CPU资源,对来自现场设备信号进行控制和处理,并将信息传送给CPU。 5.通信处理器(CP) 通信处理器用于PLC之间,PLC及计算机和其他智能设备之间通信,可以将PLC接入PROFIBUS-DP,AS-i和工业以太网,或用于实现点对点通信。通信处理器可以减轻CPU处理通信负担,并减少用户对通信编程工作。 6.接口模块(IM) 接口模块用于多机架配置时连接主机架和扩展机架。 7.导轨 铝质导轨用来固定和安装S7-300上述各种模块。 3.3 程序流程图 具体程序流程图3-1所示: 图3-1 程序流程图 按本设计工艺流程要求,首先对水池水位进行检测,若不低于水池低水位,则继续检测;若低于水池低水位,电磁阀阀Y打开进水且定时器开始定时。4秒后,如果水池水位仍然处于低水位,则指示灯闪烁即报警,表示水池没有进水,出现故障。若水池水位高于水位上限,则电磁阀关闭。对于水塔,当水池水位高于下限制,且水塔水位低于水塔低水位界时,电机M运转抽水。当水塔水位高于水塔高水位界时电机M停止。 3.4 控制程序 程序段1:程序段1和2产生占空比为0.5方波。梯形图如图3-2所示: 图3-2 程序段1 程序段2:程序段1和2产生占空比为0.5方波。梯形图如图3-3所示: 图3-3 程序段2 程序段:3:当水池为低水位I0.3为ON时,计数器开始计时,时间为4秒。梯形图如图3-4所示: 图3-4 程序段3 程序段:4:4秒计时期间,若I0.3为开,则T32开始计时,时间为0.1秒。梯形图如图3-5所示: 图3-5 程序段4 程序段5:T39计时期间,若高水位开关没有闭合,S3为ON时闪烁,当I0.3为ON时,T39开始计时,T38产生一秒方波信号,Q0.0为进水指示灯Y。梯形图如图3-6所示: 图3-6 程序段5 程序段7:当水塔水位低于低水位界限时,I0.1为ON,而且水池低水位开关关闭I0.3为ON时,电机运转,当达到高水位时电机停止工作。梯形图如图3-7所示: 图3-7 程序段6 第四章 上位机WinCC软件组态 4.1 WinCC组态软件简介 西门子视窗控制中心SIMATIC WinCC(Windows Control Center)是HMI/SCADA软件中后起之秀,1996年进入世界工控组态软件市场,当年就被美国Control Engineering 杂志评为最佳HMI软件,以最短时间发展成第三个在世界范围内成功SCADA系统;而在欧洲,它无可争议成为第一。 WinCC V6.0采用标准Microsoft SQL Server 2000(WinCC V6.0以前版本采用Sybase)数据库进行生产数据归档,同时具有Web浏览器功能。作为SIMATIC全集成自动化系统重要组成部分,WinCC确保及SIMATIC S5,S7和505系列PLC连接方便和通讯高效;WinCC及STEP7编程软件紧密结合缩短了项目开发周期。此外,WinCC还有对SIMATIC PLC 进行系统诊断选项,给硬件维护提供了方便。 4.2 WinCC系统构成 WinCC基本系统是很多应用程序核心。它包含以下九大部件: 1.变量管理器 变量管理器(tag management)管理WinCC中所使用外部变量,内部变量和通讯驱动程序。 2.图形编辑器 图形编辑器(graphics designer)用于设计各种图形画面。 3.报警记录 报警记录(alarm logging)负责采集和归档报警消息。 4.变量归档 变量归档(tag logging)负责处理测量值,并长期存储所记录过程值。 5.报表编辑器 报表编辑器(report designer)提供许多标准报表,也可以设计各种格式报表,并可按照预定时间进行打印。 6.全局脚本 全局脚本(global script)是系统设计人员用ANSI-C及Visual Basic 编写代码,以满足项目需要。 7.文本库 文本库(text library)编辑不同语言版本下文本消息。 8.用户管理器 用户管理器(user administrator)用来分配,管理和监控用户对组态和运行系统访问权限。 9.交叉引用表 交叉引用表(cross-reference)负责搜索在画面,函数,归档和消息中所使用变量,函数,OLE对象和ActiveX控件。 4.3 WinCC组态过程 4.3.1 新建项目设计 打开WinCC,在“文件”,“菜单中新建项目”,选择“单用户项目”,如图4-1所示: 图4-1 创建项目 点击确定后出现如下界面,如图4-2所示: 图4-2 保存项目 项目名称输入为“zzz”,点击创建,在“变量管理”项中点击鼠标右键,新建驱动程序,选择“SIMATIC S7 Protocol suite”,如图4-3所示。 图4-3 添加新驱动程序 在“变量管理”下拉菜单中,双击MPI出现如下界面,如图4-4所示: 图4-4 变量管理 单击“属性”按钮,把插槽号改为2,如图4-5所示,确定之后就可以在图形编辑器中可以进行页面设计了。 图4-5 修改插槽 4.3.2 欢迎界面设计 如图4-6所示为系统欢迎界面,使用“对象选项板”中“图形对象”插入一个图片,另外添加一个按钮命名为“进入系统”,赋予进入系统主画面功能,即鼠标点击按钮后画面立即切换到“登录界面”。 图4-6 欢迎界面 主要实现部分为对“进入”按钮C脚本编写,创建程序如下: BOOL Flag,Flag_Run; unsigned char i; Flag_Run=GetTagBit("First_Run"); i=GetTagByte("EnterSystem"); //Return-Type: BYTE if(i>=20) { if(Flag_Run==0) { OpenPicture("登录画面.Pdl"); SetTagBit("First_Run",1); } } else { SetTagByte("EnterSystem",++i); } Flag=GetTagBit("flash_flag"); //Return-Type: BOOL if(Flag) { SetTagBit("flash_flag",0); //Return-Type: BOOL } else { SetTagBit("flash_flag",1); //Return-Type: BOOL } return 0; 其中First_Run和flash_flag均为二进制变量,EnterSystem为无符号8位数变量。 4.3.3 登录界面设计 通过用户登录设置,可以对画面中按钮等添加授权,在没有登录时,用户无权进行操作。只有用户登录后权限才能被授予,并可以进行操作。此系统登录界面如图4-7 所示: 图4-7 登录界面 用户登录主要程序如下: #pragma code("UseAdmin.DLL") #include "pwrt_api.h" #pragma code() PWRTLogin(1); 用户退出主要程序如: #pragma code("UseAdmin.DLL") #include "pwrt_api.h" #pragma code() PWRTLogout(); 退出系统主要程序如下: { ExitWinCC(); } 修改密码可设置直接动作,使其连接至“修改密码”画面窗口。 同样“工艺流程”和|“报警画面”直接连接动作至相应界面。可以对这两个按钮功能设置权限,使其在用户登录前提条件下才可以动作。方法是在其组态对话框中“授权”一项选择变量输入,确定即可。 同时,设置两个画面窗口,以供切换画面。分别是画面窗口1和画面窗口2。 4.3.4 工艺流程图设计 首先创建如下变量: S1,位内存,二进制变量,I0.0 S2,位内存,二进制变量,I0.1 S3,位内存,二进制变量,I0.2 S4,位内存,二进制变量,I0.3 Y电磁阀,输出,二进制变量,Q0.0 电机M,输出,二进制变量,Q0.1 阀损坏,输出,二进制变量,Q0.4 添加变量图如图4-8所示: 图4-8 添加变量 之后画好工艺流程图,如图4-9所示: 图4-9 工艺流程图 最后对其进行变量连接: 水塔高水位指示灯,背景颜色项中选择布尔型,真时为绿,假时为红,连接变量为“S1”,触发器设置为根据变化。 水塔低水位指示灯,背景颜色项中选择布尔型,真时为绿,假时为红,连接变量为“S2”,触发器设置为根据变化。 水池高水位指示灯,背景颜色项中选择布尔型,真时为绿,假时为红,连接变量为“S3”,触发器设置为根据变化。 水池低水位指示灯,背景颜色项中选择布尔型,真时为绿,假时为红,连接变量为“S4”,触发器设置为根据变化。 电机:背景颜色项中选择布尔型,真时为绿,假时为红,连接变量为“电机M”,触发器设置为根据变化。 进水Y:背景颜色项中选择布尔型,真时为绿,假时为红,连接变量为“水池进水Y”,触发器设置为根据变化。 4.3.5 修改密码界面设计 用户修改功能是在WinCC处于激活状态时,可以在线修改已经登录用户密码。不再需要调用用户管理器来修改密码,省去了许多繁琐环节,方便用户使用。修改密码界面如图4-10所示: 图4-10 修改密码界面 画面设计:设置界面如下,包括2个按钮,4个静态文本和4个输入输出域。 “用户名”所对应输入输出域连接变量“@CurrentUserName”触发设置为根据变化。 “密码”所对应输入输出域,改变其名,变为“IOField_OldPassWord”(方便编程),并在其“属性”栏中“输入输出”项中把“域类型”设置为输入,“数据格式”为字符串,“输出格式”为空。 同样“新密码”所对应输入输出域,改变其名,变为“IOField_NewPassWord”(方便编程),并在其“属性”栏中“输入输出”项中把“域类型”设置为输入,“数据格式”为字符串,“输出格式”为空。 “密码”所对应输入输出域,改变其名,变为“IOField_Confirmation”(方便编程),并在其“属性”栏中“输入输出”项中把“域类型”设置为输入,“数据格式”为字符串,“输出格式”为空。 对“确定”按钮C脚本主要编程如下: #pragma code ("usegen.dll") #include "usegenap.h" #pragma code () HWND Handle; DM_PROJECT_INFO pr_info; DM_DIRECTORY_INFO dir_info; CMN_ERROR error; char *pold_pass=NULL; char *pnew_pass=NULL; char *pconfirm=NULL; char old_pass[51]; char new_pass[51]; char confirm[51]; long int ret; BOOL ret2; memset(&pr_info,0,sizeof(DM_PROJECT_INFO)); memset(&dir_info,0,sizeof(DM_DIRECTORY_INFO)); //this line is necessary when you want to have a realy modal message box Handle = FindWindow("PDLRTisAliveAndWaitsForYou",NULL); //Get the differents strings old, new password and confirmation pold_pass=GetPropChar(lpszPictureName,"IOField_OldPassWord","OutputValue"); pnew_pass=GetPropChar(lpszPictureName,"IOField_NewPassWord","OutputValue"); pconfirm=GetPropChar(lpszPictureName,"IOField_Confirmation","OutputValue"); strncpy(old_pass,pold_pass,50); strncpy(new_pass,pnew_pass,50); strncpy(confirm,pconfirm,50); //if the new password and the confirmation are not the same display a message in a modal messagebox ret = strcmp(pnew_pass,pconfirm); if (ret) MessageBox (Handle, "输入密码不一致 !", "请重新输入", MB_OK | MB_ICONEXCLAMATION | MB_SYSTEMMODAL); else { // if the new and the old password are the same display a message in a modal messagebox if (!strcmp(pnew_pass,pold_pass)) { MessageBox (Handle, "新密码和旧密码不能相同", "请重新输入密码", MB_OK | MB_ICONEXCLAMATION | MB_SYSTEMMODAL); } else { // this 2 lines are necessary to get the DSN-Name of the project ret2=DMGetRuntimeProject(pr_info.szProject(pr_info.szProject); ret2=DMGetProjectInformation(pr_info.szProject); //connect to the Database with the DSN-Name contained in the pr_info-Structure PWGENConnect (pr_info.szDSNName,&error); // Change the password from Old_pass to New_pass of the user @CurrentUser ret2=PWGENChangePassword (GetTagChar("@CurrentUserName"),old_pass,new_pass,&error); if (!ret2) { // when a password of another user is given, display a message in a modal messagebox MessageBox (Handle, "请检查用户名密码!", "请重新输入密码", MB_OK | MB_ICONEXCLAMATION | MB_SYSTEMMODAL); } else { // Disconnect from the Database PWGENDisconnect(&error); SetVisible("start.pdl","PictureWindow1",0); //hide the window "ChangePassword" MessageBox (Handle, "密码已修改", "确定", MB_OK | MB_SYSTEMMODAL); } } } } 对“确定”按钮编程如下: SetVisible("登录画面.pdl","PictureWindow1",0); //hide the window "ChangePassword"。 4.3.6 报警界面设计 报警记录编辑器负责采集和归档。消息系统给控制中心提供了关于水池和水塔水位状态信息。在组态期间,可对过程中应触发消息事件进行定义。系统可用画面和声音形式报告记录消息事件,还可以用电子和书面形式归档。报警可以通知操作员在生产过程中发生故障和错误消息,用于及早警告临界状态,并避免停机或缩短停机时间。 画面设计:设置如下画面,其中包括一个日历控件Control2.,一个报警控件Control1,3个按钮,2个输入输出域。 报警界面如图4-11所示: 图4-11 报警界面 对于历史记录查询,可以通过日历控件进行“起始日期”和“截止日期”设置,从而可以查询一段时间内报警记录。为此要对各个控件及按钮进行组态。下面介绍各个按钮和输入输出域功能及具体组态: 将图中WinCC报警控件命名为“control1”,添加一个“日历控件”(需要安装office 2007),命名为“control2”,“日历控件”外观特征可以双击控件设置。再创建如图所示按钮,和输入输出域。建立三个数据类型为“文本变量8位字符集”内部变量,分别命名为AlarmStartDate、AlarmEndDate、AlarmChaXun。 1. 设置开始日期:设置所想要查询报警记录范围起始日期。按钮事件属性---“鼠标左键动作”VB动作脚本程序如下: Sub OnLButtonDown(Byval Item, Byval Flags, Byval x, Byval y) Dim objControl2 Dim str,monthstr,daystr Dim objstartdate Set objControl2=ScreenItems("Control2") Set objstartdate=HMIRuntime.Tags("AlarmStartDate") If objControl2.Month<10 Then monthstr="0"&objControl2.Month Else monthstr=objControl2.Month End If If objControl2.Day<10 Then daystr="0"&objControl2.Day Else daystr=objControl2.Day End If str=objControl2.Year&"-"&monthstr&"-"&daystr objstartdate.Write str End Sub 对应输入输出域连接变量为“AlarmStartDate”,数据格式为“字符串”。 2. 设置结束日期:设置所想要查询报警记录范围结束日期。按钮事件属性---“鼠标左键动作”VB动作脚本程序如下: Sub OnLButtonDown(ByVal Item, ByVal Flags, ByVal x, ByVal y) Dim objControl2 Dim str,monthstr,daystr Dim objenddate Set objControl2=ScreenItems("Control2") Set objenddate=HMIRuntime.Tags("AlarmEndDate") If objControl2.Month<10 Then monthstr="0"&objControl2.Month Else monthstr=objControl2.Month End If If objControl2.Day<10 Then daystr="0"&objControl2.Day Else daystr=objControl2.Day End If str=objControl2.Year&"-"&monthstr&"-"&daystr objenddate.Write str End Sub 对应输入输出域连接变量为“AlarmEndDate”,数据格式为“字符串”。 3. 查询:实现查询功能,按钮事件属性---“鼠标左键动作”VB动作脚本程序如下: Sub OnLButtonDown(ByVal Item, ByVal Flags, ByVal x, ByVal y) Di
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服