基于单片机的PLC系统的实现

分享到:
点击量: 205367

1 引言

  可编程控制器(plc)作为继电控制盘的替代物,以极高的可靠性和应用方便等特点,成为当今用途*为广泛的工业控制器。现在它的应用已突破了当初逻辑控制的场合,深入到过程控制、位置控制、网络通讯等工程领域。本文根据某工程的实际需要,以三菱plc为模拟目标,提出了一种以单片机构建plc系统的思想。

2 系统构成

  系统框图见图1。

  该系统cpu芯片使用了一种新型的51系列单片机即cygnal公司的c8051f040。其指令集与msc_51指令集完全兼容,使用方便,且采用流水线结构,其周期由标准的12个系统时钟周期降为1个系统时钟周期,处理能力大大提高,峰值性能可达25mips。内部集成了64k flash rom、4352字ram、64位数据i/o口以及几乎所有的模拟与数字外设如:adc、dac、smbus、uart、can、spi、pca、电压比较器、温度传感器、可编程增益放大器等。开发工具采用标准的jtag接口,以边界扫描方式对cpu进行非入侵式全速的在系统调试。其性能较之传统51单片机有了很大的提高。

  cpu和外部i/o接口之间采用光电耦合器件,实行强电和弱电隔离,切断现场干扰。计算机通过rs232串口与plc系统通信,将plc程序指令传送到plc。plc将接收到的指令保存到非易失性ram中。这样做即可以长期保存plc程序,又可以方便地随时修改程序。

3 plc程序的执行过程

  常见plc以扫描方式工作。每次扫描的工作过程分为三步。

  (1) 输入处理

  程序执行前,plc将全部输入点的状态读到输入镜像寄存器。在程序执行过程中,plc不再读取这些输入点的状态,直到下一个扫描周期的输入处理。

  (2) 程序处理

  plc根据读入的外部输入状态和其它元件的状态执行用户程序。这时的输出指令只写到输出镜像寄存器,输出点的状态并没有发生变化。

  (3) 输出处理 全部指令执行完毕,将输出寄存器的内容全部刷新到外部输出点。程序回到**步工作过程。

  本plc系统的工作过程与此相同。输入处理和输出处理用单片机实现起来比较容易,无需赘述。系统的关键是用户程序的处理。下面以三菱fx系列plc一个简单的例子来说明本plc系统对用户程序的处理方法。梯形图和相应的指令表见图2。

  0:ld x000 9: ld x010

  1:and x001 10:ld x011

  2:and x002 11:and x012

  3:ld x003 12:ld x013

  4:or x004 13:and x014

  5:anb 14:orb

  6:out y000 15:or x015

  7:or x006 16:anb

  8:ld x010 17:out y001

1  2