1) 工作存储器
工作存储器是一个易失性存储器,用于存储与运行相关的用户程序代码和数据块。工作存储器集成在 CPU 中,不能进行扩展。在 S7-1500 CPU中,工作存储器分为以下两个区域:
2) 保持性存储器
保持性存储器是非易失性存储器,在发生电源故障或者掉电时可以保存有限数量的数据。这些数据必须预先定义为具有保持功能,例如整个DB块、DB块中的部分数据(优化数据块)、位存储器M区、定时器和计数器等。
当操作模式从POWER ON转换为STARTUP,或者从STOP转换为STARTUP时,所有的非保持变量值都将丢失并设置为起始值。通过存储器复位或者恢复出厂设置操作可以清除保持性存储器中的数据。工艺对象中已定义保持功能的变量也存储在保持性存储器中,存储器复位期间,不会清除这些变量数据。
设置数据块DB的保持性
打开数据块,点击“保持性”选项可以选择需要保持的变量,如图3- 7所示
注意:优化数据块中可以将单个变量定义为具有保持性,而在标准数据块中,仅可统一地定义全
部变量的保持性。
设置位存储器M区、定时器和计数器的保持性
如图3- 8所示,在项目树中选择“PLC变量”->“显示所有变量”->“变量”标签栏,点击“保持性”按钮设置保持功能,在弹出的对话框中可以增加M、T、C保持变量的个数。不同类型的存储区具有不同大小的保持性空间。
设置函数块FB接口变量的保持性
由于FB块接口变量需要保存在背景DB块中,所以接口的变量也可以设置保持性。Input、Output、InOut以及Static类型声明的变量可以设置保持性,但Temp和Constant类型声明的变量和常量不能设置保持性。如果选择“在IDB中设置”,则可以在背景数据块中进行设置,参考图3- 9中的设置
注意:优化的函数块接口中,可以将单个变量定义为具有保持性,而标准的函数块接口中仅可统一地定义全部变量的保持性。
保持存储器的大小
CPU保持存储器的大小与CPU的类型有关,这可以从CPU的技术数据中查看到,也可从TIA博途软件中查看到,例如图3- 10显示当前可用空间。通过在项目树中选择“程序信息”->“资源”标签栏可以查看到保持存储器使用的详细信息。如图3- 10所示,从图中可以看到CPU的保持存储器空间大小为484000个字节,使用了7000个字节。下面是在程序块和PLC变量M、C、T使用的详细信息
3) 其它(系统)存储区
其它存储区包括位存储器、定时器和计数器、本地临时数据区以及过程映像,这些数据区的大小与CPU的类型有关。
4) 装载存储器
SIMATIC存储卡就是装载存储器,是一个非易失性存储器,用于存储代码块、数据块、工艺对象和硬件配置等。这些对象下载到CPU时,会首先存储到装载存储器中,然后复制到工作存储器中运行。由于SIMATIC存储卡还存储变量的符号、注释信息及PLC数据类型等,所以所需的存储空间远大于工作存储器。装载存储器使用的详细信息可以参考图3- 10中的“装载存储器”栏信息。
SIMATIC 存储卡带有序列号,可用于与用户程序进行绑定,具体操作参看访问保护章节。在SIMATIC存储卡的属性中可以读出序列号,此外还可以读出存储卡的容量、使用信息和卡的模式。在项目树中选择“读卡器/USB存储器”->“SIMATIC MC”,鼠标右键选择属性,弹出窗口如图3- 11所示