APP下载

西门子S7—300 PLC存储器使用简介

2017-05-30周翔

科技风 2017年4期
关键词:用户程序存储卡存储器

周翔

摘 要:西门子S7-300系列PLC是在自动控制领域广泛使用的可编程逻辑控制器,有着较高的产品熟识度和市场占有率。本文围绕S7-300的存储为核心,结合项目实施经验,介绍该PLC存储方面的概念、使用和维护。

关键词:PLC;存储器

1 S7-300存储概述

S7-300PLC的存储区域我们分成四个部分:装载存储器、工作寄存器、系统存储器、保持存储器。

1)系统存储器:我们使用系统存储器存放以下数据:位存储器、定时器和计数器、输入输出过程映像区、中断堆栈和块堆栈、本地数据堆栈的临时存储。

2)工作寄存器:工作寄存器用来存放CPU运行时读取的程序数据。工作寄存器RAM集成在CPU中,通过电源或后备电池保持其内容。S7-300CPU的工作存储器无法扩展。

3)装载存储器:我们使用装载存储器存储用户程序,不包括符号和注释(这些保存在工程师站的PLC项目中)。装载存储器的硬件可以是存储卡、CPU集成的RAM或EPROM。

4)保持存储器:保持存储器具有失电后存储数据保持的特点。设置硬件组态的相关参数,可以在CPU掉电后,也无后备电池的情况下,保存指定的位存储器、数据块、定时器、计数器数据。在设置CPU参数时一定要指定需要保持的区域。(注:S7-400PLC无保持型RAM,故即使指定了保持数据区,CPU断电时若无后备电池,所有数据也将丢失。)

当Step7执行程序下载时,会把诸如工程师站的编程设备中的用户程序下载到CPU的装载存储器。同时,运行时使用的逻辑和数据导入到工作存储器(例如OB1和DB数据块)。当CPU断电并且无后备电池时,在工作存储器中指定的具有保持功能的DB数据块、在系统存储器中指定的具有保持功能的定时器、计数器、位存储器会把数据写入保持存储器中。恢复上电时,上述数据重新写入,保证了运行数据不丢失。

2 存储器/卡的使用

按CPU装载存储器类型的不同,目前市场广泛使用的S7-300PLC大致可以分为两类:新型S7-300 CPU、标准型S7-300 CPU。

2.1 新型S7-300 CPU

此类CPU使用MMC卡作为装载存储器,不需要后备电池,运行免维护。由于它不含内置的装载存储器,所以MMC卡是该类型CPU不可缺少的组件,用户程序直接下载和存储在MMC卡中。

2.1.1用于新型S7-300CPU的MMC卡

MMC卡是一种FEPROM卡,作为控制器的仅有装载存储器存储用户数据。当控制器失电时,CPU会自动将内置工作寄存器中的逻辑、数据寄存器中的DB数据拷贝到MCC卡中,从而保证实时数据不会丢失。CPU313/314/315-2DP支持的MCC卡可以达到8MB,其他CPU最高支持4MB。在0-60℃的环境下,MCC卡可进行擦写操作达100000次。

2.1.2 MMC卡写操作

MCC卡是新型CPU具有的唯一裝载存储器,任何形式的下载操作都直接写入MCC卡。下载的途径有以下几种:一是CPU下载:用Step7中的下载按键直接下载,或使用Step7中“PLC>下载”菜单命令下载。二是使用Step7中的“PLC>下载程序到存储卡”命令,把整个程序下载到CPU中。该命令只能整体下载程序,同时擦除原MCC卡中的内容,不能部分下载逻辑块。三是使用Step7中的“PLC>拷贝RAM到ROM”指令,即把工作寄存器的数据拷贝到MMC卡,同时擦除原MMC卡中内容。此项操作只能CPU处于停止状态下才能使用,用于将CPU的当前运行状态(例如DB块的运行结果)复制到MMC卡。这样下次使用MRES执行复位时,DB块数值就能恢复当前值而不是初始值。四是将MMC卡插入PG,使用Step7中的“文件> S7存储卡>打开”命令打开存储卡,再用“PLC >保存到存储卡”将程序文件写入MMC卡。

