用单片机实现闸阀门的开度检测_第1页
用单片机实现闸阀门的开度检测_第2页
用单片机实现闸阀门的开度检测_第3页
用单片机实现闸阀门的开度检测_第4页
用单片机实现闸阀门的开度检测_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

用单片机实现闸阀门的开度检测摘要:PLC以其固有的特性,在闸阀门智能化处理中得到了广泛的应用。解决好PLC与闸阀门开度检测装置间的数据传输接口是实现闸阀门高效、可靠、安全运行的关键。虽然,PLC提供SSI输入模块,但这类模块价格太高,需要配置专用电缆和处理软件。利用单片机实现与闸阀门开度检测装置(SSI)的输入接口,实现串行数据转换成并行数据与PLC数值量输入模块连接的输出接口。这样既降低了成本,又简化了PLC的编程。关键字:单片机闸阀门检测方法闸阀门开度检测测装置在淮安安三线船闸工工程中,是实实现闸阀门安安全、高效和和智能化运行行的主要设备备之一。该检检测装置运用用主要目的为为:(1)在闸阀门门启闭操作时时,用于实时时指示闸阀门门的开度位置置,以利于操操作员及时掌掌握闸阀门的的运行情况;;(2)闸阀门开开度参与闸阀阀门的运行控控制,如使阀阀门开启至任任意设定开度度,实时监视视阀门在这一一设定开度时时的下滑情况况,并根据阀阀门下滑至不不同关键位置置时,立即采采取相应的处处理措施。(3)控制左右右人字闸门同同步运行与平平稳变速运行行。ROQ425是是德国海德汉汉(HENDEENHAINN)的(13位+12位)绝对编编码器。特别别适合于高精精度、大量程程闸阀门行程程测量和控制制的场合,是是构成闸阀门门检测装置的的主要部件。具具有如下主要要特点:(1)分辨率高高,最高可达达8192线/转(13位);(2)量程大,最最高可达4096转(12位);(3)掉电位置置保护,无论论开度仪掉电电多少时间,系系统上电后,ROQ4225总能准确地地测量出闸门门当前的开度度。(4)数据输出出接口,采用用串行同步接接口(SSI)传输数据据。PLC以其固有有的特性,在在闸阀门智能能化处理中得得到了广泛的的应用。解决决好PLC与闸阀门开开度检测装置置间的数据传传输接口是实实现闸阀门高高效、可靠、安安全运行的关关键。虽然,PLC提供SSI输入模块,但但这类模块价价格太高,需需要配置专用用电缆和处理理软件。利用用单片机实现现与闸阀门开开度检测装置置(SSI)的输入接接口,实现串串行数据转换换成并行数据据与PLC数值量输入入模块连接的的输出接口。这这样既降低了了成本,又简简化了PLC的编程。1.硬件设计计硬件设计方案主主要实现(1)与ROQQ425的SSI连接;(2)与PLCC模拟量输入入模块和MODBUUS口的连接;;(3)完成输入入串行数据(ROQ4225SSII)到输出4-20mmA的转换。(4)完成输入入串行数据(ROQ4225SSII)通过MODBUUS口输出到PLC1.1ROQQ425SSSI接口介绍ROQ425SSI接口电压为5V±5%,空载时最最大电流功耗耗为250mA。采用差分SN65LLBC1766线接收/驱动器进行行数据传输,最最远传输距离离可达100m。ROQ4225内部接口见见图1。ROQ425是是多圈绝对型型旋转编码器器,每圈用13位表示精度度,用12位记录圈数数。因此,开开度绝对位置置值采用25位字长表示示。数据发送送时序关系见见图2,其工作原原理为:不发送数据时,CLOCK为高电平。数据发送过程::当ROQ4225接收到CLOCK发送周期(nT)的第一个个下降沿时,ROQ4225读取25位字长的绝绝对位置值存存入数据缓存存器。数据缓缓存器中数据据随着CLOCK发送周期的的上升沿串行行同步发送数数据,第一个个发出的数据据位是绝对位位置值的第25位(MSB),最后一一个发出的数数据位是绝对对位置值的第第1位。中断数据发送::在数据发送送过程中,当当CLOCK为高电平时时间超过t3(35uss)时,ROQ4225终止当前数数据发送周期期,为下一个个重新开始的的发送周期做做好准备。数据重发:当完完成一个绝对对位置值的数数据字发送周周期后,DATA维持t3时间的低电电平。若在t3(12~355us)内,CLOCK开始一个新新的发送周期期,就会重发发刚才发送的的绝对位置值值数据。1.2硬件工工作原理硬件设计由SSSI接口、I/O接口、单片片机和电源四四部分组成。(1)SSI接接口选用ROQ4225推荐的RS422接口芯片MAX4888。(2)I/O接接口采用光电电耦合器隔离离,DA模块采用AD75441和AD694。MODBUUS接口模块采采用MAX2332E。(3)单片机选选用高性能的的AT89CC51(单字长指指令、定时/计数器、看看门狗)(4)选用244VDC输入5VDC输出和24VDC输入15VDC输出的DC/DC模块电源。原理图如下2.软件设计通过对ATT89C511进行编程,达达到实时将SSI接口数据转转换成4-20输出或通过MODBUUS口传送至PLC系统的目的的。主要流程程如下:第一步:初始始化设置。包包括串口设置置,中断设置置,PLC地址的设置置,零点设置置等第二步:读取RROQ4255数据并转换换成十进制第三步:将转换换过的数据通通过并口和串串口输出第四步:重复第第二步下面是AT899C51的部分源程程序:#includde<reeg51.hh>#includde<stddio.h>>/*ddefineeI/Ofuncttions*/#includde<abbsacc..h>

