|
Вопросы о программировании Вопросы, касающиеся программирования на FBD |
|
Опции темы | Поиск в этой теме | Опции просмотра |
14.07.2019, 13:21 | #1 |
Member
Регистрация: Jun 2019
Адрес: Новосибирск
Сообщения: 76
Благодарил(а): 1 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
ARRAY II и флэш-память
Здравствуйте, коллеги!
Пилю проект на Trim5. В нём, кроме прочего, должны быть энергонезависимые счётчики наработки насосов. Поскольку флэш-память имеет ограниченный ресурс по записи (притом неизвестно какой), то я решил организовать ротацию памяти при сохранении значений счетчика. Принцип такой: создаём кольцевой буфер, и пишем значения каждый раз в следующий адрес. Таки образом, ресурс флэш-памяти умножается на емкость этого буфера. Для того, чтобы ротация была истинной, мы не должны использовать какие-либо указатели на текущую позицию в буфере, поэтому каждый раз при включении питания производится автоматический поиск ячейки с макс. значением. Я нарисовал макрос, который всё это делает, и ещё умеет стирать буфер, и всё это здорово работает. Но! У меня закрались подозрения, что я занимаюсь ерундой. А основания для подозрений следующие: у блока ARRAY II long максимальная емкость = 62 значения, что (по всей видимости) представляет собой одну страницу флэш-памяти без 8 байт. Вот эти 8 байт не дают мне покоя: очевидно, они участвуют во внутренней кухне блока, а именно - там хранятся какие-то указатели и они переписываются каждый раз при обращении к блоку. Соответсно, ресурс блока всё равно ограничивается ресурсом одной ячейки... Мои вопросы: 1. Прав ли я в своих подозрениях? 2. Какая память используется в Trim5, а точнее - каков её реальный ресурс? |
14.07.2019, 18:18 | #2 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 020
Благодарил(а): 15 раз(а)
Поблагодарили:
655 раз(а) в 599 сообщениях
|
Ответ: ARRAY II и флэш-память
Вам прежде всего нужно определиться с реально необходимой частотой записи значений. Возможно проблема особо у вас и не существует. Если насосная станция не расположена на даче, то периода записи моточасов раз в час обычно достаточно для получения погрешности менее 1%. А ротацию ячеек Трим5 выполнит самостоятельно. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
Благодарность от: |
14.07.2019, 19:38 | #3 |
Member
Регистрация: Jun 2019
Адрес: Новосибирск
Сообщения: 76
Благодарил(а): 1 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: ARRAY II и флэш-память
Да, записывать раз в час, что соответствует примерно 10 тыс. записей в год.
Я сталкивался с разными чипами памяти с ресусом от 100 (ста) до 10 млн записей, и поскольку ничего не знаю именно про трим5, то предположил что 10 тыщ могут быть уже ощутимы. Если переформулировать, то каков будет эффективный ресурс этой ячейки (виртуально, с учетом ротации)? И обобщая на будущее: как оценить реальный эффективный ресурс FBD-блока? |
14.07.2019, 21:20 | #4 |
Senior Member
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 125
Благодарил(а): 239 раз(а)
Поблагодарили:
161 раз(а) в 153 сообщениях
|
Ответ: ARRAY II и флэш-память
если сомневаетесь, используйте для записи моточасов исторические блоки и версию лоджика 3,30.
что до темы, в одном из проектов на 2Gi пишу моточасы и циклы старт/стоп макросом, который выкладывал Арсений, с начала 17 года. частота записи - 1/4часа. пока все пашет. кстати, вот тоже интересуюсь, если использовать смарт меню для записи моточасов, там так же справедливо ротация ячеек памяти и всё такое? |
15.07.2019, 10:33 | #5 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 020
Благодарил(а): 15 раз(а)
Поблагодарили:
655 раз(а) в 599 сообщениях
|
Ответ: ARRAY II и флэш-память
https://forum.segnetics.com/showthread.php?t=1533 https://forum.segnetics.com/showthread.php?t=2695 Обратите внимание на название раздела форума, откуда я дал вам ссылки __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
15.07.2019, 13:07 | #6 |
Member
Регистрация: Jun 2019
Адрес: Новосибирск
Сообщения: 76
Благодарил(а): 1 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: ARRAY II и флэш-память
Похоже, вы неправильно поняли мой вопрос, потому что по ссылкам вовсе не то. Я не имел в виду ни быстродействие, ни максимальный объём проекта.
Под "ресурсом FBD-блока" я подразумевал количество записей, которые выдерживает блок сохранения. Думал, что это будет ясно из темы и содержания ветки. Но сейчас уже догадываюсь, что на этот вопрос вы мне не ответите, ибо заведует ротацией системный уровень, а не фирменная надстройка. Но если можете хотя бы примерно, то скажите. |
15.07.2019, 13:21 | #7 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 020
Благодарил(а): 15 раз(а)
Поблагодарили:
655 раз(а) в 599 сообщениях
|
Ответ: ARRAY II и флэш-память
Выносливость самой памяти - дело вторичное. Древние SSD с более быстрой памятью типа MLC и ресурсом 10000 записей по факту менее выносливы и менее быстры, чем современные SSD с более медленной памятью типа TLC, ресурс которой 3000 записей. Алгоритмы коррекции, развитое кеширование и т.д. В результате наработка на отказ современных решений лучше, чем старых. Мы тестов на износ не выполняли. Выносливости достаточно для гарантированной работы штатных сервисов в течении 25 лет. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
Опции темы | Поиск в этой теме |
Опции просмотра | |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Энергонезависимая память | Roll4Repairs | Вопросы о SMH2010 | 23 | 20.11.2018 04:56 |
Array II | AndreyMM | SMLogix | 4 | 06.04.2017 11:53 |
Сохранение в энергонезависимую память | smersh | Вопросы о SMH-2G(i) | 17 | 22.05.2015 16:02 |
Энергонезависимая память | Max2114 | Вопросы о Pixel | 6 | 29.08.2011 11:52 |