Все это делается в 34 билде, о чем я указывал. Старая версия программы, идущая на диске выдавала ошибки даже при установке CLOCK WEEK в схему, о чем я тоже чуть выше указал..
Вид для печати
Все это делается в 34 билде, о чем я указывал. Старая версия программы, идущая на диске выдавала ошибки даже при установке CLOCK WEEK в схему, о чем я тоже чуть выше указал..
Не расстраивайтесь melky ,это так приятно порой находить ошибки в работе других ,вносить свой вклад ,если конечно они есть .И если это подтвердится ,то ни кто замалчивать не будет ,где бы ошибка не была в описании или в проге,может да же спасибо скажут не только разработчики ,но и другие пользователи.:)
rovki, та я ж ниче, даже без спасибо обойдусь, только понимаете, что делать с задумкой управления уличным освещением и собственно ПР110 как таковым ?
этот то я поставлю, благо он выполняет не такие сложные задачи... воткну пару таймеров с усредненными значениями, без всяких там диапазоов месяцев и дней...
только вот следующий я врядли куплю.... а еще хотел предложить сделать модификацию ПР110-220 12/8 с гальваически развязанными 6-ю входами и группой из оставшихся 6-ти входов... Потому что все их модификации не приспособлены для котроля чередования фаз, технически не приспособлен один прибор следить за 6-ю фазами.... Увы..
Для контроля чередования фаз ПР110\220 не пойдет ,в том смысле ,что логику можно сделать (и уже делал в примерах) по причине малого быстродействия по входу (100мс). Может ПР114 или ПР120 пойдет ,не знаю ,не щупал.
Я бы вообще ,если пользователи ПР ,добровольно являются "подопытными кроликами",на месте руководства ОВЕН ,давал бы каждому "морковку" в виде ПР за найденную ошибку в Проге.Потому как основные затраты(время,деньги) связаны с разработкой и отладкой ПО.
rovki, я облизываюсь на ПЛК304, но ведь это уже не маленькая морковка :))
Да он не подойдет и по другим причинам
цена 12/8 * 2 не оправдывают использование, где достаточно было бы и 10 входов и 4 выходов для реализации... из-за того, что группы по 4 на одну фазу по входу.
Такс, симулятор чертов, он оказывается так глючит (одновременно включенные таймеры), потому что ему надо еще часики умудриться запустить.... сразу то я слона и не заметил...
А вот ошибка точно есть, когда у меня стоит несколько таймеров
маска по всем дням недели, дни выключены - на выходах всех становится лог 1, а 0 появляется когда и указанно в документации для обратно установленного времени...
на CLOCK еще не проверял...
Ну ,батенька ,уж часики ,я думал вы заметили:D
УУУ, бред... думал сейчас применить костыль и вставил НЕ после каждого таймера, время выскочило за рамки установленного таймером...
Твкл = 22-01 Твыкл - 4-50 таймер меняет состояние не внутри диапазона, а снаружи...
Уберите все НЕ и посмотрите теперь реакцию.. Веселуха блин...
тоже снаружи диапазона срабатывает... но все инвертированы в 1, а должны были бы быть с 0, как и при установке таймера в голый проект...
насколько помню, уже 4 таймера выходы меняют...
Поставьте два таймера в голый проект с такими параметрами - таймеры ЛЕГЛИ...
поставил CLOCK простой, та же песня. Ошибка в коде обратного таймера, когда он установлен ВТОРЫМ (ну или когда их два на схеме, уж не знаю, как правильнее, даже после прямого таймера...)
утро вечера мудрее .Доживем до завтра.
Думаю на сегодня хватит уже... Завтра на работе подниму вопрос таймеров. OWEN Logic абсолютно правильно воспроизводит работу прибора. А вот в приборе есть один сомнительный момент, завтра и подниму этот вопрос...
Итак, товарищи, тут есть непонимание механизма работы таймера.
Таймер работает в пределах 1 временной зоны. Зонами могут быть 1 минута, 1 час, 1 день, 1 месяц и 1 год.
Если же требуется чтобы таймер включился в одной временной зоне, например в 16.00 1 декабря а выключился в 8.00 2 декабря, то тут 2 временные зоны и, следовательно, 2 таймера.
Либо надо использовать временную зону более высокого порядка, в данном случае месяц, а не день.
Так вот, тут как раз все правильно. Как работает тут первый по схеме таймер:
Сейчас май месяц. Крайнее включение таймера было в 18.28 31 января.
А выключение будет в 8.22 1 января следующего года. Так что таймер абсолютно справедливо включился.
Чтобы выключить сигнал в 8.22 1 февраля нужен еще 1 таймер. :)
Филоненко Владислав. а, вот теперь понятно, почему у вас таймеры зависают с выходом = 1, потому что уходят в годовой цикл :)
а как же ограничение таймера в 24 часа по документации ?
должно быть при выставлении месяца ноябрь и Твкл=23-00 Твыкл = 0-05
30 ноября включиться, 1-декабря 0-05 выключиться вне зависимости, что непосредственно 1-е число следующего месяца не входит в диапазон времени
тогда будет соблюдено условие работы таймера согласно документации для обратного отсчета... которое у вас отражено.
и почему обратный таймер CLOCK WEEK при маске Пн, Вт, Ср, Чт, Пт, Сб включившись в Сб, выключается в Вс не в 0-05, а строго в 0-00 ?
Сколько таймеров в вашем понятии их работы я должен установить для правильного обеспечения работы цикла ?
программу я привел, там все видно на картинке, все уставки таймеров. Срабатывать два раза в течение месяца каждый день... а не один раз в год после последнего числа месяца...
То есть выходит, чтобы таймеры не уходили в зависшее состояние на целый год, я в программу должен ввести еще 12 таймеров для уверенности отключения. Таймеры у вас не соединяются в цепочку, не имеют входа сброса... А что я должен делать с его выходом = 1 ? сколько логических цепочек вставить в программу, чтобы избавиться от этой зависшей 1 ?
не проще ли специалистам поправить логику работы таймера согласно же документации ?
а как же ограничение таймера в 24 часа по документации - какое ограничение О_О? Ограничение на то, что в сутках 24 часа? А у Вас не так?
почему обратный таймер CLOCK WEEK при маске Пн, Вт, Ср, Чт, Пт, Сб включившись в Сб, выключается в Вс не в 0-05, а строго в 0-00 ? - ну так вы сами задали что таймер не работает в воскресенье. Напомните, во сколько наступает воскресенье? В 0-05 или все же в 0-00?
Сколько таймеров - 3 на цикл. 1 вкл/выкл внутри месяца и 2(1, если не надо включать 31 декабря) обеспечивающие логику работы за пределами месяца
Филоненко Владислав, зачем мне залипший на год таймер, сколько й нас ноябрей в году ? :))
у вас получается, что события преобладают над таймером, а не таймер над событиями, и если я ставлю обратный таймер с маской по дням недели, с выключением в 7-00 его вырубают в ноль, потому что наступил день недели, не указанный в маске...
А теперь попробуйте применить свое творение в управлении инкубатором с такими приколами таймеров... Либо сожгете чего-нибудь, либо оставите без обогрева.... (это просто пример, с каторым ваши таймеры не справятся по крайней мере на ПР110)
ограничении на то, что я не могу сказать таймеру 32 часа к ряду, 2 часа перерыва и опять 32 часа к ряду. То есть промежуток времени между Твкл и Твыкл не может превышать 24 часов - а у вас в одном случае пока не наступил последний день месяца соответсвует условиям работы таймера, а в последний день месяца он перейдет на целый год во включенном состоянии...
в другом случае по маске дней недели, он будет соответствовать, а в случае не указанного дня вырубится раньше положенного. Он ВКЛЮЧИТЬСЯ не должен в отсутствующий день, а выключиться обязан по заданному времени.
Кошмар ,хорошо что не приходилось использовать недельный таймер .Тут не выкручиваться надо,а срочно менять логику работы или выкидывать его вообще ,что бы голову не ломать -один ,два,три штуки....
Своими корявыми, не программисткими мыслями.
Твыкл должно преобладать над окончанием события.
Если Твыл = 4-00, а событие (конец месяца, дня, года), не указанное в таймере при Q=1 таймер должен проработать еще 4 часа и отключиться. Далее по событиям.
Тогда это будет правильная работа таймера.
Единственное исключение, когда Твкл = 15-00 Твыкл = 14-00 день ОДНО число, месяц. Вот это исключение и надо организовывать двумя таймерами и логикой. но все подряд зачем ? О_О
з.ы. предлагал уже выше, возможность соединять таймеры в каскад, возможность выключать Твкл или Твыкл. Добавить вход сброса таймера, добавлю еще, возможность извне менять Твкл и Твыкл (два входа, работающих по принципу счетчика, чтобы была возможность изменять Твкл или Твыкл в некотором пределе от заданного в программе по умолчанию) - цены бы не было такой игрушке. :)
Тут все правы и не правы.
Можно сделать таймер со всякими наворотами в различных граничных условиях. Этот таймер для реализации таких граничных условий будет иметь внутри себя 3(4,5,6) таймеров. При этом 90% потребителей не будет использовать весь этот функционал. А место они будут занимать.
Как результат будем иметь меньшее количество таймеров (и др. ФБ) в программе, каждый из ФБ обладает избыточным функционалом.
Мы пошли другим путем. Все ФБ имеют минимальный функционал. К примеру таймер. Если нужен дополнительный - его очень легко получить добавляя доп. таймеры и логику.
Про недельный - в документации было указано что дни недели - маска таймера. Возможно примеров мало или описание не достаточно подробное.
Филоненко Владислав, описание вполне приемлимое для таймеров, за исключением того, что указанный в таймере срок работы вышел, а он остался в работе. (конкретно для обратного таймера)
никаких наворотов, и таймер в принципе один, просто зачем лепить логику после таймера на случай его отключения, если самому таймеру можно добавить вход R (импульс) и он отключится раньше Твыкл до следующего Твкл.
Добавьте еще 3 входа, 2 для изменения Твкл и Твыкл и один для указания меньше больше (0 и 1). + подсчет импульса 8,16. А в настройках самого таймера добавьте время в пределах часа например. Время/кол.импульсов равно шагу отклонения от Твкл или Твыкл.
итого люди получат возможность менять в пределах часа Твкл или Твыкл программно или используя входы ПР....
В любом случае непосредственно таймер останется один но полезный, а будут его использовать или нет, решать пользователям.
з.ы. к консенсус об исправления логики работы существующего таймера интересно будет в следующих версиях ПО или прошивки... интересуюсь на тот случай, куда мне теперь это ПР девать :)
таймер в вашем случае работает следующим образом.январь 31 число 9 вечера, согласно уставке таймер должен быть включен. проходит 3 часа и у нас уже 1 февраля. Так как маска по месяцам включена и текущий месяц не совпадает с тем что задано блок оставляет свое состояние.
прошел год случилось 1 января и в 8 часов утра таймер выключился так как наконец выполнилось условие выключения.
а так можно поставить заглушку вот так и все будет работать как надо.
указанный в таймере срок работы не вышел, он должен был выйти 1 января.
Вот если бы указали выключить 1 февраля а он не выключился - то тут ошибка.
Было предложено несколько вариантов реализации нужной Вам логики, выбирайте.
Про улучшения - все пожелания в соответствующей теме. Здесь это оффтопик.
Сообщение программы при открытии "Адресат вызова создал исключение"
из-за 35-й беты ? и где ее брать ?
на сайте лежит. Вот ссылка на страницу
http://www.owen.ru/catalog/89272529
и на установочный файл
http://www.kipshop.ru/Soft/Configura...ogic_setup.zip
Просто отлично, умножаем нужное количество таймеров на два, добавляем И, и радуемся жизни.... :(
По мне так ,если назвали -НЕДЕЛЬНЫЙ ТАЙМЕР ,по пусть он работает по дням недели только .Причем маска по дням влияет только на включение таймера ,а выключение всегда по времени этого или следующего дня в зависимости от времен вкл. ,выкл (больше, меньше). Аналогично должен работать обычный таймер.Если не задан месяц ,то включается по установленному времени каждый день и сбрасывается в этот или следующий день.При этом ,если не задан еще и день ,то работает каждый день ,каждый день и каждый месяц(ежедневник).А если день задан ,а месяц нет то работает один раз в месяц ,каждый месяц(ежемесячник). Если не задан день, а задан месяц, то включается каждый день заданного месяца ,в заданное время ,а выключается в этот месяц , каждый день ,в заданное время(в этот или следующий день)...Вот как то так.По крайней мере логично.
последний довод...
Говорите логично, что при обычном таймере Твкл=23-00 Твыкл=0-02 не использовать дни, месяц Декабрь, что при наступлении 1-января таймер останется включенным до 1 декабря следующего года ?
Почему же тогда логично, что при наступлении Воскресенья, которое выключено, не происходит того же самого ? Q должно остаться равным 1 до наступления 0-02 Понедельника, который включен в маске ??????? а оно вообще сбрасывает Q в 0 по времени в 0-00 минут
Выбирете ответ:
1. Логика первого варианта верна больше
2. Логика второго варианта верна больше
3. Логика обоих вариантов верна, потому что так запрограммировали :)
пример ниже, там же ошибка при входе в редактирования выключения таймера...
имхо... время старта, время останова задается по календарю.
На календарь накладывается маска - каждый день, каждый месяц (если день старта 3 число и маска каждый месяц старт 3 число, останов 3 число следующего месяца - останов в конце цикла(на следующий день если Твыкл < Твкл)
Поставил сейчас для проверки старт 16 февраля, стоп 14 апреля, время и прямое и обратное - Q = 0 в любых вариантах, до, внутри цикла.....
:(
Может и запутался где ,нужно составить таблицу .
1.
Не задан день ,значит каждый день ,задан месяц ,значит в указанный месяц .значит включаем каждый день в 23-00 ,а выключаем 0-02 на следующий день ,в течении этого месяца .В последний день этого месяца включится в 23-00,а выключится в 0-02 следующего месяца(маска на включение).
Я ж писал предложения как сделать таймеры ,а не описывал существующие (рабочие или нет).
Исправил свой пост ,запутался -используется ,не используется.
да я сам уже запутался :) воткнул то недельный для проверки, а "трусики" и не одел...
примерно так должно быть
2.02
Твкл
5.04
Твыкл
масок нет
включиться 2 февраля, выключиться 5 апреля
2.02
Твкл
5.04
Т выкл
маска дней --
Включиться 2 февраля, срабатывать каждый день, выключиться 5 апреля
тоже + маски Пн, Ср, Пт
Включиться в первый Пн после 2 февраля, срабатывать каждый Пн, Ср, Пт, выключиться 5 апреля или раньше, если 5-е Сб или Вс.
ну и так далее... учитывая ессно что при Твыкл < Твкл, отрабатывать на следующий день выставленное время Твыкл, даже если оно не в цикле
А вот тут http://www.owen.ru/catalog/76841395 не лежит ,вместо программы -описание :)
Заинтересовался я этой темой , т.к. часто пишу проекты для ПРок , пока вникал в суть переписки , выяснил как возникает эта ошибка.Ошибка указанная в посте №322 возникает если в свойствах даты и времени компьютера выставить год не соответствующий текущему.К примеру 2010 или 2012 и попытаться сменить дату и время включения CLOC WEEK.
Спасибо большое за помощь в понимании проблемы, но я никак не могу возобновить эту проблему. Ведь в календаре кроме 2011 года другой год и не выберешь. Не могли бы Вы поподробнее описать как удается другой год выбрать? Может я какую-то "лазейку" упустил... :)
Если я правильно понимаю речь идет о версии (build) 35...
wal79, я просто ставил обратный таймер Твкл>Твыкл и 31 декабря... При переходе на 1 января таймер не срабатывает. И при попытке зайти потом в настройки таймера и вываливается эта ошибка.
Где-то писал уже, в том же LOGO! указывается период действия таймера, скажем с 1 марта по 28 июня, в конце периода Q становится равном 0, если была 1.
То есть выставленный период для таймера закончился - выключить его. И это более правильно.
Единственное, в ПР у вас реализован таймер каогда Твкл больше Твыкл. Вот как раз для него и неплохо сделать исключение, что если дата уже не входит в период (следующий день после окончания периода), доработать до Твыкл и только тогда отключиться. Вне зависимости от маски (год, день недели, месяц) и тогда будет все логично и понятно...
Правильно , другой год не выбрать , но если сменить год в свойствах даты и времени самого компьютера (системное время), а потом кликнуть смену даты и времени уже таймера , то она выскакивает.По крайней мере это работает в 33-м билде.
Прилепил скрины , там видно время вкл и выкл таймера , ошибка в данном случае только при попытке смены времепни включения.
Интересное наблюдение.После прикрепления скринов , я вернул системное время обратно , время включения таймера стало меняться без ошибки , а вот при попытке смены времени вЫключения она появилась.Оказалось , каким-то образом во времени выключения выставился 2012 год(его я не менял), поэтому когда я вернул системное в 2011 , ошибка появилась.Повторить этот эксперимент не смог, при выставлении системного на год больше ошибка стала проявляться как при попытке смены вр.включения так и вр.выключения.
Я ошибку поймал не трогая системное время, только смена времени в программе.