资源目录
压缩包内文档预览:
编号:22871544
类型:共享资源
大小:5.67MB
格式:RAR
上传时间:2019-11-03
上传人:qq77****057
认证信息
个人认证
李**(实名认证)
江苏
IP属地:江苏
30
积分
- 关 键 词:
-
淬火
油槽
监控
系统
设计
- 资源描述:
-
淬火油槽监控系统设计,淬火,油槽,监控,系统,设计
- 内容简介:
-
湘潭大学兴湘学院毕业论文题 目: 淬火油槽监控系统设计 专 业: 机械设计制造及自动化 学 号: 2006183809 姓 名: 符波 指导教师: 毛美姣 完成日期: 2010年6月6日 湘潭大学兴湘学院毕业设计说明书题 目: 专 业: 学 号: 姓 名: 指导教师: 完成日期: 湘潭大学兴湘学院毕业论文(设计)任务书论文(设计)题目: 基于力控组态软件的淬火油槽监控系统的设计 学号: 2006183809 姓名: 符波 专业: 机械设计制造及自动化 指导教师: 毛美姣 系主任: 一、主要内容及基本要求 (一)监控内容: 1、淬火油温度与报警、根据淬火介质实际温度,自动控制冷却器和冷却泵的启停。 2、螺旋推进搅拌器的搅拌强度。 3、淬火油槽液位显示与报警,自动抽油回路的启停 4、灭火系统的自动启停和报警。(辅助手动开启喷气阀门) 5、过滤器压力监测与自动切换。 (二)毕业设计论文要求不少于1.5万字。翻译一篇不少于3000字的外文文献。二、重点研究的问题 1、基于组态软件监控系统的总体设计方案; 2、监控系统的硬件设计; 3、组态软件中监控系统的软件设计。 三、进度安排序号各阶段完成的内容完成时间1资料检索、查询20.2系统总体方案构思及设计20.20.3完成组态软件系统总体设计20.10.4完成系统硬件选择20.25.5完成系统软件设计20.14.6毕业设计论文的撰写20.26.7准备答辩20.7. 四、应收集的资料及主要参考文献1 马国华.监控组态软件及其应用M.北京:清华大学出版社,2001. 2 龚运新,方立友.工业组态软件实用技术M.北京:清华大学出版社,2005. 3 欧金成,欧世乐.组态软件的现状与发展J.工业控制计算机 2002. 4 马国华.监控组态软件的相关技术发展趋势J.自动化博览,2009 第5期 5 曾庆波,孙华,周卫宏.监控组态软件及其应用技术M.哈尔滨:哈尔滨工业大学,2005. 6 王文强.基于PLC与力控组态软件实现的温度控制系统J.化学工程与装备,2009.第12期 7 胡汉辉.三维力控组态软件的应用J.湖南工业职业技术学院学报,2003.第4期 湘潭大学兴湘学院毕业设计目 录1 引言1 1.1 课题概述1 1.2 课题背景及意义1 1.3 国内外基本研究情况2 1.4 课题的主要研究内容32 三维Force control组态软件介绍4 2.1 三维Force control组态软件概述4 2.2三维Force control组态软件结构介绍43脚本函数6 3.1系统函数6 3.2 系统函数扩展23 3.2.1 功能23 3.2.2 添加组件23 3.2.3方法及属性24 3.3 动作脚本编程语法264 系统设计28 4.1系统硬件选择284.1.1 8 57.5m淬火油槽284.1.2 搅拌设备采用闭式螺旋推进搅拌器284.1.3 自动/手动灭火装置284.1.4 油冷却器28 4.3 系统软件设计294.3.1 图形界面开发294.3.2 定义IO设备504.3.3实时数据库504.3.4动画连接604.3.5脚本动作654.3.6 日志系统704.3.7数据库导出与导入724.3.8 运行794.3.9 开机运行启动794.3.9各进程运行时说明80结束语83致谢84参考文献85附录I 程序清单86附录II 数据库102附录III 力控驱动列表104附录IV外文文献翻译原文11附录V外文文献翻译14121基于力控组态软件的淬火油槽监控系统的设计摘要:力控产品已经应用于石油、化工、电力、楼宇、水利、冶金、机械、食品等多个领域,本文以北京三维力控组态软件为基础开发了淬火油槽监控系统,实现对淬火油槽参数和设备状态的实时监控、报警、数据查询、对于工作现场的正常工作和远程监控起了重要保障作用。关键字:组态软件 淬火油槽 监控Design of Quenching Oil Groove Control Monitor System Abstract:Force control products has been used in oil, chemical industry, electric power, building, water conservancy, metallurgy, machinery, food etc, taking Beijing 3d force control configuration software is developed based on quenching tanks monitoring system of quenching tanks parameters and equipment state of real-time monitoring, alarm, data query, for the normal work of the work site and remotely monitor plays an important role.Key words: configuration software; quenching tanks ;and control1 引言1.1 课题概述随着工业自动化水平的迅速提高和计算机在工业领域的广泛应用,人们对工业自动化的要求愈来愈高,种类繁多的空着设备和过程监控装置在工业领域的应用,使得传统的工业控制软件已无法满足用户的各种需求。通过工业自动化组态软件的出现为解决上述实际工程问题提供了一种崭新的方法,因为它能够很好地解决传统工业控制软件存在的种种问题,使用户根据自己的控制对象和控制目的任意组态,完成最终的自动化控制工程。目前世界上的组态软件的品种繁多,国外有美国的Wonderware 公司的InTouch、Intellution公司的iFIX等,国内产品有三维力控、组态王、MCGS等。国外组态软件虽然功能强大但价格高,而国产组态软件吸收了国外软件的优点,在功能上可以和国外组态软件相媲美,而且还具有符合国人思维习惯的中文菜单,性价比高。本文以淬火油槽为对象,利用三维Force control组态软件设计开发了一个监控系统。监控组态软件是对现场生产数据进行采集与过程控制的专用软件,最大的特点是能以灵活样的“组态方式”而不是编程方式来进行系统集成,它提供了良好的用户开发界面和简捷的工程实现方法,只要将其预设置的各种软件模块进行简单的“组态” ,便可以非常容易地实现和完成监控层的各项功能,比如在分布式网络应用中,所有应用(例如趋势曲线、报警等)对远程数据的引用方法与引用本地数据完全相同,通过“组态”的方式可以大大缩短了自动化工程师的系统集成的时间,提高了集成效率。在组态概念出现之前, 要实现某一任务, 都是通过编写程序 (如使用BASIC,C,FORTRAN等) 来实现的, 编写程序不但工作量大、 周期长, 而且一旦工业被控对象稍有变动, 必须修改该系统的源程序。组态软件的出现,解决了这个问题, 对于过去需要几个月的工作, 通过组态软件几天就可以完成。本文以淬火油槽为对象,利用三维Force control组态软件设计开发了一个监控系统。力控监控组态软件是对现场生产数据进行采集与过程控制的专用软件,最大的特点是能以灵活多样的“组态方式”而不是编程方式来进行系统集成,它提供了良好的用户开发界面和简捷的工程实现方法,只要将其预设置的各种软件模块进行简单的“组态”,便可以非常容易地实现和完成监控层的各项功能,比如在分布式网络应用中,所有应用(例如趋势曲线、报警等)对远程数据的引用方法与引用本地数据完全相同,通过“组态”的方式可以大大缩短了自动化工程师的系统集成的时间,提高了集成效率。1.2 课题背景及意义 随着工业自动化水平的迅速提高和计算机在工业领域的广泛应用,人们对工业自动化的要求愈来愈高,种类繁多的空着设备和过程监控装置在工业领域的应用,使得传统的工业控制软件已无法满足用户的各种需求。通过工业自动化组态软件的出现为解决上述实际工程问题提供了一种崭新的方法,因为它能够很好地解决传统工业控制软件存在的种种问题,使用户根据自己的控制对象和控制目的任意组态,完成最终的自动化控制工程。利用三维Force control组态软件设计开发淬火油槽的监控系统,最大的特点是能以灵活样的“组态方式”而不是编程方式来进行系统集成,它提供了良好的用户开发界面和简捷的工程实现方法,只要将其预设置的各种软件模块进行简单的“组态” ,便可以非常容易地实现和完成监控层的各项功能,比如在分布式网络应用中,所有应用(例如趋势曲线、报警等)对远程数据的引用方法与引用本地数据完全相同,通过“组态”的方式可以大大缩短了自动化工程师的系统集成的时间,提高了集成效率。在组态概念出现之前,要实现某一任务,都是通过编写程序 (如使用BASIC,C,FORTRAN等) 来实现的,编写程序不但工作量大、周期长,而且一旦工业被控对象稍有变动, 必须修改该系统的源程序。组态软件的出现,解决了这个问题,对于过去需要几个月的工作,通过组态软件几天就可以完成。1.3 国内外基本研究情况组态软件市场的大部分份额仍被国外几家组态软件占据。下面列举并介绍了一些有代表性的国外组态软件。 (1)美国Wonderware公司的In Touch它堪称组态软件的“鼻祖”,率先推出16位Windows环境下的组态软件,在国际上曾得到较高的市场占有率。InTouch软件的图形功能比较丰富,使用较方便,但控制功能较弱。其I/O硬件驱动丰富,只是使用DDE(Dynamic Data Exchange,动态数据交换)连接方式,实时性较差,另外它的驱动程序须单独购买。32位Windows环境下的7.0版在网络和数据管理方面有所加强,并实现了所谓的实时关系数据库,其实只是在SQL Server上增加了数据传输插件而己。在32位Windows环境下,InTouch己受到其它产品的猛烈冲击。 (2)美国Intelution公司的FIX美国Intelutinn公司的FIX产品系列较全,包括DOS版、16位Windows版、32位Windows版、OS/2版和其它一些版本,功能较InTouch强,但实时性仍欠缺,总体技术一般。其I/O硬件驱动丰富,只是驱动程序也须单独购买。最新推出的iFIX是全新模式的组态软件,思想和体系结构都比较新,提供的功能也较为完整。但对系统资源耗费巨大,用户最为明显的感受就是缓慢,而且经常受Windows操作系统影响而导致不稳定。 (3)德国西门子公司的WINCC德国西门子公司的WINCC组态软件在网络结构和数据管理方面要比FIX差,但也属于比较先进的产品之一。西门子似乎仅是想把这个产品当作其硬件的陪衬,对第三方硬件的支持也不热衷。若选用西门子公司的硬件,能免费得到WINCC,所以对于使用其它硬件的用户不是个好的选择。国产化的组态软件产品也正在成为市场上的一支生力军,具有较强的价格竞争优势,但总的来讲,由于资金来源缺乏,软件工程的组织薄弱,因此软件商品化的程度还比较差。下面介绍了一些有代表性的国内组态软件。 (l)亚控公司的组态王组态王是国内较早出现的组态软件产品之一,到现在也有6年左右的历史了。早期的组态王仿造InTouch,只是个人机接口。到了5.1版本,在数据管理和开放性方面有了一些改进。但体系结构却没有实质性地突破。有可能还没有摆脱早期形成的不合理的程序构架。其网络功能较为薄弱,支持不了真正意义上的分布式系统。6系列版本在体系结构上有了很大的改进。 (2)大庆三维公司的力控从时间概念上来说,力控也是国内较早就己经出现的组态软件之一。32位Windows下1.0版的力控在体系结构上就己经具备了较为明显的先进性,其最大的特征之一就是其基于真正意义的分布式实时数据库的三层结构,而且它的实时数据库结构为可组态的“活结构”。这在1999至2000年期间,力控得到了长足的发展,最新推出的2.0版在功能的丰富性、易用性、开放性和I/O驱动数量方面都得到了很大的提高。1.4 课题的主要研究内容本课题利用三维Force control组态软件实现淬火油槽的淬火油温度显示与报警、根据淬火介质实际温度,自动控制冷却器和冷却泵的启停;螺旋推进搅拌器的搅拌强度;淬火油槽液位显示与报警,自动抽油回路的启停;灭火系统的自动启动、停止和报警(辅助手动开启喷气阀门);过滤器运行压力监测与自动切换以及对系统的数据实时采集、管理和过程控制。2 三维Force control组态软件介绍2.1 三维Force control组态软件概述典型的计算机控制系统通常可以分为设备层、控制层、监控层、管理层四个层次结构,构成了一个分布式的工业网络控制系统,其中设备层负责将物理信号转换成数字或标准的模拟信号,控制层完成对现场工艺过程的实时监测与控制,监控层通过对多个控制设备的集中管理,来完成监控生产运行过程的目的,管理层实现对生产数据进行管理、统计和查询。监控组态软件一般是位于监控层的专用软件,负责对下集中管理控制层,向上连接管理层,是企业生产信息化的重要组 成部分。力控监控组态软件能同时和国内外各种工业控制厂家的设备进行网络通讯,它可以与高可靠的工控计算机和网络系统结合,便可以达到集中管理和监控的目的,同时还可以方便的向控制层和管理层提供软、硬件的全部接口,来实现与“第三方”的软、硬件系统来进行整体的集成。2.2三维Force control组态软件结构介绍力控监控组态软件基本的程序及组件包括:工程管理器、人机界面VIEW、实时数据库DB、I/O驱动程序、控制策略生成器以及各种数据服务及扩展组件,其中实时数据库是系统的核心,图2.2-1为组态软件结构图: 图2-1组态软件结构图主要的各种组件说明见下:工程管理器(Project Manager)工程管理器用于工程管理包括用于创建、删除、备份、恢复、选择工程等。开发系统(Draw)开发系统是一个集成环境,可以完成创建工程画面、配置各种系统参数、脚本、动画、启动力控其它程序组件等功能。界面运行系统(View)界面运行系统用来运行由开发系统Draw创建的画面,脚本、动画连接等工程,操作人员通过它来实现实时监控。实时数据库(DB)实时数据库是力控软件系统的数据处理核心,构建分布式应用系统的基础,它负责实时数据处理、历史数据存储、统计数据处理、报警处理、数据服务请求处理等。I/O驱动程序(I/O Server)I/O驱动程序负责力控与控制设备的通信,它将I/O设备寄存器中的数据读出后,传送到力控的实时数据库,最后界面运行系统会在画面上动态显示。网络通信程序(Net Client/Net Server)网络通信程序采用TCP/IP通信协议,可利用Intranet/Internet实现不同网络节点上力控之间的数据通信,可以实现力控软件的高效率通信。远程通讯服务程序(Comm Server)该通信程序支持串口、电台、拨号、移动网络等多种通信方式,通过力控在两台计算机之间实现通信,使用RS232C接口,可实现一对一(1:1方式)的通信;如果使用RS485总线,还可实现一对多台计算机(1:N方式)的通信,同时也可以通过电台、MODEM、移动网络的方式进行通信。Web服务器程序(Web Server)Web服务器程序可为处在世界各地的远程用户实现在台式机或便携机上用标准浏览器实时监控现场生产过程。 控制策略生成器(Strategy Builder)控制策略生成器是面向控制的新一代软逻辑自动化控制软件,采用符合IEC61131-3标准的图形化编程方式,提供包括:变量、数学运算、逻辑功能、程序控制、常规功能、控制回路、数字点处理等在内的十几类基本运算块,内置常规PID、比值控制、开关控制、斜坡控制等丰富的控制算法。同时提供开放的算法接口,可以嵌入用户自己的控制程序。控制策略生成器与力控的其它程序组件可以无缝连接。3脚本函数 脚本函数内置在界面系统DRAW中。目前包括“系统”类、“数学”类、“配方”类、“SQL查询”类、“设备操作”类、“字符串操作”类、“Window控件”类和“内置数据表”类函数。“系统”类、“字符串操作”类、“Window控件”类和“内置数据表”类包括数据转换、文件操作、系统功能调用、对象操作等功能函数。“数学”类目前包含一组常用数学运算函数;“配方”类目前包含一组用于控制配方管理器的函数;“SQL查询”目前包含一组用于实现SQL访问功能的函数;“设备操作”类目前包含一组实现计算机I/O读写操作的函数;可以在动画链接、对象脚本或应用程序脚本中引用脚本函数。3.1系统函数ActiveApp语法: ActiveApp(AppID)。说明: 把AppID所指定的程序所在的窗口置到前面,并且该窗口将获得输入焦点,即该窗口将接收键盘输入。参数: AppID为应用程序标识,类型为整型,为由StartApp函数得到的返回值。AlmAck语法;AlmAck()说明;前最新报警确认,当前最新报警显示在系统报警窗右侧。要显示系统报警。窗,首先要选中系统参数中系统报警检查框。AlmAckAll语法;AlmAckAll(DataSourceNo, AreaNo)。说明;对数据库中某一区域报警进行确认。DataSourceNo 数据源序号,序号从0开始。AreaNo 指定区域号,-1表示所有区域。AlmLogTimeSet语法 AlmLogTimeSet (StartTime)说明 报警历史记录或历史报表开始时间设置。参数StartTime: 报警历史记录或历史报表开始时间,类型为数值型常量、变量或数值型表达式。该数值为自1970年1月1日零时逝去的秒数。Beep语法 beep(number) 说明 蜂鸣器发出叫声。参数参数number用于指定不同的蜂鸣器响声。-1,0:为两种报警声。17对应乐谱的中音1至7。814对应乐谱的高音1至7。ChangeGroup语法 ChangeGroup(GroupNumber)说明该函数用于实时趋势、历史趋势模板中的变量成组替换,替换量一般为数据库变量。参数为数值常量或数值表达式,该参数的值表示变量组的组号。备注对于模板对象,只是替换位号名,参数部份保留不变。ChangeTag语法 ChangeTag(OldTag,NewTag)说明 该函数用于模板变量的替换,替换量一般为数据库变量。参数 OldTag为字符串常量或字符串表达式,该参数为被替换量。 NewTag为字符串常量或字符串表达式,该参数为替换量。备注 只是替换位号名,参数部分保留不变。ChangeTagByNo语法 ChangeTagByNo(no,NEWTAG)说明 该函数用于历史趋势和历史报表,替换量一般为变量。注意这里只是替换位号名,参数部分保留不变。no为数字常量或数字表达式,与历史趋势和历史报表中变量的序号相同。参数 no为数字常量或数字表达式; NewTag为字符串常量或字符串表达式,该参数为替换量。CheckSecurityArea语法 CheckSecurityArea(SecurityArea)说明 检查指定安全区是否可以操作。参数 SecurityArea:逗号分割开的安全区名字符串,一般是用SecurityAreaDlg得到的用户设定的值。返回值布尔值,返回当前登录的用户是否可以对这些安全区中的某一个有操作的权限。如果有操作权限返回TRUE,否则返回FALSE。CheckUserPassword语法 CheckUserPassword(UserName, Password)说明 检查指定用户的密码。参数UserName: 用户名。 Password: 用户密码。返回值整型0 -用户名密码正确。1 -密码错误。2 -该用户不具备这项权限或用户名不存在。CheckUserPopedom语法 CheckUserFuncPopedom(UserName, FuncUID)说明 检查某用户是否具备某项功能权限。参数 UserName:用户名。 FunUID:功能权限的UID。返回值:整型 0 -该用户具备此项权限。1 -该用户不具备这项权限或用户名不存在。CloseAllWindow语法 CloseAllWindow()说明 关闭所有窗口CloseWindow语法 CloseWindow()说明 关闭当前窗口,一般用于弹出式窗口的关闭。CloseWindowEx语法 CloseWindowEx(WindowName)说明 关闭指定窗口。参数 WindowName: 窗口名称,字符串变量或常量。ConvertTo语法 ConvertTo(MasterOrSlave)说明 双机热备状态的切换函数。参数 MasterOrSlave 0:由工作状态切换到备份状态 1:由备份状态切换到工作状态。DeviceClose语法 DeviceClose (DeviceName, DataSourNo)说明 停止设备通讯。参数 DeviceName:设备名称,类型为字符串常量或变量,该名称由I/O设备定义时创建。 DataSourNo:为整型,为数据源序号,-1表示本地数据源。数据源序号与数据源定义列表中所看到的顺序相同,序号从0开始。DeviceDialup语法DeviceDialup(DeviceName, telenum, DataSourNo)说明 改变设备拨号号码。参数DeviceName:设备名称,类型为字符串常量或变量,该名称由I/O设备定义时创建。 telenum:电话号码,类型为字符串常量或变量。 DataSourNo:为整型,为数据源序号,-1表示本地数据源。数据源序号与数据源定义列表中所看到的顺序相同,序号从0开始。DeviceOpen语法 DeviceOpen (DeviceName, DeviceAddress, DataSourNo)说明 启动设备通讯,并将地址切换到由DeviceAddress参数所指定地址上。参数 DeviceName:设备名称,类型为字符串常量或变量,该名称由I/O设备定义时创建。 DeviceAddress:设备地址,I/O设备的逻辑地址,类型为字符串常量或变量。如果该 项为空串,意思是使用上次启动地址,如果没有启动过将使用设备定义时指定的缺省地址。 DataSourNo:为整型,为数据源序号,-1表示本地数据源。数据源序号与数据源定义列表中所看到的顺序相同,序号从0开始。DisableOperate语法 DisableOperate (flag)说明 禁止用户对变量的操作。参数 flag禁止标志。取值含义:0:允许操作;1:表示禁止操作;2:除了禁止用户操作外,还将禁止任何脚本中向数据库设置数据请求。Display语法 Display(WinName)说明 显示名字为WinName的窗口。备注 显示名字为WinName的窗口。如果该窗口已经运行,则该窗口将成为当前活动窗口。DisplayEx语法 DisplayEx(WinName.drw,left,top,right,bottom)说明 改变窗口大小和位置,将指定的窗口大小按Left,top,right,bottom的数值改变,如果该窗口已经运行,则该窗口将成为当前活动窗口。Enable语法 Enable(flag)说明 允许或禁止对图形对象。注意:该函数只对图元对象起作用。Flag 为一常数值或数值表达式,其值为时图形目标被禁止,否则将允许对该图形目标操作。EventDisp语法EventDisp()说明系统事件包括程序起停信息,操作记录,系统错误信息等。Exit语法Exit(code)说明code取值为,。表示退出程序。表示窗口最小化。表示退出所有ForceControl程序。表示重新启动系统。表示关闭系统。FileCopy语法FileCopy(SourFileName,DestFileName , Overwrite)说明文件复制。复制已有文件(由文件名SourFileName指定)到一新文件(由文件名DestFileName指定)。参数SourFileName:字符串常量,或字符串表达式,为源文件名(完整的路径),即已存在文件。DestFileName:字符串常量,或字符串表达式,为新文件名(完整的路径)。Overwrite:整型量,覆盖标志。该量如果为0,如果同名文件已经存在,那么复制失败;非0将覆盖已有文件。返回值为1成功;为0失败。FileDataCount语法FileDataCount(FileName)说明取得文件中的数据个数,即得到文件中的数据项数。参数FileName:文件名。返回值:文件中的数据个数。FileDelete语法FileDelete(FileName)说明删除指定的文件。参数FileName:文件名。FileInfo语法FileInfo(FileName, InfoType)说明获取文件信息。如不指定绝对路径,则使用力控工程路径。参数FileName-字符串,文件名称或者文件夹名称,支持使用通配符。infotype-整型:1 指定文件是否存在,存在返回1,反之返回0。2 指定文件夹是否存在,存在返回1,反之返回0。3 指定文件大小,文件不存在返回-1,存在返回文件大小,如为负值表明文件超过0x10000000。4 文件最后修改日期,返回为整数型时间。5 搜索到的文件数,用户使用指定文件名(可使用通配符*?搜索到的所有文件个数。FileMove语法FileMove(SourFileName,DestFileName )说明文件/目录改名或移动。将已有文件/目录(由文件名SourFileName指定或目录)改名,或移动到一新的位置(由文件名DestFileName指定)。参数SourFileName:字符串常量,或字符串表达式,为源文件名或目录名(完整的路径),即已存在文件或目录。DestFileName:字符串常量,或字符串表达式,为新文件名或目录名(完整的路径)。返回值为1成功;为0失败。备注如果移动到不同的驱动器上,将进行文件、目录复制。FileWrite语法FileWrite(FileName,VarName,Offset ,Num)说明往指定的文件中写数据。参数FileName:文件名。VarName:从该变量开始写,按照变量的顺序号依次访问。如变量为var1,其后变量依次为var2,var3Num:要写的数据个数。FileWriteFields语法FileWriteFields(FileName,VarName,Offset ,Num)说明往指定的文件中逗号分割的记录文件,每一条记录为一行。参数FileName:文件名。VarName:从该变量开始写,按照变量的顺序号依次访问。Num:要写的数据个数。Offset:指定写此文件的起始位置。若 Offset 为 -1,此函数将写到文件末尾。若为1,则写到开头,其他的数字表示记录数。FindWindow语法FindWindow (Title)说明用于判断指定的窗口是否存在,窗口由其标题来标识。参数Title 窗口标题,为程序最上面标题条中所显示的内容。该名称必须与窗口标题条中显示的标题一致。返回值:类型为整型,为窗口句柄,0表示窗口不存在。GetAppPath语法GetAppPath()说明取得当前应用目录。返回值类型为字符串,完整的应用路径字符串。GetCurAlm语法GetCurAlm(alminfor,VAR$)说明返回值为当前报警优先级。若报警已经确认则返回值为。参数alminfor为某一区域的当前最新报警信息。$ALARMTXT00为区域当前最新报警信息。$ALARMTXT01为区域1当前最新报警信息。$ALARMTXT02为区域2当前最新报警信息。$ALARMTXT为整个数据库当前最新报警信息。VAR$为字符型变量,函数返回时保存当前发生报警位号名。返回值整型。GetDataSourceStat语法GetDataSourceStat(DataSourceNo)说明获取数据源状态。参数DataSourceNo 数据源序号,序号从0开始。返回值0 表示数据源状态正常,否则故障。GetHisData语法double GetHisData(Var,Year, Month, Day, Hour,Minute,Second)说明获取历史数据。参数Var 欲存取的变量,该变量必须是数据库变量,该参数不能包含在中。Year :整型,表示年,范围19992037 。0表示当年。Month: 整型,表示月, 范围112。0表示当月。Day: 整型,表示日, 范围131。0表示当天,负值表示前多少天,如-1表示前1天,-2 表示前2天。Hour: 整型,表示时, 范围023。 负值表示前多少小时,如-1 表示前1小时,-2 表示前2小时。Minute: 整型, 表示分, 范围059。负值表示前多少分钟,如-1 表示前1分钟,-2 表示前2分钟。Second:表示秒, 范围059。负值表示前多少秒,如-1 表示前1秒,-2 表示前2秒。返回值实型,该点在指定时刻的历史值。GetHisDataEx语法GetHisDataEx(Var,Year, Month, Day, Hour,Minute,Second,MilliSec)参数Var 欲存取的变量,该变量必须是数据库变量,该参数不能包含在中。 Year :整型,表示年,范围19992037 。0表示当年。 Month: 整型,表示月, 范围112。0表示当月。 Day: 整型,表示日, 范围131。0表示当天,负值表示前多少天,如-1表示前1天,-2 表示前2天 Hour: 整型,表示时, 范围023。 负值表示前多少小时,如-1 表示前1小时,-2 表示前2小时 Minute: 整型, 表示分, 范围059。负值表示前多少分钟,如-1 表示前1分钟,-2 表示前2分钟 Second:表示秒, 范围059。负值表示前多少秒,如-1 表示前1秒,-2 表示前2秒 MilliSec: :表示毫秒, 范围0999。返回值:实型,该点在指定时刻的历史值。GetObjLogicLayer语法GetObjLogicLayer(nLayerID)说明调用该函数将返回图元在第nLayerID层是否显示。参数: nLayerID:返回图元。GetRect语法#name.GetRect(left,top,right,bottom) 说明获取图元矩形的大小。参数left :返回图元在界面的左边距坐标值。top :返回图元在界面的上边距坐标值。right :返回图元在界面的右边距坐标值。bottom:返回图元在界面的下边距坐标值。GetStatisData语法GetStatisData(Var,Year, Month, Day, Hour,TimeSpan,Type,Time)说明获取统计数据参数Year, Month, Day, Hour指定的是开始时间,TimeSpan指定的是时间长度。Var 欲存取的变量,该变量必须是数据库变量,该参数不能包含在中。Year :整型,表示年,范围19992037。0表示当年。Month: 整型,表示月, 范围112。0表示当月。Day: 整型,表示日, 范围131。0表示当天,负值表示前多少天,如-1 表示前1天,-2 表示前2天。Hour: 整型,表示时, 范围023。 负值表示前多少小时,如-1 表示前1小时,-2 表示前2小时。TimeSpan:整型,为时间范围,单位为小时。前多少小时内的统计数据。如果Hour为8,TimeSpan为1,表示8点9点的统计数据(注意:对应于数据表中9点的数据);TimeSpan为2,表示6点8点的统计数据。Flag: 表示取何种统计数据。0:表示Aver; 1: 最大值 2: 最小值。Time: 字符型变量,为达到最大/最小值的时间。返回值实型,该点在指定时间段的统计值。GetTagKind语法GetTagKind(TagName, DataSource)说明获取点类型,即得到点在实时数据库中的类型号参数TagName: 点名称,字符串变量或常量。DataSource : 整型,数据源序号,数据源序号以0开始,注意该序号会因数据源的删减而变动。返回值点类型号,整型。GetUserCount语法GetUserCount()说明获得用户列表中的数量。(已注册的用户)返回值返回值类型,整型。GetUserListNode语法GetUserListNode (ListUserPosition)说明按用户列表的位置,获得用户名。参数ListUserPosition:用户列表中的节点序号。返回值字符串型, 用户名 如果字符串为空,表示执行异常。GetVarSecurityArea语法GetVarSecurityArea(VarName)说明 得到指定变量对应的安全区名。参数VarName:变量名。返回值 返回变量设定的安全区的名。Hide语法Hide()说明隐藏图形目标。如果目标处于隐藏状态,它将不接受鼠标动作。但可以执行杂项/一般动作。备注该函数只对图元对象起作用HideWindow语法HideWindow(WinNamede)说明隐藏名字为WinNamede的窗口。如果窗口处于隐藏状态,它将不接受鼠标动作。但可以执行杂项/一般动作。参数字符串。InfoResource语法InfoResource(ResourceType)说明返回系统的各种系统资源。参数1 返回系统可以物理内存字节数。2 返回系统物理内存字节总数。3 返回系统可用物理内存百分比。4 返回当前系统正在运行的任务数。InsertHisData语法InsertHisData (Var, Data, Year,Month,Day,Hour,Minute,Second,Millisec)说明向数据库中插入历史数据。参数Var: 该参数不能包含在中。数据库变量,该变量的数据源指明了向哪个数据库插入数据,而其数据库参数指明了是数据库的哪点参数。必须为数值型变量。注意:要插入的值不是Var变量的当前值,而是下一个参数Data。Data:要插入的数值,为数值型变量,常量或表达式。参数Year,Month,Day,Hour,Minute,Second, Millisec用于指定将要插入的历史数据发生时刻。即历史数据时间插入点。Year :整型,表示年,范围19992037 。0表示当年。Month: 整型,表示月, 范围112。0表示当月。Day: 整型,表示日, 范围131。0表示当天,负值表示前多少天,如-1 表示前1天,-2 表示前2天。Hour: 整型,表示时, 范围023。 负值表示前多少小时,如-1 表示前1小时,-2 表示前2小时。Minute: 整型, 表示分, 范围059。负值表示前多少分钟,如-1 表示前1分钟,-2 表示前2分钟。Second:表示秒, 范围059。负值表示前多少秒,如-1 表示前1秒,-2 表示前2秒。IntoConfig()语法IntoConfig()说明进入组态状态。IntTime语法IntTime(time, format)说明 用来获得日期时间的 年 月 日 时 分 秒。参数time:自1970年1月1日零时逝去的秒数。format: 要得到的时间格式标识。0:年1:月2:日3:时4:分5:秒IsWeb语法IsWeb()说明用于判断是否在浏览器上运行,可以用该值有选择的执行脚本。返回值整型,1表示在浏览器上运行;否则运行在VIEW上。LayerDown语法LayerDown()说明将图元下调一个图层。备注调用该函数将图元排列下调一个图层。LayerToBottom语法LayerToBottom()说明将图形对象排列到最后面。备注调用该函数将图形对象排列到最后面,即它不覆盖任何其它图形。LayerToTop()语法LayerToTop()说明将图形对象排列到最前面。备注调用该函数将图形对象排列到最前面,即不被其它任何图形覆盖。LayerUp语法LayerUp()说明将图元上调一个图层。备注调用该函数将图元排列上调一个图层。LogicLayerConfiger语法LogicLayerConfiger()说明显示逻辑图层配置对话框。示例LogicLayerUsing(-1);/使用所有层;所添加的图层的配置对话框。LogicLayerConfiger();/显示所有图层的显示/隐藏配置框。LogicLayerShow语法LogicLayerShow(Show)说明LogicLayerUsing所添加的图层显示或者隐藏。参数Show,是否显示, 1显示,0隐藏。LogicLayerUsing语法LogicLayerUsing(LayerID)说明添加LogicLayerShow 和 LogicLayerConfiger 函数操作的图层。参数LayerID图层索引,范围-131,-1和0代表所有图层,132代表第1至第32层。Login语法Login()说明用户注册,调用该函数将出现用户注册对话框。LoginEx语法LoginEx(UserName, Password)说明该函数直接用用户名和密码不用弹出对话框直接登录,常用于用户自己组态一个登录对话框的时候使用。参数UserName:登录用户名。Password:登录密码。返回值:整型,0表示失败, 1表示成功。Logout语法Logout()说明用户注消,调用该函数将出现用户注消对话框。LogoutEx语法:LogoutEx()说明强制注销当前的登录用户,不弹注销对话框。返回值整型,0-注销成功,1-异常:没有登录用户,或其他原因。LongTime语法LongTime(String)说明将字符串形式表示的时间转成整型数。参数String:要转换的字符格式的时间,类型为字符串常量、变量或字符串表达式。 时间格式规定如下“YYYY/MM/DD hh:mm:ss”,YYYY为年;MM为月;DD为日;hh为时;mm为分;ss为秒。返回值为整型数表示的时间,该数值为自1970年1月1日零时逝去的秒数。 MsgBox语法MsgBox(Message)说明显示一提示框。参数Message 为字符串常量或字符串表达式其值为提示框中显示的信息。PlaySound语法PlaySound(AviName,flag)说明播放一段由文件名AviName指定的音乐。参数AviName:Avi文件名。flag:播放方式取值为0或1。0:代表异步;1:代表同步。PostMessage语法PostMessage(AppID,Msg,wparam,lparam)说明该函数用于用于向指定的程序发送一条消息。参数AppID:应用程序ID。参数类型:整型。MSG:发送的消息号。参数类型:整型。wparam:要发送的消息参数。整型。lparam:要发送的消息参数。整型。返回值:整型,1表示成功。Print语法print(WinName)说明打印名称为“WinName”的窗口内容。参数字符串。PrintEX语法PrintEx(WindowName,left,top,right,bottom)说明打印窗口的特定区域。参数WindowName: 窗口名称,字符串变量或常量。left,top,right,bottom均为为整型,指定的是要打印的矩形区域。其中left,top分别为矩形区域左上角横坐标和左上角纵坐标;right,bottom分别为矩形区域右上角横坐标和右上角纵坐标。左右上角坐标可以通过将光标移至相应位置,并记录光标当前位置而得到。PrintSetup说明设置打印机。调用该函数弹出打印机设置对话框,在该对话框中可以对打印机进行设置。ReachTime语法ReachTime(hour,minute)说明当时间到达后返回值为真,否则为假。hour小时值,取值为,表示任何一小时minute分钟值,取值为。参数hour小时值,取值为,表示任何一小时minute分钟值,取值为BEEP(1);ENDIF;/每天上午时分该函数取值为真,这时将发出一声。SetHisDataState(state type)语法SetHisDataState(StateType)说明设置取历史数据函数的错误返回值的状态值。当调用GetHisData时如果取值时间为不存在的值时,按照此函数的设置值返回不同的结果。参数StateType:状态类型。0 - 调用GetHisData时如果取值时间为不存在的值时,返回最后的有效值。1 - 调用GetHisData时如果取值时间为不存在的值时,返回-9999.0。2 - 调用GetHisData时如果取值时间为不存在的值时,返回0值。备注此函数设置一次,整个运行期间的工程起作用。工程的默认值为0,如果想修改GetHisData的返回值状态最好在每次调用前使用或者在工程启动时设置一次。SetObjLogicLayer语法SetObjLogicLayer(LayerID, Add)说明设置图元在图层的状态。SetRect语法SetRect(left,top,right,bottom)说明设置图元矩形的大小。参数left:设置图元在界面的左边距坐标值。top:设置图元在界面的上边距坐标值。right:设置图元在界面的右边距坐标值。bottom:设置图元在界面的下边距坐标值。SetTimeCycle语法SetTimeCycle(Time)说明 修改历史报表时间间隔,其中Time是时间范围的秒数,请保证Time值和时间范围成整数倍关系。SetTimeSpan语法 SetTimeSpan(Time)说明修改历史报表时间范围,其中Time是时间范围的秒数,请保证Time值和时间间隔成整数倍关系。SetTitle语法SetTitle(NewTitle)说明用于动态设置窗口标题。参数NewTitle: 字符串类型,新窗口标题。Show语法Show()说明如果目标处于隐藏状态,执行该动作后图元恢复显示。备注该函数只对图元对象起作用。ShowEx语法ShowEx(flag)说明显示或隐藏图形目标。备注该函数只对图元对象起作用。SnapShotMake语法SnapShotMake()说明对当前活动窗口(覆盖式窗口)进行拍照。SnapShotView语法SnapShotView()说明快照浏览,若不选择浏览文件,浏览窗口将自动顺序播放。StartApp语法StartApp(AppName)说明启动应用程序,应用程序的名称和路径由AppName指定。参数字符串。StopApp语法StopApp(AppID)说明关闭先前由StartApp函数启动的程序。参数AppID为应用程序标识,类型为整型,为由StartApp函数得到的返回值。StrTime语法StrTime(time, format)说明将整型时间转成字符串形式。参数time 自1970年1月1日零时逝去的秒数。format 要转成的时间格式标识,规定如下:0:yyyy/mm/dd hh:mm:ss1:yyyy-mm-dd hh:mm:ss2:yyyy年mm月dd日 hh:mm:ssSubWin语法SubWin(WinName)说明调用子窗口。参数WinName 为窗口名称。TipDisp语法TipDisp(Prompt,Delay,StayTime)说明信息提示。参数Prompt字符串常量或字符表达式,Delay 延迟显示时间,即只有鼠标在对象上停留时间超过该值后,才会显示提示信息。StayTime 提示框逗留时间,超过该时间后,信息消失。ToPrint语法ToPrint()说明打印当前窗口。参数WinName 为窗口名称。TrendGetData语法TrendGetData(no,flag)说明历史趋势中指定笔的统计值。即给定趋势曲线中数值的统计值。参数no:整型量,为趋势笔序号,序号从0开始。flag:整型量,为0表示取最小值,1表示取平均值,2表示取最大值。返回值 浮点数,为得到的统计值。TrendSetOffset语法TrendSetOffset(no, offset)说明设置趋势笔Y轴的基本偏置,用于历史趋势。参数no:趋势笔索引号,索引号从0开始,范围07。offset:向上偏置百分比。负值表示曲线向下偏移。范围-10001000。TrendTimeSet语法TrendTimeSet(StartTime, TimeSpan)说明历史趋势时间设置。参数StartTime:趋势开始时间,类型为数值型常量、变量或数值型表达式。该数值为自1970年1月1日零时逝去的秒数。TimeSpan:趋势时间长度,单位为秒,类型为数值型常量、变量或数值型表达式。UserMan语法UserMan ()说明增加或删除用户。调用该函数时将出现一用户管理对话框,在该对话框中,用户可以添加新的用户或删除已有用户。注意:只有权限为工程师级以上的用户才能掉出该用户管理对话框,并且其只能增加或删除比自己权限低的用户。UserPass语法UserPass(UserName)说明修改用户口令,调用该函数时将出现一用户口令修改对话框,在该对话框中,用户可以改变由参数UserName所指定的用户名的口令。参数UserName字符串常量或字符表达式,为用户名称。如果该参数为空值,当前注册用户的口令将被修改。ValInputAni语法ValInputAni(VarName,Prompt,password,promt)说明模拟量输入,调用该函数将出现一模拟输入框,通过该输入框可以修改模拟量的值。VarName为一数值变量,输入框确认后变量的值将被修改。参数Prompt为字符串常量或字符串表达式,Prompt为1时,该提示信息将被显示在输入框中。password为一数值常量,0表示不显示输入信息,否则显示输入信息。 promto为一数值常量,表示是否出现提示信息,0表示不显示提示信息,否则显示提示信息。ValInputDis语法ValInputDis(VarName,Prompt, ONPrompt,OFFPrompt)说明调用该函数将出现一开关选择框,通过该选择框可以修改开关量的值。 VarName 为一数值变量,输入框确认后改变量的值将被修改。参数Prompt为字符串常量或字符串表达式,prompt为时该提示信息将被显示在输入框中, ONPrompt为字符串常量或字符串表达式,该提示信息将被显示在选择框状态为真的按钮上。OFFPrompt为字符串常量或字符串表达式,该提示信息将被显示在选择框状态为假 的按钮上。ValInputStr语法ValInputStr(VarName,Prompt,password,prompt)说明调用该函数将出现一字符输入框,通过该输入框可以修改变量的值。参数VarName为一字符变量,输入框确认后改变量的值将被修改。 Prompt 为字符串常量或字符串表达式。prompt为时,该提示信息将被显示在输入框中。password 为一数值常量,0表示不显示输入信息,否则显示输入信息。 prompt为一数值常量,表示是否出现提示信息。0表示不显示提示信息,否则显示提示信息。VarRedir语法VarRedir(var, NewTagPar)说明数据库变量重定向。用于将数据库变量或间接变量重定向,对于数据库变量改变变量的数据库参数名称,使其指向其他数据库参数;而对于间接变量则改变其变量指向,使其指向名字为NewTagPar的变量,该变量在DRAW中一定要存在。通常可用于历史报表,趋势中变量动态替换。参数var: 重定向变量,该变量必须为数据库变量或间接变量。NewTagPar:字符串类型,新数据库参数或变量名称名称。WritePrinter语法WritePrinter(printerName,data,flag)说明直接将打印内容输出到打印机,以逐行打印方式。参数printerName:打印机名 如果为空则使用系统已经定义的打印机。data:字符类型.要打印的内容 如果以换行结束责直接驱动打印机打印。flag:是否自动添加换行标记.0-不加标记 1-添加两个换行标记。3.2 系统函数扩展3.2.1 功能封装了一些系统通用函数。3.2.2 添加组件在组态环境,选择工程项目属性页,打开“后台组件”管理器,选择“系统函数扩展”组件,如下图3-1:图3-1“后台组件”管理器双击打开系统函数属性页,如下图3-2:图3-2 系统函数属性对话框点击“确定”按钮,完成组建件添加。3.2.3方法及属性. 1)CreatePath(string strPath) 函数原型:CreatePath(string strPath)函数描述:创建文件夹路径返回值 :void参数 :strPath-要创建的文件夹路径,以符号结尾说明 :根据设置创建文件夹路径2)MsgBox(CString strMsg) 函数原型:MsgBox(CString strMsg)函数描述:弹出提示对话框返回值 :无参数 :strMsg 提示信息说明 :弹出提示对话框,和WINDOWS API有相同的名子3)SelectColor() 函数原型:SelectColor()函数描述:选择颜色返回值 :int参数 :无说明 :返回所选颜色值4)SelectFileName(CString strParam,int bOpen) 函数原型:SelectFileName(CString strParam,int bOpen)函数描述:选择文件返回值 :string参数 :strParam-过滤器 若不为空,如doc|txt,则对话框文件类型可选doc,txt及所有文件若为空,则对话框文件类型为所有文件,bOpen-打开模式 0-保存对话框,其他值-打开对话框说明 :返回选择的文件名称型可选doc,txt及所有文件5)SelectFilePath() 函数原型:SelectFilePath()函数描述:选择文件的路径返回值 :string参数 :无说明 :返回选择文件的绝对路径6)SelectFolderPath() 函数原型:SelectFolderPath()函数描述:选择文件夹的路径返回值 :string参数 :无说明 :返回选择文件夹的绝对路径7)#SystemFunction:SetSystemTime(int nYear, int nMonth, int nDay, int nHour, int nMinute, int nSecond, int nMilliseconds) 函数原型:#SystemFunction:SetSystemTime(int nYear, int nMonth, int nDay,int nHour, int nMinute, int nSecond, int nMilliseconds)函数描述:设置系统时间返回值 :int参数 :nYear 年nMonth 月nDay 日nHour 小时nMinute 分钟nSecond 秒nMilliseconds 毫秒说明 :设置系统时间。3.3 动作脚本编程语法 “脚本”的英文叫Script。它是一种解释性的编程语言,是从主流开发编程语言演变而来的,比如C、BASIC、PASCAL等,通常是它们的子集,脚本不能单独运行,比如力控软件的脚本要靠VIEW程序解释执行,脚本可以扩充和增强VIEW程序的功能,使系统更具灵活,根据特殊需要可进行特殊定制,使二次开发时更加灵活方便。 在计算机控制的项目中,项目千差万别,动作脚本是面向应用开发工程师的,它简单易用,便于掌握。其基本类似于BASIC语言和C语言,只要有一些高级语言的编程基础,可以很容易的掌握。 注意:动作脚本语言是力控开发系统Draw提供的一种自行约定的内嵌式程序语言。它只生存在VIEW的程序中,通过它便可以作用于实时数据库DB,数据是通过消息方式通知DB程序的,本节介绍该语言的语法及用法。 动作脚本语言支持赋值、数学运算等基本语法,也可以书写由IF-ELSE-ENDIF等语句构成的带有分支结构的程序脚本。它由以下几个部分组成:变量和常数:数据运算的最基本单位。操作符:对数据实施的运算。表达式:关键字、运算符、变量、字符串常数、数字或对象的组合。表达式可用来执行运算、操作字符或测试数据。赋值语句:为变量或属性赋值的语句。条件语句:使用条件语句可以根据指定的条件控制脚本的执行流程。多分支语句:使用多分支语句可以根据指定的条件控制脚本的执行流程,在根据同一个条件处理多个分支时,它比条件语句更清晰。循环语句:循环用于重复执行一组语句。注释:用来解释代码如何工作的附加文本。函数:软件提供了一些定制好的系统函数,用户也可以自定义函数。4 系统设计4.1系统硬件选择4.1.1 8 57.5m淬火油槽油槽总高度8.2m,总容积:858.06(m)=322.4m3;有效容积:857.5(m)=300m3。最大淬火工件重量:20t,入油温度1100,出油温度150。淬火油温控制在5080,使用频率:高 。地坑深度7m。槽体采用长方体结构,用优质钢板和型钢制造,主体钢板厚度12mm(实测 厚度,材质:Q235-B),用不小于16号槽钢及其它型钢作横筋和立筋框架,槽体最底部由密布的12.6号型钢制成的底盘支撑和厚度14mm(实测厚度,材质:Q235-B) 钢板组成,整体具有足够的强度和刚性,保证注油后槽体外形无外鼓等变形,满足油槽长期使用要求。油槽上口面距地高度1200mm,溢流口距槽口距离400mm。供油口位置距槽口1500mm。4.1.2 搅拌设备采用闭式螺旋推进搅拌器采用轴承密封定位、顶插外置式螺旋推进搅拌器。共配置10台,沿油槽长度方向分布,功率根据计算确定。单台推进量不小于250m3/h,有效搅拌深度6m,有效淬火区紊流雷诺数4200以上,达到剧烈搅拌程度。6m以下设环形管增压喷嘴喷射搅拌,喷射压力经增压喷嘴增压后达到0.5MPa,以平衡槽内淬火油温度,同时兼顾入油深度超过6m的工件冷却。增压喷嘴的喷射角度,根据介质流向的水平距离及高度设计,使淬火介质沿槽壁形成斜上方向、以垂直为主的液流形态。螺旋推进搅拌器的最大搅拌推进总量不小于2500m3/h。通过变频器实现搅拌速度030m/min连续可调,可根据工件的不同材料和大小、形状设定相应的搅拌烈度。搅拌器为组合式结构,要求不占据淬火槽空间,可在不停产和不需要排出淬火介质的条件下进行线维修或拆装。4.1.3 自动/手动灭火装置淬火油槽上口设灭火氮气喷射环管,采用氮气自动灭火。自动灭火单元由增压喷嘴环管喷射器、串联电磁阀、旁路手动阀、温度传感器、火焰探测器和手动按钮组成,即可自行控制,也可根据需要手动控制。自动控制时,根据所用淬火油的开口闪点和燃点,现场设定一套电磁阀实现自动灭火。当淬火油达到设定温度时,该电磁阀打开,喷氮系统处于待机状态;另一台电磁阀以火焰信号驱动,火焰检测器检测到火焰信号时打开电磁阀,系统接通,开始喷射氮气实施自动灭火。两台电磁阀串后并联一台手动阀,一旦发生火灾时系统停电,可以手动打开旁路阀门实现灭火。4.1.4 油冷却器采用风冷介质。两台设备可独立运行,也可平行运行。冷却器前端配有手动阀门,后端设单向阀、过滤器及压力传感器。2.2 控制系统实现的功能控制系统采用组态控制方式。以介质温度、液位作为循环、冷却控制的基础信号。功能包括:监测、控制、报警。2.2.1 监控内容 a、淬火油温度显示与报警、根据淬火介质实际温度,自动控制冷却器和冷却泵的启停。b、螺旋推进搅拌器的搅拌强度。c、淬火油槽液位显示与报警,自动抽油回路的启停。d、灭火系统的自动启动、停止和报警(辅助手动开启喷气阀门)。e、过滤器运行压力监测与自动切换。2.2 报警重点报警重点包括下述各点的非正常状态:液位;介质温度;压力及火灾预警。4.3 系统软件设计4.3.1 图形界面开发 1 创建应用程序 启动力控工程管理器。双击图标,进入力控“工程管理器”,如图4-1所示。图4-1 工程管理器对话框双击“新建”按钮,创建一个新的应用程序目录,如图4-2所示。图4-2新建工程对话框在“项目名称”输入框要创建的应用程序名称。单击“开发系统”按钮,进入力控的开发环境DRAW,如图4-3所示。图4-3力控开发系统RAW对话框 2创建应用程序窗口(1)淬火油槽监控系统主界面进入开发环境DRAW后,选择菜单命令“文件/新建”,弹出“窗口属性”对话框,如图4-4所示。图4-4窗口属性对话框输入画面的标题名称“淬火油槽监控图”。单击按钮“背景色”,出现调色板,选择其中的一种颜色作为窗口背景色。最后单击“确认”按钮退出对话框。淬火油槽监控系统主界面如图4-5所示,通过该界面可以直观的了解到淬火油槽工作现场的工作状态,从该界面上显示了温度、液位、压力P1、压力P2的实时状态和报警,可以通过和按钮实现系统的启停。图4-5 淬火油槽监控系统主界面(2)报警 如图3-6所示,该报警界面是用来显示和确认报警数据的窗口。由开发系统Draw在工程画面中创建,而由界面运行系统View运行显示。本地报警是利用访问实时数据库的报警文件来进行查询的,不但可以访问本地的历史报警数据,还可以访问远程数据库的历史报警数据,构成分布式的、网络化的报警系统。系统提供了一个实时、历史报警的图形查询组件来查看报警状态,可以提供查询和确认等多项功能,报警组件使用两种预定义的类型:实时报警和历史报警。“实时报警”只反映当前未确认和确认的报警。如果经过处理后一个报警返回到正常状态,则这个变量的报警状态变为“恢复”状态,它前面产生的报警状态从显示中消失。“历史报警”反映了所有发生过的报警。“历史报警记录”可显示出报警发生的时间、确认的时间和报警状态返回到正常状态时的时间。图4-6 报警记录对话框系统报警 系统报警是指当运行系统中有报警产生时,会以某些固定的方式进行提示,力控中的系统报警的方式有:记录、标准报警声音、弹出提示框、系统报警窗、打印等。 创建系统报警的方式如下:选择系统配置导航栏中报警配置下的报警设置并双击,弹出如图4-7对话框:图3-7 报警设置对话框下面对报警设置中的五种系统报警方式进行逐一介绍。1. 记录如果选择记录这一项,当工程在运行中有报警产生时,会写入力控的plog日志中,见图4-8:图 4-8 PCAuto日志系统2. 标准报警声音 选择此项后,当运行系统中有报警产生时,计算机的蜂鸣器会发出提示音。3. 弹出提示框 选择此项后,当运行系统中有报警产生时,弹出如图4-9所示的提示框。图 4-9 报警提示窗口4. 系统报警窗系统报警记录为长条形窗口,显示在屏幕的顶部或底部。它是一种顶层窗口,始终显示在屏幕上,不会因为切换画面而关闭。 系统报警记录分为左右两个显示区,左边的部分为系统报警区,显示最近发生的系统报警记录;右边部分为过程报警区,显示最近发生的过程报警记录。如图4-10所示:图 4-10 系统报警记录界面 1) 在图4-8中,勾选“系统报警窗”,并选择后面的下拉框,以确定在运行时系统报警记录显示在屏幕中的位置。若没有勾选“系统报警窗”,在运行系统中即使发生过程报警,系统报警记录也不会出现。 “系统报警窗提示” 是当发生系统报警(如:系统检测到I/O设备发生故障或其它异常情况)时,系统报警记录会自动出现,但仅显示系统报警区的信息,如图4-11所示:图4-11 系统报警窗提示窗口5. 打印 当选择打印项后,运行系统中有报警产生后,会自动输出到打印机,将报警信息打印出来,打印的方式有两种:一种为逐行打印(适合于针式打印机),另一种为整页打印。 本地报警使用两种预定义的类型:实时报警和历史报警。“实时报警”只反映当前未确认和确认的报警。如果经过处理后一个报警返回到正常状态,则这个变量的报警状态变为“恢复”状态,它前面产生的报警状态从显示中消失。“历史报警”反映了所有发生过的报警。 “历史报警记录”可显示出报警发生的时间、确认的时间和报警状态返回到正常状态时的时间。 在两种类型报警的显示中,本地报警按行显示,一屏可显示的行数由报警记录的大小和显示字体决定。 力控允许配置报警记录,包括显示字体、确认未确认项的显示颜色等。配置本地报警 双击图4-12的本地报警控件,可以对报警属性进行设置,包括外观、记录格式和统计位号设置:1. 外观:外观选项卡可设置本地控件在运行状态的显示样式,如图4-12:图4-12 外观选项卡1) 颜色:设置表头背景颜色,表头的文字颜色,报警确认后的颜色、报警级别为低、高、紧急时的颜色;2) 数据源:选择报警的数据源;3) 报警类型:实时记录或历史记录;4) 区域号:要显示的区域;5) 单元:要显示的单元;6) 子单元:要显示的子单元;7) 组:要显示的组;8) 确认级别:设置报警控件的允许操作级别和允许操作的安全区。2. 记录格式:记录格式选项卡用来配置报警记录的显示内容,即记录的字段名。已选列中所列出的字段名将会是系统进入运行时本地报警组件所显示的字段。配置界面如图4-13所示:图4-13 记录格式选项卡3. 统计位号设置:配合本地报警组件的statistic()方法使用,分别将统计个数变量、最大值变量、最小值变量连接一个变量点,所对应的点分别表示statistic()方法中的报警条数、最大值、最小值,statistic()方法的具体使用详见下文中的“本地报警的属性、方法”一节。配置界面如图4-14所示:图4-14 统计位号设置对话框实时数据库中配置报警参数力控过程报警的初始配置是在数据库组态界面中配置完成的,配置界面如图4-15;图4-15为报警参数的基本配置界面,在此界面中可以配置报警限值、报警优先级、报警死区、报警延时时间、偏差报警和变化率报警等。图 3-15 点“报警参数”设置界面(3)趋势曲线如图4-16所示为趋势曲线,利用该界面可以查看液位、温度、压力在当前时刻的状态,而且实时趋势也可以保存一段时间的数据趋势,这样通过它可以了解当前系统的运行状态和生产情况。图4-16 趋势曲线 通过趋势曲线组件可以对生产数据进行完整、方便的数据分析,可完成数据的实时与历史显示,历史曲线可完成曲线的放大、缩小、平移,可任意添加、删减曲线,该组件提供了64个“方法”,通过“脚本”可以任意调用“方法”来设计不同行业的曲线分析工具。1) XY曲线组件:可以自由的进行曲线分析和查询。2) 温控曲线组件:可以进行温度的自动升温和保温控制,同时可以完成文件的存盘、打印、回放等功能。3) 标准WINDOWS组件:支持标准的文本框、单选框、列表框等组件。4) 报警组件:集成的报警管理和查询,可完成实时与历史报警的查询与管理。5) 事件组件:可以详细的记录操作人员的各种操作过程、系统事件。6) 事故追忆:可针对发生生产事故时的数据进行定位和分析不同的事故数据,通过报表和曲线的方式来进行表示和查询。7) 设备诊断组件:可统计开关型设备(如电机、阀门)的运行次数、时间,并且可以根据以上条件进行判断是否发生报警提示。8) 操作器面板:提供开关手操器、模拟手操器、PID手操器面板,方便DCS系统控制画面生成,简化组态过程。9) 多媒体组件:可以完成视频图象的实时播放,视频图象的存储、捕捉和回放,可以播放各种格式的视频、音频文件,可以有效的集成视频监控。10) 幻灯片组件:灵活的幻灯片播放,可进行自由控制。11) 浏览器组件:使软件可以成为为标准的浏览器客户端。12) 直方图组件:对生产数据以饼图、直方图、散点图的方式进行综合分析。13) 历史追忆组件:可以追忆带毫秒标签的数据,方便事故查询。14) GSM短信管理组件:完善的报警短信管理,生产出现问题的时候,通过移动网络将报警信息及时地发送到管理者的手机上。(4) 专家报表界面如图4-17所示为专家报表界面,采用专家报表可以解决开发过程中的图表、报表显示,输入,打印输出等问题的最理想的解决方案。采用专家报表可以极大的减少报表开发工作量,改善报表的人机界面,提高组态效率。非专业人员采用专家报表组件可以开发出专业的报表;而专业的开发人员采用专家报表组件,则可以更快地进行报表编辑。4-17 专家报表界面1. 专业的报表向导 通过多年来总结用户的使用习惯和使用频率,开发出极具智能化的报表向导功能,无论是制作本地数据库报表还是关系数据库报表,都可在最短的时间内完成。 2. 丰富的单元格式与设计 通过专家报表组件,用户可以将数据转化为具有高度交互性的内容,报表的单元格多种多样,用户可以从多种格式中选择按钮,下拉框,单选钮,核选框,滚卷钮来强化报表的冲击力。 3. 强大的图表功能 只要指定图表数据在表上的位置,一个精致的图表就完成了。如此傻瓜式的操作并不妨碍你的各种需要,除此之外,你可以指定图表数据源,以及控制图表的每一个数据。 支持多种格式导入导出 在专家报表中支持 CSV, XLS, PDF, HTML, TXT等文件格式的导出,以及支持 CSV,XLS,TXT等文件格式的导入,大大提高了组件数据的共享能力。 4. 与 Excel, Word表格数据兼容的复制和粘贴 专家报表支持剪切,复制和粘贴,其基本格式与 Excel,Word 表格相同;用户采用这个功能可以在 Excel,Word 表格和专家报表来交换数据。 5. 别具一格的选择界面 专家报表采用特有的颜色算法,使你能清楚的区分选择区域,又使眼睛受到的刺激最小。 6. 强大的打印及打印预览 专家报表对打印的支持非常丰富。可以设置页眉,页脚,页边距,打印预览无级缩放,多页显示,彻底忘掉打印所带来的烦恼。 专家报表创建过程: a 进入报表编辑环境,打开报表向导,选择“力控数据库报表向导”,单击下一步(如图4-18)。图4-18b 对行列数以及单元格大小进行设置,在此例中采用默认值,单击下一步(如图4-19)。图4-19c 选择要创建的报表类型,在此例中选择创建“日报表”,单击下一步(如图4-20)。图4-20d 设置报表的起始时间和时间样式,在此例中采用默认值,单击下一步(如图4-21)。图4-21e 选择要显示的数据库点添加到右边列表框中,单击完成(如图4-22)。图4-22f 保存并退出报表编辑环境。g 运行后的效果(如图4-23)。图4-23 专家报表运行界面报表扩展界面报表扩展1:查询设定时间范围内的报表数据图4-24 报表扩展1报表扩展2:导入和导出报表数据:图4-25 报表扩展2报表扩展3:用于打印报表操作:图4-26 报表扩展3报表扩展4:用于模板的替换:图4-27 报表扩展4 (5)事件记录界面 如图4-28所示为事件记录界面,力控的事件处理功能模块能记录系统各种状态的变化和操作人员的活动情况。当产生某一特定系统状态时,比如某操作人员的登录、注销,站点的启动、退出,用户修改了某个变量值等事件产生时,事件记录即被触发。事件不需要操作人员应答。力控的日志程序可以对操作人员的操作过程进行记录,并可记录力控相关程序的启动、退出及异常的详情。用户可以通过记录来对系统进行维护。图4-28 事件记录窗口(6)搅拌速度调节界面如图4-29所示为搅拌速度调节界面,采用手操器对搅拌速度进行调节,通过该界面可以实现搅拌速度在030,m/mind的范围内连续可调。图3-29 脚本速度调节界面用户管理界面如图4-30所示为用户管理界面,该界面提供了用户登陆、用户注销、修改口令等另外还提供了用户安全区指派显示功能。4-30 用户管理界面4.3.2 定义IO设备I/O设备的通信一般包括:DDE、OPC、PLC、UPS、变频器、智能仪表、智能模块、板卡等。这些设备仪表通过串口和以太网灯方式与上位机交换数据,只有定义设备后,力控才能通过数据库变量和这些I/O设备进行数据交换,定义I/O设备步骤如下:选择与淬火油槽监控系统主界面相对应的设备力控设备,与传感器对应的设备智能仪表,建立I/O设备。如下图4-31。图4-31 I/O组态设备4.3.3实时数据库 工厂CIMS核心是实时数据库,实时数据库可用于工厂过程的自动采集、存储和监视。作为大型实时数据库,可在线存储每个工艺过程点的多年数据。它提供了清晰、精确的操作情况画面,用户既可浏览工厂当前的生产情况,也可回顾过去的生产情况。可以说,实时数据库对于流程工厂来说就如同飞机上的“黑匣子”。 另一方面,实时数据库为最终用户提供了快捷、高效的工厂信息。由于工厂实时数据存放在统一的数据库中,工厂中的所有人,无论在什么地方都可看到和分析相同的信息,客户端的应用程序可使用户很容易对工厂级实施管理,诸如工艺改进、质量控制、故障预防维护等。通过实时数据库可集成产品计划、维护管理、专家系统、化验室信息系统、模拟与优化等应用程序,在业务管理和实时生产之间起到桥梁作用。 工厂的历史数据对公司来说是很有价值的。实时数据库的核心就是数据档案管理,它采集并存储与流程相关的上千点的数据。多年应用历史数据库管理的经验告诉我们,现在很难知道将来进行分析时哪些数据是必须的。因此,保存所有的数据是防止丢失所需信息的最好方法。此外,要改进产品,必须具备与之相关物料的信息,并了解当前和过去的操作状态。实时数据库采集、存储流程信息,用来指导工艺改进、降低物料、增加产量。数据库DB是整个应用系统的核心,他负责整个力控系统的实时数据处理、历史数据储存、报警信息处理、数据服务请求处理。在力控的实时数据库中,一个基本的数据对象为“点”。一个点由若干参数组成,一个点参数对应一个客观世界中的可被测量或控制的对象。力控的变量系统则增加了平台的灵活性,提供数据库数据引用处理、DDE数据交换、变量的间接访问、数据的临时存储以及系统及信息访问等功能。在本系统中,经过创建点参数、定义I/O设备、数据连接等步骤便可以完成数据库的创建。实时数据库点参数的设置如图4-32: 图4-32 实时数据库参数点创建界面Microsoft Office Excel 2003的ODBC数据源配置1. 创建数据源 单击动作-应用程序动作菜单,出现图4-33所示“脚本编辑器”窗口,在“进入程序”选项卡中使用函数SQLConnect( ConnectID,DataSourceDesc)可实现实时数据库与Excel 2003工作簿的连接。图4-33 “脚本编辑器”窗口 在“脚本编辑器”窗口的工具栏中单击“数据源选择”图标,弹出如所示的“Select Data Source”窗口,该窗口提供“File Data Source”和“Machine Data Source”两个选项卡,前者为文件数据源,仅针对指定的数据库文件创建数据源,如果有多个Excel工作簿需要连接,就需要创建相应数量的文件数据源;后一种为机器数据源,它可以在使用的计算机上创建一个面向所有Excel工作簿的数据源。 在本文仅介绍“Machine Data Source”的创建连接过程。在这里需要说明的是,如果使用的计算机已经建立了若干数据源,图 4-34会列出已存在的数据源列表。图4-34 “Select Data Source”窗口先选中“Machine Data Source”选项卡,然后单击按钮,出现图4-35所示的“创建新数据源”窗口,在“选择数据源类型”选项中选择“系统数据源(只用于当前机器)(S)”来创建一个新数据源。图4-35 “创建新数据源”窗口单击图4-35 按钮,弹出图4-36所示“创建新数据源”窗口,在提供的数据源驱动程序列表中选择驱动“Microsoft Excel Driver (*.xls)”,然后单击 按钮,弹出图4-37所示的窗口。图4-36图4-37在图4-36所示的窗口,单击 按钮,弹出图4-37所示“ODBC Microsoft Excel 安装”窗口,其中“数据源名”和“说明”可以根据需要自定义。注意:“数据源名”为必选项,输入的数据源名可以使用英文、数字及两者的混合模式,但不支持中文数据源名,该数据源名在典型的SQL字符串连接中为DNS数据源的名称。“说明”是对数据源名的描述,非必选项,可以为空。图4-38本例中,在图4-38“数据源名(N):”中输入“Excel”,在“说明(D):”中输入“All USER”,如图4-39所示。数据库版本使用默认的“Excel 97-2000”图4-39单击 按钮后,名为“Excel”的新数据源就建好了,如图4-30,使用该数据源名可以连接本机任何Excel的工作簿了。图4-40创建数据源也可以在WINDOWS XP系统的控制面板-管理工具-数据源(ODBC)完成。其创建过程如下:图4-41进入控制面板-管理工具,双击打开“数据源(ODBC)”快捷方式,弹出如图4-65所示“ODBC 数据源管理器”窗口,在该窗口页选择“系统DSN”选项卡,然后单击 按钮随后弹出如图4-42所示窗口。图4-42在图4-42窗口单击 按钮,弹出图4-43所示“ODBC Microsoft Excel 安装”窗口,其中“数据源名”和“说明”可以根据需要自定义。注意:“数据源名”为必选项,输入的数据源名可以使用英文、数字及两者的混合模式,但不支持中文数据源名,该数据源名在典型的SQL字符串连接中为DNS数据源的名称。“说明”是对数据源名的描述,非必选项,可以为空。图4-43本例中,在图4-43“数据源名(N):”中输入“Excel”,“说明(D):”中输入“All USER”,然后单击 按钮,名称为Excel的新数据源就创建成功了,如图4-44所示。图4-441) 创建工作簿使用“Microsoft Excel 2003” 创建一个新工作簿,例如:工作簿名称为“Book1-test”,文件保存路径为“C:盘”根目录。2) 连接数据源 在“脚本编译器”窗口输入函数“SQLConnect(ConnectID,);”将鼠标的光标置于上述函数的双引号(英文输入法的双引号)中间,在“脚本编辑器”窗口的工具栏中单击“数据源选择”图标添加数据源,在弹出的图 4-64窗口中双击数据源名“Excel”,出现图4-45的“选择工作簿”窗口。 在这里选择我们要连接的数据库“C:”根目录下的“Book-test.xls”工作簿(注意:必须取消右侧的只读属性,否则不能创建和写工作表的操作。),点击 按钮后返回结果如下:SQLConnect(ConnectID,DSN=Excel;DBQ=C:Book-test.xls;DefaultDir=C:;DriverId=790;FIL=excel 8.0;MaxBufferSize=2048;PageTimeout=5;);如果连接成功ConnectID 返回整型数据0,连接失败返回整型数据-1。图4-453) 创建工作表必须使用函数SQLCreateTable(ConnectID, DataTableName, TableTemplateName)和软件 “导航器”的工程项目-数据表管理中提供的“SQL数据表模板”来创建工作表。注意:Excel工作簿中默认的Sheet1、Sheet2、Sheet3以及手工创建的工作表都不能与实时数据库进行连接与数据交换;(1) 创建工作表过程在图 4-46所示的“开发系统-工程项目”的数据表管理-SQL数据表模板中创建新的数据表模板,假设数据表模板的名称为“TEM”,数据表内容如图4-47所示。图4-46图4-47 在开发系统下,新建窗口,使用“工具箱”-“基本图元”中的“增强型按钮”,在新窗口中绘制两个按钮。第一个按钮的“左键动作”-“按下鼠标”中使用函数连接工作簿SQLConnect(ConnectID,DSN=Excel;DBQ=C:Book-test.xls;DefaultDir=C:;DriverId=790;FIL=excel 8.0;MaxBufferSize=2048;PageTimeout=5;); 第二个按钮“左键动作”-“按下鼠标”中写SQLCreateTable(ConnectID,tab1,TEM);函数;运行后会按照TEM模板在Excel工作簿中创建名为tab1的工作表。执行顺序与结果:先运行第一个按钮,执行SQLConnect()函数,连接指定的Excel工作簿,然后运行第二个按钮,执行SQLCreateTable()函数创建新的工作表。这样就可以使用其它函数,如SQL Insert等,操作该工作表。4.3.4动画连接实时数据库DB主要完成过程实时数据库的采集(通过I/Oserver程序)、实时数据的处理(包括:报警处理、统计处理等)、历史数据处理等。动画连接时将画面中的图形对象与变量之间建立某种关系,当变量的值发生变化,在画面上图形对象的动画效果动态变化方式体现出来,有了变量之后就可以制作动画连接了。接下来介绍典型的介个实例: (1)运行界面数据值的输入和输出:双击的文本输入弹出“动画连接”对话框,点击数字输出,弹出数字输入对话框,单击变量选择按钮,弹出变量选择对话框,选择要关联的点及参数类型,如图4-48所示,单击选择按钮后变量的输入框中出现被选中的变量,单击确认按钮返回。此时,文本输出中的输出显示会随着变量改变而改变图4-48 变量选择界面(2)增强型按钮的动画连接双击按钮,弹出动画连接对话框,单击触敏动作中的左键动作,弹出脚本编辑器如图4-49所示:图4-49 脚本编辑器点击“按下鼠标”按钮,进行脚本编辑:nBeginTime=#DateTime.GetTime();nTimeRange=#TimeSpan.Value;nTimeRangeUint=#TimeSpan.Type;nTimeSpc=#TimeSpan6.Value;nTimeSpcUnit=#TimeSpan6.Type;.#专家报表#Report.SetFreeReportPar(-1,nBeginTime,nTimeRange,nTimeRangeUint,nTimeSpc,nTimespcunit);(3)窗口切换的动画连接由于应用程序的运行,人机界面对状态和监控的多窗口显示,专家报表,报警,事件等数据快处理,所以必须设置窗口间的切换,该程序中有大量的窗口切换,例如专家报表,报警,事件,趋势曲线等之间窗口导航的切换,下面以导航器中的专家报表为例,介绍动画连接中的窗口显示。双击导航器中的“专家报表按钮”,弹出:专家报表按钮动画连接对话框,单击触敏动作中的窗口显示按钮,弹出如图图4-50所示选择窗口对话框,图4-50 “选择窗口”对话框选择专家报表窗口,确认返回。(4)用户登陆单击“用户登录”图形对象,弹出弹出“用户登录”动画连接对话框,如图图4-51:图4-51 动画连接对话框单击触敏动作中的窗口左键动作,弹出脚本编辑器,在“按下鼠标”的编辑窗口中调用系统函数进行脚本编辑:login();userlevel3=;/用户注册,调用该函数将出现用户注册对话框,如图图4-52所示:图4-52 用户登录对话框(5)用户管理单击“用户管理”图形对象,弹出动画连接对话框,选择显示窗口按钮,弹出窗口选择对话框,如图图4-53所示图4-53 选择窗口对话框选择“用户管理注意事项”窗口,确认返回再在“用户管理注意事项”窗口中单击“确定”图形对象,弹出动画连接对话框,选择左键动作按钮,弹出脚本编辑,在“按下鼠标”的编辑窗口中调用系统函数进行脚本编辑:rtn=1;UserMan(); /增加或删除用户。CloseWindow()调用该函数是将出现用户管理对话框,如图4-54所示在该对话框中,用户可以添加新的用户或删除已有用户。注意:只有权限为工程级以上的用户才能调出该用户管理对话框,并且其只能增加或删除比自己权限低的用户图4-54 用户管理对话框4.3.5脚本动作 力控中动作脚本是一种基于对象和事件的编程语言,可以说,每一段脚本都是与某一个对象或触发事件紧密关联的,利用开发系统编制完的动作脚本,可以在运行系统中执行,运行系统通过脚本对变量、函数的操作,便可以完成对现场数据的处理和控制,进行图形化监控。 动作脚本可以增强对应用程序控制的灵活性。比如,用户可以在按下某一个按钮,打开某个窗口或当某一个变量的值变化时,用脚本触发一系列的逻辑控制、联锁控制,改变变量的值、图形对象的颜色、大小,控制图形对象的运动等等。所有动作脚本都是事件驱动的。事件可以是数据改变、条件、鼠标或键盘、计时器等。处理顺序由应用程序指定,不同类型的动作脚本决定以何种方式加入控制。动作脚本往往是与监控画面相关的一些控制,主要有以下类型:1窗口脚本窗口动作脚本与特定的窗口链接,它的作用范围为窗口,窗口画面关闭的时候,动作脚本就不执行了。可以在窗口打开时执行、窗口关闭时执行或者窗口存在时周期执行。创建窗口动作脚本。1) 选择菜单命令“特殊功能F/动作/窗口”菜单项。2) 在工程项目树形节点中的窗口,选择准备创建窗口动作的窗口名,点右键选择窗口动作。2. 执行条件窗口动作脚本的三种执行条件 。1) 进入窗口:开始显示窗口时执行一次。2) 窗口运行时周期执行:在窗口显示过程中以指定周期执行。3) 退出窗口:在窗口关闭时执行一次。2应用程序脚本应用程序动作脚本是与整个应用程序链接,它的作用范围为整个应用程序,可以在这种脚本中调用其他应用程序、完成数值计算等。可以在整个工程启动时执行、关闭工程时执行或者在运行期间周期执行。1. 应用程序动作脚本的创建方法。1) 选择“特殊功能S/动作/应用程序”菜单命令。2) 在工程项目树形节点中的动作/应用程序动作。2. 触发条件类别。1) 进入程序:在应用程序启动时执行一次。2) 程序运行周期执行:在应用程序运行期间周期性的执行,周期可以指定。图4-55 应用程序动作脚本编辑器对话框3) 退出程序:在应用程序退出时执行一次。3数据改变脚本 数据改变动作脚本与变量链接,以变量的数值改变作为触发事件。每当变量的数值发生变化时,脚本执行一次。创建数据改变动作脚本。1) 选择菜单命令“特殊功能S/动作/数据改变”,出现数据改变动作脚本编辑器:2) 在工程项目树形节点中的动作/数据改变动作。图4-56 脚本编辑器(1) 变量名:在此项中输入变量名或变量名字段。(2) 已定义动作:这个下拉框中可以列出已经定义了数据改变动作的动作列表,可以选择其中一个动作以修改脚本。(3) 数据改变时执行:选中此项数据发生变化的时候才执行此动作。4键脚本键动作脚本是链接到键盘上特定的键或键组合,以键盘按键的动作作为触发的动作事件。(1). 创建键动作脚本1) 选择菜单命令“特殊功能F/动作/键”菜单项,出现键动作脚本编辑器。2) 在工程项目树形节点中的动作/键动作。(2). 键动作脚本类型。1) 键按下:在键按下瞬间执行一次。2) 按键期间周期执行:在键按下期间循环执行,执行周期在系统参数里设定。3) 键释放:在键释放瞬间执行一次。5条件脚本 条件动作脚本既可以与离散型变量链接,也可以与一个等于真或假的表达式链接,以变量或逻辑表示式的条件值为触发事件。当条件值为真时、为真期间、为假时和为假期间执行条件动作脚本。(1) 创建条件动作脚本。1) 选择菜单命令“特殊功能S/ 动作/条件”菜单项,出现条件动作脚本编辑器。2) 在工程项目树形节点中的动作/条件动作脚本。图4-57 脚本编辑器(2)名称:此项用于指定条件动作脚本的名称。单击后面的“.”按钮,会自动列出已定义的条件动作脚本的名称。(3)条件执行的时机有4种:当条件为真时、为真期间、为假时和为假期间执行脚本。对于为真期间和为假期间执行的脚本,需要指定执行的时间周期。(4)说明:此项用于指定对条件动作脚本的说明。此项内容可以不指定。(5)条件选择:有2种条件,自定义条件和预定义条件。 1) 自定义条件对于自定义条件,需要在条件对话框内输入条件表达式,如上图6-20所示:“tag3=10”。 2) 预定义条件如果要使用预定义条件,选择“预定义”按钮,这时自定义条件的条件表达式的输入框自动消失,同时显示出“预定义条件”选择按钮,单击此按钮,出现如下对话框:图4-58预定义条件目前提供了“过程报警”、“设备故障”和“数据源故障”几种类型。选择某一种条件类型,并具体指定其他条件。(1) 过程报警当应用工程在运行过程中按照下图中的条件设置好的报警触发条件下有报警产生时,可触发执行动作中的脚本动作。图4-59(2) 设备故障当工程在运行时,下图所示对应的设备出现故障时,会触发动作中的脚本动作。图4-60(3) 数据源故障当应用工程在运行过程中按照下图中的条件设置的数据源故障时,其中数据源包括本地数据源和远程数据源,可触发执行动作中的脚本动作。图4-616. 动作:有2种动作,自定义动作和预定义动作。对于自定义动作,需要在自定义对话框内输入动作脚本,如上图所示:“tag3=1;”。如果要使用预定义动作,单击按钮“预定动作”,出现如下对话框:图4-62预定义动作包含以下几种:记录:条件满足时,将形成事件记录。标准报警声音:条件满足时,系统将发出标准报警声音。弹出提示框:条件满足时,系统将弹出一个提示对话框。打开窗口:条件满足时,系统将打开窗口。要打开的窗口可以指定。语音提示:条件满足时,系统将播放一个语音文件。语音文件可以指定。打印:选择此项后,当条件满足时,系统将把所发生的条件的描述信息输出到打印机上。以上预定义动作可以同时选择一个或多个,自定义动作和预定义动作可以同时指定,运行时将同时执行动作脚本。4.3.6 日志系统日志系统包括两部分:系统日志和操作日志,日志系统将力控 的各种组件的状态信息和相关通信信息统一管理起来,用户可以通过日志来了解软件的运行情况。1. 系统日志记录了力控的运行状态,包括运行系统VIEW、数据库系统DB、驱动服务器IO Server的运行状态,如图4-63所示。图4-63 日志系统对话框2. 当用户在定义中间变量的时候选择了记录操作,变量变化的时候,变化内容就可以在操作日志中显示。3. 选择文件/打开日志文件,可以选择之前存储的文件。4. 选择文件/另存日志文件,可以另存储日志文件。5. 选择文件/导出列表,可以把日志文件导出到csv文件,可以直接用表格方式打开查看。6. 选择文件/设置,弹出设置对话框,可对日志文件进行大小设置及属性设置,如图2.3-42所示:7. 可以选择日志文件的最大容量,当日志文件达到最大容量的时候,可以覆盖源文件,也可以另存到别的文件。这些都是用户可以自行设置选择的,为用户提供了很大的方便。图4-64 日志系统设置对话框4.3.7数据库导出与导入 本节结合具体实例详细说明DbManager的数据库导入/导出功能的使用方法。其中连接参数文件的含义与所使用的具体驱动有关。本例使用的驱动为“Modbus RTU”。对于其它驱动,在进行导入/导出时,其连接参数文件含义需要参考相关驱动程序文档。1. 定义设备启动IoManager,在IoManager中选择“标准MODBUS”类中的“Modbus(RTU串行口)”驱动,并创建一个I/O设备,假设设备名称定义为“modbus”(关于定义I/O设备的说明请参阅本手册第二章内容)。2. 创建数据库启动DbManager,在DbManager中创建几个点:tag1、tag2(关于创建数据库的说明请参阅本手册第一章内容)。同时给这些数据库点指定I/O连接,如下图4-65所示:图4-65 DbManager窗口然后设定历史参数:图4-66 DbManager窗口3. 导出点表选择DbManager菜单命令“工程/导出点表”, 弹出“导出”对话框:图4-67 “导出”对话框下面说明各参数含义:目录:存放导出文件的目录。文件名称:导出文件的前缀名称。基本参数文件:该文件名为*_basic.csv。“*”为前缀名称,在“文件名称”项中定义。该文件保存的内容是数据库点信息。连接参数文件:该文件名为*_link.csv。“*”为前缀名称,在“文件名称”项中定义。该文件保存的内容是数据库点的数据连接参数。文本方式:选择该项,将以文本格式导出连接项参数,否则将以二进制方式导出。历史参数文件:该文件名为*_his.csv。“*”为前缀名称,在“文件名称”项中定义。该文件保存的内容是数据库点的历史组态参数。对于本例,“目录”指定在“c:”,“文件名称”指定为“modbus”,选择“文本格式”。单击“确定”按钮后在C盘根目录下生成3个导出文件:modbus_basic.csv、modbus_link.csv和modbus_his.csv。4. 导出文件结构1) 基本参数文件。该文件记录了数据库中所有点的参数信息。由于力控数据库中的点分为多种类型:模块I/O点、数字I/O点等,并有区域的划分,因此基本参数文件按照点类型和区域的顺序排放点参数内容,排放的顺序如下:图4-68其中类型0、1、2、3、4、5分别代表:模拟I/O点、数字I/O点、累计点、控制点、运算点、组合点。用EXCEL打开本例的基本参数文件modbus_basic.csv,内容如图4-69:图4-69EXCEL表由于本例使用了点类型0,并且都在区域0中,因此文件内只有点类型0和区域0的内容。第1行内容为标题名:“点类型”和“点数量”,该行内容不能手工改动。第2行第1列内容为“0”,表示从下一行开始的内容为类型0的点参数信息,该单元格的内容不能手工改动。第2行第2列内容为“5”,表示类型0的点的个数为5个,如果手工增加了点组态信息,需要相应修改该单元格内容。第3行内容为点类型0(模拟I/O点)的所有点参数的参数号,参数号供系统内部使用,该行内容不能手工改动。第4行内容为点类型0(模拟I/O点)的所有点参数的参数名,参数名供系统内部使用,该行内容不能手工改动。第5行内容为标题名:“区域”和“点数量”,该行内容不能手工改动。第6行第1列内容为“0”,表示从下一行开始显示的点的均为区域0内的点,可以手工改动该单元内容,将点安置到其它区域。第2行第2列内容为“5”,表示区域0内的点的个数为5个,如果手工增加了点组态信息,需要相应修改该单元格内容。2) 连接参数文件。该文件记录了数据库中点参数的数据连接信息。数据连接信息描述数据库点参数在I/O设备、其它力控数据库、内部点参数之间的数据映射关系。用EXCEL打开本例的基本参数文件modbus_link.csv,内容如图3-48:图4-70 EXCEL表第1行内容为标题名,该行内容不能手工改动。第26行为tag1tag5的数据连接参数,可手工修改或增减内容。每行的数据连接参数由多列组成。其中第1列代表点名称。第2列代表点参数名。第3列代表连接方式,0代表I/O连接,1代表网络数据库连接,2代表内部连接。根据第3列的内容其余各列参数的含义各不相同。如果为I/O连接方式,第4列代表I/O设备名称。第5列代表I/O连接项导出格式,0值代表二进制格式,1值代表文本格式。第6列代表I/O连接项描述。其它列表示I/O连接项数据结构IOITEMDEF的成员参数,IOITEMDEF的原型定义如下:struct IOITEMDEFchar str64;long n8;如果连接项导出格式为二进制,则第770列代表结构中str64的64个字节的数值。第7178列代表结构中n8的8个整数的数值。如果连接项导出格式为文本,则第7列代表结构中str64的字符串值。第815列代表结构中n8的8个整数的数值。如果为网络数据库连接方式,第4列代表网络数据库的数据源名称。第5列代表映射到数据源上的点名。第6列代表点参数名。如果为内部连接方式,第4列代表连接内部数据库的点名。第5列代表点参数名。对于本例中的Modbus RTU驱动,I/O连接项数据结构中各成员的定义如下:str64未使用,缺省把该字符初始化为I/O连接项描述。长整型数组n8各成员含义如下:n0,代表modbus寄存器类型。取值含义如下:0: 02号命令(DI离散输入量)1: 01和05号命令(DO离散输出量)2: 03号命令(HR保持寄存器)3: 04号命令(AR输入寄存器)4: 08号命令n1,代表偏移地址n2,代表是否按位操作。取值含义如下:0:无位操作1:有位操作n3,代表数据字节长度。取值含义如下:如果数据类型为:8位有符号数、8位无符号数、16位有符号数、16位无符号数、16位2个字符,该值为2。如果数据类型为:32位有符号整数、32位无符号整数、32位IEEE浮点数该值为4。如果数据类型为:字符型,该值为字符长度。如果数据类型为:64位双精度浮点数,该值为8。n4,代表当数据类型为8位有无符号或无符号型时是取低八位还是高八位。取值为0时表示取低八位;取值为1时表示取高八位。n5,代表读写标志。取值含义如下:0:可读可写1:只读2:只写n6,代表数据类型为字符串时的字符个数。n7,前两个字节代表数据类型,后两个字节代表按位操作时位的位置。3) 历史参数文件。该文件记录了数据库中点参数的历史参数组态信息。用EXCEL打开本例的基本参数文件modbus_his.csv,第1行内容为标题名,该行内容不能手工改动。第26行为tag1tag5的历史组态信息,可手工修改或增减内容。其中第1列代表点名称。第2列代表点参数名。第3列代表保存方式,0值代表变化保存,1值代表定时保存,2值代表退出保存。如果为变化保存,第4列代表变化率。如果为定时保存,第4列代表定时保存时间,单位为秒。5. 导入点表按照前面的说明,对基本参数文件、连接参数文件、历史参数文件进行手工修改、编辑后,可以将修改后的内容直接导入到数据库中。如果要导入点表,选择DbManager菜单命令“工程/导入点表”, 弹出“导入”对话框:图4-71 导入对话框导入时,基本参数文件、连接参数文件、历史参数文件要放在同一目录下,在“文件名称”中指定基本参数文件的完整路径与名称,如上图所示。DbManager自动将所有参数文件的内容导入到数据中。4.3.8 运行力控工程初步建立完成,进入运行阶段。首先保存所有组态内容,点击工具栏上按钮,进入运行,如图3-51所示:4-72 运行界面4.3.9 开机运行启动在生产现场运行的系统,要求启动计算机后就自动运行力控的程序,在力控中要实现这个功能,配置的方法如下:在开发系统中,系统配置导航栏/系统配置/初始启动程序下,将开机自动运行功能选中,见图3-52:图4-73 初始启动设置窗口4.3.9各进程运行时说明1. DB(实时数据库)在任务栏上显示的图标为,运行时的画面见图4-74, 详见帮助文档数据库、通信部分。图4-74实时数据库系统窗口1) DB数据库运行时界面调试 在数据库运行时,可以直接在DB的运行界面进行调试,例如,将a1点的pv值设定为12。2) 具体操作步骤如下: 在a1点的参数pv值处双击,弹出如下对话框,在对话框中输入12,单击确定按钮,见图4-75,操作的结果见图4-76。图4-75 “设置数据”对话框图4-76 实时数据库系统窗口2. IoMonitror(I/O监控器) IoMonitror(I/O监控器)是用于IO通信状态的监控窗口,在任务栏上显示的图标为,运行时的界面见图4-77。图4-77 IO监视器窗口3. NetServer(网络服务器) NetServer(网络服务器)用于管理力控的C/S、B/S和双机冗余等网络结构的网络通信,在任务栏上的图标为,运行时的界面见图4-78。图4-78NetSever窗口结束语 利用力控组态软件所涉及的监控系统,可以很好的对淬火油槽的各种参数状态进行监控,而且人机界面友好,操作简单;对提高淬火油槽监控水平和改善管理方式都提到了很好的作用。 力控组态软件画面制作简单,动画连接方便;利用控制策略生成器可以方便的实现控制组态;而且自带实时数据库,不需要用户自己建立数据库。致谢 通过为是3个月的努力,本次毕业设计终于结束了。毕业设计是大学学习中最后一道考题,它不仅把我们所学的知识综合其来,更是要求我能够灵活运用并熟悉掌握,在进行创新。本次设计使我的各方面能力得到了较大提高,特别是独立设计的能力和解决问题的能力。这些能力为我以后走出校园参加工作打下了牢靠的基础。在设计和撰写论文的过程中,我得到了毛美姣和谭志飞老师的悉心指导和热新帮助,不单是我能够顺利完成毕业设计,在专业知识上长进不少,而且为我树立了严谨治学和忘我工作的榜样,在此对他们表示由衷的感谢。另外,机械学院全体老师在我毕业设计过程共给予了我很多的支持和帮助,在此深表谢意。参考文献1 马国华.监控组态软件及其应用M.北京:清华大学出版社,2001.2 曾庆波,孙华,周卫宏.监控组态软件及其应用技术M.哈尔滨:哈尔滨工业大学,2005.3 李松柏,刘义伦,王广斌.基于力控组态软件的空压机监控系统J.PLC&FA,20064 刘晓强,郝榕,谭得健.FIX组态软件在微机监控系统中的二次开发应用J.煤炭科技大学,2000.5 樊东黎.热处理技术数据手册M.北京:机械工业出版社,2001.6 马国华.监控组态软件的相关技术发展趋势J.自动化博览,2009 第5期7 欧金成,欧世乐.组态软件的现状与发展J.工业控制计算机 2002.8 倪雯,工业控制组态软件的产品对比及发展趋势J.测控技术.2000.9 覃贵礼,吴尚庆.组态软件控制技术.北京:北京理工大学出版社,2007.10 方康玲.过程控制系统.武汉:武汉力控大学出版社,2002.11 孙浩.工业控制组态软件的发展现状及应用.冶金自动化,1996.12 戴学丰,曲伟建,陆仲达.控制系统集成.哈尔滨:哈尔滨工业大学出版社,2006.13 龚运新,方立友.工业组态软件实用技术M.北京:清华大学出版社,2005.14 王文强.基于PLC与力控组态软件实现的温度控制系统J.化学工程与装备,2009.第12期15 欧金成,欧世乐,林德杰,彭备战.组态软件的现状与发展J.工业控制计算机,2002.第4期16 张智杰,黄明键.PLC及其在组态软件中的应用J.网络与计算机技术,2002.第二期17 胡汉辉.三维力控组态软件的应用J.湖南工业职业技术学院学报,2003.第4期18 张路,何世钧,徐军峰等.工控组态软件在智能温室控制系统中的应用J .基础自动化, 2000,7.第2期19 黎洪生,李超,周登科,王为东,李雪静.基于PLC 和组态软件的分布式监控系统设计J.武汉理工大学学报,2002.第3期20 北京三维力控科技有限公司 /附录I 程序清单/程序运行周期执行IF run.pv=1 THEN IF wendu.pv=55 THEN IF yewei.pv=7.8 THEN IF P1.pv7.5&yewei.pv=70 THEN IF yewei.pv=7.8 THEN IF P1.pv55&wendu.pv70 THEN IF yewei.pv7.5&yewei.pv=7.8 THEN IF P1.pv=10 THEN DCL.pv=0; M1.pv=1; M2.pv=0; M3.pv=1; K1.pv=1; Q1.pv=1; K2.pv=0; Q2.pv=0; ELSE DCL.pv=0; M1.pv=1; M2.pv=0; M3.pv=1; K1.pv=0; Q1.pv=0; K2.pv=1; Q2.pv=1; ENDIF ENDIF ENDIF if DCL.pv=0 then if M2.pv=0 then if M3.pv=0 then wendu.pv=wendu.pv; yewei.pv=yewei.pv; if M3.pv=1 then if K1.pv=1&K2.pv=0 then wendu.pv=wendu.pv-1; yewei.pv=yewei.pv-0.05; endif if k1.pv=0&k2.pv=1 then wendu.pv=wendu.pv-1; yewei.pv=yewei.pv-0.05; endif endif Endif if M2.pv=1 then if M3.pv=0 then wendu.pv=wendu.pv-2; yewei.pv=yewei.pv+0.1; endif if M3.pv=1 then if K1.pv=1&K2.pv=0 then wendu.pv=wendu.pv-2; yewei.pv=yewei.pv+0.05; endif if k1.pv=0&k2.pv=1 then wendu.pv=wendu.pv-2; yewei.pv=yewei.pv+0.05; endif endif endif Endif if DCL.pv=1 then if M2.pv=0 then if M3.pv=0 then wendu.pv=wendu.pv+4; yewei.pv=yewei.pv; endif if M3.pv=1 then if k1.pv=1&k2.pv=0 then yewei.pv=yewei.pv-0.05; wendu.pv=wendu.pv-3; endif if k1.pv=0&k2.pv=1 then yewei.pv=yewei.pv-0.05; wendu.pv=wendu.pv-3; endif endif endif if M2.pv=1 then if M3.pv=0 then wendu.pv=wendu.pv+3; yewei.pv=yewei.pv+0.1; endif if M3.pv=1 then if k1.pv=1&k2.pv=0 then yewei.pv=yewei.pv-0.05; wendu.pv=wendu.pv+2; endif if k1.pv=0&k2.pv=1 then yewei.pv=yewei.pv-0.05; wendu.pv=wendu.pv+2; endif endif endif endifendif Endifif run.pv=0 then M1.pv=0;M2.pv=0;M3.pv=0;M4.pv=0;k1.pv=0;k2.pv=0;k3.pv=0;k4.pv=0;DCl.pv=0;endif/导入导出功能;if #CheckBox.GetCheck()=1 then if #RadioButton7.GetState()=0 then #专家报表.#Report.ExportCSVFile(-1,1,D:youlian.csv); endif if #RadioButton7.GetState()=1 then #专家报表.#Report.ExportExcelFile(-1,1,D:youlian.xls); endif if #RadioButton7.GetState()=2 then #专家报表.#Report.ExportPdfFile(-1,1,D:youlian.pdf,0,-1); endif if #RadioButton7.GetState()=3 then #专家报表.#Report.ExportTextFile(-1,1,D:youlian.txt,1); endif if #RadioButton7.GetState()=4 then #专家报表.#Report.ExportHtmlFile(-1,1,D:youlian.html); endifendifif #CheckBox4.GetCheck()=1 then if #RadioButton.GetState()=0 then #专家报表.#Report.ImportCSVFile(-1,1,D:youlian.csv); endif if #RadioButton.GetState()=1 then #专家报表.#Report.ImportExcelFile(1,D:youlian.xls); endif if #RadioButton.GetState()=2 then #专家报表.#Report.ImportTextFile(1,1,D:youlian.txt,-1); endifEndif/语法:#name.ExportCSVFile(nSheetIndex, nWithDlg, strPath);说明:以CSV格式导出报表参数:nSheetIndex:当前要操作的页,-1表示当前页;页索引号从0开始,取值范围为0到表页数减1。nWithDlg:是否有路径对话框,1表示有对话框。strPath:文件保存路径;如果nWithDlg为1,则不需要设置该路径。返回值:执行成功返回1;否则返回0。示例:#name.ExportCSVFile(1, 1, D:baa.csv);2. 导出Excel文件(ExportExcelFile()语法:#name.ExportExcelFile(nSheetIndex, nWithDlg, strPath);说明:以Excel格式导出报表参数:nSheetIndex:当前要操作的页,-1表示当前页;页索引号从0开始,取值范围为0到表页数减1。nWithDlg:是否有路径对话框,1表示有。strPath:文件保存路径;如果nWithDlg为1,则不需要设置该路径。返回值:执行成功返回1;否则返回0。示例#name.ExportExcelFile(0, 1, D:baa.xls);3. 导出HTML文件(ExportHtmlFile()语法:#name.ExportHtmlFile(nSheetIndex, nWithDlg, strPath);说明:以HTML格式导出报表参数:nSheetIndex:当前要操作的页,-1表示当前页;页索引号从0开始,取值范围为0到表页数减1。nWithDlg:是否有路径对话框,1表示有对话框。strPath:文件保存路径;如果nWithDlg为1,则不需要设置该路径。返回值:执行成功返回1;否则返回0。示例#name.ExportHtmlFile(0, 0, D:baa.html);4. 导出pdf文件(ExportPdfFile()语法:#name.ExportPdfFile(nSheetIndex, nWithDlg, strPath, nStart, nCount);说明:以PDF格式导出报表参数:nSheetIndex:当前要操作的页,-1表示当前页;页索引号从0开始,取值范围为0到表页数减1。nWithDlg:是否有路径对话框,1表示有strPath:文件保存路径;如果nWithDlg为1,则不需要设置该路径nStart:开始转换的打印页,从0开始,不能大于打印页数nCount:需要转换的打印页数,-1表示全部打印页返回值:执行成功返回1;否则返回0。示例#name.ExportPdfFile(0, 1, D:baa.pdf, 0, -1);5. 导出文本文件(ExportTextFile()语法#name.ExportTextFile(nSheetIndex, nWithDlg, strSplit, strPath, nFileType);说明:以文本格式导出报表。参数:nSheetIndex:当前要操作的页,-1表示当前页;页索引号从0开始,取值范围为0到表页数减1nWithDlg:是否有路径对话框,1表示有strSplit:文本方式的分隔符,如逗号分号空格等;如果nWithDlg为1,则可以不设置该参数。strPath:文件保存路径;如果nWithDlg为1,则可以不设置该参数。nFileType:导出的文本文件是否保留数值格式,1为保留;如果nWithDlg为1,则可以不设置该参数。返回值:执行成功返回1;否则返回0。示例:#name.ExportTextFile(0, 1, , D:baa.txt, 1);6. 导入CSV文件(ImportCSVFile()语法:#name.ImportCSVFile(nSheetIndex, nWithDlg, strFilePath);参数:nSheetIndex:当前要操作的页,-1表示当前页;页索引号从0开始,取值范围为0到表页数减1。nWithDlg:是否有路径选择对话框,1表示有,否则表示没有。strFilePath:要转换的文件,如果有对话框,则不需要设置该路径。返回值:执行成功返回1;否则返回0示例。#name.ImportCSVFile(0, 1, D:baa.csv);7. 导入XLS文件(ImportExcelFile()语法:#name.ImportExcelFile(nWithDlg, strFilePath);参数:nWithDlg:是否有路径选择对话框,1表示有,否则表示没有。strFilePath:要转换的文件,如果有对话框,则不需要设置该路径。返回值:执行成功返回1;否则返回0。示例:#name.ImportExcelFile(1, D:baa.xls);8. 导入文本文件(ImportTextFile()语法:#name.ImportTextFile(nWithDlg, nSplitType, strSplit, strPath, nMaxCols);参数:nWithDlg:是否有路径选择对话框,1表示有,否则表示没有。nSplitType:分隔号的类型。strSplit:作为自定义分隔号的常量字符串。strPath:文件保存路径;如果nWithDlg为1,则不需要设置该路径。nMaxCols:表格的最大列数,默认时为-1。返回值:执行成功返回1;否则返回0。示例:#name.ImportTextFile(1, 1, , D:baa.txt, 18);/用户登录;login();userlevel3=;/用户注销;#CheckBox0.SetCheck(0);#CheckBox1.SetCheck(0);#CheckBox2.SetCheck(0);#CheckBox3.SetCheck(0);#CheckBox4.SetCheck(0);if LogoutEx=0 then userlevel3=注销成功;else userlevel3=注销失败!;Endif/语法Login()说明用户注册,调用该函数将出现用户注册对话框。/修改口令;UserPass($UserName)/语法:UserPass(UserName)说明:修改用户口令,调用该函数时将出现一用户口令修改对话框,在该对话框中,用户可以改变由参数UserName所指定的用户名的口令。参数 :UserName字符串常量或字符表达式,为用户名称。如果该参数为空值,当前注册用户的口令将被修改。/关闭;CloseWindow();/语法CloseWindow()说明关闭当前窗口,一般用于弹出式窗口的关闭。/查询;#Report.SetTimePar(-1);/扩展功能复选框;SWITCH (#ComboBox.ListGetSelection()CASE 0: display(报表扩展2);CASE 1: display(报表扩展3);CASE 2: display(报表扩展4);CASE 3: display(报表扩展01);DEFAULT:ENDSWITCH/语法 Display(WinName)说明 显示名字为WinName的窗口。备注 显示名字为WinName的窗口。如果该窗口已经运行,则该窗口将成为当前活动窗口。示例 Display(“Win01”) /显示窗口Win01。/专家报表数据库查询;nBeginTime=#DateTime.GetTime();nTimeRange=#TimeSpan.Value;nTimeRangeUint=#TimeSpan.Type;nTimeSpc=#TimeSpan6.Value;nTimeSpcUnit=#TimeSpan6.Type;#专家报表.#Report.SetFreeReportPar(-1,nBeginTime,nTimeRange,nTimeRangeUint,nTimeSpc,nTimeSpcUnit);/修改自定义报表参数(SetFreeReportPar()语法:#name.SetFreeReportPar(nSheetIndex, nBeginTime, nTimeRange, nTimeRangeUint, nTimeSpc, nTimeSpcUnit);说明:修改自定义报表参数。参数:nSheetIndex:当前要操作的页,-1表示当前页;页索引号从0开始,取值范围为0到表页数减1。nBeginTime:起始时间,整数值。nTimeRange:时间段。nTimeRangeUint:时间段单位;0表示秒;1表示分;2表示时;3表示日nTimeSpc:时间间隔。nTimeSpcUnit:时间间隔的单位;0表示秒;1表示分;2表示时;3表示日 。返回值:执行成功返回1,否则返回0。/导出类型复选框;#CheckBox.SetCheck(1);#CheckBox4.SetCheck(0);#RadioButton7.Enable(1);#RadioButton.Enable(0);/导入类型复选框;#CheckBox.SetCheck(0);#CheckBox4.SetCheck(1);#RadioButton7.Enable(0);#RadioButton.Enable(1);/报表扩展2“确定”;if #CheckBox.GetCheck()=1 then if #RadioButton7.GetState()=0 then #专家报表.#Report.ExportCSVFile(-1,1,D:youlian.csv); endif if #RadioButton7.GetState()=1 then #专家报表.#Report.ExportExcelFile(-1,1,D:youlian.xls); endif if #RadioButton7.GetState()=2 then #专家报表.#Report.ExportPdfFile(-1,1,D:youlian.pdf,0,-1); endif if #RadioButton7.GetState()=3 then #专家报表.#Report.ExportTextFile(-1,1,D:youlian.txt,1); endif if #RadioButton7.GetState()=4 then #专家报表.#Report.ExportHtmlFile(-1,1,D:youlian.html); endifendifif #CheckBox4.GetCheck()=1 then if #RadioButton.GetState()=0 then #专家报表.#Report.ImportCSVFile(-1,1,D:youlian.csv); endif if #RadioButton.GetState()=1 then #专家报表.#Report.ImportExcelFile(1,D:youlian.xls); endif if #RadioButton.GetState()=2 then #专家报表.#Report.ImportTextFile(1,1,D:youlian.txt,-1); endifEndif/报表扩展3“打印设置”;#专家报表.#Report.PrintPageSetup();/报表扩展3“打印预览”#专家报表.#Report.PrintPreview(0,1);/报表扩展3“直接打印”#专家报表.#Report.PrintSheet(-1,1);/标本扩展4“替换模板”FOR cols = 2 TO 9 STEP 1 #专家报表.#Report.SetCellString(-1,-1,-1,标签,1);NEXT #专家报表.#Report.SetCurTemplate(-1,temp1);/1 PrintPageSetup()语法:PrintPageSetup();说明:调出报表打印设置对话框。参数:无。返回值:无。示例:#name.PrintPageSetup();2 PrintPreview()语法:PrintPreview(SheetIndex, PageSetDlg);说明:调出报表打印预览页面。参数:SheetIndex,整型,当前的要预览的表页索引;表页索引号取值范围0到表页数减1。PageSetDlg,整型,是否显示打印设置对话框。0为不显示,1显示。返回值:无。示例:#name.PrintPreview(0, 1); /预览第一页并显示打印设置对话框。3PrintSheet()语法:PrintSheet(SheetIndex, WithDlg);说明:打印指定的表页。参数:SheetIndex,整型,当前要打印的表页索引号,-1表示当前页;表页索引号取值范围0到表页数减1。WithDlg,整型,是否显示打印设置对话框。1为显示。返回值:执行成功返回1,否则返回0。示例:#name.PrintSheet(0, 1); /打印第一页, 并显示打印设置对话框。4设置单元格值(字符)(SetCellString()语法:nResult = #name.SetCellString(nSheetIndex,nRowIndex,nColIndex,strInput,nAllowUpdate);说明:设置指定表页中指定的单元格值(字符串类型)。参数:nSheetIndex:当前要操作的页,-1表示当前页;页索引号从0开始,取值范围为0到表页数减1。nRowIndex:行号;-1表示当前行;其范围是1到表页行数减1。nColIndex;列号;-1表示当前列;其范围是1到表页列数减1。strInput:要写入的字符串。nAllowUpdate:是否允许报表自动刷新,1表示允许,0表示不允许。返回值:执行成功返回1,否则返回0。示例:#name.SetCellString(0, 1, 1, hello, 1); /设置第一页行列号为1的单元格的值为hello/用户管理器注意事项“确定”;rtn=1;UserMan();CloseWindow()/语法:UserMan ()说明:增加或删除用户。调用该函数时将出现一用户管理对话框,在该对话框中,用户可以添加新的用户或删除已有用户。注意:只有权限为工程师级以上的用户才能掉出该用户管理对话框,并且其只能增加或删除比自己权限低的用户。示例:UserMan();/主菜单Display(淬火油槽监控系统主界面);Display(趋势曲线);Display(搅拌速度调节界面);Display(报警);Display(事件);Display(专家报表);Display(用户管理界面);附录II 数据库点数量6124491513101211KINDDESCUNITFORMATLASTPVPVEUEULOEUHI点数量60油温030002000液位0307.6米080压力010301001000压力020300010000300030003000100点数量15124132728512635KINDDESCUNITPVOFFMESONMESALMENABNORMALVALALARMPR点数量151M1状态01打开0011M2状态00打开0011M3状态00打开0011M4状态00打开0011K1状态00打开0011K2状态00打开0011K3状态00打开0011K4状态00打开0011冷却器01状态00打开0011冷却器02状态00打开0011电磁炉状态00打开0011搅拌器01状态00打开0011搅拌器02状态00打开0011状态控制00打开0011火焰传感器状态00打开001附录III 力控驱动列表 DDEMicrosoft(微软)DDEFCSECHELONLNSOPC_LNSSIEMENS(西门子)PROFIBUS DP华控CAN10S/20C/30BMODBUS标准MODBUSMODBUS(ASCII&RTU TCP/IP通讯)MODBUS(ASCII&RTU 串行口通讯)OPCMicrosoft OPC Client3.1 OPC Client3.6 OPC ClientPLCAB(罗克韦尔)ControlLogix(串口);ControlLogix(以太网)PLC-2;PLC-3;PLC-5SLC-500BECKHOFF(德国倍福)TWINCATEMERSON(艾默生)EC20(串口)EUROTHERM(欧陆)T2550GE(通用电气)GE90(SNP)GE以太网MULTILIN(MODBUS RTU串口通信)SNPXHITACHI(日立)EH150(232方式)或(485方式)H2000S10MINILGK1000S、K10S1(编程口)、K200S、K300S、K80S/K120SLG GLOFA ETHERNETMASTER-K系列MITSUBISHI(三菱)编程口:FX系列、A系列、Q系列Q模式串口:FX0N、FX1N、FX2N、FX2C、A系列、Q系列以太网:A、ANA系列、Q系列CC-LINKMODICON(莫迪康)MCRO37(UNITELWAY编程口)MODBUS PLUSMODBUS串口、以太网NAIS(松下电工)FP系列OEMAX(三星)NX系列OMRON(欧姆龙)HOSTLINKCONTROLLER_LINKTCP/IP、UDP/IPFINSSATA-BURGESS ELECTRONICS(思博)SAIA-BURGESS ELECTRONICSSIEMENS(西门子)S7-200:PPI串口、PPI USB口、MPIS7-300/400MPI工业以太网SOFTNET S7(数据标记冗余)3964RS5(AS511)SIXNET(西斯耐特)SIXNETYOKOGAWA(横河)FA-M3:ASCII串口、ASCII以太网、BINARY以太网VIGOR(丰炜)M&VB系列富士MICREX-SXSPB_RS4光洋电子SH系列、SM系列、SN系列DL05、SG-8、SU-6嘉华嘉华PLCMOLLOER(金钟默)MOLLOER PLC(COM-A)ANCO(巨腾)MODBUS(串口)、MODUBS以太网台达DVP永宏电机FACONUPSPOWERWARE(爱克塞)UPS9035、UPS9305、UPS9315、UPS9390APCAPC_Smart、SILCONEMERSON(艾默生)US11RHipulse(艾默生-力博特)HIPULSE 7200、7400SOCOMEC(溯高美)DSJBUS梅兰日兰梅兰日兰UPS科日新科日新UPS台达DELTA意大利犀利SP069山特(SANTAK)SANTAK UPS板卡ADLink(凌华)ACL系列 PCI系列AdvanTech(研华)研华全系列板卡Contech(康泰克)AIO系列板卡CNT系列板卡DIO系列板卡PIO16/16T(PCI)EVOC(研祥)PCL系列PCI系列HOTEC(宏拓)PC系列PCI系列ILACS(艾雷斯)DAC系列PCL系列ICPDAS(泓格)A626、A628、A821、A8111、DIO_48、P16R16DIO、P8R8DIO、TMC10PCI系列PIO系列PISO系列阿尔泰PCI系列双诺AC系列华远HY系列康拓IPC系列科日新K系列KPCI系列昆仑海岸16路开关量输入板卡、16路模拟量输入板卡、8路开关量输出板卡、液晶控制卡盛博DIAMONDCDT_2000SOLARTRON(输力强)35951A、35951B、35951C、35951A、35952A四通电机6030控制卡五岳鑫TELEWIND语音卡优采测控UA303/304中泰PCI系列PM系列PC系列众人PS系列康拓IPC5372-1;IPC5373;IPC5485;IPC5488科日新K810A;K810H;K812;K812A;K821; K824;K830;K840;K842;K842G;K846盛博科技CDT-2000DIAMOND-MM-32-AT威达通A626;A628;A821;A822;A823;A826DIO144;DIO24;DIO48;DIO64ISO-C64;ISO-P32C32;ISO-P64PISO813TMC-10五岳鑫TELEWIND系列语音卡中泰PC-6310;PC-6311D;PC-6313;PC- 6317;PC-6318;PC-6319;PC-6325A; PC-6325B;PC-6327A;PC-6327B;PC- 6330D;PC-6333;PC-6360;PC-6405B; PC-6407D;PC-6407;PC-6408;PC- 6501D;PC-6503PCI-8310;PCI-8319;PCI-8322;PCI- 8333;PCI-8335;PCI-8405;PCI-8407; PCI-8408;PCI-8503众人PS2116变频器LG电子LG_IG5MITSUBISHI(三菱)E500(E520/E540)、A540DANFOSSVLT6000、VLT7000、VLT8000艾默生EV2000、EV1000TD1000;TD2000;TD2100DELTA(台达)VFD_A/H富士系列富士变频器科比变频F5HITACHI(日立)SJ300系列三垦力达SPF/SHF(400V系列)深圳易能EDS2000、EDS2800英威腾英威腾变频器西门子MicroMaster(USS协议)称重仪器UNIPULSE(尤尼帕斯)F741大恒TM200普达电子F800山西风行XK3101上海耀华XK3190-A12、XK3190-A2赛华贝斯特JBX、SH-8四方衡器XK3196太原通用称重显示控制器唐山汇中ICS系列皮带称MASCONMASCON-2 ABS火车料斗秤METTLER TOLEDO(梅特勒-拖利多)XK3126称重显示仪XK3127称重显示仪Kingbird电子称重仪Lynx称重控制终端A&D(艾安得)AD系列正开仪器称重仪志美配料控制器(CB920X)皮带称重显示器CB900K(RS485)电力 设备Dl-t-645国家标准电能表DLT645-1997(国家标准)DLT645-1997(东方电子)DLT645-1997(深圳思达)DLT645-1997(浙江正泰)IEC60870-5-104T104主站IEC65870-5-101T101主站SPABUSSPABUS珠海万力达MLPR-310HB合能机电保护HN系列美兰尼尔ML101-SCI、ML101-SCI(串口)上海渡龙EPIC-1循环式运动规约循环式运动规约(CDT):DL451-91短信模块华荣汇GSM MODEM西门子SIEMENS MC35ETSI(欧洲电信标准)GSM_0705楼宇EsofNETEsofNET门禁接口SIEMENS(西门子)SIEMENSSTULZ空调C5000C6000YORK(约克)YORK海洛斯空调MASTERLINKHIMOD松下视频矩阵WJ-SX550A意大利依米康SUNRISE-PROTOCOL-PLUS深圳奥凯特DCU9010/9020力控并口设备并口驱动单片机单片机协议(被动)单片机协议(主动)定时设备定时器与计数器数据库组态软件实时数据库(TCP/IP);组态软件实时数据库 (串口通讯) 仪表仿真驱动Simulator(仿真仪表)智能模块AdvanTech(研华)ADAM5000系列ADAM4000全系列模块(COM)ART(阿尔泰)3016、3058、E3000CONTECH(康泰克)ADI系列CNT系列DAI系列DI系列DIO系列DO系列PTI系列RRY系列研祥ARK系列OPTO22(奥图)MISTIC:016A;MISTIC:016D;MISTIC:04A; MISTIC:04D;MISTIC:08A;MISTIC:08DOPTOMUX:016A;OPTOMUX:016D;OPTOMUX:04A; OPTOMUX:04D;OPTOMUX:08A;OPTOMUX:08DILACS(艾雷斯)DAC系列集智达I系列模块易控微网MDS系列NPM系列STC系列泓格I系列长英科技LTM8000系列昆仑海岸KML系列科日新K系列力创科技EDA9000系列凌华工控ADLink ND 系列太工天成QQDAQ系列正信通DDC监测模块、EDA电流电压监测、SK2000监测中泰RM系列USB系列智能仪表YAMATAKE(山武)DMC50、EST240Z、SDC系列安东LU系列昌辉WP系列福建百特百特系列伯特BT108、BT109、BT608东辉DY2000系列富士UG SERIAL(CN)、UG SERIAL(MJ)虹润WP系列杰曼GM系列金立石金立石系列昆仑海岸KL系列AEC(美国电气控制)AEC2000、AEC4600、AEC4800欧陆仪表M808系列OMRON(欧姆龙)E5AN/EN/CN/GN/ZN/AK青智全系列仪表Shimaden(岛电)FP系列SR系列SD系列上润WP系列FC系列JC系列PC系列SHINKO(神港)FC(X)系列天辰XSC5系列、XSC5、XSL系列、XSB系列天富WP系列英华达EN系列宇光AI系列多路巡检仪、工业调节器、流量积算仪SULLAIR(寿力)监控器SUPERVISOR-II鞍山聚龙JL4伯特BT108调节仪;BT109可编程调节仪;BT608调节仪苍南求精仪表LDQ-98A智能电磁流量计苍南双华电机保护器(PUCHENG)昌辉WP系列无纸记录仪、控制仪、显示仪、积算仪等长英科技LTM8002;LTM8003;LTM8300;LTM8301常数开关厂XW1、CM1z系列智能断路器(V1.30)大连中隆DMI_340;DMI_340_DH;DMI_340_DTSB-2000积算仪大洼YZK-1-55H大洼直流屏格锐(Great)可编程多路调节器海纳数字机控制器航天部三院三所UBG-IIA型光导电子液位仪航天科智航天科智磁效应液位计;航天科智磁效应液位计(UT3)航天科智磁通讯转换器(IIA)河北理工学院智能仪器厂ZLRJ-B型智能弯管流量计宏益仪表CBS仪表宏益仪表电子秤华北电力PMS-PMU江苏大学TRU-S03-01精工ZXYD智能巡检仪科力恒2002主机、KLH科日新智能测风传感器莱蒽4/2格式、ContactID格式衢州华鼎MC-1000无纸记录仪瑞普电子真空计赛多利斯SARTORIUS山东恒生电器EN2型测风仪山西泰森大屏幕(LED)上润WP系列沈阳施博达单轴卡四川鸿通科技MCR-RW读写卡器太原航空仪表LZLB_6、LZL质量流量计特力声TOCUS通讯模块特锐TR_SC为华WXJ200智能巡检仪梧州自动化研究所ADAM5510西南自动化研究所3M/2M/1M全系列新型铸管公司KWZ_300B1钢水表英捷YW20_3英展EIA-RSO232C宇通公司YUTONG-Lon2000设备浙大中控C1000调节记录仪R系列无纸记录仪正光融志显示屏正光融志显示屏中德奥YCH/YZK中山东崎DH系列、DW系列、PW9系列、SV8系列、TH系列附录IV外文文献翻译原文Wincc in heating supply stapply stations Constant Pressure Monitoring System Application onstant voltage supply basic working principle System uses Automatic Frequency Control regulation or pump motor speed. Plus or minus pump.It is primarily by the Frequency Control System.PID regulator,pressure sensors,liquid level sensor power control circuits and other conponents.Host users control system or control board light over-the-counter transactions,buttons,switchto understand and control systen operation,Based on the PID control mode,the operator interface settings in water pressure,PLC to pressure settings and measured valucs for the deviation PID operation and regulation of distribution through inverter pump speed,so that water pressure was maintained at the set value.Systen hanlware configuration The system uses Siernens S7-200 PLC and its configuration software constitute a constant WinCC V6.0 Water pressure control system,water pressure monitoring process.Industroal Ethernct controller for PLC and the operator station computer communication betwween the Remote I/O network for the PLC and the operator station compuler communication betwween the Remote I/O network for the PLC controller and inverter,the soft starter of communication betwween equipment.PLC controller mainly used to monitor and control water and electricity systems.For1#-4#pressurized pump converter using the ABB Acs510-01-031A4 inverter,HMI operatostation selection DELL conputers,conputer,Industrial Ethernet server card Siemens conmmunications company CP1612.Software design of Systen The control system software company Siemens PCS7V5.2 package,STEP7V5.2 PLC controller mainly used to monitor and control water and electricity systems.For 1#4# pressurized pump converter using the ABB ACS510-031A4 inveter,HMI operatorstation selection DELL puter,Industrial Ethernet server card Siemens communications company Cp1612Software design of System The control system software company Siemens PCS7V5.2 package.STEPV5.2 PLC controller.HMImonitoring system used WinCCV6.0 version.HMI server and operating station are using the Windows2000 operating system to have an open programming environment.Heating Sation Wincc configuration control software maior constant pressure water system and coal Gallery in two parts.Implemention of the system of automatic detection and automatic control.Detection constant pressure water and coal Gallcry equipment operation parameters.the real-time data acquisition.uploads.real-time data acquisition.uploads,real-time display and recording.Ciontrol unit operation.fault alarm and automatic parking operation .Theconstant pressureof water supply pressure system configuration parameters.real-time monitoring regulatory pressure pumps water pressure and so valued.CoalHanding Gallery in to control the volume.of coal to speed,to monitor the quality of coal (coal crushing degree of quality and impurity)PLC-Based Fuzzy Constant water suppl;y system design constant pressure water system components From the water supply system programmable controller,inverter,pressure transmiter,and the constact group on the pump unit and other components.Programmable controller selection of AB ControlLogix system.It includes Logix5550 controller,analog input modules,digital input and output modules and communication modutes.Which analog input modute used to test the water pressure on the export signal,digital input module and valves Kai stopped.Inverselection of AB 1336 Plus Inverter.Inverter and Devi2 cenet controller thtough the network for communication.Constant Pressure Water Principle The outlet channel of pressure sensor installation will export water pressure signals are converted to electrical signals, send PLC fuzzy inference operation, the output control signals to the converter, regulating the operation of pump motor speed, until the actual elimination of hydraulic pressure and set the deviation, constant voltage supply. Programmable controller can control pumps Kai stopped. When the system started working, inverter control from start on 1st pump frequency operation. If users increased consumption of the converter output frequency up to 50 Hz, the pressure will still be less than the set value, then after some time delay, on the 1st of the pump switching frequency operation; Inverter start again on the 2nd pump operation. If pressure is less than the set value, they will be on the 2nd to pump switching frequency operation; Inverter start again on the 3rd pump operation until the output pressure settings to achieve so far. However, if users to reduce water consumption, in accordance with the “Kai-stop” principle will be followed with pumps. This cycle repeatedly to achieve constant pressure water system.Fuzzy2PI control algorithm As the water supply system in many areas (such as the pipe network and pumps) nonlinear, time-varying, and the variables still exist between the cross-coupling, so it is difficult to establish a precise mathematical system model. For such a complicated process that merely using the conventional PID control is difficult to achieve the desired control. Fuzzy control is not dependent on the mathematical model and the right parameters sensitive to the merits, Fuzzy used to control the water supply system, we can improve the control system dynamic performance. But Fuzzy Control System steady-state performance is poor, this design of a dual-mode Fuzzy2PI control, As shown in figure 2, and its design thinking is; when the pressure is greater error when using fuzzy control, to obtain good transient; When the pressure on the stead-state error into smaller, switched to process from PI contr
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。