微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 一种用Atmel89c2051仿真PLC控制的方法

一种用Atmel89c2051仿真PLC控制的方法

时间:11-04 来源:互联网 点击:
1 引言

用Atmel89c2051来仿真PLC的控制,能集单片机控制和PLC控制的优点。单片机控制作为嵌入式系统的核心技术,具有高可靠性和高性价比,而且小巧灵珑、成本低廉;PLC控制中的梯形图编程与继电接触控制电原理图相似,简单易学,深受电气技术人员的欢迎。笔者设计了以89C2051单片机为主控芯片的硬件线路,以此仿真板为硬件平台,允许用户先按梯形图对控制对象编程,这对继电接触控制技术较为熟悉的电气技术人员来说提供了方便。由于仿真板本身是一个不带编译程序的仿真PLC的单片机应用系统,所以,先要将梯形图转化为MCS51汇编指令程序。然后,用51系列仿真器,对转化后的汇编源程序进行编辑、编译,直至输出Intel HEX文件,并将此十六进制文件的内容写入到89C2051芯片中。最后,将固化好的89C2051芯片插入其仿真板座子上,就能成功地进行预定的PLC的仿真控制了。

该仿真电路板价格低廉,使得使用者无需购买上千元的PLC,就能进行仿真PLC的控制。因此,它又十分适合做成专用的功能电路模块而开发成产品,还特别适合于教师在讲述PLC控制时的演示实验。同时,只要修改89C2051芯片中的程序,就能改变仿真板的控制功能,所以仿真板又是“柔性”的。

2 ATMEL89C2051单片机仿真PLC电路原理

2.1 仿真电路板的电路原理分析

ATMEL89C2051是20引脚的与8051兼容的8位高性能单片机。它内部含有2K字节闪速存储器,正是闪存的特点,使得ATMEL89系列单片机具有读写容易、价格低、功耗低和掉电信息不丢等优点。这也就是笔者在硬件结构上首先想到了用ATMEL89C2051作为PLC仿真控制电路的主控芯片。图1给出了用89C2051单片机仿真PLC简化后的电路原理。图1左下部分是仿真电路板的输入电路,由SB1~SB5、R3~R7和作为输入口的P3组成,5个开关的状态分别输入到P3口的P3.2~P3.5和P3.7。例如SB1和R3相连端是与引脚P3.2相连的,SB1未按下时,由于下拉电阻R3接地,输入到P3.2的是低电平;当SB1按下时,5V电压就通过开关SB1加到了P3.2,输入到P3.2的是高电平。这里只用了P3口的5条口线,留下的P3.0和P3.1还可以接2个开关,可以参照图1进行扩充。




图1中C2、C3和CR1晶体振荡器与单片机内部振荡器组成的振荡电路构成了时钟电路。C1、R2构成了上电复位电路。SB6按键按下后,将引起按键复位。

下面来分析图1右边部分电路,右边部分是仿真电路板的输出电路,P1口是作为输出口来使用的。P1.0的输出电路由R8、R9、R13、发光二极管D1、三极管T1和微型继电器KM1组成。R8是 P1.0的拉升电阻,又同R9一起给三极管T1提供偏置电流。P1.0输出信号经过三极管T1反相放大,去驱动继电器,再由继电器去驱动执行机构。当P1.0输出低电平时,三极管T1截止,T1的集电极为高电平,发光二极管不亮,继电器KM1也不得电。反之,当P1.0输出高电平时,三极管T1饱和导通,T1的集电极为低电平,发光二极管点亮,继电器KM1也得电。可见发光二极管的状态与继电器的通断状态是一致的,所以可以将发光二极管作为反映输出机构状态的指示。P1.1的输出电路由R10~R12、发光二极管D2、三极管T2和微型继电器KM2组成,其工作原理的分析也是一样的。不过图1中只用了P1.0和P1.1两个口线,留下的P1.2~P1.7还可以接6个输出驱动电路,如果需要的话,可以参照图1进行扩充。

2.2 仿真电路板与被仿真PLC的输入/输出端口之间的对应关系

首先要明确图1仿真电路与被仿真PLC的输入/输出端口之间的对应关系。从图1可以看出,89C2051的P3口对应为PLC的输入口, P1口对应为PLC的输出口。表1中按端口顺序给出了一种对应关系,P3.0~P3.5依次对应的是X000~X005,P3.7对应的是X007;P1.0~P1.7依次对应的是Y000~Y007。必须指出表1给出的仅仅是一种对应关系,完全可以按照实际的输入/输出情况进行对应,如也可以将P3.7对应为X000,等等。



3 仿真板的编程思路

3. 1 梯形图与MCS51汇编指令间的一一对应关系

能否把FX2系列PLC的梯形图转化为51汇编指令程序呢?笔者想到了89C2051具有布尔代数指令,特别是其中的位操作的逻辑指令,可以用这些位操作逻辑指令来替换FX2系列PLC的梯形图中的对应的基本逻辑指令。例如,可以用MCS-51的位与指令来替换PLC的接点串联指令,可以用MCS-51的位或指令来替换PLC的接点并联指令。下面将在仿真PLC控制中经常用到的可以替换的指令用表2列出。



从表2知道,MCS51汇编指令与PLC的助记符指令间的确存在着对应关系的,可以用51单片机的ANL C,BIT指令来代替PLC的AND指令,用ORL C,BIT指令来代替OR指令,用MOV指令来代替LD、OUT指令,用51单片机的跳转指令LJMP/AJMP来模拟PLC循环扫描描,等等。由于PLC的梯形图与其助词符指令之间也是一一对应的,如常开接点的串联对应AND指令,常开接点的并联对应OR指令,这样,就可以用等效替换的方法将梯形图转化为51汇编指令程序了。替换中最常用的方法是:接点串联使用与指令,接点并联使用或指令,具体如何转换将在下面的编程实例中详细说明。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top