|
Вопросы о SMH-2G(i) Здесь всё, что касается работы контроллера SMH-2G(i). |
|
Опции темы | Поиск в этой теме |
21.05.2015, 09:33 | #1 |
Новичок
Регистрация: Jun 2009
Сообщения: 13
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Сохранение в энергонезависимую память
Есть задача - отсчитывать заданное время в обратном порядке, по окончанию - выполнять некоторое действие.
При этом если пропало питание, то после включения счет должен продолжится с того же места. По достижению нуля - сброс, и инициализация значением заданного с панели. Не могу сообразить как решить эту задачу в SMLogix. Прошу помочь. P.S. Я видел пример энергонезависимого счетчика, но он мне не совсем подходит. |
21.05.2015, 11:50 | #2 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Сохранение в энергонезависимую память
Цитата:
А в чём состоит задача? Зачем считать время, которое по факту не является временем? __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
21.05.2015, 12:34 | #3 |
Новичок
Регистрация: Jun 2009
Сообщения: 13
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Сохранение в энергонезависимую память
Мне надо через заданное время перевести исполнительные механизмы в другой режим.
При этом время до конца нужно отображать на дисплее (часы-минуты), и если исчезнет питание - продолжить счет с того же места. Время может меняться оператором с панели. Я посчитал что на счетчике минут это сделать проще. Если есть другие решения - прошу их подсказать. P.S. Сразу оговорюсь - не хотелось бы использовать решения основанные на реальном времени, так как не хочется полагаться на батарейку. |
21.05.2015, 13:03 | #4 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Сохранение в энергонезависимую память
Цитата:
Напоминаю: "Мне надо через заданное время...". Либо вы неправильно понимаете свою задачу, либо неправильно рассказываете мне о ней. Если не полагаться на батарейку, то вы в тупике. Любой счёт будет останавливаться при потере питания контроллером. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
21.05.2015, 14:44 | #5 |
Новичок
Регистрация: Jun 2009
Сообщения: 13
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Сохранение в энергонезависимую память
Вы меня не правильно поняли.
То есть например, в момент когда пропал свет до конца процесса оставалось 15 минут, то когда свет снова появится счетчик также должен продолжить работу с 15 минут. То есть в счетчик должно загрузится число 15. |
21.05.2015, 15:09 | #6 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Сохранение в энергонезависимую память
Цитата:
1) "Мне надо через заданное время перевести исполнительные механизмы в другой режим" 2) "в момент когда пропал свет до конца процесса оставалось 15 минут, то когда свет снова появится счетчик также должен продолжить работу с 15 минут" Это две взаимоисключающие фразы. Почему я заостряю на этом внимание. Всякий раз, когда человек говорит про одну задачу несколько разные вещи, это означает в 99 случаев из 100, что этот человек неправильно понимает свою задачу. Именно поэтому я вас тут мурыжу. Что за техпроцесс? Что делает то оборудование, которое вам нужно включить? С чего вы взяли, что при выключенном питании нужно останавливать счёт? __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
21.05.2015, 15:23 | #7 |
Новичок
Регистрация: Jun 2009
Сообщения: 13
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Сохранение в энергонезависимую память
Потому что при выключенном питании не идет нагрев ТЭНов. Они должны греться на протяжении определенного количества времени.
|
21.05.2015, 15:53 | #8 |
Senior Member
Регистрация: May 2010
Адрес: Москва
Сообщения: 863
Благодарил(а): 4 раз(а)
Поблагодарили:
86 раз(а) в 67 сообщениях
|
Ответ: Сохранение в энергонезависимую память
ТЭНы без питания скорее всего будут остывать.
Вам не надо компенсировать это время дополнительным нагревом? Можно в начале техпроцесса "запомнить" время. В процессе сравнивать текущее время с начальным. Точность будет порядка 1 секунды, но вряд ли вам нужно точнее. |
21.05.2015, 16:06 | #9 | |
Новичок
Регистрация: Jun 2009
Сообщения: 13
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Сохранение в энергонезависимую память
Цитата:
Как я уже писал - не хотелось бы привязываться к часам и батарейке |
|
21.05.2015, 16:22 | #10 | |
Senior Member
Регистрация: May 2010
Адрес: Москва
Сообщения: 863
Благодарил(а): 4 раз(а)
Поблагодарили:
86 раз(а) в 67 сообщениях
|
Ответ: Сохранение в энергонезависимую память
Цитата:
Тогда попробуйте блок Device (Kernel). На нем есть выход PowerTrouble. По сигналу с него сохраняйте состояние счетчика в память. Ну или чтоб совсем надежно, сохраняйте каждую секунду (или 2, или 5, или... в зависимости от требуемой точности). А еще можно организовать для контроллера ИБП и подавать на вход контроллера сигнал, если случилась беда с питанием, чтобы контроллер точно успел все сохранить, корректно завершить счет. |
|
21.05.2015, 16:35 | #11 |
Новичок
Регистрация: Jun 2009
Сообщения: 13
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Сохранение в энергонезависимую память
Я планирую сохранять каждую минуту - когда изменяется значение счетчика.
Мне непонятно другое - как заставить счетчик при старте инициализироваться этим значением. Кроме того, как я уже писал мне нужно чтобы значение счетчика после сброса (то есть когда запустится новый цикл сушки) инициализировалось бы значением вводимым оператором с панели. Не могли бы вы набросать пример такой схемы? |
21.05.2015, 17:45 | #12 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Сохранение в энергонезависимую память
Цитата:
Давайте так. Я один раз сделаю за вас вашу работу. Но сделаю это только один раз. Если вы плохо опишете нужное вам действие - винить никого, кроме себя не останется. Договорились? Что именно мне для вас сделать? __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. Последний раз редактировалось Arsie, 21.05.2015 в 18:20 |
|
22.05.2015, 09:32 | #13 |
Новичок
Регистрация: Jun 2009
Сообщения: 13
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Сохранение в энергонезависимую память
Если упрощенно, то задача - сохранять значения счетчика при выключении питания, и загружать последнее значение при запуске. При сбросе, счетчик должен инициализироваться значением заданным оператором.
Я примерно понял как решить эту задачу - скриншот в приложении. Прошу посмотреть верно ли сделано. |
22.05.2015, 12:30 | #14 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Сохранение в энергонезависимую память
Сама загрузка счётчика из памяти выполнена корректно. Счёт в этой схеме хоть и возможен, но полностью отсутствует предзагрузка счётчика, что может поставить под угрозу правильность выдержки времени, если предыдущий цикл не закончен. Также будет проблема при изменении время выдержки - в любом случае придётся ждать окончания предыдущего цикла, т.к. цикл энергонезависим.
Также за пределами скриншота остался сигнал работы, я не могу оценить правильность его подачи и его основную характеристику - энергонезависимость. ------------------ Прилагаю верную программу. Она не сохраняет значение счётчика при выключении питания, но она помнит последнее значение счётчика и при включении питания продолжает счёт. При этом счётчик загружается заново при новом сигнале "Счёт". Отсчитав выдержку, счётчик останавливается, выдаёт сигнал окончания счёта и ждёт нового запуска. Прохождение ложного сигнала окончания счёта заблокировано. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
22.05.2015, 14:32 | #15 | |
Новичок
Регистрация: Jun 2009
Сообщения: 13
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Сохранение в энергонезависимую память
Цитата:
Под циклом вы имеете ввиду технологический цикл или цикл контроллера? Спасибо. Если мой вариант счетчика не заработает, то я воспользуюсь вашим. |
|
22.05.2015, 14:37 | #16 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Сохранение в энергонезависимую память
Цикл счёта. От начала выдержки времени до её окончания.
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
22.05.2015, 15:56 | #17 |
Новичок
Регистрация: Jun 2009
Сообщения: 13
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Сохранение в энергонезависимую память
Теперь понял.
Вариант который вы предложили - как я заметил он использует обращение к текущему времени. Но я так понимаю если батарея сядет, то он все равно будет работать? Часы обнуляться, но будут продолжать считать? |
22.05.2015, 16:02 | #18 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Сохранение в энергонезависимую память
Естественно.
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |