西门子S7-200 PLC在断电情况下的数据保持问题

西门子S7-200 PLC在没有存储卡,并且长时间断电的情况下,里面的程序能存储多久?这个问题也有不少学员问过了,所以在这里总结性的说一下。

首先,让我们了解一下S7-200内部存储器的大概工作情况。PLC内部存储器分为RAM存储器和EEPROM永久存储器两种。我们都知道RAM存储器的数据必须靠供电维持,当存储芯片供电中断时,其中所存数据也不复存在。RAM存储器主要用作PLC程序运行时程序、组态参数、程序数据的实时存取空间。EEPROM存储器为带电可擦写存储器,其数据写入后可在完全断电情况下长期保存。

PLC在每次程序下载时,将下载的程序块、数据块(可选)、CPU 配置(可选)载入RAM存储区,同时CPU自动将其拷贝到EEPROM存储器中,以实现永久保存。在PLC的使用过程中,每次上电时PLC会从EEPROM存储区向RAM存储区中恢复程序和CPU配置,同时检查RAM存储器中的断电数据保持区域是否成功保存。

如果保存成功,则保持区域将保持不变,RAM存储器的V存储区中的未保持区域,将从相应的EEPROM中的V存储永久区域处恢复过来。如果RAM存贮器的内容没有保持下来,CPU会清除 RAM存贮器并置保持数据丢失存贮器位(SM0.2)为1,并将存于EEPROM存储器永久区域中的数据复制RAM存储器中。

1、正常情况之下,下载到S7-200PLC里的程序是永不丢失的,因为程序块(数据块、系统块)是直接下载到EEPROM中的,而RAM中的数据为PLC的运行数据,靠一个超级电容(或电池卡)保持,前提是在系统块中必须有相应的设置。没有电池卡,靠一个超级电容可以保持10天左右时间。但是值得注意的是EEPROM不要每个周期都触发,一定要加触发条件,因为EEPROM是有擦写次数的。

2、我们平时所说的S7-2OO不加电池,使用内部电容保存数据方式,在50-60小时,加入电池卡的话最好也就是200多天,在这里说的是数据,而不是程序,例如计数器,定时器等的数据。

3、S7-200的变量区,用PLC内部的“超级电容”可保存时间是根据CPU的型号、环境有所不同。对此说明一下:

CPU212/221/222典型时间最少50小时,温度40度时,8小时!

CPU214/215/216/226XM典型时间最少190小时,温度40度时,120小时。

CPU224/226典型时间最少100小时,温度40度时,70小时!

下面再说一下S7-200程序数据的断电保存方法。S7-200PLC程序数据的断电保存方法,主要可分三种,其数据断电保存方法及特点如下:

1、在系统块中设置断电数据保持功能来保存数据。

在 S7-200的编程中,系统块中有一项功能为断电数据保持设置,设置范围包括V存储区、M存储区、时间继电器T和计数器C(其中定时器和计数器只有当前值可被保持,而定时器位或计数器位是不能被保持的)。其基本工作原是在PLC外部供电中断时,利用PLC内部的超级电容供电,保持系统块中所设置的断电数据 保持区域的数值保持不变,而将非保持区域的数据值归零。

由于超级电容容量的限制,在西门子的资料中宣称只能保存几天时间。对于M存储区中的前十四个字节 (即MB0-MB13),当设为断电数据保持,在PLC外部供电中断时,PLC内部自动将以上存储区的数据转移到EEPROM中,因此可实现断电永久保存。若需更长的RAM存储器断电数据保存时间,西门子公司可提供一个可选的电池卡,在超级电容耗尽后继续提供电能,延长数据保存时间(约200天)。

2、在编程时建立数据块来保存数据。

在程序设计的编程阶段,可在编程中建立数据块,并赋予需要的初始值,编程完成后随程序一起下载到PLC的 RAM存储器中,CPU同时自动将其转存于EEPROM,作为EEPROM储器中的V数据永存储区。因EEPROM的数据保存不需要供电维持,所以可以实现永久保存。若在系统块中相应V存储区未设为断电数据保持,在每次PLC上电初始,CPU自动将EEPROM中的V数据值读入RAM的V存储区。若相应V 存储区设为断电数据保持,在每次PLC上电初始,CPU检测断电数据保存是否成功。若成功,则保持RAM中的相应V数据保持不变。若保存不成功,则将 EEPROM中的相应V数据值读入RAM的V存储区。此方法只适用于V数据的断电数据保存。

3、在程序中用SMB31和SMW32来保存数据。

