怀疑MCGS断电保持导致开机停在MCGS界面 点击:2447 | 回复:14



宋成明

    
  • 精华:0帖
  • 求助:3帖
  • 帖子:4帖 | 6回
  • 年度积分:0
  • 历史总积分:175
  • 注册:2015年2月03日
发表于:2020-03-13 18:12:36
楼主
求助帖150分-已结帖

!SaveSingleDataInit(保存的数据)

!FlushDataInitValueToDisk()

断电保存函数放在100MS的循环脚本里,会导致触摸屏EEPROM写坏吗。项目里用到的一批触摸屏有几个用了一段时间开机停在MCGS界面进不去了不知道是不是这个问题IMG_8451(20200313-174826).JPG



1分不嫌少!


楼主最近还看过



ozoner

  • 精华:0帖
  • 求助:0帖
  • 帖子:17帖 | 852回
  • 年度积分:0
  • 历史总积分:8613
  • 注册:2017年1月12日
发表于:2020-03-14 18:10:55
1楼

基本可以断定是这个断电保存脚本惹的祸了。


MCGS断电保存用的是铁电存储器(FeRAM),这种闪存察写次数大约是10万次。你的脚本放在100ms的循环脚本运行,用不了多久就要挂了。


断电保存函数的目的主要是用来保护重要的变量初值,以防系统断电后重启是引起混乱状态而造成误动作,这很重要,有时甚至会有危险。通常这个初值是不会经常需要改变的。因为铁电存储器写入次数的限制, 所以这个脚本函数一定不要写在循环策略里来用。


那么如果有些数据经常定期的要保存,比如你说的要保存计时时间,又怎么办呢? 

解决的办法就是:

1. 不要用循环策略。

2. 脚本做在用户策略里,用文件操作函数来做,把数据以文件形式保存在磁盘里,需要的时候再来读取。 磁盘空间所用存储器和程序的一样的系统存储器,相当于磁盘,文件不会因为掉电丢失,重启时从文件读取就可以了。 参考一下帮助里文件函数那些说明。


不过,还有一种万不得以的方法,我想一定有不少人用过。 

就是按照你的存储频率算一下,然后定时定期运行初值保存函数脚本,估算一下运行的次数,如果还可以接受,比如可以运行几年,5年或10年也到不了10万次,估计那时屏也差不多该更新了。 当然,如果你要求存储的频率比较高,1年就要存上10万次,那这办法也就不妥了。


总之,这个保存初值的函数不能随便用在循环策略里,也不要写在屏页面的循环脚本里,凡是循环不停执行的地方就很悬了。  我觉得这是MCGS软件这方面的一个缺陷,编程的时候应该有所提示更好,软件上应该不难做到。 



回复内容:

对: 宋成明 回复内容:对: 尚和沙  MCGS的没有专门规划的断电... 内容的回复!

y


Mrquang

  • 精华:0帖
  • 求助:0帖
  • 帖子:8帖 | 187回
  • 年度积分:91
  • 历史总积分:3069
  • 注册:2010年11月25日
发表于:2020-03-13 20:24:45
2楼

有可能哦,为什么要这样设计呢?

尚和沙

  • 精华:0帖
  • 求助:0帖
  • 帖子:8帖 | 153回
  • 年度积分:3
  • 历史总积分:788
  • 注册:2017年3月08日
发表于:2020-03-13 21:37:19
3楼

MCGS的没有专门规划的断电保持区,要么用组,要么就像楼主这样写脚本,很有可能就是这样引起的,不过感觉正常了,MCGS的故障率蛮高的

回复内容:

对: Mrquang 有可能哦,为什么要这样设计呢? 内容的回复!

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


宋成明

  • 精华:0帖
  • 求助:3帖
  • 帖子:4帖 | 6回
  • 年度积分:0
  • 历史总积分:175
  • 注册:2015年2月03日
发表于:2020-03-13 21:59:03
4楼


回复内容:

对: Mrquang 有可能哦,为什么要这样设计呢? 内容的回复!

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

因为有计时时间要保存  

宋成明

  • 精华:0帖
  • 求助:3帖
  • 帖子:4帖 | 6回
  • 年度积分:0
  • 历史总积分:175
  • 注册:2015年2月03日
发表于:2020-03-13 21:59:55
5楼


回复内容:

对: 尚和沙 MCGS的没有专门规划的断电保持区,要么用组,要么就像... 内容的回复!

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

像计时时间保存 有没有更好的办法呢

zhaojun1981

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 47回
  • 年度积分:0
  • 历史总积分:100
  • 注册:2007年5月14日
发表于:2020-03-14 11:36:02
6楼

10万次寿命

尚和沙

  • 精华:0帖
  • 求助:0帖
  • 帖子:8帖 | 153回
  • 年度积分:3
  • 历史总积分:788
  • 注册:2017年3月08日
发表于:2020-03-14 15:28:57
7楼

出门左拐,国产屏一大堆,维伦,步科,都行。反正我已经放弃MCGS了

回复内容:

对: 宋成明 回复内容:对: 尚和沙  MCGS的没有专门规划的断电... 内容的回复!

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


Mrquang

  • 精华:0帖
  • 求助:0帖
  • 帖子:8帖 | 187回
  • 年度积分:91
  • 历史总积分:3069
  • 注册:2010年11月25日
发表于:2020-03-14 17:09:16
8楼

回复内容:

对:宋成明 回复内容:对: Mrquang 有可能哦,为什么要这样设计呢? 内容的回复!-------------------------因为有计时时间要保存       内容的回复:

直接保存到PLC吧,然后用触摸屏显示出来就可以了

oani

  • 精华:0帖
  • 求助:3帖
  • 帖子:4帖 | 6回
  • 年度积分:0
  • 历史总积分:175
  • 注册:2015年2月03日
发表于:2020-03-14 19:57:13
9楼


回复内容:

对: ozoner 基本可以断定是这个断电保存脚本惹的祸了。MCGS断电保... 内容的回复!

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

文件操作函数写入的频率有多高?

Smile-lyc

  • [管理员]
  • 精华:127帖
  • 求助:50帖
  • 帖子:3482帖 | 22331回
  • 年度积分:1963
  • 历史总积分:145694
  • 注册:2006年8月04日
发表于:2020-04-15 09:18:03
10楼

感谢诸位答疑求助。温馨提醒:求助者请在一个月内及时把悬赏积分结贴发放。如果自己已经解决问题,还请到帖子跟帖分享为好。

一起分享经验,一起进步!


紫湮

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 53回
  • 年度积分:0
  • 历史总积分:52
  • 注册:2012年12月11日
发表于:2020-04-17 23:16:42
11楼

谢谢老师分享,学习学习

泓科工控

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 6回
  • 年度积分:0
  • 历史总积分:12
  • 注册:2016年10月16日
发表于:2020-11-10 21:50:15
12楼

我也碰到了,怎么解决的?

泓科工控

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 6回
  • 年度积分:0
  • 历史总积分:12
  • 注册:2016年10月16日
发表于:2020-11-15 18:16:57
13楼

我也碰到了,怎么解决的?楼主还在吗

liangjizeng

  • 精华:0帖
  • 求助:0帖
  • 帖子:7帖 | 264回
  • 年度积分:36
  • 历史总积分:4619
  • 注册:2010年4月27日
发表于:2020-11-18 11:01:19
14楼

最好用事件策略吧,可以加上数值变化条件,防止频繁存储


热门招聘
相关主题

官方公众号

智造工程师