检测技术与自动化装置硕士论文-基于以太网的可编程RTU的研究.pdf_第1页
检测技术与自动化装置硕士论文-基于以太网的可编程RTU的研究.pdf_第2页
检测技术与自动化装置硕士论文-基于以太网的可编程RTU的研究.pdf_第3页
检测技术与自动化装置硕士论文-基于以太网的可编程RTU的研究.pdf_第4页
检测技术与自动化装置硕士论文-基于以太网的可编程RTU的研究.pdf_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

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

文档简介

江南大学硕士学位论文基于以太网的可编程RTU的研究姓名:赵雨生申请学位级别:硕士专业:检测技术与自动化装置指导教师:高美凤20080601摘要摘要RTU(RemoteTerminalUnit)是一种远程测控装置,负责对现场信号、工业设备的监测和控制。与常用的可编程控制器PLC(ProgrammableLogicController)相比,RTU通常具有优良的通讯能力和更大的存储容量。而PLC却以其程序可编,容易学习和操作等优势在工控领域也占有相当大的份额。因此本课题所研究的一种结合了RTU远程通信能力和PLC能够二次编程优势的新型测控终端是具有一定现实意义的。论文在对比了一些国内外|一类产品的基础上,提出了一款基于以太网通信的新型可编程RTU。该型RTU不仅可以利用以太网实现远程通信功能,还能使用户利用专用的编程平台来实现RTU的二次编程,从而提高RTU对应用环境的适应性。论文将整个系统分为四部分:硬件结构部分;上位机RTU集成开发环境设计与实现部分;RTU底层程序设计与实现;上位机与下位机的通信。课题的RTU编程平台是采用微软的VisualC+平台所开发的,这部分也是本课题的重点、难点。论文在详细介绍了指令表与梯形图两种编程语言的基础上,将编程软件分为界面设计、数据结构设计、语法检查以及编译等几部分描述。该软件可以编辑梯形图语言和指令表语言,并且能够实现两种语言之间的转换。RTU底层软件在ADS平台上用C语言编写,使用了源代码开放的嵌入式实时操作系统I-tcosII,提高了系统的可靠性和实时性以及代码的可维护性。该程序包括五个任务:键盘任务、液晶显示及功能选择任务、以太网通信任务、实时时间显示任务、指示灯任务。任务之间和任务与中断服务程序之间的通信采用了pcosII提供的邮箱和消息队列。每个任务都是相对独立的,且由操作系统来进行任务调度。系统的通信部分主要是实现了软件编程平台(上位机)和RTU(下位机)之间数据的传输。采用了两种通信方式串行接口和以太网接口,以便于程序的下载以及数据的监控。关键词:RTU;PLC;梯形图编程;以太网;嵌入式系统AbstractAbstractRTU(RemoteTerminalUnit)iSaremotecontrolunit,whichcallmonitorandcontrolsignalorindustrialequipmentComparedwiththePLC(ProgrammableLogicController),RTUusuallyhasexcellentcommunicationcapabilityandmassstoragecapacityThePLChasaconsiderableshareintheindustrialfieldformanyadvantages,suchasprogrammable,easytolearnandSOonItiSsignificanttodevelopeanewcontrolterminalthatcombinesadvantagesofRTUandPLCComparingdomesticandforeignproducts,thisdissertationpresentsanewprogrammableRTUbasedonethernetTliSRTUnotonlyCanbeusedforethemetcommunication,butalsorealizesthesecondaryprogrammingSoitimprovestheadaptabilityofRTUThisdissertationincludesfourparts:(1Dhardwaredesign;(喜)designandimplementationoftheRTuintegrateddevelopmentenvironment;(蔓)designandimplementationofRTUbouomprogram;(至)communicationofPCandRTURTUintegrateddevelopmentenvironment(IDE)wasdevelopedwithMicrosoftSvisualC+,whichwasalsomajoranddifficultpartinthisdissertationBasedonintroducinginstructionlistlanguageandladderdiagramlanguage,theinterfacedesign,datastructuredesign,syntaxcheck,compilerdesignThesoftwareCancompileinstructionlistlanguageandladderdiagramlanguage,andtranstwolanguageseachotherRTUbottomsoftwarewasprogrammedonADSIDEandClanguagewasselectedasdevelopmentlanguageUsing“coslIasoperatingsystemofRTU,CanincreasetheIHUreliability,real-timeperance,maintainabilityTheprogramincludedfivetasks:keyboardtask,LCDdisplayandfunctionoptiontask,ethernetcommunicationtask,timetaskandLEDindicationtaskThecommunicationbetweenthetasksandinterruptservicesusedmailboxandsemaphoreprovidedbytheItcosIIEachtaskiSindependent,andallofthemaremanipulatedbythe1tcosIIThecommunicationmoduleachievddatatransmissionbetweenRTUIDEandtheRTU,itusedtwomodes,seria】jnterfaceandethemetinterface,todownloadprogramandmonitorremotedataKeywords:RTU;PLC;Ladderdiagramprogram;Ethernet;Embeddedsystem独创性声明本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含本人为获得江南大学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。签名:趣鱼兰日期:2-。gjI,关于论文使用授权的说明本学位论文作者完全了解江南大学有关保留、使用学位论文的规定:江南大学有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借阅,可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文,并且本人电子文档的内容和纸质论文的内容相一致。保密的学位论文在解密后也遵守此规定。签名:导师签名:羟第一章绪论11引言第一章绪论随着电子信息技术和网络技术的飞速发展,嵌入式系统的应用范围已经涉及到工业控制、汽车、医疗、航天等众多领域。由于其针对性强、体积小、易于集成等特点使其在工业控制领域有非常广泛的应用。本课题所研究的新型RTU也采用了嵌入式系统进行实现。远程终端设备(RemoteTerminalUnit简称RTU)是安装在远程现场的电子设备,用来监视和测量安装在远程现场的传感器和设备。它主要应用在测控点特别分散的场合,例如城市供水自动化控制系统、城市煤气管网综合调度系统、电力远程数据集控系统、水情水文测报系统等。而另一种测控设备一一可编程控制器(ProgrammableLogicController简称PLC)由于其具有可编程、易于使用和维护等特点使其在传统的工业生产过程中大量应用(例如电厂、钢铁厂、化工厂)。所以本课题结合RTU与PLC两者的优点,研发出一种新型的可编程RTU,即具有传统RTU的远程通信能力又具有PLC的可编程能力。可以想象这种新型的RTU将会有更为广阔的应用范围。传统的RTU大多是由8位单片机控制,其控制过程简单,应用面窄,已经很难满足现代控制系统需要。故本课题采用基于32位ARM内核的微控制器,I司时设计一套上位机编程与监控系统,使RTU具有类似PLC的编程功能。令使用者可进行二次开发,增强了设备的适应能力。其通信方式除了普通的串口外再加上以太网(Ethemet)接口,使其便于和因特网(Intemet)连接实现远程通信功能。12课题背景及意义在80年代初期,一些厂家利用自身在数据采集、转换及通讯方面的优势,就已经推出远程测控终端RTU,并采用RTU构成计算机SCADA(SupervisoryControlAndDataAcquisition)系统,像英国施伦伯杰(Schelumberger)公司上世纪80年代初期开发的IMP远程测控终端及由它构成的SCADA系统就是RTU早期成功应用的一个例子12例。远程测控终端RTU作为体现“测控分散、管理集中”思路的产品从上世纪80年代起介绍到中国并迅速得到广泛的应用。它在提高信号传输可靠性、减轻主机负担、减少信号电缆用量、节省安装费用等方面的优点也得到用户的肯定【201。现在国内外比较有名的产品主要有:解放军南京工程兵学院微机测控研究所的893IDCB远程测控终端、北京安控科技发展有限公司flqSuperE远程测控终端、北京华迅江南大学硕士论文通信电子技术公司eNET无线RTU、美国MOTOROLA公司的MOSCAD远程终端设备、美国OPTO22公司OPTOMUX及SNAP等远程测控终端、澳大利亚埃波罗(ELPRO)公司的EPl05一体化RTU、澳大利亚悉雅特公司MOXRTU等掣20】。然而以上RTU产品很多都不能够进行二次编程,所以其灵活性受到了很大限制。另外国内一些可编程RTU其编程系统也大多是采用国外厂商的商业编程系统,并没有自主知识产权。122PLC世界上公认的第一台PLC是1969年美国数字设备公司(DEC)研制的。限于当时的元器件条件及计算机发展水平,早期的PLC主要由分立元件和中小规模集成电路组成,可以完成简单的逻辑控制及定时、计数功能。20世纪70年代初出现了微处理器,人们很快将其引入可编程控制器,使PLC增加了运算、数据传送及处理等功能,完成了真正具有计算机特征的工业控制装置。为了方便熟悉继电器、接触器系统的工程技术人员使用,可编程控制器采用和继电器电路图类似的梯形图作为主要编程语言,并将参加运算及处理的计算机存储元件都以继电器命名。此时的PLC为微机技术和继电器常规控制概念相结合的产物瞵j。20世纪70年代中末期,可编程控制器进入实用化发展阶段,计算机技术已全面引入可编程控制器中,使其功能发生了飞跃。更高的运算速度、超小型体积、更可靠的工业抗干扰设计、模拟量运算、PID功能及极高的性价比奠定了它在现代工业中的地位18J。20世纪80年代初,可编程控制器在先进工业国家中已获得广泛应用。这个时期可编程控制器发展的特点是大规模、高速度、高性能、产品系列化。这个阶段的另一个特点是世界上生产可编程控制器的国家日益增多,产量日益上升。这标志着可编程控制器已步入成熟阶段IS。20世纪末期至今,可编程控制器的发展特点是更加适应于现代工业的需要。从控制规模上来说,这个时期发展了大型机和超小型机;从控制能力上来说,诞生了各种各样的特殊功能单元,用于压力、温度、转速、位移等各式各样的控制场合;从产品的配套能力来说,生产了各种人机界面单元、通信单元,使应用可编程控制器的工业控制设备的配套更加容易。目前,可编程控制器在机械制造、石油化工、冶金钢铁、汽车、轻工业等领域的应用都得到了长足的发展悼J。我国可编程控制器的引进、应用、研制、生产是伴随着改革开放开始的。由于起步较晚,现在我国的PLC市场主要被几家国外大公司所垄断。例如德国西门子、日本欧姆龙、三菱等。国内生产PLC的厂家主要有浙大中控、北京易控、无锡信捷等。但从产品结构上看,国内PLC大多属于中低档产品,至今没有形成主流产品和完整的系列产品,在国内市场也只占有很小的份额。2第一章绪论123以太网以太网技术最早是由施乐(Xerox)公司提出,并由施乐、Inter和DEC公司联合扩展,在1982年公布了基于以太网规范的IEEE8023。以太网使用CSMACD(载波监听多路访问及冲突检测技术)技术,并以10Mbps100Mbps甚至更高的速率运行在多种类型的电缆上。目前以太网已经在局域网和Intemet上取得了巨大的成功,据VDC(VentureDevelopmentCrop)调查报告,如今已有约95的网络节点具有Ethemet接口【71。近年来,以太网技术取得迅猛发展主要得益于以下优势:(1)开放标准,应用广泛。获得众多厂商的支持;(2)成本低廉,结构简单,管理方便;(3)通信速率高,软硬件资源丰富;(4)持续技术改进,满足用户不断增长的需求;(5)网络可平滑升级,可持续发展潜力大171。正是由于以太网具有开放性好、应用广泛及价格低廉等特点,不但基本垄断了商业领域的网络市场,而且在工业控制领域也得到了大规模的应用。因此选用以太网作为远程通信网络可以避免现场总线技术游离于计算机网络之外,从而能够方便的实现现场总线技术与商业互联网技术相互促进,共同发展,在升级方面无需单方面投入。这些优势是其它现场总线无法比拟的。13论文的主要工作及贡献根据前文所述,RTU与PLC皆属终端设备。RTU偏重于信息的传送,其有较强的通信能力能够很方便的组成SCADA网络,但是其专用性太强。I汀U一般只能在一个行业、甚至是在一个单位的某一个工程项目中使用。而PLC属于存储程序控制,其控制功能是通过存放在存储器内的程序来实现,若要对控制功能进行修改,只需要改变用户软件即可,所以有很强的适应性、通用性。但是由于其支持的通信方式很有限,往往只有固定的一到两种,并且传输距离较短。我国自80年代初引进PLC产品近年来有较大的发展,通过技术引进、消化吸收、仿制和国产化,使我国小型PLC的有些品种己批量生产,中型PLC已有产品,大型PLC己开始研制。但是到目前为止,国内形成产业化生产可编程设备的企业约30多家,产量超过1000台的不到10家,而且目前国内用户选用可编程设备仍以国外产品为主。国内产品的市场占有率不超过10,可编程设备的核心技术一直把握在欧、美、日等工业发达国家手里。但中国市场对这类的需求却以年递增率12的速度增长【l】。虽然最近几年国内出现了一些具有完全自主知识产权的PLC企业,但由于起步晚,没有经过大量的应用实践,其产品往往有这样或那样的不足,而不能被用户青睐。另外国内企业对自己的PLC技术极度保密,这样不能使国内形成一种百家争鸣,百花齐放的PLC开发环境。这些情况导致国内工控领域几乎被国外几大企业垄断,因此本论文可以为致力于开发具有自主知识产权的可编程测控终端的公司或个人提供一些借鉴和参考。江南大学硕士论文在这样的国际、国内背景下针对传统RTU和PLC的种种不足,结合两者优势,利用当前较为成熟的以太网通信技术,设计一款具有较高灵活性和适应性的新型的可编程RTU设备,无论对于国内工控水平的发展还是科学研究都具有积极的意义。本课题的目标是设计一款基于嵌入式系统的具有以太网监控功能的可编程RTU系统。在课题研究过程中所做的工作主要有以下几点:1、R1rU指令集的设计参考IEC611313标准,设计一套简单、通用符合国际规范的指令符号、代码。这些代码构成梯形图编程平台的各个元素、语句。2、梯形图集成开发环境的设计在可编程RTU系统中,为用户提供一个良好的软件开发调试环境是需考虑的重点。其最主要的目的是为RTU系统用户提供一个直观、方便、高效的用户程序开发平台。本平台采用VC+的多线程、多文档、多视图等技术,建立了一个面向应用系统的集成各种功能的用户程序设计环境,其编程语言参考了IEC611313标准,并选择其中最常用的LD(梯形图语言)、IL(指令表语言)同时作为用户程序开发语言。该平台的主要任务是完成对LD,IL两种语言的编辑、编译、调试和下载程序到硬件运行、数据的监控等。3、RTU解释程序的实现RTU梯形图程序在上位机编程平台中编写并转换为二进制代码后,通过串口下载到硬件系统的指令存储区。RTU指令解释程序包含有指令分析子程序和指令解释子程序。当指令解释程序运行,逐一扫描控制程序的指令,指令分析子程序获得指令的操作码和操作数,指令解释程序根据操作码类型调用相应的解释子程序,并把操作数作为子程序参数。解释子程序根据指令操作数计算其对应元件变量的存储地址,获得相应变量值,完成一条指令的规定动作。然后再分析下一条指令,如此周而复始,令RTU按照用户程序运行。4上位机与下位机之间的通信可编程RTU系统的设计和实现包括上位机编程系统和下位机RTU运行系统。编程系统基于PC平台,而RTU运行系统则运行在嵌入式硬件平台上面,所以两个系统的通信接口显得非常重要。本文分别实现了串口以及以太嗍两种通信方式。串口通信主要是为了完成梯形图程序向RTU的下载。以太网通信主要是负责RTU运行过程中用户程序的更新和输入输出数据的传输,便于上位机监控。14论文的组织结构论文共分七章,其组织结构如下:第一章绪论:概括叙述了本课题的研究背景、研究内容和目标。4第一章绪论第二章系统的原理与结构:叙述了本课题所研究对象的工作原理、工作特性,还简要介绍了其硬件基础和主要功能。最后对RTU软硬件的整体结构做了详细分析,为后面章节做了框架上的铺垫。第三章图形语言开发环境的设计与实现:首先介绍了梯形图和指令表两种编程语言的特点与编程规则,而后着重阐述了图形语言集成开发环境的设计,给出了从界面到功能的实现思想、方法和实现结果,完成了软件设计开发的核心步序。并给出了部分程序的流程图以及核心代码等。第四章嵌入式操作系统的选择和应用:详细阐述了RTU所使用的操作系统的选择、特性等,也介绍了课题所采用的广州致远公司工控板内所固化的各种函数。为实现RTU的可编程构造了系统软件的基础。第五章RTU底层软件设计:简述了嵌入式系统的开发方法,任务的分配和优先级的设定。还分析了键盘任务、时间显示和指示灯任务的实现方法。着重阐明了RTU解释程序的原理,也详细分析了解释程序的编程方法。第六章通信功能的实现:本课题的通讯模块采用了串行接口和以太网两种方法实现。本章对这两种通信方式分别从上位机和下位机两个方面做了阐述。系统可以利用两种方式完成程序的下载、数据的监控等功能。第七章总结与展望:对整个系统进行了总结,指出了系统存在的问题,并展望了系统今后的几个研究方向。15本章小结本章介绍了课题开发的背景、意义及课题所要实现的具体目标,并对课题所涉及到的各方面技术优劣进行分析比较,为课题的立论做了详细的说明,也具体介绍了作者所做的工作。并对设计时所用到的软硬件平台和工具进行了选择。最后概括了整个论文的结构安排。江南大学硕士论文第二章系统的原理与结构从某种意义上来说,测控设备的智能化水平对控制网络的体系结构有很大影响。同时,测控设备智能化水平的高低,又与嵌入式技术以及集成电路技术密切相关。以往嵌入在现场设备中的8位和16位微处理器芯片,由于存储空间小和运算速度低,从而影响了测控设备的智能化程度和网络性能。随着微电子、集成电路和嵌入式技术的快速发展,32位或更高速度的微处理器芯片己经问世。这些高速微处理器提供了更大的存储空间和更高的运算速度,可以很好地处理TCPIP等复杂协议,可以在单片机系统上实现以太网技术。将以太网接口直接嵌入到现场设备中,在现场设备中通过引入TCPIP协议,将使以太网通讯直达现场设备层,使嵌入式设备更加智能化并具有更好的网络性制HJ。通过在设备中内嵌Web服务器,就可使相关人员(如监控人员)利用现有的网络通讯平台,通过某些软件就可以对工业现场的设备进行实时的监测和控制。授权用户还可以远程对这台设备进行配置、监视、控制、诊断和测试等。通常每个嵌入式设备拥有一个嵌入式操作系统,并且还有一个嵌入式TCPIP协议栈。只要向其中添加一些代码就可以方便的转变为一个嵌入式Web服务器。作为智能控制节点,首先要保证通信任务实时可靠的执行。结合工业以太网智能节点的特征,论文提出了基于ARM处理器与嵌入式实时操作系统(RTOS)的可编程RTU。32位嵌入式微处理器ARM的引入,保证了在连接请求较多或控制任务较复杂的情况下,系统仍然能够保证良好的实时性。21LPC2220处理器ARM(AdvancedRISCMachines)微处理器基于RISC(精简指令集计算机)技术,与CISC(复杂指令集计算机)技术相比其指令集及相应的代码解释机制都得到了简化。ARM的RISC体系结构具有性能高、成本低、体积小和能耗小等特点,适用于多种领域。ARM处理器的三大特点:1、体积小、功耗低、性能高、成本低。2、1632位双指令集。3、全球众多的合作伙伴。ARM处理器目前包括以下几个系列的处理器产品:ARM7,ARM9,ARM9E,ARMlOE系列,SecureCore系列以及Intel的Xscale和StrongARM等。在所有ARM处理器系列中,ARM7处理器系列应用最广。ARM7系列内核包括ARM7TDMI,ARM7TDMIS,ARM7EJS和ARM720T共四款,ARM7TDMI是业界应用最广泛的32位RTSC嵌入式微处理器内核,允许系统设计者构造小体积、低功耗和高性能的嵌入式设备。LPC2220是PHILIPS公司的基于支持实时仂真和跟踪的1632位ARM7TDMISCPU的微处理器。片内128位宽度的存储器接口6第二章系统的原理与结构和独特的加速机构使32位代码能够在最大时钟速率下运行。LPC2220采用144引脚LQFP封装I引。LPC2220的特性:128位宽度接口加速器实现高达60MHZ的操作频率;外部8,16,32位总线;通过外部存储器接口可将存储器配置为4组,每组的容量高达16M字节;串行Boot装载程序通过UARTO将应用程序装入器件的RAM中并使其在RAM中执行;2个32位定时器(带4路捕获和4路比较通道)、PWM单元(6路输出)、实时时钟和看门狗;多个串行接口,包括2个16C550工业标准UART、高速12C接口(400kbits)和2个SPI接口;通过片内PLL可实现最大为60MHz的CPU操作频率;多达112个通用Io口(可承受5V电压),12个独立外部中断引脚;ARM处理器由于使用了流水线技术,处理器和存储系统的所有部分都可连续工作。通常在执行一条指令的同时对下一条指令进行译码,并将第三条指令从存储器中取出。其特点是运算速度快,能满足较高的速度要求。ARM处理器是嵌入式智能设备的运算控制部件,是整个嵌入式系统的实时控制核心,它不但要处理以太网的通信,把标准网络技术扩展到嵌入式设备中而且还需要处理其它很多的控制任务。由于工业现场的控制任务比较复杂,嵌入式ARM处理器所承担的任务也比较繁重。本系统中它主要处理的任务如下:1、系统上电后,对RTU各个外围接口进行初始化,并自动监测各部分硬件工作是否正常,初始化和自检完成后进行嵌入式操作系统的运行。2、运行过程中,不断读取和刷新来自现场的实时数据信息(采样数据),并把接收到的不同的采样数据进行不同的处理。3、通过以太网接口将接收来的数据信息传送给主机进行监控。4、根据系统所下载的用户程序,发出相应的I0输出信号来控制设备的工作。LPC2220的内部结构框图如图2一l所示:7江南大学硕十论文22M2005-NUll核心板图2-1LPC2220结构框图Fig21LPC2220Blockdiagram众所周知,嵌入式系统是一个相当复杂的系统。由于底层软硬件开发关系到整个系统的稳定性,必须投入大量的资金、人员和时间才有可能保证系统的可靠性。如果单靠一个人的力量从设计硬件电路开始到最后编写系统底层软件,一步一步地构建整个嵌入式系统,那么将很难保证系统的可靠性及实用性。因此课题选用了广州致远电子有限公司生产的M2005NUl1核心板。该电路基于LPC2220工业级微控制器、支持10M以太网、U盘、CF卡、P4D转换、RTC等功能。该产品提供总线保护设计,使核心板在EMC8第二章系统的原理与结构性能及稳定性方面具有良好的表现。产品提供LPC2220标准化驱动,并固化嵌入式以太网协议栈,调用API函数即可实现嵌入式设备的网络和海量存储等功能。该核心板采用6层PCB板,主要具有以下特点:内嵌gCOSII正版实时操作系统;内置TCPIP协议、FAT32文件管理系统;内置10M以太网控制器;内置USB20全速USBHost控制器;支持U盘、CF卡读写操作;2M程序存储器;512KB外置内存;1个可校准的低功耗外置实时时钟;2I珞UART、1路12C、SPI通信接口;4路10位AD转换器;20个GPIO,可承受5V电压输入;支持24位地址和16位数据总线扩展;该核心板结构如图22所示图2-2MU2005一N011结构框图Fig2-2MU2005一NUl1B10ckdiagram912CSPlUAI订EnqTl2CAPM、TA州03GPloPO江南大学硕士论文23可编程RTU硬件结构由于已经采用了成熟的核心板,所以其余硬件电路的设计已经相对简单。本课题硬件电路就直接采用实验室现有的基于该核心板设计完成的测控底板。图23为该电路原理框图。兰:!竺竺IO接U电路Flash存储器MiniARM(LPC2220)R$232LCD液晶显示JTAG调试接口网络接口电路图2-3RTU硬件结构框图Fig23RTUHardwareblockdiagram24可编程RTU工作原理编程主机以太网根据前文所述本课题所设计的可编程RTU其特点是既具有PLC的可编程能力又具有RTU的远程通信能力,因此其工作原理和PLC的工作原理相类似,然而在PLC诞生以前,工业控制中采用的是继电器控制系统。虽然PLC是从继电器控制电路发展而来的,但是它们的工作原理却不相同。继电器控制电路是一种并行工作方式,也就是说,当继电器控制电路中某些梯级同时满足导通条件时,这些梯级中的继电器线圈才会同时通电。而PLC则是采用巡回扫描工作方式,即在PLC执行程序时,CPU对梯形图自上而下、自左而右地逐次进行扫描,程序的执行是按语句排列的先后顺序进行的。因此,PLC控制与继电器控制的最主要区别就是PLC的梯形图中各线圈状态的变化在时间上是串行的,不会出现多个线圈同时改变状态的情况。PLC是以软件高速执行的串行来代替继电器的硬逻辑并行。控制程序在1秒钟之内被执行几十次甚至上百次。虽然从微观讲,PLC是以串行方式工作的,但是从宏观上看,PLC的高速循环执行和继电器的并行工作方式类似81。另外PLC和工业计算机的工作方式也有很大区别。微机一般采用等待命令的工作方式。如常见的键盘扫描方式或IO扫描方式,有键按下或IO动作则转入相应的子程序,无键按下则继续扫描。PLC采用循环扫描方式,用户程序按先后顺序存放,CPU从第一条指令开始执行程序,直至遇到结束符后又返回第一条,如此周而复始不断循环。这种工作方式是在系统软件控制下,顺次扫描各输入点的状态,按用户程序进行运算处理,而后顺序向输出点发出相应的控制信号。lO第二章系统的原理与结构本课题所设计的可编程RTLI其工作原理与PLC大致类似,但是具有以太网通信功能。其整个工作过程同样分为五个阶段:内部处理,外部通信,输入采样,用户程序执行,输出结果。其工作过程如图2_4所示。内部处理与外部设备通信读入现场信号垫至用户L一输出结果程序ll图2-4RTU工作过程Fig2-4RTUWorkingProcess每次扫描用户程序之前,都先执行故障自诊断程序,该过程称为内部处理阶段。其诊断内容为IO部分、存储器、CPU等,发现异常停机显示出错。若自诊断正常,继续向下扫描。在通信处理阶段,RTU与具有以太网功能的外部设备通信。将自身监测数据发送到外部设备,并能接收外部设备的指令。在输入处理阶段,以扫描方式顺序读入所有输入端的ONOFF状态,将此状态存入输入映象寄存器。接着转入程序的执行阶段。在程序执行期间,即使输入状态发生变化,输入映象寄存器的内容也不会改变,只有在下一个扫描周期的输入处理阶段才能被读入。在程序执行阶段,按先左后右、先上后下的步序,逐条执行用户程序指令,从输入映象寄存器和其它元件映象寄存器中读出有关元件的ONOFF状态。根据用户程序进行逻辑运算,运算结果再存入有关的元件映象寄存器中,即对每个元件而言,元件映象寄存器中所寄存的内容会随程序的进程而变化。输出处理阶段,在所有指令执行完毕后,将输出映象寄存器的ONOFF状态,在输出处理阶段转存到输出锁存器,通过隔离电路、驱动功率放大电路、输出端子向外输出控制信号,这才是RTU的实际输出。RTU周期性地循环执行上述步骤,称为扫描周期。它不仅包括运行用户程序所需的时间,而且还包括运行系统程序,如IO处理、自检测所需的时间。所以,它不仅与用户程序有关,还与系统结构、IO模块的个数、外围设备情况有关。它反映RTU对输入信号的灵敏度或滞后程度。扫描周期的大小对系统性能有一定影响,例如对IO响应时间,定时器精度等都有影响。要使巡回扫描的时间短,决定于两个因素,一是每条指令的执行时间,另一个是程序的长短。前一个由机器本身的主频决定,第二个主要与编程人员的水平有关。江南大学硕士论文25可编程RTU软硬件整体结构在前面所介绍的硬件电路和RTU工作原理的基础上,再加上后文的软件程序(第三,四,五章详述)就完成了一个可编程RTU的完整设计。本系统的软硬件各个部分的组成与结构如图25所示r。_-_。11l用户编写的程序I上层软件II上层扒什系统解释程序内存管理程序中断管理程序IO扫描程序接口驱动程序底层软件软件部分j至堕口圈匝互囵匝互囹硬件部分26本章小结图2-5RTIJ整体结构框图本章详细阐述了课题所采用的中央处理器LPC2220的结构及特点,并介绍了广州致远公司的核心板MU2005-NUll所具有的功能、特点。还分析了RTU硬件电路的系统构成和各个组成部分的作用。最后详细分析了可编程R1的工作原理及过程并给出了系统的软硬件整体框图。第三章图形语言开发环境的设计与实现第三章图形语言开发环境的设计与实现IEC611313是可编程控制器的编程语言标准,是现代软件机制和软件工程理论与传统可编程控制器编程语言的成功结合。它在工业控制领域的影响超出PLC的界限,成为DCS、RTU、运动控制,以及SCADA的编程系统事实上的标准。1993年国际电工委员会(IEC)正式颁布了可编程控制器的国际标准IECll31(以后改称IEC61131),其中的第三部分关于编程语言的标准,规范了可编程控制器的编程语言及其基本元素。该标准规定了二大类编程语言:文本化编程语言和图形化编程语言。前者包括指令表语言(IL,InstructionList)署l结构化文本语言(ST,StructureText),后者包括梯形图语言(LD,LadderDiagram)和功能块图语言(FBD,FunctionBlockDiagram)。至于顺序功能图(SFC),标准不把它单独列入编程语言的一种,而是将它在公用元素中予以规范16J。本课题的图形语言开发环境参考了IEC611313标准,实现了国内最常用的两种语言梯形图与指令表语言。用户可选择任一语言进行编程。VisualC+是微软公司开发的一个IDE(集成开发环境),功能强大尤其是面向对象技术,充分利用CH语言的封装、继承、多态、重载和虚函数等特性,使代码和数据分离。程序可移植性好、可扩充性好、易于维护。课题选用VisualC+60作为图形语言开发环境的开发工具。本章节主要详细介绍利用VC+进行图形语言集成开发环境设计的分析、设计、开发和调试过程以及所用到的一些关键技术等。31编程语言本系统采用了指令表与梯形图两种语言来进行用户程序编辑,下面将详细介绍这两种语言的特点以及编程规则。311指令表语言指令表语言又称为语句表或布尔助记符,该语言用一系列指令组成用户程序。它是一种类似汇编语言的低级语言,属于传统的编程语言,用布尔助记符表示的指令来描述程序。通常,一条指令由一个操作符或一个功能符,与一定数量的操作数组合来实现一定的功能。指令表编程语言具有以下特点:1、用布尔助记符表示操作功能,容易记忆,便于掌握;2、有时能够解决利用梯形图等其它语言不容易解决的问题;3、在编程器的键盘上直接采用助记符表示,便于操作;4、与梯形图语言一一对应;江南大学硕士论文5、在复杂控制系统中用该语言编程描述不够清晰;指令表编程语言是一种通用的编程语言,几乎所有PLC都支持,并且其它的编程语言都可以转换为指令表形式。尽管各个不同厂家PLC的指令表均有一些共同的特点,但它们并不完全一致。比如欧姆龙公司的装入指令为LD,是LOAD的缩写,而松下公司采用ST,是START的缩写。本课题将所用到的指令表助记符如下表示:装入指令(LDLDI);逻辑指令(OROPO和ANDANI);块操作指令(ORBANB);输出指令(OUT);结束指令(END)等。312梯形图语言由于梯形图是一种图形编程语言,是面向控制过程的一种“自然语言,它沿用了继电器的触点(触点在梯形图中又称为节点)、线圈、串并联等术语和图形符号,同时也增加了一些继电器控制系统中没有的特殊功能符号。梯形图语言比较形象、直观,对于熟悉继电器控制线路的电气技术人员来说,很容易被接受,且不需要学习专门的计算机知测81。因此几乎所有的可编程控制器都支持梯形图语言。在梯形图编程中,用到了以下四个基本概念14j:1、软继电器PLC梯形图中的某些编程元件沿用了继电器这一名称,如输入继电器、输出继电器、内部辅助继电器等,但是它们不是真实的物理继电器,而是一些存储单元(软继电器),每一软继电器与PLC存储器中映像寄存器的一个存储单元相对应。该存储单元如果为“1”状态,则表示梯形图中对应软继电器的线圈“通电”,其常开触点接通,常闭触点断开,称这种状态是该软继电器的“1”或“ON”状态。如果该存储单元为“O”状态,对应软继电器的线圈和触点的状态与上述的相反,称该软继电器为“O”或“OFF状态。使用中也常将这些“软继电器称为编程元件。2、能流当触点接通后,有一个假想的“概念电流或“能流”(PowerFlow)从左向右流动,这一方向与执行用户程序时的逻辑运算的顺序是一致的。能流只能单向流动。利用能流这一概念,可以更好地理解和分析梯形图。3、母线梯形图两侧的垂直公共线称为母线(Busbar)。在分析梯形图的逻辑关系时,为了借用继电器电路图的分析方法,可以想象左右两侧母线(左母线和右母线)之间有个左正右负的直流电源电压,母线之间有“能流从左向右流动。右母线可以不画出。4、梯形图的逻辑运算根据梯形图中各触点的状态和逻辑关系,求出与图中各元素对应的输入输出端子的状态,称为梯形图的逻辑运算。梯形图中逻辑运算通常是按从左至右、从上到下的顺序14第三章图形语言开发环境的设计与实现进行的。运算结果,马上可以被后面的逻辑运算所利用。逻辑运算是根据输入映像寄存器中的值,而不是根据运算瞬时外部输入触点的状态来进行的。另外用梯形图语言编程还必须要遵循以下规则:1、梯形图的绘制顺序是从上到下,从左到右。每个梯级(或称为逻辑行)起于左母线,经相应的控制逻辑,止于线圈或一个特殊功能指令。注意:左母线与线圈之间一定要有触点,而线圈与右母线之间则不能有任何触点。2、梯形图中的触点应当画在水平支路上,不能画在垂直支路。3、梯形图中的触点可以任意串联或并联,但继电器线圈只能并联而不能串联,即每一行逻辑中只能有一个输出。4、各类触点的使用次数不受限制,即每个触点可无限次使用,故应使程序结构尽可能简单。32界面设计该部分是整个软件设计中最重要的部分,它负责梯形图与指令表程序的输入、编辑、显示以及各个单元的位置、符号等信息的保存。因为界面是直接面向用户的,它决定了软件的交互性,所以编程界面是否易用、美观会直接影响用户对RTU产品的评价。另外程序的编译输出和错误检测也都需要本模块来运行。该部分的设计原则是让用户操作简单、快捷、方便、易用,但又不失美观,并能保证程序的效率和相应的速度。利用VC+的多文档视图结构将该模块分为梯形图编辑模块与指令表编辑模块两部分,编辑后生成以lad为后缀的梯形图文件和以il为后缀的指令表文件。321多文档界面为了让本编程系统能进行梯形图与指令表两种语言的编辑,故利用Microsoft基本类库(MFC)生成多文档界面应用程序。通过两次调用AddDocTemplate函数来添加两个文档模版,每个模版可指定不同的文档类,视图类以及MDI子框架类的组合。当用户从程序的文件菜单选择新建时,程序框架会显示一个列表框,允许用户根据字符串资源中所指定的名字中选择是新建以lad为后缀的梯形图文件还是以il为后缀的指令表文件,如图31所示。Fig31NewSeIecLionListBox下面是在CmainApp类的InitIns协nce()函数中添加梯形图与指令表模版的程序代码pDocTemplate=newCMultiDocTemplate(创建指令表界面模版IDRILTYPE,RUNTIME_CI,ASS(CILDoc),RUNqIMEI,ASS(CChildFrame),RUNTIME-cLASS(CILView);AddDocTemplate(pDocTemplate);pDocTemplate=newCMultiDocTemplate(IDRLADDERRUNTIMECLAss(cLADDoc),RUNTIMECLASS(CSpliterFrame),RUNTIMECI,ASS(CLADView),AddDoclbmplate(pDocTemplate);322指令表界面t日令表界面字符串和菜单资源,指令表界面模版文档指令表界面模版框架指令表界面模版视图添加新创建的模版ffq建梯形罔界而模版梯形图界而字符串和菜单资源梯形圈界面模版文档梯形图界面模版框架梯形罔界面模版视躅添加新创建的模版当打开RTU编程平台选择“新建一指令表程序”时,程序打开指令表编辑界而(见图32)。指令表是一种文本编程方式,也是一种在PLC巾必备的编程语言。本课题采用了vc+的多文档,视图结构,指令表的编辑模块采用CEditView类。像编辑类CEdit类样,CEditView类的坩蒙是一个视图,它提供窗门编辑控制功能,可以用来执行简单文本编辑功能。Hj户可以像使刖写字板一样将命令干_逐条输入到指令表编辑界面。CEditView类提供打印、查找、替换等功能。凶为CEditView类是CView类的派生,CEditView的对象町以和文档及文档模板l叫时使用。又因为SerializRaw成员函数可以把Edit控什中数据写到文件中因此指令表程序可以方便的在该视窗中显示、编辑。图32中“编译”菜单可将指令表语言转换为梯形罔语言。“串口通信”和“网绪通信”菜单是负责编程平台与RTU之间程序和数据之间通信的这部分内容将在第六章详细阐述。苎三垩堕堡至亘茎茎!茎塑堡生皇薹墨D口。日xt图32指争表蝙程界面Fig3-2Ifl$t“lction1jstprogra棚inBinterface本课题土要实现r以下几条基本指令。LD指令:它的作用是把由操作数制定的触点状态(ON或OFF)送到存储器的一个工作单元中(此单元为一位(bit)的寄存器,称为结果寄存器)。ILD指令在梯形圈编程界面的符号为:1r_一LDI指令:它的作用是把由操作数指定的触点状态(ON或OFF)取反后送到结果寄存器。lLDI指令在梯形图编程界面的符号为:yr_一AND指令:它的作用是把由操作数指定的触点状态与结果寄存器的状态进行逻辑与,其结果再送结果寄存器。AND指令在梯形|冬|编程界面的符号LD指令相划,H是该指令不能连接左I擎线,并月只能与其它元素串联。ANI指令:它的作州是把由操作数指定的触点状态取反后与结果寄存器的状态进行逻辑与,其结果再送结果寄存器。ANI指令在梯形图编程界面的符号与LDI指令相同,只是该指令不能连接左母线,并且只能与其它元素串联。OR指令:它的作用是把由操作数指定的触点状态与结果寄存器的状态进行逻辑或,其结果再送结果寄存器。勰。盘船、吾舯江南大学硕士论文OR指令在梯形图编程界面的符号与LD指令相同,只能与其它元素并联。ORI指令:它的作用是把由操作数指定的触点状态取反后与结果寄存器的状态进行逻辑或,其结果再送结果寄存器。ORI指令在梯形图编程界面的符号与LDI指令相同,只能与其它元素并联。ANB指令:该指令没有操作数,没有梯形图符号。它的作用是把结果寄存器中内容与堆栈的内容进行逻辑与,其结果再送结果寄存器。主要实现块与块之间的串联。ORB指令:该指令没有操作数,没有梯形图符号。它的作用是把结果寄存器中内容与堆栈的内容进行逻辑或,其结果再送结果寄存器。主要实现块与块之间的并联。OUT指令:它的作用是把结果寄存器的内容写到由操作数指定的继电器中。,一、OUT指令在梯形图编程界面的符号为:弋广一END指令:它的作用是标志程序结束。END指令在梯形图编程界面的符号为:叶Nf323梯形图界面当打开程序选择“新建一梯形图程序时,程序打开梯形图编辑界面,该界面上部分为菜单和工具栏,中间部分为梯形图编辑框,下部分为编译结果输出框。编辑框中设置了左右母线,行号,定位点,选取框。本系统主要实现了输入元素,输出元素,取反元素,并联元素,连接元素,附加功能元素(便于以后功能扩展)等。并且每个元素都可以添加地址,名字和注释。图33为梯形图编辑界面。点击界面中“绘图”按钮,会弹出元素菜单。该菜单中元素和工具栏中元素一致。点击界面中“选项按钮,会弹出界面设置菜单,该菜单可以设置梯形图编辑界面的长度和宽度。点击“编泽”按钮就可以实现梯形图程序到指令表程序的转换。18第三章图形语言开发环境的设计与实现文件哩)酋蕾蠢暑CO缝由进理电)译蛙)冒口但)帮助0D日xD瞎q口X譬I_pqpVP-CrlNp图33梯形图编程界面Fig3-3Ladderdiagramprogramminginterface在图33中上边为元素选择工具栏,见

温馨提示

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

评论

0/150

提交评论