数据存储问题 点击:923 | 回复:14



郭zongkui

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:37帖 | 153回
  • 年度积分:0
  • 历史总积分:297
  • 注册:2006年3月24日
发表于:2007-05-22 09:27:00
楼主
各位大哥大姐大师:
小弟作一通讯,上位机:西门子tp270 10#屏;下位机:200的226,dc/dc/dc
其中一个要求是触摸屏上的输入数据(大概320个byte)能够永久保存。开始用plc上系统块中的调电数据保存,但是咨询西门子的技术支持后,他们说plc连续掉电一周左右,存储在plc中的数据就会丢失(我存储在vb4000开始的320个单元中)。后来考率在触摸屏上搞,但是技术支持告诉我屏上也不好搞,很麻烦。
但是我们的产品卖到偏远的地方的话,可能发货就得两三周,那么就会产生数据丢失,对了,忘了告诉大家,我的程序里面需要输入一组数据,输入进去后就不会经常修改。所以希望可以解决这个问题。
后来考虑用eeprom,但是会影响cpu的使用寿命。而且我还没有搞过。在网上下了一堆东西正在研究。各位有什么好的建议啊?小弟有礼了!!!



老菜鸟

  • 精华:22帖
  • 求助:0帖
  • 帖子:301帖 | 8609回
  • 年度积分:0
  • 历史总积分:24924
  • 注册:2003年6月15日
发表于:2007-05-22 12:03:00
1楼
226的掉电时间为100小时左右;
针对你的特殊情况——“我的程序里面需要输入一组数据,输入进去后就不会经常修改”,建议方法:
1、如果只输入1组,直接把数据在程序中写入即可:第一个扫描周期采用MOV指令把数据传送到存储器中;
2、如果输入N组,就采用配方,在触摸屏上选择配方即可。
我的某个程序中就采用了这样的写法,不知对你有没帮助,下载地址:
http://co.163.com/forum/content/1162_734735_1.htm

ShowFine

  • 精华:1帖
  • 求助:1帖
  • 帖子:57帖 | 753回
  • 年度积分:0
  • 历史总积分:1671
  • 注册:2003年10月29日
发表于:2007-05-22 12:52:00
2楼
不经常修改? 还是说根本就不要修改?只是给一个初始值就行了?如果这样,那么可以直接在数据块里定义初始值,即使掉电了,也会直接用EEPROM里恢复.

如果,需要偶尔修改,那么要用到配方功能.    而配方可以由触摸屏来实现,也可以由PLC实现.  当然,如果用屏来实现,那么简单,但是需要屏支持配方功能,而且灵活性差一些.    其次可以用PLC写配方功能. 这样灵活性好, 可以在屏上设置,添加配方,删除配方,调用配方等等, 但是编程麻烦些.

xcxc

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 20回
  • 年度积分:0
  • 历史总积分:3
  • 注册:2007年7月30日
发表于:2007-05-22 14:38:00
3楼
设计一个赋值子程序就可以了。注意使用sm0.1

郭zongkui

  • 精华:0帖
  • 求助:0帖
  • 帖子:37帖 | 153回
  • 年度积分:0
  • 历史总积分:297
  • 注册:2006年3月24日
发表于:2007-05-22 16:04:00
4楼
谢谢!
我的输入数据基本上不需要改变,是这样的:我输入的是一组温度探头的固有地址。如果探头没坏的话就不需要改变了,但是探头有可能坏,坏的几率比较小。所以说不经常修改。
再次谢谢老菜鸟大哥,我看看能不能成功,用您的程序。也感谢 ShowFine,没有用过配方,但是我想我的屏应该可以实现你说的功能。我试试。
to xcxc:
你说的赋值子程序是什么意思啊?
如果是简单的传送程序的话,不能实现的,因为plc的存储区数据保持时间有一定的保持时间。cpu226不加电池卡的话,只靠电容供电的话只可以保持100个小时左右,如果温度高的话,可能时间会更短。如果加一个电池卡的话,可以增长200天。但是我想通过编程来实现,这样更加灵活。呵呵。仍然感谢!

郭zongkui

  • 精华:0帖
  • 求助:0帖
  • 帖子:37帖 | 153回
  • 年度积分:0
  • 历史总积分:297
  • 注册:2006年3月24日
发表于:2007-05-22 16:16:00
5楼
to 老菜鸟:
您的程序怎么下不了啊?
我注册了一个网易电气的用户还是不行。可以发到我的邮箱里面么?拜托了,谢谢阿!老大,再次拜托了!

xcxc

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 20回
  • 年度积分:0
  • 历史总积分:3
  • 注册:2007年7月30日
发表于:2007-05-22 22:48:00
6楼
在主程序里设计用sm0.1对赋值子程序进行初始化,在子程序里你可以任意的对数据赋值。运行中对赋值数据进行修正,你就搞个输入。既然是温度,无外乎高低报警值,pid参数等。没啥。注意在线输入数据部分可不能在赋值子程序里。

老菜鸟

  • 精华:22帖
  • 求助:0帖
  • 帖子:301帖 | 8609回
  • 年度积分:0
  • 历史总积分:24924
  • 注册:2003年6月15日
发表于:2007-05-23 00:03:00
7楼
程序已发到你邮箱;
xcxc说的是对的。

郭zongkui

  • 精华:0帖
  • 求助:0帖
  • 帖子:37帖 | 153回
  • 年度积分:0
  • 历史总积分:297
  • 注册:2006年3月24日
发表于:2007-05-23 09:21:00
8楼
谢谢老菜鸟!你的程序我已经受到!再次感谢xcxc!

robotH

  • 精华:0帖
  • 求助:0帖
  • 帖子:7帖 | 688回
  • 年度积分:0
  • 历史总积分:2433
  • 注册:2004年10月14日
发表于:2007-05-23 09:38:00
9楼
不用这么麻烦,将初始数据写入到数据块中即可。

dhxpop

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 30回
  • 年度积分:0
  • 历史总积分:45
  • 注册:2006年2月09日
发表于:2007-05-23 10:52:00
10楼
真不错

robotics30

  • 精华:1帖
  • 求助:0帖
  • 帖子:43帖 | 277回
  • 年度积分:0
  • 历史总积分:1384
  • 注册:2004年3月22日
发表于:2007-05-23 15:37:00
11楼
不知道你是用什么来组态你的屏, 可以用配方, 然后选配方存储在Flash卡中, 就可以永久保存了.

求学111

  • 精华:0帖
  • 求助:0帖
  • 帖子:31帖 | 137回
  • 年度积分:0
  • 历史总积分:436
  • 注册:2006年2月08日
发表于:2007-05-24 08:01:00
12楼
200中的永久存储器SMB31,SMB32,永久EEPROM写入控制,只要PLC不损坏,保存数据没有问题,我们做的程序,有的半年以上才会用到,数据仍有。

郭zongkui

  • 精华:0帖
  • 求助:0帖
  • 帖子:37帖 | 153回
  • 年度积分:0
  • 历史总积分:297
  • 注册:2006年3月24日
发表于:2007-05-24 08:52:00
13楼
to 电光:
可以发一份你的程序看看么?要是涉及公司机密的话,能不能发个子程序过来?拜托了!

郭zongkui

  • 精华:0帖
  • 求助:0帖
  • 帖子:37帖 | 153回
  • 年度积分:0
  • 历史总积分:297
  • 注册:2006年3月24日
发表于:2007-05-24 08:53:00
14楼
不好意思,忘了说我的邮箱了:
guozongkui@126.com

热门招聘
相关主题

官方公众号

智造工程师