Здесь функция на ST по 10 точкам, если вам надо 5 можно уменьшить https://owen.ru/forum/showthread.php?t=35489&page=5
Вид для печати
Здесь функция на ST по 10 точкам, если вам надо 5 можно уменьшить https://owen.ru/forum/showthread.php?t=35489&page=5
СПАСИБО, хороший вариант)
Спасибо, как вариант хороша программа.
Вложение 71518
Добрый день подскажите как разбить число, с панели приходит переменная например число 12021 первая цифра номер насоса, вторая и третья это часы включения, четвертая и пятая это часы отключения, как можно это полегче разбить, уже кучу всего перепробовал но получается какойто монстр, может есть какая то функция, в темах гдето видел там все просто, но не могу найти
https://disk.yandex.ru/d/osedFP154ngDwA
Ещё так попробуйте.
Давным-давно макрос делал, он превосходит ваши хотелки, в смысле можно на 4-е числа разбить:
Вложение 71520
Удивительно, как такое может не получится, в смысле, Вы в школе учились?
Вложение 71521
при изменение времени все начинает плыть, я из полученных данных умножал на 100 и на 10000 и так отнимал, но программа выглядит угрожающе, гдето видел очень простое решение,
Для всех это "шифр" -то есть число не известное . Но мы то знаем ,что в этом числе "зашифровано".
Но соглашусь,что вариант далеко не из лучших.
А макрос действительно хорош.
https://disk.yandex.ru/i/DYfI1ZIB12q43g
Только как это понимать ? Сейчас мы этот макрос на ПР 200 "обкатаем".
Вот, красным обведено
Вложение 71523
Тогда добавлю, при переносе макроса в свой проект не забудьте и настройки перенести, находятся в свойствах макроса.
Я обычно этот макрос использую с таймером с прямым(обратным) отсчётом времени, то есть вывожу из макроса время в секундах и с помощью этого макроса преобразую в дни, часы, минуты и секунды!
Здесь можно посмотреть в посте #170: https://owen.ru/forum/showthread.php?t=33720&page=17
Вложение 71524
И, для ваших целей макрос можно упростить(урезать) в полтора раза, в смысле из 6 функций оставить всего 4!
https://disk.yandex.ru/d/71-TCx_DHjplag
Просто люкс. Отлично всё работает.
Камрады. Подскажите пожалуйста (спрашиваю заранее, чтобы не делать лишней работы).
У меня ПР200. Есть ли там возможность сделать энергонезависимыми RS- и D-триггеры?
Почему спрашиваю: у меня на них сделано управление водой (открыта-закрыта) и освещением (импульсные реле). Я задумался о том, что состояние воды и света не должно обнуляться при пропадании питания ПРки. В ПЛК я такие блоки объявляю как RETAIN, и всё работает на ура. А как в ПРках извернуться? Написать свои? =)
RS триггер энергонезависимый https://owen.ru/forum/showthread.php...l=1#post342689
Через энергонезависимые переменные.
Завести буль энергонезависимый,
на st сделать функцию
bOut := bIn;
If bInSet then bOut := true;
elsif bInReset then bOut := false;
на поле к bIn и bOut прицепить энергонезависимый буль, входами Set/Reset - переключать
UPD:
Да, на блоках компактней получается
Вот, было на просторах форума
Вложение 71614
Неоднократно выкладывал на форуме, вот добавил Д-триггер, из RS-триггера сделал, что первое на ум пришло, может у кого компактней выйдет:
Вложение 71617
Вложение 71616
Кстати, из Д-триггера можно Т-триггер сделать, соединив инверсный выход со входом данных, теперь каждый импульс на счётном входе будет менять состояние триггера на противоположное! Если нет инверсного выхода, как в нашем случае, можно инвертировать прямой выход!
Инверсный выход в макрос добавил, может кому пригодится:
Вложение 71626
1exan Спасибо, но на ST прям вот пока не хочу. Весь проект на FBD - пусть так и остаётся уж...
petera Спасибо!
Сергей0308 ОГРОМНОЕ СПАСИБО! Попробую сегодня-завтра и отпишусь!
Блин. Почему ЭТОГО ВСЕГО нет в ОВЕНской библиотеке Макросов под OWL?
Или нет какого-то FAQ (как делает Евгений Кислов про CodeSys - вот тут: https://owen.ru/forum/showthread.php?t=28167)?
Добрый вечер, камрады!
Что-то не могу найти макрос, управляющий включением, например, насоса, с учетом минимального времени работы и минимального времени простоя. Поиском не могу найти.
Спасибо
Здесь каскад на 4 котла и макрос выбора котла по минимальной наработке https://owen.ru/forum/showthread.php?t=38619&page=3#24
Но вообще, это не совсем правильный подход, лучше просто сделать ротацию через 10-100 часов. Макрос можно подправить.
Здесь в посте #35 предлагал: https://owen.ru/forum/showthread.php?t=38597&page=4
Сергей0308 Сергей, ОГРОМНОЕ спасибо за инфу! Я переписал свой макрос для управления светом.
Выкладываю в форум в качестве "спасибо". Копирайты - МОИ (просьба сохранять).
Вместо того, чтобы завести отдельный макрос RETAIN D-триггера, я его нарисовал в виде блоков и завёл под него переменные.
Мой макрос делает вот что:
* Button = Импульсное реле, каждое нажатие включает или выключает свет
* Set = Принудительно включить свет
* Reset = Принудительно выключить свет (мастер-кнопка)
* Store = Сохранить текущее состояние света (перед выключением)
* Restore = Восстановить сохранённое состояние света
* ClearSt = Сбросить сохранённое состояние света
Выходы:
Out = Выход на лампу
OutSt = Признак того, что есть сохранённое состояние света
В своих проектах я делаю так:
а) В пределах помещения подаются команды Reset, чтобы погасить весь свет в помещении целиком (если там несколько групп).
б) По длинному нажатию на Мастер-Кнопку подаются команды Reset + Store, чтобы сохранить состояние света по квартире и погасить его.
в) По двойному нажатию на Мастер-Кнопку подаётся комада Restore, чтобы восстановить свет так, как было до сохранения.
г) При включении любого света в квартире подаётся команда ClearSt, чтобы сбросить сохранённое состояние: раз свет зажгли, то оно уже ни к чему.
ВНИМАНИЕ: Макрос из .tple переименован в .owl - почему-то с тем расширением он НЕ загружался.
Я ранее делал 8 Т-триггеров в одном флаконе:
https://owen.ru/forum/showthread.php?t=12691&page=63
Можно расширить до 32, при этом количество используемой энергонезависимой памяти не изменится!
Там для энергонезависимости ничего и делать не надо, достаточно сделать соответствующую переменную энергонезависимой!
Такой способ позволяет до 8 раз занимать меньше энергонезависимой памяти, по сравнению с преведущим вариантом!
Что важно если памяти не хватает!
Кстати, легко заточить под ваши задачи, в смысле, в последнем варианте я общий сброс добавил, легко сделать и общее включение или сделать(запомнить) любую комбинацию!
Не подходит. Я, видимо, плохо объясняю.... Надо макрос, который запускал бы и отслеживал работу насоса, чтобы насос при запросе на запуск не запускался бы раньше чем установленное время, после его последней остановки и не останавливался бы, не проработав установленное минимальное время.
Добрый день. Помогите понять как работает энергонезависимость. Алгоритм действий следующий:
Создаю две булевы переменные, делаю их энергонезависимыми, задаю значения по умолчанию 1 и 0. Добавляю возможность менять их с экрана, и в самой схеме есть блоки входной переменной. После записи проекта в прибор выставляются значения по умолчанию, что логично.
После перезагрузки ПР по питанию обе переменные равны 0 независимо от того какими они были в момент выключения. Я что-то упускаю? Их каким-то образом нужно дополнительно сохранять?
Глянул мельком РЭ на ПР-200 И так
"энергонезависимые" хранятся в ПЗУ. Время хранения нужно смотреть на выбранный Вами прибор.
Дословно цитату из РЭ переписывать не стал. Почитайте сами-так будет понятнее.
И как вариант
"Привяжите" энергонезависимую переменную с 1 к одному выходу ,а другую с 0 к другому выходу.
Рестартаните по питанию и посмотрите ,что получится.
Но если такие переменные "привязать" не к выходу,а к входу-то тут скорее всего нет разницы. Вход Вам покажет "физическое" состояние. То есть после рестарта по питанию он либо включен,либо выключен.
И всё-таки поправлюсь.
Вход-это конечно же ввод,
А выход-это вывод.
Я эти переменные никуда не подключал, я пытаюсь сделать опциональные настройки, которые изредка будут меняться с экрана.
Версия 2.5.340.0
Я ,конечно ,боюсь окончательно всё запутать.Но у Вас всё правильно.
"Зима"-это 1
Когда отредактируете это состояние и переведёте в 0-то станет "Лето"
И это состояние сохранится не смотря на рестарт по питанию.
То есть задавая в энергонезависимой переменной 1 или 0 Вы этим самым как бы задаёте "исходное" состояние переменной.
Вот этот пост и дальше почитайте https://owen.ru/forum/showthread.php...l=1#post422832
Версия 2.5.340.0 оказалась с багами, её надо откатить до 239. А переменные надо обязательно куда то подключить (вывести на экран), Вложение 71877
если она висит в воздухе, как у вас Зима, то и работать не будет.
Все версии Лоджика http://ftp-ow.owen.ru/softupdate/OWE...Setup/Archive/
Сейчас (откатил уже на 239) и проверю.
Для полной "наглядности" подключу переменную именно на Q4.
https://disk.yandex.ru/i/1kBF2MOzay8Xdw
Впрочем как и писал ранее.-так оно и есть.
Может объяснял "коряво",но иначе я не умею.
Правда (для наглядности) подключил переменную к тому выводу ,который имеет "цветовую индикацию состояния".
Подскажите на что ругается компилятор Вложение 71883Вложение 71884Вложение 71885. Зарание спасибо
В смысле, там же написано внизу, слева!
Для устранения найдите жёлтую линию и замените на задержку на цикл! Если это в макросе, сам макрос выделяется жёлтым цветом!
И ещё хотел добавить, что обычно это не важно, в смысле, в каком месте линию задержки поставить, но бывают и исключения, я приводил такие случаи на форуме, это когда логика работы на этом свойстве построена(на задержке на цикл сигнала), короче, в этом случае надо понимать логику работы и где нужно эту задержку поставить, чтобы не нарушить алгоритм работы!