Использовать свой, энергонезависимый RS триггер (макрос)
ЗЫ.
Пример такого триггера выкладывал раньше, только ссылку найти не могу
Вид для печати
Проще заново показать
Вложение 51784
Макрос
Вложение 51785
На вкус и цвет товарищей нет, мне кажется такое симпатичней! https://meyertec.owen.ru/product/mtb2_bk2361
Вложение 51787
На 2 или 3 положения.
Симпатичный конечно. Я присматривался к подобному переключателю.
Вот к такому https://www.amperkin.ru/product/1sfa611204r2102/
Но у меня были два выключателя один который я показывал уже и второй такой
https://www.amperkin.ru/product/1sfa619201r1016/
Он и был подключен.
Из тех что есть в наличии хотел СТОП-СТАРТ подключить, он больше нравился, и стоит не мало с учетом трех модулей подключенных к этой кнопке.
Чтобы больше не тратиться, остановился на нем.
Приветствую уважаемые форумчане!
Пару дней назад запустил программу OWEN Logic, которая проинформировала о новой версии 1.19.262. Обновился. После запуска программы управления баками обнаружил, что перестал работать макрос СТАРТ-СТОП с предыдущего поста. После запуска симулятора кнопки AI1 и AI2 просто залипают в нажатом состоянии. Откатился обратно до версии 1.17.261 и макрос заработал. Надо ли какие то дополнительные настройки делать в новой версии программы или это просто несовместимость макроса и версии?
Просто возьмите себе за правило работать в стабильной версии ОЛ. Всё новые версии считайте "экспериментальными".
При желании экспериментировать - ставьте в отдельную директорию.
При создании программы управления ПР - указывайте в теле версию ОЛ. И заливайте в ПР именно с этой версии.
У меня при переходе с 1.8 на 1.9 (Программу ПР написал в 1.8, заливал версией 1.9) вылез сбой в оборудовании. Причём подлючий. Хорошо, что одинаковых станков был целый участок.
Вот ещё один вариант таймера придумал, для большей универсальности вывел отдельными выходами сигналы паузы/отсчёта и окончания отсчёта и наиболее востребованные функции(на мой взгляд) TON и TP!
Таймер имеет прямой и обратный отсчёт времени уставки в секундах, если надо выводить в других, более крупных единицах, я в проекте для этих целей специальный макрос добавил, если уставку надо задавать в более крупных единицах измерения времени, надеюсь каждый сообразит умножить на 86400, 3600 или на 60, что соответствует дням, часам, или минутам?! Короче, наибольшим изменениям подвергся счётчик, надеюсь AI не обидится?!
Вложение 54461
Вложение 54462
Работа в режиме генератора импульсов:
Вложение 57175
Вложение 57174
Приветствую уважаемые форумчане!
Помогите решить возникшую проблему. Есть ПР200 программу которого я смог сделать с Вашей помощью, все выходы которого уже заняты. Нужен модуль расширения для подключения еще двух дискретных выходов. В Owen logic в качестве блока расширения предлагается только ПРМ, который должен быть установлен рядом и подключить можно только коротким шлейфом. Рядом с ПР200 места в щите нету. Можно ли подключить другой модуль расширения, например по протоколу RS-485, и менять уставки через ПР200?
Задача состоит в том, чтобы при включении скважинного насоса, который управляется через ПР200, появилась возможность включения двух соленоидных клапанов и управления временем их работы с ПР200
Есть разные варианты модулей расширения по RS, как релейные так и транзисторные на 4-8 каналов, тут https://owen.ru/forum/showthread.php?t=25978 примеры проектов МК110-Х.4X.4X, МК110-Х.8X.4X.
Есть еще 2 светодиода, их можно использовать так https://www.youtube.com/watch?v=Ieof9EMFBj8
[Ревака Юрий;360554]Есть разные варианты модулей расширения по RS, как релейные так и транзисторные на 4-8 каналов]
Подскажите пожалуйста правильно ли я понимаю очередность действий.
Подключаю МК110-Х.8X.4X по RS к ПР200
В существующем проекте на ПР200 я добавляю интерфейс RS485, выставляю режим Master, указываю на скачанный шаблон MK110-X.8X.4X.
Далее создаю нужную мне программу для управления клапанами и в качестве выходных переменных указываю Zn_OUT1_w и Zn_OUT2_w.
При изменении значений этих переменных будут срабатывать реле соответствующих выходов на МК110
Подправьте пожалуйста, если я не ошибаюсь.
Здравствуйте! Подскажите пожалуйста, можно ли реализовать в ПР200 задание с экрана 1-й уставки в таймер от 1 минуты до 1 года на срабатывание релейного выхода (время работы этого релейного выхода задается с дисплея второй уставкой), затем реле отключается и вновь включается отсчёт времени 1-й уставки.
Думаю применить для первой уставки таймер на 18 часов, если уставка выше этого значения, счётчик(свыше 18 часов, далее с кратностью дням до 365-ти). Для второй уставки(время включённого состояния реле), второй таймер, наверное будет работать до часа, после спросил счётчик/счётчики дней и перезапустит первый таймер. Справится ли реле ПР200 с этой задачей?
Спасибо!
ТС хочет применить таймер + счетчик
Только почему таймер на 18 часов, а не на 24, непонятно.Цитата:
Думаю применить для первой уставки таймер на 18 часов, если уставка выше этого значения, счётчик(свыше 18 часов, далее с кратностью дням до 365-ти).
И еще, если интервал до года, что делать с временем простоя ПР-ки если питание ее будет в течение года выключаться по тем или иным причинам, может на несколько часов, а может и дней?
Имеется много вариантов решения:
Страницей выше я универсальный таймер выложил, там таких проблем нет, диапазон более 136 лет, что должно Вас устроить! Если увеличить минимальную ступеньку с 1 секунды до 1 минуты, диапазон увеличится в 60 раз и станет более чем 8000 лет!
Также существует формат времени уникс, в менеджере компонентов есть соответствующие макросы.
Если не секрет, где такие выдержки времени применяются(в один год), Вы бомбу делаете?
Вот "набросал" с использованием времени UNIX
Вложение 56231
Учтено возможное прерывание питания ПР.
Макрос Интервал
Вложение 56232
Уставки задаются с экрана в днях, часах и минутах. Пуск/Стоп тоже с экрана или от дискретных входов.
Вложение 56223
Строка для ввода уставки - бутерброд с частичным наложением полей, по этому порядок их на экран (кто над, кто под) важен.
Бутерброд нужен для формирования "ведущих" нулей для минут и часов
Вложение 56224
Вложение 56225
Добрый день! Периодическая промывка. Питание шкафа гарантированное. Спасибо, попробую когда придёт ПР200. Благодарю за ответы!
Доброго дня! Пподскажите как реализовать регулировку времени работы таймера шаг(500мс) старт от 500 до 2000. Всё это кнопками плюс и минус. Для плюса сделал,а вот с минусом никак !! Задача нажали кнопку (i1) к времени таймера 500мс прибавилось 500=1000мс, еще раз нажали к 1000+500=1500, нажали кнопку(I2) от значения таймера вычли 500. Кусок программы ниже (пр102)
Спасибо за наводку, посмотрите вот как получилось, если есть замечания то рад буду выслушать
Это конечно жесть
Вложение 56521
Вот так будет проще!
Вложение 56522
ЗЫ.
Отдельное замечание
Вложение 56523
Да, но при такой логике у нас таймер при старте системы записан 0 сек. Моя же схема тоже рабочая :) Cпасибо за помощь!!!
1.Я и не спорю, что схема рабочая. Просто 3/4 компонентов лишнее.
2. При старте системы?
Что имеется ввиду?
а) первый старт после загрузки программы
б) любой последующий старт.
п. б) очень просто - включить энерго независимость счетчика
Вложение 56524
п. а) в первоначальном задании таких требований не выдвигалось,
Вообще-то у Вас в ситуации а) также "таймер при старте системы записан 0 сек"
Вложение 56525
Да имелось ввиду при подаче питания(любой последующий) таймер должен быть на уставке 500, про энерго независимость учёл просто думал может еще как то можно, просто нужно при любом последующем старте по умолчанию таймер 500мс. Еще раз спасибо за поддержку ! Таймер в моей програме пишется с FB а он при вкл как раз 500
Вот - 500 при каждом включении ПРки
Вложение 56526
Тогда уж по максимуму каждый цикл программы считайте, у меня есть подобные макросы, измерял период следования импульсов со счётчика с импульсным выходом, чтобы расход показывало!
Впрочем, каждый может сделать, как считает правильным для конкретной задачи, короче, мне кажется здесь и секунд уже через чур будет, по хорошему минут хватит, с циклами - явный перебор! К тому же не уверен, что цикл стабилен!
Каждый цикл не получится, значение через 0 должно хоть раз в цикле быть, не находите?
"у меня есть подобные макросы, измерял период следования импульсов со счётчика с импульсным выходом, чтобы расход показывало!"
Зачем на цикл/два - счетчики?
"Впрочем, каждый может сделать, как считает правильным для конкретной задачи, короче, мне кажется здесь и секунд уже через чур будет, по хорошему минут хватит, с циклами - явный перебор! К тому же не уверен, что цикл стабилен! "
Согласен. Но мне кажется, библиотеки нужно создавать на большее, чем 1-2 раза случаев. Тем более, так реагировать, когда говорят, что ваша библиотечная функция не соответствует некоторым критериям...
ЗЫ. Вы не уверены, что цикл стабилен, но применяете это устройство, при этом, уверены, что в этом устройстве, при нестабильности цикла - таймеры стабильны.
ЗЫЫ. "измерял период следования импульсов со счётчика с импульсным выходом, чтобы расход показывало!"
Для этого используются аппаратные счетчики (обычно первые 2-4 входа контроллера). Либо аппаратные прерывания, но никак не софтовые таймеры.
Я сам не люблю расчеты во float, но 4 байта вам дадут 32 года непрервыной работы устройства с разрешенийм 0.1с
Если есть такие устройства, которые не останавливаются за 32 года на ТО, то таких нужно обязательно упомянуть. Как обладатель машины, которая проехала только подо мной 400 000 км, я с удовольствием почитаю про них.
От чего же?
Вложение 57316
В каждом цикле к сумме прибавляется 1
У ПР200 есть меню пользователя(может чуть иначе называется), так вот там время цикла программы начало скакать(раньше такого не замечал), скажем так в среднем, вроде, цикл стабилен и считает нормально, но в последних версиях ОЛ он стал скакать если в меню смотреть, отсюда и неуверенность возникает!
Задача отображения пользователю обычно исполняется на остатках времени. Так что, даже если программный цикл задачи в норме, вы не можете его оценить по экрану (будет жуткая задержка на экране, при нормальном исполнении задачи).
Но я повторюсь, кратные (или не особо отличающиеся) циклу программы события лучше регистрировать аппаратными средствами (HW Counter, Interrupt). Задача, либо считывает разницу у счетчика, либо по прерыванию, сама модифицирует счетчик, что бы основной поток так же, считал разницу.