OpenPLC的CPU结构-PLC技术网(www.plcjs.com)-可编程控制器技术门户


OpenPLC的CPU结构

 (点击题目可以在互联网中搜索该题目的相关内容)
日期:2007-8-28 21:12:12     来源:   作者: 点击:
点击【 大  中  小 】,可以选择字体的大小,以便你阅读.
PLC与其它控制系统的不同,主要就在CPU模块上。而开放式PLC与普通PLC的区别,也主要体现在CPU模块上。许多人认为,PLC就是微型或小型的DCS,或者将工控机的物理结构改变一下就是PLC。这是大错而特错的。PLC之所以能够经历这么多年而长盛不衰,就是因为它的独特的CPU模块的机构和内部程序的运行方式。
1 CPU 程序扫描周期
1.1 CPU的内部结构
    不同阶段的开放式PLC的CPU的配置和结构都不尽相同,但它们还是有共性的。所有的OpenPLC的CPU模块的内部结构可以列举如下:
[color=#FF0000]图3.1  CPU模块的内部结构[/color]

    CPU的功能是命令并统治整个PLC系统的活动。这是通过对系统程序的解释和执行来进行的。这个系统程序通常称为执行程序或应用程序,也叫FIRMWARE或固件。执行程序是由一组程序构成的,永久储存在CPU内部,并视作是CPU本身的一部分。该程序执行,使CPU可以进行控制、处理、通讯、和其它的内部管理功能。OpenPLC与其它的PC-based控制系统、专用控制器、各类嵌入式控制系统、DCS系统的不同,就在于FIRMWARE的独特性。
    执行程序也负责CPU和编程器件的通讯,同样也支持其他外部设备的通讯,如现场器件的监控;电源的诊断信息,I/O模块的信息,和内存信息等,以及与操作员界面的通讯。
    CPU模块的核心是处理器(MPU),处理器硬件是用来处理数字算法和逻辑功能的。CPU模块的核心是微处理器芯片,称为MPU。MPU内部包括几种类型的寄存器,用来存放信息,这些信息是执行程序是要用到的。这些寄存器包括:
累加器
    存放MPU要处理的数据字,PLC的编程语言通常只允许直接使用一到两种累加器。累加器的位数是有CPU可处理的最大位数决定的。OpenPLC的累加器有16位和32位的。
状态寄存器
    存放MPU所处理的数据所影响的状态位。有些PLC将这些状态寄存器的位直接拷贝到可寻址内存中,这样用户程序可以直接对其进行访问。PLC的程序员可以使用的状态位包括:
零状态位:最新处理的数据为零时,该位置1。
符号位:表示最近所处理的数据的最高位(MSB)的状态。
CARRY BIT:如果最新处理的数据产生的位数超出MPU的处理能力(因此结果不正确),则置为1。
溢出位:如果一个最大的数的结果的最高位从0变为1,或者一个最小数的结果的标志位从1变为0,表示数据溢出。
逻辑操作位(RLO):作为复杂布尔逻辑的每一步的运算的结果。

图3.2  MPU的数据处理模型

地址寄存器
    MPU用地址寄存器作为目前正在使用的内存的起始地址,包括用户程序的内存区域和各种可寻址内存区域。
    MPU的功能是接收、分析、处理和传送数据,处理器的数据模型如下图:

    MPU的能力通常由两个指标判定:位数和时钟速度。位数目前有8-,16-,32-,也有64位的。时钟从1MHZ到300MHZ,大部分PLC是8位和4M的,有一些是16位和33MHZ的。OpenPLC采用的比较多的是INTEL的处理器,INTEL的各种MPU的能力如下:

Micro-Processor    Bit Size(bit)    Clock Speed(MHz)
8085    8    1
8086    16    4.77
80186    16    8
80286    16    12.5
80386    32    33
80486    32    50
Pentium    32/64    200

    
    图中的CONTROL SECTION是处理器的心脏,由控制单元、算法逻辑单元和一些临时寄存器组成,控制SECTION决定了操作的功能、顺序和运行时间。
    输入扫描区将扫描输入区的状态并将单个的输入状态放在RAM中,分析后,逻辑扫描功能(通过梯形图程序)将输出扫描区更新为合适的值,然后,输出将被扫描,并更新。输出的状态根据逻辑分析的结构确定是改变或保留,输出状态取决于CPU的输出状态信号。

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

上一篇: READ_RTC/SET_RTC 上下班工作电铃定时控制
下一: OpenPLC常见的数据类型与寻址方式