在程序中将要保存的V存储器地址写入SMW32,将数据长度写入SMB31,并置 SM31.7为1。在程序每次扫描的末尾,CPU自动检查SM31.7,如果为1,则将指定的数据存于EEPROM中,并随之将SM31.7置为零,保存的数据会覆盖先前EEPROM中V存储区中的数据。在保存操作完成之前,不要改变RAM中V存储区的值。存一次EEPROM操作会将扫描时间增加15至20毫秒。因为存EEPROM的次数是有限制的(最少10万次,典型值为100万次),所以必须控制程序中保存的次数,否则将导致EEPROM的失效。

总之,结合以上的了解和工地调试的经验,在实际应用中,若遇到需程序数据保持的时候,要多种方法结合运用以达到最理想的结果。针对程序中需保存数据的不同,采取不同的方式实现。

1、对于需在程序第一次运行时进行预置并在程序运行过程中个别情况下进行重新设置的数据,如高度、荷重等相关标定参数,可在程序的数据块中建立数据,并赋予初始数值。同时在程序中编入SMB31和SMW32命令,在相关条件下对EEPROM的V数据区进行重新保存,修改先前的初始值。

2、对于程序运行过程中数值变化比较频繁,且需断电长期保存的数据,则可将数据存于MB0至MB13存储区,且系统块的断电数据保存设置中将相应的M存储区设为断电数据保存。也可使用程序中的V存储区,在必要时进行一次程序数据存储,而在断电数据保持设置中可选取,也可不选取。

(0)

相关推荐

  • 一篇文章彻底搞定PLC存储器精华知识(图文并茂,良心整理)

    PLC存储器是PLC几大构成之一,本文以S7-200PLC 存储器为例说明,S7-200PLC 有3 个存储区,分别为程序区.系统区和数据区. PLC存储器数据区划分和PLC存储器名称 程序区用来存储 ...

  • 嵌入式系统中的EEPROM和FRAM

    对于所有基于微控制器的嵌入式系统而言,存储器都是其中的主要元件.例如开发人员需要足够的ram以存储所有易失性变量.创建缓冲区以及管理各种应用堆栈.RAM对于嵌入式系统相当重要,同样,开发人员也需要一定 ...

  • plc西门子s7 200硬件详解

    plc西门子s7 200硬件详解

  • PLC在什么情况下内部存储的数据会丢失

    工控课堂 工控课堂[www.gkket.com]工程师必备网站 添加微信:gkket123 加入500人工控微信群 电气工控自动化-超万元免费资料 点我免费下载 (DownLoad) PLC底层是单片 ...

  • 西门子S7-200系列PLC自由口通信程序设计之数据的发送

    在设计自由口通信程序时,自由口通信程序设计的核心就是使用发送指令XMT和接收指令RCV对数据进行发送和接收.接收指令RCV应用的难点,在于如何设置"判断接收消息的起始条件和结束条件" ...

  • 一起学习:西门子200 PLC自由口通讯

    编程自由口通讯的基本步骤 1 设置通讯参数:如果是集成在本机上基于RS485口,在SMB30中设置(prot0口);如果是采用通讯信号板,则在SMB130中设置(prot1口),这2个地址的设置,仅仅 ...

  • 互联网时代都采取支付宝微信支付,断网断电的情况下会怎么样?

    对于微信支付和支付宝支付,只要客户手机有电有网络的情况下,商家提供有二维码也可以直接完成支付.而如果客户手机没有网没有电的情况下,目前也有人脸识别的支付体系也开启了支持支付宝和微信支付,所以不通过手机 ...

  • PLC | 西门子S7

    西门子S7-1200是一款紧凑型.模块化的PLC,可完成简单逻辑控制.高级逻辑控制.HMI 和网络通信等任务.对于需要网络通信功能和单屏或多屏HMI的自动化系统,易于设计和实施.具有支持小型运动控制系 ...

  • 比亚迪汉对撞后,在断电的情况下起火,是刀片电池不安全吗?

    事情的起因,源于某媒体的一场碰撞测试. 对于很多消费者而言,在所有的纯电动汽车中,他们可能更想看到比亚迪汉和特斯拉Model 3这两个强者之间的巅峰对决.可惜的是,大家所期望的特斯拉Model 3并没 ...

  • 如何在断网断电的情况下与同伴保持联系丨硬核生存指南

    //01  你可能失去一切联系 设想有一天,你早上醒来,想给朋友发个微信,发现微信提示你:无法登陆服务器. 你拨通了朋友的电话.结果线路繁忙,无法接通.真实情况是:电信网络关闭了,你无法使用移动互联网 ...

  • 干货!西门子S7 PLC控制8个彩灯循环移位梯形图

    题目要求:霓虹灯广告屏控制器的设计            用PLC对霓虹灯广告屏实现控制,其具体要求如下:                                  该广告屏中间8个灯管亮灭的 ...