PDA

Просмотр полной версии : макросы для ПР200.



Павел Братковский
28.01.2016, 06:23
макросы для подключения ПР200+МДВВ при помощи битовой маски

22095

отдельная благодарность за советы Сергею0308 и capzap....

Павел Братковский
16.03.2016, 11:00
в проекте макросы для модуля 32 дискретнх входа , 32 дискретнх выхода, макрос регистрации аварий, макрос контроль вращения.

23167

rovki
16.03.2016, 12:08
Макрос для управления сетевым обменом кто делал?
А что под этим понимать ?

Павел Братковский
16.03.2016, 12:12
Макрос для управления сетевым обменом кто делал?

сам....как понял так и сделал, главное работает.

Павел Братковский
17.03.2016, 05:20
Не я не про ваш макрос.

а про что? модуль МДВВ подключал, работает прилично, модули мв110-32дн, му110-32р еще не пришли, но думаю проблем не решаемых не будет.....опробую на железе, отпишусь.

capzap
17.03.2016, 07:32
может наоборот, уставки хранить в панели, а пр считывает их в момент запуска и изменения

rovki
17.03.2016, 07:46
Может использовать второй слот RS485 как слейв для панели мастер ...

Pavel_
19.03.2016, 01:46
Макрос интервального таймера с маской недели (даты и секунд нет), с возможностью вводить с экрана уставки включения и выключения.
Назначение входов и выходов описаны в свойствах, в поле комментарий.

23222

23229

23227
23228


ЗЫ авторское право по схеме подключений стандартных ФБ оставляю за собой.

UPD: >>Ссылка на вторую версию (v2) макроса интервального таймера с маской недели (http://www.owen.ru/forum/showthread.php?t=23201&page=7&p=218112&viewfull=1#post218112).

александр 64
19.03.2016, 10:56
Макрос интервального таймера с маской недели (даты и секунд нет), с возможностью вводить с экрана уставки включения и выключения.
Назначение входов и выходов описаны в свойствах, в поле комментарий.

23222

23229

23227
23228


ЗЫ авторское право по схеме подключений стандартных ФБ оставляю за собой.

нет включения по времени выключение есть

Pavel_
19.03.2016, 11:31
нет включения по времени выключение есть
это как? т.е. изначально таймер включен и он выключается по заданному времени, а потом по заданному времени не включается?

александр 64
19.03.2016, 12:18
это как? т.е. изначально таймер включен и он выключается по заданному времени, а потом по заданному времени не включается? изначально наверное он должен быть выключен потом включиться по времени затем выключится тоже по времени или что то не понимаю

Pavel_
19.03.2016, 13:21
изначально наверное он должен быть выключен потом включиться по времени затем выключится тоже по времени или что то не понимаю
Именно так и работает, но если при запуске таймера время включения таймера меньше текущего времени, то выход таймера соотвественно включится и далее выключится по заданному времени выключения, и цикл вкл-выкл будет повторятся только, если на входе "off/one/repeat" установлено значение = 2.

Pavel_
21.03.2016, 12:36
В общем-то ничего особенного и пример скорее будет интересен не макросом, т.к. на форуме макрос вычисления дня недели давно уже есть (жаль, я наткнулся на него после того, как собрал сам), а применением на экране элемента управления "Динамический текст" в качестве списка.

23268

Pavel_
23.03.2016, 13:37
23333

Еще один пример о применении на экране, элемента управления "Динамический текст" в качестве бегущей строки, с помощью простенького макроса "бегущая строка".

23334

Speed scroll - Скорость прокрутки текста от 1 до 10, где:
1 = 1 сек., т.е. смещение строки на один символ через 1 секунду;
2 = 0,9 сек. - смещение строки на один символ через 0,9 сек.;
3 = 0,8 сек. - смещение строки на один символ через 0,8 сек.
4 = 0,7 сек. - смещение строки на один символ через 0,7 сек.
и т.д....
На мой взгляд, читабельные скорости от 1=1сек. до 6=0,5сек., а самая оптимальная 5=0,6сек.

ЗЫ если кому-то надо..., то в свойствах блока CTN можно включить: "Сохранение состояния = Да".

Илья Зимарёв
23.03.2016, 17:41
Отличное решение для вывода бегущей строки.

Могу предложить своей вариант макроса бегущей строки, не идеальный но рабочий.


https://youtu.be/EG9WuWt-fMk

Некоторые особенности:
Выводит любую информацию, даже строки превышающие размер экрана.
Возможность выводить в бегущей строке переменные (целочисленные, булевские, с плавающей запятой)
Легко создать бегущую строку, создается только одна строка с любым содержимым
Возможно адаптировать под вертикально бегущую строку.

Необходимые настройки:
Длинна строки: суммарное колличество символов включая пробелы
Скорость: указывается в миллисекундах (скорость смещения на 1 символ)

Реализация:
Изменение координаты X или Y путем привязки переменной.

В Архиве проект и макрос.

Pavel_
23.03.2016, 18:14
Реализация:
Изменение координаты X или Y путем привязки переменной.


Класс! не знал, что для координат Х и У, тоже можно указывать переменную.

23343

Павел Братковский
28.03.2016, 07:23
пришли модули мв110-32 и му110-32р, собрал в кучу, результатом доволен, входы-выходы довольно шустро работают

23404

Серёга Букашкин
13.04.2016, 09:44
Не знаю как реализовать в ОЛ измерение времени, прошедшего от события, с точностью до 10мс. Счет коротких интервалов дает неприемлемую погрешность. Существует ли другой способ?

rovki
13.04.2016, 15:33
а какое время цикла пр у вас

Серёга Букашкин
13.04.2016, 18:02
какое время цикла пр

Время цикла 5мс. В общем, удалось написать макрос для измерения времени с точностью примерно 1% (на базе 2 мин отклонение счета времени примерно 1с) . Просто если бы как-то можно было прочитать текущее время из таймера, все намного проще было бы. Считаю циклы, и дополнительно вычисляя коэффициент поправки по количеству циклов на базе 1с, получаю высокую точность измерения времени при любом времени цикла. Просто сложновато для такой простой функции, может всё проще можно?

rovki
13.04.2016, 18:21
А что нельзя считать импульсы с блинка ,с периодом 10мс?А какая макс.длительность события у вас ?

rovki
13.04.2016, 19:31
Блинк работает от внутреннего таймера по прерыванию ,на формирование Тимп и Тпаузы ,нужно два цикла ПР ,если время цикла ПР менее 5мс ,то блинк с периодом 10мс будет считать точно и за 5мин.Если задать меньший период генератора ,чем время цикла ПР ,то генератор будет генерить с периодом 2Тцикла .
Погрешность не накопиться большая за 5мин..
Что большая у вас программа для ПР200 ,если время цикла 5мс,имхо.
10мс от 5сек это 2%.

Серёга Букашкин
13.04.2016, 21:14
Блинк работает от внутреннего таймера по прерыванию .Если задать меньший период генератора ,чем время цикла ПР ,то генератор будет генерить с периодом 2Тцикла.

Если блинк по прерыванию -можно попробовать, спасибо за замечание. Я не был уверен что по прерыванию, про такое негде прочитать. Но если даже полупериод блинка меньше времени цикла, он вообще начнет глотать изменения состояния внутри цикла и будет генерить случайную лабуду. Прицел был взят на будущее время цикла около 10мс. Значит на блинке не менее 15/15мс должно быть? Это погрешность 15мс если ловить в счетчик оба фронта. Но если с этим мириться, то можно упростить и использовать блинк.
Еще стоит заметить что в симуляторе можно минимальное время цикла сделать только 100мс и значит в симуляторе блинк с малым периодом будет работать неправильно, этого не хочется.

Василий Кашуба
13.04.2016, 21:23
Если блинк по прерыванию -можно попробовать, спасибо за замечание. Я не был уверен что по прерыванию, про такое негде прочитать. Но если даже полупериод блинка меньше времени цикла, он вообще начнет глотать изменения состояния внутри цикла и будет генерить случайную лабуду. Прицел был взят на будущее время цикла около 10мс. Значит на блинке не менее 15/15мс должно быть? Это погрешность 15мс если ловить в счетчик оба фронта. Но если с этим мириться, то можно упростить и использовать блинк.
Еще стоит заметить что в симуляторе можно минимальное время цикла сделать только 100мс и значит в симуляторе блинк с малым периодом будет работать неправильно, этого не хочется.
Почему только 100 мс? Можно хоть 1 мс.

capzap
13.04.2016, 21:25
а как насчет слежения за системным временем, точнее за секундами, по их изменению подсчитывать количество импульсов с генератора, пересчитывать среднее количество и из полученного значения и текущего количества очередной пачки импульсов вычислять миллисекунды

Алексей Геннадьевич
13.04.2016, 21:35
Использовать блинк или одновибратор на основе TON на малых интервалах видимо плохо, потому что погрешность будет быстро накапливаться. Считать самы циклы -самое стабильное решение (теоретически). А вообще то мне нужно мерить до 5с, но точно.


а как насчет слежения за системным временем, точнее за секундами, по их изменению подсчитывать количество импульсов с генератора, пересчитывать среднее количество и из полученного значения и текущего количества очередной пачки импульсов вычислять миллисекунды
Такие вещи с помощью специального ФБ решать надо. Год назад предлагал такой ФБ. Не запилили:(
И блинк со временем импульса/паузы менее чем 2 цикла ПР будет нестабилен, импульсы будут "пропадать".

Алексей Геннадьевич
13.04.2016, 21:37
В ОЛ-117 в симуляторе минимумум периода 50мс, минимум времени цикла 100мс. В чем разница между периодом и временем цикла непонятно, но это не 1мс. Что-то можно сделать чтобы уменьшить эти параметры?
Период цикла - это время за которое цикл на экране происходит.
Время цикла - это сколько времени в ПР проходит за 1 цикл симулятора.

Василий Кашуба
13.04.2016, 22:00
В ОЛ-117 в симуляторе минимумум периода 50мс, минимум времени цикла 100мс. В чем разница между периодом и временем цикла непонятно, но это не 1мс. Что-то можно сделать чтобы уменьшить эти параметры?
Ввести вручную.

rovki
13.04.2016, 22:02
это как шим ,есть период ,а есть длительность импульса Тц

rovki
13.04.2016, 22:05
а как насчет слежения за системным временем, точнее за секундами, по их изменению подсчитывать количество импульсов с генератора, пересчитывать среднее количество и из полученного значения и текущего количества очередной пачки импульсов вычислять миллисекунды
а если событие меньше секунды .

capzap
14.04.2016, 06:20
а если событие меньше секунды .

и зачем я тогда столько написал про подсчет импульсов

Серёга Букашкин
14.04.2016, 09:36
Такие вещи с помощью специального ФБ решать надо.

О, да, да! Прикосновение к этой задаче выявило явную необходимость такого ФБ. Решение простой функции измерения времени окольным путем на существующих средствах ОЛ слишком сложное, это неразумно. У нас ведь нет доступа к прерываниям. Давайте требовать такой ФБ, с выходом времени в миллисекундах! Лучше всего если это будет расширенный TON, на втором выходе которого текущее время в таймере. Это совместило бы две функции и дало бы ограничение счета времени. Конечно, с возможностью читать из ФБ. Можно даже и выхода второго не давать, просто дать возможность читать текущее время из TON. В симуляторе его показывают, дайте читать его в программу!

rovki
14.04.2016, 13:18
вас что то не туда понесло ...даже если вам часы давали миллисекунды ,счетчик или таймер то обрабатывается раз в цикле ,который 5мс,например .значит все импульсы которые чаше будут по боку. и не какой макрос не спасет и фб .тут нужен быстрый аппаратный счетчик,которого нет в пр.

capzap
14.04.2016, 13:47
вас что то не туда понесло ...даже если вам часы давали миллисекунды ,счетчик или таймер то обрабатывается раз в цикле ,который 5мс,например .значит все импульсы которые чаше будут по боку. и не какой макрос не спасет и фб .тут нужен быстрый аппаратный счетчик,которого нет в пр.

как в КДС, каким не был цикл плк, функция TIME возвращает некоторое число равное на данный момент отсчету времени с момента включения плк и если сравнивать два этих вызова между некими событиями у нас будет результат прошедшего времени между ними. Можно обойтись даже без элементв, целочисленные всёравно 4-х байтные поэтому иметь поле показывающее это http://currentmillis.com/ я предлагал еще обсуждая ПР114

Эдуард_Н
24.05.2016, 17:12
Макрос интервального таймера с маской недели (даты и секунд нет), с возможностью вводить с экрана уставки включения и выключения.
Назначение входов и выходов описаны в свойствах, в поле комментарий.

23222

23229

23227
23228


ЗЫ авторское право по схеме подключений стандартных ФБ оставляю за собой.

А поглубже можно посмотреть макрос? В смысле можно пароль в студию?;)

Алексей Геннадьевич
03.06.2016, 07:17
Макрос EPROM -16ячеек по 32бит (до 240ячеек) - независимые входа для записи и считывания.
Макрос ROM - 16ячеек по 32бит (нужные значения вводятся в "свойствах макроса") (до 256 ячеек по32бит)
EPROM.JPG

Эдуард_Н
08.06.2016, 06:23
В новом журнале АиП есть статья на стр.34,35 рассказывающая об новых макросах управления котлами которые доступны онлайн, но их там нет. Когда можно будет посмотреть?

capzap
08.06.2016, 06:47
на фтп скачайте

Алексей Геннадьевич
08.06.2016, 08:20
на фтп скачайте
Вы таки пальцем покажите,где :) Последние обновления в прошлом году были.
24812
Эдуард_Н Они и ПР200 анонсировали в 2014 году. Намёк думаю понятен.

Николаев Андрей
08.06.2016, 08:58
Добрый день.
Действительно пишутся элементы для управления автоматикой котлов. К сожалению АиП вышел чуть раньше, чем готовы макросы.
В ближайшее время выясним ситуацию и обязательно сообщим Вам.

Тигра
20.06.2016, 16:45
доброго времени суток
нужен стек на 16 целых чисел
может кто-нибудь видел или делал что-нибудь подобное
пробовал написать сам но получается слишком медленный
на 1 сдвиг по стеку уходит 17 циклов а охото за 1-2 цикла уложится

Бинкевич Игорь
20.06.2016, 17:34
доброго времени суток
нужен стек на 16 целых чисел
может кто-нибудь видел или делал что-нибудь подобное
пробовал написать сам но получается слишком медленный
на 1 сдвиг по стеку уходит 17 циклов а охото за 1-2 цикла уложится
http://www.owen.ru/forum/showthread.php?t=23494 Пример реализации регистратора событий, макрос стек 32, легко обрезать до 16

Сергей0308
22.06.2016, 01:17
доброго времени суток
нужен стек на 16 целых чисел
может кто-нибудь видел или делал что-нибудь подобное
пробовал написать сам но получается слишком медленный
на 1 сдвиг по стеку уходит 17 циклов а охото за 1-2 цикла уложится

Тигра такой потянет
25075
Раньше использовал для этого универсальный счётчик или SEL как элемент памяти, но тут особый случай, решил заморочиться: слово, диапазона 0-65535, разбирается на биты, сдвигается обычными Д-триггерами, на них сделаны регистры сдвига, затем собирается!

Тигра
22.06.2016, 07:37
Всем спасибо посмотрел идеи замечательные, но
в фиксаторе событий 1 цикл - 1 перезапись ячеек таким образом на 16 ячеек требуется 16 циклов это долго
в стек_16 все быстро как и нужно но не хватает энергонезависимости (хотя сбой питания маловероятен)
хотел сделать 16 переменных Ахх
и за 1 цикл перезаписать писать
А16:=А15
А15:=А14
....
А01:=new

rovki
22.06.2016, 07:41
Да кто ж для ПР циклы считает ,для каких задач?

Тигра
22.06.2016, 08:06
Не поверите линия убоя птицы скорость движения 3 курицы в секунду стоит оптический датчик который считает ноги продолжительность импульса 30мс
курицы висят плотно можно было бы считать счетчиком но бывают прилипшие перья и прочие помехи вот и пытаюсь за счет логики исключить ошибку подсчета это уже почти реализовал на на 2000 курей ошибка в 1 курицу
теперь хочу на экране вывести бегущую строку в виде 16 движущихся значков
- пустая
Х полная
0 помеха

SA104
22.06.2016, 08:21
Могу сделать макрос для вашей задачи, если интересно, пишите в личку, договоримся.

Тигра
22.06.2016, 08:24
не поверите счетчик птицы на линии убоя
начальство хочет считать еще живую курицу скорость линии 3 курицы в секунду
считаю оптическим датчиком ноги за счет логики отфильтровываю помехи в виде перьев, хвостов
считаю уже хорошо на 2000 куриц 1-2 ошибки
теперь хочу на дисплей вывести бекущую строчку
Х курица
_ пустая подвеска
0 мусор
16 символов вот и нужен СТЕК достаточно быстрый
хотел использовать SEL и задать порядок выполнения, но что то не идет ни как
после 3-4 циклов порядок сбивается

Владимир Ситников
22.06.2016, 08:49
не поверите счетчик птицы на линии убоя
начальство хочет считать еще живую курицу скорость линии 3 курицы в секунду
считаю оптическим датчиком ноги за счет логики отфильтровываю помехи в виде перьев, хвостов
считаю уже хорошо на 2000 куриц 1-2 ошибки
теперь хочу на дисплей вывести бекущую строчку
Х курица
_ пустая подвеска
0 мусор
16 символов вот и нужен СТЕК достаточно быстрый
хотел использовать SEL и задать порядок выполнения, но что то не идет ни как
после 3-4 циклов порядок сбивается

Так нужен стек или очередь?

Пробовали 16 SEL'ов и подавать сигнал между ними через обратную связь? 16 SEL'ов -- очередь длины 16, работающая за 1 такт (ну или 2-3, если вход тактовать через R_TRIG)

Сергей0308
22.06.2016, 10:43
Есть подозрения, что Вам надо фильтровать импульсы по времени(продолжительности)!

Тигра
22.06.2016, 12:51
Всем спасибо

Победил сделал через промежуточные переменные проверил работает
25092
может только не совсем рационально

Владимир Ситников
22.06.2016, 13:38
Всем спасибо

Победил сделал через промежуточные переменные проверил работает
25092
может только не совсем рационально

Получилась очередь. В таком случае, половина SEL'ов лишняя.

