|
Вопросы о SMH2010 Работа и применение контроллеров SMH2010A, SMH2010B и SMH2010C. |
|
Опции темы | Поиск в этой теме |
02.03.2018, 10:14 | #1 |
Member
Регистрация: Jun 2017
Сообщения: 56
Благодарил(а): 7 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Энергонезависимая память
Возникло несколько вопросов по эксплуатации энергонезависимой памяти:
1). Как считается количество записей в ЭП? Допустим у меня используется 2 переменные, в первую я сделал 1 запись, а во вторую 99.999 записей. Ресурс ЭП исчерпан или нет? 2). Заказчик хочет хранить уставку температуры и состояние автоматического режима Включен/Выключен (чтобы установка в случае временной пропажи питания сразу продолжила работу). В среднем каждое из этих значений будет меняться 10 раз в день. Если это имеет значение - есть ещё 11 энергонезависимых переменных, но они недоступны пользователю и исключительно предназначены для сервисного режима и практически не будут изменяться во время эксплуатации. Обещанный срок работы изделия - 15 лет. Если я правильно понимаю, ЭП хватит для выполнения лишь одного из требований? 3). Что конкретно произойдёт, когда ресурс ЭП будет исчерпан? Все энергонезависимые переменные, которые хранили значения продолжат их хранить, но изменения их значений будут теряться после пропажи питания? 4). Можно ли отследить факт того, что ресурс ЭП был исчерпан? (Чтобы вывести предупреждение на экран) 5). Может ли у пульта производиться замена ЭП без необходимости перепрошивать пользовательскую программу? Заранее спасибо. |
02.03.2018, 11:09 | #2 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Энергонезависимая память
Очень рекомендую вам прочитать эту статью на гиктаймс. Она много рассказывает про еепром и особенности записи туда.
3) Начинаются проблемы чтения и/или записи. Например, вы считываете какие-то нереальные цифры, далеко выходящие за предел ваших рабочих значений. Или не можете произвести запись - считывается всегда одно и то же число. 4) Из третьего пункта выходит четвёртый. Если вы добавите простенькую схему анализа того, что вы записали последний раз и что читается из каждой ячейки памяти - можно судить о том, что всё хорошо. И как только появится хотя бы одна ошибка чтения - стоит озадачитсья сменой памяти 5) Заменить отдельно чип памяти можно. Проект хранится во флэш-памяти самого процессора. Однако, нужно учитывать, что все сохранённые значения eeprom будут потеряны и придётся учитывать, что при запуске с новым чипом памяти будет прочитан "мусор". Придётся перезаписать все уставки. __________________ В сегнетиксе не работаю с самого начала 2019 года. |
Благодарность от: |
05.03.2018, 13:34 | #3 |
Member
Регистрация: Jun 2017
Сообщения: 56
Благодарил(а): 7 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Энергонезависимая память
Если я правильно понял статью - ответ на мой первый вопрос следующий: у каждой ячейки памяти свой ограниченный ресурс перезаписи, независимый от других ячеек.
Теперь конкретика: Допустим если я буду хранить переменную в блоке ARRAY длинной 1, то я смогу записать эту переменную 100.000 раз. Если я сделаю длину данного блока 10, и буду сдвигаться при каждой новой записи на новую ячейку памяти(дойдя до последнего значения, переместиться в начало массива и начать заново по нему проход, затирая старые значения новыми), то я смогу эту же переменную записать 1.000.000 раз. Правда для этого ещё понадобится хранить текущее положение в массиве в отдельном блоке, чтобы при перезапуске контроллера считывать корректное значение. Так или не так? |
05.03.2018, 13:57 | #4 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Энергонезависимая память
Экспериментов я не проводил, но вроде бы, дело именно так обстоит.
__________________ В сегнетиксе не работаю с самого начала 2019 года. |
05.03.2018, 14:21 | #5 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 170
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Энергонезависимая память
У нас страничный еепром, 1 страница = 256 байт. Т.е. ячейка должна быть не соседняя, а через 256 байт.
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
05.03.2018, 16:26 | #6 | |
Member
Регистрация: Jun 2017
Сообщения: 56
Благодарил(а): 7 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Энергонезависимая память
Хорошо, тогда ещё 3 вопроса:
1). Можно ли отследить момент, когда начинает пропадать питание у контроллера? (можно было бы значительно уменьшить количество требуемых записей) 2). Со страницами вы меня окончательно запутали Цитата:
3). Соответственно, чтобы увеличить количество перезаписей одной и той же переменной типа REAL для SMH2010 в 10 раз мне нужно создать 10 блоков ARRAY(real) длиной 64 каждый (чтобы один блок занимал одну страницу). Соответственно в первый блок писать и считывать переменную по адресу 0, во второй по адресу 256, в третий по адресу 511, четвертый по адресу 766 и т.д. В случае, если эта переменная булевая, то длина блоков ARRAY(bool) будет 256, а адреса записи/чтения переменных будут те же. Я правильно понял? |
|
05.03.2018, 17:01 | #7 | |||
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 170
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Энергонезависимая память
Цитата:
Цитата:
Цитата:
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|||
12.03.2018, 10:01 | #8 |
Member
Регистрация: Jun 2017
Сообщения: 56
Благодарил(а): 7 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Энергонезависимая память
Подумал на выходных над этой задачей, а ведь нам ещё необходим счётчик, который будет следить, на какой именно странице из 10-и хранится последнее актуальное записанное значение. В одной ячейке этот счётчик хранить не получится. А разбивать его на 10 ячеек памяти это плохая затея, т.к. счётчику тогда понадобится свой счётчик.
Я так понимаю, что считывание значений с энергонезависимой памяти не расходует её ресурс. Тогда счётчик можно было бы выполнить следующим образом: для каждой из 10-и страниц для хранения значения переменной будет отведена своя страница с отдельным счётчиком количества записей на 100.000 записей(блок Array длиной в 1 + пустой блок Array длиной в 127). Соответственно из 10-и страниц хранения переменной актуальна та, у которой счётчик имеет наибольшее количество записей. Корректно? Перечитал справку, не нашёл ничего про перемешивание страниц. Скажите, если я делаю несколько блоков EEPROM глубиной 1, то под каждый из них отводится отдельная страница? |
12.03.2018, 11:16 | #9 | ||
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 170
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Энергонезависимая память
Цитата:
Часто ли вы видите в инструкции к микроволновке описание физических принципов функционирования магнетрона? Цитата:
Я же написал, что нужно делать: "Проще 1 блок с единичной длиной + 1 блок с длиной 63. И так 10 пар", будьте внимательнее. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
||
12.03.2018, 11:28 | #10 |
Member
Регистрация: Jun 2017
Сообщения: 56
Благодарил(а): 7 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Энергонезависимая память
|
23.03.2018, 14:14 | #11 |
Member
Регистрация: Jun 2017
Сообщения: 56
Благодарил(а): 7 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Энергонезависимая память
Здравствуйте! Хотел выложить на суд-критику свой небольшой макрос, которой увеличивает количество возможных записей одной переменной в 3 раза. Запись и счёт записей осуществляются по выходам Ready и Sync блока Input.
В моём случае это переменная REAL. При желании макрос можно было бы модифицировать для увеличения возможного количества записей в N раз. |
23.03.2018, 14:27 | #12 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Энергонезависимая память
А какой в этом всём практический смысл?
__________________ В сегнетиксе не работаю с самого начала 2019 года. |
23.03.2018, 14:30 | #13 |
Member
Регистрация: Jun 2017
Сообщения: 56
Благодарил(а): 7 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Энергонезависимая память
|
23.03.2018, 14:51 | #14 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Энергонезависимая память
Ну если не секретные сведения, расскажите, пожалуйста, что за процесс вы программируете и какие данные и для чего сохраняете?
__________________ В сегнетиксе не работаю с самого начала 2019 года. |
23.03.2018, 15:05 | #15 | |
Member
Регистрация: Jun 2017
Сообщения: 56
Благодарил(а): 7 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Энергонезависимая память
Цитата:
1. Уставку температуры. 2. Включение-выключение кондиционера, если пропадёт питание, а потом снова появится, то контроллер должен запустить кондиционер снова. То есть нужно делать запись каждый раз, когда его включают/выключают. Там всё по аналогии, просто переменная типа Bool. Срок изделия-кондиционера 15 лет и я хотел перестраховаться с энергонезависимой памятью. |
|
23.03.2018, 15:14 | #16 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Энергонезависимая память
Но ведь даже если какой-то упоротый пользователь будет включать и выключать его более 12 раз в сутки, без праздников и выходных, этого всё равно с запасом хватает, разве нет?
__________________ В сегнетиксе не работаю с самого начала 2019 года. |
23.03.2018, 15:31 | #17 | |
Member
Регистрация: Jun 2017
Сообщения: 56
Благодарил(а): 7 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Энергонезависимая память
Цитата:
Предполагалось, что не только пользователь может включать/выключать автоматический режим, поэтому я перестраховался. Но в итоге это требование убрали. |
|
23.03.2018, 17:38 | #18 |
Новичок
Регистрация: Dec 2016
Сообщения: 13
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Энергонезависимая память
Вопрос такой же.Но про SMH4.
Тех процесс. Меняется величина и необходимо раз 100 в сутки(ориентировочно) записывать в память SMH4 число и сравнивать потом с предыдущими. Данная инормация актуальна? Спасибо |
23.03.2018, 17:41 | #19 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Энергонезависимая память
По smh4 читайте в той же главе справки лоджика, какие там цифры. Но там всё ещё более приблизительно, потому что там сама система занимается динамической записью в память. Поскольку там не используются чипы eeprom, там всё вообще несколько иначе на железном уровне.
__________________ В сегнетиксе не работаю с самого начала 2019 года. |
23.03.2018, 20:27 | #20 |
Senior Member
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 173
Благодарил(а): 242 раз(а)
Поблагодарили:
166 раз(а) в 158 сообщениях
|
Ответ: Энергонезависимая память
берете что-то типа бесперебойника, лишь бы питания контроллеру хватило чтобы записать по сигналу с дискретного входа на флеш или куда там оно пишется.. на дискр.вход подаете сухой контакт релюхи которая висит на переменке питающей бп контроллера. у меня такая фигня уже с 2005го пашет на пикселе. в моем случае в роли бесперебойника выступил овеновский бп. входной емкости хватает чтобы пиксель успел записать число в память.
|
23.03.2018, 21:22 | #21 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 170
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Энергонезависимая память
А это число необходимо записывать в именно энергонезависимую память?
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
18.11.2018, 15:14 | #22 | |
Новичок
Регистрация: Nov 2018
Адрес: Хабаровский край
Сообщения: 4
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Энергонезависимая память
Цитата:
EEPROM AT24C512(D7).Для этого на плате рядом с кварцевым резонатором есть контактное поле ХР10.Подключившись программатором,например,СН341А,считываем и сохраняем в файл,питание контроллера при этом включать не нужно.Теперь,если вам всё-таки удастся "высушить" память,заменить микросхему на предварительно прошитую не является технически сложной операцией. Последний раз редактировалось vostok66, 18.11.2018 в 15:18 Причина: опечатка |
|
19.11.2018, 11:21 | #23 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Энергонезависимая память
Тут я не готов с вами согласиться. Это далеко не каждому наладчику по силам.
__________________ В сегнетиксе не работаю с самого начала 2019 года. |
20.11.2018, 04:56 | #24 |
Новичок
Регистрация: Nov 2018
Адрес: Хабаровский край
Сообщения: 4
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Энергонезависимая память
|