PLC实现两线连接型数显仪表系统设计

发布者:糖果龙猫最新更新时间:2014-03-13 来源: elecfans关键字:PLC  数显仪表系统  STC89C51 手机看文章 扫描二维码
随时随地手机看文章

  引言

     目前的PLC系统有时需借助于专用的人机界面(HMI)、工业PC来显示过程变量或设置系统参数。HMI和IPC不仅增加了PLC系统的成本,而且无法适应高温、高湿热、多粉尘的工作环境。如果使用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.0~P1.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位表示小数点显示位置的信息。[page]

  3.1 外中断0服务程序

 外中断0由数据信号线的下降沿触发,在其中断服务程序中,如果检测到时钟线为低电平,则视为同步信号。当检测到3个同步脉冲后,则表明收到了正确的同步信号,此时关闭外中断0,开启外中断1,借助于外中断1服务程序接收数据。如果在前一次或前两次中断服务程序中已检测同步脉冲而本次未检测到同步脉冲,则视为无效同步信号。外中断0服务程序的主要代码如下:

  void Int0_Srvice(void) interrupt 0

  { p33=1;

  if(p33==0) SysClock++; //有效,同步脉冲加1

  else SysClock=0; //无效,同步脉冲清零

  if(SysClock==3)

  { //检测到3个同步脉冲

  RecEnable=1; //置允许接收标志

  EX0=0; //关闭外中断0

  EX1=1; //开放外中断1

  }}

  3.2 外中断1服务程序

  外中断1由时钟信号线的下降沿触发,在其中断服务程序中,如果查询到已建立允许接收标志,则接收16位显示数据的BCD码和2位小数点位置信息,并将其转换为18位并行数据,存于DispData变量中供T0中断服务程序进行显示。由于显示数据和小数点位置信息都是低位在前,高位在后,所以在程序中使用右移操作实现串行数据到并行数据的转换。小数点位置信息为0~3时,表示小数点分别位于数码管的千位、百位、十位和个位之后。如果小数点在个位之后,则不显示小数点。当接收到18位信息后,则关闭外中断1,重新开放外中断0进行下一周期的数据传输。外中断1服务程序的主要代码如下:

  void Int1_Srvice(void) interrupt 2

  { if(RecEnable==1) //允许接收

  { p32=1; //检测数据线电平

  if(p32==1) RecData=RecData|0x40000;

  RecData=RecData>>1; //实现串/并转换

  DataClock++;

  if(DataClock==19) //已接收到18位数据

  { //显示数据存于DispData中

  DispData=RecData;RecData=0;

  SysClock=0;DataClock=0;

  RecDone=1;RecEnable=0;

  EX0=1; //开外中断0

  EX1=0; //关外中断1

  }}}

  4 应用实例

  利用PLC系统的(n+1)个输出点可以连接n台数显仪表,其中1点用作公共时钟线,n点用作n台数显仪表的数据线。使用数显仪表显示PLC系统的数据或参数时,还必须给PLC系统编写满足时序要求的驱动程序。

  4.1 PLC驱动程序设计

  此处以三菱FX2N PLC系统为例,介绍PLC系统驱动程序的编写方法。假设使用Y0作为数据线,Y1作为时钟线,则PLC驱动程序的梯形图如图5所示。程序中使用D0单元存放显示数据,其取值范围为0~9999,D1单元存放小数点位置信息,其取值范围为0~3。占用的资源包括计数器C0~C1和中间继电器M100~M131,可以结合用户程序进行相应的调整。

  
图5 FX2N PLC显示驱动程序

  4.2 多台数显仪表与PLC系统的连接

  多台数显仪表与PLC系统的连接如图6所示,图中的1台FX2N PLC连接了8台数显仪表,PLC的Y10用作公共时钟线,Y0~Y7分别用作8台数显仪表的数据线。PLC系统的驱动程序和图5类似。由于多台仪表的时钟线是公共的,数据线是并行输出的,因此多台数显仪表的数据刷新时间和其连接的数量无关,可以确保PLC系统数据显示的实时性。

  5 结论

  该数显仪表无需知晓任何PLC系统的协议,仅使用PLC系统的n+1个输出点即可实现在n台数显仪表上显示其数据或参数。占用较少的PLC资源,既可扩充PLC系统的外围显示设备,又间接地解决了HMI无法适应恶劣工作环境等实际工程问题。

  本文作者创新点:该数显仪表解决了PLC系统直接驱动数码管占用太多资源的问题,间接地解决了基于PLC系统通信口的一类数显仪表需要知晓通信协议等问题。

关键字:PLC  数显仪表系统  STC89C51 引用地址:PLC实现两线连接型数显仪表系统设计

上一篇:变压器的晶闸管调压方法的设计
下一篇:基于AT89C51的微型可编程控制器

推荐阅读最新更新时间:2024-03-16 13:37

