您现在的位置是:首页 > PLC技术 > PLC技术

PLC用户系统存储区

来源:艾特贸易网 www.aitmy.com2017-06-05

简介系统存储区为不能扩展的 RAM ,是 CPU 为用户程序提供的存储器组件,被划分为若干个地址区域,分别用于存放不同的操作数据,如输入过程映像、输出过程映像、位存储器、定时器和计


    系统存储区为不能扩展的RAM,是CPU为用户程序提供的存储器组件,被划分为若干个地址区域,分别用于存放不同的操作数据,如输入过程映像、输出过程映像、位存储器、定时器和计数器、块堆栈(B堆栈)、中断堆栈(I堆栈)和诊断缓冲区等。

    系统存储区可通过指令在相应的地址区内对数据直接进行寻址。

   (1)输入/输出(I/O)过程映像表

    在每次扫描循环开始时,CPU读取数字量输入模块的外接输入电路的状态,并将它们的存放过程映像输入表中。在扫描循环中,用户程序计算输出值,并将它们的存放过程映像输出表。在扫描循环结束时,将过程映像输出表的内容写入数字量输出模块。

    用户程序访问PLC的输入(I)和输出(O)地址区时,不是去读/写数字信号模块中的信号状态,而是访问CPU中的过程映像区。

    IO均可以按位、字节、字和双字来存取,如10.0IBOIWOIDO

    与直接访问I/O模块相比,访问过程映像表可以保证在整个程序周期内,过程映像的状态始终一致。在程序执行过程中,即使接在输入模块的外接输入电路的状态发生了变化,过程映像表中的信号状态仍然保持不变,直到下一个循环被刷新。由于过程映像保存在CPU的系统存储器中,该问速度比直接访问I/O模块快得多。

    在用户程序中输入过程映像的标识符为I,是PLC接收外部输入数字量信号的窗口。输入端可以外接常开触点或常闭触点,也可以接多个触点组成的串并联电路。PLC将外部电路的通/断状态读入并存储在输入过程映像中。外部输入电路接通时,对应的输入过程映像为ON1状态);反之为OF0状态)。在梯形图中,可以多次使用输入过程映像的常开触点和常闭触点。

    在用户程序中输出过程映像的标识符为0,在循环周期结束时,CPU将输出过程映像的数据传送给输出模块,再由后者驱动外部负载。如果梯形图00.0的线圈“得电”,继电器型输出模块中对应的硬件继电器的常开触点闭合,使接在00.0对应的输出端子的外部负载工作。输出模块中的每一个硬件继电器仅有一对常开触点,但是在梯形图中,每一个输出位的常开触点和常闭触点都可以多次使用。

   S7-300 CPU的过程映像区的大小是固定的,S7-400 CPU可以将过程映像划分为最多15个区段,这意味着如果需要,可以独立于循环来刷新过程映像表的某些区段。用STEP 7指定的过程映像区段中的每一个I/O地址不再属于081过程映像I/O表。需要定义哪些I/O模块地址属于哪些过程映像区段。

    可以在用户程序中用SFC(系统功能)刷新过程映像。SFC26UPDAT_PI”用来刷新整个或部分过程映像输入表,SFC27UPDAT_PO”用来刷新整个或部分过程映像输出表。

    某些CPU也可以调用OB(组织块)由系统自动地对指定的过程映像分区刷新。

   (2)内部存储器标志位(M)存储器区

    内部存储器标志位(M)用来保存控制逻辑的中间操作状态或其他控制信息。虽然名为“位存储器区”,表示按位存取,但是也可以按字节、字或双字来存取。

   (3)定时器(T)存储器区

    定时器相当于继电器系统中的时间继电器。给定时器分配的字用于存储时间基值和时间值(0~ 999),时间值可以用二进制或BCD码方式读取。

   (4)计数器(C)存储器区

    计数器用来累计其计数脉冲上升沿的次数,有加计数器、减计数器和加/减计数器。给计数器分配的字用于存储计数当前值(0~ 999),计数值可以用二进制或BCD码方式读取。

   (5)数据块

    数据块用来存放程序数据信息,分为可被所有逻辑块公用的“共享”数据块(DB,简称数据块)和被功能块( FB)特定占用的“背景”数据块(DI)

   DB为共享数据块,DBX是共享数据块中的数据位,DBBDBWDBD分别是数据块中的数据字节、数据字和数据双字。

   DI为背景数据块,DIX是背景数据块中的数据位,DIBDIWDID分别是背景数据块中的数据字节、数据字和数据双字。

   (6)诊断缓冲区

    诊断缓冲区是系统状态列表的一部分,包括系统诊断事件和用户定义的诊断事件的信息。这些信息按它们出现的顺序排列,第一行中是最新的事件。

    诊断事件包括模块的故障、写处理的错误、CPU中的系统错误、CPU的运行模式切换错误、用户程序中的错误和用户用系统功能SFC 52定义的诊断错误等。