2.1.3 MMC卡擦除

使用MRES或者“清除/复位”不能擦除MMC卡中数据,只能擦除工作寄存器数据,同时复位位存储、定时器、计数器及DB块的当前值,复位后控制器自动将MMC卡存放的程序复制到工作寄存器。

可用以下方法擦除MMC卡数据。一是运用Step7中的“视图>在线”菜单命令,打开在线逻辑,选中要删除的块,用“删除”键,即可直接删除卡中的程序块;二是下载一个空程序,用Step7中的“PLC>下载程序到存储卡”菜单命令;三是当出现如下情况时,需要被动格式化操作:装载用户程序时CPU失电、向MMC卡导入数据时CPU失电、CPU中的硬件组态实际配置不同、卡中存在CPU无法识别的数据。

2.2 标准型S7-300CPU

2.2.1 FEPROM卡介绍

这里的标准型是指不使用MMC卡的S7-300 PLC。目前该PLC已不再发售,在用户现场仍有较大保有量。其特点是含有内部集成的装载存储器,允许使用FEPROM卡来扩大容量。FEPROM卡更重要的功能是备份程序。即在CPU失电并且无后备电池时,重新上电,CPU可从FEPROM卡自动复制程序到工作寄存器中。

2.2.2 FEPROM卡写操作

一是使用Step7中的“PLC>下载程序到存储卡”命令,这时用户程序只能整体写入,而不能对单个或部分程序块进行操作。每执行一次下载操作都会擦除卡里原程序,同时会擦除内置RAM的数据。

二是运用Step7中的“PLC>拷贝RAM到ROM”指令,可把工作寄存器的内容复制到FEPROM卡,同时擦除FEPROM卡中原内容。这项操作用于保存CPU当前运行值,这样复位后,DB块的值就会恢复到保存过的值。

三是使用PG,Step7命令“文件>S7存储卡>打开”打开存储卡,用“PLC >保存到存储卡”将程序文件写入FEPROM卡。

2.2.3 FEPROM卡擦除

当前,擦除FEPROM卡中数据的正式途径只有一种,即用编程器或读卡器擦除卡中数据,执行存储器复位无法完全擦除卡里程序。即使如此,我们依旧可是使用其他可行的方法清除FEPROM卡中内容:

一是在Step7中使用“下载程序到存储卡”下载一个空程序到FEPROM卡中,可以清空卡中内容。但如果下载一个超出工作寄存器或FEPROM卡容量的程序到FEPROM卡时,会提示警告,下载仍可继续执行,完成后会弹出出错消息,PLC故障灯点亮。此时查看FEPROM卡中内容,发现为空,即删除了卡中数据,可再次下载新程序到卡中。

二是在线使用MRES复位工作寄存器中所有内容,再使用Step7中命令“拷贝RAM到ROM”可將FEPROM卡中数据完全擦除。

三是当CPU设置了读写保护且密码丢失,则只能使用PG或读卡器来删除FEPROM卡中内容。对于内置RAM装载存储器的CPU设置了读写保护,使用“下载程序到存储卡”命令下载一个空程序到CPU中,可以清除CPU的密码。

猜你喜欢

用户程序存储卡存储器
静态随机存储器在轨自检算法
变速箱控制系统Bootloader设计与实现
嵌入式设备远程升级方案设计
有Wi-Fi功能的高速卡 东芝FlashAirTM(W-04) 无线LAN SD存储卡试用
三星发布首款UFS存储卡
存储卡盒
存储卡盒
存储器——安格尔(墨西哥)▲
C8051F410单片机BootLoader的实现
基于Nand Flash的高速存储器结构设计