基于单片机的PLC系统的实现-PLC技术网(www.plcjs.com)-可编程控制器技术门户


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

 (点击题目可以在互联网中搜索该题目的相关内容)
日期:2006-4-20 23:17:13     来源:本文摘自《PLC&FA》   作者: 点击:
点击【 大  中  小 】,可以选择字体的大小,以便你阅读.

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
首先分析指令 AND X001,指令执行前有状态B,执行该指令时,将当前状态B 和X001的状态进行与运算,形成状态C,这是指令AND X002执行前状态。C是B的刷新值,它们实际上是一个变量。这个变量反映程序执行时当前的状态值。当遇到输出指令OUT Y000时,就把当前状态值传送给输出寄存器。把AND X001作为一单元块,可认为这个单元块有单输入单输出的结构。输入状态和单元块内元件的状态运算后得到输出状态。
再分析指令LD X003、OR X004,如果将这两条指令组合后看作上述单输入单输出结构的单元块,执行前的状态为D,把X003、X004元件并联后的状态作为单元块内元件的状态,和D与运算后得到状态G.。但细化一步执行LD X003这个子单元块时,当前状态D需保存,取X003的状态作为当前状态值E,和X004或运算后得到F。执行ANB时,把先保存的状态值D和状态值F与运算后得到新的当前状态值G。

本新闻共2页,当前在第11 2  

上一篇: 日本推出新型机器人 可按需要组成七种形态
下一: 现场工控组态系统中的动态数据交换技术