PDA

Просмотр полной версии : Retain СПК207



приборист
13.04.2015, 12:41
Добрый день!
Подскажите по такому вопросу:
Есть СПК207, в нем объявлен массив строк
VAR_GLOBAL RETAIN
strArcAll:ARRAY [0..35] OF STRING;
END_VAR

Массив является кольцевым буфером - раз в 5 минут либо по переполнению массива - он переписывается на SD либо на USB либо на Flash.
Массив занимает практически всю Retain память. (Печально что нельзя увеличить размер)
Объявлен Retain с целью не потерять данные кольцевого буфера при выключении питания. Изучая форум наткнулся на описание Retain в СПК207, где написано что переменные пишутся на Flash при каждом изменении самой переменной (но не чаще раза в секунду).
В нашем случае переменные могут меняться очень часто (примерно каждые 5-10 секунд).
В связи с этим вопрос - не протрем ли мы флэш память?
Если приводить аналогию с ПЛК110 - там ретейны писались при пропадании питания, и был флаг пропадания питания.
Как быть с СПК?

Техподдержка на все это ответила следующее:

Retain переменные сохраняются в специально отведенной микросхеме, работающей на flash технологии.
Количество циклов перезаписи ~10 000

Малышев Олег
13.04.2015, 14:15
1) Ни в одной модификации 207 данные не пишутся во флешь
в СПК207 старая - 200МГц пишутся в SRAM с батарейным питанием
в СПК207 М02 новая -600МГц - в MRAM

об истирании ретайн речи идти не может.

2) На СПК1хх данные сохраняются в файл. Файл действительно расположен на флешь. Но, при использовании его на UBIFS с последовательной записью в малоиспользованные сектора ресурс флеш используется более разумно. Условно говоря сектор флешь ~ 128кБ, примерно через 40-60 секунд перепишется т.е. при использовании флеши с ресурсом в 10000 записей будет примерно 10000 минут. Не помню точно вполне возможно что там ресурс флеши - 50000 перезаписей. Перезапись происходит только при изменении.

Все не так радужно как на 2хх - но при разумном использовании - все вполне нормально.

приборист
13.04.2015, 14:39
Олег, спасибо!
За Retain уже спокоен.

Получается единственный выход - это использование Retain и по мере заполнения - копирование на SD\USB\Flash.