Segnetics

Вернуться   Segnetics > Форум Segnetics > Вопросы о программировании

Вопросы о программировании Вопросы, касающиеся программирования на FBD

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 14.07.2019, 13:21   #1
MadKid
Member
 
Регистрация: Jun 2019
Адрес: Новосибирск
Сообщения: 76
Благодарил(а): 1 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию ARRAY II и флэш-память

Здравствуйте, коллеги!

Пилю проект на Trim5. В нём, кроме прочего, должны быть энергонезависимые счётчики наработки насосов. Поскольку флэш-память имеет ограниченный ресурс по записи (притом неизвестно какой), то я решил организовать ротацию памяти при сохранении значений счетчика. Принцип такой: создаём кольцевой буфер, и пишем значения каждый раз в следующий адрес. Таки образом, ресурс флэш-памяти умножается на емкость этого буфера.

Для того, чтобы ротация была истинной, мы не должны использовать какие-либо указатели на текущую позицию в буфере, поэтому каждый раз при включении питания производится автоматический поиск ячейки с макс. значением. Я нарисовал макрос, который всё это делает, и ещё умеет стирать буфер, и всё это здорово работает.

Но!
У меня закрались подозрения, что я занимаюсь ерундой. А основания для подозрений следующие: у блока ARRAY II long максимальная емкость = 62 значения, что (по всей видимости) представляет собой одну страницу флэш-памяти без 8 байт. Вот эти 8 байт не дают мне покоя: очевидно, они участвуют во внутренней кухне блока, а именно - там хранятся какие-то указатели и они переписываются каждый раз при обращении к блоку. Соответсно, ресурс блока всё равно ограничивается ресурсом одной ячейки...

Мои вопросы:
1. Прав ли я в своих подозрениях?
2. Какая память используется в Trim5, а точнее - каков её реальный ресурс?
MadKid вне форума   Ответить с цитированием
Старый 14.07.2019, 18:18   #2
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 023
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: ARRAY II и флэш-память

Цитата
Сообщение от MadKid Посмотреть сообщение
У меня закрались подозрения, что я занимаюсь ерундой.
Всё верно)

Вам прежде всего нужно определиться с реально необходимой частотой записи значений. Возможно проблема особо у вас и не существует. Если насосная станция не расположена на даче, то периода записи моточасов раз в час обычно достаточно для получения погрешности менее 1%.

А ротацию ячеек Трим5 выполнит самостоятельно.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Благодарность от:
Старый 14.07.2019, 19:38   #3
MadKid
Member
 
Регистрация: Jun 2019
Адрес: Новосибирск
Сообщения: 76
Благодарил(а): 1 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: ARRAY II и флэш-память

Да, записывать раз в час, что соответствует примерно 10 тыс. записей в год.

Я сталкивался с разными чипами памяти с ресусом от 100 (ста) до 10 млн записей, и поскольку ничего не знаю именно про трим5, то предположил что 10 тыщ могут быть уже ощутимы.

Цитата:
Сообщение от Arsie Посмотреть сообщение
... А ротацию ячеек Трим5 выполнит самостоятельно.
Вот это да! Зря нигде в доках об этом не написано (во всяком случае не видел). Хотелось бы знать подробности - если использую ARRAY на одну ячейку, как будет осуществляться авто-ротация? В пределах страницы?
Если переформулировать, то каков будет эффективный ресурс этой ячейки (виртуально, с учетом ротации)?

И обобщая на будущее: как оценить реальный эффективный ресурс FBD-блока?
MadKid вне форума   Ответить с цитированием
Старый 14.07.2019, 21:20   #4
LordN
Senior Member
 
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 125
Благодарил(а): 239 раз(а)
Поблагодарили: 161 раз(а) в 153 сообщениях
По умолчанию Ответ: ARRAY II и флэш-память

если сомневаетесь, используйте для записи моточасов исторические блоки и версию лоджика 3,30.
что до темы, в одном из проектов на 2Gi пишу моточасы и циклы старт/стоп макросом, который выкладывал Арсений, с начала 17 года. частота записи - 1/4часа. пока все пашет.
кстати, вот тоже интересуюсь, если использовать смарт меню для записи моточасов, там так же справедливо ротация ячеек памяти и всё такое?


__________________
C уважением, LordN
LordN вне форума   Ответить с цитированием
Старый 15.07.2019, 10:33   #5
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 023
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: ARRAY II и флэш-память

Цитата
Сообщение от MadKid Посмотреть сообщение
Вот это да! Зря нигде в доках об этом не написано (во всяком случае не видел).
Там линукс на борту, общая концепция у него такая, но дьявол всегда кроется в деталях. Поэтому каждый случай я рассматриваю отдельно.



Цитата
Сообщение от MadKid Посмотреть сообщение
И обобщая на будущее: как оценить реальный эффективный ресурс FBD-блока?
https://forum.segnetics.com/showthread.php?t=1532

https://forum.segnetics.com/showthread.php?t=1533

https://forum.segnetics.com/showthread.php?t=2695

Обратите внимание на название раздела форума, откуда я дал вам ссылки


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 15.07.2019, 13:07   #6
MadKid
Member
 
Регистрация: Jun 2019
Адрес: Новосибирск
Сообщения: 76
Благодарил(а): 1 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: ARRAY II и флэш-память

Похоже, вы неправильно поняли мой вопрос, потому что по ссылкам вовсе не то. Я не имел в виду ни быстродействие, ни максимальный объём проекта.

Под "ресурсом FBD-блока" я подразумевал количество записей, которые выдерживает блок сохранения. Думал, что это будет ясно из темы и содержания ветки.

Но сейчас уже догадываюсь, что на этот вопрос вы мне не ответите, ибо заведует ротацией системный уровень, а не фирменная надстройка. Но если можете хотя бы примерно, то скажите.
MadKid вне форума   Ответить с цитированием
Старый 15.07.2019, 13:21   #7
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 023
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: ARRAY II и флэш-память

Цитата
Сообщение от MadKid Посмотреть сообщение
Под "ресурсом FBD-блока" я подразумевал количество записей, которые выдерживает блок сохранения. Думал, что это будет ясно из темы и содержания ветки.

Но сейчас уже догадываюсь, что на этот вопрос вы мне не ответите, ибо заведует ротацией системный уровень, а не фирменная надстройка. Но если можете хотя бы примерно, то скажите.
Это вообще никак от блока не зависит. Блок инициирует запись. Всё остальное делает система.

Выносливость самой памяти - дело вторичное. Древние SSD с более быстрой памятью типа MLC и ресурсом 10000 записей по факту менее выносливы и менее быстры, чем современные SSD с более медленной памятью типа TLC, ресурс которой 3000 записей. Алгоритмы коррекции, развитое кеширование и т.д. В результате наработка на отказ современных решений лучше, чем старых.

Мы тестов на износ не выполняли. Выносливости достаточно для гарантированной работы штатных сервисов в течении 25 лет.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать свои сообщения

BB code is Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Энергонезависимая память 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


Часовой пояс GMT +4, время: 13:20.


Версия vBulletin: 3.8.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Segnetics 2005 - 2023