rovki
22.06.2016, 20:38
Всем спасибо

Победил сделал через промежуточные переменные проверил работает
25092
может только не совсем рационально

А если бы использовали явную связь ,то в 2 раза меньше компонентов

Эдуард_Н
01.07.2016, 18:02
Подскажите, а в макросе (который онлайн) "Упр.Нас.ZL" если на вход "ZL" ни чего не подавать, то ни один из насосов не должен включаться?

Василий Кашуба
01.07.2016, 19:20
Подскажите, а в макросе (который онлайн) "Упр.Нас.ZL" если на вход "ZL" ни чего не подавать, то ни один из насосов не должен включаться?
Это макрос для управления насосами системы отопления, поэтому в летнее время они будут включаться, только в начале рабочего цикла(например через каждые 24 часа) на время 30 сек., чтобы не закисли.

Эдуард_Н
03.07.2016, 04:08
Это макрос для управления насосами системы отопления, поэтому в летнее время они будут включаться, только в начале рабочего цикла(например через каждые 24 часа) на время 30 сек., чтобы не закисли.

Тогда надо было вход "ZL" как-то по другому назвать.

Василий Кашуба
04.07.2016, 13:14
Тогда надо было вход "ZL" как-то по другому назвать.
Как по другому? Это сигнал управления, между режимами "Зима" и "Лето".

Эдуард_Н
05.07.2016, 04:04
Как по другому? Это сигнал управления, между режимами "Зима" и "Лето".

В моём понимании режим зима-лето это немножечко другое, тут надо было назвать работа-консервация к примеру.:)

Pavel_
19.08.2016, 21:50
Вторая версия макроса интервального таймера с маской недели (даты и секунд нет), для возможности вводить с экрана уставки включения и выключения и др.

Изменения в v2.0:
1) Пофиксино - автоматический переход на следующий день.
Например: Если включен режим работы "по дням недели", установлены дни работы: Пн-Пт (Сб,Вс-выкл.), установлен интервал времени ON=6:30, OF=1:00, то таймер включится в Пятницу в 6:30, автоматический перейдет на субботу, и отключится уже в субботу в 1:00.

(В макросе v1.0 (http://www.owen.ru/forum/showthread.php?t=23201&page=2&p=201620&viewfull=1#post201620), при таких настройках, таймер отключится в 0:00, в момент перехода с Пятницы на Субботу, а если в работу добавить Субботу, то таймер включится в Пятницу в 6:30, перейдет на Субботу и выключится в субботу в 1:00, но далее в субботу опять включится в 6:30 и отключится в 0:00, в момент перехода с Субботы на Воскресенье)

Т.о. если необходимо, что бы таймер отработал, скажем в Понедельник и Вторник с 6 утра - до часу ночи, то при этом нужно указать только два дня недели Пн и Вт.

2) Из плюшек - добавлена функция "отложенного старта на день недели".
Например: Текущий день Понедельник и текущее время 8:00, нужно, что бы таймер отработал только один раз завтра - включился в 6:00 и отключился в 22:00, тогда в параметре "отложенный стар" указываем день недели Вторник или из списка выбираем "завтра" (как настроите элемент экрана "Динамический текст"), и включаем режим работы "один раз".

(В макросе v1.0 (http://www.owen.ru/forum/showthread.php?t=23201&page=2&p=201620&viewfull=1#post201620), если включить режим работы "один раз", то таймер сразу-же включится, т.к. текущее время 8:00, а если выбрать режим работы "по дням недели" и указать только Вторник, то таймер будет включатся в 6:00 и отключился в 22:00 каждый вторник)

3) Добавлен выход "текущего дня недели", т.к. в макросе уже вычисляется день недели, и при необходимости вывода на экран текущего дня недели, не придется добавлять в схему дополнительный макрос для вычисления дня недели.
Изменения в v2.1: (http://www.owen.ru/forum/showthread.php?t=23201&page=10&p=224974&viewfull=1#post224974)
1) Пофиксина критическая бага в функции "отложенного старта на день недели" при отключении питания ПР200 в момент перехода времени в 0:00 с текущего дня на день, на который был отложен старт таймера.

(В макросе v2.0:
Например: Текущий день Понедельник(Пн), установлен интервал времени ON=6:00 OF=23:00, включен "отложенный стар" на Среду(Ср), включен режим работы "по дням недели", установлены дни работы: Вторник(Вт),
если произойдет отключение питания ПР200 во Вторник(Вт), в 23:59, и позже, в Среду(Ср), в 0:01 подача питания на ПР200 возобновится (таким образом, питание прибора отсутствовало в момент перехода времени в 0:00 со Вторника(Вт) на Среду(Ср)), то далее таймер перейдет в полностью отключенное состояние: "отложенный стар"=Выкл., режим работы=Выкл.,
но при этом, на экране ПР200, индикация режимов работы таймера останется в изначально установленных состояниях
"отложенный стар"=Среда(Ср), режим работы="по дням недели".

2) Доработан алгоритм автоматического перехода на следующий день при отключении питания ПР200.
Например: Текущий день Понедельник(Пн), текущее время 8:00, установлен интервал времени ON=14:00 OF=3:00, включен режим работы "по дням недели", установлены дни работы: Вторник (Вт),
если произойдет отключение питания ПР200 в Понедельник(Пн), в 9:00, и позже, в Среду(Ср), в 1:00 подача питания на ПР200 возобновится, то таймер автоматический перейдет на Среду(Ср), включится и отработает оставшийся интервал времени до 3:00.

(В макросе v2.0, при таких условиях, при возобновлении питания на ПР200 в Среду(Ср), в 1:00, таймер автоматический не перейдет на Среду(Ср), не включится и не отработает оставшийся интервал времени до 3:00, т.к. не было включения таймера в назначенный день Вторник(Вт))
Изменения в v2.2: (http://www.owen.ru/forum/showthread.php?t=23201&page=7&p=218112&viewfull=1#post218112)
1) Пофиксина бага в уставке "Каждый день"(Everyday), при установке интервалов времени с точкой выключения(ОF) на следующие сутки, и режимом работы таймера "по дням недели"(Repeat).

(В макросе v2.1:
Например:
Если установить интервал времени ON=7:30 OF=1:10 (точка выключения на следующие сутки),
установить дни работы: "Каждый день"(Everyday),
и включить режим работы "по дням недели"(Repeat),
то таймер не запустится, и не будет отрабатывать заданный интервал времени.

А если при установленном интервале времени ON=7:30 OF=1:10,
установить все дни работы: Пн.(Mon)....Вос.(Sun),
и включить режим работы "по дням недели"(Repeat),
то таймер запускается и отрабатывает заданный интервал времени.)

http://www.owen.ru/forum/attachment.php?attachmentid=33394&stc=1&d=1506805065

Назначение входов и выходов описаны в свойствах, в поле комментарий.

При использовании данного макроса всю ответственность Вы берете на себя.

ЗЫ авторское право по схеме подключений стандартных ФБ оставляю за собой.

Эдуард_Н
20.08.2016, 11:40
По моему вот этот макрос интервального таймера с маской недели надо сделать онлайн в ОЛ.
Спасибо Pavel_.

Сергей0308
20.08.2016, 15:10
По моему вот этот макрос интервального таймера с маской недели надо сделать онлайн в ОЛ.
Спасибо Pavel_.

Можно пойти ещё намного дальше, достаточно добавить в сервисные переменные дни недели, хотя уже не так актуально, но по этому вопросу если честно, лично у меня возникают сомнения в адекватности "творцов", это же получается, для других доступно(по сети), а для себя - нет! Типа купил часы, другие могут посмотреть и узнать время, а ты - нет! Маразм, мягко выражаясь!

2Nikus
23.08.2016, 09:48
Можно пойти ещё намного дальше, достаточно добавить в сервисные переменные дни недели, хотя уже не так актуально, но по этому вопросу если честно, лично у меня возникают сомнения в адекватности "творцов", это же получается, для других доступно(по сети), а для себя - нет! Типа купил часы, другие могут посмотреть и узнать время, а ты - нет! Маразм, мягко выражаясь!
Можно пойти еще дальше, ввести в ОЛ именованные константы и простейшие пользовательские типы например перечисления, а про структуры я и не заикаюсь... ;)

Эдуард_Н
23.08.2016, 11:05
Можно пойти ещё намного дальше, достаточно добавить в сервисные переменные дни недели, хотя уже не так актуально, но по этому вопросу если честно, лично у меня возникают сомнения в адекватности "творцов", это же получается, для других доступно(по сети), а для себя - нет! Типа купил часы, другие могут посмотреть и узнать время, а ты - нет! Маразм, мягко выражаясь!

Я имел ввиду, что лучше бы этот макрос поместили в онлайн базу за место того который там уже есть и имеет некоторую не дороботку.

Юрий_Р
23.08.2016, 11:40
Я тот макрос в онлайн базе уже доработал, просто он еще не обновлен, сейчас готовлю полное описание с диаграммами, и выложу.

Эдуард_Н
23.08.2016, 13:23
Я тот макрос в онлайн базе уже доработал, просто он еще не обновлен, сейчас готовлю полное описание с диаграммами, и выложу.

Очень хорошо, почитаем, посмотрим.

Эдуард_Н
27.08.2016, 04:10
Я тот макрос в онлайн базе уже доработал, просто он еще не обновлен, сейчас готовлю полное описание с диаграммами, и выложу.

Когда планируете обновить?

Юрий_Р
29.08.2016, 09:12
Когда планируете обновить?

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

Прикрепил макрос и описание, у макроса необходимо изменить расширение на tpl, просто изменить, не открывать как архив!

Эдуард_Н
29.08.2016, 09:51
Надеюсь что скоро, если необходимо, я макрос могу пока сюда выложить, как и описание.

Прикрепил макрос и описание, у макроса необходимо изменить расширение на tpl, просто изменить, не открывать как архив!


1. Для того чтобы в режиме 2 таймер автоматически блокировался после однократного
срабатывания, необходимо на вход и на вход назначать одну переменную, тогда она
автоматически перезапишется в «0» после однократного срабатывания, и таймер
заблокируется.

Здесь в тексте вроде ошибка?

Юрий_Р
29.08.2016, 10:05
Здесь в тексте вроде ошибка?

Да, спасибо, исправлю.

Сергей0308
02.10.2016, 17:02
Вот на основе 512 разрядного стека вещественных значений, соорудил макрос среднего значения скользящим окном с изменяемой шириной:

26784

Уменьшение ширины окна увеличивает быстродействие, увеличение обеспечивает лучшее сглаживание, макрос всё это совмещает в себе!
Проект и макрос долго открываются, порядка 3-4 минут, необходимо иметь терпение!

rovki
02.10.2016, 18:14
У кого то слишком много свободного времени ...;) .Не правильной дорогой идете, Товарищи!

Сергей0308
02.10.2016, 18:18
У кого то слишком много свободного времени ...;) .Не правильной дорогой идете, Товарищи!

Так мы 75 лет шли правильной дорогой, можно же хоть полчаса неправильной дорогой пройтись?!

capzap
02.10.2016, 20:09
по поводу скользящих, вот ребята с форекса высказывают идеи что считать все совсем не обязательно

rovki
02.10.2016, 20:19
нормальный способ ...если ограничен в быстродействии .Но нужно сначала заполнить весь стек ,а у потом действовать как предложено .Если делать на FBD то может сложнее получится реализация, а код не уменьшится и быстродействие не увеличится ..

Владимир Ситников
02.10.2016, 20:27
нормальный способ ...если ограничен в быстродействии .Но нужно сначала заполнить весь стек ,а у потом действовать как предложено .Если делать на FBD то может сложнее получится реализация, а код не уменьшится и быстродействие не увеличится ..

Тут не от FBD-неFBD зависит, а от наличия подходящих блоков.
Сейчас в ОЛ массивы в зачаточном состоянии находятся. А, возможно, даже и в противо-.


Были бы удобные блоки для работы со стеками/очередями -- было бы намного удобнее.
Процессору добавить элемент в стек это несколько команд. А на текущем FDB это порнография полнейшая. Да, работает, да, кому-то душу греет (ну, что "даже в текущих ограничениях ОЛ получается"), но, положа руку на сердце, блоков в ОЛ слишком мало.

rovki
02.10.2016, 20:49
Да уже не один год работаем с очередями -стеками и нет проблем для понимания и применения ...Проблемы и споры с разработчиками были когда нужно было регистры сдвига битовые реализовывать ,но разработчики услышали и ввели явные связи ...Что для вас порно ,для нас легкая эротика :p,самый цымус ...

Сергей0308
02.10.2016, 22:53
по поводу скользящих, вот ребята с форекса высказывают идеи что считать все совсем не обязательно

Интересное решение, для фиксированной ширины окна алгоритм упростится, а для плавающей ширины окна, лично я не представляю пока, как упростить, если никто не против, на досуге попробую сделать для фиксированной ширины окна, равной 512!

capzap
02.10.2016, 23:13
ну вот еще способ, вернее формула Yn = 3 * LWMA - 2 * SMA


PS и приведу за одним уж цитату третьего способа
3-й метод. Приближение

Суть этого метода состоит в том, чтобы заменить используемые в эксперте "тяжелые" индикаторы на существенно более быстрые, но рассчитывающие нужные величины лишь приблизительно.Польза от этого в том, что можно быстро тестировать разрабатываемую стратегию. Ведь на этапе отладки не очень важна точность прогнозов.

Также этот метод можно применять и в уже рабочей стратегии - для проведения грубой оптимизации параметров. Это позволяет быстро найти оптимальные области значений параметров. А потом уже пройтись по ним с "тяжелыми" индикаторами для точной настройки

rovki
02.10.2016, 23:17
Ширины окна 16 за глаза для фильтрации, какие 512. Ввиду специфики FBD ,проект короче не будет ибо первоначально вы должны сделать N сложений и деление ,а уж потом прибавлять,отнимать по одному значению ...но посмотреть и потренироваться можно ..

Сергей0308
02.10.2016, 23:29
Ширины окна 16 за глаза для фильтрации, какие 512. Ввиду специфики FBD ,проект короче не будет ибо первоначально вы должны сделать N сложений и деление ,а уж потом прибавлять,отнимать по одному значению ...но посмотреть и потренироваться можно ..

Уже присмотрел практически готовый пример, только стек добавить, выход стека на вычитание:

26794

Короче чуть переделать, хорошо стек поставлю 16 разрядный, так и проще выйдет!

rovki
02.10.2016, 23:36
И сумматор можно взять именно сумматор (один регистр) ,а не куча регистров(стек) с суммированием и делением .

Сергей0308
02.10.2016, 23:41
И сумматор можно взять именно сумматор (один регистр) ,а не куча регистров(стек) с суммированием и делением .

Вот мой сумматор, вроде выкладывал, всем объяснял, но постоянно спрашивают:

26796

rovki
02.10.2016, 23:47
нормально..

Сергей0308
03.10.2016, 02:12
Старался максимально упростить, вот пока как получилось:

26799

Немного проще обычного, когда все разряды стека суммируются и делятся на их количество, но я такое применять не рискну, ошибка может накапливаться!
Можно так для крысоты, так как a/c + b/c = (a+b)/c

26806

capzap
03.10.2016, 07:13
Ввиду специфики FBD

Извиняюсь, наверное что то упустил, в последних версиях ОЛ появился второй язык? Как не пробовал, так и не нашел где он выбирается

rovki
03.10.2016, 07:56
Да нет ,а что не так ?

capzap
03.10.2016, 08:25
у fbd в отличии от cfc есть свои особенности, хотя бы суммирование множества элементов можно обеспечит более меньшим количеством кода, делать прыжок назад пока условие не выполнится

melky
03.10.2016, 09:14
capzap да нет там второго языка, просто для программируемых реле, не только Овен FB или FBD (разные производители по разному называют) это аналог CFC в CodeSys

Pavel_
26.10.2016, 19:43
Релиз v2.1 макроса интервального таймера с маской недели (даты и секунд нет), для возможности вводить с экрана уставки включения и выключения и др.

http://www.owen.ru/forum/attachment.php?attachmentid=27288&stc=1&d=1477498184

Назначение входов и выходов описаны в свойствах, в поле комментарий.
http://www.owen.ru/forum/attachment.php?attachmentid=27287&stc=1&d=1477498175

Описание изменений и файлы >>здесь (http://www.owen.ru/forum/showthread.php?t=23201&page=7&p=218112&viewfull=1#post218112)

ГЛЮКОNIC
01.12.2016, 01:13
в проекте макросы для модуля 32 дискретных входа , 32 дискретных выхода, макрос регистрации аварий, макрос контроль вращения.

23167

спасибо, Павел, можно в двух словах, я понял что эти команду уходях - я не знаю пока как вообще команды по RS485 делать и поэтому спросить решил - как привязать к ПР200 физическим входам и выходам ? - я 3 дня как держу ПР200 в руках - не программист, создал схему по блокам но мне нужно управлять второй ПР200, можно подробнее и на пальцах скачал макрос, а как его физически привязать ?

Павел Братковский
01.12.2016, 09:56
я понял что эти команду уходях

пишите по русски, а то не понятно


а как его физически привязать ?

в моем проекте к ПР200 привязаны модули В\В, в принципе в таком ключе привязываются и ПР200+ПР200, один мастер другой слейв......и т.д.


я 3 дня как держу ПР200 в руках - не программист

3 дня не срок.....почитай форум, там много интересного!!!!!!!!!! я тоже институтов не кончал.

Ревака Юрий
01.12.2016, 11:10
спасибо, Павел, можно в двух словах, я понял что эти команду уходях - я не знаю пока как вообще команды по RS485 делать и поэтому спросить решил - как привязать к ПР200 физическим входам и выходам ? - я 3 дня как держу ПР200 в руках - не программист, создал схему по блокам но мне нужно управлять второй ПР200, можно подробнее и на пальцах скачал макрос, а как его физически привязать ?

Вот Вам вариант управления входами или через экран ПР200 выходами второго ПР200 по сети. Второй модуль правда без аналоговых вх/вых, если у вас не такой вариант перенесите на свою конфигурацию.

И не забывайте про джампера на слотах RS485.

ГЛЮКОNIC
05.12.2016, 00:20
Юрий, спасибо, завтра посмотрю, первый с аналоговыми, второй без них мне столько аналоговых пока ненужно, так что спасибо

Ревака Юрий
05.12.2016, 11:06
Юрий, спасибо, завтра посмотрю, первый с аналоговыми, второй без них мне столько аналоговых пока ненужно, так что спасибо

Если у Вас конфигурация модулей по аналоговым вх/вых не соответствует возможно понадобиться перенести на свои, но сам механизм управления не изменится. Просто у меня под рукой такие модули я под них и сделал.

verpup
16.12.2016, 20:59
Подскажите плз.
Вот макрос "Счетчик моторесурса". Мне нужно, чтобы он сохранял значения наработки времени в переменной, но в панели инструментов программы преобразователь TO FLOAT неактивен, непонятно почему. как быть? 28143

Сергей0308
16.12.2016, 21:12
Подскажите плз.
Вот макрос "Счетчик моторесурса". Мне нужно, чтобы он сохранял значения наработки времени в переменной, но в панели инструментов программы преобразователь TO FLOAT неактивен, непонятно почему. как быть? 28143

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

rovki
16.12.2016, 21:12
Потому что в пр110 нет флоат и зачем флоат нужен

verpup
17.12.2016, 10:31
Со счетчиком разобрался, спасибо! Но еще вопрос, может и не в тему, но все же:
пока разбирался обнаружил,что в симуляторе одинаковые связки работают по разному, подскажите плз почему с первого входа логическая единица не попадает на блок BLINK2. Скрин проекта28145

А чтоб owl. файл выложить на форум, надо его в облачный диск залить, а потом сюда ссылку выложить?

melky
17.12.2016, 13:51
verpup , а что у вас 1 и 2 после счетчиков ?

verpup
17.12.2016, 19:15
целочисленные переменные, просто названия такие присвоил.
Всё, понял. дело в их энергонезависимости.

Pavel_
17.12.2016, 22:50
подскажите плз почему с первого входа логическая единица не попадает на блок BLINK2. Скрин проекта28145
это иногда происходит, когда копипастишь сразу несколько блоков.
попробуйте удалить линию связи от блинка и нарисовать заново и/или от блинка к счетчику...

А чтоб owl. файл выложить на форум, надо его в облачный диск залить, а потом сюда ссылку выложить?
можно и так: формат owl изменить на zip, но потом в тексте на это указать.

Сергей0308
17.12.2016, 22:59
Со счетчиком разобрался, спасибо! Но еще вопрос, может и не в тему, но все же:
пока разбирался обнаружил,что в симуляторе одинаковые связки работают по разному, подскажите плз почему с первого входа логическая единица не попадает на блок BLINK2. Скрин проекта28145

А чтоб owl. файл выложить на форум, надо его в облачный диск залить, а потом сюда ссылку выложить?

Ну, не знаю, я без проблем выкладывал проекты(в owl), более 10 МБ, но бывают некоторые темы, где и скриншот не могу выложить, но это администраторы сайта что-то "химичат"!

petera
18.12.2016, 05:05
А чтоб owl. файл выложить на форум, надо его в облачный диск залить, а потом сюда ссылку выложить?

1. Включить расширенный режим
28148

2. Появится возможность прикреплять к сообщению вложения
28149

3. Нажать кнопку "Управление вложениями".
28150

Ревака Юрий
19.12.2016, 11:54
целочисленные переменные, просто названия такие присвоил.
Всё, понял. дело в их энергонезависимости.

Скорее всего в проекте выход после счетчика никуда больше не идет, поэтому он не симулируется, установка свойства энергонезависимости решает эту проблему при симуляции, а вообще лучше использовать имена более понятные, а то с разу не поймешь, константа или такое название переменной.

Павел Братковский
26.03.2017, 08:59
здравствуйте уважаемые !

в проекте два макроса 30227........

макрос частотамер измеряет частоту импульсов входа, макрос Тоборота время между импульсами.......

загвоздка в том, что результаты интересные, например частота первого входа 3.9-4.0гц (что примерно соответствует истине), а время между импульсами 120мс. т.е в два раза меньше......ну и главный вопрос:

ПОЧЕМУ?

...или где-то сам туплю?

Василий Кашуба
26.03.2017, 15:44
здравствуйте уважаемые !
в проекте два макроса 30227........
макрос частотамер измеряет частоту импульсов входа, макрос Тоборота время между импульсами.......
загвоздка в том, что результаты интересные, например частота первого входа 3.9-4.0гц (что примерно соответствует истине), а время между импульсами 120мс. т.е в два раза меньше......ну и главный вопрос: ПОЧЕМУ? ...или где-то сам туплю?
Вы таймер, в макросе Тоборота, запускаете по переднему фронту импульса, а блинк по заднему, поэтому ширина входного импульса не учитывается в подсчёте периода.

Павел Братковский
27.03.2017, 05:18
входной импульс ничтожно мал по сравнению с паузой между импульсами...

я понимаю что, погрешность будет, но не до такой степени.

Василий Кашуба
27.03.2017, 12:01
входной импульс ничтожно мал по сравнению с паузой между импульсами...

я понимаю что, погрешность будет, но не до такой степени.
Тогда другой момент, вы задали время 0.0005 сек, а какое время цикла реальное в ПР200? Может нужно умножать на время цикла?

Павел Братковский
27.03.2017, 12:51
Василий спасибо!

сам прибор определяет время 1мс.....что как умножать не понял.

Василий Кашуба
27.03.2017, 12:59
Василий спасибо!

сам прибор определяет время 1мс.....что как умножать не понял.
Значит у вас по факту 1мс импульс и 1мс пауза, поэтому показания счётчика умножаете на 2.

Павел Братковский
27.03.2017, 13:08
если умножать на 2, тогда на правду похоже

petera
27.03.2017, 13:40
Я делал макрос TIME() - время работы в мс от момента включения ПР http://www.owen.ru/forum/showthread.php?t=24753&p=233233&viewfull=1#post233233

https://www.youtube.com/watch?v=NPllItX-Czs

С небольшими доработками - измерение периода импульсов и частоты
30243

https://www.youtube.com/watch?v=OF93fkN-JNc

zamnarzanom
28.03.2017, 11:39
Господа, а поделитесь самодельным макросом ПИД регулятора, если есть...
Спасибо!

Ревака Юрий
28.03.2017, 12:43
Господа, а поделитесь самодельным макросом ПИД регулятора, если есть...
Спасибо!

Посмотрите в этой теме http://www.owen.ru/forum/showthread.php?t=23453&page=4&p=200940#post200940

Павел Братковский
29.03.2017, 10:42
Я делал макрос TIME() - время работы в мс от момента включения ПР

petera большое спасибо за макрос....измерения работают на ура.

Эдуард_Н
27.09.2017, 04:16
Как на основе макроса CLOCK_WEEK сделать что бы объект включался-выключался несколько раз в сутки?

Ревака Юрий
27.09.2017, 09:57
Как на основе макроса CLOCK_WEEK сделать что бы объект включался-выключался несколько раз в сутки?

Из "коробки", наверное никак, необходимо "допиливать" либо применить другие решения, все зависит от условий задачи.

Pavel_
27.09.2017, 14:35
Как на основе макроса CLOCK_WEEK сделать что бы объект включался-выключался несколько раз в сутки?

Как вариант:

Эдуард_Н
27.09.2017, 17:11
Как вариант:
Спасибо, надо подумать над Вашим вариантом.

melky
27.09.2017, 17:24
Первое разрешение - весь день, через AND интервалы времени.

Pavel_
27.09.2017, 17:55
Спасибо, надо подумать над Вашим вариантом.
И еще вариант, в принципе аналогичен первому варианту, только блоки сравнения и блоки выбора упаковал в макросы:

Эдуард_Н
27.09.2017, 18:40
И еще вариант, в принципе аналогичен первому варианту, только блоки сравнения и блоки выбора упаковал в макросы:
Ещё раз СПАСИБО.

Сергей0308
28.09.2017, 02:56
Мой вариант на 32 уставки(0-31) в течении суток:

33323

Клавишей SEL выбираем часы(Ч), минуты(М), действие включить-выключить выход(Вкл/Вык), номер уставки(0-31) и запись в память(Зап.), стрелками вверх-вниз изменяем. ОК или SEL выбираем изменённое, мигающее значение, переменная "запись" сама сбрасывается в "0" при этом значение номера уставки увеличивается на единицу, можно и вручную выбрать номер уставки кнопками вверх-вниз. Переменная Q показывает состояние выхода ПР(Вкл/Вык)!
Можно и несколько выходов поставить и добавить в уставку переменную выбора выхода(выходов), на которые эта уставка действует, короче, примерно так!

Ревака Юрий
28.09.2017, 09:16
Мой вариант на 32 уставки(0-31) в течении суток:

33323

Клавишей SEL выбираем часы(Ч), минуты(М), действие включить-выключить выход(Вкл/Вык), номер уставки(0-31) и запись в память(Зап.), стрелками вверх-вниз изменяем. ОК или SEL выбираем изменённое, мигающее значение, переменная "запись" сама сбрасывается в "0" при этом значение номера уставки увеличивается на единицу, можно и вручную выбрать номер уставки кнопками вверх-вниз. Переменная Q показывает состояние выхода ПР(Вкл/Вык)!
Можно и несколько выходов поставить и добавить в уставку переменную выбора выхода(выходов), на которые эта уставка действует, короче, примерно так!

Макрос хорош, но есть одно но, программировать надо аккуратно, я после 4 записи запутался, затем решил вернуться назад, но при выборе номера ячейки, введенные данные не подтягиваются, и что там запрограммировано уже не посмотришь, или я до конца не разобрался?

Сергей0308
28.09.2017, 09:53
Макрос хорош, но есть одно но, программировать надо аккуратно, я после 4 записи запутался, затем решил вернуться назад, но при выборе номера ячейки, введенные данные не подтягиваются, и что там запрограммировано уже не посмотришь, или я до конца не разобрался?

Для этой цели в макросе матрицы памяти имеется выход Q2, можно сделать в момент перехода к другой уставке её значение разово пишется на экран для удобства, здесь с Вами согласен, на досуге будет время и желание подшаманю и чередование переменных в другом порядке сделаю, мне кажется правильным: часы, минуты, Вкл/Вык, номер уставки, запись, я изначально так и хотел, но что-то видать пошло не так!
Короче, как-то так:

33357

И сказочно исчезла жёлтая подсветка линий связи, ничего не делал, не добавлял задержку на цикл, просто удалил связи в другом месте и затем восстановил обратно, просто шаманство какое-то:

33376

Вот специально выложил два одинаковых проекта(название разное), но в одном жёлтое подсвечивание связей, а в другом нет, может кто не верит, может лично убедится в этом!

Вот ещё поправил: номера уставок сделал 1-32, всё-таки мы не на Западе, где нулевые этажи есть, ничего не поделаешь - дикие они(шутка) и при программировании(записи) они по кругу скачут(циклически) и светодиоды задействовал, зелёный - включение выхода, красный запись в память уставки, вроде поудобней стало:

33409

И ещё такую особенность заметил: когда выбираешь Запись, стрелкой вверх Ввод и нажимаешь SEL(ввод выбранного значения в текущую переменную и переход к следующей) начинает мигать переменная "Уставка", но значение почему-то не увеличивается на экране, но если ещё раз нажимаешь SEL и переходишь к переменной Часы, значение номера уставки наконец-то увеличивается на единицу, такая особенность, наверно ПР захватывает коррекцию(изменение переменной с экрана), но в памяти(выходном блоке переменной) сохраняет увеличенное на единицу значение! При нажатии для ввода "ОК" всё ожидаемо!

Для своих целей, когда переменную заданного диапазона надо менять и с экрана и из программы выдумал циклический инкрементный счётчик, имеется в пятой версии программы:

33417

Случайно ввёл уставки на включение и выключение на одно и тоже время, релюшка щёлкала целую минуту, сразу не сообразил, что произошло, короче устранил это в 6 версии программы:

33526

plotnik.off86
08.10.2017, 07:26
Подскажите как преобразовать 4-20мА в показания температуры для ПИД регулятора?

Сергей0308
08.10.2017, 07:47
Подскажите как преобразовать 4-20мА в показания температуры для ПИД регулятора?

Проще всего настройками аналогового входа, можно макросом SCALE_L!

plotnik.off86
08.10.2017, 18:06
А описание макроса есть?

Сергей0308
08.10.2017, 18:36
А описание макроса есть?

Откройте макрос для редактирования и наведите курсор на вход, там подробные подсказки!

Юра84
23.11.2018, 17:28
Вторая версия макроса интервального таймера с маской недели (даты и секунд нет), для возможности вводить с экрана уставки включения и выключения и др.

Изменения в v2.0:
1) Пофиксино - автоматический переход на следующий день.
Например: Если включен режим работы "по дням недели", установлены дни работы: Пн-Пт (Сб,Вс-выкл.), установлен интервал времени ON=6:30, OF=1:00, то таймер включится в Пятницу в 6:30, автоматический перейдет на субботу, и отключится уже в субботу в 1:00.

(В макросе v1.0 (http://www.owen.ru/forum/showthread.php?t=23201&page=2&p=201620&viewfull=1#post201620), при таких настройках, таймер отключится в 0:00, в момент перехода с Пятницы на Субботу, а если в работу добавить Субботу, то таймер включится в Пятницу в 6:30, перейдет на Субботу и выключится в субботу в 1:00, но далее в субботу опять включится в 6:30 и отключится в 0:00, в момент перехода с Субботы на Воскресенье)

Т.о. если необходимо, что бы таймер отработал, скажем в Понедельник и Вторник с 6 утра - до часу ночи, то при этом нужно указать только два дня недели Пн и Вт.

2) Из плюшек - добавлена функция "отложенного старта на день недели".
Например: Текущий день Понедельник и текущее время 8:00, нужно, что бы таймер отработал только один раз завтра - включился в 6:00 и отключился в 22:00, тогда в параметре "отложенный стар" указываем день недели Вторник или из списка выбираем "завтра" (как настроите элемент экрана "Динамический текст"), и включаем режим работы "один раз".

(В макросе v1.0 (http://www.owen.ru/forum/showthread.php?t=23201&page=2&p=201620&viewfull=1#post201620), если включить режим работы "один раз", то таймер сразу-же включится, т.к. текущее время 8:00, а если выбрать режим работы "по дням недели" и указать только Вторник, то таймер будет включатся в 6:00 и отключился в 22:00 каждый вторник)

3) Добавлен выход "текущего дня недели", т.к. в макросе уже вычисляется день недели, и при необходимости вывода на экран текущего дня недели, не придется добавлять в схему дополнительный макрос для вычисления дня недели.
Изменения в v2.1: (http://www.owen.ru/forum/showthread.php?t=23201&page=10&p=224974&viewfull=1#post224974)
1) Пофиксина критическая бага в функции "отложенного старта на день недели" при отключении питания ПР200 в момент перехода времени в 0:00 с текущего дня на день, на который был отложен старт таймера.

(В макросе v2.0:
Например: Текущий день Понедельник(Пн), установлен интервал времени ON=6:00 OF=23:00, включен "отложенный стар" на Среду(Ср), включен режим работы "по дням недели", установлены дни работы: Вторник(Вт),
если произойдет отключение питания ПР200 во Вторник(Вт), в 23:59, и позже, в Среду(Ср), в 0:01 подача питания на ПР200 возобновится (таким образом, питание прибора отсутствовало в момент перехода времени в 0:00 со Вторника(Вт) на Среду(Ср)), то далее таймер перейдет в полностью отключенное состояние: "отложенный стар"=Выкл., режим работы=Выкл.,
но при этом, на экране ПР200, индикация режимов работы таймера останется в изначально установленных состояниях
"отложенный стар"=Среда(Ср), режим работы="по дням недели".

2) Доработан алгоритм автоматического перехода на следующий день при отключении питания ПР200.
Например: Текущий день Понедельник(Пн), текущее время 8:00, установлен интервал времени ON=14:00 OF=3:00, включен режим работы "по дням недели", установлены дни работы: Вторник (Вт),
если произойдет отключение питания ПР200 в Понедельник(Пн), в 9:00, и позже, в Среду(Ср), в 1:00 подача питания на ПР200 возобновится, то таймер автоматический перейдет на Среду(Ср), включится и отработает оставшийся интервал времени до 3:00.

(В макросе v2.0, при таких условиях, при возобновлении питания на ПР200 в Среду(Ср), в 1:00, таймер автоматический не перейдет на Среду(Ср), не включится и не отработает оставшийся интервал времени до 3:00, т.к. не было включения таймера в назначенный день Вторник(Вт))
Изменения в v2.2: (http://www.owen.ru/forum/showthread.php?t=23201&page=7&p=218112&viewfull=1#post218112)
1) Пофиксина бага в уставке "Каждый день"(Everyday), при установке интервалов времени с точкой выключения(ОF) на следующие сутки, и режимом работы таймера "по дням недели"(Repeat).

(В макросе v2.1:
Например:
Если установить интервал времени ON=7:30 OF=1:10 (точка выключения на следующие сутки),
установить дни работы: "Каждый день"(Everyday),
и включить режим работы "по дням недели"(Repeat),
то таймер не запустится, и не будет отрабатывать заданный интервал времени.

А если при установленном интервале времени ON=7:30 OF=1:10,
установить все дни работы: Пн.(Mon)....Вос.(Sun),
и включить режим работы "по дням недели"(Repeat),
то таймер запускается и отрабатывает заданный интервал времени.)

http://www.owen.ru/forum/attachment.php?attachmentid=33394&stc=1&d=1506805065

Назначение входов и выходов описаны в свойствах, в поле комментарий.

При использовании данного макроса всю ответственность Вы берете на себя.

ЗЫ авторское право по схеме подключений стандартных ФБ оставляю за собой.
Доброго времени! Понимаю что данный пост давнешний но может помните пароль макроса? если это не тайна, просто данный проект подходит под мои цели но нужно немножко подредактировать, не факт что у меня получится только пробую свои силы с пр-200.
С Ув.Юрий

Виталий_khv
14.04.2019, 10:58
Отличное решение для вывода бегущей строки.

Могу предложить своей вариант макроса бегущей строки, не идеальный но рабочий.


https://youtu.be/EG9WuWt-fMk

Некоторые особенности:
Выводит любую информацию, даже строки превышающие размер экрана.
Возможность выводить в бегущей строке переменные (целочисленные, булевские, с плавающей запятой)
Легко создать бегущую строку, создается только одна строка с любым содержимым
Возможно адаптировать под вертикально бегущую строку.

Необходимые настройки:
Длинна строки: суммарное колличество символов включая пробелы
Скорость: указывается в миллисекундах (скорость смещения на 1 символ)

Реализация:
Изменение координаты X или Y путем привязки переменной.

В Архиве проект и макрос.

Доброго времени суток.
Не совсем пойму принцип работы данного макроса.
Может кто-то меня просветить?

Ревака Юрий
14.04.2019, 12:18
Доброго времени суток.
Не совсем пойму принцип работы данного макроса.
Может кто-то меня просветить?

Описание есть в "Менеджере компонентов", макрос TICKER, в группе работа с экранами.

Виталий_khv
14.04.2019, 13:27
Описание есть в "Менеджере компонентов", макрос TICKER, в группе работа с экранами.

Юрий, я прочитал.
Но все равно не пойму, как происходит сдвиг, за счет чего? На чем основан сдвиг строки? Если мы не можем ставить координату х<1.

Ревака Юрий
14.04.2019, 13:48
Юрий, я прочитал.
Но все равно не пойму, как происходит сдвиг, за счет чего? На чем основан сдвиг строки? Если мы не можем ставить координату х<1.

За счет того, что мы можем ставить координату x>16

Сергей0308
14.04.2019, 14:00
Константу мы не можем поставить вне диапазона экрана(0-15), а переменную пожалуйста и например (-1) будет соответствовать "4294967295":

42267

Что в принципе позволяет расположить все переменные на одном экране в виде бегущей строки и останавливать бег строки на нужной для просмотра, редактирования переменной!

Виталий_khv
14.04.2019, 14:02
За счет того, что мы можем ставить координату x>16

Юрий, теперь для "особо одаренных" поподробнее...
Как интересно у Вас организован вывод информации.
Т.е. у Вас информация выводиться не с первого символа?
Я понимаю, так что если координата х=1 то мы выводим строку начиная с первого символа строки текста и первого символа строки экрана.
Если мы имеем возможность ставить координату х>16 то тогда текст должен смещаться слева на право.
А как получается, что мы имеем возможность смещать текст справа налево, в этом случае координата должна быть Х<0 ?

Виталий_khv
14.04.2019, 14:53
Константу мы не можем поставить вне диапазона экрана(0-15), а переменную пожалуйста и например (-1) будет соответствовать "4294967295":

42267

Что в принципе позволяет расположить все переменные на одном экране в виде бегущей строки и останавливать бег строки на нужной для просмотра, редактирования переменной!

Сергей, спасибо.
Т.е. длина строки ограничена 4294967296 символов, и если мы выходим за это число, то начинаем с 1.
Или иными словами, область ОЗУ одной строки составляет 4294967296 символов.

Сергей0308
14.04.2019, 15:02
Сергей, спасибо.
Т.е. длина строки ограничена 4294967296 символов, и если мы выходим за это число, то начинаем с 1.
Или иными словами, область ОЗУ одной строки составляет 4294967296 символов.

Диапазон значений для бегущей строки 0 - 4294967295, если надо просто скрыть, достаточно более 15 назначить, а не более 16, отсчёт начинается с "0", а не с "1", у Юрия не точно!
Короче можно менять выводимые в строке переменные, пряча не нужные в данный момент за координатой более 15, если это сделать сразу в двух строках получится смена экранов на одном экране, в принципе нет смысла иметь более одного экрана, если только для более простой их смены имеющимися возле экрана кнопочками!

И ещё хотел добавить, что в этом случае останется возможность смены экрана функциональными кнопками возле экрана, но путём редактирования соответствующей переменной, это незначительно усложняет(если экранов много, я думаю, что упростит) переходы между экранами, но за то даёт возможность всегда видеть на каком экране мы находимся, о чём некоторые мечтают, не надо мечтать, можно уже так сделать! Это можно сделать и без переменной координата, сделав переходы между экранами по значению переменной из программы или редактировать её с экрана для перехода, а переход кнопочками(вверх, вниз и т. д.) не делать(запретить), чтобы положение экрана не "сбить"!

Виталий_khv
14.04.2019, 15:15
Диапазон значений для бегущей строки 0 - 4294967295, если надо просто скрыть, достаточно более 15 назначить, а не более 16, отсчёт начинается с "0", а не с "1", у Юрия не точно!

Спасибо, принял.
Вопрос закрыт.

Дмитрий Авдеев
14.04.2019, 23:50
Подскажите.
Макрос "Бегущая строка (TICKER)" не поддерживает длину строки более 127 (примерно) символов?
Более этого значения макрос проглатывает первые символы. На моем примере строку 152 так я и не смог отобразить в бегущей строке.

Сергей0308
15.04.2019, 00:20
Подскажите.
Макрос "Бегущая строка (TICKER)" не поддерживает длину строки более 127 (примерно) символов?
Более этого значения макрос проглатывает первые символы. На моем примере строку 152 так я и не смог отобразить в бегущей строке.

Это шутка такая? Склейте 2 строки по 127 символов, 3 строки, 10 строк или сколько там необходимо! Также как я написал менять переменные выводимые на экран, можно менять строки, выводимые на экран, принципиальной разницы не вижу! Вы наверно "Войну и мир" хотите в ПР записать?

Ревака Юрий
15.04.2019, 07:50
Подскажите.
Макрос "Бегущая строка (TICKER)" не поддерживает длину строки более 127 (примерно) символов?
Более этого значения макрос проглатывает первые символы. На моем примере строку 152 так я и не смог отобразить в бегущей строке.

Да, есть ограничение, когда проверял макрос, что-то такое припоминаю, но что бы собрать такую строку, нужно немало усилий, что Вы планируете выводить, точно ли это необходимо?

Виталий_khv
15.04.2019, 08:48
И ещё хотел добавить, что в этом случае останется возможность смены экрана функциональными кнопками возле экрана, но путём редактирования соответствующей переменной, это незначительно усложняет(если экранов много, я думаю, что упростит) переходы между экранами, но за то даёт возможность всегда видеть на каком экране мы находимся, о чём некоторые мечтают, не надо мечтать, можно уже так сделать! Это можно сделать и без переменной координата, сделав переходы между экранами по значению переменной из программы или редактировать её с экрана для перехода, а переход кнопочками(вверх, вниз и т. д.) не делать(запретить), чтобы положение экрана не "сбить"!

Менять экраны переменными не всегда удобно.
К примеру, есть у меня экран наработки моточасов оборудования, и такого оборудования 3 шт.
Соответственно 3 экрана наработки моточасов.
Есть так-же экран отображающий количество пусков оборудования (по регламенту, через N кол-во пусков тех.обслуживание)
И вот как тут без кнопочек, только переменными обойтись ?

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

Сергей0308
15.04.2019, 09:08
Менять экраны переменными не всегда удобно.
К примеру, есть у меня экран наработки моточасов оборудования, и такого оборудования 3 шт.
Соответственно 3 экрана наработки моточасов.
Есть так-же экран отображающий количество пусков оборудования (по регламенту, через N кол-во пусков тех.обслуживание)
И вот как тут без кнопочек, только переменными обойтись ?

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

Вы так пишите, как будто у Вас есть выбор, если надо контролировать экран на котором находитесь, выбор я озвучил выше! Если не надо, делаете, как Вам удобно!

Виталий_khv
15.04.2019, 09:31
Вы так пишите, как будто у Вас есть выбор, если надо контролировать экран на котором находитесь, выбор я озвучил выше! Если не надо, делаете, как Вам удобно!

:)выбора нет....
но, мечтать не вредно....
А пока делаем, как удобно.
Спасибо.

Sailorrus07
11.09.2019, 16:47
Здравствуйте уважаемые форумчане. Недавно стал осваивать ПР200 и нуждаюсь в совете. Подскажите, как можно подключить к ПР200 датчики температуры ДТС035-100П Овен и ТХК(L)?

Ревака Юрий
11.09.2019, 17:00
Здравствуйте уважаемые форумчане. Недавно стал осваивать ПР200 и нуждаюсь в совете. Подскажите, как можно подключить к ПР200 датчики температуры ДТС035-100П Овен и ТХК(L)?

https://owen.ru/forum/showthread.php?t=25067 в Менеджере компонентов есть макросы под все НСХ. ТХК или через НПТ или через ПРМ-3.

Sailorrus07
12.09.2019, 13:53
Спасибо, буду разбираться.

Sailorrus07
11.11.2019, 16:17
Здравствуйте уважаемые форумчане. Тружусь над программкой для электрокотла отопления и нуждаюсь в совете. Вся программа готова, но остался маленький момент, нужно регулировать мощность, либо ступенчато 0-2-4-6-8 kW (это проще), либо каким то образом управлять силовыми тиристорами или симисторами (это сложнее). Проблема в том, что я не могу сделать макрос для ступенчатого выбора мощности, точнее, у меня получается на тригере и счетчике, но работает коряво. Подскажите, как можно редактировать переменную с шагом 2 от 0 до 8, на каких функциях или блоках запилить макрос.

rovki
11.11.2019, 16:19
У вас какое ПР? Есть аналоговые выходы?

dan75
12.11.2019, 07:46
Здравствуйте уважаемые форумчане. Тружусь над программкой для электрокотла отопления и нуждаюсь в совете. Вся программа готова, но остался маленький момент, нужно регулировать мощность, либо ступенчато 0-2-4-6-8 kW (это проще), либо каким то образом управлять силовыми тиристорами или симисторами (это сложнее). Проблема в том, что я не могу сделать макрос для ступенчатого выбора мощности, точнее, у меня получается на тригере и счетчике, но работает коряво. Подскажите, как можно редактировать переменную с шагом 2 от 0 до 8, на каких функциях или блоках запилить макрос.

Как нужно задавать команду на переключение? А лучше покажите свою программу, возможно можно допилить и триггер со счётчиком.

Sailorrus07
12.11.2019, 16:48
У меня ПР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 м. В помещении планирую установить Ардуинку (другого девайса пока не подобрал) с датчиками температуры и голосовым информатором, либо другой терморегулятор, например, от теплого пола. Программу допилю до хорошего вида и постараюсь выложить, пока боюсь опозориться. :)

melky
12.11.2019, 17:05
с шагом 2 можно через биты. есть макросы по работе с битами в базе данных. ведь бит 0 = 0, бит 1 = 2, бит 2 = 4 так далее. Можете применить этот механизм шагов

dan75
13.11.2019, 06:38
У меня ПР200-220.22.1.0. Часть программы с тригером и счетчиком я удалил, а восстанавливать нет смысла терять время. В программе осталось придумать как изменять переменную с шагом 2 и максимально до 8. К сожалению, в OL нет возможности редактировать параметр ступенчато с ограничением, примерно, как реализовано в FLprog Arduino.

Что на входе блока, что на выходе? Ежели на входе импульсы, а на выходе -- переменная типа int, то это счётчик и есть. Причём безо всяких триггеров.
45551

Sailorrus07
13.11.2019, 15:43
Что на входе блока, что на выходе? Ежели на входе импульсы, а на выходе -- переменная типа int, то это счётчик и есть. Причём безо всяких триггеров.
45551

Проблема заключается в том, чтобы изменять параметр кнопками "вверх" и "вниз" из меню пользователя. Есть мыслишка, отпишусь как протестирую. За подсказки спасибо.

Сергей0308
13.11.2019, 16:20
Проблема заключается в том, чтобы изменять параметр кнопками "вверх" и "вниз" из меню пользователя. Есть мыслишка, отпишусь как протестирую. За подсказки спасибо.

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

