关于掉电保存的一些理解,望大侠指正! 点击:2409 | 回复:11



chinacupor

    
  • 精华:2帖
  • 求助:13帖
  • 帖子:25帖 | 845回
  • 年度积分:0
  • 历史总积分:2751
  • 注册:2013年2月16日
发表于:2013-02-27 22:57:11
楼主

1、系统块设置的第二项,断电数据保持中,偏移量的意思是所需保持的变量的起始地址,后面的单元数目才是说的偏移量。同时,单元数目的计数单位永恒是B,而不是随变量类型的变化而变化。

比如:数据区=VW ;偏移量=500;单元数目=200

就表示VW500~ VW698范围的所有数据将在掉电后得到保存?还是说计数单位是随变量类型的变化而变化的,上面的设置实际上表示的是VW500~VW898的范围,是这样么?

 

 

2、系统块设置的第二项中,如果将MB0~MB13这14个字节设置为掉电保存,那么在CPU掉电的时候,这些内容将被写入EEPROM里永久保存起来。而其他的那些,不管你怎么设置,也只能让他们在CPU掉电由电容供电来加以保持,并不会写入EEPROM当中。一旦电容的电耗光了,这些数据也就都清零了?是这样么?

 

3、如果某个范围里,偏移量与单元数目都选择0,那么意味着该存储范围的内容将不会在掉电的时候被电容供电来保持。只要掉电,其中的数据就全部清空了?

比如这个设置:数据区=C;偏移量=0;单元数目=0

就表示在CPU掉电的时候,所有的计数器内容将会被清空到缺省状态。再次上电运行时,从零开始计数?是这样么? 

 

4、要想将某个V区变量存入EEPROM中,唯一的办法只能是通过SMB31和SMB32的编程来实现,是这样么?

 

5、EEPROM很脆弱,同一地址的擦写操作的典型值为100万次,最起码也能写10万次以上。一旦EEPROM报废了,西门子是不管修的,只能买新的换之。

 

所以,我可以把HMI菜单里的一些不需经常改动的参数,在确认时直接写入EEPROM里还是可以的,如果客户非要把一个参数反复设置10~100万次才能弄准了的话。。。

不过现在思路有了,如何实现这个还有待高人指点。。。

 

 

上面五个判断选择指导题,还请达人们援手,老规矩,雪地裸跪敬茶ing。。。




银光人生—华

  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 13597回
  • 年度积分:0
  • 历史总积分:52877
  • 注册:2007年11月23日
发表于:2013-02-28 08:24:47
1楼

1、系统块设置的第二项,断电数据保持中,偏移量的意思是所需保持的变量的起始地址,后面的单元数目才是说的偏移量。同时,单元数目的计数单位永恒是B,而不是随变量类型的变化而变化。

比如:数据区=VW ;偏移量=500;单元数目=200

就表示VW500~ VW698范围的所有数据将在掉电后得到保存?还是说计数单位是随变量类型的变化而变化的,上面的设置实际上表示的是VW500~VW898的范围,是这样么?

 

 表示VW500~ VW698范围的所有数据将在掉电后得到保存,但是在掉电情况下只能保存几天时间,超级电容放电完,里面数据也是丢失的;

 

2、系统块设置的第二项中,如果将MB0~MB13这14个字节设置为掉电保存,那么在CPU掉电的时候,这些内容将被写入EEPROM里永久保存起来。而其他的那些,不管你怎么设置,也只能让他们在CPU掉电由电容供电来加以保持,并不会写入EEPROM当中。一旦电容的电耗光了,这些数据也就都清零了?是这样么?

MB0~MB13这14个字节设置为掉电保存,掉电后一直保持的,永久保持;不会清零;

 

3、如果某个范围里,偏移量与单元数目都选择0,那么意味着该存储范围的内容将不会在掉电的时候被电容供电来保持。只要掉电,其中的数据就全部清空了?

比如这个设置:数据区=C;偏移量=0;单元数目=0

就表示在CPU掉电的时候,所有的计数器内容将会被清空到缺省状态。再次上电运行时,从零开始计数?是这样么? 

 那么就是PLC掉电后,数据都丢失;

 

4、要想将某个V区变量存入EEPROM中,唯一的办法只能是通过SMB31和SMB32的编程来实现,是这样么?

变量不多的话,可以用 MB0~MB13这14个字节;多的话只能编程实现;

 

5、EEPROM很脆弱,同一地址的擦写操作的典型值为100万次,最起码也能写10万次以上。一旦EEPROM报废了,西门子是不管修的,只能买新的换之。

 够你用个10年没问题,呵呵;不要一味的写;

所以,我可以把HMI菜单里的一些不需经常改动的参数,在确认时直接写入EEPROM里还是可以的,如果客户非要把一个参数反复设置10~100万次才能弄准了的话。。。

不过现在思路有了,如何实现这个还有待高人指点。。。

不需要改动的数据,在编程中直接用数字+MOVE指令

 

王者之师--领域

  • 精华:8帖
  • 求助:80帖
  • 帖子:481帖 | 3926回
  • 年度积分:915
  • 历史总积分:140763
  • 注册:2008年2月29日
发表于:2013-02-28 08:42:05
2楼

其他的都理解正确的

第四点:

4、要想将某个V区变量存入EEPROM中,唯一的办法只能是通过SMB31和SMB32的编程来实现,是这样么?

解答:这个是一种方法,其实要让数据永久不为0还有2种方法

1.出厂设置)即在数据块中写入V区变量,将数据块同程序一起下载

2.防止为0)即在上电一周期内SM0.1判断V变量是否为0,如果否就把非0数据赋给变量V

