




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
武汉理工大学毕业设计(论文)
基于PLC的恒压供水监控系统设计
学院(系):
专业班级:
学生姓名:
指导教师:
学位论文原创性声明
本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包括任何其他个人或集体已经发表或撰写的成果作品。本人完全意识到本声明的法律后果由本人承担。
作者签名:
年月日
学位论文版权使用授权书
(黑体小二号)
本学位论文作者完全了解学校有关保障、使用学位论文的规定,同意学校保留并向有关学位论文管理部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权省级优秀学士论文评选机构将本学位论文的全部或部分内容编入有关数据进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
本学位论文属于1、保密囗,在年解密后适用本授权书
2、不保密囗。
(请在以上相应方框内打“√”)
作者签名:年月日
导师签名:年月日
摘要
本论文以实际项目居民小区的恒压供水为背景,设计了一套基于PLC的恒压供水系统,该系统由可编程控制器PLC、变频器、水泵机组、接触器组和压力变送器等构成。
在本次设计中,采用闭环控制来控制出水口的水压值。本系统有三台水泵机组,通过一台变频器控制一台水泵变频运转,水泵可以在变频运转和工频运转之间切换,以“先启先停”为原则实现变频循环运行方式。压力变送器将压力值送入PLC,并与给定比较后进行PID运算,将模拟量输出给变频器,从而控制变频器所带水泵的转速。该系统有白天和夜间两种运行模式,水泵机组也可以在手动和自动方式运行,在系统中有各种工作状态的指示灯以及故障报警和故障处理功能。
关键词:PLC;恒压供水;变频调速
Abstract
Thisthesiswiththeactualprojectofconstantpressurewatersupplyinresidentialareaasthebackground,designasetofconstantpressurewatersupplysystembasedonPLC,thesystemconsistsofPLCprogrammablecontroller,inverter,pump,thecontactorgroupandpressuretransmitter,etc.
Inthisdesign,theuseofclosedloopcontroltocontroltheoutletwaterpressurevalue.Thissystemhasthreepumpunit,andbyafrequencyconvertercontrolapumprunning.Waterpumpcanswitchbetweenthevariablefrequencyoperationandpowerfrequencyisrunning,with"inceptiontostop"fortheprincipletorealizefrequencyconversioncycleoperationmode.PressuretransmitterwillpressurevalueintothePLC,andaftercomparedwiththegivenPIDarithmetic,theanalogoutputtoinverter,tocontrolthespeedoftheinverterwiththepump.Thesystemhastwokindsofdayandnightoperationmode,thepumpunitcanalsoberuninmanualandautomaticway,inthesystemhaveavarietyoflightontheworkingstateandfaultalarmandfaulthandlingfunction.
KeyWords:PLC;constantpressurewatersupply;frequencycontrolofmotorspeed
目录
TOC\o"1-3"\h\u
29369
第1章绪论
第1章绪论
本次设计论文题目“基于PLC的恒压供水监控系统设计”,即以PLC为基础,通过控制变频器来控制水泵的转速,最终达到恒压供水的目的。本篇论文将从课题背景开始介绍,涉及目的和意义,重点介绍系统的硬件设计和软件设计,在论文的最后将作出总结。
1.1变频恒压供水的目的和意义
在小区供水和工厂供水中,通过水泵直接对供水,由于用户端用水量在不同时间段会有所改变,导致供水过量或不够,造成了很大的水资源浪费和电能浪费,并且水泵的寿命维护以及产生的各类噪音、污染都很难达到最优化[1]。因此,如何解决供水与用水的不平衡,寻找提高供水效率的整体解决方案,是我们关注的焦点问题。
在供水系统中,其根本的控制对象是水的流量。常见的方法有阀门控制法及转速控制法两种。供水系统中对水压流量的控制,传统的采用阀门调节实现[2]。阀门控制阀是通过关小或开大阀门来调节流量,而转速保持不变,实质是水泵本身的供水能力不变,而改变水路中的阻力大小强行改变流量,以适应用户对水量的要求;恒压控制法是通过改变水泵的转速来调节流量,而阀门开度保持不变,实质是通过改变水泵的供水能力来适应用户对流量的要求。
随着变频技术的发展,变频器调速技术已经在各大行业成熟运用,特别是风机、水泵、制冷压缩机、空气压缩机等高耗能设备上,而且运用变频器调速在恒压供水中可以起到节能高品质的供水,所以这次设计运用到了变频器控制[3]。变频恒压供水系统集电气传动技术、变频技术、现代控制技术于一体。
采用变频器调节以后系统实现了软启动,电机启动时电流从零逐渐增至额定电流,启动时间相应延长,而且对电网没有较大的冲击,减轻起动机械转矩对于电机的机械损伤,从而有效的延长了电机的使用寿命[4]。这样的调节方式以稳定水压为目的,以母管进口压力保持恒定为条件。
恒压供水的基本控制策略是:采取运用可编程控制器(PLC)与变频调速装置构成控制系统,通过优化控制泵组的调速运行,并自动调整泵组的运行台数,达到供水压力的闭环控制,也就是根据实际设定水压自动调节水泵电机的转速和水泵的数量,自动补偿用水量的变化,从而保证供水管网的压力保持在设定值,既满足生产供水要求,同时可节约电能,使得系统处于可靠工作状态,实现恒压供水。
1.2国内外研究现状
变频恒压供水是在变频调速技术的发展之后逐渐发展起来的。在早期,由于国外生产的变频器的功能主要限定在频率控制、升降速控制、正反转控制、起制动控制、变压变频比控制及各种保护功能。从查阅的资料的情况来看,国外的恒压供水工程在设计时都采用一台变频器只带一台水泵机组的方式,几乎没有用一台变频器拖动多台水泵机组运行的情况,因而投资成本高。
目前国内有许多公司在做变频恒压供水系统的工程,大多数采用国外品牌的变频器控制水泵的转速,水管网压力的闭环调节及多台水泵的循环控制,部分采用PLC及相应的软件予以实现;部分采用单片机及相应的软件予以实现。不过在系统的动态性能、稳定性能、抗干扰等多方面的综合技术指标来说,还远不及所有用户的要求,所以恒压供水控制系统还需要一个成熟的技术[5]。
1.3恒压供水的基本原理
图1.1供水流程简图
此次设计研究的对象是一栋居民楼的供水系统。这栋楼有16层,由于高层楼对水压的要求高,在水压低时,高层用户将无法正常用水甚至出现无水的情况,水压高时将造成能源的浪费。如图1.1所示,是这栋小楼的供水流程。自来水厂送来的水先储存的水池中再通过水泵加压送给用户。通过水泵加压后,必须恒压供给每一个用户。
1.4本文设计内容及目标
基于PLC的恒压供水系统主要有可编程控制器(PLC)、变频器、水泵机组、压力变送器组成的一个闭环控制系统,这个系统的控制流程图如下图1.2所示:
图1.2控制流程图
如图所示,在本次系统设计中,电机M由三台水泵机组组成,用一台变频器分布式控制三台水泵,再由一台PLC和一个压力变送器组成。三台水泵都可以在手动和自动环境下运行,手动主要在故障及维护时采用,本系统的核心是PLC和变频器,通过PID控制改变电机的频率实现无极调速以及相应的辅助功能。
第2章恒压供水系统总体设计
2.1电机的调速原理
目前市场上的水泵一般为三相异步电机,我们学习的异步电机用作电动机,来拖动各种机械组合。异步电动机的优点很明显,有结构简单、价格适宜、可靠性高、坚固耐磨、适用性强,而缺点是功率因数较差。大家都知道,异步电机运行时,必须从电网里吸收滞后性的无功功率,所以它的功率因素总是小于1,不过电网的功率因数可以用别的办法进行补偿。异步电机运行的时候,定子绕组接到交流电源上,转子绕组自身短路,又由于电磁感应的关系,在转子绕组中产生电动势、电流,因此产生电磁转矩,异步电机又有感应电机一说[6]。
三相异步电机有启动、运行、制动等状态,在本次毕业设计中,我们是控制水泵的转速,所以我们对三相交流电机的调速进行分析。交流电机包括同步电动机和异步电动机。同步电动机的调速靠改变供电电压的频率来改变同步转速。在电机学中,由同步电动机、变频器和检测磁极位置的检测器组成的电机系统,普遍称之自控式同步电机,改变定子电压就可以调节速度,并具有类似直流电机的调速特性。
我们水泵采用的三相异步电动机的转速为:
(2.1)
f表示电源频率,p表示电动机极对数,s表示转差率。三相异步电动机的调速方法很多,主要方法分为以下几种:
(1)改变电源频率
(2)改变电机极对数
(3)改变转差率。
改变电机极对数的调速方式控制简单,节能效果明显,效率高,不过需要专门的变极电机,而且是有极调速,由于极差导致的转速变化大,运用范围有限,只能用于特定转速的生产机器。
改变转差率在鼠笼式电机中采用降压在绕线式电机中采用回路串电阻都可以达到调速的目的。为了保证有较大的调速范围一般采用的是串极调速,这种方式可以回收转差功率,节能效果非常好,不过这种调速方法线路过于复杂,中间环节的电能损耗成本太高会影响它的推广价值。
改变电源频率。改变三相异步电动机电源频率f可以改变旋转磁通势达到改变转速的目的。随着电力电子技术的发展,变频调速得到广泛运用,变频调速在本次毕业设计中得到充分运用。
2.2PID控制原理
恒压供水系统采用了闭环控制的方法,PID控制即为偏差量经比例、积分、微分通过现行组合构成控制量。完成这个过程的控制就是PID控制器。PID控制结构简单、稳定可靠,被广泛应用于工业控制中。PID控制是一种负反馈,将检测到量与给定值进行比较之后的量比例、积分、微分后用来控制被控对象[7]。
图2.1PID控制原理图
PID控制算术表达式
Kp,Ti,Td分别为控制式的比例、积分、微分系数
e(t)为偏差,e(t)=r(t)-y(t)r(t)…设定值,y(t)…实际值
PID控制器的比例环节、积分环节、微分环节作用如下:
比例环节,成比例地反映控制系统的偏差信号e(0),误差产生时立即减小误差。
积分环节,即为滞后校正,可以利用滞后校正的这一低通滤波所造成的高频衰减特性,降低系统的截止频率,提高系统的相位裕度,改善系统的暂态性能。
微分环节,即为超前校正,超前校正的基本原理就是利用超前相角补偿系统的滞后相角,改善系统的动态性能,增加相位裕度,提高系统的稳定性。
2.3恒压供水系统的技术方案
本设计主要通过研究PLC来控制变频器达到恒压供水,通过学习并熟悉了PLC的工作原理,编程原理以及编程方法。进行硬件选型,软件编程,控制系统的主电路设计、控制电路设计,本次系统的控制设备选用S7-200系列的PLC,变频器选用西门子泵类专用的变频器型号MM440。在控制过程中,电控系统由S7-200完成,PID控制由变频器和PLC完成。
本设计需要重点解决的主要问题有以下几个:
第一,压力的监测与处理。需用到压力变送器,首先是出水口管网的压力监测,经闭环控制电路和A/D转换后,得到PLC或变频器能够识别的信号[13]。
第二,系统主电路的设计。本系统采用三泵循环变频运行方式,即只有1台水泵在变频器控制下作变速运行,变频和工频良好转换,实现短路保护、过载保护。本系统采用软启动器。
第三,控制电路的设计。系统实现恒压供水的主体控制设备是PLC,控制电路的合理性,程序的可靠性直接关系到整个系统的运行性能,系统要有完善的报警功能并能显示运行状况。
第四,PLC的I/O端口分配及外围接线。本设计采用白天供水和夜间供水两种模式,具有“倒泵功能”,启动要有软启动。压力变送器将测得的管网压力输出PLC扩展模块EM235的模拟量输入端口作为模拟量输入[14]。
第五,PLC的梯形图编程。PLC主程序主要由系统初始化程序、水泵电机启动程序、水泵电机变频/工频切换程序、模拟量比较计算程序和报警程序[15]。
系统总体设计方案如图2.2所示。
图2.2变频恒压供水系统框图
从上图2.1可以看出,系统可以分为:控制机构、执行机构、和信号检测机构大哥部分组成。
控制机构。控制系统由可编程控制器、变频器和电控设备组成。可编程控制器(PLC)是该系统的核心,对系统中的压力、液位、故障等信号进行采集、对检测到的信号进行分析和计算,并得到相应的输出结果。而变频器是在PLC的控制下再对水泵机组进行直接控制,由于水泵机组在变频和工频运转之间转换,而变频器则控制的是水泵在变频运转时转速。
本次设计有三台水泵机组,只有一台变频器。变频器控制有两种工作方式即变频循环式和变频固定式。变频固定式就是有一台水泵始终在一台变频器控制下运转,当该水泵运行在50Hz时还不能满足供水要求时直接启动另一台水泵工频运转,变频器不需要切换。变频循环式就是一台变频器分布式控制三台水泵,首先一台水泵在变频器控制下变频运转,当该水泵运行在50Hz时,其供水量仍然不能满足供水要求时,系统先将变频器从该水泵电机上脱去,将该变频器切换为工频运转同时用变频器去拖动另外一台水泵。为了保证寿命均匀,本次毕业设计采用变频循环式控制。
执行机构。执行机构是本次设计中的水泵,水泵负责将水供入用户管网,其中有一台变频泵和两台工频泵组成。变频泵是在变频器控制下可以变频调速的水泵,工频泵只运行在启、停两种工作状态。当然,变频泵号处于变动状态。
信号检测机构。在恒压供水系统中需要检测的信号有用户管网水压值、水池水位信号及故障报警信号。用户管网信号通过压力变送器来检测,它是恒压供水控制的主要反馈信号。由于水压是模拟信号,需要进行A/D转换。为了加强可靠性,我在这次设计中加入了水位信号,这个水位可以检测进水水源是否足够。故障报警主要是当系统出现故障时可以进行报警且能够及时转入合适的工作状态。
变频恒压供水实际就是控制用户管网出水口的压力值,实现出水可用水达到平衡。由于用户用水量的不稳定性,我设置了白天模式和夜晚模式两种模式。将白天运行时设置为白天模式,给定水压值也相应大一些,当到夜晚时切换到夜晚模式,适当降低给定水压值。
变频恒压供水系统通过安装在用户管网端的压力变送器实时检测水压值,由于水压值是模拟信号,需要进行A/D转换,再与给定值进行比较,将偏差值进行PID运算,将运算后的信号进行D/A转换输出给变频器,变频器接收输入信号并控制水泵的转速,进而控制水的流量,最终达到控制水压的目的。
2.4恒压供水的过程
恒压供水的过程分为以下几步:
(1)系统通电。当系统收到有效的启动信号后,首先启动变频器拖动水泵M1工作,根据PID控制变频器输出频率进而控制M1的转速,当输出值达到给定压力值时,转速就稳定下来。
(2)用水量增加或减少。压力变送器反馈的水压信号减少,计算后的偏差偏大,PLC输出信号变大,变频器输出频率增大,转速随之增大,供水量增大,于是水泵转速达到新的稳定值。反之,用水量减少时减小水泵转速从而达到合适的转速。
(3)用水量持续增加到一台水泵无法满足。变频器输出信号到达50Hz时,此时用户管网水压值还未达到给定值,在变频循环控制模式下,系统在PLC控制下将变频器切换至M2水泵使得M2处于变频运转,而M1直接从变频运转直接接入工频电而工作于工频运转。如果用水量继续增加,以此类推,开启M3进入变频运转,M1、M2处于工频运转。
(4)用水量下降。变频器的输出频率下降至下限频率,此时用户管网水压值大于给定水压值的时候,系统将工频运转的M1水泵关掉,回复水压的闭环控制,当水压值仍然过高时继续关闭工频运转的水泵M2,继续闭环控制。整个过程中以先启先停为原则,并且变频泵不连读变频工作3h以上。
水泵的切换条件分析:
前面我们提到了变频器分布式控制水泵达到循环控制水泵的方法来实现恒压供水,下面我们具体对水泵的切换进行分析。当变频泵和工频泵都出去工作状态且变频泵已经运行在下限频率,此时管网的压力值高于给定值,需要进行减少工频泵来减少供水流量,达到恒压供水。那么什么时候进行切换才能使得系统稳定可靠,不会出现减少工频泵水压不够不减少工频泵水压过大的情况呢?
由于电网供电频率为50Hz,我将50Hz设为变频器调节频率的上限。另外,变频器的输出频率不能为负值,最低为0Hz,然而实际情况是0Hz也不可能达到。因为在水泵供水过程中,管网的水压会反推水泵,给水泵一个反向的力矩,因此,当点击运行频率下降到一个值得时候,水泵已经抽不出水来了,所以本次设计将20Hz作为电机运行的下限频率。那么50Hz和20Hz作为水泵机组切换的上下限频率。
前面我们提到的一个情况是由于用水量不稳定,出现停止一台水泵后水压值不够,投入一台水泵又出现水压过大的情况。当机组频繁处于切换状态时必将增大磨损而影响寿命。另外由于超调出现或者现场干扰等情况,压力测量值或者出现短时间的尖峰,这种情况不需要加泵或者减泵会因为干扰出现误动作。所以,在本次设计中引入了回滞环的概念及延时的方法[8]。
加泵条件:且延时判别成立(2.2)
减泵条件:且延时判别成立(2.3)
式中::上限频率:下限频率
:设定压力:反馈压力。
第3章系统的硬件设计
3.1PLC的概述
3.1.1可编程控制器定义及原理
1980年,美国电气制造协会把可编程控制器定义为:可编程控制器是一种数字式的电子仪器,可以逻辑、定序、定时、计数和四则运算等特殊功能指令,用以控制机械和生产过程。
1987年2月,国际电工委员会(IEC)颁发的可编程控制器标准草案第三稿中对可编程控制器的定义为:可编程控制器是一种数字运算操作的电子系统,专门为工业环境下的应用而设计,它采用了可编程序的存储器,用来在其内部存储执行逻辑运算、顺序控制、定时、计数和算术学等操作的指令,并通过数字式和模拟式的输入输出,控制各种类型机械的生产过程[9]。
为适应工业环境,与一般的控制装置比较,PLC具有以下特点。
可靠性高,抗干扰能力强。
通用性强,使用方便。
采用模块化结构,接口种类多,便于现场连接,扩充。
编程、程序修改方便,易掌握。
维护调试方便。
可编程控制器的应用范围如下。
顺序控制。
运动控制。
过程控制。
数据处理。
通信和联网。
PLC在组成上与一般的微机控制系统基本相同,由中央处理器CPU、存储器、输入输出接口、电源、各种接口和其他部件组成。其结构如下。
图3.1PLC结构示意图
3.1.2PLC选型及PLC工作方式
目前比较主流的可编程控制器品牌有西门子、三菱、AB、GE等,西门子S7-200学习容易、功能完善、性能稳定,是最为常用的PLC型号之一。在武汉理工大学本科培养计划中,我们学习了台达PLC,对常用低压电器及PLC梯形图编程有了一定的了解,在本次毕业设计中选取s7-200作为核心控制器。
PLC的工作方式是一个不断循环的顺序扫描工作方式,每一次扫描所用的时间叫做扫描周期或者工作周期。从PLC第一条指令开始,按顺序逐条执行用户程序直至结束,然后返回第一条指令开始第二轮扫描。PLC就是这样周而复始地重复上述循环扫描的。
在PLC的扫描过程中,除了包括上电和掉电处理、通信服务、更新时钟和特殊寄存器、自诊断和出错处理、中断处理等外,主要的循环扫描过程就是输入采样、程序执行、输出刷新三个阶段。
PLC在I/O处理方面必须遵守的规则如下:
(1)输入映像寄存器的数据,取决于输入端子板在上一个刷新时间的状态。
(2)程序如何执行,取决于用户所编的程序和输入映像寄存器,元件映像寄存器中存放的所需元件的状态。
(3)输出映像寄存器的状态,由输出指令的执行结果决定。
(4)输出锁存器中的数据,由上一个刷新时间输出映像寄存器的状态决定的。
(5)输出端子上的输出状态,由输出寄存器中的状态决定。
3.2变频器的概述
3.2.1变频器的基本原理及构成
变频器即是将固定频率的交流电变换为频率连续可调的交流电的装置。通用的变频器由主电路和控制电路组成。主电路由整流器、中间直流环节和逆变器组成。控制电路包括运算电路、检测电路、控制信号的输入/输出电路和驱动电路。通常由变频器主电路(IGBT、BJT、GTO作逆变软件)给三相异步电动机提供调压调频电源[10]。控制回路的控制指令对此电源输出的电压或电流及频率进行控制。
网侧变流器中间直流环节负载侧变流器
整流器
逆变器
控制电路
ACDCAC
控制指令控制指令
图3.2通用变频器的基本结构
1.主电路
给异步电动机提供调频电源的电力变换部分,称为主电路。
(1)电力二极管。电力二极管是指可以承受高电压大电流且具有较大耗散功率的二极管。电力二极管组成的整流器把工频电源变换成直流电源。可用两组晶体管交流器构成可逆变流器。
(2)平波回路。在整流器整流后的直流电压中,含有电源6倍频率的脉动电压。在变频器设计中,为了抑制电压波动,采用电压和电感吸收脉动电流。装置容量小的时候,电源和主电路构成的器件有余量,可以省去电感而采用简单的平波电路。
(3)逆变器。与整流器相反,逆变器的作用是将直流功率变换为所需要频率的交流功率。
(4)制动回路。在变频调速时,电动机的速降和停机是通过减小变频器的输出频率从而降低电动机的同步转速的方法来实现的。当电动机减速时,在频率刚减小的时候,电动机同步转速降低,由于机械惯性,电动机转子转速未变,所以同步转速低于电动机实际转速,使电动机处于发电制动运行状态。
2.控制电路
为变频器主电路提供通断控制信号的电路称为变频器控制电路。
(1)运算电路。运算电路的主要作用是将外部的速度、转矩等指令信号同检测电路的电压、电流信号相比较,算出变频器的输出频率和电压。
(2)信号检测电路。将变频器和电动机的工作状态反馈至微处理器,由处理器处理后为各部分电路提供所需的控制信号或保护信号。
(3)驱动电路。为变频器中逆变电路的换相器件提供驱动信号。
(4)保护电路。判断变频器本身或系统是否出现异常。当出现故障等情况时进行合适的处理。
变频器的基本工作原理即为改变异步电动机的供电频率,可以改变其同步转速,实现调速运行。异步电动机的变频调速必须按照一定的规律同时改变其定子电压和频率,即必须通过变频器装置获得电压频率均可调节的供电电源,实现VVVF调速控制。变频器可以满足这种异步电动机变频调速的基本要求。
3.2.2变频器的选型及特点
本系统设计可编程控制器是s7-200,CPU为226的型号,与之对应常用变频器有MM420、MM440等型号变频器,MM440变频器对工作环境以及用途方便更有优势,本系统采用MM440变频器。
变频恒压供水系统有以下几个特点:
高效节能:节电率达到20%~50%。
压力精度高。
提高电机运转的功率因素。
降低启动电流,减少对电网的冲击。
安全卫生。降低设备运转的噪音,提高良好工作环境。降低能源消耗和生产成本,提高产品竞争力。降低故障率,减小维修成本。
管理方便。变频恒压供水系统具备过流、过压、欠压、欠相、短路保护、瞬时停电保护、过载、失速保护等功能,可以实现无人值守。
变频和工频可任意切换。
3.2.3MM440变频器的使用
(1)面板功能
变频器采用操作版面按键控制,各键功能如下表3.1
表3.1BOP上的显示屏与按钮的介绍
显示/按钮
功能
功能的说明
起动变频器
按此键起动变频器。缺省值运行时此键是被封锁的。为了使此键的操作有效,应设定P0700=1
停止电动机
OFF1:按此键,变频器将按选定的斜坡下降速率减速停机。缺省值运行时此键被封锁,为了允许此键操作,应设定P0700=1
OFF2:按此键两次(或一次但时间较长),电动机将在惯性作用下而自动停机。
改变电动机的转动方向
按此键可以改变电动机的转动方向,电动机的反向用负号(—)表示或用闪烁的小数点表示。缺省值运行时此键是被封锁的,应设定P0700=1
电动机点动
在变频器准备运行的状态下按下此键将使电动机起动并按预设定的点动频率运行,释放此键时变频器停机。
如果变频器/电动机正在运行,按此键将不起作用
功能
此键用于浏览辅助信息变频器运行过程中在显示任何一个参数时按下此键并保持不动2秒钟将显示以下参数值
1.直流回路电压(用d表示,单位V)
2.输出电流(A)
3.输出频率(Hz)
4.输出电压(用o表示,单位V)
5.由P0005选定的数值(如果P0005选择显示上述参数中的任何一个,这里将不再显示)
连续多次按下此键将轮流显示以上参数
跳转功能
在显示任何一个参数(rXXXX或PXXXX)短时间按下此键将立即跳转到r0000如果需要的话您可以接着修改其它的参数跳转到r0000后按此键将返回原来的显示点
参数访问
按此键即可访问参数
增加数值
按此键即可增加面板上显示的参数数值
减少数值
按此键即可减少面板上显示的参数数值
(2)常规操作
变频器没有主电源开关,当电源接通时变频器就已经带电。在按下RUN键或者在数字输入端5出现ON信号之前,变频器一直处于被封锁的状态,处于等待状态。
如果装有BOP或AOP,那么在变频器减速停机时,相应的设定值大约1s显示一次。
变频器出厂时已经按照相同额定功率的西门子司机标准电机进行编程了,如果要使用其他型号的电动机,那么必须重新输入电动机铭牌上的数据。除非P0010=1,否则是不能修改电动机参数的。
P0010=0,P0700=1,P1000=1。
具体操作是:按下绿色键,启动电动机;按下,电动机转动,频率逐渐增加到50Hz;当变频器的输出频率达到50Hz时,按下键,电动机的速度及其显示值逐步下降;用改变电动机转向;按下停机。
3.3其他设备的选型
变频恒压供水系统的基本设计方案确定后,可以确定所需的主要设备有PLC、模拟量扩展模块、变频器、水泵机组、压力变送器。
本次设计对象的恒压供水,就PLC应用广泛程度和可靠性以及简易原则,我选取了主流PLC,即西门子系列s7-200PLC。
变频器选取西门子MM440变频器,水泵机组选取SFL系列水泵,压力变送器选取压力表Y-100。
本次毕业设计作图方面我使用了AutoCAD,使用版本为2014简体中文版[11]。设备具体如下表3.2所示。
表3.2设备型号
主要设备
型号及其生产厂家
可编程控制器(PLC)
S7-200CPU226
变频器
SiemensMM440
水泵机组
SFL系列水泵3台
压力变送器
压力表Y-100
3.4系统的主电路设计
基于PLC的恒压供水监控系统主电路图如图3.3所示。
图3.3系统主电路图
图中有三台水泵电机M1、M2、M3,接触器KM1、KM3、KM5分别控制M1、M2、M3的工频运转,接触器KM2、KM4、KM6分别控制M1、M2、M3的变频运转。QS为工频电开关,FU1、FU2、FU3、FU4分别为电机M1、M2、M3、变频器电路的熔断器,FR1、FR2、FR3分别为三台水泵过载保护用的热继电器[12]。
本系统采用变频器分布式循环控制,即一台变频器分别控制三台水泵电机的运转。M1、M2、M3可以通过接触器的开端来控制直接接入工频电从而工频运转或者接入变频器从而变频运转。任何一台水泵电机可以处于停止、变频运转、工频运转三种状态,但是最多只有一台处于变频运转。以M1变频运转为例,接触器KM2处于关闭状态,其他接触器打开。若需要M1工频运转,M2变频运转。则切断接连接M1和变频器的接触器KM2,合上M1工频运转接触器KM1,再合上M2变频运转的接触器KM4,这样就可以实现M1工频运转,M2变频运转的目的。
为了满足系统的要求,本次主电路设计有以下原则:
(1)先启先停。为了满足水泵的使用寿命平均,尽量做到水泵的工作时间相同,此次设计采用先启先停的原则,即最先开始工作的水泵在供水过量需要停止一台水泵的时候优先停止该水泵工作。与先启先停对应的是后启后停。
(2)变频泵不连续工作3h以上。在用水量小的情况下,如果一台水泵连续工作3h以上,则需要切换下一台水泵变频运转,从而避免一台水泵连续工作时间太长。
(3)KM1和KM2、KM3和KM4、KM5和KM6互锁。由于水泵不可以同时工作在变频和工频运转下,若同时接入会导致工频电出现短路的情况,所以在电路设计中接触器要有互锁的功能,这个功能将在软件设计环节实现,并且在手动控制部分,我也采用了物理互锁的方法避免出现错误。
(4)水泵软启动。为了减少对电网的冲击,每台变频器启动时需要经过变频器控制来软启动,这个功能将在软件设计环节实现。在手动控制时,由于没有变频器的介入,水泵必须采用自耦变压器降压启动或者软启动的方式降低电流,本系统可以采用软启动器。
3.5系统的控制电路设计
与系统主电路设计相对应的是控制电路的设计。根据系统的要求,水泵可以在变频和工频之间切换,也可以在PLC控制下或手动控制下运转。系统要求有完善的报警功能并能显示运行状态,达到监控的目的。
基于PLC的恒压供水监控系统控制电路图如图3.4所示。
图3.3系统控制电路图
上图为硬件设计的控制电路部分,水泵可以在手动控制或PLC的自动控制下工作。SA为万能转换开关,切换到手动控制时通过控制按钮SB1、SB3、SB5以自锁和互锁的方式可以控制1#、2#、3#水泵是否工频运转,控制按钮SB2、SB4、SB4来控制1#、2#、3#水泵是否停止工作。当切换至PLC控制时,通过PLC的Q0.0、Q0.1、Q0.2、Q0.3、Q0.4、Q0.5输出分别控制1#水泵工频、1#水泵变频、2#水泵工频、2#水泵变频、3#水泵工频、3#水泵变频运转。Q1.1控制水池水位上下限指示灯,Q1.2控制变频器报警指示灯,Q1.3控制变天模式指示灯,Q1.4控制报警电铃,Q1.5控制变频器复位。
3.6PLC的I/O端口分配及外围电路
3.6.1PLC的I/O分配
本次设计PLC的I/O端口分配的基本要求如下:
(1)白天夜晚用户用水量不同,所以本次设计追求白天供水和夜晚供水两种模式,两种模式设定的给定水压值不同,通过按钮SA1切换。
(2)用水量少的时候,只有一台水泵在变频运转,为了避免一台水泵长时间工作,每天水泵工作不超过3h,到3h后自动切换下一台水泵。
(3)各水泵切换遵循先启先停,先停先起。
(4)通过指示灯和电铃以及压力表来达到报警和监测的目的。
(5)水泵启动采用软启动。
根据PLC恒压供水系统要求,PLC的I/O分配如下表3.3所示
表3.3PLC端口分配
I/O
地址
输入输出信号
输入输出信号名称
输入信号
I0.0
SA1
供水模式信号(1-白天,0-夜晚)
I0.1
SLHL
水池水位上下限信号
I0.2
SU
变频器报警信号
I0.3
SB7
试灯按钮
AIW0
Up
压力变送器输出模拟量电压值
输出信号
Q0.0
KA1
1#泵工频运行中间继电器
Q0.1
KA2
1#泵变频运行中间继电器
Q0.2
KA3
2#泵工频运行中间继电器
Q0.3
KA4
2#泵变频运行中间继电器
Q0.4
KA5
3#泵工频运行中间继电器
QO.5
KA6
3#泵变频运行中间继电器
输出信号
Q1.1
KA7
水池水位上下限报警指示灯
Q1.2
KA8
变频器故障报警指示灯
Q1.3
KA9
白天模式运行指示灯
Q1.4
KA10
报警电铃
Q1.5
KA
变频器频率复位控制
AQW0
KA11
变频器输入电压信号
3.6.2PLC及变频器的外围接线
基于PLC的恒压供水监控系统外围电路图以主电路和控制电路为基础,外围接线图如图3.4(a)和3.4(b)所示。由于PLC输出端口较为复杂,采用中间继电器的方法,图3.4(a)为中间继电器、PLC、变频器之间的接线,图3.4(b)为PLC、变频器、水泵机组、工频电源之间的接线。具体如下
图3.4(a)PLC与变频器接线图
图3.4(b)PLC与变频器接线图
PLC左侧为输入口,分别是供水模式选择信号I0.0,水池水位上下限信号I0.1,变频器报警信号I0.2,试灯按钮I0.3,AIW0接收压力变送器模拟量。右侧为输出口,Q0.0到Q1.5共11个输出口接中间继电器,KA1接1#泵工频运行接触器及指示灯,KA2接1#泵变频运行接触器及指示灯,KA3接2#泵工频运行接触器及指示灯,KA4接2#泵变频运行及指示灯,KA5接3#泵工频运行接触器及指示灯,KA6接3#泵变频运行接触器及指示灯,KA7接水池水位上下限报警指示灯,KA8接变频器故障报警指示灯,KA9接白天运行指示灯,KA10接报警电铃,KA11接变频器频率复位控制中间继电器。AQW0输出压力的模拟信号(电压值)。压力模拟量的输入输出通过扩展模块EM235来实现。
变频器端口5和端口8直接相连,使得所控制的电机处于正转状态,端口7为变频器复位信号输入端口,通过PLC的输出端口Q1.5接中间继电器KA11再接继电器KA对应的KA接触器来控制输入。端口3和端口4接收PLC输入的模拟信号,来控制电源频率从而控制工频泵的转速。
第4章系统的软件设计
4.1系统程序流程图设计
在硬件设计部分,对系统提出了几个要求,即先启先停、变频泵不连续工作3h以上、KM1和KM2、KM3和KM4、KM5和KM6互锁、水泵软启动,其中部分功能通过物理接线已经实现,还有一些要求需要在软件设计中完成。当硬件电路设计完成后,系统软件设计应该符合以下几个规范:
水泵开启数量方面。为了恒定水压,当供水压力不足时,要升高变频器的输出频率,且当一台水泵不能满足恒压时,需要开启第二台水泵。启动新的水泵的标准是变频器输出频率达到上限值,这个功能使用比较指令来实现,所以要过滤掉偶然的频率波动引起的频率达到上限值情况,这个功能用时间滤波来实现。
水泵软启动及交替使用。考虑水泵水泵及电网稳定性,电机启动均为软启动。在这次设计中,控制要求各水泵交替使用,任何一台水泵连续变频工作不超过3h,每次需要启动新泵时,新泵作为变频泵。采用泵号加1方法循环控制泵的变频运转。
本程序分为主程序、子程序、中断程序。系统初始化放在初始化子程序当中,节省了扫描时间。利用定时器中断功能实现PID控制的定时采样及输出控制。主程序实现白天夜晚压力值给定、泵组工频或变频运转逻辑控制、报警处理等。
PLC控制程序由一个主程序和初始化子程序、中断子程序组成,在计算机上用编程软件STEP7-MicroWIN编制程序,编译后将其下载到PLC中,使得PLC完成控制任务。在用梯形图编程之前首先要完成程序流程图,根据系统的要求,绘制流程图如下,图4.1为主程序流程图,图4.2为2号水泵变频运行控制流程图,图4.3为2号泵工频运行控制图。
程序结束
程序开始
产生故障结束脉冲
调用初始化程序
变频器号置1
工频泵号置0
设置不同模式水压值
设定变频泵号
是否有报警
变频器频率达上限
YN
变频器故障报警
N
定时300s,滤波
Y
Y
变频器故障
YN
工频泵数加1,生成变频启动脉冲
水位越限报警
变频器频率达下限
水池水位越限
NY
YN
定时300s,滤波
Y
1#、2#、3#泵工频运行控制
工频泵数减1,生成变频启动脉冲
1#、2#、3#泵变频运行控制
是否增泵或减泵
N
Y
产生倒泵信号
复位变频器,变频泵号加1
YN
变频泵单独运行达3h
调整变频泵号,逢4变1
Y
生成当前泵工频娙,下台泵变频运行启动脉冲
图4.1系统主程序流程图
从程序流程图图4.1可以看出主程序包含的内容。首先调用初始化子程序,设置供水模式、变频泵号、上下限频率等信号,然后进入检测是否需要加泵或者减泵。在程序的中间,实现了循环控制功能,即变频泵号不断增加,逢4变1,并且在变频泵单独运行3h时实现自行倒泵,接下来进入各泵的变频运行控制和工频运行控制,在程序后半部实现报警等功能。
开始
是否有变频启动脉冲信号
N
变频泵号是否为2
Y
YN
系统是否无故障
Y
YN
是否无变频器脉冲复位信号
Y
YN
2#泵是否工频运行
Y
Y
N
2#泵变频运转
结束
图4.22#泵变频运行控制流程图
图4.2是2号泵的变频运行控制流程图,类似的1号泵与3号泵的变频运行控制都是这样的。
结束
2#泵工频运行
2#泵是否变频运行
工频泵数是否大于1
工频泵数是否大于0
1#泵变频运行
3#泵变频运行
几号泵变频运行
是否有工频启动脉冲
开始
N
Y
NN
YY
YY
N
图4.32#泵工频运行控制流程图
图4.3是2号泵的工频运行运行控制流程图,类似的1号泵和3号泵的工频运行控制相同。
4.2软件设计PLC内部元件分配
程序中使用的PLC原件及其功能如下表4.1所示。
表4.1PLC元件选取及其功能
器件地址
实现功能
器件地址
实现功能
M0.0
故障结束脉冲信号
T37
工频泵加泵滤波时间控制
M0.1
变频启动脉冲(加泵)
T38
工频泵减泵滤波时间控制
M0.2
变频启动脉冲(减泵)
VD100
过程变量标准化值
M0.3
倒泵变频启动脉冲
VD104
压力给定值
M0.4
复位当前变频泵工作脉冲
VD108
PID计算值
M0.5
当前泵工频工作启动脉冲
VD112
比例系数Kc
M0.6
新泵变频启动脉冲
VD116
采样时间Ts
M2.0
泵工频/变频转换逻辑控制
VD120
积分时间Ti
M2.1
泵工频/变频转换逻辑控制
VD124
微分时间Td
M2.2
泵工频/变频转换逻辑控制
VD204
变频运行频率下限值
M3.0
故障信号汇总
VD208
变频运行频率上限值
M3.1
水池水位越限逻辑
VD250
PID调节结果存储单元
T33
工频/变频转换逻辑控制
VB300
变频工作泵的泵号
T34
工频/变频转换逻辑控制
VB301
工频运行泵的总台数
T35
工频/变频转换逻辑控制
VD310
变频运行时间存储器
4.3PLC梯形图程序设计
(1)初始化子程序
首先初始化变频运行的上下限频率,水泵切换上下限频率分别为50HZ和20HZ。假设所选变频器的输出频率范围为0~100HZ,则上下限给定值分别为16000和6400。初始化子程序将给出PID控制的各参数(Kc、Ts、Ti、Td)。具体程序梯形图如图4.4所示。
图4.4初始化子程序梯形图
(2)PID控制中断子程序
首先将AIW0输入的采样数据经行标准化转换,经PID运算后,再将标准值转化成输出值,由AQW0输出模拟信号。具体程序梯形图如图4.5所示。
图4.5PID控制子程序梯形图
(3)主程序
主程序由程序流程图为思路,完成泵切换信号的生成,泵接触器逻辑控制信号综合和报警处理等工作。由于主程序比较长,完整子程序放在附录部分,现在将1号泵、2号泵、3号泵的变频和工频运行控制梯形图展示如下图4.6所示。
图4.6水泵机组运行控制梯形图
4.4力控组态模拟供水过程
4.4.1力控组态概述
“组态”的概念是随着集散型控制系统DCS的出现而产生的。由于每一套DCS都是通用的控制系统,可以应用到很多领域。每个DCS系统中都预装了系统软件和应用软件,应用软件就是组态软件。组态软件是指一些用来完成数据采集与过程控制的专用软件,它以计算机为基本工具,为数据采集、过程监控、生产控制提供了基础平台和开发环境。
在组态软件中,通过组态生成的一个目标应用项目在计算机硬盘中并占据唯一的物理空间,用唯一的一个名称来标识,称为一个应用程序。组态软件功能强大,每个功能相对来说又具有一定的独立性,因此其组成形式是一个集成的软件平台。组态软件必备的典型组件包括如下六个部分。
(1)应用程序管理器。在自动化工程设计人员应用组态软件进行设计的时候,经常要进行数据备份以及引用以往的部分组态成果,有了程序管理器,这些将变得很方便。
(2)图形界面开发程序。
(3)图形界面运行程序。
(4)实时数据库系统组态程序。目前比较先进的组态软件都有独立的实时数据库组态,可以提高系统的实时性和处理能力。
(5)实时数据库系统运行程序。
(6)I/O驱动程序。
4.4.2模拟供水过程
(1)创建应用程序
①启动力控工程管理器。双击Windows桌面上的力控图标,进入力控“工程管理器”,如图4.7所示:
图4.7工程管理器
②单击“新建”按钮,创建一个新的应用程序按钮目录。
(2)创建工程画面
现在,在屏幕上有了一个窗口,还应看见Draw的工具箱。如果想要显示网格,激活Draw菜单命令“查看/网格”如下图4.8所示:
图4.8图库
(3)创建数据库
点是实时数据库系统保存和处理信息的基本单位。点存放在实时数据库的点名字典中。
点组态操作有,新建点、修改点、删除点、复制和查找等。窗口如下图4.8所示:
图4.9创建数据库
(4)动作设置
当作图完成并且数据库创建完毕。接下来需要定义图形动作的条件以及动作过程。为了使界面更加通熟易懂,本次设计主要改变图形的颜色。在压力部分采用数值改变。设置界面如下图4.10所示:
图4.10动画连接
(5)供水模拟。
前面的工作完成后点击运行实现模拟供水过程。由于恒压供水有白天和夜晚两种模式,设置的压力值也不相同,所以运行后的结果有如下图4.11(a)和4.11(b):
图4.11(a)白天运行模式
图4.11(b)夜间运行模式
第5章总结与展望
本次毕业设计是基于PLC的恒压供水监控系统,课题产生背景来源于生活实际和实际项目。整个系统都是以PLC为中心进行外围电路设计和主控电路设计以及相应的软件设计。本次设计历时三个月,完成此毕业设计需要自学许多知识,包含的知识体系有可编程控制器PLC、变频器原理及其应用、组态的使用、AutoCAD图形绘制以及报警故障处理等。本论文共有五章,包含绪论、恒压供水的理论分析、硬件设计、软件设计,实现了变频恒压供水,包含白天和夜间两种供水模式、引入倒泵功能和自动手动转换,在论文的结尾进行了组态模拟供水过程,由于时间的仓促对组态只是进行了简单的应用。
作为一个本科生的毕业设计,由于经验的匮乏,难免出现许多疑问和常见的问题。在设计初期,由于常用低压电器的不了解,在主电路设计环节对于水泵的切换以及工频/变频切换出现了困难,通过复习可编程控制器解决该问题。后毕业设计中期,由于对变频器不了解和I/O端口不了解,经罗老师帮助解读变频器说明书后解决了。在软件设计环节,通过观看和学习西门子s7-200教学视频完成了梯形图编程。在设计后期,时间仓促,组态的应用还不够完善,最后进行了简单的供水模拟。
完成该毕业设计后,我受益匪浅。武汉理工大学自动化学院在培养计划中对单片机更加注重,然而在工业控制中PLC应用得更为普遍,在完成毕业设计后达到一个平衡,这样综合型人才得到更好的诠释。在实际工程设计中,PLC往往不是一个单独的个体,还要涉及变频器、上位机、组态等人机界面、数据库和通信以及机械设计工程管理等等知识,通过本次毕业设计我对工程项目有了更加清晰的认识,这将对以后的工作岗位有莫大的帮助。同时也感谢罗老师和学长的指导使我顺利完成本毕业设计。
参考文献
[1]田亚娟,郭丽颖.变频恒压供水PLC控制系统的设计[J].计算技术与自动化,2010,01:25-28.
[2]李玮,赵英宝,刘朝英.PLC在恒压供水系统中的应用[A].中国自动化学会全国第九届自动化新技术学术交流会论文集[C],2004.
[3]李建兴,陈炜,马莹.PLC技术与应用[M].北京:机械工业出版社,2011.
[4]梅丽凤.电气控制与PLC应用技术[M].北京:机械工业出版社,2012.
[5]孙承志.西门子S7-200/300/400PLC基础与应用技术[M].北京:机械工业出版社,2009.
[6]王建,杨秀双,刘来员.变频器实用技术:西门子[M].北京:机械工业出版社,2012.6.
[7]李鸿儒等.西门子系列变频器及其工程应用[M].北京:机械工业出版社,2013.8.
[8]王阿根.电气可编程控制原理与应用:S7-200PLC[M].北京:机械工业出版社,2013.2.
[9]刘美俊.西门子PLC编程及应用[M].北京:机械工业出版社,2011.
[10]张永革.电气控制与PLC[M].天津:天津大学出版社,2013.
[11]魏雅文,胡仁喜,李昌铭.AutoCAD2014中文版电气设计标准教程[M].北京:科学出版社,2014.10.
[12]张彤,张文涛,张赞.EPLAN电气设计实例入门[M].北京:北京航空航天大学出版社,2014.8.
[13]Anonymous.SiemensPlc;SiemensMovetoGenerateGBP40mInvestmentinLincolnArea[J].TheBusinessofGlobalWarming,2008.
[14]GunhuiChung,JoongHoonKim,Tae-WoongKim.Systemdynamicsmodelingapproachtowatersupplysystem[J].KSCEJournalofCivilEngineering,2008,Vol.12(4),pp.275-280.
[15]JiangLinJie,ChenYan,FanGaoQi.TheDesignofConstantPressureWaterSupplySystemBasedonABBInverter[J].ProcediaEngineering,2011,Vol.15,pp.436-442.
致谢
经过三个月的忙碌,本次毕业设计已经进入尾声,由于知识体系的不完善以及经验的匮乏,出现了许多考虑不周全的地方,如果没有指导老师的指导,以及同组同学的共同奋斗,想要完成本设计是很困难的。在论文完成过程中,我阅读了许多书籍文献,请教了老师学长还有正在工作中的相关技术人员,在这里,我要感谢帮助我完成论文的所有人。
附录A系统电路图
恒压供水系统的主电路图如图a.1所示,系统控制电路图如图a.2所示,系统外围电路图如图a.3所示。
图a.1系统主电路图
图a.2系统控制电路图
图a.3系统外围接线图
附录B主程序梯形图
基于PLC的恒压供水监控系统主程序梯形图如图b.1所示。
图b.1主程序梯形图
附录资料:不需要的可以自行删除
C语言编程规范(仅供参考)
1.基本要求
1.1程序结构清析,简单易懂,单个函数的程序行数不得超过100行。
1.2打算干什么,要简单,直接了当,代码精简,避免垃圾程序。
1.3尽量使用标准库函数和公共函数。
1.4不要随意定义全局变量,尽量使用局部变量。
1.5使用括号以避免二义性。
2.可读性要求
2.1可读性第一,效率第二。
2.2保持注释与代码完全一致。
2.3每个源程序文件,都有文件头说明,说明规格见规范。
2.4每个函数,都有函数头说明,说明规格见规范。
2.5主要变量(结构、联合、类或对象)定义或引用时,注释能反映其含义。
2.7常量定义(DEFINE)有相应说明。
2.8处理过程的每个阶段都有相关注释说明。
2.9在典型算法前都有注释。
2.10利用缩进来显示程序的逻辑结构,缩进量一致并以Tab键为单位,定义Tab为6个
字节。
2.11循环、分支层次不要超过五层。
2.12注释可以与语句在同一行,也可以在上行。
2.13空行和空白字符也是一种特殊注释。
2.14一目了然的语句不加注释。
2.15注释的作用范围可以为:定义、引用、条件分支以及一段代码。
2.16注释行数(不包括程序头和函数头说明部份)应占总行数的1/5到1/3。
3.结构化要求
3.1禁止出现两条等价的支路。
3.2禁止GOTO语句。
3.3用IF语句来强调只执行两组语句中的一组。禁止ELSEGOTO和ELSERETURN。
3.4用CASE实现多路分支。
3.5避免从循环引出多个出口。
3.6函数只有一个出口。
3.7不使用条件赋值语句。
3.8避免不必要的分支。
3.9不要轻易用条件分支去替换逻辑表达式。
4.正确性与容错性要求
4.1程序首先是正确,其次是优美
4.2无法证明你的程序没有错误,因此在编写完一段程序后,应先回头检查。
4.3改一个错误时可能产生新的错误,因此在修改前首先考虑对其它程序的影响。
4.4所有变量在调用前必须被初始化。
4.5对所有的用户输入,必须进行合法性检查。
4.6不要比较浮点数的相等,
如:10.0*0.1==1.0,不可靠
4.7程序与环境或状态发生关系时,必须主动去处理发生的意外事件,如文件能否
逻辑锁定、打印机是否联机等。
4.8单元测试也是编程的一部份,提交联调测试的程序必须通过单元测试。
5.可重用性要求
5.1重复使用的完成相对独立功能的算法或代码应抽象为公共控件或类。
5.2公共控件或类应考虑OO思想,减少外界联系,考虑独立性或封装性。
5.3公共控件或类应建立使用模板。
附:C++编程规范,delphi作相应的参考
1适用范围
本标准适用于利用VisulC++,BorlandC++进行软件程序开发的人员.。
.2变量命名
命名必须具有一定的实际意义,形式为xAbcFgh,x由变量类型确定,Abc、Fgh表示连续意
义字符串,如果连续意义字符串仅两个,可都大写.如OK.
具体例程:
BOOL类型bEnable;
ch*charchText
c*类对象cMain(对象实例)
h*Handle(句柄)hWnd
i*int
n*无符号整型
p*指针
sz,str*字符串
wWORD
x,y坐标
Char或者TCHAR类型与WindowsAPI有直接联系的用szAppName[10]形式否则用
FileName[10]形式,单个字符也可用小写字母表示;
Int类型nCmdShow;
LONG类型lParam;
UINT类型uNotify;
DWORD类型dwStart;
PSTR类型pszTip;
LPSTR类型lpCmdLine
LPTSTR类型lpszClassName;
LPVOID类型lpReserved
WPARAM类型wParam,
LPARAM类型lParam
HWND类型hDlg;
HDC类型hDC;
HINSTANCE类型hInstance
HANDLE类型hInstance,
HICON类型hIcon;
intiTmp
floatfTmp
DWORDdw*
String,AnsiStringstr*
m_类成员变量m_nVal,m_bFlag
g_全局变量g_nMsg,g_bFlag
局部变量中可采用如下几个通用变量:nTemp,nResult,I,J(一般用于循环变量)。
其他资源句柄同上
.3常量命名和宏定义
常量和宏定义必须具有一定的实际意义;
常量和宏定义在#include和函数定义之间;
常量和宏定义必须全部以大写字母来撰写,中间可根据意义的连续性用下划线连接,每一
条定义的右侧必须有一简单的注释,说明其作用;
资源名字定义格式:
菜单:IDM_XX或者CM_XX
位图:IDB_XX
对话框:IDD_XX
字符串:IDS_XX
DLGINIT:DIALOG_XX
ICON:IDR_XX
.4函数命名
函数原型说明包括引用外来函数及内部函数,外部引用必须在右侧注明函数来源:模
块名及文件名,如是内部函数,只要注释其定义文件名;
第一个字母必须使用大写字母,要求用大小写字母组合规范函数命名,必要时可用下划线
间隔,示例如下:
voidUpdateDB_Tfgd(TRACK_NAME);file://ModuleName:r01/sdw.c
voidPrintTrackData(TRACK_NAME);file://ModuleName:r04/tern.c
voidImportantPoint(void);file://ModuleName:r01/sdw.c
voidShowChar(int,int,chtype);file://LocalModule
voidScrollUp_V(int,int);file://LocalModule
.5结构体命名
结构体类型命名必须全部用大写字母,原则上前面以下划线开始;结构体变量命名必须用
大小写字母组合,第一个字母必须使用大写字母,必要时可用下划线间隔。对于私有数
据区,必须注明其所属的进程。全局数据定义只需注意其用途。
示例如下:
typedefstruct
{
charszProductName[20];
charszAuthor[20];
charszReleaseDate[16];
charszVersion[10];
unsignedlongMaxTables;
unsignedlongUsedTables;
}DBS_
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 深海打捞装备的作业模拟训练系统考核试卷
- 塑料鞋生产过程中的能源管理考核试卷
- 小吃店食品安全监控技术考核试卷
- 液压元件在实验室设备中的应用考核试卷
- 汽车轮胎压力警报器校准考核试卷
- 批发业消费者行为研究考核试卷
- 体育代训合同范例
- 出车费用合同标准文本
- 渔网自动化编织考核试卷
- 兼职送菜送菜合同标准文本
- GB/T 28957.1-2023道路车辆用于滤清器评定的试验粉尘第1部分:氧化硅试验粉尘
- 大数据导论(通识课版)-第3章-大数据技术(2020年春季学期)
- 飞行员政审的个人自传
- 幼儿园安全教育课件:《私自离园危险多》
- 23秋国家开放大学《液压气动技术》形考任务1-3参考答案
- 广东省通用安装工程综合定额(2018)Excel版
- 15轨道车检查保养指导书
- 前言 马克思主义中国化时代化的历史进程与理论成果
- 泸西电解铝厂施工方案
- 035-花篮螺杆悬挑脚手架施工技术交底
- 人教版四年级数学下册 (小数的意义)小数的意义和性质课件
评论
0/150
提交评论