|
Вопросы о программировании Вопросы, касающиеся программирования на FBD |
|
Опции темы | Поиск в этой теме |
04.07.2023, 10:32 | #1 |
Member
Регистрация: Dec 2020
Адрес: Москва
Сообщения: 50
Благодарил(а): 4 раз(а)
Поблагодарили:
2 раз(а) в 2 сообщениях
|
Как сделать энергонезависимый счётчик? (решено)
Чей то ничего не получается. Сохраняю значение счетчика в памяти.
И вижу его на экране. Выключаю матрикс . После перезагрузки вижу то же значение на экране. Посылаю еще один импульс для счета , на экране опять единица, а не то значение что нащелкало раньше. Помогите плиз. |
04.07.2023, 11:01 | #2 |
Senior Member
Регистрация: Nov 2008
Адрес: Алтайский край
Сообщения: 136
Благодарил(а): 2 раз(а)
Поблагодарили:
7 раз(а) в 7 сообщениях
|
Ответ: Как сохранить уставку (значение) после выключения питания
Ну так после перезагрузки счётчики то начинают опять считать с 0, а не с сохранённого значения
|
04.07.2023, 11:10 | #3 |
Сотрудник Сегнетикс
Регистрация: Mar 2016
Адрес: SPb
Сообщения: 4 355
Благодарил(а): 0 раз(а)
Поблагодарили:
256 раз(а) в 252 сообщениях
|
Ответ: Как сохранить уставку (значение) после выключения питания
А что вы пытаетесь реализовать?
__________________ Если ничто другое не помогает, прочтите, наконец, инструкцию |
04.07.2023, 11:21 | #4 |
Member
Регистрация: Dec 2020
Адрес: Москва
Сообщения: 50
Благодарил(а): 4 раз(а)
Поблагодарили:
2 раз(а) в 2 сообщениях
|
Ответ: Как сохранить уставку (значение) после выключения питания
Счетчик срабатываний энергонезависимый
Добавлено через 3 минуты Ну и вообще не только его. Например есть в памяти 2 значения = время удержания. И есть 4 кнопки +\- и +\- для одного и второго значения. Когда включаешь вроде все ок считывается из смарта, но если нажать на любую кнопку то буде значение 1 единица. |
04.07.2023, 11:38 | #5 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 191
Благодарил(а): 15 раз(а)
Поблагодарили:
666 раз(а) в 608 сообщениях
|
Ответ: Как сохранить уставку (значение) после выключения питания
Значение счётчика сохраняете, но при включении не загружаете обратно в счётчик. Он с нуля и считает.
Но у вас в любом случае много лишнего в программе. Безымянный.png PS. Делая подобные схемы, всегда держите в голове, что ресурс памяти конечен. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
Благодарность от: |
05.07.2023, 17:20 | #6 |
Senior Member
Регистрация: Nov 2017
Сообщения: 561
Благодарил(а): 3 раз(а)
Поблагодарили:
38 раз(а) в 30 сообщениях
|
Ответ: Как сохранить уставку (значение) после выключения питания
|
05.07.2023, 17:29 | #7 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 191
Благодарил(а): 15 раз(а)
Поблагодарили:
666 раз(а) в 608 сообщениях
|
Ответ: Как сохранить уставку (значение) после выключения питания
Нет. Задача батарейной памяти не так проста, как кажется, да и правильно пользоваться ею 90% людей не умеют. Единственное хорошее решение для любой квалификации исполнителя - это внутренняя система "гибернации" от внутреннего источника питания. Но это матрикс раза в 2-3 дороже станет. И больше размерами.
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
05.07.2023, 17:36 | #8 | |
Senior Member
Регистрация: Nov 2017
Сообщения: 561
Благодарил(а): 3 раз(а)
Поблагодарили:
38 раз(а) в 30 сообщениях
|
Ответ: Как сохранить уставку (значение) после выключения питания
Цитата:
|
|
05.07.2023, 17:38 | #9 |
Senior Member
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 180
Благодарил(а): 242 раз(а)
Поблагодарили:
166 раз(а) в 158 сообщениях
|
Ответ: Как сделать энергонезависимый счётчик? (решено)
флешка на пару террабайт и нормальный менеджер памяти который не даст писать в одну ячейку миллион раз подряд проблему не решит?
|
05.07.2023, 17:42 | #10 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 191
Благодарил(а): 15 раз(а)
Поблагодарили:
666 раз(а) в 608 сообщениях
|
Ответ: Как сохранить уставку (значение) после выключения питания
Цитата:
На самом деле и в текущей реализации буферизирования с гарантированной записью ресурс сильно увеличен. Я ставил опыты, когда в блок памяти записывал около 2 миллиардов раз. Существенного износа не возникло. Но это частный случай. Пиши я чуть реже, всё могло бы быть и хуже. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
05.07.2023, 18:09 | #11 | |
Senior Member
Регистрация: Nov 2017
Сообщения: 561
Благодарил(а): 3 раз(а)
Поблагодарили:
38 раз(а) в 30 сообщениях
|
Ответ: Как сделать энергонезависимый счётчик? (решено)
Цитата:
Просто, всякие счётчики моточасов и т.п. -- это же типовая задача автоматизации. По идее, должно предоставляться готовое решение для простого использования. |
|
Благодарность от: |
06.07.2023, 19:51 | #12 |
Senior Member
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 180
Благодарил(а): 242 раз(а)
Поблагодарили:
166 раз(а) в 158 сообщениях
|
Ответ: Как сделать энергонезависимый счётчик? (решено)
про моточасы. и вообще всякие ЭЭ счетчики чего-нибудь.
я уже высказывался на эту тему как-то, но повторюсь: нужна функция, подсчитывающая разности соседних отсчетов и суммирующая их в исторических блоках. это сразу даст возможность не париться за память, её сохранность, и все такое прочее. и облегчит юзеру создание всевозможных счетчиков всевозможных событий. в такой фб можно будет сразу писать значение какого-нить счетчика периодом в час, например, и на выходе получать сумму наработки. |
06.07.2023, 20:37 | #13 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 191
Благодарил(а): 15 раз(а)
Поблагодарили:
666 раз(а) в 608 сообщениях
|
Ответ: Как сделать энергонезависимый счётчик? (решено)
С моточасами, если это именно моточасы, а не мотосекунды, проблем нет никаких на Trim/SMH4/Matrix. Можно на аррэях считать.
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
10.07.2023, 18:15 | #14 |
Senior Member
Регистрация: Nov 2017
Сообщения: 561
Благодарил(а): 3 раз(а)
Поблагодарили:
38 раз(а) в 30 сообщениях
|
Ответ: Как сделать энергонезависимый счётчик? (решено)
|
10.07.2023, 18:30 | #15 |
Senior Member
Регистрация: Aug 2013
Сообщения: 3 795
Благодарил(а): 12 раз(а)
Поблагодарили:
194 раз(а) в 190 сообщениях
|
Ответ: Как сделать энергонезависимый счётчик? (решено)
Зачем их считать. Считаем изменение десятков минут реального времени.
__________________ Не являюсь сотрудником Segnetics !!! |
10.07.2023, 18:57 | #16 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 191
Благодарил(а): 15 раз(а)
Поблагодарили:
666 раз(а) в 608 сообщениях
|
Ответ: Как сделать энергонезависимый счётчик? (решено)
Считать можно что угодно, сохранять нужно часы, а не секунды.
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
10.07.2023, 22:15 | #17 |
Senior Member
Регистрация: Nov 2017
Сообщения: 561
Благодарил(а): 3 раз(а)
Поблагодарили:
38 раз(а) в 30 сообщениях
|
Ответ: Как сделать энергонезависимый счётчик? (решено)
|
11.07.2023, 11:40 | #18 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 191
Благодарил(а): 15 раз(а)
Поблагодарили:
666 раз(а) в 608 сообщениях
|
Ответ: Как сделать энергонезависимый счётчик? (решено)
Даже если питание неожиданно рубится раз в день каждый день, то средневзвешенная погрешность будет 1/36, т.е. около 3%. Можно записывать раз в полчаса, это уже менее 1.5% погрешности.
Если питание рубится чаще, то насосы и так не доживут до конца своего назначенного ресурса. Погрешностью можно пренебречь. Значимость мотосекунд, как и значимость гальванической изоляции, сильно преувеличены. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
11.07.2023, 13:53 | #19 | |
Senior Member
Регистрация: Nov 2017
Сообщения: 561
Благодарил(а): 3 раз(а)
Поблагодарили:
38 раз(а) в 30 сообщениях
|
Ответ: Как сделать энергонезависимый счётчик? (решено)
Цитата:
И техническая возможность сделать нормальное хранение счетчиков есть с широкой областью применимости: и батарейное питание, и FRAM... Может быть виде отдельного модуля, как NA-017 какой-нибудь в Matrix. Или задокументировать распиновку модулей расширения, кому надо, тот сам сделает. |
|
11.07.2023, 14:09 | #20 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 191
Благодарил(а): 15 раз(а)
Поблагодарили:
666 раз(а) в 608 сообщениях
|
Ответ: Как сделать энергонезависимый счётчик? (решено)
А никто не мешает записывать состояние счётчика при отключении насоса. Не вводным автоматом же всё рубят.
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
11.07.2023, 14:09 | #21 |
Senior Member
Регистрация: Aug 2013
Сообщения: 3 795
Благодарил(а): 12 раз(а)
Поблагодарили:
194 раз(а) в 190 сообщениях
|
Ответ: Как сделать энергонезависимый счётчик? (решено)
Именно так.
Не пойму зачем этот сыр-бор. Достаточно контроля питания и успеть аварийно записать в память. __________________ Не являюсь сотрудником Segnetics !!! |
11.07.2023, 14:39 | #22 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 191
Благодарил(а): 15 раз(а)
Поблагодарили:
666 раз(а) в 608 сообщениях
|
Ответ: Как сделать энергонезависимый счётчик? (решено)
А я считаю, что для моточасов это лишнее. Вот для коммерческого учёта ЭЭ или тепла - это да. Но кто делает коммерцию на ПЛК? Да даже если и так, то пара аккумов на 12В + БП, рассчитанный на аккумы, дешевле всех этих прыжков с батарейной памятью.
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
11.07.2023, 15:57 | #23 |
Senior Member
Регистрация: Nov 2017
Сообщения: 561
Благодарил(а): 3 раз(а)
Поблагодарили:
38 раз(а) в 30 сообщениях
|
Ответ: Как сделать энергонезависимый счётчик? (решено)
Работать в предположении, что значение само сохраняется намного проще.
Могут быть счетчики, например, метража лебедки на спуск/подъем. Кроме этого, счетчик может пережить форматирование контроллера. Часы же не сбрасываются при форматировании. |
11.07.2023, 16:31 | #24 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 191
Благодарил(а): 15 раз(а)
Поблагодарили:
666 раз(а) в 608 сообщениях
|
Ответ: Как сделать энергонезависимый счётчик? (решено)
SD-карта. Настроить тренд в истории и писать. Карту на 16 гигов по кругу раз 50 точно можно писать. На сколько её хватит, если писать 4-8 байт в секунду?
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
11.07.2023, 16:46 | #25 | |
Senior Member
Регистрация: Nov 2017
Сообщения: 561
Благодарил(а): 3 раз(а)
Поблагодарили:
38 раз(а) в 30 сообщениях
|
Ответ: Как сделать энергонезависимый счётчик? (решено)
Цитата:
Поэтому, логично для сохраняемых счетчиков сделать специализированное решение. |
|
11.07.2023, 19:16 | #26 | |
Senior Member
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 180
Благодарил(а): 242 раз(а)
Поблагодарили:
166 раз(а) в 158 сообщениях
|
Ответ: Как сделать энергонезависимый счётчик? (решено)
я тоже за фбд "моточасы/счетчик чегонибуть типа вода, ээ, или одометры" который можно прочитать всегда и получить на выходе все что захочешь
Добавлено через 3 минуты Цитата:
примеры нужны? |
|
18.01.2024, 08:05 | #27 |
Senior Member
Регистрация: Sep 2016
Адрес: Первоуральск
Сообщения: 104
Благодарил(а): 2 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Как сделать энергонезависимый счётчик? (решено)
Вопрос:
если записывать в блок EEPROM() одно и тоже значение по сигналу на start wr будет ли производиться физически запись в ячейку? Или этот момент учтён в Лоджике и записи как таковой не будет? |
18.01.2024, 09:49 | #28 |
Senior Member
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 180
Благодарил(а): 242 раз(а)
Поблагодарили:
166 раз(а) в 158 сообщениях
|
Ответ: Как сделать энергонезависимый счётчик? (решено)
в библиотеках или на форуме есть макрос fronts(int/long/real) используйте его для разрешения записи по изменению
|
18.01.2024, 10:59 | #29 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 191
Благодарил(а): 15 раз(а)
Поблагодарили:
666 раз(а) в 608 сообщениях
|
Ответ: Как сделать энергонезависимый счётчик? (решено)
Цитата:
Судя по вашему вопросу, вы перепутали блоки EEPROM() и ARRAY(). Но всё равно, если нужно избежать записи повторяющихся данных, то это блок сравнения + AND, блокирующий сигнал записи. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. Последний раз редактировалось Arsie, 18.01.2024 в 11:11 |
|
18.01.2024, 12:17 | #30 |
Senior Member
Регистрация: Sep 2016
Адрес: Первоуральск
Сообщения: 104
Благодарил(а): 2 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Как сделать энергонезависимый счётчик? (решено)
Поменял блок на ARRAY.
Вот по такой схеме будет исключена запись одного и того же значения в ячейку памяти? 1 на входе lenght - это число байт или номер записи для long ? |