范文一:水位控制系统
水位控制系统
模拟量:l1 罐1 pv=plc;地址:0 增量寄存器 最小:0最大:10每个周期增加量:1 l2 罐2 pv=plc;地址:1 增量寄存器 最小:0最大:6每个周期增加量:1 数字量:b 泵 pv=plc;地址:0 常量寄存器 最小:0最大:100
t 调节阀 pv=plc;地址:1 常量寄存器 最小:0最大:100
c 出口阀 pv=plc;地址:2 常量寄存器 最小:0最大:100
r 状态控制 pv=plc;地址:2 状态控制 最小:0最大:1001001
程序运行周期执行:
IF r.pv==1; THEN
IF l1.pv>9; THEN
b.pv=0;
ELSE
b.pv=1;
ENDIF
IF l2.pv<1;>1;>
c.pv=0;
ELSE
c.pv=1;
ENDIF
IF l1.pv>1 && l2.pv<6;>6;>
t.pv=1;
ELSE
t.pv=0;
ENDIF
ENDIF
IF r.pv==0; THEN
b.pv=0;
t.pv=0;
c.pv=0;
ENDIF
启动,停止用左键动作 r.pv==1;r.pv==0;
楼宇:
模拟量:level 罐 pv=plc;地址:0 增量寄存器 最小:0最大:200每个周期增加量:1 shengh
youyong
数字量:men
cao
zuo
you
lan
pai
beng 泵 pv=plc;地址:0 常量寄存器 最小:0最大:100
run 总开关 pv=plc;地址:0状态控制 最小:0最大:1001001
程序运行周期执行:
IF run.pv==1; THEN
IF level.pv>180; THEN
beng.pv=0;
ELSE
beng.pv=1;
ENDIF
ENDIF
IF run.pv==0; THEN
beng.pv=0;
ENDIF
范文二:水位控制系统
第1章 绪论
1.1研究综述
水位控制系统是一个有着很大实用价值的自动化控制系统。近几十年来,随着电子计算机等先进设备的引进和开发,水位控制已经实现了自动化,如水平式多普勒流速剖面仪,将会实现流量在线实时测量;玻璃管法、超声波法、浮球法、压强法等多种手段实现静态水位的精准测量。成本低、效率高,装置安全便于操作。本系统的基本功能是实现了水箱里面的水位的实时检测,并将信息准确传输,最后,根据检测的结果进行相应的报警,在进行相应的处理
。
1.2选题意义
在社会经济飞速发展的今天,水在人们正常生产生活中起着越来越重要的作用。水位控制在日常生活及工业领域中应用相当广泛,比如水塔、地下水、水电站等情况下的水位控制。因此,水位保持在一定范围内,可有效避免缺水、溢出现象的发生。而以往水位的检测是由人工完成的,值班人员全天候地对水位的变化进行监测,用有线电话及时把水位变化情况报知主控室。然后主控室再开动电机调节水量。这种人工方式,劳动强度大,工作效率低,安全性难以保障,必须进行自动化控制系统的改造。同时也容易出差错。因此急需一种能自动检测水位,并根据水位变化的情况自动调节的自动控制系统,这正是本次设计的目的。 (1)通过这次课程设计,加深对传感器、单片机、数码管和蜂鸣器理论方面的
理解。
(2)了解和掌握设计系统的软硬件设计过程、方法及实现,为以后设计更复杂的系统打下良好基础。
(3)通过本课题的设计练习,不仅重温、充实所学知识,更重要的是可以达到综合运用所学知识,解决实际问题的目的。
1.3设计要求
1、水箱1m ,数量5个
2、水位低于0.2m 自动控制阀门进水,超过0.9m 关水(也可手动)3、水位数据无线传输给50m 外的控制室
4、用数码管循环显示各水箱水位,也可根据要求单独显示 5、显示精度0.1m 6、自己设计水位测试方法
第2章 系统框图
2.1系统结构框图
根据设计要求,系统可分为数据采集模块、显示和执行模块、发射接收模块、单片机模块等部分组成。具体框图如图2-1所示。
图 2-1 系统框图
模块功能:
1) 传感器模块:通过安装在水箱出水口的压力传感器,把压强变成标准的模
拟信号,传送到单片机。
2) 单片机模块:采集经A/D转换器传送的数字信号,然后将水位进行实时显
示,且能和给定参量的比较,给电机发送信号实现水位控制,可以对水位信息进行实时测,并且可实现智能化,抗干扰能力强,能适应复杂的电磁干扰环境,并且给发射电路提供信号。
3) 显示和执行模块:通过LED 对处理好的数据进行显示,通过蜂鸣器实现报
警。
2.2方案选择与论证
目前在用的水位控制方式主要有以下几种:
1)电极式水位控制系统:
使用多个电极线与水面接触,探测水位。 优点:价格便宜。
缺点:属于开关量控制,无法给出实际水位。探测电极容易腐蚀,安装不变。 如有污染物会粘附在电极上,使水位失控。多数市售的控制器只能控制一台水泵,实用价值较低。调整控制点(水面高低)很不方便。电极直接与水接触,有安全隐患。工程上用的较少。
2)浮球水位控制器
分管式浮球与缆浮球:管式浮球适合清水及粘度小的液体, 缆浮球适合污水。 优点:价格适中,可以做出高、低、超高、超低四点控制。
缺点:属于开关量控制,无法给出实际水位。浮球上易粘附污物,使浮球不能可靠动作,管式浮球容易卡滞,缆浮球容易缠绕,所有浮球都有触点接触不良现象,结果都是系统失控,调整控制点(水面高低)很不方便。
3)液位变送器+智能控制器方式
优点:属于模拟量控制,可以实时显示水位数值,对于水位失控或设备故障
可以提前预警。集成了双泵智能控制,控制系统接线简单。可设高、低、超高、超低四点控制,控制点(水面位置)在控制器上设定,极其方便。智能控制器可与电脑联网,可以远程监视水位及设备运行情况。 缺点:价格稍高。
4)超声波液位控制器
优点:属于模拟量控制,可以实时显示水位数值,对于水位失控或设备故障可以提前预警。集成了双泵智能控制,控制系统接线简单。可设高、低、超高、超低四点控制,控制点(水面位置)在控制器上设定,极其方便。智能控制器可与电脑联网,可以远程监视水位及设备运行情况。探头不与待测物接触,适合污水及有毒液体的液位控制。
缺点:价格高。不适合水面有大量气泡的场合。 5)基于单片机的水位控制方式
这种控制方式是通过安装在水箱出水口管道上的压力传感器,把出口压力变成标准工业电信号的模拟信号,经过前置放大、多路切换、A/D变换成数字信号传送到单片机,经单片机运算和给定参量的比较,进行LED 显示连续的水位信息。
优点:可以对水位信息进行连续地监测,并且可是实现智能化、抗干扰能力强,能适应复杂的电磁干扰环境。
针对上述几种控制方式,以及设计需达到的性能要求,这里选择第5种控制方式。最终形成的方案是,利用单片机为控制核心,设计一个对供水箱水位进行监测的系统。
第3章 系统的硬件设计
3.1 硬件电路
图3-1硬件电路图
本系统的压力传感器、A/D转换器ADC0809以及单片机的供电都是通过供电系
统供电,其中A/D转换器ADC0809以及单片机的工作电压为5V ,而压力传感器的工作电压为8V ,系统中通过输出8V 电压给压力传感器。压力传感器监测水位信息,输出值为电压,该信号通过两级放大器放大,送入A/D转换器ADC0809的通道0进行模数转换,转换后的8路数字量送入单片机的P0口,P1口用于输出显示信息。P2.0-P2.3口输出位选端。两个串口连接到发射模块PTR2000的D0、D1口用作数据发送。发射接收模块PTR2000的作用主要是用于数据的远程传输。定时器1输出的信号用于控制水箱的启动和停止,当水位到达低水位时,单片机会根据程序设置定时器1开启水箱给水池加水,当水位到达警戒水位时,单片机设置定时器1关闭水箱,停止加水。
接收模块主要有显示电路和报警电路组成,显示电路和发射模块的显示电路的一样,均用于显示水池的水位信息。接收模块中单片机的P2.4口通过1K 的电阻接到三极管的基极,当水位到达警戒水位时,P2.4口输出为高电平,三极管导通,继电器1吸合,蜂鸣器报警,当水位过低时,P2.5口输出高电平,继电器2吸合,给水箱加水。当水位正常时,P2.4输出为低电平时,三极管截止,继电器不动作,蜂鸣器不发出声音。
3.2传感器电路设计
采用集成压力传感器MPX2100,优点是转换精度高、灵敏度高,具有极好的线性度,放大调理后的模拟电量通过高精度、高性能芯片ADC0809进行A/D转换,可以保证系统具有很高的数据采集精度和很强的抗干扰能力,满足系统的要求,使用寿命长,易于调试。缺点是价格昂贵。
由于阻压式压力传感器由于四个桥臂电阻不完全匹配而引起测量误差,零点偏移较大,不易调整。还需要考虑温度补偿、灵敏度调整等问题,不仅使得电路结构复杂,调试困难,而且该电路必须在水中工作,实现起来相对困难。而用集成传感器则能轻松解决上述问题。
该模块主要是以传感器MPX2100DP 为核心,完成水位信息的采集。电路图如3.2所示。
图3-2 传感器电路
该模块采用的压力传感器选用Motorola 公司的高精度X 型硅压力传感器MPX2100,转换精度高、灵敏度高,具有极好的线性度,在高性能单片机AT89C52的控制下,放大调理后的模拟电量通过高精度、高性能芯片ADC0809进行A/D转换,可以保证系统具有很高的数据采集精度和很强的抗干扰能力,满足系统的要求,使用寿命长。它具有如下特点:
①由于采用激光微调技术,使电桥零漂输出很小,一般小于±1mV ; ②传感器灵敏度较高,为40mV ±1.5mV ;
③传感器由热敏电阻组成温度补偿网络,在-40℃~+125℃范围内有较好的温度补偿效果,从而提高了传感器的精度; ④具有极好的线性度(±0.25%F.S); ⑤有较宽的工作温度范围(-40℃~+125℃); ⑥允许过载大(400%)。
压力传感器MPX2100的输出电压范围为0-40mV, 经过两级放大后接到A/D转换器的IN0端,放大倍数为5V/40mV=125,分两级放大,第一级放大器的放大倍数为Au1=-RF1/R1=-250K/10K=-25,而第二级放大器的放大倍数为Au2=-RF2/R3=50K/10K=-5。集成运放的反相输入端和同相输入端,实际上是运放内部输入级两个差分对管的基极。为使差分放大电路的参数保持对称,应使两个差分对管基极对地的电阻尽量一致,以免静态基流流过这两个电阻时,在运放输入端产生附加的偏差电压。因此,通常选择R2`的阻值为R3=R1//RF1=250//10=9.6k,R5=R4//RF1=50//10=8.3K.在如下典型情况下,
MPX2100具有良好的线性度,压强和输出电压成正比,根据图3-3。
图3-3 电压与压强的线性关系[5]
当MPX2100DP 承受的压强为100KPa 时,输出电压值为40mV ,当MPX2100承受的压强为37.5KPa 时,输出电压值为15mV 值。经计算MPX2100的斜率K=0.4mV/KPa。MPX2100最大输出电压为40mV ,此时可由此计算出可测量的最大压强为P=40mV/(0.4mV/KPa)=100Kpa,又根据物理学中水深h 与压强P 的计算公式:
P =ρ*g *h 3-1 根据公式3-1得到h=P/(ρ*g)。则h=100KPa/(1000Kg/m3*10N/Kg)=10米。水位与输出电压的关系为:
U =40m V *h /10m 3-2
根据硬件电路可得放大器的输出电压值为:
UO =U *125 3-3 将3-2式代入上式可得放大器的输出电压为:
UO =0. 5*h 3-4 当水位为0时,压力传感器输出为0mV, 此时放大器的输出电压也为0V ;随着水
位的不同,压力传感器MPX2100受到水的压力不同,输出的电压则随水位的变化而改变。当水位为10米时,压力传感器输出的电压值为40mV*10/10=40mV,经过两级放大器后的输出电压为5V 。
3.3单片机电路设计
3.3.1复位电路
复位是单片机的初始化操作。其主要功能是把PC 初始化为0000H ,使单片机从0000H 单元开始执行程序。RST 引脚是复位信号 的输入端。复位信号是高电平有效,其有效时间应该持续24个振荡周期(即二个机器周期)以上。若使用12MHz 的晶振,则复位信号持续的时间应超过4 s 才能完成复位操作。而整个单片机复位电路包括芯片内、外两个部分。外部电路产生的复位信号(RST )送至施密特触发器,再由片内复位电路在每个机器周期的S5P2时刻对施密特触发器的输出进行采样,然后才得到内部复位操作所需要的信号。复位操作有上电自动复位和按键手动复位两种方式。本文采用上电复位电路,如图3-4所示。
图3-4 上电复位电路
上电复位是通过外部复位电路的电容充电来实现的,这样,只要电源VCC 的上升时间不超过1ms, 就可以实现自动上电复位,即接通电源就完成了系统的复位初始化。
3.3.2. 振荡源
单片机内部有一个高增益反相放大器,用于构成振荡器。反相放大器的输入端为XTAL1,输出端为XTAL2,分别是单片机的19脚和18脚。在XTAL1和XTAL2两端两端跨接石英晶体及两个电容就可以构成稳定的自激振荡器。电容器C1和C2通常取30pF 左右,对振荡频率有微调作用。振荡频率范围是1.2MHz-12MHz 。也可以使用外部振荡脉冲信号,有XTAL2端输入,直接送至内部时钟电路。本文采用内部方式时钟。其电路图如图3-5所示。
图3-5 振荡电路
外接晶体以及电容C1、C2构成并联谐振电路,接在放大器的反馈回路中,内部振荡器产生自激振荡,一般晶振可在2~12MHz 之间任选,上图选用12MHZ 晶振。对外接电容值虽然没有严格的要求,但电容的大小多少会影响振荡频率的高低、振荡器的稳定性、起振的快速性和温度的稳定性。外接晶体时,C1和C2通常选30pF 左右;外接陶瓷谐振器时,C1和C2的典型值为47pF 。
3.4 A/D转换电路ADC0809
ADC0809是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS 组件。它是逐次逼近式A/D转换器,可以和单片机直接接口。
图3-6 ADC0809内部结构
由上图可知,ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共享A/D转换器进行转换。三态输出锁器用于锁存A/D转换完的数字量,当OE 端为高电平时,才可以从三态输出锁存器取走转换完的数据。
ADC0809对输入模拟量要求:信号单极性,电压范围是0-5V ,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。
ALE 为地址锁存允许输入线,高电平有效。当ALE 线为高电平时,地址锁存与译码器将A ,B ,C 三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。A ,B 和C 为地址输入线,用于选通IN0-IN7上的一路模拟量输入。
ST 为转换启动信号:当ST 上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST 应保持低电平。EOC 为转换结束信号。当EOC 为高电平时,表明转换结束;否则,表明正在进行A/D转换。OE 为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。OE =1,输出转换得到的数据;OE =0,输出数据线呈高阻状态。D7-D0为数字量输出线。 由外界提供,通常使用频率为500KHZ ,
VREF (+),VREF (-)为参考电压输入。 VREF(-)选择接地。
VREF (+)的选择5V :若最大水深为10米,此时输入0809的0通道的模拟电压为5V ,若水深为0米时,此时电压为0V 。 ADC0809应用说明
1) ADC0809内部带有输出锁存器,可以与A T89S52直接相连。 2) 初始化时,使ST 和OE 信号全为低电平。 3) 送要转换的哪一信道的地址到A ,B ,C 端口上。 4) 在ST 端给出一个至少有100ns 宽的正脉冲信号。 5) 是否转换完毕,我们根据EOC 信号来判断。
6) 当EOC 为高电平,这时给OE 为高电平,转换的数据就输出给单片机了。
7) 此次设计让放大电路最大输出为5伏(即称量传感器所能承受最大的重
量时,调节三运放运放电路的参数使输出为5伏),ADC0809基准电压选5伏。
ADC0809与单片机AT89C51连接可采用查询方式,也可采用中断方式。图3-7为中断方式连接电路图。由于ADC0809片内有三态输出锁存器,因此可直接与单片机接口。
图3-7 ADC0809与单片机接口
这里将ADC0809作为一个外部扩展并行I/O口,本系统中采用线选法寻址。由P2.7和WR 联合控制启动转换信号端(START )和ALE 端,低三位地址线加到ADC0809和ADDA,ADDB,ADDC 端,计算可知,选中ADC0809的IN0信道的地址为7FF8H 。
启动ADC0809的工作过程如下:先送信道号地址到ADDA,ADDB,ADDC 端,由ALE 信号锁存信道号地址,后让START 有效,启动A/D转换,即执行一条“MOVX @DPTR,A”指令产生WR 信号,使ALE,START 有效,锁存通道号并启动A/D转换。A/D转换完毕,EOC 端发出一正脉冲,申请中断。在中断服务程序中,“MOV A,@DPTR”指令产生RD 信号,使OE 端有效,打开输出锁存三态门,8位数据便读入到CPU 中。
ADC0809的时钟取自单片机的ALE 经二分频(也可用74LS74双D 触发器之一)后的信号(接CLK 端)。当A/D转换完毕,单片机读取转换后的数字量时,需使用“MOV A,@DPTR”指令。在图3-6所示的接口电路中,ADC0809与片外RAM 统一编址。
在本系统中A/D转换器ADC0809只用到了通道0,因为水位信息作为模拟量只有一路信号输入,压力传感器MPX2100将监测到的水位信息通过通道0送入A/D转换器ADC0809,A/D转换器ADC0809要选择通道0,必须设置ADDA 、ADDB 、ADDC 的值,只有三路地址信号都为低电平时才选中通道0,所以必须通过软件设置三路地址信号的初值。
3.5显示电路设计
采用7段的BCD 数码管显示,因为本设计显示水位的高度,只需要四位数码管显示即可,数码管显示的电路简单,编程也不复杂,易于调试和实现,经比较显示模块决定采用四位的数码管显示。
单片机中通常使用7段LED 构成字型“8”,另外一个小数点发光二极管以显示数字、字符及小数点。这种显示器有共阴极和共阳极两种,发光二极管的阳极连在一起的称为共阳极显示器,反之为共阴极显示器。本系统的发射电路部分和
接收电路部分分别加上显示电路,该电路用于显示具体的水位信息。显示器运用4个带有位选的7段LED 显示器,其中一个LED 显示器为带有小数点的数码管,显示的最高水位为10米,最低水位为0米。该系统显示的水位可精确到厘米,显示电路图如图3-8所示。
图3-8 显示电路
显示部分为4个共阴极的七段LED 显示器,因为系统中有四个数码管,为了简化电路,降低成本,将所有位的段选线并连在一起,8个七段LED 的a ~dp 字段的引脚分别由8个OC 门同相驱动器驱动。由于所有4个段选线皆由一个8位I/O口控制,因此,在每一瞬间,4位LED 会显示相同的字符。要想每位显示不同的字符,就必须采用动态扫描方式轮流点亮LED ,而共阴极公共端分别有相应的I/O线控制,实现各位的分时选通。P2.0—P2.3口通过一个22K 的电阻接到三极管的基极,三极管的集电极接数码管的位选端,流过三极管的基极电流为:(5-0.6)/220k=20 A 。进过三极管扩大电流,提高显示器的驱动能力。
逐位轮流点亮各个LED ,每一位保持1ms ,在10ms~20ms之内再一次点亮,重复不止,这样利用人的视觉暂留,好像6位LED 同时点亮了。
3.6 发射接收电路设计
采用无线收发PTR2000集成芯片。其工作频率(两组频率) 433.92MHz/434.33MHz,采用FSK 调制方式。可直接接CPU 串口使用,如8031,也可以接计算机RS232 接口,软件编程非常方便。由于采用了低发射功率、高接收灵敏度的设计,使用无需申请许可证。标准DIP 引脚间距,更适合嵌入式设备。所需的外围组件少。缺点是价格昂贵。
发射接收模块采用超小型、超低功耗、高速率19.2K 无线收发PTR2000集成芯片。该芯片接收发射合一, 工作频率为国际通用的数传频段433MHz , FSK 调制,抗干扰能力强,特别适合工业控制场合, 采用DDS+PLL频率合成技术,频率稳定性极好。灵敏度高,达到-105dBm , 最大发射功率+10dBm, 低工作电压(2.7V ),功耗小,待机状态仅为8uA 。 具有两个频道,特别满足需要多信道工作的特殊场合, 工作速率最高可达20Kbit/s(也可在较低速率下工作如9600bps ) 超小体积约40mmx27mmx5mm , 可直接接CPU 串口使用如8031,也可以接计算机RS232 接口,软件编程非常方便, 由于采用了低发射功率、高接收灵敏度的设计,使用无需申请许可证, 标准DIP 引脚间距,更适合嵌入式设备。遥控、遥测、、无线抄表、门禁系统、小区传呼、工业数据采集系统、无线标签、身份识别、非接触RF 智能卡、小型无线数据终端、安全防火系统、无线遥控系统、生物信号、采集、水文气象监控、机器人控制、信息家电、无线232、无线422/485数据通信等。 Pin1: VCC, 正电源,接2.7~5.25V
Pin2: CS, 频道选择,CS=0 选择工作频道1 即433.92MHz, CS=1 选择工作频道2 即434.33MHz Pin3: DO, 数据输出 Pin4: DI, 数据输入 Pin5: GND 电源地
Pin6: PWR, 节能控制, PWR=1 正常工作状态, PWR=0 待机微功耗状态 Pin7: TXEN, 发射接收控制,TXEN=1 时模块为发射状态,TXEN=0 时模块为接收状态。
TXEN CS PWR 工作频道号# 芯片状态 0 0 1 1 接收
0 1 1 2 接收 1 0 1 1 发射 1 1 1 2 发射 X X 0 待机
连接的发射模块电路图如图3-9所示:
图3-9发射电路
TXEN 为发射接收控制,TXEN=1 时模块为发射状态,TXEN=0 时模块为接收状
态。发射端PTR2000的TXEN 端接高电平,PTR2000 无线MODEM 的DI 和D2口接单片机串口P3.0、P3.1的发送。数据在PTR2000中经过FSK 调制后发送,发送频率为433MHz 。用单片机的I/O控制模块的发射控制、频道转换和低功耗模式。
连接的发射模块电路图如图3-10所示。
图3-10 接收电路
TXEN 为发射接收控制,TXEN=1 时模块为发射状态,TXEN=0 时模块为接收状态。接收端PTR2000 无线MODEM 的DO 、D1接单片机串口的接收,PTR2000的TXEN 端接低电平,PTR2000接收数据。用单片机的I/O控制模块的发射控制、频道转换和低功耗模式。
第4章 系统的软件设
4.1 发射模块主程序
主程序采用模块化的编程思想,将各部分功能用模块化的程序实现,主要的功能子程序有:AD 转换子程序、数据处理子程序、数码管显示子程序、延时子程序、串口发送子程序。主程序流程图如图 4—1所示。
4-1 主程序流程图
4.1.1 开启AD 转换子程序
89C51的外部中断1使用ADC0809的EOC 信号作为中断申请,在主程序中,向ADC 发出启动转换信号后,并开始转换通道0的模拟电压。然后置位转换完成标志位,等待标志位清零,当检测到EOC 的请求后,转去执行中断服务程序,读取转换结果,置位转换完成标志位,程序继续执行。图4-2为A/D转换子程序流程图。
图4-2 AD转化子程序 4.1.2 数据处理子程序
AD转换完成后存入的数据为二进制码,范围为00H 到FFH ,分别代表的电压值为0~5V ,对应传感器之上的水位0~10.00m, 而显示的水位为十进制共四位,其中两位小数,单位为m ,即水位的分辨率为1cm 。水位显示的范围为0000cm ~1000cm ,而AD 转换的二进制码的范围为0~255,则尺度变换系数x=1000/256≈4。低水位为04.00m ,高水位为06.00m ,警戒水位8.00m 。实际的水位为AD 转换经过尺度变换后的水位值。数据处理的子程序如图4-3所示。
4.1.3中断服务子程序
图4-3 数据处理子程序 图4-4中断服务子程序
4.1.4数码管显示子程序
4.1.5 串口发送子程序
图4-6串口发送子程序
4.2 接收模块主程序
接收模块采用串口中断接收,然后把串口接收到的数据存入数据缓冲区,将数据送入数码管显示,以及与设定的警戒水位进行比较,若超过最高水位则报警。主要的功能模块包括:水位报警子程序、数码管显示子程序、延时子程序。
图4-7 接收模块主程序
第5章 总结与设计心得
特色与创新之处:
1、利用压力传感器采集水压信息,通过单片机进行数据的处理,实现水位的
智能控制,该设计方便快捷、精度高、实用性强。
2、利用压强测水位,抗干扰能力强,适用范围广。
3、该系统可对水位高低进行智能控制,综合性强。
设计心得:
1、该设计是以89C51单片机为控制核心,由水位采集模块、水位显示模块、
报警电路、发射接收模块组成,水位检测模块用的是MAX2100传感器, 可以检测连续地水位信息,水位显示模块由四个LED 数码管为一体组成,报警电路采用由继电器控制水泵的控制电路,发射接收模块采用PTR2000芯片完成,再加上一套软件完成本系统的设计。本系统的设计实现了水位的实时测量和远程通讯, 适用于对水位水情监控要求较高的领域。该系统具有智能化、无线化、自动化的设计为水位水情提供了安全保证和精度需求。
2、 虽然本设计已基本完成了数据的双向通信和数据操作功能,但其中还存
在着一些局限性。如水质对传感器的影响、单片机I/O口的带负载能力 及数码管显示 时的电流控制等都需精确把握。
3、通过本课题的全部设计过程,我巩固了课本知识,并且建立了联系,更学
到了很多科学研究的方法,大大提高了自己的科学研究素质,为以后的研究工作奠定了扎实的基础
参考文献
[1] 杨颂华. 数字电子技术基础, 西安:西安电子科技大学出版社,2000.7
[2] 杨素行. 模拟电子技术基础简明教程, 北京:高等教育出版社,2006.5
[3] 何希才. 传感器技术及应用, 北京:北京航空航天大学出版社,2005.4
[4] 孙余凯. 传感器应用电路300例,北京:电子工业出版社,2008.3
[5] 张洪润. 传感器技术大全(中册), 北京:北京航空航天大学出版社,2007.10
[6] 何希才. 常用传感器应用电路的设计与实践, 北京:科学出版社,2007
[7] 张迎辉. 单片机实训教程, 北京:北京大学出版社,2005.9
[8] 求是科技. 单片机典型模块设计实例导航, 北京:人民邮电出版社,2004.5
[9] 李朝青. 单片机原理及接口技术(简明修订版),北京:北京航空航天大学出版社,1998.11
[10] 沙占友, 孟志永. 单片机外围电路设计, 北京:电子工业出版社,2006.6
[11] 边春远, 王志强.MCS-51单片机开发实用子程序, 北京:人民邮电出版社,2005.9
[12] 吴金戌.8051单片机实践与应用,北京:清华大学出版社,2002.9
[13] Jacob Millman,Pn.D.MICROELEC-TRONICS Digital and Analog Circuits and Systems. New York:McGraw-Hill Book Company, 1979
[14]孙维明. 可编程PT2262/PT2272收发器的原理及开发[J ].国外电子元器件,2007:188-210.
[15]张群芳 单片微型计算机与接口技术. 北京:电子工业出版社,2005:20-50.
[16]蒋立培 单片微机系统使用教程. 北京:机械工业出版社,2004:15-50.
[17] 李华. MCS-51系列单片机应用接口技术. 北京航空航天大学出版,1993
[18] 杨世成. 信号放大电路. 电子工业出版社,1995
[19] 何希才, 虹敏. 传感器应用接口电路. 机械工业出版社,1997
[20] 何道清. 传感器与传感器技术. 北京:科学出版社,2004
[21 ]. 张毅坤. 单片微型计算机原理及应用. 西安电子科技大学出版社. 1998
致 谢
本文能得以完成,首先要感谢杨老师。正是在杨老师的悉心指导和关怀下,从课题的选择到课题的最终完成,杨老师都始终给予我细心地指导和不懈的支持。才能使我逐步选定了方向,深化了对研究课题的认识,从而一步步地完成该论文。另外杨老师严谨的治学态度和谦逊的待人态度深深地感染和激励着我,让我由衷敬佩。在此谨向杨老师致以诚挚的谢意和崇高的敬意。其次还要感谢李老师和吴老师,他们都给了我的许多的指导和帮助。
最后,借此机会向西安工程大学所有教导过我的老师表示衷心地感谢,感谢他们辛勤地劳动。感谢我的老师,他们严谨细致、一丝不苟的作风一直是我工作、学习中的榜样;他们不厌其烦的教导和不拘一格的思路给予我无尽的启迪。我要向诸位老师深深地鞠上一躬。还有多少可敬的师长、同学、朋友给了我无言的帮助,在这里请接受我诚挚的谢意!
附录 1
发射接收模块程序
;ADC0809信道IN0地址 7FF8H
ORG 0000H
AJMP MAIN
ORG 0013H
AJMP INT
ORG 0030H
MAIN:
SETB IT1 ;
SETB EA ;
SETB EX1 ;
LCALL AD_START ;
LCALL DEL10MS ;
LCALL BCD_SORT ;
LCALL DISPLAY ;
LCALL DEL10MS ;
AJMP MAIN
AD_START:
外部中断1入口地址 外部中断1为脉冲触发 开总中断 开外部中断1 调用启动AD 转换子程序调用延时子程序 调用BCD 码转换子程序 调用数码管显示子程序 调用延时子程序 ;
MOV R0,#30H ;通道IN0 AD转换后的数据存放地址
MOV DPTR,#7FF8H ;信道IN0的地址为7FF8H
MOVX @DPTR,A ;启动AD 转换
RET
INT: ;中断服务程序
MOVX A,@DPTR ;读数
MOV @R0,A ;存数
RETI
; 采用四位的共阳极数码管显示,数据显示缓冲区的地址为54h-57h (显示格式为:0000-9999)
DISPLAY:
mov r5,#feh ;第一位数码管亮
mov r0,#54h ;显示数据的首地址
NEXT2: mov a,r5
mov p2,a ;将显示位选送入P2口
mov a,@r0
mov dptr,#tab
movc a,@a+dptr
mov p1,a ;将显示段码送入P1口
lcall del10ms
inc r0 ;将显示缓冲区地址加一
mov a,r5
jnb acc.3,NEXT3 ;如果显示位到了第四位则跳转,否则位选循环左移
rl a
mov r5,a
ajmp NEXT2
NEXT3: mov p1,#0ffh ;动态显示一轮完,关闭全部数码管
ret
TAB: db 0c0h,0f9h,0a4h,0b0h,99h ;共阳极段码
db 92h,82h,0f8h,80h,90h
;10ms 延时子程序
DEL10MS: mov r6,#10
d1: mov r7,#10
d2: djnz r7,d2
djnz r6,d1
ret
;BCD 码转换子程序,30H 中为AD 转换的二进制数据,3BH 为进行相乘运算的数 BCD_SORT: ;将AD 转换来的数据处理之后转变为BCD 码
MOV A,30H
MOV B,#4H
MUL AB
MOV R6,B
MOV R7,A
HEXT: CLR A ;双字节整数转换为压缩BCD 码 MOV R3,A
MOV R4,A
MOV R5,A
MOV R2,#10H
HB2: MOV A,R7
RLC A
MOV R7,A
MOV A,R6
RLC A
MOV R6,A
MOV A,R5
ADDC A,R5
DA A
MOV R5,A
MOV A,R4
ADDC A,R4
DA A
MOV R4,A
MOV A,R3
ADDC A,R3
MOV R3,A
DJNZ R2,HB2
MOV 51H,R3
MOV 52H,R4
MOV 53H,R5
BCD_SORT1 : ;
MOV R1,#53H ;
MOV R0,#54H ;
ABC:
MOV A,@R1 ;
ANL A,#0FH ;
MOV @R0,A
INC R0
MOV A,@R1
SWAP A ;
ANL A,#0FH ;
MOV @R0,A
压缩BCD 码的拆码 压缩BCD 码的低位地址存入R1 存放BCD 码拆码的首地址,为低位 压缩BCD 码的低位 取出压缩BCD 码的低位 将BCD 码高低位交换 取出压缩BCD 码的高位
DEC R1 ;压缩BCD 码的高位 INC R0 MOV A,@R1
ANL A,#0FH
MOV @R0,A
INC R0
MOV A,@R1
SWAP A
ANL A,#0FH
MOV @R0,A
DEF:
RET
RET
ORG 0000H
LJMP MAIN ;上电, 转向主程序
ORG 0023H ;串行口的中断入口地址
LJMP SERVE1 ;转向中断服务程序
ORG 0030H ;主程序
MAIN:
MOV TMOD,#20H ;设T1工作方式2
MOV TH1,#0F3H ;赋记数初值
MOV TL1,#0F3H ;赋记数值
SETB TR1 ;启动定时器T1
MOV PCON,#80H ;设SMOD=1
MOV SCON,#0D0H;置串行口方式3, 允许接收
AJMP START
START:
MOV R0,#80H ;置发送字节数初值
SETB ES ;允许串行口中断
SETB EA ;CPU开中断
LOOP_SEND:
CLR A
MOVX A,@DPTR ;取第一个数据发送
MOVC A,@A+DPTR ;我们取第一个数据发送
CJNE A,#'$',SEND_A ;如果不是最后一个数据我们就发送这个数据, 否则我们就结束程序.
SJMP $ ;如果发送数据结束, 我们就无限循环等待, 免得出错.
LCALL DL10MS ;调用延时子程序,好让上位机有反应的时间,来接受单片
机的数据。
SJMP MAIN ;我们让它循环发送数据, 便于我们实验。
MOV C,P
MOV TB8,C ;奇偶标志送TB8
SEND_A:
MOV SBUF,A;发送数据
JNB
TI,$+----------------------------------------------------------------------------------;
CLR TI
LCALL DL10MS;我们每发完一个数据就延时, 好让上位机接收正常, 免得出现乱码 INC DPTR;指向后一个数据.---
报警子程序
Alarm:
Mov A, 52H
Mov B, 52H
SUBB A, #0.9H
JC OFF
SJMP ON
SUBB B, #0.2H
JC YES
SJMP OUT
OFF: CLR P2.4
SJMP OUT
ON: SETB P2.4
YES: SETB P2.5
OUT: RET
范文三:水位控制系统
水箱水位控制系统
一、 设计要求
做一水位控制系统的组态,要求:动画显示水流运动。当水位高于或低于警戒水位时,报警界面出现,提示报警,并记录在报警事件中。设置登录权限,只有管理员才能启动系统,只有在此时水泵才可启动,其余权限中人员只能观看不能操作。组态中有历史曲线与数据报表,用来记录长时间过程中水位的变化情况,同时在主监控画面中也显示有即时报警与数据记录的功能。
二、 设计过程
1. 新建画面
双击进入工程,点击新建工程画面,进入开发系统画面,确定背景属性,打开工具栏,使用图库(快捷键F2)创建所需的器件:水泵、水管、水箱、水位传感器等;并用作图工具绘制其他结构:水流等。最后,得到如下图:
2. 双击进入工程,点击新建工程画面,进入开发系统画面,确定背景属性,打开工具栏,使用图库(快捷键F2)创建所需的器件:水泵、水箱、水位传感器、出水阀门等;并用工具箱添加立体水管、按钮、文字、时实趋势曲线。最后,得到如下图:
3. 建立仿真PLC
选择系统—设备,点击新建设备
选择PLC →亚控→仿真PLC →com ,之后一路下一步,更改链接串口为com1,设备指定地址设为1,最长恢复时间改为15s ,其他全部默认。最后点击确定,完成对仿真PLC 元件的设置。
4. 完善数据词典
如图所示,建立组态系统所需数据变量:
共计为:水位、水泵运行、启动运行、出水阀门、历史曲线跨度、历史曲线卷动量、行。下面做具体说明:
(1)水位:新建水位变量,在弹出对话框中设置为内存整数,初始值30,最大值100。并且在报警定义中把报警限低与高打勾,底线为5,顶限为95.
(2)水泵运行:设置为I/O离散,在连接设备中选择之前建立的新I/O设备,寄存器器选CommErr ,数据类型为Bit ,采集频率1000毫秒,只读。
(3)启动运行:设置为内存离散
(4)出水阀门:设置与水泵运行相同。
(5)历史曲线跨度:设置为内存整数,初始值600,最大值200000。
(6)历史曲线卷动量:设置为内存实数,初始值3.000000,最大值99999。
(7)行:设置为内存整数,初始值27,最大值99999。
5. 画面单位具体设置与动画连接
双击反应器模块,水泵模块,运行指示灯模块,阀门模块,阀门开关按钮模块,分别在弹出对话框中按下图所示设置:
双击上水管模块,在弹出对话框中点击特殊动画效果为流动,并设置流动条件为 \\本站点\水泵运行==1。再双击出水管模块,流动条件设置为\\本站点\阀门运行==1。对于水箱水位的实时显示可以在水箱旁边写上“###L”并双击设置参数:点击模拟值输出,在弹出对话框中做图中所示设置。到此,模块部分设置完毕。
6. 按钮参数设置
在工具中选择按钮工具,并在主画面中画出如图所示的按钮,分别为启动、停止、管理登陆、退出登录、主画面、水位报警、历史曲线、数据报表、退出。对于启动、停止按钮,双击选择按下时并写入命令语言:
启动按钮为:\\本站点\启动运行=1;
停止按钮为:\\本站点\启动运行=0;
对于管理登陆、退出登录、主画面、水位报警、历史曲线、数据报表、退出这些按钮则是选择弹起时并写入命令语言:
管理登陆:LogOn();
退出登录:LogOff();
主画面: ShowPicture("监控模型");
水位报警:ShowPicture("水位报警");
历史曲线:ShowPicture("历史曲线");
数据报表:ShowPicture("数据报表");
退出: Exit(0);
7. 在管理登录旁边写上登录的权限名称,为多权限登录做准备。名称
中显示当前登录的用户名称,权限显示当前登录用户的权限。具体设置如下所示:(1)双击名称,点击字符串输出,在表达式中写入“$用户名”以连接到登录用户名;(2)双击权限,点击模拟值输出,在表达式中写入“$访问权限” 以连接到访问权限。然后进行用户权限设置:在系统配置中点击用户配置,在对话框中双击系统管理员,设置优先级为最高999,密码为1234。然后在无组中新建操作员1与操作员2权限,分别为:操作员1可进行出水阀门的操作与组态画面的观看,其余不能操作。操作员2只可进行组态画面的观看,其余不可进行操作。故设置操作员1密码为1,权限为99,操作员2密码为2,权限为9。并在模型中给予相应设置:在水泵、阀门、阀门开关中设置权限为90,在启动、停止中设置权限为100。对于主画面、水位报警、历史曲线、数据报表、退出的权限设置为0。如此,确保高权限可对低权限部分进行操作,而无法操作更高权限部分。
8. 主画面外其余画面的设置
a) 水位报警画面
新建一个画面,名称为“水位报警”,并用工具箱中“报警窗口”命令在画面中画出报警窗口。其余部分复制主画面中按钮粘贴
即可如图所示:
同样,主画面中的实时报警窗口也是这样设置,不过窗体被缩小了。然后做如下设置:在工程中点击报警组,新建加入报警组水
箱—水箱液位,如图所示。在水位报警画面中右键点击,选择动
画连接,做如图中所示设置:
b) 历史曲线画面
同样新建画面,命名为历史曲线,在画面中打开工具箱中的图
库,选择历史趋势加入到画面中,如下图所示。
按下图所示对历史趋势曲线进行设置
c) 数据报表画面
新建画面,命名为数据报表,在画面中用工具箱中的报表工具
画出一张报表,如图所示:
实际所用24行,表示一天24小时用以记录系统在各个时间段
内的运行状态,包括:水位高度、水泵运行情况、出水阀门开
合情况等。建立完毕后在画面中右击,进入画面属性,选择命
令语言,写入相应的命令语言:
if ($时==0)
{行=4;}
if ($时==1)
{行=5;}
if ($时==2)
{行=6;}
if ($时==3)
{行=7;}
if ($时==4)
{行=8;}
if ($时==5)
{行=9;}
if ($时==6)
{行=10;}
if ($时==7)
{行=11;}
if ($时==8)
{行=12;}
if ($时==9)
{行=13;}
if ($时==10)
{行=14;}
if ($时==11)
{行=15;}
if ($时==12)
{行=16;}
if ($时==13)
{行=17;}
if ($时==14)
{行=18;}
if ($时==15)
{行=19;}
if ($时==16)
{行=20;}
if ($时==17)
{行=21;}
if ($时==18)
{行=22;}
if ($时==19)
{行=23;}
if ($时==20)
{行=24;}
if ($时==21)
{行=25;}
if ($时==22)
{行=26;}
if ($时==23)
{行=27;}
//报表=1;
string ss;
if (\\本站点\启动运行==0)
{ss="关";}
else
{ss="开";}
ReportSetCellString("实时报表", 行, 2, ss);
ReportSetCellValue("实时报表", 行, 3, \\本站点\水位);
if (\\本站点\水泵运行==0)
{ss="关";}
else
{ss="开";}
ReportSetCellString("实时报表", 行, 4, ss);
if (\\本站点\出水阀门==0)
{ss="关";}
else
{ss="开";}
ReportSetCellString("实时报表", 行, 5, ss);
9. 总体命令语言设置
a) 在组态画面全部设置完毕之后,必须写入相应的程序语言,之后
仿真PLC 才会运行,整个组态才算是完成。所以,首先在系统
—命令语言中选择应用程序命令语言,将下面程序写入:
if(启动运行==1)
{
if(水位<>
{
水泵运行=1;
}
else if(水位>95)
{
水泵运行=0;
}
}
else
{水泵运行=0;}
b) 在命令语言中选择事件命令语言,新建事件命令语言,事件描述
为:\\本站点\$新报警==1
在发生时框中写入下面程序:
ShowPicture("提示报警");
\\本站点\$新报警=0;
用来实现到达报警条件时系统自动报警的效果。
c) 主画面命令语言
if(\\本站点\水泵运行==1)
{
\\本站点\水位=\\本站点\水位 +4;
}
if(\\本站点\出水阀门==1)
{
\\本站点\水位=\\本站点\水位 -3;
}
else{}
三、 对于建立好的组态进行仿真运行,点击画面中文件—切换到View 进
入演示状态。在登入管理员权限后,点击运行按钮,在点击水泵,示意水泵抽水,在点击阀门,示意阀门放水,由于进水速度快于出水速度,故系统在正常运行一段时间后,水位会过高,此时系统报警,系统自动
关闭水泵,只打开阀门出水,在水位低于底线时,系统再次报警,此时,系统自动打开水泵,从而循环运行。详细见运行图:
各项运行正常,如果以后有其他功能需求,还可再进行更改
范文四:水位控制系统
water level control system
水位控制系统
Project
Given a water level control system,
1. Plot the block diagram of the system, and describe the functions of every element.
2. Find the transfer function of each element.
3. Simulate the performance of the control system (Using Matlab/Simulink) and analyze the results. Note that all system parameters are chosen reasonably by yourself. 4. A concise written report is required to submit
Due date: Monday, Mar. 14
一、系统总体分析
系统工作原理:当电位器电刷位于中点位置时,电动机不动,控制阀门有一定
的开度,使水箱中流入水量与流出水量相等,从而液面保持在希望高度上。一旦流入水量或流出水量发生变化,水箱液面高度便相应变化。例如,当液面升高时,浮子位置亦相应升高,通过杠杆作用使电位器电刷从中点位置下移,从而给电动机提供一定的控制电压,驱动电动机通过减速器减小阀门开度,使进入水箱的流量减少。此时,水箱液面下降,浮子位置相应下降,知道电位器电刷回到中点位置,系统重新处于平衡状态,液面恢复给定高度,反之,若水箱液面下降,则系统会自动增大阀门开度,加大流入的水量,使液面升到给定的高度。
液位控制系统原理框图:
二、求解各部分传递函数
1、浮子、杠杆部分
式中K U 为电压、液位高度之比。
2、电动机的数学模型
直流电动机的数学模型。直流电动机可以在较宽的速度范围和负载范围内得到连续和准确的控制,因此在控制工程中应用非常广泛。直流电动机产生的力矩与磁通和电枢电流成正比,通过改变电枢电流或改变激磁电流都可以对电流电机的力矩和转速进行控制。在这种控制方式中,激磁电流恒定,控制电压加在电枢上,这是一种普通采用的控制方式。
设u (t ) 为输入的控制电压(V ) ,i 电枢电流(A ) , M 为电机产生的主动力矩
(N ?m ) , ω为电机轴的角速度(rad /s ) ,L 为电机的电感(H ) ,R 为电枢导数的
电阻(Ω) ,e (t ) 电枢转动中产生的反电势(V ) ,J 为电机和负载的转动惯量
(Kg *m 2)
根据电路的克希霍夫定理(KVL ):
di
L +Ri +θ(t ) =u (t ) dt
整理后得:
dM r d 2ωd ω
T e T m +T +ω=K u -K (T +M r ) m 12θ
dt dt dt 2
式中:T θ= T m =
L
称为直流电动机的电气时间常数; R
JR
称为直流电动机的机电时间常数; K θK m
1R ,K 2=为比例系数。 K θK m K θ
K 1=
直流电动机电枢绕组的电感比较小,一般情况下可以忽略不计,上式可化简为 d ωT m +ω=K 1u -K 2M r
dt
d 2θd θ即T m 2+=K 1u -K 2M r
dt dt
对上式取拉氏变换,设初始条件为零,得电动机传递函数:
即
3、阀门部分:
4、水箱控制部分:
(1)设输入量为进水量Q 1,输出量为水位H ,Q 1和H 都是在基准量Q 10与H 0
基础上的增量。此外,Q 2表示出水量的增量,R 表示输出管道阀门的阻力(即流阻)。设C 是水箱底的底面积,相对于水位升高1M 所需的进水总量,也称水箱的容量。 水箱若无出水口,则出水量为零且是保持不变(Q 2=0)。在静态下,流入水箱的流量为零,水箱的水位H 保持不变。在流入量有一个增量Q 1时,静态平衡被破坏,但流出量为零,水箱的水位变化规律为
式中C 为水箱的横截面积。对上式两端求取拉普拉斯变换,可得水箱的传递函数:
另设,得:
这是一个积分环节。它的单位阶跃响应为
(2)设输入量为进水量Q 1,输出量为水位H ,Q 1和H 都是在基准量Q 10与H 0基础上的增量。此外,Q 2表示出水量的增量,R 表示输出管道阀门的阻力(即流阻)。设C 是水箱底的底面积,相对于水位升高1M 所需的进水总量,也称水箱的容量。
根据流体的连续性原理,dt 时间水箱内流体增加(或减少)CdH ,应与进(或出)水总量(Q 1-Q 0) dt 相等,即
CdH =(Q 1-Q 0) dt
有根据托里拆利定律,出水量与水位高度平方根成正比,则有
Q 2=
H R 0
其中
1
为比例系数。显然,上式为非线性关系,在工作点(Q 10,H 0)附近进行R 0
泰勒级数展开,取一次项得:
Q 2=
12R 0H 0
H =
H R
式中 R =2R 0H 0为流阻。 于是不难求得水箱的线性化微分方程:RC
dH
+H =RQ 1 dt
对上式取拉氏变换,设初始条件为零,并令T =RC , K R =R ,得水箱传递函数:
G c (s ) =
H (s ) K R
=
Q 1(s ) Ts +1
这是一个一阶惯性环节。描述这类对象的参数是时间常数T 和放大系数K R 。
三、模拟控制系统性能和分析结果
1、若水池无出水口
建立系统的动态结构图模型,求传递函数解:
的表达式,判断系统的稳定性。
K=K1K a K c
用matlab 仿真如下(取各参数均为1)
Simulink 仿真:
根据劳斯判据
- Tm u u m >0,故两等式不能同时成立
故此时系统不稳定。
2、若水池有出水口
建立系统的动态结构图模型,求传递函数
的表达式,判断系统的稳定性。
用matlab 仿真如下(取各参数均为1)
Simulink 仿真
根据劳斯判据
由于(Ts m 、s u
3、分析系统对于单位阶跃响应的稳态误差
四、个人感想:
通过此次课题研讨,我学到了很多书上没有的东西,在一个多星期的时间里,我学会了如何在最短的时间没找到自己需要的资料,这是我此次研讨的一个收获,同时此次研究也丰富了我对自动控制理论的进一步理解,通过对液位自动控制系统建模来了解了系统稳定性对控制系统的影响,学会了用时域分析的方法和频域分析的方法对设计进行分析,同时也通过查阅相关资料,拓宽了自己的知识面。
范文五:基于PLC的水塔水位控制系统设计——一1
毕业论文 题目:水塔水位 PLC 控制程序
姓名:XXX
学号:XX
专业:XXXXXXX
指导老师:XXX
XX 大学 日期:201年 X 月 X 号
目 录
摘 要 .......................................... 3前 言 ............................ 错 误 ! 未 定 义 书 签 。 可 编 程 控 制 器 的 产 生 .................................... 3
PLC 的发展 ............................................... 5 PLC 的基本结构 ........................................... 6 PLC 特点 ................................................ 11 PLC 的工作原理 .......................................... 12 梯形图程序设计及工作过程分析 . ........................... 14 水 塔 水 位 系 统 PLC 硬 件 设 计 . ........................ 17
要求独立完成水塔水位控制 PLC 系统设计与调试。 ............ 17 水塔水位系统控制电路 . ................................... 18 输入 /输出分配 .......................................... 19 列出水塔水位控制系统 PLC 的输入 /输出接口分配表 ........... 19 水塔水位系统的输入 /输出设备 . ............................ 20 水 塔 水 位 控 制 系 统 PLC 软 件 设 计 . .................... 21
工作过程 ............................................... 21 程序流程图 ............................................. 22 梯形图 ................................................. 23 水塔水位控制系统梯形图的对应指令表 . ..................... 24 结 束 语 .......................... 错 误 ! 未 定 义 书 签 。
参 考 文 献 ........................................ 26
水塔水位控制 PLC 系统设计
摘 要
在工农业生产过程中,经常需要对水位进行测量和控制。水位控制在日常 生活中应用也相当广泛,比如水塔、地下水、水电站等情况下的水位控制。而 水位检测可以有多种实现方法,如机械控制、逻辑电路控制、机电控制等。本 文采用 PLC 进行主控制,在水箱上安装一个自动测水位装置。利用水的导电性 连续地全天候地测量水位的变化,把测量到的水位变化转换成相应的电信号, 主控台应用 MCGS 组态软件对接收到的信号进行数据处理,完成相应的水位显 示、故障报警信息显示、实时曲线和历史曲线的显示,使水位保持在适当的位 置。
关键词 :水位控制、三菱 PLC fx2n
前 言
可 编 程 控 制 器 的 产 生
可 编 程 控 制 器 是 二 十 世 纪 七 十 年 代 发 展 起 来 的 控 制 设 备 , 是 集 微 处 理 器 、 储 存 器 、 输 入 /输 出 接 口 与 中 断 于 一 体 的 器 件 , 已 经 被 广 泛 应 用 于 机 械 制 造 、 冶 金 、化 工 、能 源 、交 通 等 各 个 行 业 。计 算 机 在 操 作 系 统 、应 用 软 件 、通 行 能 力 上 的 飞 速 发 展 ,大 大 加 强 了 可 编 程 控 制 器 通 信 能 力 ,丰 富 了 可 编 程 控 制 器 编 程 软 件 和 编 程 技 巧 ,增 强 了 PLC 过 程 控 制 能 力 。因 此 ,无 论 是 单 机 还 是 多 机 控 制 、是 流 水 线 控 制 还 是 过 程 控 制 ,都 可 以 采 用 可 编 程 控 制 器 ,推 广 和 普 及 可 编 程 控 制 器 的 使 用 技 术 , 对 提 高 我 国 工 业 自 动 化 生 产 及 生 产 效 率 都 有 十 分 重 要 的 意 义 。
可 编 程 控 制 器 (Programmable Controller) 也 可 称 逻 辑 控 制 器
(Programmable Logic Controller),是 一 微 处 理 器 为 核 心 的 工 业 自 动 控 制 通 用 装
置 , 是 计 算 机 家 族 的 一 名 成 员 , 简 称 PC 。 为 了 与 个 人 电 脑 (也 简 称 PC ) 相 混 淆 通 常 将 可 编 程 控 制 器 称 为 PLC 。
可 编 程 控 制 器 的 产 生 和 继 电 器 — 接 触 器 控 制 系 统 有 很 大 的 关 系 。 继 电 器 — 接 触 器 控 制 已 经 有 伤 百 年 的 历 史 , 它 是 一 种 弱 电 信 号 控 制 强 电 信 号 的 电 磁 开 关 ,具 有 结 构 简 单 、电 路 直 观 、价 格 低 廉 、容 易 操 作 、易 于 维 修 的 有 优 点 。对 于 工 作 模 式 固 定 、要 求 比 较 简 单 的 场 合 非 常 使 用 ,至 今 仍 有 广 泛 的 用 途 。但 是 当 工 作 模 式 改 变 时 ,就 必 须 改 变 系 统 的 硬 件 接 线 ,控 制 柜 中 的 物 件 以 及 接 线 都 要 作 相 应 的 变 动 ,改 造 工 期 长 、费 用 高 ,用 户 宁 愿 扔 掉 旧 控 制 柜 ,另 做 一 个 新 控 制 柜 使 用 , 阻 碍 了 产 品 更 新 换 代 。
随着工业生产的迅速发展,市场竞争的激烈,产品更新换代的周期日益缩短,工业生 产从大批量、少品种,向小批量、多品种转换,继电器—接触器控制难以满足市场要求, 此问题首先被美国通用汽车公司(GM 公司)提了出来。通用汽车公司为适合汽车型号的不 断翻新,满足用户对产品多样性的需求,公开对外招标,要求制造一种新的工业控制装置, 取代传统的继电器—接触器控制。其对新装置性能提出的要求就是著名的 GM10条,即 :
1. 编程方便,现场可修改程序;
2. 维修方便,采用模块化结构;
3. 可靠性高于继电器控制装置;
4. 体积小于继电器控制装置;
5. 数据可直接送入管理计算机;
6. 成本可与继电器控制装置竞争;
7. 输入可以是交流 115V ;
8. 输出为交流 115V , 2A 以上,能直接驱动电磁阀,接触器等;
9. 在扩展时,原系统只要很小变更;
10. 用户程序存储器容量至少能扩展到 4K 。
这 十 项 指 标 就 是 现 代 PLC 的 最 基 本 功 能 , 值 得 注 意 的 是 PLC 并 不 等 同 于 普 通 计 算 机 , 它 与 有 关 的 外 部 设 备 , 按 照 “ 易 于 与 工 业 控 制 系 统 连 成 一 体 ” 和 “ 便 于 扩 充 功 能 ” 的 原 则 来 设 计 。
用 可 编 程 控 制 器 代 替 了 继 电 器 — 接 触 器 的 控 制 , 实 现 了 逻 辑 控 制 功 能 ,
并 且 具 有 计 算 机 功 能 灵 活 、 通 用 性 等 有 点 , 用 程 序 代 替 硬 接 线 , 并 且 具 有 计 算 机 功 能 灵 活 、 通 用 性 能 强 等 优 点 , 用 程 序 代 替 硬 接 线 , 减 少 了 重 新 设 计 , 重 新 接 线 的 工 作 , 此 种 控 制 器 借 鉴 计 算 机 的 高 级 语 言 , 利 用 面 向 控 制 过 程 , 面 向 问 题 的“ 自 然 语 言 ”编 程 ,其 标 志 性 语 言 是 极 易 为 IT 电 器 人 员 掌 握 的 梯 形 图 语 言 , 使 得 部 熟 悉 计 算 机 的 人 也 能 方 便 地 使 用 。 这 样 , 工 作
人 员 不 必 在 变 成 上 发 费 大 量 地 精 力 , 只 需 集 中 精 力 区 考 虑 如 何 操 作 并 发 挥 改 装 置 地 功 能 即 可 , 输 入 、 输 出 电 平 与 市 电 接 口 , 市 控 制 系 统 可 方 便 地 在 需 要 地 地 方 运 行 。 所 以 , 可 编 程 控 制 器 广 泛 地 应 用 于 各 工 业 领 域 。
1969年 , 第 一 台 可 编 程 控 制 器 PDP — 14由 美 国 数 字 设 备 公 司 (DEC ) 制 作 成 功 ,并 在 GM 公 司 汽 车 生 产 线 上 使 用 取 得 良 好 的 效 果 ,可 编 程 控 制 器 由 此 诞 生 , 在 控 制 领 域 内 产 生 了 历 史 性 革 命 。
PLC 问 世 时 间 不 长 , 但 是 随 着 微 处 理 器 的 发 展 , 大 规 模 、 超 大 规 模 集 成 电 路 不 断 出 现 , 数 据 通 信 技 术 不 断 进 步 , PLC 迅 速 发 展 。 PLC 进 入 九 十 年 代 后 , 工 业 控 制 领 域 几 乎 全 被 PLC 占 领 。 国 外 专 家 预 言 , PLC 技 术 将 在 工 业 自 动 化 的 三 大 支 柱 (PLC 、 机 器 人 和 CAC/CAM) 种 跃 居 首 位 。
我 国 在 八 十 年 代 初 才 开 始 使 用 PLC , 目 前 从 国 外 应 进 的 PLC 使 用 较 为 普 遍 的 由 日 本 OMRON 公 司 C 系 列 、 三 菱 公 司 F 系 列 、 灭 国 GE 公 司 GE 系 列 和 德 国 西 门 子 公 司 S 系 列 等 。
PLC 的发展
虽然 PLC 问世时间不长, 但是随着微处理器的出现, 大规模, 超大规模集成电路技术 的迅速发展和数据通讯技术的不断进步, PLC 也迅速发展,其发展过程大致可分为三各阶 段:
早期的 PLC 一般称为可编程逻辑控制器。 这是的 PLC 多少由电继电器控制装置的替代 物的含义,其主要功能只是执行原先由继电器完成的顺序控制、定时等。它在硬件上 以 计算机的形式出现, 在 I/O接口电路上作了改进以适应工业控制现场的要求。 装置种的器 件主要采用分离元件和中小规模集成电路, 存储器采用磁芯存储器。 另外还采取了一些措 施, 以提高其抗干扰的能力。 在软件编程上采用广大电器工程技术人员所熟悉的继电器控 制线路的方式—梯形图。 因此, 早期的 PLC 的性能要优于继电器控制装置, 其优点包括简 单易懂,便于安装,体积小,能耗低,有故障指示,能重复使用等。其中 PLC 特有的编程
语言—梯形图一直沿用至今。
在七十年代,微处理器的出现使 PLC 发生了巨大的变化。美国,日本,德国等一些厂 家先后开始采用微处理器作为 PLC 的中央处理单元(CPU ) 。
这样,使 PLC 的功能大大增强。在软件方面,除了保持其原有的逻辑运算、计时、计 数等功能以外, 还增加了算术运算、 数据处理和传送、 通讯、 自诊断等功能。 再硬件方面, 除了保持其原有的开关模块以外, 还增加了模拟量快、 远程 I/O模块、 各种特殊功能模块。 并扩大了存储器的容量,是各种逻辑线圈的数量增加,还提供了一定数量的数据寄存器, 使 PLC 的应用范围得以扩大。
进入八十年代中、 后期, 由于插大规模集成电路技术的迅速发展, 微处理器的市场价 格大幅度下跌, 使得各种类型的 PLC 所采用的微处理器的档次普遍提高。 而且, 为了进一 步提高 PLC 的处理速度,各制造厂商纷纷开发研制了专用逻辑处理芯片。这样使得 PLC 软、硬功能发生了巨大变化。
PLC 的基本结构
PLC 实质是一种专用于工业控制计算机,其硬件结构基本上与微型计算机相同, 、中央 处理单元 (CPU),如下图所示。
一、中央处理单元 (CPU)
中央处理单元 (CPU)是 PLC 控制中枢。它 PLC 系统程序赋予功能接收并存储从编程器键 入用户程序和数据;检查电源、存储器、 I/O以及警戒定时器状态,并能诊断用户程序中语 法错误。当 PLC 投入运行时,首先它以扫描方式接收现场各输入装置状态和数据,并分别 存入 I/O映象区,然后从用户程序存储器中逐条读取用户程序,命令解释后按指令规定执 行逻辑或算数运算结果送入 I/O映象区或数据寄存器内。等所有用户程序执行完毕之后, 最后将 I/O映象区各输出状态或输出寄存器内数据传送到相应输出装置,如此循环运行, 直到停止运行。
进一步提高 PLC 可靠性, 近年来对大型 PLC 还采用双 CPU 构成冗余系统, 或采用三 CPU 表决式系统。这样,某个 CPU 出现故障,整个系统仍能正常运行。
二、存储器
存放系统软件存储器称为系统程序存储器。存放应用软件存储器称为用户程序存储器。 1、 PLC 常用存储器类型
(1) RAM (Random Assess Memory) 这是一种读 /写存储器 (随机存储器 ) ,其存取速 度最快,由锂电池支持。
(2) EPROM (Erasable Programmable Read Only Memory)这是一种可擦除只读存储 器。断电情况下,存储器内所有内容保持不变。紫外线连续照射下可擦除存储器内容 ) 。 (3) EEPROM(Electrical Erasable Programmable Read Only Memory)这是一种电可 擦除只读存储器。使用编程器就能很容易对其所存储内容进行修改。
2、 PLC 存储空间分配
各种 PLCCPU 最大寻址空间各不相同, PLC 工作原理,其存储空间一般包括以下三个区 域:
(1)系统程序存储区
(2)系统 RAM 存储区(包括 I/O映象区和系统软设备等)
(3)用户程序存储区
系统程序存储区:系统程序存储区中存放着相当于计算机操作系统系统程序。包括监 控程序、管理程序、命令解释程序、功能子程序、系统诊断子程序等。由制造厂商将其固 化 EPROM 中,用户不能直接存取。它和硬件一起决定了该 PLC 性能。
系统 RAM 存储区:系统 RAM 存储区包括 I/O映象区以及各类软设备,如:逻辑线圈;
数据寄存器;计时器;计数器;变址寄存器;累加器等存储器。
(1) I/O映象区:PLC 投入运行后,输入采样阶段才依次读入各输入状态和数据,输 出刷新阶段才将输出状态和数据送至相应外设。它需要一定数量存储单元 (RAM)以存放 I/O状态和数据,这些单元称作 I/O映象区。一个开关量 I/O占用存储单元中一个位(bit ) , 一个模拟量 I/O占用存储单元中一个字 (16个 bit ) 。 整个 I/O映象区可看作两个部分组成:开关量 I/O映象区;模拟量 I/O映象区。
(2)系统软设备存储区 :I/O映象区区以外,系统 RAM 存储区还包括 PLC 内部各类软 设备(逻辑线圈、计时器、计数器、数据寄存器和累加器等)存储区。该存储区又分为具 有失电保持存储区域和无失电保持存储区域,前者 PLC 断电时,由内部锂电池供电,数据 不会遗失;后者当 PLC 断电时,数据被清零。
用户程序存储区:主要用来存放用户的应用程序。所谓用户程序时指使用户根据工程 现场的的产生过程和工艺要求编写的控制程序。次程序由使用者通过编程器输入到 PLC 机 的 RAM 存贮器中,以便于用户随时修改。也可将用户程序存放在 EEPROM 中。
三、输入 /输出模块
输入 /输出模块是可编程控制器与工业生产设备或工业生产过程连接的借口。现场的输 入信号,如按钮开关,行程开关、限位开关以及传感输出的开关量或模拟量(压力、流量、 温度、电压、电流)等,都要通过输入模块送到 PLC 。由于这些信号电平各式各样,而可编 程控制器 CPU 所处理的信息只能是标准电平,所以输入模块还需将这些信号转换成 PLC 能 够接受和处理的数字信号。输入模块的作用是接收中央处理器处理过的数字信号,并把它 转换成现场执行部件所能接收的控制信号,以驱动如电磁阀、灯光显示、电机等执行机构。 可编程控制器有多种输入 /输出模块其类型有数字量输入 /输出模块和模拟量输入 /输出模 块。这些模块分直流和交流、电压和电流类型,每种类型又有不同的参数等级,主要有数 字量输入 /输出模块和模拟量输入输出 /模块,部件上都设有接线端子排,为了滤除信号的 噪声和便于 PLC 内部对信号的处理,这些模块上都带有滤波、电平转换、信号锁存电路。 数字量输入模块带有广电耦合电路,其目的是把 PLC 与外部电路隔离起来,以提高 PLC 的 抗干扰能力。数字两输出有继电器输出、晶体管输出和可控硅输出三种方式。模拟量输入 /输出模块主要用来实现模拟量与数字量之间的转换,即 A/D或 D/A转换。由于工业控制系 统中有传感器或执行机构有一些信号是连续变化的模拟量,因此这些模拟量必须通过模拟 量输入 /输出模块与 PLC 的中央处理器连接。模拟量输入模块 A/D转换后的二进制数字量,
经光电耦合器和输出锁存器宇 PLC 的 1/0总线挂接。现在标准量程的模拟电压主要是 0— 5伏和 0— 10伏两种。另外还有:0— somV 、 0— IV 、— 5— +SV、— 10— +10V, 0— 10mA 等。模 拟量输入模块接收标准量程的模拟电压或电流猴, 把它转换成 8未、 10未或 12位的二进制 数字信号,送给中央处理器进行处理。模拟量输出模块将中央处理器的二进制数字信号转 换成标准量程的电压或电流输出信号,提供给执行机构。
四、扩展模块
当一个 PLC 中心单元的 I/O点数不够用时,就要对系统进行扩展,扩展接口就是用于 连接中心基本单元与扩展单元的。模块随着可编程控制器在工业控制中的广泛应用和发展, 使可编程控制器的功能更加强大和完善。只能 I/O接口模块种类很多,例如高速计数模块、 PLCA 控制模块、数字位基于 PLC 的变频恒压供水系统的设计置译码模块、阀门控制模块、 智能存贮弄快以及智能 I/O模块等。
五、编程器
它的作用是供用户进行程序的编制、编辑、调试和监视。有的编程器还可与打印机或 磁带机相连,以将用户程序和有关信息打印出来或存放在它的作用是供用户进行程序的编 制、编辑、调试和监视。有的编程器还可与打印机或磁带机相连,以将用户程序和有关信 息打印出来或存放在磁带上,磁带上的信息可以重新装入 PLC 。
目前编程器主要有以下三种类型:
1. 便携式编程器 (也叫简易编程器 ) ; 2. 图形编程器; 3. 用于 IBM — PC 及其兼容机的编程 器。
便于携带的特点,一般只能用指令形式编程,通过按键输入指令,通过数码管或液晶 显示器加以显示、这种编程器适合小型可编程控制器的编程要求。
图形编程器以液晶显示器 (LCD)或阴极射线管 (CRT)作屏幕,用来显示编程内容和提供 如输入、输出、辅助继电器的占有情况、程序容量等各种信息,还可在调试程序、检查程 序执行时显示各种信号状态、出错提示等。
使用图形编程器可以月多种编程语言编程,梯形图显示在屏幕上十分直观。图形编程 器还可与打印机、录音机、绘画仪等设备连接,有较强的监控功能。但它的价格高,适用 于中、大型可编程控制器的编程要求。
用于 IBM — PC 及其兼容机的编程器是个人计算机加上适当的硬件接口和软件包作为编 程器,也可直接编制成梯形图,其监控功能也很强。编程器工作方式主要有编程和监控两
种, 编程工作方式是在 PLC 机处于停机状态时可以进行编程, 它的功能主要是输入新的程序, 或者对已有的程序予以编辑和修改。
监控工作方式可以对运行中的控制器工作状态进行监视和跟踪,一般可以对某一线圈 或触点的工作状态进行监视,也可以对成组器件的工作状态进行监视,还可以跟踪某一器 件在不同时间的工作状态,除搜索、监视、跟踪外,还可以对一些器件进行操作。因此编 程器的监控方式对控制器中新输入程序的调试与试运行是非常有用和方便的。编程器的结 构一般包括显示部分与键盘部分。显示一般用液晶显示器,主要的显示内容包括地址、数 据、工作方式、指令执行情况及系统工作状态等。键盘有单功能键和双功能键,在使用双 功能键的时候键盘中都备有一个选择键,以选择其中一种方式工作。
现在产品越来越模块化,可编程控制器也不例外,它的结构紧密、坚固,外形小巧, CPU 本身只提供了一定数量的数字输入和输出点数。不同厂家、不同型号的 PLC 的输入/输 出点数也不同,有的大型机输入/输出点数可达 16K ,而很多小型机仅有 10来点,而且 CPU 本身不带模拟输入与输出,但 CPU 一般都带有扩展接口。因此,用户选型后,所需的输入或 输出点数不够时,就需对系统做出必要的扩展,各个厂家也生产了专用于扩展用的各模板 供用户选用。扩展模板的外形一般也小巧、坚固,有易于接线的端子排,带有扩展总线或 通过总线连接器与 CPU 相连。主要有数字输入/输出模板,模拟输入/输出模板,热电阻、 热电偶扩展模板,还有智能模板等许多具有专用功能的特殊模板。
用扩展模板来扩展系统具有以下的优点:
用户可根据自己时间控制系统的要求,选用各种合适的扩展模块对 PLC 作硬件组态,以 求达到各种功能或控制精度,同时节省开支,减少不必要的投资。
当已运行的系统需要改造或扩充时, PLC 可以随时进行升级或改版,所作的工作仅仅是
替换或增加扩展模板和修改相应的控制软件。特殊模板及智能模板的开发将进一步扩展可 编程控制的功能,专用模板的开发不仅扩大了可编程控制系统的控制功能,而且将进一步 提高控制质量与可靠性。
六、电源
PLC 中的电源一般有三类:
1、 +5V、±15V直流电源:供 PLC 中 TTL 芯片和集成运放使用;
2、供输出接口使用的高压大电流的功率电源;
3、锂电池及其充电电源。
考虑到系统的可靠性以及光电隔离器的使用,不同类型的电源其地线也不同。
目前 PLC 的发展非常迅速,型号众多,各种特殊功能模板不断涌现。通常根据其 I/O点 的数量将 PLC分为三大类:
小型机:256点以下(无模拟量) ;
中型机:256 ~ 2048点(64 ~ 128路模拟量) ;
大型机:2048点以上(128 ~ 512路模拟量) 。
具体实现时,通常采用模板式结构,以便用户根据实际应用需求进行配置。但一些小 型机常制作成一体机,其配置固定,主要供定型成套设备使用;而一些大型机一般在电源、 或者 CPU ,甚至两者都作了热备份。
PLC特点
(一 ) 高可靠性
1. 所有的 I/O 接口电路均采用光电隔离使工业现场的外电路与 PLC 内部电路之间电 气上隔离
2. 各输入端均采用 R-C 滤波器其滤波时间常数一般为 10~20ms.
3. 各模块均采用屏蔽措施以防止辐射干扰
4. 采用性能优良的开关电源
5. 对采用的器件进行严格的筛选
6. 良好的自诊断功能一旦电源或其他软硬件发生异常情况 CPU 立即采用有效措施以防 止故障扩大
7. 大型 PLC 还可以采用由双 CPU 构成冗余系统或有三 CPU 构成表决系统 , 使可靠性更 进一步提高
(二 ) 丰富的 I/O 接口模块
1. PLC针对不同的工业现场信号如:交流或直流;开关量或模拟量;电压或电流;脉 冲或电位;强电或弱电等。
2. 有相应的 I/O模块与工业现场的器件或设备如:按钮;行程开关;接近开关;传感 器及变送器;电磁线圈;控制阀。
3. 直接连接另外为了提高操作性能它还有多种人 -机对话的接口模块 ; 为了组成工业 局部网络它还有多种通讯联网的接口模块等等。
(三 ) 采用模块化结构
为了适应各种工业控制需要除了单元式的小型 PLC 以外,绝大多数 PLC 均采用模块化 结构, PLC 的各个部件包括 CPU 电源 I/O 等均采用模块化设计,由机架及电缆将各模块连 接起来,系统的规模和功能可根据用户的需要自行组合。
(四 ) 编程简单易学
PLC 的编程大多采用类似于继电器控制线路的梯形图形式, 对使用者来说不需要具备计 算机的专门知识,因此很容易被一般工程技术人员所理解和掌握。
(五 ) 安装简单维修方便
PLC 不需要专门的机房可以在各种工业环境下直接运行,使用时只需将现场的各种设备与 PLC 相应的 I/O 端相连接即可投入运行,各种模块上均有运行和故障指示装置,便于用户 了解运行情况和查找故障,由于采用模块化结构,因此一旦某模块发生故障用户可以通过 更换模块的方法使系统迅速恢复运行。
PLC的工作原理
最初研制生产的 PLC 主要用于代替传统的由继电器接触器构成的控制装置, 但这两者 的运行方式是不相同的:
(1)继电器控制装置采用硬逻辑并行运行的方式,即如果这个继电器的线圈通电或 断电, 该继电器所有的触点 (包括其常开或常闭触点) 在继电器控制线路的哪个位置上都 会立即同时动作。
(2) PLC 的 CPU 则采用顺序逻辑扫描用户程序的运行方式,即如果一个输出线圈或 逻辑线圈被接通或断开, 该线圈的所有触点 (包括其常开或常闭触点 ) 不会立即动作, 必须 等扫描到该触点时才会动作。
为了消除二者之间由于运行方式不同而造成的差异, 考虑到继电器控制装置各类触点 的动作时间一般在 100ms 以上, 而 PLC 扫描用户程序的时间一般均小于 100ms , 因此, PLC 采用了一种不同于一般微型计算机的运行方式 ---扫描技术。这样在对于 I/O响应要求不 高的场合, PLC 与继电器控制装置的处理结果上就没有什么区别了。
1、扫描技术 当 PLC 投入运行后,其工作过程一般分为三个阶段,即输入采样、用户 程序执行和输出刷新三个阶段。完成上述三个阶段称作一个扫描周期。在整个运行期间, PLC 的 CPU 以一定的扫描速度重复执行上述三个阶段。如下图:
PLC 扫描周期
(1)输入采样阶段
在输入采样阶段, PLC 以扫描方式依次地读入所有输入状态和数据,并将它们存入 I/O映象区中的相应得单元内。输入采样结束后,转入用户程序执行和输出刷新阶段。在这两 个阶段中, 即使输入状态和数据发生变化, I/O映象区中的相应单元的状态和数据也不会改 变。因此,如果输入是脉冲信号,则该脉冲信号的宽度必须大于一个扫描周期,才能保证 在任何情况下,该输入均能被读入。
(2)用户程序执行阶段
在用户程序执行阶段, PLC 总是按由上而下的顺序依次地扫描用户程序 (梯形图 ) 。 在扫 描每一条梯形图时,又总是先扫描梯形图左边的由各触点构成的控制线路,并按先左后右、 先上后下的顺序对由触点构成的控制线路进行逻辑运算,然后根据逻辑运算的结果,刷新 该逻辑线圈在系统 RAM 存储区中对应位的状态;或者刷新该输出线圈在 I/O映象区中对应 位的状态;或者确定是否要执行该梯形图所规定的特殊功能指令。即,在用户程序执行过 程中,只有输入点在 I/O映象区内的状态和数据不会发生变化,而其他输出点和软设备在 I/O映象区或系统 RAM 存储区内的状态和数据都有可能发生变化,而且排在上面的梯形图, 其程序执行结果会对排在下面的凡是用到这些线圈或数据的梯形图起作用;相反,排在下 面的梯形图,其被刷新的逻辑线圈的状态或数据只能到下一个扫描周期才能对排在其上面 的程序起作用。
(3)输出刷新阶段
当扫描用户程序结束后, PLC 就进入输出刷新阶段。在此期间, CPU 按照 I/O映象区内 对应的状态和数据刷新所有的输出锁存电路,再经输出电路驱动相应的外设。这时,才是 PLC 的真正输出。
2、 PLC 的 I/O响应时间
为了增强 PLC 的抗干扰能力,提高其可 *性, PLC 的每个开关量输入端都采用光电隔离 等技术。 为了能实现继电器控制线路的硬逻辑并行控制, PLC 采用了不同于一般微型计算机 的运行方式(扫描技术) 。以上两个主要原因,使得 PLC 得 I/O响应比一般微型计算机构成 的工业控制系统满的多,其响应时间至少等于一个扫描周期,一般均大于一个扫描周期甚 至更长。所谓 I/O响应时间指从 PLC 的某一输入信号变化开始到系统有关输出端信号的改 变所需的时间。如下图:
PLC 扫描周期示意图
梯形图程序设计及工作过程分析
梯形图编程语言是一种图形化编程语言,它沿用了传统的继电接触器控制中的触点、 线圈、串并联等术语和图形符号,与传统的继电器控制原理电路图非常相似,但又加入了 许多功能强而又使用灵活的指令,它比较直观、形象,对于那些熟悉继电器一接触器控制 系统的人来说,易被接受。继电器梯形图多半适用于比较简单的控制功能的编程,绝大多 数 PLC 用户都首选使用梯形图编程。
指令是用英文名称的缩写字母来表达 PLC 的各种功能的助记符号,类似于计算机汇编语 言。由指令构成的能够完成控制任务的指令组合就是指令表,每一条指令一般由指令助记
符和作用器件编号组成,比较抽象,通常都先用其它方式表达,然后改写成相应的语句表, 编程设备简单价廉。
状态转移图语言 (SFC)类似于计算机常用的程序框图,但有它自己的规则,描述控制过
程比较详细具体,包括每一框前的输入信号,框内的判断和工作内容,框后的输出状态。 这种方式容易构思,是一种常用的程序表达方式。
高级语言类似于 BACIC 语言、 C 语言等,它们在某些厂家的 PLC 中应用。
通常微、小型 PLC 主要采用继电器梯形图编程,其编程的一般规则有:
1) 梯形图按自上而下、从左到右的顺序排列。每一个逻辑行起始于左母线然后是触点 的各种连接,最后是线圈或线圈与右母线相连,整个图形呈阶梯形。梯形图所使用的元件 编号地址必须在所使用 PLC 的有效范围内。
2) 梯形图是 PLC 形象化的编程方式,其左右两侧母线并不接任何电源,因而图中各支路 也没有真实的电流流过。但为了读图方便,常用“有电流”、“得电”等来形象地描述用 户程序解算中满足输出线圈的动作条件,它仅仅是概念上虚拟的“电流”,而且认为它只 能由左向右单方向流:层次的改变也只能自上而下。
3) 梯形图中的继电器实质上是变量存储器中的位触发器,相应某位触发器为“ l 态”, 表示该继电器线圈通电,其动合触点闭合,动断触点打开,反之为“ o 态”。梯形图中继电 器的线圈又是广义的,除了输出继电器、内部继电器线圈外,还包括定时器、计数器、移 位寄存器、状态器等的线圈以及各种比较、运算的结果。
4) 梯形图中信息流程从左到右,继电器线圈应与右母线直接相连,线圈的右边不能有 触点,而左边必须有触点。
5) 继电器线圈在一个程序中不能重复使用:而继电器的触点,编程中可以重复使用, 且使用次数不受限制。
6)PLC 在解算用户逻辑时,是按照梯形图由上而下、从左到右的先后顺序逐步进行的, 即按扫描方式顺序执行程序,不存在几条并列支路同时动作,这在设计梯形图时,可以减 少许多有约束关系的联锁电路,从而使电路设计大大简化。所以,由梯形图编写指令程序 时,应遵循自上而下、从左到右的顺序,梯形图中的每个符号对应于一条指令,一条指令 为一个步序。
当 PLC 运行时,用户程序中有众多的操作需要去执行,但 CPU 是不能同时去执行多个操 作的,它只能按分时操作原理每一时刻执行一个操作。这种分时操作的过程称为 CPU 对程序 的扫描。扫描从 0000号存储地址所存放的第一条用户程序开始,在无中断或跳转控制的情
况下,按存储地址号递增顺序逐条扫描用户程序,也就是顺序逐条执行用户程序,直到程 序结束。每扫描完一次程序就构成一个扫描周期,然后再从头开始扫描,并周而复始。
水塔水位系统 PLC 硬件设计
水塔水位控制装置图
要求独立完成水塔水位控制 PLC 系统设计与调试。
1)保持水池的水位在 S3—— S4之间,当水池水位低于下限液位开关 S3,此时 S3为 ON ,电磁阀打开,开始往水池里注水,当 5S 以后,若水池水位没有超过水池下限液位开关 S3时,则系统发出警报;若系统正常运行,此时水池下限液位开关 S3为 OFF ,表示水位高 于下限水位。当页面高于上限水位 S4时,则 S4为 ON ,电磁阀关闭。
2)保持水塔的水位在 S1—— S2之间,当水塔水位低于水塔下限水位开关 S2时,则水 塔下限液位开关 S2为 ON ,则驱动电机 M 开始工作,向水塔供水。当 S2为 OFF 时,表示水 塔水位高于水塔下限水位。当水塔液面高于水塔上限水位开关 S1时,则 S1为 ON ,电机 M 停止抽水。
当水塔水位低于下限水位时,同时水池水位也低于下限水位时,电机 M 不能启动。
水塔水位系统控制电路
水塔水位系统控制主电路图
输入 /输出分配
列出水塔水位控制系统 PLC 的输入 /输出接口分配表
水塔水位系统 PLC 的输入 /输出接口分配表
水塔水位系统的输入 /输出设备
这是一个单体控制小系统, 没有特殊的控制要求, 它有 5个开关量, 开关量输出触点 书有 8个,输入、输出触点数共有 13个,只需选用一般中小型控制器即可。据此,可以 对输入、输出点作出地址分配,水塔水位控制系统的 I/O接线图如下:
水塔水位控制系统 PLC 软件设计
工作过程
设水塔、水池初始状态都为空着的, 4个液位指示灯全亮。当执行程序是,扫描到水池 为液位低于水池下限位时,电磁阀打开,开始往水池里进水,如果进水超过 5S ,而水池液 位没有超过水池下限位,说明系统出现故障,系统就会自动报警。若 5S 只有水池液位按预 定的超过水池下限位,说明系统在正常的工作,水池下限位的指示灯 a1灭。此时,水池的 液位已经超过了下限位了,系统检测到此信号时,由于水塔液位低于水塔水位下限,电机 M 开始工作,向水塔供水,当水池的液位超过水池上限液位时,水池上限指示灯 a2,电磁阀 就关闭,但是水塔现在还没有装满,可此时水塔液位已经超过水塔下限水位,则水塔下限 指示灯 a3灭,电机 M 继续工作,在水池抽水向水塔供水,水塔抽满是,水塔也未超过水塔上 限,水塔上限指示灯 a4灭,但刚刚给水塔供水的时候,电机 M 已经把水池的水抽走了,此时 水塔液位已经低于水池上限,水池上限指示灯 a2良。此次给水塔供水完成。
程序流程图
水塔水位控制系统的 PLC 控制流程图,根据设计要求控制流程图如下:
梯形图
根据程序流程图设计的梯形图如下
水塔水位控制系统梯形图的对应指令表
水塔水位控制系统指令表
结束语
在江苏信息职业技术学院学的所有课程的我,在毕业之际,要用我所学的知识作出后 一个设计,来给予我这三年所学知识的一个肯定。
我做的这个题目是有关与 PLC 系统理论与实践相结合的设计。在此时对以前学习的知识 的挑战与突破。在对这个设计的材料搜索进行独立搜索时,对于办公软件的应用有了进一 步的提高。同时在对搜集的材料进行整核,结合所学理论知识,以及实际应用操作的情况 下,提高了实际操作和独立解决问题的能力。
通过这次设计实践。让我更熟练的掌握了三菱的 PLC 软件的简单编程方法,对于三菱的 PLC 的工作原理和使用方法也有了更深刻的理解。 在理论的运用中, 也提高了我的工程素质。 刚开始学习三菱 PLC 软件时,由于我对一些细节的不加重视,当我把自己想出来的一些认为 是对的程序运用到梯形图编辑时,问题出现了。转换成指令表后则显示不出很多正确的指 令程序,这主要是因为我没有把理论和实践相结合,缺乏动手能力而造成的结果,最后通 过老师的纠正和自己的实际操作,终于把正确的结果做了出来,同样也看清了自己的不足 之处。
设计过程中得到老师的意见和同学的提醒,再加上上网搜集到的资料,我也明白了不 是每个问题都能自己解决的,只有通过自己努力以及别人的帮助才能把工作做得更好,古 人说:三人行必有我师、思而不学则殆。所以说学习要善于向别人请教,学思结合。 如今毕业设计是做完了,可是我的学习之路还没有完,是这次设计让我明白了人这一 辈子不能仅仅局限于那一点点满足感,要放眼望去,通过去参与各种实践,提升自己的动 手能力,创造属于自己的未来。
参考文献
[1] 廖常初.《 PLC 基础及应用》.北京 机械工业出版社, 2004
[2] 王兆义.《可编程序控制器教程》.北京机械工业出版社 2005
[3] 三菱 FX
2N
系列《微型可编程控制器使用手册》
[4] 张万忠 . 《可编程控制器应用技术》 . 北京:化学工业出版社, 2001
[5] 李俊季、赵黎明 . 《可编程控制应用技术实训指导》 . 北京:化学工业出版社, 2001 [6] 张桂香 . 《电气控制与 PLC 应用》 . 北京:化学工业出版社, 2003
[7] 钟肇新、范建东 . 《可编程控制器原理及应用(第三版) 》 . 广州:华南理工大学出 版社, 2003
[8] 吕景泉 . 《可编程控制器技术教程》 . 北京:高等教育出版社, 2000