45559

45560

pushun-07
13.05.2020, 18:10
Добрый день, уважаемые!

Использую ПР200... который весь на 220 В.
Количество входов ограничено, из-за чего использовал макрос из Менеджера компонентов "Управление одной кнопкой (ONE_TOUCH2)", правда удалил нижнюю часть - мне только симулятор 3х кнопок нужен.

Проблема:
ПР200 и оперативные цепи питаются от ИБП (ну со светом проблемы - может моргнуть)
физические кнопки SE с нормально-замкнутыми контактами, т.е. на дискретном входе (I1) постоянно 220 В - логическая единица, которую я программно инвертирую в - 0
Все отлично работает - с одной кнопки 3 разных значения...
но (!) в любой не предсказуемый момент как будто все эти 3 выходные значения срабатывают сами по себе.

Куда копать, что проверять?

И сразу в эту же тему: как писать лог "время - номер кнопки" хотя бы для нескольких последних значений, не могу поймать неисправность ((

melky
13.05.2020, 18:22
Ну так если свет моргает и кнопки не от ИБП то и будет моргать ? или они тоже от ИБП ?

Сергей0308
13.05.2020, 18:33
Можно попробовать сделать при включении ПР(подаче питающего напряжения)блокировку на секунду, я делаю обычно с помощью таймера с задержкой включения!

pushun-07
13.05.2020, 19:17
Ну так если свет моргает и кнопки не от ИБП то и будет моргать ? или они тоже от ИБП ?

Все от ИБП

pushun-07
13.05.2020, 19:18
Можно попробовать сделать при включении ПР(подаче питающего напряжения)блокировку на секунду, я делаю обычно с помощью таймера с задержкой включения!

Блокировку чего? Кнопок?
Речь о своеобразном устранении дребезга? Тип время опроса увеличить? по умолчанию оно в макросе по секунде на ввод вроде

Да и ПР не выключается, программа продолжается...

Сергей0308
13.05.2020, 19:38
Блокировку чего? Кнопок?
Речь о своеобразном устранении дребезга? Тип время опроса увеличить? по умолчанию оно в макросе по секунде на ввод вроде

Да и ПР не выключается, программа продолжается...

Ну тогда возможно свет моргает, ИБП надо некоторое время на переключение и ПР всё правильно отрабатывает, тогда нужно программный фильтр поставить на входа для фильтрации кратковременных сигналов, если это позволяет логика работы!

pushun-07
14.05.2020, 00:50
Ну тогда возможно свет моргает, ИБП надо некоторое время на переключение и ПР всё правильно отрабатывает, тогда нужно программный фильтр поставить на входа для фильтрации кратковременных сигналов, если это позволяет логика работы!

Программа не прерывается, видимо косяк именно с (НЗ) кнопками :(
Хоть в какую сторону думать о фильтре в плане реализации?
а то у меня чет уже фантазия закончилась (

pushun-07
14.05.2020, 00:52
Повторюсь, никто не сталкивался с необходимостью писать лог?
"время - номер кнопки" хотя бы для нескольких последних значений, очень нужно для диагностики неисправности!

capzap
14.05.2020, 07:24
Повторюсь, никто не сталкивался с необходимостью писать лог?
"время - номер кнопки" хотя бы для нескольких последних значений, очень нужно для диагностики неисправности!

ни чего что в ПР нет ни строковых переменных, ни массивов? Поэтому то что Вы желаете на уровне костылей и бездарного использования дешевого устройства

melky
14.05.2020, 07:48
pushun-07 архив аварий, делали различные варианты. В том числе до 32-х записей с фиксацией времени я выкладывал недавно. там два варината, на 9 и 32 записи до 16 бит аварий с расшифровкой на экране и передачи последней в сеть. Когда найдете причину, просто убьете если надо память экономить.

https://owen.ru/forum/showthread.php?t=32279&p=320574&viewfull=1#post320574

Ну и темы связанные с архивами аварий на ПР ищите. Вариантов было много. Выберите, какой понравится.

Ревака Юрий
14.05.2020, 09:14
С НЗ контактами, нужно посмотреть какое время фильтра на входе, по умолчанию 10 мс , можно увеличить, или поставить таймера после входов, и подобрать режимы по задаче, что бы "1" держалась какое-то время после пропадания входа.

melky
14.05.2020, 09:29
Если это кнопки управления, то фильтрация и задержки будут потом выносить мозг длительностью срабатывания

pushun-07
14.05.2020, 15:30
ни чего что в ПР нет ни строковых переменных, ни массивов? Поэтому то что Вы желаете на уровне костылей и бездарного использования дешевого устройства

Полагаю, что уровень специалиста как раз и определяется решением задачи.
У меня на вскидку есть несколько вариантов и с массива и реализации стека, просто лень, возможно есть готовый велосипед...

По моему скромному мнению ПР200 недооценен и имеет сумасшедший запас, весь опрос в том кто и как его использует - в грамотности исполнителя.

pushun-07
14.05.2020, 15:34
melky - спасибо!


С НЗ контактами, нужно посмотреть какое время фильтра на входе, по умолчанию 10 мс , можно увеличить, или поставить таймера после входов, и подобрать режимы по задаче, что бы "1" держалась какое-то время после пропадания входа.

Это в настройках входов при подключенном приборе? просто в проекте этого не нашел...
И как грамотнее - просто добавить таймер перед макросом "управление одной кнопкой" или В НЕМ поменять значения с 1 сек на большее?

bayk
17.05.2020, 14:27
Если это кнопки управления, то фильтрация и задержки будут потом выносить мозг длительностью срабатывания
я в своих проектах (не только на ПР) ставлю 100 мс "фильтр" из двух таймеров и еще ни разу на объектах никто не жаловался.

melky
17.05.2020, 16:06
100 мс не пробовал, а вот 320 мс (не убиваемые в Carel) меня добили.... так что тут не скажу. Думаю вполне достаточно 20-50 мс на дребезг...

bayk
17.05.2020, 16:19
100 мс не пробовал, а вот 320 мс (не убиваемые в Carel) меня добили.... так что тут не скажу.
не, уже при 200 мс операторы начинают говорить, что мол "кнопки заедают" (просто разок не поправил фильтры на кнопки при переделке ПО с других входов, где это надо было)

Ревака Юрий
17.05.2020, 18:47
melky - спасибо!



Это в настройках входов при подключенном приборе? просто в проекте этого не нашел...
И как грамотнее - просто добавить таймер перед макросом "управление одной кнопкой" или В НЕМ поменять значения с 1 сек на большее?

Нет. я про таймеры TON TOF именно после входа в логике, если у Вас НЗ контакт, то не уверен что фильтр тут подойдет, когда "1" отвалится, ее нужно задержать в логике, а тут таймер как раз кстати.

Сергей0308
17.05.2020, 19:34
Можно так добавить дополнительный фильтр:

49136

Или так:

49137

Напомню, речь шла о ПР200 с питанием и напряжением работы входов 220В, там фильтр уже присутствует, иначе даже при подаче постоянного сигнала на вход, вход бы 50 раз в секунду(как минимум) включался-выключался, так как напряжение переменное!