内存是PLC的最核心的部件,位于OpenPLC控制器的CPU模块中,是所有的程序、顺序指令存储和执行的地方,也是存储数据的地方。有的PLC有专门的内存模块,但由于计算机技术的发展,在现有的OpenPLC采用了足够大的内存单元,因此不需要单独的内存模块。本文将介绍V80等OpenPLC的内存的在CPU模块的组织原理和方法。
1 内存按可寻址程度的分类
OpenPLC的特点之一就是,存放控制程序的内存可以被重新改动或重新编程。如果按照用户对内存的访问权限来说,也就是内存的可寻址的程度来分类的话,内存可以分为三类:
1. 第一部分的内存是用户不能访问的,用来存放OpenPLC的专用操作系统程序和数据,与OpenPLC一起提供给用户使用的。
2. 第二个区域,是用来存储用户程序和特殊的组态数据,只能用编程器(编程软件)来改变,在OpenPLC处于运行模式时,这个区域的内存通常是不能改变的。通常,在用户程序的内部是不能对该区域的内存进行寻址的。即便可以寻址,也只能读取数据,也不能改写。
3. 第三部分的内存是完全可寻址的,也就是说用户程序的指令可以对其进行读写。输出映射表当然必须是可寻址的,有的PLC允许用户改写内存的输入映射区的内容,(直到扫描周期的输入数据将用户的改动覆盖),另外,可寻址的内存是存储工作数据的,包括计数器、定时器的数值和其它数值。有部分PLC的组态内存是可寻址的,因此,PLC可以被编程改变其工作特点(在运行时)。
除了CPU模块的内存外,有些I/O模块也包含一些数据内存,可以由用户程序直接进行寻址。CPU的数据内存芯片可以是标准的动态RAM类型,这些内存在掉电后数据就会丢失。许多PLC是采用后备电池的方式来维持DRAM中的数据在掉电后不丢失的,也有采用电容来储存足够的电量防止短期的掉电。OpenPLC是采用闪存(FLASH MEMORY)作为内存芯片,不需要电池和电容也可以保全数据。
在掉电后不丢失数据的内存叫做固定内存或保持内存,尽管现在PLC内部全部采用固定内存来保存数据在成本上也是可行的,但不少PLC制造商依然还是将部分的内存设计为非固定内存。当PLC刚刚上电或者从编程模式切换到运行模式时,OpenPLC将这个区域的内存全部清除,这个初始化的过程将在第九章详细再介绍。
OpenPLC的编程单元有一个数据监视屏的功能,程序员或OpenPLC操作员可以利用这个功能来监视数据内存的内容,即使在OpenPLC运行时也可以。当扫描周期控制一些数据时,如用户程序改写输入映像表和内存的地址时,程序使用的其它的数据可以通过数据监视器来改写,即使用户程序在运行也是一样。用户程序的表现可以在程序员修正工作数据时进行动态调整。
2 用户内存与应用内存
所有PLC的内存可以看作一个大的二维面阵,每个面阵的单元是一位。整个内存的图象如下图所示:
图4.1 工业可编程控制器的内存的空间分配(请参考德维森网站技术文章:www.techwayson.com )
内存可以分为两个区域:用户内存和应用内存。前者是储存梯形图的程序,为可变内存;后者为固定内存,存储用户程序需要运行的信息,如开关量输入和输出的状态,计数器或定时器的预设值和累计值,数量值,顺序模型、内部I/O继电器状态等等。
本文关键字:暂无联系方式PLC入门,plc技术 - PLC入门
上一篇:OpenPLC的计数器和定时器