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

2010-11-25 10:34:59来源: 微计算机信息

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进行扩充。

用89C2051单片机仿真PLC简化后的电路原理

    图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,等等。

仿真板与被仿真PLC的输入/输出端口之间的一种对应关系表 

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

MCS

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

3. 2  编程实例
  
    图2为两台电机顺序控制的PLC控制梯形图。控制功能如下,当按下X002按钮后,使Y000得电而驱动泵电机动作,同时使下一梯级中的常开Y000闭合,从而使得再按X004,Y001才会得电而驱动主电机动作;否则,未按X002按钮,而先按X004按钮时,主电机将不会动作。按X003按钮后,只有主电机停止,而按X001按钮后,两电机才会同时停止。现在要求改用仿真板来实现两台电机顺序控制。
  
    改用仿真板的编程思路是,首先要确定仿真板与被仿真PLC的输入/输出端口之间的对应关系,可按照实际的输入/输出情况进行对应,其中输出端口之间的对应关系如表1所示,而输入端口之间的对应关系如表3所示。对图2中的梯形图按照上述确定的输入/输出对应关系进行替换,就可以得到用仿真板的两台电机顺序控制的梯形图如图3所示。

两台电机顺序控制的PLC控制梯形图
输入端口之间的对应关系

     接着,可以用等效替换的方法将梯形图转换为51汇编指令程序了。例如对于图3梯形图中的第一个梯级就可以按表2 MCS-51位操作指令与FX2系列PLC的基本指令对应关系进行转换,接点串联使用与指令,接点并联使用或指令。

程序
  
    按此方法对图3的梯形图进行转换,得到仿真板两台电机顺序控制的MCS51汇编指令程序如下:

程序
  
    接着,就可以用51系列仿真器(如万利MedWin),对转化后的汇编源程序进行编辑、编译,直至最后输出Intel HEX文件。将此十六进制文件的内容用编程器(如炜煌的WH-200B)写入到89C2051芯片中。最后,将固化好的89C2051芯片插入其仿真板座子上,就能成功地进行预定的两台电机顺序控制了。
  
4 总结
  
    用本文所述的用AtmelAT89C2051仿真PLC控制方法,已经成功做成专用的功能电路模块,如控制电机运行的星形-三角形减压起动电路模块,电机顺序起动运行电路模块,广告灯控制电路模块等等。由于该仿真电路板小巧灵珑、价格低廉,也十分适合教师在讲述PLC应用时,无需购买上千元的PLC,就能在多媒体教室演示仿真PLC的控制实验,较为生动地讲授学习梯形图编程。此外,仿真电路板整合了MCS-51单片机控制和PLC控制两门技术,还被成功用于本市首期维修电工高级技师培训的单片机和PLC应会项目和考核项目。

关键字:单片机  仿真  可编程逻辑控制器  梯形图

编辑:金海 引用地址:http://www.eeworld.com.cn/gykz/2010/1125/article_3622.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
单片机
仿真
可编程逻辑控制器
梯形图

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved