摘要:本篇论文介绍了组态软件的概念,综述了组态软件的历史背景和现状以及发展趋势,提出了设计的问题和处理设计问题的方案,从窗口制作、硬件设计两个方面详细介绍了用北京三维力控科技有限公司的组态软件PCAUTO3.62版进行软件设计的整个过程。制作了一个用于制作J422焊条,J507焊条和自定义焊条药皮制作传送系统这 三种属于热加工系统一部分的监控组态软件,同时,介绍了该系统的自动配药、自动传送与搅拌、自动计数和计数控制、用户管理等各种功能,最后还附上了该软件的用户使用说明书。
关键字:组态 力控 监控 传感器
Abstract:This paper shows us the basic conception of configuration software, then overviews its historical background, the present condition and the trend of its development, and then poses the problem of design, while advancing the approach of resolving it. The paper introduces the whole process of designing a software by another software---PCAUTO3.62, which is the production of Beijing Sunway ForceControl Technology Co., Ltd in large, according to the two aspect of windows design and the selection of hardware. And designs a software for monitoring and controlling the production of coation of an electrode of J422, J507 and self-define, which belongs to the hot-working system, while presents the function of the software, which contains making up prescription automatically, conveying and mixture automatically, counting and controlling automatically, users-management and so on. Finally, it encloses with the introduction for the software.
keyword:configuration ForceControl monitor and control sensor
1 绪论
组态的概念最早来自英文configuration,含义是使用软件工具对计算机及软件的各种资源进行配置,达到使计算机或软件按照预先设置,自动执行特定任务,满足使用者要求的目的。这个概念是伴随着集散型控制系统(distributed control system DCS)的出现才开始被广大的生产过程自动化技术人员所熟知的[1]。
而监控组态软件是面向监控与数据采集(SCADA)的软件平台工具,具有丰富的设置项目,使用方式灵活,功能强大。它最早出现时,HMI或MMI是其主要内涵,即主要解决人机图形界面问题【2】。随着它的快速发展,实时数据库、实时监控、SCADA、通信及联网、开放数据接口、对I/O设备的广泛支持已经成为它的主要内容。随着技术的发展,监控组态软件将会不断被赋予新的内容。
1.1发展的历史背景与现状
组态软件是伴随着计算机技术的突飞猛进发展起来的。60年代,虽然计算机开始涉足工业过程控制,但由于计算机技术人员缺乏工厂仪表和工业过程的知识,导致计算机过程系统在各行业的推广速度比较缓慢【3】。70年代初出现微处理器使计算机控制走向成熟,这一历史时期较有代表性的是1975年美国Honeywell公司推出的世界上第一套DCS TDC-2000。而随后的20年间,DCS及其计算机控制技术日趋成熟,得到了广泛应用,此时的DCS已具有较丰富的软件,包括计算机系统软件(操作系统)、组态软件、控制软件、操作站软件以及其他辅助软件(如通信软件)等。这一阶段虽然DCS技术、市场发展迅速,但软件仍是专用和封闭的,除了在功能上不断加强外,软件成本一直居高不下,造成DCS在小型项目上的单位成本过高,使一些中小型应用项目不得不放弃使用DCS。80年代中后期,随着个人计算机的普及和开发系统(open system)概念的推广,基于个人计算机的监控系统开始进入市场并发展壮大,组态软件作为个人计算机监控系统的重要部分,比PC监控的硬件系统具有更为广阔的发展空间。总之,自20世纪80年代初期诞生至今,组态软件已有20年的发展历史。应该说组态软件作为一种应用软件,是随着PC机的兴起而不断发展的。80年代的组态软件,像Onspec、Paragon 500、早期的FIX等都运行在DOS环境下,图形界面的功能不是很强,软件中包含着大量的控制算法,这是因为DOS具有很好的实时性。90年代,随着微软的Windows 3.0风靡全球,以Wonderware公司的Intouch为代表的人机界面软件开创了Windows下运行工控软件的先河,由于Windows 3.0不具备实时性,所以当时,80年代已成名的自动化软件公司在对于操作系统的支持上,或按兵不动,或将组态软件从DOS向OS/2移植,人们这样做的原因,是大家都认为工控软件必须具有很强的实时性和控制能力,必须运行在一个具备实时性的操作系统下,像DOS、OS/2、Win NT(1993年才推出)等。历史证明,在当时的硬件条件下,上位机做人机界面切中了用户的需求,Wonderware因而在不长的时间内成为全球最大的独立自动化软件厂商,而在80年代靠DOS版组态软件起家,后来向OS/2移植的公司后来基本上都没落了。
然而,目前在工业企业中,应用效益最直接明显的系统应当是工业控制系统,特别是DCS(分布式控制系统)。过程控制作为自动化技术的应用,其发展历史可以追溯到古代,但至于在工业上的应用只能从上个世纪20年代算起,那时的过程控制系统为简单系统,仪表是基地式、大尺寸的;到二战前后,各种复杂的控制系统发展了起来,在控制器方面,单元组合式仪表应运而生,气动单元组合仪表(QDZ)和电动单元组合仪表(DDZ)成为当时控制仪表的主流;随着科学技术的发展[4],到了上个世纪70年代,微型计算机的出现,给过程控制带来了重大突破,数字计算机进入到了工业控制领域,产生了第一代控制系统:计算机集中控制系统CCS(Concentrated Control System),它取代了传统的模拟仪表,从而能够使用更为先进的控制技术,使过程控制发生了质的飞跃,但由于CCS控制直接面向被控对象,并未形成控制网络体系,集中了控制的同时也集中了危险;针对CCS的缺点,没过几年人们就研制出了真正意义上的工业控制网络体系DCS,这种系统在集中控制的同时分散了危险,所以普遍用于当今的工业控制领域,但今天的技术发展更是突飞猛进,FCS、网络技术、计算机技术等技术对DCS构成了极大的挑战尽管若干年以前,就有人判定DCS即将被FCS(现场总线控制系统)所取代,然而,直至今日,DCS仍然具有相当的生命力【4】。ARC咨询机构2003年发布了他们对世界DCS市场的预测报告。该报告预测世界DCS市场从2002年至2007年将保持2.5%的增长速度,从2003年的91亿美元增长到103亿美元【5】。DCS的发展速度之所以不高主要原因是美国等发达国家的经济增长速度减慢所造成的。而中国近几年的DCS的增长速度应该在10%以上。当今的DCS与十年前的DCS相比,发生了根本性的变化。
1.1.1世界情况
由于受信息技术(网络通信技术、计算机硬件技术、嵌入式系统技术、现场总线技术、各种组态软件技术、数据库技术等)发展的影响,以及用户对先进的控制功能与管理功能需求的增加,各DCS厂商(以Honeywell、Emerson、Foxboro、横河、ABB为代表)纷纷提升其DCS系统的技术水平,并不断丰富其内容【6】。可以说以Honeywell 公司最新推出的Experion PKS(过程知识系统),Emerson公司的PlantWeb(Emerson Process Management),Foxboro公司的A2,横河公司的R3(PRM-工厂资源管理系统),ABB公司的Industrial IT系统为标志的新一代DCS已经形成。如果我们把当年Foxboro公司的I/A Series看作第三代DCS系统的里程碑,以上几家的最新DCS可以划为第四代。第四代DCS的最主要标志是两个"I"开头的单词:Information(信息)和Integration(集成),第四代DCS的特点主要体现在以下几个方面: (1) DCS充分体现信息化和集成化(Information & Integration)。信息化体现在各DCS系统已经不是一个以控制功能为主的控制系统,而是一个充分发挥信息管理功能的综合平台系统。DCS提供了从现场到设备,从设备到车间,从车间到工厂,从工厂到企业集团整个信息通道。这些信息充分体现了全面性、准确性、实时性和系统性。基本上大部分DCS提供了过去常规DCS功能、SCADA功能以及MES(制造执行系统)的大部分功能。与ERP不同,MES汇集了车间中用以管理和优化从下定单到产成品的生产活动全过程的相关硬件或软件组件,它控制和利用实时准确的制造信息来指导、传授、响应并报告车间发生的各项活动,同时向企业决策支持过程提供有关生产活动的任务评价信息。MES的功能包括车间的资源分配、过程管理、质量控制、维护管理、数据采集、性能分析及物料管理. 集成化体现在和利时公司与德国公司联合开发完全符合IEC61131-3全部功能的控制组态软件。公司的HMI既可以采用和利时自主知识产权的FOCS软件平台,也可以采用通用的如CITECT等软件平台。系统的硬件更是集成化的,除了I/O单元由和利时自己开发制造外,其他PLC、RTU、FCS接口、无线通信,变电站数据采取与保护、车站微机联锁等,以及各种智能装置均采用集成方式。在一套地铁监控系统中,集成的各种智能设备多达几十种【7】。(2) DCS变成真正的混合控制系统 过去我们区分DCS和PLC 主要通过被控对象的特点(过程控制和逻辑控制)来进行划分。但是,第四代的DCS已经将这种划分模糊化了。几乎所有的第四代DCS都包容了过程控制、逻辑控制和批处理控制,实现了混合控制。这也是为了适应用户的真正控制需求。因为,多数的工业企业绝不能简单地划分为单一的过程控制和逻辑控制需求,而是由过程控制为主或逻辑控制为主的分过程组成的。我们要实现整个生产过程的优化,提高整个工厂的效率,就必须把整个生产过程纳入统一的分布式集成信息系统。例如,典型的冶金系统、造纸过程、水泥生产过程、制药生产过程和食品加工过程、发电过程,大部分的化工生产过程都是由部分的连续调节控制和部分的逻辑联锁控制构成【8】。第四代的各DCS系统几乎全部采用IEC61131-3标准进行组态软件设计。而该标准原为PLC语言设计提供的标准。同时一些DCS(如Honeywell公司的PKS)还直接采用成熟的PLC作为控制站。多数的第四代DCS都可以集成中小型PLC作为底层控制单元。今天的小型和微型PLC不仅具备了过去大型PLC的所有基本逻辑运算功能,而且高级运算、通信以及运动控制也能实现【9】。(3) DCS包含FCS功能并进一步分散化 过去一段时间,一些学者和厂商把DCS和FCS(现场总线控制系统)对立起来。其实,真正推动FCS进步的仍然是世界主要几家DCS厂商。所有的第四代DCS都包含了各种形式的现场总线接口,可以支持多种标准的现场总线仪表、执行机构等。此外,各DCS还改变了原来机柜架式安装I/O模件、相对集中的控制站结构,取而代之的是进一步分散的I/O模块(导轨安装),或小型化的I/O组件(可以现场安装)或中小型的PLC【10】。分布式控制的一个重要优点是逻辑分割,工程师可以方便地把不同设备的控制功能按设备分配到不同的合适控制单元上,这样,操作工可以根据需要对单个控制单元进行模块化的功能修改,下装和调试。另外的优点是各个控制单元分布安装在被控设备附近,既节省电缆,又可以提高该设备的控制速度。一些DCS还包括分布式HMI就地操作站,人和机器将有机地融合在一起,共同完成一个智能化工厂的各种操作。例如,Emerson的DeltaV,Foxboro的A2中的小模块结构,Ovation的分散模块结构等。可以说现在的DCS厂商已经越过炒作概念的误区,而是突出实用性。一套DCS可以适应多种现场安装模式:或用现场总线智能仪表、或采用现场I/O智能模块就地安装(既节省信号电缆,又不用昂贵的智能仪表)或采用柜式集中安装(特别适合改造现场)。一切由用户的现场条件决定,充分体现为用户设想的理念。(4) DCS已经走过高技术产品时代,进入低成本时代。配置灵活,适应各种系统应用. DCS在八十年代,甚至九十年代还是技术含量高、应用相对复杂、价格也相当昂贵的工业控制系统。随着应用的普及,大家对信息技术的理解,DCS已经走出高贵的神秘塔,变成大家熟悉的,价格合理的常规控制产品。第四代DCS的另一个显著特征就是各系统纷纷采用现成的软件技术和硬件(I/O处理)技术,采用灵活的规模配置,大大降低系统的成本与价格。可以说现在采用先进的DCS实现工业自动化控制比原来采用常规的仪器仪表进行简单控制,用户投资增加不多,但是实现的功能确大大加强。就控制站而言,原来一个物理信号处理平均1 500元(人民币),而现在已经降到800元左右【11】。过去国外DCS一般只适合于大中型的系统应用,在小型应用中成本很高,但第四代DCS都采用灵活的配置,不仅经济地应用于大中型系统,而且应用于小系统也很合适。(5) DCS平台开放性与应用服务专业化 。二十年来,工业自动化界讨论非常多的一个概念就是开放性。过去,由于通信技术的相对落后,开放性是困扰用户的一个重要问题。为了解决该问题,人们设想了多种方案,其中包括CIMS(Computer Integrated Manufacturing System,计算机集成制造系统)系统概念中的开放网络(MAP 7层网络协议平台)。然而,有心栽树树不活,MAP网络协议并没有得到真正的推广应用。而当代网络技术、数据库技术、软件技术、现场总线技术的发展为开放系统提供了可能。各DCS厂家竞争的加剧,促进了细化分工与合作,各厂家放弃了原来自己独立开发的工作模式,变成集成与合作的开发模式,所以开放性自动实现了。第四代DCS全部支持某种程度的开放性。开放性体现在DCS可以从三个不同层面与第三方产品相互连接:在企业管理层支持各种管理软件平台连接;在工厂车间层支持第三方先进控制产品、SCADA平台、MES产品、BATCH处理软件、同时支持多种网络协议(以以太网为主);在装置控制层可以支持多种DCS单元(系统)、PLC、RTU、各种智能控制单元等以及各种标准的现场总线仪表与执行机构[12]。
1.1.2国内情况
中国自动化界的仁人志士经历了不懈的努力致力于发展自己的DCS产业。目前以和利时、浙大中控、上海新华为代表的国内DCS厂家经过十年的努力,各自推出自己的DCS系统:和利时推出MACS-Smartpro第四代DCS系统,浙大中控推出Webfield(ECS)系统,新华推出XDPF-400系统。三家积极努力,通过竞争成功地将自主系统应用于各种工业现场,正在逐步取得用户的认可[13]。例如新华公司在火力发电方面取得显著成绩,浙大中控在化工控制等方面业绩突出,和利时公司在核电、热电、化工、水泥、制药以及造纸等方面取得了一定的业绩。和利时公司仅2002年就在各行业取得500多个合同。此外,和利时公司把DCS结构进行拓展,应用到大型轨道交通自动化系统和管网SCADA系统。通过激烈竞争,和利时公司成功地实现了秦山核电站60万千瓦核电站综合计算机监控系统和常规岛控制系统,并与国内外公司竞争获得了秦山一期30万千瓦核电站计算机系统改造,大亚湾核电站等各个核电站部分计算机系统合同。公司承担的北京轻轨和深圳地铁综合监控系统采用分布式数据库结构,实现了远距离(十几个车站,几十公里)、大数据量(物理点几万个)、通信信息复杂(城域网、局域网、现场总线网、无限通信网等)、多样化(电力电器控制、环境控制、RTU、部分机车运行信号、车站信息等)综合功能。该系统的成功应用为我国城铁和地铁发展提高了综合监控能力,并降低了成本,该方案已经成为事实上的综合监控标准【14】。
在中国的DCS市场上,三家国内厂商已经具备了相当的竞争能力。例如通过新华公司与和利时公司在火电站控制领域的竞争以及和利时公司与浙大中控在化工等领域的竞争,使得国外的DCS纷纷降价。可以说三家公司最大的贡献是把国外的DCS价格降到了原来40%以下,为DCS在国内工业企业的普及应用,特别是在中小型企业中的应用做出了贡献【15】。
目前,组态监控软件有那些呢?
国际方面主要有美国Intellution公司的iFIX组态软件,Rockwell公司的Rsview32工业组态软件,Siemens公司的WINCC软件等,而国内方面主要有北京亚控科技发展有限公司的组态王,北京三维力控科技有限公司--监控组态软件PCAuto,北京世纪佳诺科技有限公司的世纪星监控组态软件,北京昆仑通态自动化软件科技有限公司的MCGS(Monitor and Control Generated System ,即监视与控制通用系统),浙江浙大中控信息技术有限公司的Advantro(实时监控软件)2.5。杭州英卓网络科技有限公司的英卓数字监控系统软件v1.0,浙江浙大中控技术有限公司的浙大中控过程监控软件包v2.6等等。
1.2 发展趋势与前景预测
1.2.1组态软件将作为单独行业的出现是历史的必然
今后社会分工会更加细化,表面看起来功能较单一的组态软件,其市场才刚被挖掘出一点点,今后的成长空间还相当广阔,曾有一段时期,各DCS厂商的底层网络都是专用的,现在则使用国际标准协议,这在很大程度上促进了组态软件的应用。
1.2.2现场总线技术的成熟更加促进了组态软件的应用
现场总线(FieldBus)是工厂底层设备之间的通信网络,是计算机数字通信技术在自动化领域的应用,为车间底层设备信息及生产过程信息集成提供了通信技术平台.图4是工厂底层应用现场总线技术实现了全厂信息纵向集成的透明通信,即从管理层到自动化底层的数据存取.其核心内容一是工业应用,二是完成从模拟方式到数字方式的转变,使信息和供电同在一根双线电缆上传输,还要满足许多技术指标。
1.2.3能够同时兼容多种操作系统平台
可预言,微软公司在操作系统市场上的垄断迟早要被打破,未来的组态软件也要求跨操作系统平台,至少要同时兼容Win NT 和 Linux/Unix。Unix是唯一可以在微、超微、小、超小型工作站和中大、小巨、巨型机上"全谱系通用"的系统。由于Unix的特殊背景,它强有力的功能,特别是它的可移植性以及目前硬件突飞猛进的发展形势,吸引了越来越多的厂家和用户。Unix在多任务、实时性、联网方面的处理能力优于Win NT,但图形界面、即插即用、I/O设备驱动程序数量方面赶不上Win NT 。90年代以来Unix的这些特点已得到改进,现在的Unix图形界面Xwindow和Unix的变种-Linux已经具备了较好的图形环境。
1.2.4组态软件在嵌入式整体方案中将发挥更大作用
目前嵌入式系统的发展速度极为迅速,但相应的软件尤其是组态软件滞后较严重,制约着嵌入式系统的发展。因此,组态软件在嵌入式整体方案中将发挥更大作用。
1.2.5组态软件在CIMS应用中将起重要作用
美国的Harrington博士于1973年提出了计算机集成制造系统(computer integrated manufacturing system ,CIMS)的概念,它不仅适用于离散型生产流程的企业,同样适用于生产连续型的流程行业。在流程行业有人叫做计算机集成流程系统(computer integrated process system ,CIPS).自动化技术是CIMS的基础,目前多数企业对生产自动化都比较重视,他们或采用DCS(含PLC)或采用以PC总线为基础的工控机构成简易的分散型测控系统。但现实当中的自动化系统都是分散在各个装置上的。企业内部的各自动化装置之间缺乏互联手段,不能实现信息的实时共享,这从根本上阻碍了CIMS的实施,而组态软件在CIMS应用中将能发挥以下3方面的作用①充当DCS(含PLC)的操作站软件,尤其是PC-based监控系统。②在技术改造方面,促进企业以低成本、高效率地实现全厂的信息化建设。③伴随着CIMS技术的推广与应用,组态软件将逐渐成为大型平台软件,以原有的图形用户接口、I/O驱动、分布式实时数据库、软逻辑等为基础将派生出大量的实用软件组件,如先进控制软件包、数据分析工具等。
1.2.6信息化社会的到来为组态软件拓展了更多的应用领域
组态软件的应用不仅仅局限在工业企业,在农业、环保、邮政、电信、实验室、医院、金融、交通、航空等各行各业均能找到使用组态软件的实例。
2 本设计软件简介
本次设计软件是北京三维力控科技有限公司的力控软件pcauto3.62版。现将其有关特点介绍如下:
2.1 概述
力控监控组态软件是对现场生产数据进行采集与过程控制的专用软件,最大的特点是能以灵活多样的"组态方式"而不是编程方式来进行系统集成,它提供了良好的用户开发界面和简捷的工程实现方法,只要将其预设置的各种软件模块进行简单的"组态",便可以非常容易地实现和完成监控层的各项功能,缩短了自动化工程师的系统集成的时间,大大的提高了集成效率。
力控监控组态软件是在自动控制系统监控层一级的软件平台,它能同时和国内外各种工业控制厂家的设备进行网络通讯,它可以与高可靠的工控计算机和网络系统结合,便可以达到集中管理和监控的目的,同时还可以方便的向控制层和管理层提供软、硬件的全部接口,来实现与"第三方"的软、硬件系统来进行集成。
力控是运行在Windows98/NT/2000/XP操作系统上的一种监控组态软件。使用力控○R用户可以方便、快速地构造不同需求的数据采集与监控系统。
力控的应用范围广泛,可用于开发石油、化工、半导体、汽车、电力、机械、冶金、交通、楼宇自动化、食品、医药、环保等多个行业和领域的工业自动化、过程控制、管理监测、工业现场监视、远程监视/远程诊断、企业管理/资源计划等系统。
2.2 组成
力控软件包括:工程管理器、人机界面VIEW、实时数据库DB、I/O驱动程序、控制策略生成器以及各种网络服务组件等。
2.3 系统要求
1、Pentium 100以上的IBM微型机及其兼容机、工控机
2、至少64M内存(RAM)
3、至少100M硬盘
4、VGA或SVGA的各种类型的显示器
5、并行打印口
6、标准鼠标和键盘
7、WINDOWS 98/NT/2000/XP以上操作系统
8、TCP/IP网络通讯协议【16】。
3 本设计问题与方案的初步确定
3.1设计目的和意义
通过此次设计,使我们了解监控软件的一些基本概念,了解其在工业控制中的应用,了解该类软件在行业中应用的一些具体实例,熟悉监控组态软件对某个具体问题进行监控的设计步骤和基本过程。能合理地利用所学的各方面知识,具体解决计算机监控系统实际问题,并在独立地分析问题、解决问题能力等方面得到全面的提高。
3.2问题与方案
制作焊条药皮时,有很多药品,什么"白泥","云母","锰铁"等有很多,如果一样样称,十分复杂和繁琐,经常担心哪样药品称少了或者少称了某样药品,于是,本人想到能否将配药这种繁重且重复性很大的工作交给计算机来做呢?
初步的想法是,对于每种药品均设置用一个漏斗来安放,漏斗下方均设置一个开关,开关打开后,漏斗中的药品送下来,通过一条传送带传送到一个搅拌器,当所有的漏斗下药完成后给出一下药完成信号,硅胶存储罐的开关打开,硅胶开始送入漏斗中,同时搅拌器开始运动,搅拌和匀后,给出一信号,搅拌器的开关打开,将搅拌好的药送入一运送桶中,通过另外一种传送装置将其送至焊条机制作焊条。在每个漏斗的上,均设置一个报警器,若漏斗中的药品不够则报警,(当然在不报警时漏斗报警器是隐藏的。)当每种药品均送至搅拌器中后,所有的漏斗控制阀门都将关闭,待搅拌和匀且将和匀的药品送出的那一瞬间,发出一个信号,这时所有的漏斗阀门再次打开,药品传送带又开始启动,进行下一轮制作工序。至于各种药名和药量,采用力控中的各类配方函数来处理。
当然,在漏斗上方,最好显示各个漏斗中装的药名和剩余药量,以及该配方所需该种药的药量和下药量瞬时值。
对于整个系统而言,应该有报警装置,并且报警的种类会有所不同,漏斗中的剩余药量达到某一值时发生报警,报警指示灯亮,但此时整个系统并不停止运行。但是如果操作者还没有加药致使漏斗中的药量由于药量的继续减少而少于另一值时,再次发生报警,此时是紧急报警,报警的同时,系统总闸开关关闭,系统停止运行。为了更好的区别两种报警,对于每种报警的报警声音也会不同,以便于操作人员快速的掌握报警的类型从而作出相应的处理对策。硅胶剩余量也应该有报警装置,同样也有两种报警,一种是轻度报警,并不停止系统的运行,一种是紧急报警,报警的同时使整个系统停止运行。
该系统药类多,设备多,于是对应的变量和组态的数据点会相应也很多,于是应该有一个窗口用来总的观察整个系统的数据点和各个电的说明,这里心想采用力控中的"总貌"来完成此项功能。对于一个系统,为了使操作者很好的了解整个系统的运行情况,最好有一个报表,对于这个问题的解决,想采用力控中的"万能报表"和"历史报表"两个系统来完成。为了形象的描述系统中某些变量在某段时间时间内的变化情况,这里采用力控中的趋势系统,包括"历史趋势"和"实时趋势",其中实时趋势会更好的描述变量的变化情况。
对于一个系统,操作者会很多,于是会出现用户类别问题,为了保障整个系统数据的安全,对于不同的用户这里设置不同的级别和权限。同时还应该对这些用户和权限作统一管理。
系统中各种数据的采集这里采用传感器,如每个漏斗中的剩余药量分别采用重量一重量传感器来返回送入微机。硅胶存储罐中硅胶的液位用液位传感器来获得。对于送药桶的位置用位移传感器来获得。对于不同的运动装置均设置一开关来控制其状态。设想图形如下:
![](http://www.cechina.cn/Upload/companyfile/2008/11/21/10f48c35-46ba-4ac5-8a9e-eb13ebd40a89.jpg)
图1:焊条药皮制作传送系统总图
由上图形,稍微具体来说,该系统中涉及的设备有:漏斗,漏斗挡板,报警器,硅胶存储罐,两条传送带,三台电动机,搅拌器,运送桶,各种传感器以及各种开关。
对于以上图形,初步拟定设备的运行过程以及设定的变量如下:
刚开始,将各漏斗中上满所需足够的药时,点击焊条药皮制作窗口中"准备完成"按钮(见图4和图5窗口界面)后,系统调入相应的配方(用配方函数管理此中的药名和药量,对应的药名为name1~name12,标准药量为s1~s12),于是,初始化了系统,载入了配方中的药名以及该药在配方中对应的配方标准量。再点击总闸开关(对应的变量为zongzha.pv=1),启动整个系统,各漏斗下的挡板会自动打开,传送带1(这时对应的变量chuan1.pv=1)开关也自动打开,漏斗中的药开始漏下到传送带上(传送方向如图1),并通过传送带源源不断运向搅拌器中(各漏斗对应的实时下药量a1.pv~a12.pv增加,剩余药量为yaoliang1.pv~yaoliang12.pv)。在此过程中,最好表示出漏斗下药时的具体情景,对于某个漏斗来说,当下药量达到配方中所需药量时,停止下药,该漏斗下的挡板自动关闭(如漏斗1),该漏斗下药完成标志(如yaoalarm1.pv)就取值为1。挡板在弹簧开关作用下关闭,当所有的漏斗下药完成时,下药完成总标志yaoalarmall.pv=1;于是发出一"下药完成"信号,硅胶存储罐开关打开(见图1中硅胶罐开关,对应的变量shuiboliswitch.pv=1),硅胶开始被运送到下面的搅拌器中,当然,硅胶液位(对应的变量为shuiboliyewei.pv)下降,硅胶下药量会相应增加(对应的变量为guijiao.pv)。同时搅拌器的电动机开关(对应的变量为jiaoban.pv=1)打开,搅拌器开始运动。硅胶下药完成后,硅胶罐开关关闭(对应的变量shuiboliswitch.pv=10)。同样,搅拌和匀后(对应的变量为jiaowan.pv=1),搅拌器的电动机开关关闭,同时搅拌器下面的开关打开,搅拌和匀的药品开始漏到运送桶中(运送桶见图1,与运送桶中实时药量对应的变量为liaoliang.pv),运送桶中药量开始增加。装满后,搅拌器下面的开关关闭(见图1),同时传送带2的电动机开关打开(见图1,对应的变量为chuan2.pv=1),传送带2开始运送运送桶前进(传送方向如图1示),运送到焊条制作机进行制作焊条。至此,一次制作工序完成。
在此过程中,每个漏斗上安放一个报警灯,不发生报警时是隐藏的,若某漏斗中剩余药量不够时,发生缺药报警,该漏斗上的报警灯出现并不断闪烁,出现相应的缺药报警声音,同时报警总装置(如图1中的漏斗剩余药量报警器1,对应的报警变量yaolalarm.pv=1)提示报警的漏斗号以方便操作人员作出快速的判断,又上药窗口(见后文)出现等待操作人员做相应处理。当然此次报警只是提示操作人员药快完了,并关闭总闸从而使整个系统运动停止。若操作人员没做相应处理而同时漏斗中的剩余药量继续减少,当漏斗中的药量继续减少到少于另一底限时,发生无药报警,此次报警,不仅报警声音比上次大,出现另外一上药窗口,而且同时使系统总闸关闭(zongzha.pv=0),整个系统停止运行。等待操作人员作出相应处理。同样,硅胶也会出现两种报警,当硅胶存储罐中的剩余硅胶少于某一值时,发生报警,硅胶存储罐上的报警灯(见图1中的硅胶剩余量报警器2)出现,同时出现一上药窗口(见后文)。若没做相应处理,硅胶量少于另外一底限时,发生无药报警,报警声音比上次大,出现另外一上药窗口,而且同时使系统总闸关闭(zongzha.pv=0),整个系统停止运行。等待操作人员做相应处理。
至于一些数据的采集,采用传感器,在传感器方面,主要设想是:各漏斗的剩余药量分别用一重量传感器来测得(参见图1中重量传感器),两次重量之差即为下药实时值,硅胶液位用一液位传感器(参见图1中液位传感器1),至于桶的位移采用一位移传感器。数据采集用相应的数据采集卡。(具体设计见后文硬件选择部分的传感器)
具体设计和变量见后文以及附录3变量表以及附录2点表。
至此,该系统的一些主要部分设想完成。
4 具体设计
4.1 窗口设计
4.1.1 登录窗口
登录窗口是真正进入系统之前的一个窗口,主要目的是为了对整个系统进行加密保护。界面设计也便很简洁。就是一个"登录"和"退出"增强型按钮,还有两幅gif动画小图片。当用户输入正确的用户名和密码时,权限足够的话,登录的gif小图片出现,点击可进入系统。当点击"退出"按钮时,退出的gif小图片出现,点击该图片,即注销并退出系统。
此窗口的图形如下:
![](http://www.cechina.cn/Upload/companyfile/2008/11/21/c789bc8b-1240-4e13-a91b-78e2f55e5011.jpg)
图2:登陆窗口
窗口动作见附录.动画连接如下:
"登录"按钮: 触敏动作中的左键动作 login(); #登录.show();
触敏动作中的信息提示 "点击后再点图片登陆,不同用户不同权限"
"退出"按钮: 触敏动作中的左键动作 #退出.show();
触敏动作中的信息提示 "点击后再点击后面的图片退出并注销"
登录图片: 触敏动作中的左键动作 if $userlevel>=0 then display("欢迎")endif
触敏动作中的信息提示 "点此登陆"
退出图片: 触敏动作中的左键动作 logout();exit(0);
触敏动作中的信息提示 "点此注销并退出"
4.1.2 欢迎界面窗口
此窗口是该系统的主窗口,其窗口的图形如下:
![](http://www.cechina.cn/Upload/companyfile/2008/11/21/66835d56-0f2d-4e06-a44f-4a6f8b7ddc50.jpg)
图3 欢迎界面
由上图可以看到,由登录界面进入进入此窗口之后,我们可以选择不同的焊条药皮制作传送系统;"J422焊条","J507焊条","自定义焊条",点击相应的按钮可进入不同的焊条药皮制作传送系统界面。
同时,此界面上还有一"说明"按钮和"用户管理"按钮。点击"说明"按钮,进入说明界面,可获得此软件的一些基本的功能和使用说明。点击"用户管理"按钮,进入"用户管理"界面,在用户管理界面中完成对用户的各种管理功能。
为方便用户的退出系统,还设置了"退出"增强型按钮。点击该按钮即可退出该系统。
对于上面的一些增强型按钮,为方便点击和美观起见,设置了一些"圆球",动画连接是其左键动作,分别如下:
"说明"按钮:触敏动作中的左键动作 Display("说明");CloseWindowEx("欢迎");
触敏动作中的信息提示 "进入说明窗口,在此窗口中您可以得到使用该软件的方法等信息!"
触敏动作中的窗口显示 "说明窗口"
"用户管理"按钮:触敏动作中的左键动作 display("用户管理");CloseWindowEx("欢迎");
触敏动作中的信息提示 "在用户管理窗口中,可以进行用户的登陆,修改密码,新建用户等,第一次运行此软件必须进入次窗口,在进入初始设置窗口"
触敏动作中的窗口显示 "用户管理窗口"
"J422焊条"按钮: 触敏动作中的左键动作 CloseWindowEx("欢迎");Display("J422焊条");chuangkou.pv=1; /*表示用户进入J422窗口*/
触敏动作中的信息提示 "进入J422焊条制作窗口,此过程中不要在进入J507和自定义焊条窗口!!!"
触敏动作中的窗口显示 "J422焊条窗口"
"J507焊条"按钮: 触敏动作中的左键动作 CloseWindowEx("欢迎");Display("J507焊条");
chuangkou.pv=2; /*表示用户进入J507窗口*/
触敏动作中的信息提示 "进入J507焊条制作窗口,此过程中不要在进入J422和自定义焊条窗口!!!"
触敏动作中的窗口显示 "J507焊条窗口"
"自定义焊条"按钮:触敏动作左键动作 CloseWindowEx("欢迎");Display("自定义焊条");
chuangkou.pv=3; /*表示用户进入自定义窗口*/
触敏动作中的信息提示 "进入自定义焊条制作窗口,此过程中不要在进入J507和J422焊条窗口!!!"
触敏动作中的窗口显示 "自定义焊条窗口"
"退出"按钮:触敏动作中的左键动作 logout(); Exit(0);
触敏动作中的信息提示 "退出此系统"
4.1.3 J422焊条窗口
J422焊条窗口是制作J422焊条药皮的主窗口,在该窗口中可完成对J422焊条药皮制作传送的主要的监控功能。其运行界面如下:
![](http://www.cechina.cn/Upload/companyfile/2008/11/21/d84226b8-084a-454d-9e24-7bf4d3254ec1.jpg)
图4 J422焊条窗口
组态状态时,每个漏斗中间均有一报警灯,用来对漏斗中剩余药量的报警。运行时,各报警灯是隐藏的,但是当报警条件满足时,其出现并闪烁提示漏斗中剩余药量不够或没有。为在程序中对其管理,将每个报警灯都作为一个对象,命名分别为:alarm1~alarm7。
漏斗正中,各有一文字模拟输出,用来动态的显示各漏斗下药量(各漏斗下药量分别用数据库变量a1.pv~a7.pv来记录),于是,各自的动画连接分别为"模拟输出",对应的变量分别为a1.pv~a7.pv。各漏斗的上方还有三行文字输出,一组是"数字输出"――用来显示J422焊条的标准配方中各药量的需要量【17】(分别用中间变量s1~s7来表示),于是其动画连接分别为"模拟输出",对应的变量分别为s1~s7。在此之上,还有一组"字符串输出",用来显示该配方中各药的药品名(分别用中间变量name1~name7来表示),于是其动画连接分别为"模拟输出",对应的变量分别为name1~name7。在这行文字之上,还有一行文字,用来显示各漏斗中的剩余药量(分别用数据库变量yaoliang1.pv~yaoliang7.pv来表示),于是其动画连接分别为"模拟输出",对应的变量分别为yaoliang1.pv~yaoliang7.pv。每个漏斗的下面还分别有一个挡板,表示漏斗开关,下药时,各漏斗开关自动打开,下药完成时,挡板自动关闭,为了使这个过程更加形象,采用各挡板的水平位移来控制,各挡板分别命名为dang1~dang7。挡板下方,为了看到比较好的效果,还分别有一漏药的图片。在漏斗下方,是两条传送带,分别完成对漏斗下的药的传送(送至搅拌器)和装满制作好药的一桶一桶药的传送(送至焊条制作机),两条传送带的停止和运行分别用一数据库开关量chuan1.pv和chuan2.pv来控制,其动画连接分别为"流动属性",对应的条件分别是"chuan1.pv==0"和"chuan2.pv==0"。
两条传送带的中间有一控制面板,其上有三个开关,两个分别用来控制两条传送带,一个是总闸开关,用来控制整个系统的运行和停止。其动画连接分别为开关子图,变量为chuan1.pv、chuan2.pv和zongzha.pv.
漏斗的右上侧,有一漏斗药量报警灯,用的是子图中直接有的报警子图,对应的报警变量为yaolalarm.pv,报警表达式为yaolalarm.pv==1,发生报警时,报警灯变红并闪烁。
报警灯的上面,还有一些附加的报警装置,用来显示发生"缺药"的漏斗号,这个缺药漏斗号用变量num表示,有自定义函数alarm取得num值,这个自定义函数见附录alarm函数
为了进一步方便管理,将此附加装置命名为num,当然还有文字输出,动画连接为"模拟输出"对应的变量是num。报警时,不仅显示发生缺药的漏斗号,发出报警声音,还会依据情况出现上药窗口。(具体见后面的介绍).
在报警灯的旁边,有一"下药完成"标志,下药完成之前它是隐藏的,当个漏斗中的下药完成以后,这个标志出现,提示下药完成,同时搅拌器运动,硅胶阀门打开……这个标志的动画连接是隐藏和闪烁属性,隐藏的条件为:zongzha.pv==1&&yaoalarmall为(yaoalarmall是下药完成标志的变量),闪烁的条件为:zongzha.pv==1&&yaoalarmall,频率为快速闪烁。
在靠右(见图)便是水玻璃系统,水玻璃由一水玻璃存储罐来存储,此存储罐为系统的一个子图精灵,对应的变量为数据库变量shuiboliyewei.PV,填充时向下填充,当然还有一水玻璃控制开关,动画连接为开关变量shuiboliswitch.pv(该变量用来控制水玻璃存储罐的开关)。为了形象的描述水玻璃漏下的情景,还设置了一矩形长条,命名为jiao,动画连接为"百分比填充",对应的变量为shensuo,为了很好控制其效果,还设置了一中间变量shensuo1=120。为了搅拌和匀,在程序中用延迟来实现。
硅胶下方,是搅拌系统,一搅拌器有两个状态指示灯,分别用来指示下药的完成和搅拌的完成,其动画连接分别为:①颜色变化中的条件zongzha.pv==1&&step3==1&&step4==0,当相应的步骤完成是指示灯变绿②颜色变化中的条件zongzha.pv==1&&step4==1&&step5==0,当相应的步骤完成是指示灯变绿。
为了形象的描述搅拌器工作时的情景,将搅拌器的搅拌臂的几种位置先画出来,然后用交替隐藏的方法达到效果。搅拌器搅拌臂的几种位置分别命名为zhou1,zhou2,zhou3.为了交替显示,可借助时间,将秒数整除3即可,余数为1,2,0时分别显示一种位置,由于时间是动态的,故运行时搅拌器的搅拌臂看起来也是运动的,从而达到了所要求的效果。当然,搅拌均匀后,搅拌器是静止的,于是采用一个位置始终显示而另外两个位置始终隐藏来达到。搅拌完成后,硅胶也停止送入了,水玻璃存储罐的开关要关闭。同时为下一步――桶的运动作准备。
搅拌器的下方是已制好的药的运送桶,搅拌完成后,搅拌器下部开关打开(对应的变量jiaowan.pv=0),制好了的药漏入运送桶中,装满后(jiaowan.pv=1),搅拌器下部开关关闭,装满了已经制好了药的桶在另外一个传送带的带动下被送出去――焊条制作机。为了使整个过程循环的执行下去,在桶运动到某一位置,所有的变量开始还原。同时在桶上还有文字输出模拟用以动态的显示桶中已经装了药量。其动画连接为:"数值输出"对应的变量为;liaoliang.pv。桶上还有一箭头表示桶运动的方向,为在程序中控制,命名为biaoji。
搅拌器左边,是两个文本输出,一个数值模拟输入输出文本,用来存放用户想制作药的桶数,对应的变量为zongshu1,另外是一个文本输出,用来显示已经制好药的桶数,对应的变量是zongshu.pv(数据库变量)。当已经制好药的桶数达到用户需要制药桶数时,总闸开关自动关闭,整个系统停止运行。
在界面的下方,是一排增强型按钮,点击可分别进入" 报警系统","报表系统""事件日志系统",它们的动画连接都是窗口显示,分别显示对应的窗口。
当然,还有一"返回"和"退出"增强型按钮,对应的动画连接分别为;窗口显示"欢迎"界面;左键动作;exit(0);这样可方便用户在不同的界面间切换。
为了使系统有条不紊的运行下去,此系统采用分步编程,用step1~step6作为各步完成标志。同时,为了完成演示,还设置了一个变量bian,此变量不停增加变化,完成对整个系统的驱动功能。J422焊条窗口的窗口动作为见附录1。
4.1.4 J507焊条窗口
J507焊条窗口与J422焊条窗口大部分是相同的,不同之处在于漏斗的个数不同,漏斗中的药品也不一样。其他的基本一样。当然相应的对象的对象名也不一样。在J507焊条窗口中,各报警灯分别命名为:alarm8~alarm15;硅胶命名为:jiao2;下药量命名为:liaoliang2;两个桶分别命名为:tong3和tong4;桶上的箭头标记命名为biaoji2。搅拌器的搅拌臂分别命名为:zhou4、zhou5和zhou6。各漏斗下面的挡板分别命名为:dang8~dang15.
J507焊条窗口的窗口界面与J422窗口类似,这里省略。窗口动作见附录1。
4.1.5自定义焊条窗口
前面的J422窗口和J507窗口是用来制作常见的焊条药皮配方,一种代表酸性,一种代表碱性。但是实际生产中,条件变化多样,由于不同的需要用户往往要配制特定的焊条药皮,这样才能使该系统更灵活地适应现实生产过程。查阅了一下相关的焊条配方资料,发现常见的焊条药皮配方的药品的种类在十种左右。于是,可以准备多个漏斗,多余的漏斗可以不用。该系统只对使用的漏斗进行监控。于是在用户使用是我们要得到使用的漏斗的个数。这里采用一个变量fn来得到用户使用的漏斗的个数。还有,由于各种药有酸性和碱性之分,装过酸性药品的漏斗最好别用来再装碱性药品,这样一来,用户可能会不按漏斗的排列顺序依次选择,又会给程序的编制带来麻烦。于是,可采用分散对待的方法,进入该窗口时,先除了初始化各药量为0以及其他的参数之外,将各药名都初始化一种格式,当用户使用某个漏斗时,会修改该漏斗上方的药品名,这样一来,我们只看漏斗上方的药品名是否发生改变,以此判断该漏斗是否被使用。这里,进入该窗口时,每种药品名初始化为"#######"。得到了被使用漏斗的总数,下面的处理就比较容易。
自定义焊条窗口界面图形如下:
![](http://www.cechina.cn/Upload/companyfile/2008/11/21/3659b482-5078-4c02-8609-8d3276d783c3.jpg)
图5 自定义焊条窗口
和前面两个窗口相比,除了漏斗数明显多余前面两个窗口中的漏斗数之外(有12个漏斗),在那排漏斗的上方,还多了一个windows控件---下拉列表框,在下拉列表框中,用户可以进行各种配方操作,如:登陆已有配方,删除和修改已有配方,上一配方和下一配方等,还可以新建自己需要的药皮配方,该新建的焊条药皮配方可以保存在配方中以便以后再次使用。(这种新建配方的操作是北京三维力控科技有限公司3.62版本新增的功能,刚好被使用上),对于这个windows下拉列表框中的主要操作都是针对pcauto3.62版中的配方函数;此下拉列表框被命名为:peifang.它的动画连接为:
① 对象创建时动作:
#peifang.ListGetItemData(0);
② 内容\选项改变时动作
xuanpei=#peifang.ListGetSelection()+1;
if xuanpei==1 then RecipeSelect("addnewn", xuan);RecipeLoad("addnewn", xuan);RecipeLoad("addnew", xuan);#ready.Enable(1);endif /*登录并选定配方*/
if xuanpei==2 then RecipeSelect("addnewn", xuan);RecipeDelete("addnewn", xuan);RecipeDelete("addnew", xuan);endif /*删除已有配方*/
if xuanpei==3 then RecipeSelect("addnewn", xuan);RecipeModify("addnewn", xuan);RecipeModify("addnew", xuan);endif /*修改已有配方*/
if xuanpei==4 then RecipeSelPrev("addnewn", xuan);RecipeLoad("addnewn", xuan);RecipeSelPrev("addnew", xuan);RecipeLoad("addnew", xuan);#ready.Enable(1);endif /*上一配方*/
if xuanpei==5 then RecipeSelNext("addnewn", xuan);RecipeLoad("addnewn", xuan);RecipeSelNext("addnew", xuan);RecipeLoad("addnew", xuan);#ready.Enable(1);endif /*上一配方*/
if xuanpei==6 then ValInputStr(newname,"请输入一个配方名,它将作为addnewn和addnew组中的配方名!!",0,1);endif
if xuanpei==7 then RecipeAdd("addnewn", newname);RecipeAdd("addnew", newname);RecipeLoad("addnewn", newname);RecipeLoad("addnew", newname);#ready.Enable(1);endif /*新建保存并登录该配方*/
在此之中,addnew为新建配方组名,主要用来存储新建配方中药品的标准用量,addnewn也为新建配方组名,主要用来存储新建配方中各药品的药品名。Xuan是一个中间变量,用来返回用户在下拉列表框中的操作。而newname也是一个中间变量,当用户新建自己所需要的配方时用来存储用户新建的配方名,以便存储和以后调用。该变量是通过一弹出变量输入框来取得值。(见以上程序)。
在下列表框之后,还有一增强型按钮――"准备完成",主要用来进一步初始化该系统,其动画联接是左键动作。(当然,没有准备好是该按钮失效,不可点击,由上的程序即知)。
if name1<>"#######" then fn=fn+1;#zalarm1.hide(); endif
if name2<>"#######" then fn=fn+1;#zalarm2.hide(); endif
if name3<>"#######" then fn=fn+1;#zalarm3.hide(); endif
if name4<>"#######" then fn=fn+1;#zalarm4.hide(); endif
if name5<>"#######" then fn=fn+1;#zalarm5.hide(); endif
if name6<>"#######" then fn=fn+1;#zalarm6.hide(); endif
if name7<>"#######" then fn=fn+1;#zalarm7.hide(); endif
if name8<>"#######" then fn=fn+1;#zalarm8.hide(); endif
if name9<>"#######" then fn=fn+1;#zalarm9.hide(); endif
if name10<>"#######" then fn=fn+1;#zalarm10.hide(); endif
if name11<>"#######" then fn=fn+1;#zalarm11.hide(); endif
if name12<>"#######" then fn=fn+1;#zalarm12.hide(); endif
step1=1;step2=0;step3=0;step4=0;step5=0;step6=0;
yaoalarm1.pv=0;yaoalarm2.pv=0;yaoalarm3.pv=0;yaoalarm4.pv=0;yaoalarm5.pv=0;yaoalarm6.pv=0;yaoalarm7.pv=0;yaoalarm8.pv=0;yaoalarm9.pv=0;yaoalarm10.pv=0;yaoalarm11.pv=0;yaoalarm12.pv=0;yaoalarmall=0;
shensuo=0;#zjiao.hide();
bian=0;chuan1.pv=1;
由上程序可知,用户没有用到的漏斗,还是初始化的样子,药名为:"#######"下药量为0.00,报警灯"出现",表示该漏斗未使用。在此窗口中,漏斗下面的挡板分别命名为:zdang1~zdang12。各漏斗上的报警灯分别命名为zalarm1~zalarm12。当然,配方中,药名对应的变量仍然是name1~name12,各漏斗中剩余药量仍然是yaoliang1~yaoliang12,步骤变量也仍然是step1~step6,各漏斗中的剩余药量的报警参数也仍然是yaoalarm1.pv~yaoalarm12.pv。用相同的变量主要是为了减少变量个数,达到减小此软件大小的目的。
在判断第一步下药是否完成方面,此窗口与前面两个窗口不同,由于得到了使用漏斗总个数,因此可以用"if(yaoalarm1.pv+yaoalarm2.pv+yaoalarm3.pv+yaoalarm4.pv+yaoalarm5.pv+yaoalarm6.pv+yaoalarm7.pv+yaoalarm8.pv+yaoalarm9.pv+yaoalarm10.pv+yaoalarm11.pv+yaoalarm12.pv)==fn&&fn>0"一句来判断下药是否完成,因为yaoalarm1.pv~yaoalarm12.pv都是开关变量,取值只有0和1两种。加"fn>0"主要为了防止用户还没有选定相应的配方时导致step2=1,从而使程序出错。
该窗口其他地方与J422窗口和J507窗口基本相同,这里就不用再介绍。但是,此窗口中的一些对象的对象名不一样。
两个装料桶分别命名为;tong1和tong2,搅拌器的搅拌臂分别命名为:zzhou1、zzhou2和zzhou3,料量文本命名为:zzhongliang,箭头标记被命名为zbiaoji。该窗口总的窗口动作如下见附录1。
4.1.6报警窗口
报警窗口图形如下:
![](http://www.cechina.cn/Upload/companyfile/2008/11/21/49f7b6a7-0628-4962-8a20-bca198d0f568.jpg)
图6 报警窗口
此窗口的一个主要的对象便是多功能报警,是直接在工具箱中拖出来的。在该系统中,可以查询不同的区域在不同时间的历史报警和实时报警,报警级别,报警时间和报警确认信息等。只要设置了各个数据点的报警参数,即可在里面查询得到。
在报警窗口的下部,有一些增强型按钮,其动画连接基本都是窗口显示,用来方便用户在不同的窗口之间切换。其中"返回主页"按钮返回的是"欢迎界面"窗口。退出按钮和前面的一样。为了取得好的效果,"报警系统"几个字也有动画连接――颜色变化中的闪烁,对应的变量是系统变量$second,从而保证其效果一直存在。其它地方,如欢迎界面中的"欢迎使用本软件"动画连接与此一样。
4.1.7报表系统窗口
报表系统的主窗口界面很简洁,窗口图形如下:
![](http://www.cechina.cn/Upload/companyfile/2008/11/21/8f5c1e8a-ef85-41b8-b710-8f3d1e409fd6.jpg)
图7 报表系统窗口
该报表系统包括两大部分:万能报表和历史报表,所以在该界面上有两个大的增强型按钮,分别用来转移到"万能报表"窗口和"历史报表"窗口。其它的增强型按钮的动画连接就与前面的类似。
4.1.8历史报表窗口
该历史报表的一个主要的部件就是工具栏中建立历史报表对象。其窗口图形如下:
![](http://www.cechina.cn/Upload/companyfile/2008/11/21/fbd861d3-f44f-49e9-bab6-6360826e61a9.jpg)
图8 历史报表窗口
至于表头,使用绘图工具栏中的直线和文字工具完成。而一些控制按钮就要动画连接。其动画连接分别如下。
"前一天"按钮:触敏动作中的左键动作 this.Off_Day=this.Off_Day+1;
"后一天"按钮:触敏动作中的左键动作 this.Off_Day=this.Off_Day-1;
"前一小时"按钮:触敏动作中的左键动作 this.Off_Hour=this.Off_Hour+1;
"后一小时"按钮:触敏动作中的左键动作 this.Off_Hour=this.Off_Hour-1;
"前一页"按钮:触敏动作中的左键动作 this.Page=this.page+1;
"后一页"按钮:触敏动作中的左键动作 this.Page=this.page+1;
"打印报表"按钮:触敏动作中的左键动作 Print("历史报表");
"返回"按钮: 触敏动作中的窗口显示 "欢迎"窗口。
当然,"报表主页"按钮显示的是"报表系统"窗口。
在历史报表窗口中,可以查询到变量a1.pv~a8.pv(各漏斗中的实际下药量),zongzha.pv(总闸开关的关闭情况标志),yeweialarm.pv(水玻璃液位报警参数),liaoliang.pv(装料桶中的实时料量),zongshu.pv(已经制作好药的桶数)等变量在不同的具体时刻的瞬时值。
4.1.9万能报表窗口
万能报表窗口的图形如下:
![](http://www.cechina.cn/Upload/companyfile/2008/11/21/9e0c42bd-55cb-4bfc-8cd7-315468d29cb5.jpg)
图9 万能报表窗口
该窗口是万能报表窗口的主窗口。在该窗口上有一windows控件―单选框。分别用来显示"漏斗下药量"和"水玻璃下料量和药制作桶数"两个子窗口。其关联变量是:wanbao.pv。随着wanbao.pv的不同,显示的窗口不同。与该单选框的对应的动作采用"数据改变动作"。
代码如下见附录。
至于该窗口上的一些增强型按钮,其动画连接与前面的相同。
4.1.10漏斗下药量报表窗口
该窗口实际上是万能报表系统中的一部分,但选中万能报表窗口中单选框的"漏斗下药量"选项即可进入该窗口中。该窗口的图形如下:
![](http://www.cechina.cn/Upload/companyfile/2008/11/21/9f15512b-2652-41ae-9b3d-9e4ff23c1884.jpg)
图10 漏斗下药量窗口
该窗口的一个主要部分是一个万能报表,其是子图中的内部控件。对于其的设置,主要难点在于日累计一栏,这里用pcauto3.62软件自带的一个函数double GetStatisData(Var,Year, Month, Day, Hour,TimeSpan,Type,Time)来解决。比如在统计漏斗1中的日下料时,在需要显示其数据的一栏中输入以下表达式:
=24*GetStatisData(a1.pv,Year.pv,Month.pv,Day.pv,0,24,0,Time.desc)。
用24小时内的平均值乘以24即得到日总计量。对于其他变量的日累计,输入的内容与此类似。在目前总计一栏中,直接采用系统定义的总计变量来解决。对于总计变量来说,采用动作中的条件来达到。如累计漏斗1中的下药动作条件中:条件表达式是 a1.pv==s1,动作是adda1.pv=adda1.pv+s1.其他的累计情况与此类似。同时对于这些累计变量对应的数据点的历史组态为选中"退出时保存实时值作为下次启动的初始值"复选框即可完成总计功能。此窗口中还有一windows单选框,设置与前面出现的单选框类似,只是其对应的关联变量是baobiao.pv,对应的数据改变动作为见附件1
4.1.11自定义焊条漏斗下药量窗口
此窗口实际是漏斗下药量报表窗口的一个附属窗口,由于在自定义焊条中,有一些变量与前面两个焊条制作系统不同,于是在这里单独列出此窗口,当选择漏斗下药量报表窗口中自定义焊条时即跳出此窗口,图形如和图10类似,这里省略。
4.1.12水玻璃下料量和药制作桶数窗口
此窗口用来统计水玻璃下药量和药制作桶数。窗口图形图10类似,这里省略。
窗口中也有一个windows下拉列表框,分别用来显示和选择时间。还有一个万能报表,与漏斗下药量报表窗口中的万能报表设置基本相同,只是变量不同而已。
4.1.13加硅胶窗口
该窗口主要用于报警处理,当水玻璃剩余药量不足时,出现此窗口。
![](http://www.cechina.cn/Upload/companyfile/2008/11/21/7cf8de2c-106d-4f35-a3bb-8d0b80aaceea.jpg)
图11 加硅胶窗口
由图可知,该窗口十分简洁,只有两个增强型按钮:"加硅胶…"和"完成!!"按钮。其动画连接分别为:
"加硅胶…"按钮:触敏动作中的左键动作 #finish.show();(其中"完成!!"按钮被命名为finish)
"完成!!"按钮:触敏动作中的左键动作 shuiboliyewei=1000;yeweialarm.pv=0;HideWindow("加硅胶");
为了使刚进入窗口时不出现"完成!!"按钮,在此窗口动作中有如下的窗口动作:进入窗口时:#finish.hide();
4.1.14趋势系统窗口
此窗口是趋势系统的主窗口,通过该窗口,可以分别进入"历史趋势"和"实时趋势"两个窗口。该窗口图形如下:
![](http://www.cechina.cn/Upload/companyfile/2008/11/21/c27a901c-49c1-406a-a7f7-6d9c13b3d178.jpg)
图12 趋势系统窗口
由图可知,该窗口也比较简洁,只有一些增强型按钮。至于各个按钮的动画连接与前面的类似或一样。
4.1.15实时趋势窗口
在实时趋势窗口中的一个主要的控件就是从工具箱中拖出来的一个子图。
该窗口图形如下:
![](http://www.cechina.cn/Upload/companyfile/2008/11/21/d9caefbf-e2b5-4765-8be3-395c93041b98.jpg)
图13 实时趋势窗口
组态很简单,现在这里简要提一下有关实时趋势的一些基本概念。
实时趋势是变量的实时值随时间变化而绘出的变量-时间关系曲线图。使用实时趋势可以察看某一个数据库点或中间点在当前时刻的状态,而且实时趋势也可以保存一小段时间的数据趋势,这样使用它就可以了解当前设备的运行状况,整个车间当前的生产情况。
实时趋势图由以下几部分构成:标题、边框、网格、趋势曲线、游标、时间标记、数值标记、数值显示、当前系统时间等。
4.1.16历史趋势窗口
此窗口图形与实时趋势窗口类似,这里省略。
该窗口组态很简单,也与实时趋势窗口类似,这里也简要介绍一下有关历史趋势的一些基本概念。
历史趋势是根据保存在实时数据库中的历史数据随历史时间变化而绘出的二维曲线图。历史趋势引用的变量必须是数据库型变量,并且这些数据库型变量所连接的数据库点参数必须已经指定保存历史数据。 历史趋势由以下几部分构成:标题、边框、网格、趋势曲线、游标、时间标记、数值标记、数值显示、当前系统时间等。
4.1.17总貌窗口
总貌窗口图形如下:
![](http://www.cechina.cn/Upload/companyfile/2008/11/21/1997aef6-7904-4602-8395-eed0398d4923.jpg)
图14 总貌窗口
总貌报表可以对所有的实时参数进行浏览,它是一个基本的图形对象,通过对它的属性通过动作脚本便可以控制,因此可以很方便的浏览所有的设备的数据。总貌报表是对实时数据库特定区域中特定单元内所有点的相关信息的集中显示,容包括:点名、当前值、报警状态、点说明、工程单位等。
从图可以看到,除了一个总貌报表,还有六个控制按钮。这六个按钮的动画连接分别如下:
"下一区域"按钮:触敏动作左键动作 this.Area_No=this.Area_No+1;
"上一区域"按钮:触敏动作左键动作 if this.Area_No>-1 then this.Area_No=this.Area_No-1; endif
"下一单元"按钮:触敏动作左键动作 this.Unit_No=this.Unit_No+1;
"上一单元"按钮:触敏动作左键动作 if this.unit_no>-1 then this.unit_no=this.unit_no-1; endif
"下一页"按钮:触敏动作左键动作 this.CurLine=this.CurLine+15;
"上一页"按钮:触敏动作中左键动作 if this.CurLine>15 then his.CurLine=this.CurLine-15; endif
4.1.18用户管理窗口
用户管理窗口主要是为了集中对系统中各个用户进行管理操作。此窗口图形如下:
![](http://www.cechina.cn/Upload/companyfile/2008/11/21/d73cba05-24e2-4a26-a9fc-8a2043f44a5e.jpg)
图15 用户管理窗口
在此窗口中,主要是一些增强型按钮和几个文字标签。其动画连接分别如下:
"返回主页"按钮:触敏动作中的窗口显示
"退出"按钮:触敏动作中的左键动作 exit(0);
用户名文字标签:触敏动作中的数值输出 对应的变量为 $UserName
用户级别文字标签:触敏动作中的数值输出 对应的变量为 $UserLevel
"登陆用户按钮":触敏动作中的左键动作 login( );
"修改密码"按钮:触敏动作中的左键动作 UserPass("");
"新建用户"按钮:触敏动作中的左键动作 UserMan();
"注销用户"按钮:触敏动作中的左键动作 Logout();
"进入组态"按钮:触敏动作中的左键动作 if $userlevel>2 then IntoConfig();endif;
"初始设定"按钮:触敏动作中的窗口显示 显示"系统初始设定"窗口
4.1.19初始设定窗口
一个系统开始运行时,总有一些初始设置,一旦系统安装后,此初始设置可以保持下去。像制药总的桶数,硅胶总用量等这些变量在系统第一次运行之前应该都为0,但是一般来说,系统一旦运行,这些参数一直由程序控制,不能修改。于是,对于要修改的一些变量,本系统都设置了修改用户的级别,可在"初始设定窗口"中修改。其窗口图形如下:
![](http://www.cechina.cn/Upload/companyfile/2008/11/21/801dadb0-5936-4646-8797-e61e76fa8ccc.jpg)
图16 系统初始设定窗口
在本系统中,凡是要在"初始设定窗口"中要修改的变量,都要求是系统管理员。目前,该系统有三个用户,一个是操作工级别的(用户名:user ,密码:111),一个是班长级还有一个是系统管理员级别的。至于各个文字输入框的动画连接与前面的类似。由于是初始设置,因此,在第一次运行此系统之前,应该先进行初始设置。至于该窗口中的其他一些按钮的动画连接与前面的相似。
4.1.20加料窗口
该窗口与上的加硅胶窗口一样,用于报警处理,只要有一个漏斗发生缺药,便会跳出该窗口。
窗口图形如下与加硅胶窗口类似,这里省略。
可以看到,也只有两个增强型按钮:"加料…"和"完成!"按钮。其动画连接分别为:
"加料…"按钮:触敏动作中的左键动作 #finish1.show();(其中"完成!"按钮被命名为finish1)
"完成!"按钮:触敏动作中的左键动作
add(yaoliang1.pv, yaoliang2.pv, yaoliang3.pv, yaoliang4.pv, yaoliang5.pv,yaoliang6.pv,yaoliang7.pv, yaoliang8.pv, yaoliang9.pv, yaoliang10.pv, yaoliang11.pv,yaoliang12.pv,num);
HideWindow("加料");
yaolalarm.pv=0;
这里涉及到了一个自定义函数:add,其代码见附录
可以看出,不管哪个漏斗缺药,都可以通过该窗口完成加料任务。同时使报警消失。
同上,为了使刚进入窗口时不出现"完成!"按钮,在此窗口动作中有如下的窗口动作:
进入窗口时:#finish1.hide();
4.1.21无药或硅胶窗口
无药或硅胶窗口也主要用于报警的处理,当漏斗中的药量或水玻璃存储罐中的硅胶完了时,系统出现无药报警,系统总闸开关关闭,系统停止运行,同时出现无药或硅胶窗口,进行上药处理。其窗口图形如下:
![](http://www.cechina.cn/Upload/companyfile/2008/11/21/e6058dfe-b8e8-4c9c-9b57-e6f8964003b4.jpg)
图17 无药或硅胶窗口
可知,该窗口主要有13个增强型按钮和一些文字标签组成。各个按钮的动画连接分别如下:
12个上药按钮:触敏动作中的左键动作
yaoliang1.pv=600;#add1.hide();yaolalarm.pv=0;HideWindow("加料");(现以第一个为例,其他的与此一样,只是把yaoliang1.pv和add1依次换为yaoliang2.pv~yaoliang12.pv和add2~add12)。
一个"上硅胶"按钮:触敏动作中的左键动作
shuiboliyewei.pv=1000;#add13.hide();yaolalarm.pv=0;HideWindow("加料");
在此窗口中,各个按钮由上至下依次为:add1~add13。
为了实现这样的一个效果(也十分必要,否则不好找到哪个漏斗或是硅胶缺料。):进入该窗口时,只是出现需要上药的按钮,上完药后该按钮随同该窗口一起消失。
4.1.22说明窗口
该窗口是起到一个说明作用,在该窗口中可以获得该软件的功能介绍和使用说明,在用户第一次使用此软件时务必要阅读此说明,以便更好的对整个系统进行操作。
![](http://www.cechina.cn/Upload/companyfile/2008/11/21/9f205ad8-d54e-4e0a-ae0f-2d34013f84f0.jpg)
图18 说明窗口
由图可以看到,该窗口的主要部分在于一个位图窗口。所有的说明文字都采用位图显示,然后使用系统内部控件中的"幻灯片"功能即可,在加两个翻页按钮。该窗口中的两个按钮的动画连接如下:
"上一页"按钮:触敏动作中的左键动作 tu=tu-1;
"下一页"按钮:触敏动作中的左键动作 tu=tu+1;
窗口动作见附录
4.2 硬件的选择
4.2.1 设备的选择
在此焊条制作过程中,一些漏斗用来存放各种不同的药品,漏斗下方还分别有一挡板作为漏斗开关,这是一弹簧开关,当各个下药标志完成时,也就是yaoalarmn.pv==1时,弹簧开关打开,否则,关闭。漏斗中药漏下来以后,需要一条传送带来运送到搅拌和匀装置。这条传送带用一电动机来带动,如上图中的电动机1。电动机的开关与软件中的数据库变量chuang1.pv关联,当chuang1.pv==1时电动机开关闭合,电动机启动运行。硅胶用一硅胶存储罐来存储,硅胶存储罐开关用一液位控制阀代替,当各个漏斗中的药全部完成下药时,给出一信号,这时硅胶存储罐开关打开,硅胶加入搅拌装置,在该软件中与硅胶存储罐开关对应的变量也是数据库变量shuiboliswitch.pv,当shuiboliswitch.pv==1时开关打开,否则关闭。至于搅拌和匀装置,采用一搅拌器,搅拌器的启动和停止也用一开关来控制,当所有漏斗下药完成后,搅拌器开关打开,搅拌器的两个搅拌臂运动搅拌,此软件中与搅拌器开关对应的数据库变量是jiaoban.pv,当jiaoban.pv==1时开关打开,搅拌器开始工作。搅拌器的运动动力也由一电动机来供给。如上图中的电动机3。搅拌和匀后,搅拌器下面的开关打开,搅拌和匀的药漏下到运送桶中,与此对应的变量为:jiaowan.pv,当jiaowan.pv==1时此开关打开。于是又要一传送带来运送该装满了制好了药的桶,此传送带的动力由另外一电动机来提供,如图中的电动机2。在软件中与此电动机的开关对应的数据库变量是chuan2.pv,当chuan2.pv==1时电动机开关打开,电动机带动传送带运动从而将运送桶传送出去――焊条制作系统进行自动制焊条。
为了安全起见,整个系统还设置了一总闸开关,当由于某种原因,如此系统中的紧急报警,制药完成等,都会引起总闸开关关闭,从而整个系统停止运行。总闸开关药能够由微机控制。(当然也可人工手动控制。)与总闸开关对应的数据库变量为zongzha.pv,当zongzha.pv==1时总闸开关打开,否则关闭。
4.2.2 传感器
此系统主要是由微机控制工业制作过程,这里先简单介绍一下传感器的有关知识。
将被测物理量按照一定的规律,转换成易于检测、传输或处理的信号的装置称为传感器。传感器具有两个作用:1.敏感作用,感觉和拾取被测物理量;2变换作用,将被测的非电量转换成电量。按被测量对象来分,传感器可分为力传感器、位移传感器、重量传感器、液位传感器、速度传感器、加速度传感器等等。传感器是整个测系统的最初输入环节,它获得信息的正确与否,决定了测量系统的精度,因而对传感器的性能一般有下列要求:①输入、输出有良好的线性关系,且灵敏度高。②滞后、漂移误差小。③使用维修方便,对被测量物或被测状态影响小。④内部噪音小,不易受外界的干扰。⑤能耗低【18】。
在此系统中,由于很多变量的测量都要求都很准确,同时反映迅速,于是对于以上几点要求更高。
此系统中有如下变量的值要求从外界取得,所要求的传感器分别如下:
漏斗中剩余药的重量,此时可选用性能较好的重量传感器,从而返回漏斗中少年剩余药的重量。对于实时的下药量也是由重量传感器来获得。有多少个漏斗就需要多少个重量传感器。对应在软件中的数据库变量分别为yaoliang1.pv~yaoliang12.pv,a1.pv~a8.pv,za1.pv~za12.pv.硅胶存储罐中硅胶的液位也需要返回,对应的软件中的变量为shuiboliyewei.pv。运送桶中所装的已制好的药量也需要一重量传感器来返回其值。在此软件中与其对应的数据库变量为liaoliang.pv。同时运送桶的位置为一模拟量,也需要传感器来返回。这里采用位移传感器,在此软件中与之对应的数据库变量为tongx.pv。
4.2.3 I\O设备
实时数据库是从I/O驱动程序中获取过程数据的,I/O驱动程序负责软件和设备的通讯,数据库同时可以与多个I/O驱动程序进行通信,一个I/O驱动程序也可以连接一个或多个设备。
例如对于PLC,由I/O驱动程序从设备PLC采集的数据传送到数据库上并经数据库处理后,传送给View对应的变量,并在View的画面上动态显示出来;当操作人员在View的画面上下置数据时,也就是修改了View变量的数据,View会将变化的数据传送给DB,经DB处理后,再由I/O驱动程序传送给设备PLC
力控可以与多种I/O设备进行通信。目前支持的I/O设备包括:集散系统DCS、可编程控制器(PLC)、现场总线FCS、USB、智能模块、板卡、智能仪表、变频器等方式的设备。
力控与I/O设备之间一般通过以下几种方式进行数据交换:串行通信方式(支持Modem远程通信)、板卡方式、网络节点方式、适配器方式、DDE方式、OPC方式等。
对于采用不同协议通信的I/O设备,力控提供具有针对性的I/O驱动程序,实时数据库借助I/O驱动程序对I/O设备执行数据的采集与回送。实时数据库与I/O驱动程序构成服务器/客户结构模式。一台运行实时数据库的计算机通过若干I/O驱动程序可同时连接任意多台I/O设备。无论对于哪种设备,都需要确切知道设备及该点的物理通道的编址方法(必要时质询制造厂)。
I/O设备配置完成后,能在浏览器的目录树列出I/O设备的设备数据源,此后,即可以使用配置过的设备名称进行数据连接。系统投入运行时,力控通过内部管理程序自动启动相应的I/O驱动程序执行与I/O设备的实时数据交换。
运行时I/O驱动程序具备动态打开/关闭设备、故障恢复等功能,保证了通讯的可靠性。
力控现在支持多个厂家的几百种设备。
由于条件所限,本设计中采用输入输出接口卡,定义的设备名分别为:biaozhun,shiji,yaoalarm,zaxiang,zongji,zxiayao,zzongji,硅胶。分别连接的组态点见附录。
至此,整个系统制作完毕。
5 该软件功能介绍
5.1自动配药
该焊条制作传送系统能完成三类焊条药皮的制作,传送与监控。其中有两种最常见的焊条,一种是J422焊条-常见的一种酸性焊条,一种是J507焊条-常见的碱性焊条。另外一种是"自定义焊条",用户可以在自定义焊条中登录已有的焊条药皮配方来制作焊条,也可以删除和修改已有的配方,甚至还可以新建自己所需要的焊条药皮配方,通过配方管理来完成药皮配方中各种"标准"药量的设定。一旦确定了一种配方,该焊条药皮的各类药品用量也便确定下来,通过pc机监控自动完成下料功能,使药皮中各类药品需用量达到要求。
5.2自动传送与搅拌
各类药品量通过pc机来控制,药品通过漏斗漏下,之后由一传送带送往一搅拌器,当各类药品下药完成后,给出一"下药完成"信号。此时,水玻璃存储罐的开关打开,水玻璃开始送往搅拌器。在此过程中,搅拌器一直在运动,直至搅拌和匀,至此,完成搅拌。
在搅拌器的下方,有一装料桶,当搅拌完成后,搅拌器下部开关打开,将已搅拌好的药品送至装料桶。当装料桶装满所需的药后,另一传送带启动,将装料桶传送出去制作焊条。
5.3自动计数与计数控制
用户可依据自己的需要输入需制作的药品桶数,而系统也能记录制药完成桶数,当制药完成桶数达到用户需要的数量时,系统总闸开关自动关闭,系统停止运行。当然,对于总闸开关,用户也可以手动控制其状态从而完成对整个系统的控制
5.4报警、报表与事件功能
5.4.1报警
一个系统总会出现各类情况,在此系统中,各漏斗中的剩余药量随着下药的进行而逐渐减少,当某漏斗中的剩余药量少于某一预定值时,开始发生"缺药"报警――系统会发出报警声音,提示哪一个漏斗中的药量少了,同时弹出一上药对话框,提示用户增加漏斗中药量,没有增加药量从而使得药量不够的话,当漏斗中的剩余药量继续减少到最低限时,这时会出现无药报警,系统总闸开关自动关闭,系统停止运行。
在报警系统中,用户还可以查看各区域(为方便管理,将各变量分区域管理)的实时报警和历史报警,以便了解整个系统的运行情况。
5.4.2报表
除了报警,有时用户还想知道各变量在不同时间的值从而进一步了解整个系统的运行情况。为了满足用户的这个要求,系统还提供了报表功能。报表系统包括万能报表和历史报表,在万能报表中,可以统计各药品的日用量和到查询时间的总用量。在历史报表中,可以查询各变量在不同日期不同具体时刻的值。
5.4.3事件日志
除了报警和报表系统之外,本系统还提供了事件日志查询功能,用户可以查询"系统日志"(诸如系统启动,停止等事件)和"操作日志"(诸如操作人员的一些活动).这样,可进一步了解整个系统的运行情况。
5.5 查看趋势功能
在工业监控的过程中,用图像来形象的描述一个变量比用表格和其他的形式更为直观易懂,在此力控软件中提供了趋势功能,于是在本软件中也便可以用图像来形象的描述各个变量的变化情况。在此软件中,可以查看实时趋势和历史趋势,在实时趋势中,不仅可以在图形上形象的看到一些变量的值,同时在趋势表的右侧,还可以看到各个变量的实际取值。在历史趋势中,不仅具有实时趋势的一些功能,双击趋势表甚至还可以设置时间轴和需要显示的变量名。同时,还可以设置变量在趋势表中的取值类型(如:瞬时值,最大值,最小值等)。
5.6 利用总貌查看系统各个变量具体情况
由于在本系统中设置的变量比较多,设置的区域也比较少,于是容易使操作人员混淆各个变量的具体情况(如变量的当前取值,变量的名称,说明等)。通过此总貌系统,可以查看整个系统的各个变量, 从而解决此系统中变量多的缺点,使用户较快的掌握整个系统的使用情况。
5.7 用户管理和系统加密保护功能
该系统设计了不同的用户,不同的用户拥有不同的权限,而用户的权限决定了各用户的操作权限。刚进入系统时,会出现一登录界面,用户输入正确的用户名和密码后,只要用户的权限级别足够,便可以进入系统完成相应的操作。当用户的权限足够高时,甚至还可以进入组态状态对该系统进行修改或二次开发。当然,拥有足够权限的用户甚至还可以修改用户密码和新建用户。后面所说的几种情况都可以在本软件的用户管理界面中完成。
对于本系统中的一些数据(如总制药桶数等)还有一定较高的操作权限,以便保护变量不被一般用户修改。
当然,如果安装加密锁(一种加密硬件),在还没有出现登录界面时便要用户输入密码,密码正确方可进入登录界面,从而完成对系统进行进一步的加密。保护用户的权益。
5.8 初始数据设定功能
对于一些数据,需要手动进行修改和初始设定以便灵活的满足使用需要,于是在此软件中设置了一个"初始数据设定"界面,在此界面中,系统管理员可以对某些数据进行初始设定,当然,这些初始设定应该在系统刚投入生产之前进行设定。
5.9 智能提示
本软件还有智能提示功能,当用户不知某个按钮的功能等信息时,只要鼠标在该对象上停留半秒钟时,提示信息会出现,用户可由此得到相应的一些信息。辅助用户完成相应的操作。
5.10 二次开发
很多软件,随着时代的发展,应该具有二次开发功能,为了使本软件适应时代的发展,于是在用户管理窗口中设置了"进入组态""按钮,系统管理员可以进如开发系统进行二次开发,从而进一步修改该软件中的一些错误和完善该软件的各种功能。
上面的介绍,可知该系统的功能除基本满足初始设定的一些功能之外,还附加了一些其他的功能。
6 用户使用说明
关于本软件的一些功能,在前面已经提到过,这里就使用本软件作一些说明。
6.1系统整个运行过程简介
启动该系统时,首先跳出的是一"登录"界面,用户点击"登录按钮"后,输入相应的用户名和正确的密码后,点击其后出现的登录小图片,进入"欢迎界面",在此,用户可进入相应的焊条制作系统(初次使用该系统时,应该先进入说明窗口和用户管理窗口中的系统初始设定进行相关的系统初始设定,如制作总桶数设定,各个漏斗下药总量设定,制药总量设定)。
进入某种焊条药皮制作系统后,如是J422焊条(或J507焊条),系统进入窗口时会登陆相应的配方――J422焊条配方(或J507焊条配方),还有初始化各种参数(具体见附录1),同时系统会弹出一消息框,提示用户输入所需要制作药的桶数。输入后,先点击"准备完成"按钮,然后点击"总闸开关"打开总闸,于是系统启动,漏斗下的挡板移位,漏斗打开并开始下药,漏斗剩余药量减少。当达到相应的量时,挡板自动移位关闭漏斗,相应的下药完成标志变为1(如漏斗1的yaoalarm1.pv=1)。当所有的漏斗均下药完成时,下药完成总标志yaoalarmall.pv=1,同时会跳出一"下药完成"标志,不停闪烁,提示用户这一轮制药中下药完成,同时硅胶存储罐的开关打开,shuiboliswitch.pv=1,硅胶开始送入到搅拌器中,同时存储罐中硅胶液位下降。另一方面,搅拌器也开始运动,jiaoban.pv=1,搅拌完成后,jiaowan.pv=1,搅拌器停止运动,同时搅拌器下面的开关打开,将搅拌好的药送到运送桶中,运送桶中的药量一直递增,liaoliang.pv一直增大,装满后,chuan2.pv=1,传送带2开始运动,将制好的药送往焊条制作机制作焊条。
在此过程中,若漏斗剩余药量或硅胶存储罐剩余药量不足时,发生报警,同时出现相应的上药窗口,操作人员可点击"上药。。。"按钮后,去完成上药再回过头来点击"完成"按钮,于是报警消失,当出现无药报警时,跳出"无药或硅胶"窗口,系统发出紧急报警声音,同时整个系统停止运行,操作人可在完成上药后再点击"上药"按钮,报警消失,再点击"总闸"开关,系统又重新开始运行。
在此过程中,用户点击相应的按钮可进入相应的系统,(如点击"报警系统"按钮,可进入报警系统,查看趋势可进入趋势系统等)。要取得帮助时可进入"说明"窗口,也可鼠标停留在相应位置等待提示。
如果进入的是"自定义焊条系统",进入后系统还未初始化,跳出一消息提示框要求用户输入需制药桶数,然后用户还要在配方操作下拉框中进行相应的操作,这样才能初始化系统,登陆用户自己的配方,这时,系统已经记录下用户使用的漏斗数,待用户点击"准备完成"按钮后,系统初始化完成,在点击"总闸"开关启动系统,其它情况与上面所说一样。
6.2几点注意
上面是对整个系统运行做了一个简要的介绍,下面提出几点注意。
6.2.1关于登陆
本软件中,将用户都设定了一定的权限,不同级别的用户具有不同的使用权限,在此系统中,初始设定了几个用户级别,其中,"操作工"级别最低,只能"进行运行"操作,其用户名为"user",密码为"111"。"班长级"较高,除了能"进行运行"还能"退出运行", "系统管理员"级别最高,除了可以进行前两个用户进行的操作外,还可以"进入组态"对系统进行修改和二次开发。也就是说,可以进行任何操作.登陆时,要认真选择用户。
6.2.2关于用户管理
当然,除了以上的一些用户外,具有一定级别的(系统管理员级)的用户,还可以新建用户和修改用户密码。所以以上1中的用户名和密码并不完全是确定的。用户可以依据自己的需要新建用户和修改用户密码。但是这是一较高级别登陆系统之后才能做到。
6.2.3关于初始设置
初次运行本系统时,务必先进入"初始设置窗口"进行系统的一些变量的初始设置。否则会造成一些数据的偏差。(如各漏斗下药量总计,硅胶用量总计,制作桶数总计,制作药量总计)。虽然其不影响整个系统的运行,可是对于以上数据的正确统计有很大影响。当然,用户可利用这个初始设置窗口进行一些其他功能的应用。
6.2.4 按钮的点击
在本系统中,有时一些按钮等对象不具备点击或选择功能,主要是因为条件没有成熟。
这些按钮有:当所选的系统是J422焊条制作系统时,就不能在"报表"窗口,"报警"窗口,"趋势"窗口,"总貌"窗口等中点击"J507焊条"和"自定义焊条"等按钮。当然,所选系统是"J507焊条"(或"自定义焊条")时,进入其他两个系统的按钮也会被禁止!只有通过"欢迎界面"进入不是当前系统的系统。对于当前系统,可以通过不同窗口上的显示来获得。
在"自定义"窗口中,"准备完成"按钮在准备完成之前页处于禁止状态(用户还没用登陆某种配方来初始化药名和配方药量等)。
6.2.5 帮助和提示的获得
除了在说明窗口中获得该软件的一些使用说明,当鼠标放在某个对象上停留半秒钟时,会有一些提示。
7 结束语
这个监控系统的设计针对的是属于热加工系统中的一部分中的焊条药皮制作,由于该部分制作过程比较繁琐,且重复性的工作比较多,所以采用微机来进行监控,但对于大量制作焊条药皮来说也许会大大提高效率,而少量的药皮制作,由于此系统中要安装各种硬件和传感器等外部设备,就不宜采用该系统。
此系统由于元件较多,窗口较多,同时加上自己水平有限没能恰当处理,使得该程序中有很多程序代码冗余,几个窗口之间也有很多代码重复。本来想采用一个窗口来代替三个焊条药皮制作窗口,但漏斗的位置不易摆放,制作J422焊条和J507焊条时漏斗也许会很小,漏斗的代码实现起来也较繁琐,为了有所分别,同时系统有复制功能,J422焊条和J507焊条也比较常见,所以最终还是采用一个焊条药皮制作系统一个窗口,三个焊条制作系统可以单独存在。当然在自定义焊条制作系统中也可以制作J422焊条和J507焊条,所以其较灵活(这也是为什么自定义焊条制作系统中有很多变量单独设置的原因,以显示其重要性)还有很多功能,没能实现。比如,原计划有一个事件查询功能,可是试了很多次都没有成功。同时,对于这种工业制造监控系统,力控中还有手机报警功能,可是由于条件的限制,也没能实现。还有"双机冗余"功能,也是由于条件的限制,没能实现。
最后,由于条件的限制以及自己水平的原因,使得该软件还没有和硬件连接,所以会有很多地方不满足硬件连接的要求,同时此软件的制作是边制作边学习,水平有限,加上时间比较仓促,所以其中有很多很多错误和不当之处,很多很多地方设计也不完善,还望业界人士提出宝贵的意见和批评指正。
8 参考文献
[1]马国华,监控组态软件及其应用.北京:清华大学出版社,2001
[2]李学军,王鉴.基于电力调度自动化图形设计的计算机交互作图软件.电站系统工程1994
[3]杰勒得·帕尔,皮奥特·比尔科威齐. 用于多个局部网络(LAN)以太网通信系统的桥协议分层仿真. 情报指挥拴制系统与仿真技术,1994年第4期
[4]刘浩, 李丰桐, 方肇洪多级热网分在式微机监控系统中央管理站. 山东冶金,第17卷第5期,1995年10月
[5] The equivalence and learning of probabilistic automata, Foundations of Computer Science, 30 Oct.-1 Nov. 1989
[6]Configuration of distributed message converter systems using performance modeling, Aberer,K .;Risse,T.;Wombacher,A.;Performance,Computing,and Communications, 4-6 April 2001
[7]王卫兵等,可编程序控制器原理及应用.北京:机械工业出版社,2001.1
[8]阳宪惠.现场总线技术及应用.北京:清华大学出版社,1999
[9]邵欲森.过程控制及仪表.上海:上海交通大学出版社,1999
[10]Automata-based modeling and control synthesis for manufacturing workcells with part-routing flexibility, Ramirez-Serrano, A.;Sriskandarajah, C.;Benhabib, B. Volume 16, Issue 6, Dec. 2000
[11]刘云生,卢炎生,李国徽.计算机世界,1999,40期(10,18)产品与技术版
[12]王常力,信息化到底能为工业化做些什么.2003年自动化及控制领域优秀论文有奖评选
[13]余立建,王长林.主从分布式监控系统的设计.计算机应用研究,1994
[14]杨守权.新的强大的通信系统-工业以太网.智能建筑与城市信息,2004年11期
[15]卢苇,覃文浩,董琳媛.基于多层交换的校园以太网解决方案.四川大学学报,2002年4月
[16]北京三维力控科技有限公司.力控用户手册,PCAUTO3.62版
[17]张文钺,焊接冶金学(基本原理).北京:机械工业出版社,1993
[18]徐长生,陶得馨.起重运输机械试验技术.北京:人民交通出版社,1999