我们讨论了STEP7中的数据类型:
STEP7的基本数据类型
STEP7的复杂数据类型
STEP7的参数类型
那么,这些数据类型是怎样存储、维护在PLC中的呢?要理解这些内容,我们首先要先认识一下S7-300/400系列PLC的存储区的组织形式是怎样的。
接下来,我们将以几篇文章,来就PLC的存储区做一下总结、说明。
S7-300 PLC的存储区分为四个区域:装载存储器(Load Memory)、工作存储器(Work Memory)、系统存储器(System Memory)以及保持存储器(Non-Volatile memory)。具体如下图所示。
本文,着重总结一下S7-300 CPU的装载存储器的相关知识。
装载存储器用于存放不包含符号地址分配或注释(这些保留在编程设备PG/PC中)的所有用户程序和数据。
对于S7-300系列PLC,装载存储器可以是存储器卡、内部集成的RAM或内部集成的EPROM。根据装载存储器来分类,S7-300系列PLC可分为:
标准型S7-300 CPU
新型S7-300 CPU
集成EPROM的S7-300 CPU
一、标准型S7-300 CPU
标准型S7-300系列CPU又称为”老式CPU”,大多数产品已停产了。标准型S7-300含有内置的RAM装载存储器,并可以使用FEPROM卡来扩展。
FEPROM(即Flash EPROM)一方面用于扩展CPU内置的装载存储器,另一方面它用作程序备份。在没有后备电池时PLC掉电后再次上电时,FEPROM中的程序会自动拷贝到CPU的工作存储器中。
1、 将程序写入FEPROM卡
使用菜单命令”PLC->将RAM复制到ROM…”,可将工作存储器的内容拷贝到FEPROM卡中,同时会将FEPROM卡中原来的内容清除。这个指令用于保存PLC的当前运行值,这样下次用MRES复位时,DB块的值就会复位为保存过的值;
使用菜单命令”PLC->将用户程序下载到存储卡”,可将用户程序整体写入FEPROM卡(只能整体写入,不能写入部分程序块),同时,每次写入新的程序会清除原来存在卡中的程序,同时会清除内置RAM区的内容。
2、删除FEPROM卡中的程序
目前,删除FEPROM卡中的程序的公开方法只有一种,就是用PG和读卡器来删除卡中的内容,使用存储器复位是无法清除卡里的程序的。
其实没有PG或读卡器也有办法删除FEPROM卡的程序。原理是:使用菜单命令”PLC->将用户程序下载到存储卡”,时,都会清除以前下载的程序。因此,可有以下方法:
使用上述命令,下载一个空的程序到卡中,即可清空卡中的内容;
使用上述命令下载一个很大的程序,当其大于工作存储器或者FEPROM卡的容量时,会出现报警信息,下载过程仍然可以继续,但是下载完成后会出现错误信息,PLC故障灯亮,此时从CPU的模板信息(即”Module information”)中可以看到FEPROM卡中的内容为空,相当于删除了卡里的东西,之后就可以重新在卡里下载新的程序了。
在线删除工作存储器中的全部程序,然后执行菜单命令”PLC->将RAM复制到ROM…”也可以将FEPROM卡中的内容全部删除。对于集成EPROM的CPU,也可以用此方法来删除EPROM中的内容。
3、 关于FEPROM卡的其他信息
对于标准型S7-300 CPU,每次拔卡后上电或插卡后上电(拔卡和插卡只能在掉电时进行),CPU都要执行复位,Stop灯出现慢闪,需要用MRES复位。
二、 新型S7-300 CPU
新型S7-300 CPU包括紧凑型(CPU31xC系列)及由标准型更新的新型CPU。新型S7-300CPU不包含内置的装载存储器,它们使用MMC卡作为其装载存储器。此类CPU不用安装后备电池,免维护。
1、 将程序写入MMC卡
有以下几种方法:
直接下载。工具栏中快捷键的或菜单命令”PLC->下载”,直接将程序下载到MMC卡上;
菜单命令”PLC->将用户程序下载到存储卡”,用于将整个程序整体下载到MMC卡,同时,将MMC卡中原来的内容清除;
在”STOP模式”下,使用菜单命令”PLC->将RAM复制到ROM…”,可把工作存储器的内容拷贝到MMC卡中,并清除MMC卡中原来的内容。
在程序中调用SFC84″WRIT_DBL”(向装载存储器中写数据块),可将工作存储器中的数据块写入MMC卡中。
2、 删除MMC卡中的程序
有以下3种方法:
在STEP界面下,菜单命令”视图->在线”,在线打开”块视图”,选中要删除的块,用Delete键,即可直接删除卡中的程序块;
菜单命令”PLC->将用户程序下载到存储卡”,下载一个空的程序;
使用西门子编程器PG或西门子专用的读卡器来删除或进行格式化。
注意:使用MRES或者菜单命令”PLC->诊断/设置->清除/复位”,不能删除MMC卡中的数据,只能删除工作存储器中的内容,并复位所有的M、T、C以及DB块中的值。完成复位后会自动将MMC卡中的程序拷贝到工作存储器中。
3、 使用”MRES”格式化MMC卡(被动格式化)
当出现下列情况时,需要对MMC卡进行被动格式化;
装入应用程序指令时,由于掉电而中断
向MMC卡写数据时,由于掉电而中断
MMC卡中的程序组态与实际硬件配置不相符
MMC卡中有CPU无法正确识别的数据
当CPU的”STOP”灯出现”慢闪”时,说明CPU正在请求被动格式化,此时可用MRES格式化MMC卡,把卡中错误的信息清除,具体操作方法如下:
将模式开关拨到”MRES”并保持,直到STOP灯保持常亮(约9秒);
STOP灯常亮后,迅速波动模式开关,使其拨到STOP后再迅速拨回MRES位置(这一过程要求速度要快,3秒以内完成)。此时,STOP灯快速闪烁,表示正在格式化;
保持模式开关在MRES位置,直到STOP灯常亮,格式化完成。
三、 集成EPROM的S7-300 CPU
带有集成EPROM的CPU模块,可使用菜单命令”PLC->将RAM复制到ROM…”可将程序复制到EPROM中,以确保在没有备用电池的情况下,发生电源故障或存储器复位时,数据不丢失。
集成EPROM装在存储器的CPU有:CPU 312 IFM、CPU 314 IFM及C7系列等。