组态王与PLC构成的流体计量系统.doc_第1页
组态王与PLC构成的流体计量系统.doc_第2页
组态王与PLC构成的流体计量系统.doc_第3页
组态王与PLC构成的流体计量系统.doc_第4页
组态王与PLC构成的流体计量系统.doc_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

1 组态软件1.1工业组态软件的概念 工业组态软件简称为组态软件,是一个快速建立计算机监控系统界面的软件工具,组态软件通常运用与个人计算机平台,并与各类控制设备一起组成计算机监控系统。其中,各类控制设备通称为下位机,而运行组态软件的计算机称为上位机。组态软件支持的下位机设备包括:plc,pc板卡,仪表,变频器,模块等设备。1.2工业组态软件的产生及国内发展状况 在工业组态软件出现之前,要实现某一监控任务,往往通过手工编写程序来实现。编写程序不但工作量大,开发时间长,效率低,而且可靠性差,程序的通用性差,很难与其系统进行数据的交互,往往不能满足系统升级的要求。随着工业计算机控制系统的应用普及,在面临规模更大,控制更复杂的控制系统时,人们逐渐认识到原有的上位机的弊端。同时,管理信息系统和计算机集成制造系统的大量应用,要求工业现场为企业的生产,经营,决策提供了更多更详细更深入的数据,以便优化企业经营中的各个环节。组态软件产品诞生于20世纪80年代初期,并在80年代末进入我国,在90年代中后期以来,组态软件在国内的应用逐渐得到了普及。随着组态软件技术的快速发展,实时数据库,实时控制,通信及连网,开放数据接口,对i/o设备的广泛支持已经成为它的主要内容,在工业自动化领域得到越来越广泛的应用。国际比较典型的组态软件有,美国wonderware公司的intouch组态软件,intellution公司的ifix组态软件,德国西门子公司的wincc组态软件。国内第一家较有影响力的是亚控科技推出的组态王(kingview),后来陆续出现了通态软件公司的mcgs组态软件以及大庆三维公司的力控(forcecontrol)等一系列产品。1.3工业组态软件的基本结构特点组态软件产品具有类似的功能,比如几乎所有的组态软件都采用类似资源浏览器的窗口结构,并且对工业控制系统中的各种资源(设备,变量,画面等)进行配置和编辑;都提供多种数据驱动程序;都使用脚本语言提供二次开发的功能等。从形式上看,各种组态软件提供实现这些功能的方式方法却各不相同。1.4工业组态软件的功能及发展方向组态软件的主要功能:l 数据采功能l 组态软件提供多种数据采集程序,用户可以进行应用配置。l 脚本语言编写功能l 脚本语言是扩充组态软件功能的重要手段。例如支持:c语言,basic语言,vb 等。l 组态软件的可扩展性功能l 组态软件在不改变原有系统的情况下,向系统内增加新的功能,这种功能的增加由组态软件的开发商提供第三方软件,用户自身开发。l 对internet的支持功能l 现代企业的生产已经趋向国际化,分布式的生产方式。internet将是实现分布式生产的基础。l 组态软件的控制功能l 如软plc功能,先进过程控制等。组态软件的发展方向: 未来的组态软件将能提供更强大的分布式环境下的组态功能,全面支持过程控制,嵌入技术等,工业标准,控制功能强,并能通过internet进行访问的开放式系统。1.5工业组态软件的在自动控制系统中所处地位 在自动监控系统中,投入运行的监控组态软件是系统的数据收集处理中心,远程监视中心和数据转发中心,处于运行状态的监控软件与各种控制,检测设备(如智能能仪表,dcs等)共同构成快速响应的控制中心。1.6组态王(kingview)软件介绍1.6.1组态王的基本组成组态王软件包括有工程管理器,工程浏览器和画面运行系统三部分组成。其中,工程浏览器内嵌组态王画面开发系统,生成人机界面工程。界面开发系统中的组态设计的界面工程将在画面系统中运行。1.6.2组态王的版本类型组态王包括五种类型,多个规格。l 开发版开发版分为64点,128点,256点,512点,1024点,不限点共六种规格;内置编程语言;支持网络功能;内置高速历史库;内置web浏览器;支持运行在线8小时。l 运行版运行版分为64点,128点,256点,512点,1024点,不限点共六种规格;支持网络功能,可选用通信驱动程序。l netview版有512点,不限点两种规格;支持网络功能,可选用通信驱动程序。l for internet应用版有5用户,10用户20用户,50用户,无限用户五种;l 演示版支持64点;内置编程语言;在线运行2小时;可选用通讯驱动程序。1.6.3组态王的软plc功能kingact是基于pc建立的实时性控制软件,他以windows2000/windowsnt4.0中文操作系统做为操作平台。符合iec标准的plc编程语言。kingact分为开发系统和运行系统两部分,可以实现plc的部分功能。2 可编程序控制器2.1可编程序控制器的概念可编程控制器(programmable controller,简称pc)。与个人计算机的pc相区别,用plc表示。plc是在传统的顺序控制器的基础上引入了微电子技术、计算机技术、自动控制技术和通讯技术而形成的一代新型工业控制装置,目的是用来取代继电器、执行逻辑、计时、计数等顺序控制功能,建立柔性的程控系统。国际电工委员会(iec)颁布了对plc的规定:可编程控制器是一种数字运算操作的电子系统,专为在工业环境下应用而设计。它采用可编程序的存贮器,用来在其内部存贮执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令,并通过数字的、模拟的输入和输出,控制各种类型的机械或生产过程。可编程序控制器及其有关设备,都应按易于与工业控制系统形成一个整体,易于扩充其功能的原则设计。plc具有通用性强、使用方便、适应面广、可靠性高、抗干扰能力强、编程简单等特点。可以预料:在工业控制领域中,plc控制技术的应用必将形成世界潮流。plc程序既有生产厂家的系统程序,又有用户自己开发的应用程序,系统程序提供运行平台,同时,还为plc程序可靠运行及信息与信息转换进行必要的公共处理。用户程序由用户按控制要求设计。2.2可编程序控制器的结构及功能一般讲,plc分为箱体式和模块式两种。但它们的组成是相同的,对箱体式plc,有一块cpu板、i/o板、显示面板、内存块、电源等,当然按cpu性能分成若干型号,并按i/o点数又有若干规格。对模块式plc,有cpu模块、i/o模块、内存、电源模块、底板或机架。无论哪种结构类型的plc,都属于总线式开放型结构,其i/o能力可按用户需要进行扩展与组合。plc的基本结构框图如下:接口部件输出输入接口部件 中央处理单元 cpu板 接受 驱动 现场信号 受控元件 电 源 部 件 图2.1 plc的基本结构框图 2.2.1 cpu的构成 plc中的cpu是plc的核心,起神经中枢的作用,每台plc至少有一个cpu,它按plc的系统程序赋予的功能接收并存贮用户程序和数据,用扫描的方式采集由现场输入装置送来的状态或数据,并存入规定的寄存器中,同时,诊断电源和plc内部电路的工作状态和编程过程中的语法错误等。进入运行后,从用户程序存贮器中逐条读取指令,经分析后再按指令规定的任务产生相应的控制信号,去指挥有关的控制电路, 与通用计算机一样,主要由运算器、控制器、寄存器及实现它们之间联系的数据、控制及地址总线构成,还有外围芯片、总线接口及有关电路。它确定了进行控制的规模、工作速度、内存容量等。内存主要用于存储程序及数据,是plc不可缺少的组成单元。cpu的控制器控制cpu工作,由它读取指令、解释指令及执行指令。但工作节奏由振荡信号控制。 cpu的运算器用于进行数字或逻辑运算,在控制器指挥下工作。 cpu的寄存器参与运算,并存储运算的中间结果,它也是在控制器指挥下工作。cpu虽然划分为以上几个部分,但plc中的cpu芯片实际上就是微处理器,由于电路的高度集成,对cpu内部的详细分析已无必要,我们只要弄清它在plc中的功能与性能,能正确地使用它就够了。cpu模块的外部表现就是它的工作状态的种种显示、种种接口及设定或控制开关。一般讲,cpu模块总要有相应的状态指示灯,如电源显示、运行显示、故障显示等。箱体式plc的主箱体也有这些显示。它的总线接口,用于接i/o模板或底板,有内存接口,用于安装内存,有外设接口,用于接外部设备,有的还有通讯接口,用于进行通讯。cpu模块上还有许多设定开关,用以对plc作设定,如设定起始工作方式、内存区等。2.2.2 i/o单元plc的对外功能,主要是通过各种i/o接口模块与外界联系的,按i/o点数确定模块规格及数量,i/o模块可多可少,但其最大数受cpu所能管理的基本配置的能力,即受最大的底板或机架槽数限制。i/o模块集成了plc的i/o电路,其输入暂存器反映输入信号状态,输出点反映输出锁存器状态。2.2.3电源模块有些plc中的电源,是与cpu模块合二为一的,有些是分开的,其主要用途是为plc各模块的集成电路提供工作电源。同时,有的还为输入电路提供24v的工作电源。电源以其输入类型有:交流电源,加的为交流220vac或110vac,直流电源,加的为直流电压,常用的为24v。2.2.4 底板或机架大多数模块式plc使用底板或机架,其作用是:电气上,实现各模块间的联系,使cpu能访问底板上的所有模块,机械上,实现各模块间的连接,使各模块构成一个整体。2.2.5 外部设备 外部设备是plc系统不可分割的一部分,它有四大类:编程设备:有简易编程器和智能图形编程器,用于编程、对系统作一些设定、监控plc及plc所控制的系统的工作状况。编程器是plc开发应用、监测运行、检查维护不可缺少的器件,但它不直接参与现场控制运行。监控设备:有数据监视器和图形监视器。直接监视数据或通过画面监视数据。存储设备:有存储卡、存储磁带、软磁盘或只读存储器,用于永久性地存储用户数据,使用户程序不丢失,如eprom、eeprom写入器等。输入输出设备:用于接收信号或输出信号,一般有条码读入器,输入模拟量的电位器,打印机等。2.2.6 网络功能 plc具有通信联网的功能,它使plc与plc 之间、plc与上位计算机以及其他智能设备之间能够交换信息,形成一个统一的整体,实现分散集中控制。现在几乎所有的plc新产品都有通信联网功能,它和计算机一样具有rs-232接口,通过双绞线、同轴电缆或光缆,可以在几公里甚至几十公里的范围内交换信息。 当然,plc之间的通讯网络是各厂家专用的,plc与计算机之间的通讯,一些生产厂家采用工业标准总线,并向标准通讯协议靠拢,这将使不同机型的plc之间、plc与计算机之间可以方便地进行通讯与联网。了解了plc的基本结构,为购买可编程控制器(plc)时就有了一个基本配置的概念,做到既经济又合理,尽可能发挥plc所提供的最佳功能。2.3可编程序控制器的发展方向及国内发展状况plc自问世以来,经过40多年的发展,在美、德、日等工业发达国家已成为重要的产业之一。世界总销售额不断上升、生产厂家不断涌现、品种不断翻新。产量产值大幅度上升而价格则不断下降。目前,世界上有200多个厂家生产plc,较有名的:美国:ab通用电气、莫迪康公司;日本:三菱、富士、欧姆龙、松下电工等;德国:西门子公司;法国:te 施耐德公司;韩国:三星、lg公司等。技术发展动向:1) 产品规模向大、小两个方向发展大: i/o点数达14336点、32位为微处理器、多cpu并行工作、大容量存储器、 扫描 速度高速化。 小: 由整体结构向小型模块化结构发展,增加了配置的灵活性,降低了成本。2) plc在闭环过程控制中应用日益广泛3) 不断加强通讯功能4) 新器件和模块不断推出高档的plc除了主要采用cpu以提高处理速度外,还有带处理器的eprom或ram的智能i/o模块、高速计数模块、远程i/o模块等专用化模块。5) 编程工具丰富多样,功能不断提高,编程语言趋向标准化有各种简单或复杂的编程器及编程软件,采用梯形图、功能图、语句表等编程语言,亦有高档的plc指令系统。6) 发展容错技术采用热备用或并行工作、多数表决的工作方式。7) 追求软硬件的标准化。国内发展及应用概况:我国的plc产品的研制和生产经历了三个阶段:顺序控制器(19731979)一位处理器为主的工业控制器(19791985)8位微处理器为主的可编程序控制器(1985以后)。在对外开放政策的推动下,国外plc产品大量进入我国市场,一部分随成套设备进口。如宝钢一、二期工程就引进了500多套,还有咸阳显象管厂、秦皇岛煤码头、汽车厂等。现在,plc在国内的各行各业也有了极大的应用,技术含量也越来越高。3 modbus通讯协议3.1 modbus协议modbus协议最初由modicon公司开发出来,在1979年末该公司成为施耐德自动化(schneider automation)部门的一部分,现在modbus已经是工业领域全球最流行的协议。此协议支持传统的rs-232、rs-422、rs-485和以太网设备。许多工业设备,包括plc,dcs,智能仪表等都在使用modbus协议作为他们之间的通讯标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。 当在网络上通信时,modbus协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成应答并使用modbus协议发送给询问方。 modbus协议包括ascii、rtu、tcp等,并没有规定物理层。此协议定义了控制器能够认识和使用的消息结构,而不管它们是经过何种网络进行通信的。标准的modicon控制器使用rs232c实现串行的modbus。modbus的ascii、rtu协议规定了消息、数据的结构、命令和就答的方式,数据通讯采用maser/slave方式,master端发出数据请求消息,slave端接收到正确消息后就可以发送数据到master端以响应请求;master端也可以直接发消息修改slave端的数据,实现双向读写。 modbus协议需要对数据进行校验,串行协议中除有奇偶校验外,ascii模式采用lrc校验,rtu模式采用16位crc校验,但tcp模式没有额外规定校验,因为tcp协议是一个面向连接的可靠协议。另外,modbus采用主从方式定时收发数据,在实际使用中如果某slave站点断开后(如故障或关机),master端可以诊断出来,而当故障修复后,网络又可自动接通。因此,modbus协议的可靠性较好。 下面我来简单的给大家介绍一下,对于modbus的ascii、rtu和tcp协议来说,其中tcp和rtu协议非常类似,我们只要把rtu协议的两个字节的校验码去掉,然后在rtu协议的开始加上5个0和一个6并通过tcp/ip网络协议发送出去即可。所以在这里我仅介绍一下modbus的ascii和rtu协议。 下表是ascii协议和rtu协议进行的比较: 表3.1 ascii协议与rtu协议比较协议开始标记结束标记校验传输效率程序处理ascii:(冒号)cr,lflrc低直观,简单,易调试rtu无无crc高不直观,稍复杂通过比较可以看到,ascii协议和rtu协议相比拥有开始和结束标记,因此在进行程序处理时能更加方便,而且由于传输的都是可见的ascii字符,所以进行调试时就更加的直观,另外它的lrc校验也比较容易。但是因为它传输的都是可见的ascii字符,rtu传输的数据每一个字节ascii都要用两个字节来传输,比如rtu传输一个十六进制数0xf9,ascii就需要传输f9的ascii码0x39和0x46两个字节,这样它的传输的效率就比较低。所以一般来说,如果所需要传输的数据量较小可以考虑使用ascii协议,如果所需传输的数据量比较大,最好能使用rtu协议。下面对两种协议的校验进行一下介绍。3.2 lrc校验lrc域是一个包含一个8位二进制值的字节。lrc值由传输设备来计算并放到消息帧中,接收设备在接收消息的过程中计算lrc,并将它和接收到消息中lrc域中的值比较,如果两值不等,说明有错误。lrc校验比较简单,它在ascii协议中使用,检测了消息域中除开始的冒号及结束的回车换行号外的内容。它仅仅是把每一个需要传输的数据按字节叠加后取反加1即可。下面是它的vc代码: byte getcheckcode(const char * psendbuf, int nend)/获得校验码 byte bylrc = 0; char pbuf4; int ndata = 0; for(i=1; iend; i+=2)/i初始为1,避开“开始标记”冒号 /每两个需要发送的ascii码转化为一个十六进制数 pbuf 0 = psendbuf i; pbuf 1 = psendbuf i+1; pbuf 2 = 0; sscanf(pbuf,%x,& ndata); bylrc += ndata; bylrc = bylrc; bylrc +; return bylrc; 3.3 crc校验 crc域是两个字节,包含一16位的二进制值。它由传输设备计算后加入到消息中。接收设备重新计算收到消息的crc,并与接收到的crc域中的值比较,如果两值不同,则有误。crc是先调入一值是全“1”的16位寄存器,然后调用一过程将消息中连续的8位字节各当前寄存器中的值进行处理。仅每个字符中的8bit数据对crc有效,起始位和停止位以及奇偶校验位均无效。crc产生过程中,每个8位字符都单独和寄存器内容相或(or),结果向最低有效位方向移动,最高有效位以0填充。lsb被提取出来检测,如果lsb为1,寄存器单独和预置的值或一下,如果lsb为0,则不进行。整个过程要重复8次。在最后一位(第8位)完成后,下一个8位字节又单独和寄存器的当前值相或。最终寄存器中的值,是消息中所有的字节都执行之后的crc值。crc添加到消息中时,低字节先加入,然后高字节。下面是它的vc代码: word getcheckcode(const char * psendbuf, int nend)/获得校验码 word wcrc = word(0xffff);for(int i=0; inend; i+)wcrc = word(byte(psendbufi);for(int j=0; j= 1; wcrc = 0xa001; elsewcrc = 1; return wcrc;对于一条rtu协议的命令可以简单的通过以下的步骤转化为ascii协议的命令:1、 把命令的crc校验去掉,并且计算出lrc校验取代。2、 把生成的命令串的每一个字节转化成对应的两个字节的ascii码,比如0x03转化成0x30,0x33(0的ascii码和3的ascii码)。3、 在命令的开头加上起始标记“:”,它的ascii码为0x3a。4、 在命令的尾部加上结束标记cr,lf(0xd,0xa),此处的cr,lf表示回车和换行的ascii码。所以以下我们仅介绍rtu协议即可,对应的ascii协议可以使用以上的步骤来生成。3.4 modbus支持的功能码表3.2 modbus功能码功能码 名称 作用 1读取线圈状态 取得一组逻辑线圈的当前状态(on/off) 2读取输入状态 取得一组开关输入的当前状态(on/off) 3读取保持寄存器 在一个或多个保持寄存器中取得当前的二进制值 4读取输入寄存器 在一个或多个输入寄存器中取得当前的二进制值 5强置单线圈 强置一个逻辑线圈的通断状态 6预置单寄存器 把具体二进值装入一个保持寄存器 7读取异常状态 取得8个内部线圈的通断状态,这8个线圈的地址由控制器决定 8回送诊断校验 把诊断校验报文送从机,以对通信处理进行评鉴 9编程(只用于484) 使主机模拟编程器作用,修改pc从机逻辑 10控询(只用于484) 可使主机与一台正在执行长程序任务从机通信,探询该从机是否已完成其操作任务,仅在含有功能码9的报文发送后,本功能码才发送 11读取事件计数 可使主机发出单询问,并随即判定操作是否成功,尤其是该命令或其他应答产生通信错误时 12读取通信事件记录 可是主机检索每台从机的modbus事务处理通信事件记录。如果某项事务处理完成,记录会给出有关错误 13编程(184/384 484 584) 可使主机模拟编程器功能修改pc从机逻辑 14探询(184/384 484 584) 可使主机与正在执行任务的从机通信,定期控询该从机是否已完成其程序操作,仅在含有功能13的报文发送后,本功能码才得发送 15强置多线圈 强置一串连续逻辑线圈的通断 16预置多寄存器 把具体的二进制值装入一串连续的保持寄存器 17报告从机标识 可使主机判断编址从机的类型及该从机运行指示灯的状态 18(884和micro 84) 可使主机模拟编程功能,修改pc状态逻辑 19重置通信链路 发生非可修改错误后,是从机复位于已知状态,可重置顺序字节 20读取通用参数(584l) 显示扩展存储器文件中的数据信息 21写入通用参数(584l) 把通用参数写入扩展存储文件,或修改之 2264 保留作扩展功能备用 6572 保留以备用户功能所用 留作用户功能的扩展编码 73119 非法功能 120127 保留 留作内部作用 128255 保留 用于异常应答 在这些功能码中较长使用的是1、2、3、4、5、6号功能码,使用它们即可实现对下位机的数字量和模拟量的读写操作。 1、读可读写数字量寄存器(线圈状态):计算机发送命令:设备地址 命令号01 起始寄存器地址高8位 低8位 读取的寄存器数高8位 低8位 crc校验的低8位 crc校验的高8位 例:110100130025crc低crc高 意义如下:设备地址:在一个485总线上可以挂接多个设备,此处的设备地址表示想和哪一个设备通讯。例子中为想和17号(十进制的17是十六进制的11)通讯。 命令号01:读取数字量的命令号固定为01。起始地址高8位、低8位:表示想读取的开关量的起始地址(起始地址为0)。比如例子中的起始地址为19。寄存器数高8位、低8位:表示从起始地址开始读多少个开关量。例子中为37个开关量。crc校验:是从开头一直校验到此之前。在此协议的最后再作介绍。此处需要注意,crc校验在命令中的高低字节的顺序和其他的相反。 设备响应:设备地址 命令号01 返回的字节个数数据1数据2.数据ncrc校验的低8位 crc校验的高8位 例:110105cd6bb20e1bcrc低crc高 意义如下:设备地址和命令号和上面的相同。返回的字节个数:表示数据的字节个数,也就是数据1,2.n中的n的值。数据1.n:由于每一个数据是一个8位的数,所以每一个数据表示8个开关量的值,每一位为0表示对应的开关断开,为1表示闭合。比如例子中,表示20号(索引号为19)开关闭合,21号断开,22闭合,23闭合,24断开,25断开,26闭合,27闭合.如果询问的开关量不是8的整倍数,那么最后一个字节的高位部分无意义,置为0。crc校验同上。 2、读只可读数字量寄存器(输入状态): 和读取线圈状态类似,只是第二个字节的命令号不再是1而是2。 3、写数字量(线圈状态): 计算机发送命令:设备地址 命令号05 需下置的寄存器地址高8位 低8位 下置的数据高8位 低8位 crc校验的低8位 crc校验的高8位 例:110500acff00crc低crc高 意义如下:设备地址和上面的相同。命令号:写数字量的命令号固定为05。需下置的寄存器地址高8位,低8位:表明了需要下置的开关的地址。下置的数据高8位,低8位:表明需要下置的开关量的状态。例子中为把该开关闭合。注意,此处只可以是ff00表示闭合0000表示断开,其他数值非法。注意此命令一条只能下置一个开关量的状态。 设备响应:如果成功把计算机发送的命令原样返回,否则不响应。 4、读可读写模拟量寄存器(保持寄存器):计算机发送命令:设备地址 命令号03 起始寄存器地址高8位 低8位 读取的寄存器数高8位 低8位 crc校验的低8位 crc校验的高8位 例:1103006b0003crc低crc高 意义如下:设备地址和上面的相同。命令号:读模拟量的命令号固定为03。起始地址高8位、低8位:表示想读取的模拟量的起始地址(起始地址为0)。比如例子中的起始地址为107。寄存器数高8位、低8位:表示从起始地址开始读多少个模拟量。例子中为3个模拟量。注意,在返回的信息中一个模拟量需要返回两个字节。 设备响应:设备地址 命令号03 返回的字节个数数据1数据2.数据ncrc校验的低8位 crc校验的高8位 例:110306022b00000064crc低crc高 意义如下:设备地址和命令号和上面的相同。返回的字节个数:表示数据的字节个数,也就是数据1,2.n中的n的值。例子中返回了3个模拟量的数据,因为一个模拟量需要2个字节所以共6个字节。数据1.n:其中数据1数据2分别是第1个模拟量的高8位和低8位,数据3数据4是第2个模拟量的高8位和低8位,以此类推。例子中返回的值分别是555,0,100。crc校验同上。 5、读只可读模拟量寄存器(输入寄存器): 和读取保存寄存器类似,只是第二个字节的命令号不再是2而是4。 6、写单个模拟量寄存器(保持寄存器): 计算机发送命令:设备地址 命令号06 需下置的寄存器地址高8位 低8位 下置的数据高8位 低8位 crc校验的低8位 crc校验的高8位 例:110600010003crc低crc高 意义如下:设备地址和上面的相同。命令号:写模拟量的命令号固定为06。需下置的寄存器地址高8位,低8位:表明了需要下置的模拟量寄存器的地址。下置的数据高8位,低8位:表明需要下置的模拟量数据。比如例子中就把1号寄存器的值设为3。注意此命令一条只能下置一个模拟量的状态。 设备响应:如果成功把计算机发送的命令原样返回,否则不响应。4 流体计量控制系统4.1流体计量4.1.1概述概述 管道流体计量包括管道输送的油品计量和天然气计量。这两种流体计量目前都以体积为单位。早期油品的计量是以重量为单位。20世纪40年代初期,直径为100毫米的容积式流量计开始在成品油管道上使用。后来又出现了多种容积式流量计,如刮板式流量计、腰轮式流量计等。60年代出现了涡轮式流量计,这种流量计体积小,计量的流量范围较宽,并能保持较高的精度,被应用于轻质油品的计量。近年来,非浸入式超声波流量计日益广泛应用于管道流体计量。随着流量计的改进,与之配套的流量计标定装置也不断发展,如60年代出现机械式双向直管体积管标定装置;此后又出现了单向和双向u形体积管标定装置,使流量计标定达到更高的精度。 4.1.2液体流量计 容积式流量计 由设在转子上的机械部件构成的几个能随转子转动的密闭容积,每转一周可传递一定体积的油量,根据转数的积累计算通过的油量。容积式流量计转子的转动是靠流量计进出口油流的压差。它适用于润滑性较好、粘度较高的重质油品,如原油、重质成品油等的计量。容积式流量计的计量范围受到转子重量的影响,其精度只适用于一定流量的计量,计量更大流量时,要几台并联使用。 涡轮式流量计 根据油流速度计算大输量流量计。这种流量计结构紧凑,重量较轻,压降较小,并易于维护。其工作原理是将一个带翼片的涡轮转子置于被计量的油流中心,涡轮在转动时,涡轮转速与油的流速成正比。在涡轮上镶有一块磁铁,每转一圈即在外部的感应线圈中产生一个脉冲,经过标定,确认一定数量的脉冲数代表一个计量单位。涡轮在油流中旋转,减少了机械磨损,转子重量轻,能适应较大的流量变化。这种流量计用于各种轻质油品的计量。 4.1.3流量计标定装置 标定装置是伴随管道采用流量计而出现的。在4050年代,标定装置是小型的标准容积罐,计量精度为容积的千分之一。60年代以来,各种类型的标准体积管已广泛地在管道中用于标定流量计。u形体积管是在精加工的u形管段上,设置两个检测开关,两个开关之间的管段体积是经过更高一级的标定容器进行仔细测定的已知数,作为标准体积,其精度可达0.02。这种标定装置在流量计与标准体积管串联起来进行标定时,先用油流将流量计与标准体积管进行预热,使其温度与油流温度相同;然后将球型隔离器投入油流,在油流推动下,隔离器首先触动第一个检测开关,并同时打开流量计计数器输入门电路,开始记录被标定的流量计发出的脉冲。当隔离器触动第二个检测开关时,即停止计数。如此进行数次,将标准体积管的容积与计数器记录的平均脉冲数所代表的容积值进行比较,即得出流量计的修正系数。在成品油管道上进行多种油品的计量时,应经常用不同油品进行标定,以取得不同的修正系数。在管道计量中,只在起点站和终点站及主要分输站等大量收、发油品的计量点上,才设有体积管标定装置;其他收发量少的站,均可用标准流量计进行校核。4.2系统结构以装有组态王v6.53的个人pc机作为上位机,以西门子200系列plc构成的下位机控制系统作为下位机,通过西门子的ppi通讯协议与上位机通讯。通过由下位机对管道压力、流量、温度、以及逻辑控制信号传送到上位机进行计算,以实现对流体的自动计量。装置结构图见附录。 4.3硬件设计上位机:装有组态的pc机作为系统主站,下位机:由s7-200系类plc作为从站与上位机通讯,下位机负责对管道阀体以及电动机的逻辑控制。对于温度、流量等型号通过plc的rs485通讯介质与各变送器构成modbus-rtu总线网络。通过网络将信号送至plc处理,再由plc于上位机交换信息。低压控制部分电气原理图见附录。4.4软件设计4.4.1上位机软件设计工作步骤如下:1.新建工程 下一步操作。输入文件位置,确定工程名称即可。2.新建画面编辑窗口设置窗口大小及背景颜色等。共建两个窗口如下: 图4.3 主窗口 图4.4 监控窗口注释:详细元件见:组态程序开发部分。3.设备添加,本课题中的组态软件为仿真软件(由于很多设备无法满足)注释:该过程和真实plc完全相同点击新建设备(这里采用的是亚控的仿真plc作为下位机)过程如下图:-输入名称,选择通讯端口(pc机端口com) 4.数据词典 4.4.2组态脚本程序设计脚本程序在监控窗口内生成,步骤如下:点击窗口,查看属性进入编辑界面点击命令语言由下列操作完成:注释:具体命令可按f1查看。脚本程序/-管道控制-if(本站点n管道1=0)本站点n管道2=0;if(本站点n管道2=0)本站点n管道3=0;if(本站点n管道3=0)本站点n管道4=0;if(本站点n管道4=0)本站点n管道5=0;if(本站点n管道5=0)本站点n管道6=0;if(本站点n管道6=0)本站点n管道7=0;/-分水器控制-if(本站点n管道6=10)if(本站点n管道7=0)本站点n管道10=0;本站点n管道9=10;if(本站点n管道7=10)本站点n管道10=10;本站点n管道9=0;if(本站点n管道6=0)本站点n管道9=0;本站点n管道10=0;/-call-if(本站点n管道2=10)本站点n罐体1=本站点n随机4;本站点n表1=本站点n随机4;if(本站点n管道5=10)本站点n表3=本站点n随机2;if(本站点n管道6=10)本站点n表2=本站点n随机300;/-分水时间控制-if(本站点n管道10=10)本站点n表4=本站点n随机6;本站点n罐体2=本站点n罐体2+1;本站点n表6=本站点n表6-1;if(本站点n表6=0)本站点n管道7=0;if(本站点n管道8=10)本站点n罐体2=0;本站点n表6=10;本站点n管道8=0;if(本站点n管道1=10)本站点n管道15=本站点n随机4;4.4.3 plc程序设计plc i/o地址分配表 表4.1输入输出分配表s7-224xp cn 输入输出分配表in(输入)out(输出)名称地址注释名称地址注释qf01i0.0短路保护km01q0.0运行就绪fr01i0.1过载保护km02q0.1星型启动sq01i0.2分水器检测km03q0.2角型运行i0.3yv01q0.3电磁阀门i0.4yv02q0.4电磁阀门i0.5yv03q0.5电磁阀门i0.6yv04q0.6电磁阀门i0.7yv05q0.7夹表器i1.0yv06q1.0分水器i1.1yv07q1.1放水阀i1.2i1.3i1.4i1.5plc 程序清单:主程序:电机控制:计量子程序:通讯控制子程序:modbus通讯指令简单说明:读写参出指定是否要读取或写入该消息。读写参数允许使用下列两个值。0 读1 写离散输出(线圈)和保持寄存器支持读取和写入请求。离散输入(触点)和输入寄存器仅支持读取请求。地址参数是起始的modbus地址。允许使用下列取值范围:00001至09999是离散输出(线圈)10001至19999是离散输入(触点)30001至39999是输入寄存器40001至49999是保持寄存器地址的指定取值范围基于modbus从站支持的地址。计数参数指定在该请求中读取或写入的数据元素的数目。计数值是位数(对于位数据类型)和字数(对于字数据类型)。地址0xxxx 计数是要读取或写入的位数。地址1xxxx 计数是要读取的位数。地址3xxxx 计数是要读取的输入寄存器的字数。地址4xxxx 计数是要读取或写入的保持寄存器的字数。mbus_msg指令将读取或写入最大120个字或1920个位(240字节的数据)。计数的实际限值将取决于modbus从站中的限制。dataptr参数是指向s7-200 cpu的v存储器中与读取或写入请求相关的数据的间接地址指针。对于读取请求,dataptr应该指向用于存储从modbus从站读取的数据的第一个cpu存储器位置。对于写入请求,dataptr应该指向要发送到modbus从站的数据的第一个cpu存储器位置。dataptr值作为间接地址指针传递到mbus_msg。例如,如果要写入modbus从站的数据从s7-200 cpu中的地址vw200开始,则dataptr的数值将会是&vb200 (vb200的地址)。指针必须始终是vb类型,即使它们指向字数据。保持寄存器(地址4xxxx)和输入寄存器(地址3xxxx)的值是字(2个字节或16位)。s7-200 cpu字的格式与modbus寄存器相同。低位编号的v存储器地址是寄存器的最高有效字节。高位编号的v存储器地址是寄存器的最低有效字节。下表显示了s7-200字节和字寻址如何与modbus寄存器格式相对应。压力表变送器 数据读取/参数说明/该表通讯地址为 1该表数据地址为 10000(假设数据因各厂家数据地址不同)读取数据与压力比值:1000=1kpa(假设数据因各厂家数据地址不同)该数据存储于 vw100 中/参数设置/first=1;读取开始slave=2 ;v存储器增量,因vw100为字addr=10000;此为设备地址count=4;因vw100为字,所以count设置为2(2个bit)dataptr=&vb100;该数是vw100的地址指针done=m6.1;完成标志=注释:以下程序同理设置,在此不做说明。5 经济效益和社会效益分析计量是工业生产的眼睛。流量计量是计量科学技术的组成部分之一,它与国民经济、国防建设、科学研究有密切的关系。做好这一工作,对保证产品质量、提高生产效率、促进科学技术的发展都具有重要的作用。特别是在能源危机、工业生产自动化程度愈来愈高的当今时代,流量计在国民经济中的地位与作用更加明显。流量计量广泛应用于工农业生产、国防建设、科学研究对外贸易以及人民生活各个领域之中。在石油工业生产中,从石油的开采、运输、冶炼加工直至贸易销售,流量计量贯穿于全过程,任何一个环节都离不开流量计量。否则讲无法保证石油工业的正常生产和贸易交往。在化工行业,流量计量不准确会造成化学成分分配比失调,无法保证产品质量,严重的还会发生生产安全事故。在电力工业生产中,对液体、气体、蒸汽等介质流量的测量和调节占有重要地位。流量计量的准确与否不仅对保证发电厂在最佳参数下运行具有很大的经济意义,而且随着高温高压大容量机组的发展,流量测量已成为保证发电厂安全运行的重要环节。如大容量锅炉瞬时给水流量中断或减少,都可能造成严重的干锅或爆管事故。这就要求流量测量装置不但应做到准确计量,而且要及时地发出警报信号。在钢铁工业生产中,炼钢过程中循环水和氧气(或空气)的流量测量是保证产品质量的重要参数之一。在轻工业、食品、纺织等行业中,也都离不开流量计量。在农业上,诸如农田水利、气象风速,甚至有些农业机械,像机动喷雾机、水泵的特性测试,同样需要流量计量。在国防建设上,随着空间技术的发展,对流量计量提出了相当高的要求。如宇宙飞船、核潜艇的核动力控制,离不开流量仪表;火箭发动机试车一次消极大量的液化燃料,如果流量不准,不仅经济损失巨大,而且射程也会偏离几千公里,防化装备也少不了流量仪表;有些军事工程甚至配用上千台流量计。流量与温度、压力、物位一样,是一般热工化工生产过程的重要参数。人们依靠这些参数对生产流程进行监督和控制,并实现生产流程自动化。这对提高产品的质量与产量,保障生产安全,改进操作工艺,改善生产条件及科学实验等方面将有着重要意义,同时,流体计量是企业经济核算的重要依据,流量计量准确可靠是保证企业生产高效率进行,保证最佳经济效益的重要手段之一。6 总 结6.1设计心得整个项目完成后,取代了以前的模拟量传输和英文监控软件,系统的稳定性和易用性有了很大提高。 总结整个过程,有如下经验值得分享: 1、在编程和调试西门子plc的时候,可使用市面上常见的rs485-232转换器。不一定要用昂贵的ppi电缆。 2、plc中的模拟量转换到实际量数值的过程中,尽量使用数据指针寻址进行编程。使用指针是西门子编程软件的一大特色,通过循环程序对指针偏移量进行指定,可大大减少程序行数,对于多路模拟量转换尤其有用。 3、设置数据时,关闭软件前一定要释放com端口,否则会造成使用此端口的其他软件通讯失败。 4、组态王中的rtu查询时间最好设定为一个合适的质数,这样会使每个rtu的查询时间互不冲突,增强系统数据处理能力。 5、组态王使用分段

温馨提示

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

评论

0/150

提交评论