基于用PLC系统两线连接型数显仪表的设计.doc_第1页
基于用PLC系统两线连接型数显仪表的设计.doc_第2页
基于用PLC系统两线连接型数显仪表的设计.doc_第3页
基于用PLC系统两线连接型数显仪表的设计.doc_第4页
基于用PLC系统两线连接型数显仪表的设计.doc_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

0 引言可编程逻辑控制器简称plc(programmable logic controller),具有编程简单、可靠性高、通用性强和使用方便等特点,广泛应用于工业控制中的各类生产过程1。目前的plc系统多用指示灯来显示生产过程或设备的状态信号,或借助于专用的人机界面(hmi)、工业pc来显示过程变量或设置系统参数。hmi和ipc不仅增加了plc系统的成本,而且无法适应高温、高湿热、多粉尘的工作环境。基于led的数显仪表具有环境适应性强、显示直观、醒目等优点,可以满足某些工业现场的特殊显示需求。然而,如果使用plc系统的i/o直接驱动数码管进行显示,则需要占用大量的plc系统i/o资源。本文采用单片机和程序控制技术,通过特定的传输时序,只需使用plc系统的2个i/o点即可实现其参数显示。1 硬件设计以stc89c51为核心实现的plc系统两线连接型数显仪表的硬件组成如图1所示。整个硬件系统主要由stc89c51单片机、输入接口、程序下载接口、数码管显示驱动电路、按键输入(可选)和报警输出(可选)等部分组成。stc89c51和标准80c51保持硬件结构和指令系统兼容,提高了时钟速率,扩充了在系统编程(isp)、在应用编程(iap)、电源欠压检测与复位、看门狗复位等功能,其i/o口经过了特殊的设计,使其在工业控制环境中具有极高的可靠性2。图1 plc系统两线连接型数显仪表的硬件组成1.1 plc系统输入接口plc系统通过两个输出点将显示数据按照一定的时序传给数显仪表。plc系统一般有继电器出、可控硅输出、晶体管输出和24v直流电压输出等多种形式可供选择,一般使用其晶体管输出或24v输出形式经过相应的转换电路连接数显仪表。为了适应两种输出形式,采用光电耦合器统一将plc系统的输出信号转换为ttl电平信号。如果plc系统的输出形式为24vdc,例如西门子的s7系列plc,则plc输出与光电耦合器输入侧的连接如图2所示。如果plc系统的输出为晶体管集电极开路或漏极开路输出,如三菱的fx系列plc,则plc输出与光电耦合器输入侧的连接如图3所示。无论采用何种连接方式,转换后进入stc89c51单片机的信号逻辑都与plc系统的输出逻辑保持一致。使用光电耦合器实现信号转换,有利于提高系统的抗干扰能力,因为干扰信号即使具有较高的电压幅值,但其能量相对较小,形成的微弱电流一般不足以使光电耦合器导通3。转换后的两路信号分别作为数据线和时钟线,连接到单片机的两个外中断输入引脚,便于使用中断方式传输显示数据。图2 电压输出型plc接口图3 晶体管输出型plc接口1.2 程序下载接口借助于isp编程功能,可以通过rs-232c接口将程序代码从计算机下载到单片机内部的flash中。程序下载接口一般设计为标准的rs-232接口,使用一片max232转换芯片即可实现。1.3 数码管驱动电路为了确保数码管的显示亮度,使用两片74hc245实现数码管的驱动。其中一片74hc245用于驱动4位共阴极数码管的段码,其输入和单片机的p0口连接,输出则经限流电阻限流后与4位数码管的8个段码引脚连接。另一片74hc245驱动4位数码管的位码,其输入和单片机的p1.0p1.3连接,输出则分别和4位数码管的公共端连接。2 传输时序1台数显仪表和plc实现数据传输时需占用plc的2个输出点,分别用作数据线和时钟线。由于显示数据的传输是串行的,因此必须设计相应的传输时序。构建双方的传输时序时必须充分考虑plc系统的工作原理、输出特性及其差异以及传输过程的可靠性等问题。综合考虑这些因素后所设计的传输时序如图4所示。传输1次显示数据总共需要21个时钟周期,其中3个时钟用于同步信号,16个时钟用于传输显示数据的4位bcd码或特定的提示字符,2个时钟用于传输2位表示小数点显示位置的信息。显示数据和小数点位置信息的低位在前,高位在后。例如,图4表示传输的显示数据为8951,小数点位置信息为10,表示小数点在十位之后,因此最终显示数据为895.1。图4 数显仪表和plc系统之间的传输时序由于plc系统基于扫描原理周而复始地刷新输入信号、执行用户程序和输出运行结果4,在一个扫描周期内让plc系统的输出信号发生跳变难于实现,因此图4的一个时钟周期需要占用plc系统的两个扫描周期。每次传输过程增设3个同步脉冲是为了提高传输过程的可靠性,确保plc系统及其传输线路无论出现何种故障,都可以在故障恢复后的一个传输周期内正确地传输显示数据。3 软件设计数显仪表的程序由初始化、外中断0服务程序、外中断1服务程序和定时器t0中断服务程序4部分组成。t0每隔5ms中断1次,在其中断服务程序中根据接收到的显示数据及其小数点位置信息完成4位数码管的动态显示。外中断0服务程序用于检测同步信号,外中断1服务程序用于接收16位显示数据的bcd编码和2位表示小数点显示位置的信息。3.1 外中断0服务程序外中断0由数据信号线的下降沿触发,在其中断服务程序中,如果检测到时钟线为低电平,则视为同步信号。当检测到3个同步脉冲后,则表明收到了正确的同步信号,此时关闭外中断0,开启外中断1,借助于外中断1服务程序接收数据。如果在前一次或前两次中断服务程序中已检测同步脉冲而本次未检测到同步脉冲,则视为无效同步信号。外中断0服务程序的主要代码如下:void int0_srvice(void) interrupt 0 p33=1;if(p33=0) sysclock+; /有效,同步脉冲加1else sysclock=0; /无效,同步脉冲清零if(sysclock=3) /检测到3个同步脉冲recenable=1; /置允许接收标志ex0=0; /关闭外中断0ex1=1; /开放外中断13.2 外中断1服务程序外中断1由时钟信号线的下降沿触发,在其中断服务程序中,如果查询到已建立允许接收标志,则接收16位显示数据的bcd码和2位小数点位置信息,并将其转换为18位并行数据,存于dispdata变量中供t0中断服务程序进行显示。由于显示数据和小数点位置信息都是低位在前,高位在后,所以在程序中使用右移操作实现串行数据到并行数据的转换。小数点位置信息为03时,表示小数点分别位于数码管的千位、百位、十位和个位之后。如果小数点在个位之后,则不显示小数点。当接收到18位信息后,则关闭外中断1,重新开放外中断0进行下一周期的数据传输。外中断1服务程序的主要代码如下:void int1_srvice(void) interrupt 2 if(recenable=1) /允许接收 p32=1; /检测数据线电平if(p32=1) recdata=recdata|0x40000;recdata=recdata1; /实现串/并转换dataclock+;if(dataclock=19) /已接收到18位数据 /显示数据存于dispdata中dispdata=recdata;recdata=0;sysclock=0;dataclock=0;recdone=1;recenable=0;ex0=1; /开外中断0ex1=0; /关外中断14 应用实例利用plc系统的(n+1)个输出点可以连接n台数显仪表,其中1点用作公共时钟线,n点用作n台数显仪表的数据线。使用数显仪表显示plc系统的数据或参数时,还必须给plc系统编写满足时序要求的驱动程序。4.1 plc驱动程序设计此处以三菱fx2n plc系统为例,介绍plc系统驱动程序的编写方法。假设使用y0作为数据线,y1作为时钟线,则plc驱动程序的梯形图如图5所示。程序中使用d0单元存放显示数据,其取值范围为09999,d1单元存放小数点位置信息,其取值范围为03。占用的资源包括计数器c0c1和中间继电器m100m131,可以结合用户程序进行相应的调整。图5 fx2n plc显示驱动程序4.2 多台数显仪表与plc系统的连接多台数显仪表与plc系统的连接如图6所示,图中的1台fx2n plc连接了8台数显仪表,plc的y10用作公共时钟线,y0y7分别用作8台数显仪表的数据线。plc系统的驱动程序和图5类似。由于多台仪表的时钟线是公共的,数据线是并行输出的,因此多台数显仪表的数据刷新时间和其连接的数量无关,可以确

温馨提示

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

最新文档

评论

0/150

提交评论