PLC-BUS智能家居控制系统的应用
一、PLC-BUS系统概述 1. PLC-BUS技术         电力线通信总线技术(PLC-BUS)是一种具有高稳定性及较高价格性能比的双向电力线通信总线技术,它主要利用已有的电力线来实现对家用电器及办公设备的智能控制。这种电力线通信技术是由位于荷兰阿姆斯特丹市的欧洲荷兰电力通信系统有限公司(ATS.,CO)研发而成,该公司致力于设计、开发和制造先进的电力载波灯光控制技术,并因此技术的革新被获得多项专利。          ATS公司推出了一整套基于PLC-BUS技术的智能灯光控制系统,它重新定义了家庭内部高可靠、低成本智能灯光控制的新标准,此项技术拥有很高的系统稳定性和可靠性,为商业住宅提供了更为经济的智能化控制解
[嵌入式]
PLC的梯形图监控调试程序操作步骤
程序编写完成后,需要检查程序能否达到控制要求。检查方法主要有: 一是从头到尾对程序进行分析来判断程序是否正确,这种方法最简单,但要求编程人员有较高的PLC理论水平和分析能力; 二是将程序写入PLC,再给PLC接上电源和输入/输出设备,通过实际操作来观察程序是否正确,这种方法最直观可靠,但需要用到很多硬件设备并对其接线,工作量大; 三是用软件方式来模拟实际操作,同时观察程序运行情况来判断程序是否正确,这种方法不用实际接线又能观察程序运行效果,所以适合大多数人使用,这篇文章就介绍这种方法。 一、用梯形图监控调试程序 在监控调试程序前,需要先将程序下载到PLC,让编程软件中打开的程序与PLC中的程序保持一致,否则无法进入监控。进入监
[嵌入式]
<font color='red'>PLC</font>的梯形图监控调试程序操作步骤
基于PLC的电梯控制系统的设计与实现
引言   电梯是高层建筑不可缺少的垂直方向的交通运输工具。   随着经济和技术的发展,电梯的使用领域越来越广,电梯已成为现代物质文明的一个标志。由于传统的电梯运行逻辑控制系统采用的是继电器逻辑控制线路。采用这种控制线路,存在易出故障、维护不便、运行寿命较短、占用空间大等缺点。   从技术发展来看,这种系统将逐渐被淘汰。   PLC是一种专门为工业环境设计的通用控制装置,可以完成大型而复杂的控制任务,以可靠性高、通用性强、体积小、成本低着称,成为工业自动化的技术支柱之一,在工业自动控制领域占有十分重要的地位 。本文将可编程序控制器(PLC)应用于三层电梯进行逻辑控制,设计了一套完整的电梯控制系统方案并通过三层电梯模型实现了其
[安防电子]
基于<font color='red'>PLC</font>的电梯控制<font color='red'>系统</font>的设计与实现
基于EASY嵌入式PLC芯片构建现场总线ETS系统
TSI系统(汽轮机状态监视和保护系统)和ETS系统(汽轮机危机跳闸系统)是火力发电厂保证汽轮机和发电机正常运转的重要设备,在火力发电企业运用十分普遍。在当前的大部分应用中,这两套系统是互相独立的,一般由专业的TSI设备供应商提供TSI系统,而ETS系统则用通用的PLC来构建。但事实上两套系统之间存在着很多联系,TSI系统的输出往往是ETS系统的输入。如果能使两套系统有机融合,不仅可以节省成本,更可以使系统结构简化,从而提高可靠性。 针对以上情况,我公司选用科威公司的ESAY嵌入式PLC芯片构建了ETS系统的核心控制模块,通过CAN现场总线与我公司的现场总线TSI系统实现有机融合,相当完美地解决了当前ETS系统存在的诸多问题。 一、
[单片机]
基于EASY嵌入式<font color='red'>PLC</font>芯片构建现场总线ETS<font color='red'>系统</font>
物联网中PLC如何实现实时数据采集
数据采集传输对于后续企业进行分析和决策是十分重要的,而实时数据采集更能提升整体生产的认识度,从而采取到更加及时高效的措施。因此PLC实时数据采集成为企业的基础应用,那么PLC如何实现的实时数据采集呢? 协议解析 协议解析是PLC数据采集的第一步。不同品牌不同型号的PIC可能支持的通信协议是不一样的,如西门子、三菱、施耐德、欧姆龙、台达、汇川等。通信协议就像是不同语言一样,如果缺少解析翻译,肯定会缺少对话的基础。因此,如果没有对PLC进行协议解析,就无法获取PLC内部的数据,更不用提后续的数据上云了。 数据采集 协议解析后就能访问PLC内部寄存地址,通过点位表可以获取PLC执行的动作,进而了解设备的运行状态。对于企业来讲,P
[嵌入式]
基于PLC S7-200与步进电机的运动控制
PLC S7-200与步进电机的运动控制   步进电机的运行要有一电子装置进行驱动,这种装置就是步进电机驱动器,它是把控制系统发出的脉冲信号,加以放大以驱动步进电机。步进电机的转速与脉冲信号的频率成正比,控制步进电机脉冲信号的频率,可以对电机精确调速;控制步进脉冲的个数,可以对电机精确定位。
[嵌入式]
基于<font color='red'>PLC</font> S7-200与步进电机的运动控制
PLC应用中应注意的问题
      PLC是专门为工业生产服务的控制装置,通常不需要采取什么措施,就可以直接在工业环境中使用。但是,当生产环境过于恶劣,电磁干扰特别强烈,或安装使用不当,都不能保证PLC的正常运行,因此在使用中应注意以下问题。             一、工作环境             1. 温度       PLC要求环境温度在0~55℃,安装时不能放在发热量大的元件下面,四周通风散热的空间应足             够大,基本单元和扩展单元之间要有30mm以上间隔;开关柜上、下部应有通风的百叶窗,防止太阳光直接照射;如果周围环境超过55℃,要安装电风扇强迫通风。             2. 湿度       为了保证PLC
[嵌入式]
stc89c51单片机和lcd12864显示sin函数图像
制作出来的实物图如下: 这是图像 单片机源程序如下: #include reg51.h #include intrins.h #include math.h #define uint unsigned int #define uchar unsigned char #define pi 3.1419526 uchar f=16; uchar u=8; sbit RS=P2^6; sbit RW=P2^5; sbit PSB=P3^2; //lcd串行还是并行选择端 sbit RST=P3^4; //lcd的复位端口 sbit EN=P2^7; /*延时*/ void delay(uint x)
[单片机]
<font color='red'>stc89c51</font>单片机和lcd12864显示sin函数图像
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved