И еще вариант, в принципе аналогичен первому варианту, только блоки сравнения и блоки выбора упаковал в макросы:
Вид для печати
Мой вариант на 32 уставки(0-31) в течении суток:
Вложение 33323
Клавишей SEL выбираем часы(Ч), минуты(М), действие включить-выключить выход(Вкл/Вык), номер уставки(0-31) и запись в память(Зап.), стрелками вверх-вниз изменяем. ОК или SEL выбираем изменённое, мигающее значение, переменная "запись" сама сбрасывается в "0" при этом значение номера уставки увеличивается на единицу, можно и вручную выбрать номер уставки кнопками вверх-вниз. Переменная Q показывает состояние выхода ПР(Вкл/Вык)!
Можно и несколько выходов поставить и добавить в уставку переменную выбора выхода(выходов), на которые эта уставка действует, короче, примерно так!
Для этой цели в макросе матрицы памяти имеется выход Q2, можно сделать в момент перехода к другой уставке её значение разово пишется на экран для удобства, здесь с Вами согласен, на досуге будет время и желание подшаманю и чередование переменных в другом порядке сделаю, мне кажется правильным: часы, минуты, Вкл/Вык, номер уставки, запись, я изначально так и хотел, но что-то видать пошло не так!
Короче, как-то так:
Вложение 33357
И сказочно исчезла жёлтая подсветка линий связи, ничего не делал, не добавлял задержку на цикл, просто удалил связи в другом месте и затем восстановил обратно, просто шаманство какое-то:
Вложение 33376
Вот специально выложил два одинаковых проекта(название разное), но в одном жёлтое подсвечивание связей, а в другом нет, может кто не верит, может лично убедится в этом!
Вот ещё поправил: номера уставок сделал 1-32, всё-таки мы не на Западе, где нулевые этажи есть, ничего не поделаешь - дикие они(шутка) и при программировании(записи) они по кругу скачут(циклически) и светодиоды задействовал, зелёный - включение выхода, красный запись в память уставки, вроде поудобней стало:
Вложение 33409
И ещё такую особенность заметил: когда выбираешь Запись, стрелкой вверх Ввод и нажимаешь SEL(ввод выбранного значения в текущую переменную и переход к следующей) начинает мигать переменная "Уставка", но значение почему-то не увеличивается на экране, но если ещё раз нажимаешь SEL и переходишь к переменной Часы, значение номера уставки наконец-то увеличивается на единицу, такая особенность, наверно ПР захватывает коррекцию(изменение переменной с экрана), но в памяти(выходном блоке переменной) сохраняет увеличенное на единицу значение! При нажатии для ввода "ОК" всё ожидаемо!
Для своих целей, когда переменную заданного диапазона надо менять и с экрана и из программы выдумал циклический инкрементный счётчик, имеется в пятой версии программы:
Вложение 33417
Случайно ввёл уставки на включение и выключение на одно и тоже время, релюшка щёлкала целую минуту, сразу не сообразил, что произошло, короче устранил это в 6 версии программы:
Вложение 33526
Подскажите как преобразовать 4-20мА в показания температуры для ПИД регулятора?
А описание макроса есть?
Константу мы не можем поставить вне диапазона экрана(0-15), а переменную пожалуйста и например (-1) будет соответствовать "4294967295":
Вложение 42267
Что в принципе позволяет расположить все переменные на одном экране в виде бегущей строки и останавливать бег строки на нужной для просмотра, редактирования переменной!
Юрий, теперь для "особо одаренных" поподробнее...
Как интересно у Вас организован вывод информации.
Т.е. у Вас информация выводиться не с первого символа?
Я понимаю, так что если координата х=1 то мы выводим строку начиная с первого символа строки текста и первого символа строки экрана.
Если мы имеем возможность ставить координату х>16 то тогда текст должен смещаться слева на право.
А как получается, что мы имеем возможность смещать текст справа налево, в этом случае координата должна быть Х<0 ?
Диапазон значений для бегущей строки 0 - 4294967295, если надо просто скрыть, достаточно более 15 назначить, а не более 16, отсчёт начинается с "0", а не с "1", у Юрия не точно!
Короче можно менять выводимые в строке переменные, пряча не нужные в данный момент за координатой более 15, если это сделать сразу в двух строках получится смена экранов на одном экране, в принципе нет смысла иметь более одного экрана, если только для более простой их смены имеющимися возле экрана кнопочками!
И ещё хотел добавить, что в этом случае останется возможность смены экрана функциональными кнопками возле экрана, но путём редактирования соответствующей переменной, это незначительно усложняет(если экранов много, я думаю, что упростит) переходы между экранами, но за то даёт возможность всегда видеть на каком экране мы находимся, о чём некоторые мечтают, не надо мечтать, можно уже так сделать! Это можно сделать и без переменной координата, сделав переходы между экранами по значению переменной из программы или редактировать её с экрана для перехода, а переход кнопочками(вверх, вниз и т. д.) не делать(запретить), чтобы положение экрана не "сбить"!
Подскажите.
Макрос "Бегущая строка (TICKER)" не поддерживает длину строки более 127 (примерно) символов?
Более этого значения макрос проглатывает первые символы. На моем примере строку 152 так я и не смог отобразить в бегущей строке.
Это шутка такая? Склейте 2 строки по 127 символов, 3 строки, 10 строк или сколько там необходимо! Также как я написал менять переменные выводимые на экран, можно менять строки, выводимые на экран, принципиальной разницы не вижу! Вы наверно "Войну и мир" хотите в ПР записать?
Менять экраны переменными не всегда удобно.
К примеру, есть у меня экран наработки моточасов оборудования, и такого оборудования 3 шт.
Соответственно 3 экрана наработки моточасов.
Есть так-же экран отображающий количество пусков оборудования (по регламенту, через N кол-во пусков тех.обслуживание)
И вот как тут без кнопочек, только переменными обойтись ?
Есть еще много "хотелок", но понимаю, что производитель не будет заморачиваться, потому как продажи есть, а соответственно менять ничего не нужно.
Здравствуйте уважаемые форумчане. Недавно стал осваивать ПР200 и нуждаюсь в совете. Подскажите, как можно подключить к ПР200 датчики температуры ДТС035-100П Овен и ТХК(L)?
https://owen.ru/forum/showthread.php?t=25067 в Менеджере компонентов есть макросы под все НСХ. ТХК или через НПТ или через ПРМ-3.
Спасибо, буду разбираться.
Здравствуйте уважаемые форумчане. Тружусь над программкой для электрокотла отопления и нуждаюсь в совете. Вся программа готова, но остался маленький момент, нужно регулировать мощность, либо ступенчато 0-2-4-6-8 kW (это проще), либо каким то образом управлять силовыми тиристорами или симисторами (это сложнее). Проблема в том, что я не могу сделать макрос для ступенчатого выбора мощности, точнее, у меня получается на тригере и счетчике, но работает коряво. Подскажите, как можно редактировать переменную с шагом 2 от 0 до 8, на каких функциях или блоках запилить макрос.
У вас какое ПР? Есть аналоговые выходы?
У меня ПР200-220.22.1.0. Часть программы с тригером и счетчиком я удалил, а восстанавливать нет смысла терять время. В программе осталось придумать как изменять переменную с шагом 2 и максимально до 8. К сожалению, в OL нет возможности редактировать параметр ступенчато с ограничением, примерно, как реализовано в FLprog Arduino. Было бы неплохо разработчикам OL продумать такую возможность. Возможно, я чего то не освоил, ведь только недавно стал работать с ПР и ПЛК. Реализовать регулировку мощности ступенчато мне проще, отопление работает уже четвертый год, но выбор мощности с ручного переключателя. Возможность регулировки мощности с аналогового выхода пока не рассматривал, но это тоже вариант интересный, если переключать встречно-параллельные тиристоры при переходе через "0", чтобы "клыков" не было. Суть заморочки такая:
1) нужно управлять шибером на твердотопливном котле;
2) управлять ТЭНами - 3 шт по 4 kW;
3) по RS485 управлять ПР (эл.котлом) в зависимости от температуры в помещении;
4) выбор включения эл.котла при ночном тарифе;
5) подача аварийных сигналов.
Из помещения в котельную проложен кабель для RS485 4 витых пары L=20 м. В помещении планирую установить Ардуинку (другого девайса пока не подобрал) с датчиками температуры и голосовым информатором, либо другой терморегулятор, например, от теплого пола. Программу допилю до хорошего вида и постараюсь выложить, пока боюсь опозориться. :)
с шагом 2 можно через биты. есть макросы по работе с битами в базе данных. ведь бит 0 = 0, бит 1 = 2, бит 2 = 4 так далее. Можете применить этот механизм шагов
Что на входе блока, что на выходе? Ежели на входе импульсы, а на выходе -- переменная типа int, то это счётчик и есть. Причём безо всяких триггеров.
Вложение 45551
Не знаю, что такое меню пользователя(я бы загадками не писал), а с экрана это легко можно сделать с помощью комбобокса, я так делал в одной из тем для редактирования уставки минут с шагом пять минут, заодно и незначащие нули можно зажечь!
Вложение 45559
Вложение 45560
Добрый день, уважаемые!
Использую ПР200... который весь на 220 В.
Количество входов ограничено, из-за чего использовал макрос из Менеджера компонентов "Управление одной кнопкой (ONE_TOUCH2)", правда удалил нижнюю часть - мне только симулятор 3х кнопок нужен.
Проблема:
ПР200 и оперативные цепи питаются от ИБП (ну со светом проблемы - может моргнуть)
физические кнопки SE с нормально-замкнутыми контактами, т.е. на дискретном входе (I1) постоянно 220 В - логическая единица, которую я программно инвертирую в - 0
Все отлично работает - с одной кнопки 3 разных значения...
но (!) в любой не предсказуемый момент как будто все эти 3 выходные значения срабатывают сами по себе.
Куда копать, что проверять?
И сразу в эту же тему: как писать лог "время - номер кнопки" хотя бы для нескольких последних значений, не могу поймать неисправность ((
Ну так если свет моргает и кнопки не от ИБП то и будет моргать ? или они тоже от ИБП ?
Можно попробовать сделать при включении ПР(подаче питающего напряжения)блокировку на секунду, я делаю обычно с помощью таймера с задержкой включения!