PDA

Просмотр полной версии : ПР200 Сброс счетчика при смене суток.



Nukuta
12.05.2017, 12:23
Может быть у кого то была подобная задача, которую вы решили?
Необходимо считать сколько раз отработала рецептура. Сосчитать проблем нет, но не могу придумать как сбрасывать это значение.
Нужно хранить это значение до конца рабочего дня который может настать как в 17.00 так и в 23.00, когда работа начнется тоже не известно. Напряжение на ночь и праздники отключается.
Логично что сбрасываем счетчик при изменении переменной "дата" относительно какого то прошлого значения.

Nukuta
12.05.2017, 12:26
А можно поставить True -> r_trig -> move "Дата" в энергонезависимую переменную, потом сравнивать с "Дата" и если не равно то сбрасывать счетчик. Будет ли это работать? Получается перезапись будет при включении.

Nukuta
12.05.2017, 12:36
Сначала написал, потом подумал. Сперва нужно сравнить потом перезаписать энергонезависимую. Проверить пока не могу на компьютере linux.

Василий Кашуба
12.05.2017, 14:01
Сначала написал, потом подумал. Сперва нужно сравнить потом перезаписать энергонезависимую. Проверить пока не могу на компьютере linux.
Всё гораздо проще, ни каких сравнений и энергонезависимых переменных, в момент смены даты, обнуляете счётчик и всё.

Сергей0308
12.05.2017, 14:15
Так у него в это время ПР может быть обесточено! Но проблема решаемая!

Василий Кашуба
12.05.2017, 14:17
Так у него в это время ПР может быть обесточено! Но проблема решаемая!
Это не проблема, так как при обесточивании, счётчик и так сбросится.

Сергей0308
12.05.2017, 14:54
Это не проблема, так как при обесточивании, счётчик и так сбросится.

Тогда получается полное отсутствие проблемы, если ПР на ночь выключается, сделать счётчик не энергонезависимым и всё!

Ревака Юрий
12.05.2017, 14:57
Тогда получается полное отсутствие проблемы, если ПР на ночь выключается, сделать счётчик не энергонезависимым и всё!

Да, но проблема может возникнуть при отключении питания в течении дня, я бы сохранял еще и номер дня, а после включения проверял, если номер дня не равен сохраненному, обнулил бы счетчик и перезаписал номер дня.

Сергей0308
12.05.2017, 17:07
Да, но проблема может возникнуть при отключении питания в течении дня, я бы сохранял еще и номер дня, а после включения проверял, если номер дня не равен сохраненному, обнулил бы счетчик и перезаписал номер дня.

Наверно так лучше, тогда счётчик делаем энергонезависимым в другую, тоже энергонезависимую переменную пишем число месяца, например раз в минуту(на 30 секунде) при включение если числа не равны, сбрасываем счётчик, всё!

Василий Кашуба
12.05.2017, 18:22
Наверно так лучше, тогда счётчик делаем энергонезависимым в другую, тоже энергонезависимую переменную пишем число месяца, например раз в минуту(на 30 секунде) при включение если числа не равны, сбрасываем счётчик, всё!
А зачем дату писать раз в минуту? Достаточно при пропадании питания писать, а при включении питания сравнивать.

Сергей0308
14.05.2017, 01:53
А зачем дату писать раз в минуту? Достаточно при пропадании питания писать, а при включении питания сравнивать.

Вдруг забудут выключить на ночь или заработаются без праздников и выходных в 3 смены, короче прибор должен работать не только в "ненормальных" условиях, но и в нормальных! Условия, что в день по нескольку раз выключается тоже не было! Лучше наверно писать при включении после сравнения и при смене дня!
Вот мой вариант:

31126

На всякий случай таймер поставил, вдруг при включении какие переходные процессы?!

Nukuta
15.05.2017, 10:24
Спасибо, сделал по вашему образцу.
А чем не нормален режим, что прибор периодически отключают?
Программируемое реле само по себе отличное, большой вычислительный потенциал, аналоговые входы/выходы, дисплей, размер, цена... Но вот среда программирования ((( Даже когда понимаешь как решить ту или иную задачу нужно еще придумать как сделать это в Owen logic

Василий Кашуба
15.05.2017, 11:04
...Программируемое реле само по себе отличное, большой вычислительный потенциал, аналоговые входы/выходы, дисплей, размер, цена... Но вот среда программирования ((( Даже когда понимаешь как решить ту или иную задачу нужно еще придумать как сделать это в Owen logic
Если вы знаете схемотехнику и булеву алгебру, то ничего придумывать как сделать это в Owen logic, не нужно. Просто рисуете "картину", как художник и всё.

Nukuta
15.05.2017, 11:31
Если вы знаете схемотехнику и булеву алгебру, то ничего придумывать как сделать это в Owen logic, не нужно. Просто рисуете "картину", как художник и всё.
Я в нескольких проектах искал команду "Move" нужно было переход условный сделать, решал проблему в обход. Потом на форуме увидел, что это делают командой "Sel"
Вот в формате ПР110 среда меня устраивает там само железо не даст сделать что то сложное. А в 200 вроде и мощь но работать не удобно. Но я все равно благодарен компании за их разработку, для мелких проектов и не очень щедрых заказчиков самое то. На дисплее написал, светодиодами поморгал, цену сказал, заказчик сразу готов поменять и без того рабочее на новое.

Василий Кашуба
15.05.2017, 14:43
Я в нескольких проектах искал команду "Move" нужно было переход условный сделать, решал проблему в обход. Потом на форуме увидел, что это делают командой "Sel"
А для булевых переменных командой "AND".