可编程控制器也即plc,在自动化行业,可编程控制器占据着重要地位。对于可编程控制器,小编在往期文章中对它的理论知识有所介绍。为增进大家对可编程控制器的认识,本文将对基于at89c51的微型可编程控制器予以讲解。如果你对可编程控制器具有兴趣,不妨继续往下阅读哦。
用单片机构成的plc,实际上就是一个单片机测控系统。用这样一个程序控制的计算机系统去执行继电控制的梯形图程序,由于继电控制梯形图中各被控电器之间是并行关系,而计算机程序控制中,各被控电器之间在时间上是串行关系,二者显然不协调。若简单地像一般单片机测控系统一样,对梯形图各程序行依次实时采集输入端子状态,进行处理后实时输出,是达不到控制目的的。为此,必须采用 性采集全部输入端子状态,并将其存入输入缓冲区。然后,按梯形图程序行的逻辑关系,从输入缓冲区读取相应输入端子状态,处理后将待输出的结果存入输出缓冲区。 ,待梯形图程序行全部执行完毕, 性将输出缓冲区的值输出到相应的输出端子,从而完成一个程序执行周期。如此往复,自动进行下一轮的采集输入端子状态……。这种工作方式即称为扫描方式,它将串行程序工作和电器并行工作两种关系协调了起来。另外,单片机执行一条指令的时间是μs级,执行一个扫描周期的时间为几ms乃至几十ms。相对于电器的动作时间而言,扫描周期是短暂的,可以认为在一个扫描周期内输入端子的状态是不变的,而对其状态变化的采集和处理也是实时的,从而满足了实时控制的要求。
系统硬件配置以at89c51(以下简称51)单片机为 ,如图1所示。该单片机有4 kb闪存,不必扩展程序存储器,其4个i/o口共32个i/o引脚,都可供用户使用,其中p0.7~0.0,p2.4~2.0共13个脚经光耦隔离后连到相应的输入端子x07~x00,x14~x10。可以用行程开关、液位开关、霍耳开关和手动按钮等进行输入。开关接通时,相应引脚为“0”,取反后存入输入缓冲区。
p1.7~1.0共8个引脚用于输出控制:p1.i为“0”时,相应的pnp管导通,继电器ji线圈通电,其触点y5i接通,可驱动220 v/3 a的负载。
为了与pc机进行通信,系统扩展了rs-232c接口电路。51单片机的rxd和txd信号经rs-232c电平变换后接至9芯插座。由此可与pc机进行串行通信。一方面,在编程状态时,可接收pc机上梯形图汇编程序编译结果的obj指令代码,并存入程序存储器;另一方面,在运行状态时,可将i/o口的状态和处理结果实时地发送给上位机。
程序存储器选用有spi接口的x25045芯片。这是带可编程看门狗和电源监控功能的e2prom,有512字节,每字节可擦写10万次,数据可保存100年。上电时自动提供200 ms高电平复位脉冲;有三种可编程看门狗周期;电源欠压,vcc降到转折点时,自动提供复位脉冲。e2prom采用三线总线的串行外设接口spi,既节省了i/o口线和电路板空间,又降低了系统成本。因此,该芯片是性价比极好的组合芯片。
软件设计分为pc机梯形图汇编程序编译软件和51单片机软件两部分。前者用ibm-pc汇编语言编写,我们称之为plc编译软件。本机中我们自己设计了一套td型plc的梯形图汇编语言指令系统,有ld/ldi、an/ani、or/ori、tm/tmi、cn/cni、ma/mai、out、jp/je和end等16条基本指令和x00~07、x10~14、y00~07、cn0~1、tm00~07、ma00~07、10~17等器件。用它们来描述继电器梯形图,即设计梯形图汇编程序。用全屏幕编辑软件将其输入到pc机,即建立了源程序文件。然后用plc编译软件将其编译成plc目标程序文件(obj文件),并经串行通信口发送到单片机,由单片机将其写入e2prom。
51单片机软件由编程软件和运行软件组成。编程软件主要有串行通信和写e2prom两个模块。此时,须将面版上的手动开关设置p2.7=“0”,单片机即处于编程状态。当p2.7=“1”时,单片机即处于运行状态。运行状态的程序主要有:
(1)输入端子采集模块
该模块两次采集p0口和p1口状态,结果全同时为有效,即将其存入输入缓冲区,否则重新采集。用软件滤波的方法,提高了抗干扰能力。
(2)指令分析模块
该模块从000h地址开始,依次读取e2prom中的字节内容,先读出操作码,对其分析后转向相应的处理程序;接着读操作数,供处理程序操作,从而完成一条梯形图汇编指令的执行。然后再读取下一条指令的操作码……。遇到out指令时,将待输出的数据存入相应的输出缓冲区。
(3)输出模块
当cpu从e2prom中读到end指令的二进制代码时,表示 扫描周期结束,即将输出缓冲区的内容 性输出到p1口,从而完成输出端子的刷新。
该plc的应用可以用水塔水位控制的例子来说明。
图2(a)是硬件接线图,sb1/sb2是启动/停止按钮;sac是水池液位开关:水浸到时接通,无水时断开;sah、sal分别是水塔的高低液位开关;m是水泵电机。
图2(b)是继电器梯形图,图2(c)是继电器汇编程序,即td型plc源程序。其中y50是plc输出端子,我们将它的软件触点y50作为水位上升或下降的标志:y50=“0”,表示电机已停,水位下降,此时sal虽已接通,但电机不动作;y50=“1”,表示电机正在抽水,水位上升,此时sal接通,电机通电,继续抽水,直到高水位。
系统完成了预期设想的功能目标。基于at89c51的微型可编程控制器有其自己的优势,广泛用于生产生活中。
MS1681单通道视频缓冲器
预计2024年一季度宁德时代宜春碳酸锂将迎来量产
清锋光固化3D打印机搭配3D打印柔性材料实现众多商业化产品落地
莫仕的信号完整性解决方案:优化高速数字信道
笔记本摄像头浅析与应用
一点点了解可编程控制器,微型可编程控制器介绍
智慧警务安防产品技术创新应用与发展
碳化硅和氮化镓的特性、优势及应用范围
万能的石墨烯,它将从多个方面来改变世界
那些让程序员目瞪口呆的BUG:麻省理工“只能发500英里的邮件”
电源适配器在什么情况下容易效率低下?
高通、英特尔投资中国芯片企业背后的原因
SK海力士计划在中国设立合资工厂,扩展芯片代工业务
华为手机Q1销量5900万台,幕后功臣光弘科技也迎来了2019年的开门红
入行智能家居 首先需要考虑这些事项
任正非接受采访表示 华为可以“独立应付”美国禁令!
全碳纤维打造的无人机 汽车都压不坏它
为什么已经拥有Android操作系统的谷歌想要建立全新的“Fuchsia”?
Samtec连接器技术前沿 | 信号发生器 - 可靠性的关键所在
光电传感器的构成特点及类型