论文导读:可编程控制器(PLC)是专门用于工业控制的智能化电器,不是单纯的一个芯片。单片机具有较强的开关量逻辑记忆、判断,数据运算、处理能力,并具有体积小、功能多样化、可靠性高、价格低等特点。以AT89S51(以下简称51)单片机为例,该单片机有较大的闪存空间,不必扩展程序存储器,其4个I/O口共32个I/O引脚,都可供用户使用,其中P0.7~0.0和P2.3~2.0共12个脚,经光耦隔离后连到相应的输入端子。
关键词:PLC,单片机,AT89S51,模拟控制
可编程控制器(PLC)是专门用于工业控制的智能化电器,不是单纯的一个芯片。免费论文。但它也存在一些不足:内存有限,编程优化调试困难,价格高,针对性差。当环境条件尚好,控制量不大,控制逻辑不复杂,控制要求不高时,它的优势不但不能完全发挥出来,而且会使控制系统成本提高。
单片机具有较强的开关量逻辑记忆、判断,数据运算、处理能力,并具有体积小、功能多样化、可靠性高、价格低等特点。所以,可以利用单片机通过增加一些输入电路,构成一个微机PLC,完成各种控制。
PLC的优点在于:系统结构紧凑、造价低、针对性强,在设计时完全按照需要扩充I/O接口、选择输入输出电路与装置的类型以及内存容量,可以更加方便灵活地构成自己适用的控制系统,没有不必要的浪费,而且在控制性能方面仍能保持PLC的优势。
当不需要很复杂的控制过程、不需要特别高的可靠性,那么就可以采用单片机控制来实现这个功能。工业单片机控制板其实就是一个精简、低端的PLC系统。
1、单片机构成PLC
1.1 设计思路
用单片机构成的PLC,实际上就是一个单片机测控系统,用这样一个程序控制的计算机系统去执行PLC梯形图程序。由于PLC梯形图中各被控电器之间是并行关系,而计算机程序控制中,各被控电器之间在时间上是串行关系,二者显然不协调。
若简单地像一般单片机测控系统一样,对梯形图各程序行依次实时采集输入端子状态,进行处理后实时输出,是达不到控制目的的。为此,必须采用一次性采集全部输入端子状态,并将其存入输入缓冲区。然后,按梯形图程序行的逻辑关系,从输入缓冲区读取相应输入端子状态,处理后将待输出的结果存入输出缓冲区。最后,待梯形图程序行全部扫描执行完毕,一次性将输出缓冲区的值输出到相应的输出端子,从而完成一个程序执行周期。如此往复,自动进行下一轮的采集输入端子状态……。这种工作方式即称为扫描方式,它将串行程序工作和电器并行工作两种关系协调了起来。另外,单片机执行一条指令的时间是μs级,执行一个扫描周期的时间为几ms乃至几十ms。相对于电器的动作时间而言,扫描周期是短暂的,可以认为在一个扫描周期内输入端子的状态是不变的,而对其状态变化的采集和处理也是实时的,从而满足了实时控制要求。
1.2 系统硬件配置

PLC控制板分布图

PLC控制板接线图
以AT89S51(以下简称51)单片机为例,该单片机有较大的闪存空间,不必扩展程序存储器,其4个I/O口共32个I/O引脚,都可供用户使用,其中P0.7~0.0和P2.3~2.0共12个脚,经光耦隔离后连到相应的输入端子。开关接通时,相应引脚为'0',取反后存入输入缓冲区。按照实际应用需要,输入电路应具有光电耦合器隔离、消除抖动及噪声的RC滤波器、电平转换等。
P1.7~1.0和P3.1~2.0共10个引脚,用于输出控制。输出电路可以有晶体管输出型、继电器输出型、晶闸管输出型等,在此例中采用了直流固态继电器和交流固态继电器,用于控制电机的启停。
为了与PC机进行通信,系统扩展了RS-232C接口电路。51单片机的RXD和TXD信号经RS-232C电平变换后接至9芯插座。由此可与PC机进行串行通信。
1.3 软件设计
软件设计分为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。另外一种常用的方法由PLC软件是把梯形图转换成C或汇编语言(由PLC所使用的CPU决定),然后利用汇编或C编译系统编译成机器码,下载到单片机中。
1.4 程序编写
;**********主程序*
ORG00H
AJMP START
START:;初始化端口出口
MOV P0,#11111111B
MOV P1,#11111111B
MOV P2,#11111111B
MOV P3,#11111111B
LOOP: JNBX0,OFF ;检查停止键X0是否按下
JNB X1,ON ;检查起动键X1是否按下
AJMPLOOP ;重复执行程序
OFF: SETBY0 ;停止键X0按下,Y0断电
AJMP LOOP ;重复执行程序
ON:CLR Y0 ;停止键X1按下,Y0通电
AJMP LOOP ;重复执行程序
END ;程序结束
;**********************************************
;X0----电机停止开关
;X1----电机起动开关
;Y0----驱动电机接触器线圈端口
;**********************************************
1.5下载、测试
将程序经串行通信口发送到单片机,由单片机将其写入E2PROM。可以通过输入按键正常控制电机的启动和停止。
2、结束语
利用单片机实现PLC功能的方法,对于简单的电机控制以及小型自控系统都有着一定的参考价值和广阔的应用前景。运用于教学,可以让同学们更好的掌握单片机知识以及PLC知识。
[参考文献]
[1]赵建领 51系列单片机开发宝典[M].北京:电子工业出版社,2007(27-119)
[2]林伸茂 8051单片机彻底研究:经验篇[M].北京:中国电力出版社,2007
[3]韩全立 单片机控制技术及应用[M].北京:电子工业出版社,2004(58-135)
[4]侯世英 PLC教程(第3版) [M].北京:人民邮电出版社,2007(60-89)
[5]廖常初 PLC基础及应用[M].北京:机械工业出版社,2003
|