3.以上两点并非将实时V数据写入EEPROM

狼牙精神

  • 精华:6帖
  • 求助:5帖
  • 帖子:468帖 | 5379回
  • 年度积分:119
  • 历史总积分:62906
  • 注册:2020年3月27日
发表于:2013-02-28 09:01:04
3楼

系统块中断电数据保持设置功能基本工作原是在PLC外部供电中断时,利用PLC内部的超级电容供电,保持系统块中所设置的断电数据保持区域的数值保持不变,而将非保持区域的数据值归零。由于超级电容容量的限制,在西门子的资料中宣称只能保存几天时间。若需更长的RAM存储器断电数据保存时间,西门子公司可提供一个可选的电池卡,在超级电容耗尽后继续提供电能,延长数据保存时间(约200天)。

对于M存储区中的前十四个字节(即MB0-MB13),当设为断电数据保持,在PLC外部供电中断时,PLC内部自动将以上存储区的数据转移到EEPROM中,因此可实现断电永久保存。

对于V区变量存储还可以在编程时建立数据块来保存数据。


 

lzgz00

  • 精华:0帖
  • 求助:0帖
  • 帖子:445帖 | 1223回
  • 年度积分:0
  • 历史总积分:4892
  • 注册:2008年9月02日
发表于:2013-02-28 09:34:27
4楼

楼上几位的回答相当好了,你自己好好看下吧

miy_gongkong

  • 精华:0帖
  • 求助:2帖
  • 帖子:23帖 | 3065回
  • 年度积分:0
  • 历史总积分:12421
  • 注册:2008年9月18日
发表于:2013-02-28 09:48:01
5楼
引用 lzgz00 的回复内容:楼上几位的回答相当好了,你自己好好看下吧



各种PLC 的掉电保持 方式 略有差异.............

chinacupor

  • 精华:2帖
  • 求助:13帖
  • 帖子:25帖 | 845回
  • 年度积分:0
  • 历史总积分:2751
  • 注册:2013年2月16日
发表于:2013-02-28 13:25:34
6楼
引用 狼牙精神 的回复内容: 系统块中断电数据保持设置功能基本工作原是在PLC外部供电中断时,利用PLC内部的超级电容供电,保持系统块中所设置的断电数据保持区域的数值保持不变,而将非保持区域的数据值归零。由于超级电容容量的限制,在西门子的资料中宣称只能保存几天时间。若需更长的RAM存储器断电数据保存时间,西门子公司可提供一个可选的电池卡,在超级电容耗尽后继续提供电能,延长数据保存时间(约200天)。 对于M存储区中的前十四个字节(即MB0-MB13),当设为断电数据保持,在PLC外部供电中断时,PLC内部自动将以上存储区的数据转移到EEPROM中,因此可实现断电永久保存。 对于V区变量存储还可以在编程时建立数据块来保存数据。 


关于电池,我补充一下

原先我还期待电池的,按照传统的理解,电池就相当于是S7-200里那个超级电容的增容加强版,但实际研究之后发现,电池其实是个比较坑爹的东西。。。其表现在于:

1、此电池不能反复充电使用,属于一次性消耗品,用完了就只能扔掉。

2、CPU不会识别电池电量还有多少,还能用几天,神马时候你的数据会消失之类的事情。所以,在你对电池报以极大希望的时候,很有可能在一个月黑风高的夜晚,你的数据就化作了浮云。。。(PS:我很讨厌这种事情超出掌控的情况。。。)

chinacupor

  • 精华:2帖
  • 求助:13帖
  • 帖子:25帖 | 845回
  • 年度积分:0
  • 历史总积分:2751
  • 注册:2013年2月16日
发表于:2013-02-28 13:52:04
7楼

引用 银光人生—华 的回复内容:……

------------------------------------------------------------------------------------------------------

谢谢各位大侠的支援,同时也感谢大侠将我引入组织。。。哈哈,现在咱也是有组织的人了


建议删除该帖

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 580回
  • 年度积分:0
  • 历史总积分:2884
  • 注册:2010年9月08日
发表于:2013-02-28 14:07:08
8楼
PLC的用电池来数据属于典型的坑爹设计,更不要说以前很多还用电池还保存程序,一般的工厂里的维修电工都不会去关心那个电池。去网上去搜,关于这个存储的问题一大片一大片的

秦君_1

  • 精华:8帖
  • 求助:22帖
  • 帖子:148帖 | 4867回
  • 年度积分:1651
  • 历史总积分:39896
  • 注册:2005年6月28日
发表于:2013-02-28 14:58:46
9楼

1.计数单位是随变量类型的变化而变化的。例如这样的选择就是将VB0-VB3都设定了断点数据保持。

1

 

2.是的

3.是的

4.是的

5.是的

 

chinacupor

  • 精华:2帖
  • 求助:13帖
  • 帖子:25帖 | 845回
  • 年度积分:0
  • 历史总积分:2751
  • 注册:2013年2月16日
发表于:2013-02-28 15:31:15
10楼
引用 秦君_1 的回复内容: 1.计数单位是随变量类型的变化而变化的。例如这样的选择就是将VB0-VB3都设定了断点数据保持。 2.是的3.是的4.是的5.是的 


到底是咋样啊?按一楼的说法是以B为计数单位,你却说按前面选择的数据类型计数。。。

星空依然蓝

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1233回
  • 年度积分:0
  • 历史总积分:2200
  • 注册:2008年11月23日
发表于:2013-02-28 16:20:27
11楼
感谢讲解,进来学习了。

热门招聘
相关主题

官方公众号

智造工程师