/*definneabssaccffunctiions**/#includde<STDDLIB.hh>

/*definneabssaccffunctiions**/#includde<inntrinss.h>//*#deffineuucharunsiggnedcchar*//#definee_Nopp()_nnop_())typedeffunsiignedintwword;typedeffunsiignedcharbyte;;typedeffunsiignedlongdwordd;staticworddata

da,ddb,dc,,df,p,,crc1,,cir,hhigh;staticdwordddataa

da11,db1,,dc1,ddf1,ddd,de,mmax,zeero,zeero2,ddcb;staticbytedata

showw[7],sshow1[[4],shhow2[44],senndm[8]],s[4]],bb[44];staticbytedata

dd1,,watchh,kk,tt[1],ddd2[1]];codebyytediisp[166]={0xx77,0xx41,0xx3b,0xx6b,0xx4d,0xx6e,0xx7e,0xx43,0xx7f,0xx6f,0xx5f,0xx7c,0xx36,0xx79,0xx3e,0xx1e};voidreeadgraay();//*读取ROQ4225数据*/void

ddelay(();void

ii_starrt();void

ii_stopp();void

ii_initt();voidi__send((byte));voiddiisplayy();voidchhange((dwordd);voidchhange11(dworrd);voidseetzeroo();voidzeero1());voidnuub();voidadddr();;voidciir1();;voide__startt();voide__stop(();voide__send((byte));bytee__recevvie();;voide__ack(bbit);voide__send11(dworrd);bitiseend(byyte,byyte,byyte*,,byte));bitireeceivee(bytee,bytee,bytee*,byyte);voidwaatchdoog();voidonne();voidtwwo();voidthhree());voidonne1();;voidtwwo1();;voidthhree1(();voidpoos();voidrees();voidcoomsendd(bytee);wordcrrc16(bbyte**);byteshhj();voidmaain(){

regiisteri,j,kk,x;

bitd;

dcb==0;

showw[0]=00x70;

showw[1]=00x00;

showw[2]=00x27;

dispplay());

for(i=0;;i<4;ii++)

{

shoow1[i]]=0;

shoow2[i]]=0;

}

SCONN=0xc88;/*采用方式3*/

TMODD=0x200;

TH1==0xfd;;TL1=0xffd;

TR1=11;

ET1=00;ES=0;

EA=00;

highh=0x077;

max==8000;;

dd1==0;

sda11=1;

delaay();

sda11=0;

dd2[[0]=0;;

while((1)

{

for(j=0;;j<4;jj++){

forr(x=00;x<8;;x++)

{

zeero2*==2;

z==(bit))(showw2[j]&&0x80));

iff(z===1)

zzero2+++;

shhow2[jj]=shoow2[j]]<<1;

}

}

zeroo=zeroo2;

p=0;;

watcchdog(();

txd==1;

readdgray(();

watcchdog(();

dd=dda&00x0ffff;de=db&&0x1ffff;dc1=dd**8192++de;P0=dc1&0x00000000ff;///(dc1&&0x0000001ffe)>>11;

P2=((dc1&0x000000f000)>>8;;//(dcc1&00x000001e00))>>9;

if(tt[0]===1)

{

if(((zeroo>=0)&&&(zerro<=1000000000))onee();

elsseiff((zerro>1000000000)&&(zzero<==333900591)))ttwo();;ellsetthree(();

}

elsee

{if(((zero>>=0)&&&(zeroo<=1000000000))onee1();

elsseiff((zerro>1000000000)&&(zzero<==333900591)))ttwo1());ellsetthree11();

}

seendm[00]=0x006;

seendm[11]=0x006;

seendm[22]=0x000;

seendm[33]=0x005;

seendm[44]=dc11/256;;

seendm[55]=dc11%256;;

crrc1=crrc16(ssendm));

seendm[66]=crcc1/2256;

seendm[77]=c

温馨提示

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

评论

0/150

提交评论