理论教育 S7-1200CPU存储器优化探究

S7-1200CPU存储器优化探究

时间:2023-06-17 理论教育 版权反馈
【摘要】:S7-1200 CPU模块中集成了装载存储器、工作存储器和保持存储器。如果未插入SIMATIC存储卡,S7-1200 CPU将使用内部装载存储器;如果插入了SIMATIC存储卡,S7-1200 CPU将使用该存储卡作为装载存储器。S7-1200 CPU的有些指令可直接读写I/O。

S7-1200CPU存储器优化探究

根据可编程序控制器的工作原理,一般将存储器划分为系统存储器(System Memory)、用户程序存储器和数据存储器三部分。根据不同的用途又分为若干工作区域,如装载存储器(Load Memory)区、工作存储器(Work Memory)区和保持存储器(Non-Volatile memory)区等;根据数据对象的不同,还可分为物理信号输入/输出区、输入/输出映像区、位存储区、定时器区、计数器区、数据区等。S7-1200 CPU模块中集成了装载存储器(1MB或2MB)、工作存储器(25kB或50kB)和保持存储器(2kB)。

1.装载存储器

每个S7-l 200 CPU都具有内部装载存储器,装载存储器是非易失性的存储器,用于保存用户程序、数据和组态信息。项目被下载到CPU后,首先存储在装载存储区中。该存储区位于存储卡(如存在)或CPU中,该非易失性存储区中的内容能够在断电后继续保持。存储卡支持的存储空间比CPU内置的存储空间更大。

内部装载存储器可以用外部SIMATIC存储卡来替代。如果未插入SIMATIC存储卡,S7-1200 CPU将使用内部装载存储器;如果插入了SIMATIC存储卡,S7-1200 CPU将使用该存储卡作为装载存储器。但是,可使用的外部装载存储器的大小不能超过内部装载存储器的大小,即使将24M存储卡插于CPU的卡槽中,CPU的装载存储区也达不到24MB。

SIMATIC存储卡用作程序卡或传送卡:①无须STEP 7 Basic仅使用传送卡就可以将项目复制到多个CPU的存储器,复制后必须取出传送卡;②程序卡可以替代CPU存储器(所有CPU功能由程序卡进行控制),插入程序卡会擦除CPU内部装载存储器的所有内容,包括用户程序和任何强制I/O。CPU执行程序卡中的用户程序时,程序卡必须保留在CPU中,否则CPU切换到STOP模式。

2.工作存储器

工作存储器是集成在CPU中的高速存取的RAM,为了提高运行速度,则将用户程序中与程序执行有关的部分,例如组织块、功能块、功能和数据块从装载存储器复制到工作存储器。工作存储器类似于计算机的内存条,断电时工作存储器中的内容将会丢失。

3.保持性存储器

用于在断电时非易失性地存储有限数量的工作存储器的值。保持性存储器发生掉电时,CPU留出了足够的缓冲时间来保存数量有限的指定单元的值,这些值随后会在上电时自行恢复。

CPU提供了2048B的保持存储器,可以在断电时,将工作存储器的数据(例如数据块或位存储器)的值永久保存在保持存储器中。断电时CPU有足够的时间来保存数量有限的、指定的存储单元的值。电源恢复后,系统将保持存储器保存的断电之的工作存储器的数据,恢复到原来的存储单元。需要保存的数据如果超过2048B,将被拒绝。(www.daowen.com)

4.诊断缓冲区

诊断缓冲区也是系统存储器的一部分,包含由CPU或具有诊断功能的模块所检测到的错误。诊断缓冲区可容纳50个条目,其中最后(最近的)10个条目在循环上电后将保留下来。这些条目只能通过将CPU恢复到工厂默认设置进行清除,可在“在线和诊断”视图中读取诊断缓冲区的内容。用鼠标右键点击项目树中的某个PLC,执行出现的快捷菜单中的“Resources”(资源)命令,可以查看当前项目的存储器使用情况。双击项目树中某个PLC文件夹内的“Online and Diagnostics”,打开工作区左边窗口的“Diagnostics”(诊断)文件夹,选中“Memory”(存储器),可以查看PLC运行时存储器的使用情况。

5.过程映像

用户程序对输入(I)和输出(Q)操作数区域寻址时,不是直接查询或更改数字量信号端口的信号状态,而是访问CPU系统存储器中的存储区,该存储区称为过程映像。在一个用户程序循环扫描周期中,CPU具有一致性的过程信号映像。如果程序执行期间输入数字量信号端的信号状态转换,过程映像中的信号状态保持不变,直到下一个循环扫描周期再次更新过程映像。在用户程序中周期性地循环扫描输入信号的过程,保证了输入信息的一致性,一个用户程序循环扫描周期如图5.4所示。

图5.4 一个用户程序循环扫描周期

PLC完成一个循环扫描工作的时间称为扫描周期,由上图知,CPU的扫描周期包括自诊断、信息交换、通信等过程。包括程序扫描时间和I/O刷新时间。前者取决于用户程序的长短和采用的指令类型,后者随CPU型号不同而不同。

S7-1200 CPU执行用户程序时,首先读入输入状态,并将它们存入输入过程映像区中;然后开始执行用户程序,执行过程按照自上而下、由左而右的顺序进行,根据第一行梯形图逻辑运算结果,刷新该逻辑在系统存储区中对应位的状态,以及过程映像区中对应位的状态,但在程序执行阶段,输入过程映像区内的状态是不会发生变化的;程序执行结束后,CPU就进入输出刷新阶段,按照过程映像区内对应的状态和数据刷新输出映像区,并输出状态转换,这才是PLC的真正输出。

S7-1200 CPU的有些指令可直接读写I/O。如果指令直接访问输出且输出地址位于过程映像输出中,将更新相关输出的过程映像,如果更新过程映像期间出错(I/O访问错误),则CPU将以默认的系统响应“STOP”进行响应。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