PDA

Просмотр полной версии : Макросы в онлайн базе OWEN Logic



Страницы : 1 [2] 3 4

gbkf
26.06.2019, 16:26
День добрый ! не могу найти макрос мультиплексор \ пр 200 для скада \ можете подсказать где капать

Сергей0308
26.06.2019, 20:03
День добрый ! не могу найти макрос мультиплексор \ пр 200 для скада \ можете подсказать где капать

Вам какой мультиплексор? Может эти потянут, в посте#4133: https://www.owen.ru/forum/showthread.php?t=9398&page=414
Или здесь, в посте#1066: https://www.owen.ru/forum/showthread.php?t=26216&page=107

CFC-ST
08.07.2019, 11:47
Можно запустить симуляцию, прям в открытом макросе, и посмотреть что и как. Выделил красным место где задается время тактирования, можно убрать снизу схему, которая определяет период в зависимости от времени цикла, и установить на BLINK необходимые константы. Минимальное значение периода сейчас 10 мс, дальше 100 и 1000мс.

Появился ещё вопрос. Выходная переменная обнуляется после вкл/выкл питания. И энергонезависимость поставил для этой переменной. Как сделать, чтобы счётчик не обнулялся после вкл/выкл питания?

Андрей Посохов
08.07.2019, 11:51
Появился ещё вопрос. Выходная переменная обнуляется после вкл/выкл питания. И энергонезависимость поставил для этой переменной. Как сделать, чтобы счётчик не обнулялся после вкл/выкл питания?

Добрый день.
В настройках счетчика CTN можно указать энергонезависимость - сохранение значения.
43530

CFC-ST
08.07.2019, 14:11
Добрый день.
В настройках счетчика CTN можно указать энергонезависимость - сохранение значения.
43530
Добрый день!
Спасибо

Сергей0308
08.07.2019, 14:50
Появился ещё вопрос. Выходная переменная обнуляется после вкл/выкл питания. И энергонезависимость поставил для этой переменной. Как сделать, чтобы счётчик не обнулялся после вкл/выкл питания?


Добрый день.
В настройках счетчика CTN можно указать энергонезависимость - сохранение значения.
43530


Добрый день!
Спасибо

Очень странно! Тема о макросах, логично предположить, что речь о счётчике в виде макроса, подобном как АI предлагал(32-битном), тут два товарища демонстрируют свою нелогичную логику, наверно даже не сговариваясь!

CFC-ST
08.07.2019, 17:00
Добрый день!
Спасибо

Не помогло. OperTimer_1 (счетчик наработки) не хочет быть энергонезависимым. Подскажите как сделать энергонезависимым. Может пример выложите?

Сергей0308
08.07.2019, 18:36
Не помогло. OperTimer_1 (счетчик наработки) не хочет быть энергонезависимым. Подскажите как сделать энергонезависимым. Может пример выложите?

Какие-то у Вас проблемы, не типичные, короче можно так сохранить:

43550

43551

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

Ревака Юрий
08.07.2019, 19:49
Появился ещё вопрос. Выходная переменная обнуляется после вкл/выкл питания. И энергонезависимость поставил для этой переменной. Как сделать, чтобы счётчик не обнулялся после вкл/выкл питания?

Рекомендую посмотреть видео
https://youtu.be/LrpQqC7F9d4, в описании есть пример проекта.

CFC-ST
09.07.2019, 21:31
Рекомендую посмотреть видео
https://youtu.be/LrpQqC7F9d4, в описании есть пример проекта.

Спасибо! разобрался. оказывается я на входе сброса подавал константу "1". Счетчик считал, но сбрасывался . в том числе и счётчик включений. А еще в макросе один (верхний) из счётчиков не энергонезависимый. Так я понял.

василий17061980
23.07.2019, 03:08
Как скачать макрос?

Ревака Юрий
23.07.2019, 14:39
Как скачать макрос?

Какой? Вообще Файл->Менеджер компонентов.

to0freak
13.08.2019, 11:11
Добрый день, подскажите кто какие коэффициенты ПИД регулятора ставит для управлением повысительными насосами? В описание макроса написано, что верхние границы значений = 10^38, я так понимаю, что для, например, интегральной составляющей это значение в секундах? Пытаюсь выставить коэффициенты, но управление идёт либо слишком медленно, либо скачками. Или при записи значений в блок с экрана оно в мс и его нужно умножать на 1000?

melky
13.08.2019, 11:33
to0freak совершенно верно, блок записи в FB выдает мс и если вам нужны секунды, минуты и т.д. требуется соответствующее умножение.

to0freak
13.08.2019, 18:11
Это же относится к пропорциональному коэффициенту?

Сергей0308
13.08.2019, 18:26
Это наверно, очень увлекательно, но зачем гадать, если справка есть! Можно 5 минут потратить и посмотреть справку или гадать бесконечно, если Вам важен сам процесс!

44072

to0freak
13.08.2019, 18:41
Опять 25. Вы читаете, что пишут люди, или просто набиваете счетчик сообщений бессмысленными постами? Я ведь написал, что из описания макроса не совсем понятно, в каких единицах измеряются коэффициенты и нужен ли им множитель. В описании пропорциональный коэффициент измеряется в секундах, что довольно странно, так же при записи коэффициентов в блок, нужен ли множитель для все параметров? Если вам нечего ответить на конкретный вопрос и сказать как конкретно вы используете этот макрос, зачем нужно влезать?

Сергей0308
13.08.2019, 18:52
Опять 25. Вы читаете, что пишут люди, или просто набиваете счетчик сообщений бессмысленными постами? Я ведь написал, что из описания макроса не совсем понятно, в каких единицах измеряются коэффициенты и нужен ли им множитель. В описании пропорциональный коэффициент измеряется в секундах, что довольно странно, так же при записи коэффициентов в блок, нужен ли множитель для все параметров? Если вам нечего ответить на конкретный вопрос и сказать как конкретно вы используете этот макрос, зачем нужно влезать?

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

to0freak
13.08.2019, 19:02
Параметры ПИД - это вещественные числа, все три P I D, якобы в секундах. Максимальное значение вещественного числа 10^38. Всё это я вычитал из справки. В частотниках данфосс параметр P может быть 0..9999, в макрос ПИД -10^38..10^38, я задал конкретный вопрос о применении данного макроса в процессе регулирования частоты насоса для поддержания давления. Кто какие значения параметров применяет и нужно ли все эти значения умножать на тысячу в случае ввода их с экрана через write to fb. Вам есть что ответить на этот вопрос?
И опять же я писал о том, что при применении на объекте не совсем понятно как настроить макрос, так что программу я наверное всё-таки нарисовал.

Сергей0308
13.08.2019, 19:13
Параметры ПИД - это вещественные числа, все три P I D, якобы в секундах. Максимальное значение вещественного числа 10^38. Всё это я вычитал из справки. В частотниках данфосс параметр P может быть 0..9999, в макрос ПИД -10^38..10^38, я задал конкретный вопрос о применении данного макроса в процессе регулирования частоты насоса для поддержания давления. Кто какие значения параметров применяет и нужно ли все эти значения умножать на тысячу в случае ввода их с экрана через write to fb. Вам есть что ответить на этот вопрос?
И опять же я писал о том, что при применении на объекте не совсем понятно как настроить макрос, так что программу я наверное всё-таки нарисовал.

И что, Вы не видите разницы между миллисекундами и секундами и целочисленным значением и значением с плавающей запятой, короче, устал вам простые истины объяснять и умножать там ничего не нужно, умножают, когда вводится в миллисекундах через блок записи в ФБ, чтобы в секунды перевести в таймерах и значения там целочисленные!

to0freak
13.08.2019, 19:25
И что, Вы не видите разницы между миллисекундами и секундами и целочисленным значением и значением с плавающей запятой, короче, устал вам простые истины объяснять и умножать там ничего не нужно, умножают, когда вводится в миллисекундах, чтобы в секунды перевести в таймерах и значения там целочисленные!
Пока вы ничего и не объясняли, вы макрос применяли для поддержания давления? Вот ведь конкретный вопрос задал, а всё на месте топчемся.

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

игорь68
14.08.2019, 09:26
Вы понимаете что у всех разные насосы. Разные трубы. Разное давление. И данные от одного не подойдут к другому.

Ревака Юрий
14.08.2019, 10:35
Пока вы ничего и не объясняли, вы макрос применяли для поддержания давления? Вот ведь конкретный вопрос задал, а всё на месте топчемся.

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

Добрый день. Советую использовать макрос ПИД из менеджера компонентов, так как встроенный в OL имеет баги, которые пока не устранены. Для ПИД из "Менеджера компонентов" группа "Регуляторы" есть pdf файл описания его работы. Искать коэффициенты на форуме для своего объекта это тупиковый путь. Даже на объекте их не сразу удается подобрать, для этого и делается возможность регулировки и подбора по месту.

to0freak
14.08.2019, 11:12
Добрый день. Советую использовать макрос ПИД из менеджера компонентов, так как встроенный в OL имеет баги, которые пока не устранены. Для ПИД из "Менеджера компонентов" группа "Регуляторы" есть pdf файл описания его работы. Искать коэффициенты на форуме для своего объекта это тупиковый путь. Даже на объекте их не сразу удается подобрать, для этого и делается возможность регулировки и подбора по месту.

Спасибо за ответ, я, разумеется, не жду коэффициентов, которые подойдут мне сразу, вопрос скорее в порядке этих значений. Пропорциональный коэффициент скорее будет равен 2 или 20 или 200000. На счёт макроса понял, спасибо.

VVPBihkul
19.08.2019, 15:23
Здравствуйте. Два вопроса к "аксакалам" ПР200.
1. Установил макрос для PT100 (три провода) , все работает, показания достаточно точные....но есть "дребезжание" показания температуры. В чем причина?
44172
2. Есть в природе такой макрос - "Реле Тока" ? (с регулировкой отсечки по току и временной задержкой срабатывания). Сталкивался кто нибудь с этим или же как сложно его написать? Благодарен за любой ответ!!

Сергей0308
19.08.2019, 16:02
Здравствуйте. Два вопроса к "аксакалам" ПР200.
1. Установил макрос для PT100 (три провода) , все работает, показания достаточно точные....но есть "дребезжание" показания температуры. В чем причина?
44172
2. Есть в природе такой макрос? - Реле Тока (с регулировкой отсечки по току и временной задержкой срабатывания). Сталкивался кто нибудь с этим или же как сложно его написать? Благодарен за любой ответ!!

Есть нормирующие преобразователи: https://owen.ru/product/npt , позволяющие иметь весь спектр датчиков температуры с компенсацией сопротивления проводов! Подключать непосредственно, тем более по 2-х проводной схеме(без компенсации сопротивления проводов) - это наихудший вариант из всех возможных!
Чтобы показания сильно не скакали туда-сюда можно увеличить постоянную времени фильтра для соответствующего входа. Я бы начал пробовать с 10-15 секунд, так как процесс достаточно инерционный!
Теперь по 2 пункту: есть зависимость времени срабатывания от кратности тока перегрузки, строите похожую зависимость по 10 точкам, есть такой макрос в менеджере компонентов и результаты подаёте на таймер задержки выключения электрической машины(аппарата)!

44173

В какой то из тем уже обсуждал этот вопрос более подробно!

Ревака Юрий
19.08.2019, 16:11
Здравствуйте. Два вопроса к "аксакалам" ПР200.
1. Установил макрос для PT100 (три провода) , все работает, показания достаточно точные....но есть "дребезжание" показания температуры. В чем причина?
44172
2. Есть в природе такой макрос - "Реле Тока" ? (с регулировкой отсечки по току и временной задержкой срабатывания). Сталкивался кто нибудь с этим или же как сложно его написать? Благодарен за любой ответ!!

1. Время фильтра на аналоговом входе обычно достаточно 0.5 -1 сек.
2. Макрос PLA из "Менеджера компонентов" должен помочь, но МТЗ при этом получится сделать только с большими выдержками, с отсечками не получится работать.

VVPBihkul
19.08.2019, 17:35
Сергей0308 , Юрий - спасибо.....число температуры встало на место, все замечательно.
А вот по макросу Токового реле пообщался бы с большой радостью и благодарностью на платной основе......прошу откликнуться.

Сергей0308
19.08.2019, 19:20
Сергей0308 , Юрий - спасибо.....число температуры встало на место, все замечательно.
А вот по макросу Токового реле пообщался бы с большой радостью и благодарностью на платной основе......прошу откликнуться.

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

44176

44177

VVPBihkul
20.08.2019, 13:26
Если Вам просто надо максимальное значение тока и время срабатывания, как Вы пишите, например для селективности, то никаких макросов в принципе не нужно, я так это вижу:

44176

44177

Сергей, спасибо за мысль.......буду изучать

Сергей0308
21.08.2019, 04:32
Сергей, спасибо за мысль.......буду изучать

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

VVPBihkul
30.08.2019, 18:25
Я что здесь изучать, что Вы хотите сделать? При достижении уставки тока начинается отсчёт уставки времени задержки срабатывания? Наверно возможно написать что Вы хотите, если на словах затрудняетесь, то это ещё лучше, можно в виде диаграммы состояний входных-выходных сигналов, так будет намного лучше и понятней!

Сергей, во первых прошу извинить за долгий ответ на ваш ответ, а в продолжение темы разговора - Да вы правильно трактуете мысль по принципу работы этого реле тока (макроса).......При достижении уставки по току, начинается отсчет уставки времени задержки срабатывания. Это реле выполняет принцип защиты двигателя от заклинивания( в моем случае) и включении реверса на определенное время. Прошу помочь. Крайне нуждаюсь.

игорь68
30.08.2019, 20:20
Сергей, во первых прошу извинить за долгий ответ на ваш ответ, а в продолжение темы разговора - Да вы правильно трактуете мысль по принципу работы этого реле тока (макроса).......При достижении уставки по току, начинается отсчет уставки времени задержки срабатывания. Это реле выполняет принцип защиты двигателя от заклинивания( в моем случае) и включении реверса на определенное время. Прошу помочь. Крайне нуждаюсь.

А у Вас много запасных двигателей? Вы вообще в курсе что реверс двигателя можно делать через 3-4 секунды после выключения.Иначе вы спалите движок пусковыми токам. В догонку если движок заклинил то выключи и раздирайся. Раньше стояли полумуфты на пальцах. Там можно было не переживать. Максимум что с движком было так это пальцы срезало. Ох что то страшное вы там делаете.

Сергей0308
30.08.2019, 21:16
Сергей, во первых прошу извинить за долгий ответ на ваш ответ, а в продолжение темы разговора - Да вы правильно трактуете мысль по принципу работы этого реле тока (макроса).......При достижении уставки по току, начинается отсчет уставки времени задержки срабатывания. Это реле выполняет принцип защиты двигателя от заклинивания( в моем случае) и включении реверса на определенное время. Прошу помочь. Крайне нуждаюсь.

И что Вам надо добавить? Время обратного вращения двигателя?

VVPBihkul
30.08.2019, 21:59
И что Вам надо добавить? Время обратного вращения двигателя?

Да, верно. Время обратного вращения обязательно. Я сейчас отправлю вам ссылку на готовый прибор (реле тока). Я с ним работаю уже в течении 3 лет. Замечательная вещь. И если бы этот алгоритм работы и функционал внедрить в ПР200....!
https://docviewer.yandex.kz/?lang=ru&tm=1567191928&tld=kz&name=1751056ecbace0966da0493397bb8876.pdf&text=%D1%80%D1%83%D0%B1%D0%B5%D0%B6+%D1%80%D0%BA%D 1%82+16+100&url=http%3A//www.elektrooborudovanie.dp.ua/manual/1751056ecbace0966da0493397bb8876.pdf&lr=163&mime=pdf&l10n=ru&sign=6c1edd58d2832d07d22642cedb062a16&keyno=0

VVPBihkul
30.08.2019, 22:03
А у Вас много запасных двигателей? Вы вообще в курсе что реверс двигателя можно делать через 3-4 секунды после выключения.Иначе вы спалите движок пусковыми токам. В догонку если движок заклинил то выключи и раздирайся. Раньше стояли полумуфты на пальцах. Там можно было не переживать. Максимум что с движком было так это пальцы срезало. Ох что то страшное вы там делаете.

Нет,не страшное....полезное. Про задержки я в курсе. Этот проект был на Ардуино......и роль Реле тока выполнял Рубеж РКТ -16/100.

Сергей0308
30.08.2019, 22:24
Да, верно. Время обратного вращения обязательно. Я сейчас отправлю вам ссылку на готовый прибор (реле тока). Я с ним работаю уже в течении 3 лет. Замечательная вещь. И если бы этот алгоритм работы и функционал внедрить в ПР200....!
https://docviewer.yandex.kz/?lang=ru&tm=1567191928&tld=kz&name=1751056ecbace0966da0493397bb8876.pdf&text=%D1%80%D1%83%D0%B1%D0%B5%D0%B6+%D1%80%D0%BA%D 1%82+16+100&url=http%3A//www.elektrooborudovanie.dp.ua/manual/1751056ecbace0966da0493397bb8876.pdf&lr=163&mime=pdf&l10n=ru&sign=6c1edd58d2832d07d22642cedb062a16&keyno=0

Вот добавил помимо времени работы реверса, время задержки включения реверса и время задержки повторного включения после работы реверса, мне кажется все возможные задержки есть, если что забыл, скажите, не таите в себе:

44385

44386

VVPBihkul
30.08.2019, 22:34
Вот добавил помимо времени работы реверса, время задержки включения реверса и время задержки повторного включения после работы реверса, мне кажется все возможные задержки есть, если что забыл, скажите, не таите в себе:

44385

44386

Сергей спасибо....Рахмет...завтра с утра соберу в железо и протестирую....:D....без утайки. Спасибо ....

petera
30.08.2019, 22:35
Сергей, во первых прошу извинить за долгий ответ на ваш ответ, а в продолжение темы разговора - Да вы правильно трактуете мысль по принципу работы этого реле тока (макроса).......При достижении уставки по току, начинается отсчет уставки времени задержки срабатывания. Это реле выполняет принцип защиты двигателя от заклинивания( в моем случае) и включении реверса на определенное время. Прошу помочь. Крайне нуждаюсь.

Пару лет назад делал похожее для шнекового пресса
44387
При повышении тока до уставки и выше через 3сек(TON1) двигатель выключается, через 5сек(TON1) включается реверс на 3сек(TON2), затем через 5с(TON4) делается очередная попытка прямого включения двигателя, всего попыток - 3. Если число попыток >3, работа двигателя запрещается, включается сигнал Аварии(Перегрузка)

44389

Сергей0308
30.08.2019, 22:39
Да, верно. Время обратного вращения обязательно. Я сейчас отправлю вам ссылку на готовый прибор (реле тока). Я с ним работаю уже в течении 3 лет. Замечательная вещь. И если бы этот алгоритм работы и функционал внедрить в ПР200....!
https://docviewer.yandex.kz/?lang=ru&tm=1567191928&tld=kz&name=1751056ecbace0966da0493397bb8876.pdf&text=%D1%80%D1%83%D0%B1%D0%B5%D0%B6+%D1%80%D0%BA%D 1%82+16+100&url=http%3A//www.elektrooborudovanie.dp.ua/manual/1751056ecbace0966da0493397bb8876.pdf&lr=163&mime=pdf&l10n=ru&sign=6c1edd58d2832d07d22642cedb062a16&keyno=0

Посмотрел ваше реле, останется к ПР200 добавить нечто подобное этому:

44388

Существуют до 100А и до 200А, выбирайте, какой лучше подходит, можно и до 5А найти и в менеджере компонентов есть макрос гистерезиса(мне кажется быстрей самому сделать, чем искать), надеюсь сообразите как поставить, тогда добавится ещё одна настройка "гистерезис", мне кажется проще просто задавать верхний и нижний предел!
И, мне кажется, получится гораздо лучше чем было в смысле гибкости и приспособляемости куда либо!

Вот добавил гистерезис по току включения реверса и отдельную кнопку для реверса, всегда можно нажать и вручную подать команду реверса или(когда работает реверс) кнопку придержать для увеличения времени работы в реверсном режиме:

44391

44392

VVPBihkul
31.08.2019, 08:03
Прошу прощения у администраторов, не по теме пишу, но хочется высказаться……Вот уже шестой десяток мне идет, а в душе как у ребенка 14 лет. Помню мечта была по мопеду в детстве…..пошел на работу летом к отцу в организацию….цемент разгружали, столбики ошкуривали… «весело» было….в конце концов, отец добавил денег и я пошел в магазин…..а там как раз поступление и Рига и Верховина…Д6 давно стоял. Я чуть не обписался от восторга и ступара в выборе…..к чему это я. Занимаясь отоплением, требовалась автоматизация процессов, полез в среду Ардуинщиков….смех, амбиций полный зад, мало что по существу…..машину продал, спустил в эту сферу….в итоге ни чего стоящего.
Сегодня зайдя на форум, вспомнил ощущения детства (в магазине)….ответы специалистов на просьбу помочь решить вопрос….конструктивно, по делу, без амбиций к дилетанту.
Многое хочется написать и поделиться впечатлением общения на этом форуме….но боюсь меня выгонят от сюда……Спасибо …Отдельное спасибо Сергею0308 и Petera.

VVPBihkul
31.08.2019, 08:13
Посмотрел ваше реле, останется к ПР200 добавить нечто подобное этому:

44388

Существуют до 100А и до 200А, выбирайте, какой лучше подходит, можно и до 5А найти и в менеджере компонентов есть макрос гистерезиса(мне кажется быстрей самому сделать, чем искать), надеюсь сообразите как поставить, тогда добавится ещё одна настройка "гистерезис", мне кажется проще просто задавать верхний и нижний предел!
И, мне кажется, получится гораздо лучше чем было в смысле гибкости и приспособляемости куда либо!

Вот добавил гистерезис по току включения реверса и отдельную кнопку для реверса, всегда можно нажать и вручную подать команду реверса или(когда работает реверс) кнопку придержать для увеличения времени работы в реверсном режиме:

44391

44392

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

VVPBihkul
31.08.2019, 08:19
Пару лет назад делал похожее для шнекового пресса
44387
При повышении тока до уставки и выше через 3сек(TON1) двигатель выключается, через 5сек(TON1) включается реверс на 3сек(TON2), затем через 5с(TON4) делается очередная попытка прямого включения двигателя, всего попыток - 3. Если число попыток >3, работа двигателя запрещается, включается сигнал Аварии(Перегрузка)

44389

Спасибо, да именно это и искал....

Сергей0308
31.08.2019, 08:27
Сергей, вы меня опередили...в принципе готовый ответ на мой этот вопрос....на входе отображается формула вместо числа.....я так понял из за того что катушка пустая.......но у меня есть готовая катушка с платой внутри...там и кондер и резистор, я так понимаю с него и будет уже целочисленное значение....ну и подстройка константой (прошу извинить...может не так сказал)44393

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

VVPBihkul
31.08.2019, 15:39
Вы определитесь чего Вы хотите, если Вы хотите экспериментировать - экспериментируйте, если захотите сделать - можно воспользоваться советом по выбору датчика тока!

Сергей, я определен как никогда.....ответил не рассмотрев фотографию....."даташит" на датчиках вижу и понял. Программа в симуляторе работает ...отлично.

VVPBihkul
31.08.2019, 16:17
Вы определитесь чего Вы хотите, если Вы хотите экспериментировать - экспериментируйте, если захотите сделать - можно воспользоваться советом по выбору датчика тока!

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

Ревака Юрий
31.08.2019, 21:08
Сергей, еще вопрос меня интересует, на форуме читаю пока не встретил - по таймеру обратного отсчета (по уставке) с прерыванием и восстановлением отсчета до нуля от места остановки. В этой теме форума можно обсудить ? И вообще возможно ли это сделать на пр200, так как мне сообщили что на ПРке это не возможно....

Макрос обратного отсчета есть в базе, не очень понял Вашу мысль, но думаю его можно приспособить под требуемый алгоритм. TIMER_U/D сморите.

VVPBihkul
31.08.2019, 22:01
Макрос обратного отсчета есть в базе, не очень понял Вашу мысль, но думаю его можно приспособить под требуемый алгоритм. TIMER_U/D сморите.

Понял, спасибо за подсказку.....покавыряю.
А алгоритм - следующий. Шнековая подача топлива. Уставкой определяется время между подачами топлива в виде обратного отсчета. В любой момент времени достигается заданная температура носителя (вода) и отсчет времени останавливается , температура по заданному гистерезису опускается до заданной величины и обратный отсчет продолжается с места остановки до нуля и включается подача топлива. Это нужно для полного сгорания топлива на колоснике. Данный алгоритм собран и успешно работает уже три года на Ардуино....но хочется уйти на ПРку.

Сергей0308
31.08.2019, 22:09
Сергей, еще вопрос меня интересует, на форуме читаю пока не встретил - по таймеру обратного отсчета (по уставке) с прерыванием и восстановлением отсчета до нуля от места остановки. В этой теме форума можно обсудить ? И вообще возможно ли это сделать на пр200, так как мне сообщили что на ПРке это не возможно....

Насколько понял, Вы хотите таймер обратного отсчёта с паузой?! Здесь посмотрите, может это подойдёт в посте #159: https://owen.ru/forum/showthread.php?t=22361&page=16
Или здесь в посте #20: https://owen.ru/forum/showthread.php?t=31346&page=2

VVPBihkul
31.08.2019, 22:28
Насколько понял, Вы хотите таймер обратного отсчёта с паузой?! Здесь посмотрите, может это подойдёт в посте #159: https://owen.ru/forum/showthread.php?t=22361&page=16
Или здесь в посте #20: https://owen.ru/forum/showthread.php?t=31346&page=2

Кажется что это то что мне нужно......не программист ....долго перевариваю.....но "чем то" чувствую......Рахмет!!!

игорь68
31.08.2019, 22:37
А интересно над чем вы трудитесь. Из ваших постов я как понял вы модернизируете подачу топлива в печь. Ну я сталкивался с шнековыми транспортерами. Там собиралась схема защиты по току.Но это было лет так 20 назад.

Сергей0308
31.08.2019, 22:58
Кажется что это то что мне нужно......не программист ....долго перевариваю.....но "чем то" чувствую......Рахмет!!!

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

44405

Как плюс, будет индикация(отображение) обратного отсчёта времени между подачами топлива на экране ПР, можно вывести куда-нибудь для контроля, например с помощью СМИ2 и не только время но и другие параметры, ошибки, аварии, даже можно с помощью бегущей строки!

VVPBihkul
01.09.2019, 07:29
Там всякие найдутся и для маленьких интервалов времени и относительно больших! Для таймеров с относительно большими интервалами уставок я применяю тактовые секундные импульсы от часов реального времени, точнее от значения секунд и время отсчитается точно, но возможна задержка до одной секунды, для Вас, насколько понял, это не критично, короче мне кажется такой подойдёт как родной!
Мне кажется, вот этот должен подойти:

44405

Как плюс, будет индикация(отображение) обратного отсчёта времени между подачами топлива на экране ПР, можно вывести куда-нибудь для контроля, например с помощью СМИ2 и не только время но и другие параметры, ошибки, аварии, даже можно с помощью бегущей строки!

Сергей, я вам написал в личку.

VVPBihkul
01.09.2019, 07:38
А интересно над чем вы трудитесь. Из ваших постов я как понял вы модернизируете подачу топлива в печь. Ну я сталкивался с шнековыми транспортерами. Там собиралась схема защиты по току.Но это было лет так 20 назад.

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

capzap
01.09.2019, 07:54
Над контроллером горелки. Уже третий год использую такой агрегат, сам собрал. Скажу, крайне доволен, да и у соседей стоит....счастливы. Один момент.....управление на ардуино....зависания, и тому подобное крайне надоело.....а тут меня надоумили посмотреть на Овена......и вот не сплю уже месяц.....

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

Алексеев
01.09.2019, 08:10
Над контроллером горелки. Уже третий год использую такой агрегат, сам собрал. Скажу, крайне доволен, да и у соседей стоит....счастливы. Один момент.....управление на ардуино....зависания, и тому подобное крайне надоело.....а тут меня надоумили посмотреть на Овена......и вот не сплю уже месяц.....

Как может быть довольным если идет зависание ? Если идет зависание то и контроль по безопасности перестает функционировать
и не только управление . Сам занимаюсь горелками и поэтому не понимаю Вас. А как же сертификация ??
Горелки не шутка котлы при отсутствии безопасности могут и взорваться . Если для себя то на свой страх и риск .
Если для людей это ответственность .

VVPBihkul
01.09.2019, 09:01
Как может быть довольным если идет зависание ? Если идет зависание то и контроль по безопасности перестает функционировать
и не только управление . Сам занимаюсь горелками и поэтому не понимаю Вас. А как же сертификация ??
Горелки не шутка котлы при отсутствии безопасности могут и взорваться . Если для себя то на свой страх и риск .
Если для людей это ответственность .

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

VVPBihkul
01.09.2019, 09:12
искренне недоумеваю, Вы там на ардунио, что циклы используете или какие то массивы чтоб время отсчитать? Перепишите свой код для ОЛ и делов то, зачем искать из чего собрать свою задачу если есть готовое решение которое устраивает, покрайней мере Вы так об этом говорите

Правильно недоумеваете, понимаю вас.....просто я закончил в свое время только музыкальное училище......вот и весь ответ.

capzap
01.09.2019, 09:20
Правильно недоумеваете, понимаю вас.....просто я закончил в свое время только музыкальное училище......вот и весь ответ.

так может в таком случае просто выложите свой скетч и Вам помогут его перевести в ОЛ за Вас, чем второй день все гадают что же вам на самом деле нужно

VVPBihkul
01.09.2019, 09:36
так может в таком случае просто выложите свой скетч и Вам помогут его перевести в ОЛ за Вас, чем второй день все гадают что же вам на самом деле нужно

:) уже. Так и поступил.

Filini
08.09.2019, 11:33
Добрый день. Народ, существует макрос недельный, а годовой кто нибудь делал? Задача такая - включать и выключать свет каждый день в разное время в течении года, как реализовать?

Сергей0308
08.09.2019, 11:41
Добрый день. Народ, существует макрос недельный, а годовой кто нибудь делал? Задача такая - включать и выключать свет каждый день в разное время в течении года, как реализовать?

Может лучше фотореле поставить, сейчас стоят недорого. У нас одно стоит много лет и работает идеально и колготиться не надо!
Если хотите для каждого дня иметь произвольное время включения-выключения, совсем недавно выкладывал макрос ПЗУ на 256 ячеек(по 32 бита), устанете 730 значений вводить!
Здесь можно найти в посте #26: https://owen.ru/forum/showthread.php?t=31501&page=3

petera
08.09.2019, 15:48
Добрый день. Народ, существует макрос недельный, а годовой кто нибудь делал? Задача такая - включать и выключать свет каждый день в разное время в течении года, как реализовать?

Самый правильный способ - макрос SUN_TIME https://owen.ru/forum/showthread.php?t=9398&p=296624&viewfull=1#post296624

44520

44521

Если надо, чтобы освещение включалось чуть позже, а выключалось чуть раньше табличного(из справочника) времени захода и восхода солнца - подобрать значение переменной "Коррекция" <=0.

Filini
28.09.2019, 20:14
Фото реле проще, но глючит и зависит от многого...)))

Filini
28.09.2019, 20:16
Спасибо за материал, очень интересно, разбираюсь!))

Сергей0308
28.09.2019, 20:22
Интересно, а датчики освещённости существуют, например с аналоговым выходом, чтобы в программе ПР можно было назначать уровень освещённости и с гистерезисом(по освещённости) включать-выключать? Никогда ни у кого не видел, может кто применял нечто подобное?

Ревака Юрий
28.09.2019, 21:18
Интересно, а датчики освещённости существуют, например с аналоговым выходом, чтобы в программе ПР можно было назначать уровень освещённости и с гистерезисом(по освещённости) включать-выключать? Никогда ни у кого не видел, может кто применял нечто подобное?

Фоторезистор решит все проблемы.

Сергей0308
28.09.2019, 21:40
Фоторезистор решит все проблемы.

Я имел ввиду готовые, с универсальным аналоговым выходом(или RS485) и сигналом пропорциональным указанной освещённости! Чтобы в программе освещённость была в люксах, а не экспериментами заниматься!
Вот нашёл:

44845

http://texnoskb.ru/catalog/kontrollery_i_datchiki/datchik_tak/datchik_osveshchennosti_tak_1/

Странно, в продаже есть, а никто не применяет!

Ревака Юрий
28.09.2019, 22:04
Я имел ввиду готовые, с универсальным аналоговым выходом(или RS485) и сигналом пропорциональным указанной освещённости! Чтобы в программе освещённость была в люксах, а не экспериментами заниматься!

Ну может и есть, но подозреваю, что ценник будет космос, а так резистор три копейки, настройка еще 5 минут.

rovki
28.09.2019, 22:13
А на смартфоне все это добро есть и прямо в люксах ;) и не только это ...

melky
28.09.2019, 23:29
На смартфоне Филькина грамота, а не люксы... нашли чем мерить...

rovki
29.09.2019, 06:43
Как то так. Может у вас и ссылка есть на то что так дела плохи

melky
29.09.2019, 17:45
достаточно поверить на столе несколько раз, чтобы увидеть, что показометры меняются слишком сильно на одном и том же источнике света. Баловство это в смартфонах, не более того.

petera
29.09.2019, 18:01
Интересный макрос, но когда вбил координаты Сургута (+2МСК), он продолжил работать по МОСКОВСКОМУ времени))))
(+2МСК) - это часовой пояс, на схеме это Зона, она задается относительно Гринвича, а не Москвы т.е. Зона = 5
А координаты -это Широта и Долгота Сургута, их нужно задавать здесь
44853

Координаты, например, здесь https://planetcalc.ru/300/

Сравниваем
44854

и вычисленные макросом
44855

Небольшая коррекция =-2.25 дает практически точный результат
44856

Filini
29.09.2019, 18:16
Спасибо! Координаты вбивал, а вот зону упустил!))))

Filini
29.09.2019, 18:18
Спасибо, корректировка помогла решить проблему

atg_owen
01.10.2019, 08:32
Здравствуйте.

В онлайн базе макросов (менеджер компонентов) есть макрос Heat_E_ . В его описании указано, что
"Если температура приточного воздуха (ia_Tas) поднимается выше максимально допустимого значения (ua_Tas_Av) или срабатывает защитный термостат (ib_Termostat=0), то фиксируется неисправность нагревателя (ob_AvHeat=1), нагреватель выключается (oa_Pwr=0), флаг работы сбрасывается с задержкой (ut_Cool(s))."
Это ошибка, при аварии (ob_AvHeat=1) флаги работы и мощности не сбрасываются. (хотя наверно всё таки должны)
Также следует принять ко вниманию режим работы mode=0. В описании не указано, что в этом режиме не работает каскадное регулирование, а также при выключении нагревателя сброс выхода lv_IsHeat происходит сразу (без задержки на охлаждение ut_Cool)


Еще в описании макроса Heat_W_ есть опечатка. В тексте

"При появлении команды на запуск (cmd_Start=1) клапан открывается полностью для прогрева водяного нагревателя. Если температура обратной воды > уставки с учетом отклонения (ia_Trw > ua_Trw_Graff + ua_Trw_Delt), то спустя заданное время (ut_Heat_Off(s)) выставляется флаг окончания прогрева (lv_IsHeat=1),"

вместо ut_Heat_Off(s), следует написать ut_Heat_On(s)

atg_owen
04.10.2019, 13:38
Здравствуйте.

Снова по макросу Heat_W_ из онлайн базы.

44987

Не могу понять как может произойти сброс флага прогрева lv_isHeat при любой аварии?
По описанию и всей остальной логике должен.

Ревака Юрий
04.10.2019, 13:53
Здравствуйте.

Снова по макросу Heat_W_ из онлайн базы.

44987

Не могу понять как может произойти сброс флага прогрева lv_isHeat при любой аварии?
По описанию и всей остальной логике должен.

Добрый день. Я переслал Ваши вопросы разработчику макроса, он обещал посмотреть, но чуть позже, сейчас он в отпуске, если самостоятельно не разберетесь, после 14 октября напомните, пожалуйста.

Dima444
14.10.2019, 16:58
Добрый вечер! не могу найти макрос fSel7_, кому не лень дайте ссылку на архив. Спасибо!

petera
14.10.2019, 17:55
Добрый вечер! не могу найти макрос fSel7_, кому не лень дайте ссылку на архив. Спасибо!

В онлайн базе есть, в разделе Аналоговые преобразования
45110

Сергей0308
14.10.2019, 18:33
Добрый вечер! не могу найти макрос fSel7_, кому не лень дайте ссылку на архив. Спасибо!

https://www.youtube.com/watch?v=Uo2dRamXbqI

Dima444
14.10.2019, 19:44
Ребята спасибо!

Сергей0308
14.10.2019, 20:32
Вот, если надо более 7 входов, мой макрос аналоговых мультиплексоров(целочисленного и с плавающей запятой) на 16 входов с возможностью расширения, настройки в свойствах макроса, кстати, "Овенцы" тоже молодцы, по моему примеру добавили себе такие же настройки, раньше у них не было, короче макросы в проекте:

45114

atg_owen
18.10.2019, 13:46
Добрый день. Я переслал Ваши вопросы разработчику макроса, он обещал посмотреть, но чуть позже, сейчас он в отпуске, если самостоятельно не разберетесь, после 14 октября напомните, пожалуйста.

Здравствуйте.
Подскажите есть ответ по моим вопросам?

Также есть замечание по работе макроса bm_in_ из онлайн-базы.
Снова, по описанию и по предполагаемой логике работы нумерация битов идет с нуля (Shift=0 DI_1-> бит 0, DI_8-> бит 7).
Но! внутри макроса преобразование начинается с бита 1 (хотя PUTBIT тоже нумерует с 0). В итоге если на DI_1 подать 1, то на выходе будет 2, и т.д.

45210

Ревака Юрий
18.10.2019, 14:02
Здравствуйте.
Подскажите есть ответ по моим вопросам?

Также есть замечание по работе макроса bm_in_ из онлайн-базы.
Снова, по описанию и по предполагаемой логике работы нумерация битов идет с нуля (Shift=0 DI_1-> бит 0, DI_8-> бит 7).
Но! внутри макроса преобразование начинается с бита 1 (хотя PUTBIT тоже нумерует с 0). В итоге если на DI_1 подать 1, то на выходе будет 2, и т.д.

45210

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

bayk
19.10.2019, 15:49
кстати, вам не кажется, что пора структуру базы тоже привести в порядок, а то многие элементы лежат абы где. может и количество категорий расширить

_neo_19
20.10.2019, 13:32
Здравствуйте Ревака Юрий, решил использовать ваш макрос "Отчет Времени Time U/D", а он оказался не рабочим. так как я только начинающий не могли бы вы мне с этим помочь. макрос хороший как раз то что мне надо но я не чего не понимаю почему не работает

Ревака Юрий
20.10.2019, 13:43
Здравствуйте Ревака Юрий, решил использовать ваш макрос "Отчет Времени Time U/D", а он оказался не рабочим. так как я только начинающий не могли бы вы мне с этим помочь. макрос хороший как раз то что мне надо но я не чего не понимаю почему не работает

В какой версии OL работаете? Посмотрите в этой теме выложил видео https://owen.ru/forum/showthread.php?t=31994&p=316784&viewfull=1#post316784, с примером, если у Вас версия 1.14-1.15 проверьте внутри макроса наличие обратной связи.

_neo_19
20.10.2019, 14:02
1.15, обрыв связи с компонентом set_Float1 нажимаю открывается этот макрос "set_Float1" вроде все нормально закрываю пишет обнаружены циклические связи или блоки . а что это для меня не чего не дают .

Ревака Юрий
20.10.2019, 14:05
1.15, обрыв связи с компонентом set_Float1 нажимаю открывается этот макрос "set_Float1" вроде все нормально закрываю пишет обнаружены циклические связи или блоки .

циклические связи можно заменить на линию задержки, но это не критично, главное связь восстановить, можно так-же set_Float взять из базы OL, в виде готового блока.

_neo_19
20.10.2019, 14:31
связи восстановил как на видео , проверяю работает. вставляю в проект как в инструкции пример и не чего не работает. и не могу понять почему45240

_neo_19
20.10.2019, 15:09
Сори за мою тупасть , все во всем разобрался .

Matumba
21.10.2019, 10:33
В базе макросов в аналоговых преобразователях есть "Преобразователь сопротивления в температуру для терморезисторов NTC", в описании пример с 10кОм терморезистором. Вопрос, а как настроить аналоговый вход на ПР200, чтобы он с таким терморезистором работал? Диапазон сопротивления можно задать только от 0 до 4000 Ом.

Ревака Юрий
21.10.2019, 10:49
В базе макросов в аналоговых преобразователях есть "Преобразователь сопротивления в температуру для терморезисторов NTC", в описании пример с 10кОм терморезистором. Вопрос, а как настроить аналоговый вход на ПР200, чтобы он с таким терморезистором работал? Диапазон сопротивления можно задать только от 0 до 4000 Ом.


https://youtu.be/pB37ALpPYnE

bayk
27.10.2019, 21:49
Доброго дня! Начал разбираться с пид регулятором и обнаружил, что в макросе пид в онлайн базе в описании указано, что период пид задаётся внутри макроса, при этом макрос запаролен. Как быть?

petera
27.10.2019, 22:03
Доброго дня! Начал разбираться с пид регулятором и обнаружил, что в макросе пид в онлайн базе в описании указано, что период пид задаётся внутри макроса, при этом макрос запаролен. Как быть?

Мы про этот макрос говорим?
45323

В описании сказано "В свойствах макроса можно задать время дискретизации в миллисекундах"

ЗЫ.
Если нужен без пароля, то вот он

bayk
27.10.2019, 22:44
Офигеееть!!!! А как так вообще можно сделать??? Я туда даже. И не смотрел и не знал, что туда можно что-то вынести! А это какой-то фокус? А в обычных макросах так сделать нельзя?
Спасибо за макрос без пароля. Мне очень интересно посмотреть, как это реализовано на fbd. Поскольку такие сложные вещи я даже близко не в состоянии самостоятельно написать!

Ревака Юрий
27.10.2019, 22:56
Офигеееть!!!! А как так вообще можно сделать??? Я туда даже. И не смотрел и не знал, что туда можно что-то вынести! А это какой-то фокус? А в обычных макросах так сделать нельзя?
Спасибо за макрос без пароля. Мне очень интересно посмотреть, как это реализовано на fbd. Поскольку такие сложные вещи я даже близко не в состоянии самостоятельно написать!

Это и есть самый обычный макрос, пароль был изначально для того, что бы не сломать что-то внутри.

petera
27.10.2019, 23:05
Офигеееть!!!! А как так вообще можно сделать??? Я туда даже. И не смотрел и не знал, что туда можно что-то вынести! А это какой-то фокус? А в обычных макросах так сделать нельзя?
Спасибо за макрос без пароля. Мне очень интересно посмотреть, как это реализовано на fbd. Поскольку такие сложные вещи я даже близко не в состоянии самостоятельно написать!
Любые константы в макросе можно сделать его свойствами
https://owen.ru/forum/attachment.php?attachmentid=45325&d=1572207174

bayk
28.10.2019, 16:13
petera большое спасибо за обучайщее видео! а я и не знал! спасибо большое!

Ревака Юрий а нет незапароленного макроса regKZR, только не того, который сейчас в базе, а старого?
или может есть какая-то другая правильная версия этого макроса, а то, как мне кажется просто определяет знак пида и просто активирует соответствующий выход больше или меньше, что некорректно.

Ревака Юрий
28.10.2019, 18:03
petera большое спасибо за обучайщее видео! а я и не знал! спасибо большое!

Ревака Юрий а нет незапароленного макроса regKZR, только не того, который сейчас в базе, а старого?
или может есть какая-то другая правильная версия этого макроса, а то, как мне кажется просто определяет знак пида и просто активирует соответствующий выход больше или меньше, что некорректно.

Могу поискать и выгрузить без пароля, как с макросом ПИД, но с последней актуальной версией.

bayk
28.10.2019, 18:33
хорошо! жду.
UPD! подскажите, может быть я чего-то не понимаю. но почему в макросе PID_ интегральный компонент работает шиворот на выворот? при увеличении коэффициента ti происходит уменьшение шага накопления? вроде бы в классической формуле должно быть наоборот? или я не прав?

Ревака Юрий
29.10.2019, 13:20
Прикрепил макрос без пароля в архиве.

bayk
29.10.2019, 15:06
спасибо! я посмотрел, как этот макрос внутри работает, но все равно немного не понял идею. я
понимаю, что вычисляется направление изменения сигнала пид в процентах и это приращение переводится в проценты (условно) поворота привода, пересчитанные в секунды воздействия.
по сути этот макрос пытается превратить дискретный привод в привод с аналоговым (условно) управлением. тогда получается перед запуском ПИД привод надо принудительно загонять в минимум и пид обязательно перезапускать, чтобы он тоже стартовал с 0? еще непонятно, как привод будет воспринимать реверс направления. если к этому моменту он еще не выполнил предыдущее задание.?

Ревака Юрий
02.11.2019, 22:30
спасибо! я посмотрел, как этот макрос внутри работает, но все равно немного не понял идею. я
понимаю, что вычисляется направление изменения сигнала пид в процентах и это приращение переводится в проценты (условно) поворота привода, пересчитанные в секунды воздействия.
по сути этот макрос пытается превратить дискретный привод в привод с аналоговым (условно) управлением. тогда получается перед запуском ПИД привод надо принудительно загонять в минимум и пид обязательно перезапускать, чтобы он тоже стартовал с 0? еще непонятно, как привод будет воспринимать реверс направления. если к этому моменту он еще не выполнил предыдущее задание.?

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

iron1man
16.11.2019, 23:09
Добрый день, коллеги!

Нет ли исправно работающего макроса для психрометрического метода измерения влажности? Находил в этой ветке форума, но к нему были нарекания, как я понял.
на ПР200 хочу применить. Заранее спасибо за ответы!

Ревака Юрий
17.11.2019, 11:14
Добрый день, коллеги!

Нет ли исправно работающего макроса для психрометрического метода измерения влажности? Находил в этой ветке форума, но к нему были нарекания, как я понял.
на ПР200 хочу применить. Заранее спасибо за ответы!

Я где-то месяц назад, пытался поставить на тест макрос предложенный в теме, но после нескольких дней забросил эту идею. Во-первых необходим стабильный обдув, с определенной скоростью, во-вторых нужно постоянно держать мокрым один из датчиков, это сложно даже на столе, в установке не очень представляю как этим пользоваться. Если у Вас условия подходящие, пробуйте. Кажется Сергей выкладывал недавно, я как раз на нем и делал тест.

max110
22.11.2019, 08:21
Проблема с макросом подсчета времени TIME U/D.
Owen Logic v1.15.215.19479 считает, что макрос содержит оборванную связь и рассматривает это как критическую ошибку.45752

Также в нем несколько циклических связей, и пара опечаток - "Роазрешение подсчета", "Версия 1.1 ... времени цикла алгоритмЯ ..."

Ревака Юрий
22.11.2019, 09:04
Проблема с макросом подсчета времени TIME U/D.
Owen Logic v1.15.215.19479 считает, что макрос содержит оборванную связь и рассматривает это как критическую ошибку.45752

Также в нем несколько циклических связей, и пара опечаток - "Роазрешение подсчета", "Версия 1.1 ... времени цикла алгоритмЯ ..."

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

Filini
25.11.2019, 20:15
Я где-то месяц назад, пытался поставить на тест макрос предложенный в теме, но после нескольких дней забросил эту идею. Во-первых необходим стабильный обдув, с определенной скоростью, во-вторых нужно постоянно держать мокрым один из датчиков, это сложно даже на столе, в установке не очень представляю как этим пользоваться. Если у Вас условия подходящие, пробуйте. Кажется Сергей выкладывал недавно, я как раз на нем и делал тест.

Постоянный уровень воды сделать технически не сложно, а вот макрос очень интересен.

capzap
25.11.2019, 20:45
Нет ли исправно работающего макроса для психрометрического метода измерения влажности? Находил в этой ветке форума, но к нему были нарекания

https://owen.ru/forum/showthread.php?t=9398&p=313457&viewfull=1#post313457 к моему вроде не было, но только один голос пока

Ревака Юрий
25.11.2019, 20:58
Постоянный уровень воды сделать технически не сложно, а вот макрос очень интересен.

А с воздушным потоком что у Вас? Ошибся немного с именем в прошлом сообщении, автор capzap

Filini
26.11.2019, 04:17
А что с воздушным потоком не так? Оба датчикаи колбы помещаем за экранами.

Ревака Юрий
26.11.2019, 08:54
А что с воздушным потоком не так? Оба датчикаи колбы помещаем за экранами.

Все так, если он присутствует в месте установки датчиков, для этого метода он необходим, поэтому и спросил. Будет возможность, отпишитесь о результатах.

Filini
26.11.2019, 11:40
Буду на обЪекте, сфотографирую. У нас проблема сухой воздух зимой в ТЦ, вот ищем решения........как всегда бюджетные))

Aviator_VZh
26.11.2019, 15:56
Фонтан в ТЦ надо ставить.

Filini
26.11.2019, 18:07
Когда на улице за -30 в течении пары месяцев, фонтан как мервому компресс. Относительная влажность 10%, я дома кошку в резиновых перчатках глажу если увлажнитель выключен))))))))

Сергей0308
26.11.2019, 18:36
Сам датчик влажности боюсь ничем не поможет, нужна система кондиционирования, если ставят систему кондиционирования, боюсь и датчик влажности предусмотрят!
У Овена, кстати, есть бюджетный вариант: https://owen.ru/product/pvt100
Боюсь ваша конструкция обойдётся намного дороже!

Bariy
29.11.2019, 08:51
Здравствуйте!

Обнаружил ошибку (недочёт) в макросе (Pt100) - Преобразование сопротивления в температуру.

Ошибка проявляется следующим образом:
В случае если входное сопротивление выше верхней границы диапазона (обрыв провода, плохой контакт) макрос выдает ошибку с кодом 2, на выходе Т="не число".
После нормализации сопротивления на входе (допустим устранили обрыв) ошибка пропадает (код=0), но на выходе макроса Т остается "не число", а должна уже быть фактическая температура.
Другими словами значение температуры на выходе макроса не нормализуется. Показания восстанавливаются только после перезагрузки контроллера, либо (если проверяем в симуляторе - поста останова выполнения программы).

При КЗ (R=0) и последующего восстановления макрос отрабатывает нормально.

Считаю данную ошибку критической.

Belletein
30.11.2019, 12:30
Здравствуйте.
Обнаружил ошибку в макросе PLA.Выдаёт неверные значения.
Записал ошибку на видео https://cloud.mail.ru/public/4cSt/3KE2bdL5y

dan75
30.11.2019, 13:54
Здравствуйте.
Обнаружил ошибку в макросе PLA.Выдаёт неверные значения.
Записал ошибку на видео https://cloud.mail.ru/public/4cSt/3KE2bdL5y

UPD: Посмотрел, разобрался. Да, абсциссы графика нужно обязательно подавать на входы макроса в порядке возрастания, иначе будут глюки из-за блоков fGT. Проще добавить этот пункт в описание макроса, чем пытаться это исправить.

dan75
01.12.2019, 09:29
Здравствуйте!

Обнаружил ошибку (недочёт) в макросе (Pt100) - Преобразование сопротивления в температуру.

Ошибка проявляется следующим образом:
В случае если входное сопротивление выше верхней границы диапазона (обрыв провода, плохой контакт) макрос выдает ошибку с кодом 2, на выходе Т="не число".
После нормализации сопротивления на входе (допустим устранили обрыв) ошибка пропадает (код=0), но на выходе макроса Т остается "не число", а должна уже быть фактическая температура.
Другими словами значение температуры на выходе макроса не нормализуется. Показания восстанавливаются только после перезагрузки контроллера, либо (если проверяем в симуляторе - поста останова выполнения программы).

При КЗ (R=0) и последующего восстановления макрос отрабатывает нормально.

Считаю данную ошибку критической.

Глючит чёйта старенький макрос SEL_FLOAT, вложенный в макрос (Pt100). Но в нём больше нет необходимости. Проверяйте.

capzap
01.12.2019, 09:41
про макроc pt100 речь заходила полтора года назад, там был и мой вариант https://owen.ru/forum/showthread.php?t=12691&p=273524&viewfull=1#post273524

dan75
01.12.2019, 10:14
про макроc pt100 речь заходила полтора года назад, там был и мой вариант https://owen.ru/forum/showthread.php?t=12691&p=273524&viewfull=1#post273524

Применительно к теме разговора: там защиты от КЗ и обрыва нет вообще.

capzap
01.12.2019, 10:21
Применительно к теме разговора: там защиты от КЗ и обрыва нет вообще.

да нет, но тогда я и создавал макрос, потому что тоже находил ошибку в коде онлайн макроса, где то вокруг того поста, возможно в другой теме но в это же время, я об этом писал Юрию, нл если нет то упс

Filini
01.12.2019, 18:01
Добрый вечер, как добавить макрос? Есть готовый для грузового лифта 1 и 2 этаж с двухстворчатыми дверями.

Bariy
02.12.2019, 09:05
Глючит чёйта старенький макрос SEL_FLOAT, вложенный в макрос (Pt100). Но в нём больше нет необходимости. Проверяйте.

Спасибо, эта версия нормально отрабатывает аварию.
Для промышленной так сказать эксплуатации не плохо было бы дополнить макрос входным значением Т при возникновении аварийной ситуации (в случае error > 0). Сейчас на выходе макроса при аварии выдаётся последнее вычисленное из диапазона значение, но это не всегда соответствует безопасному завершению (либо продолжению работы) контролируемого процесса.

dan75
02.12.2019, 09:24
Спасибо, эта версия нормально отрабатывает аварию.
Для промышленной так сказать эксплуатации не плохо было бы дополнить макрос входным значением Т при возникновении аварийной ситуации (в случае error > 0). Сейчас на выходе макроса при аварии выдаётся последнее вычисленное из диапазона значение, но это не всегда соответствует безопасному завершению (либо продолжению работы) контролируемого процесса.

Так это просто. Блок fSEL на выход. Сигнал аварии преобразовываем в булевый формат и управляем этим fSELом. На входе 0 -- выходное значение макроса. На входе 1 -- константа Т.

Ревака Юрий
02.12.2019, 11:09
UPD: Посмотрел, разобрался. Да, абсциссы графика нужно обязательно подавать на входы макроса в порядке возрастания, иначе будут глюки из-за блоков fGT. Проще добавить этот пункт в описание макроса, чем пытаться это исправить.

Был уверен что этот момент описан, проверил действительно, нет этой информации. По возможности добавлю.

Ревака Юрий
02.12.2019, 11:11
Глючит чёйта старенький макрос SEL_FLOAT, вложенный в макрос (Pt100). Но в нём больше нет необходимости. Проверяйте.

Как именно глючит?

dan75
02.12.2019, 11:21
Как именно глючит?

Вот так: https://owen.ru/forum/showthread.php?t=25067&page=38&p=319720&viewfull=1#post319720 При замене макросов на блоки fSEL проблема ушла.

Ревака Юрий
02.12.2019, 11:30
Вот так: https://owen.ru/forum/showthread.php?t=25067&page=38&p=319720&viewfull=1#post319720 При замене макросов на блоки fSEL проблема ушла.

Я помню этот момент исправлял для 1000 вариантов, там на входе стоит ограничитель, в других вроде не проявлялось, возможно что-то изменилось.

arket
09.12.2019, 18:43
Может глупый вопрос
Версия программы
"Версия 1.15.217.20007"

Где там онлайн база макросов?

dan75
09.12.2019, 19:20
arket, для всех версий она в меню Файл -> Менеджер компонентов.

bayk
09.12.2019, 21:45
Друзья! подскажите, а нет варианта, макроса selChgB, который не "желтит", а то меня это прям раздражает!!! ну или уважаемые разработчики, сделайте отключение желтого квадрата в настройках, а то бесит ужасно!

dan75
09.12.2019, 22:34
В чём проблема самому-то желтизну убрать?

bayk
09.12.2019, 23:07
а вы пробовали? у меня мозгов не хватает этот макрос "разжелтить". линии задержки там ставить нельзя, иначе перестает работать как надо, вот и спрашиваю!
с другими пока справлялся, а тут "ниасилил".

Сергей0308
09.12.2019, 23:22
Я как-то так предпочитаю:

46078

И во втором варианте ещё и с экрана можно изменить!

46079

dan75
09.12.2019, 23:56
а вы пробовали? у меня мозгов не хватает этот макрос "разжелтить". линии задержки там ставить нельзя, иначе перестает работать как надо, вот и спрашиваю!
с другими пока справлялся, а тут "ниасилил".

А чё нужно-то? Я тут слепил по-быстренькому схемку на D-триггере, поставил в параллель "жёлтый" макрос SelChgB для сравнения. Навродь, работает абсолютно одинаково.

Сергей0308
10.12.2019, 02:02
Вот тоже на Д-триггере свой вариант могу предложить:

46081

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

46082

Для исключения ФБ, их количество ограничено в программе ПР, можно так сделать:

46114

И можно энергонезависимость сделать при желании или необходимости!

46115

dan75
10.12.2019, 08:32
Только я один момент не учёл: сигналы могут меняться одновременно.

Сергей0308
10.12.2019, 09:00
Только я один момент не учёл: сигналы могут меняться одновременно.

Это не указано, так сказать, в ТЗ, поэтому можете делать как Вам легче сделать! По факту, у Вас как работает?
У меня, например, в первых двух случаях приоритет у первого(верхнего) входа, в третьем случае(варианте) приоритет у состояния логического "1", независимо от входа!

bayk
10.12.2019, 10:03
Сергей0308 Спасибо огромное! вы как всегда меня выручили, особенно с вариантом на 3 переменных (с экранной составляющей) теперь экран программы снова серый и мои нервы спокойны.
dan75 вы тоже молодец, я еще настолько уверенно не умею думать на FBD

Сергей0308
10.12.2019, 10:41
Сергей0308 Спасибо огромное! вы как всегда меня выручили, особенно с вариантом на 3 переменных (с экранной составляющей) теперь экран программы снова серый и мои нервы спокойны.
dan75 вы тоже молодец, я еще настолько уверенно не умею думать на FBD

Так любой из моих вариантов можно легко расширить до нужного количества переменных на входе!
И первые два варианта можно легко переделать под целочисленный тип переменных!

nickbeljaev
21.01.2020, 06:42
Господа, способ вычисления времени между циклами использованный в макросе TIME_CYCLE является подпоркой под костыли (о чем там даже имеется сноска), удивительно что в системе за почти 5 лет развития не появилось обычного, классического, общепринятого, имеющегося у всех конкурентов и во всех системах счетчика малых интервалов времени, а именно тривиальной системной переменной u32 sys_us, или если так хочется f32 sys_ms, или как хотите её обзовите но чтоб в ней всегда было значение тиков из любого циклического счетчика МК (коих в STM32 просто полно). Я даже боюсь подумать о причине такого упущения. Прошу пояснить отчего так, а лучше добавить такое как можно скорее. Очень не хотелось бы прекратить свои потуги по "поддержке отечественного производителя" из-за такой фигни!

Ревака Юрий
21.01.2020, 10:19
Господа, способ вычисления времени между циклами использованный в макросе TIME_CYCLE является подпоркой под костыли (о чем там даже имеется сноска), удивительно что в системе за почти 5 лет развития не появилось обычного, классического, общепринятого, имеющегося у всех конкурентов и во всех системах счетчика малых интервалов времени, а именно тривиальной системной переменной u32 sys_us, или если так хочется f32 sys_ms, или как хотите её обзовите но чтоб в ней всегда было значение тиков из любого циклического счетчика МК (коих в STM32 просто полно). Я даже боюсь подумать о причине такого упущения. Прошу пояснить отчего так, а лучше добавить такое как можно скорее. Очень не хотелось бы прекратить свои потуги по "поддержке отечественного производителя" из-за такой фигни!

Добрый день. Просто интересно что у Вас за система, что без микросекундных тиков нельзя обойтись?

Сергей0308
21.01.2020, 10:45
И сейчас можно с периодом не менее 2 циклов, при минимальном времени цикла получится с периодом 2 мс!
А Овен шантажём и ультиматумами не напугать, с самого начала просили ввести переменную с номером активного экрана и битовой маской нажатых кнопок для ПР200, до сих пор не сделали!

nickbeljaev
21.01.2020, 15:35
Юрий, в данном случае это обыкновенная дифф составляющая регулятора связанного с релейным позиционированием, желательно что бы она работала на каждом цикле пока тот находится в интервале 5..10мс, можно конечно переделать регулятор, но тогда его нужно будет согласовать, что организационно не удобно, но вообще использование этого таймера весьма частое явление в ПЛК, и применений много.
Сергей я не думал никого пугать - работаю с автомобильной промышленностью и у нас "на стене" висит перл выданный кем то с автоваза по поводу робкого желания пользователей перейти на более совершенный способ цинкования, "коррозионная защита автомобилей соответствует их классу", так что иллюзий по поводу "пугания" "отечественного производителя" я не испытаю. Просто жаль, что имеется такой изъянчик - в остальном девайс кажется симпатичный.

nickbeljaev
21.01.2020, 15:40
Сергей, а как это про два цикла? Можно подробнее? Чем меньше будет время интегрирования тем больше будет погрешность, к тому же циклы все разные из-за ветвлений.

Сергей0308
21.01.2020, 16:13
Сергей, а как это про два цикла? Можно подробнее? Чем меньше будет время интегрирования тем больше будет погрешность, к тому же циклы все разные из-за ветвлений.

Например генератор импульсов поставить, с временем включённого-выключенного состояния = 1мс, тогда период импульсов будет = 2 мс, если время цикла программы не более 1 мс(зависит от сложности программы)! В любом случае время включённого-выключенного состояния не может быть меньше времени цикла программы!

nickbeljaev
21.01.2020, 16:47
Например генератор импульсов поставить, с временем включённого-выключенного состояния = 1мс, тогда период импульсов будет = 2 мс, если время цикла программы не более 1 мс(зависит от сложности программы)! В любом случае время включённого-выключенного состояния не может быть меньше времени цикла программы!

Хорошо, я сделал генератор с периодом состояния ровно в цикл, дальше, как мне узнать чему был равен период этих состояний.
Как это работает сейчас - есть ФБ (или системная переменная, без разницы) возвращающий тики какого то однородного счетчика (с известным периодом) в недрах ПЛК, беря на каждом (или не на каждом, а когда надо) шаге циклическую разность с ранее сохраненным значением этого счетчика я получаю весьма точный интервал времени в мкс прошедший с крайнего сохранения этого значения, такой подход удобен - есть во всех кодогенераторах с которыми я имел дело, применяется в куче алгоритмов вычисляющих всякие там скорости нарастания. На сколько я знаю по своему опыту, в реализации тоже ничего невозможного нет - так же как секунды отдают пользователю, так и микросекунды циклические можно отдавать. Не вижу причин к сопротивлению. Можно, конечно дифференцировать по фиксированному периоду, но фишка в том что он на самом деле не такой уж фиксированный, например TON 1с при качании времени цикла вокруг 10мс будет составлять от 1 до 1.01 (1% джитера в принципе приемлемо), а если нужно дифференцировать чаще, например 10 раз в секунду то период будет врать в том же времени цикла то есть уже 10% неопределенности и ваш объект управления перестает попадать цель. Возможно мотивация Овена чисто маркетинговая - "вон вам ПЛК за 30 - его и покупайте, и нечего на ПР тут миллиметры ловить", но ПЛК у них пока не конкурентные (прошу прощения за такую оценку - ноя думаю у Овена еще все впереди и искрене желаю удачи), а вот ПР при его современном и быстром проце мог бы попробовать заменить многие устаревшие модели иностранных ПЛК. Тем более сейчас растет спрос на бюджетную автоматику "для бедных".

Ревака Юрий
21.01.2020, 16:58
Возможно мотивация Овена чисто маркетинговая - "вон вам ПЛК за 30 - его и покупайте, и нечего на ПР тут миллиметры ловить", но ПЛК у них пока не конкурентные, а вот ПР при его современном и быстром проце мог бы попробовать заменить многие устаревшие модели иностранных ПЛК. Тем более сейчас растет спрос на бюджетную автоматику "для бедных".

В общем +- так и есть, даже если гипотетически вывести микросекундные тики, они Вам чем помогут, если время цикла будет 5 мс. Точнее чем 1 мс все равно не получится считать, именно на этом и построен макрос Time_U/D, внутри автоматом выбирается точность вывода времени, в зависимости от времени цикла программы, который кстати, рассчитывается в самом начале, и не должен меняться, независимо от ветвлений или других процессов.

nickbeljaev
21.01.2020, 18:05
все эти разговоры о необходимости микросекунд напоминают ералаш где старшекласник сидит в первом классе, ему говорят че ты тут делаешь а не со своим классом, а он отвечает: я здесь самый умный. Какой то веской причины делать вычисления единиц измерения меньше чем цикл плк/ПР нет. Если я оперирую временем восхода и заката в часах и минутах, то секунды ни какой роли не сыграют

Так это Вы оперируете временем восхода и заката, а я оперирую тележкой едущей со скоростью 1м/с по цеху - все мы разные. Сейчас там работает немецкий контролер с циклом 6..8мс, но за счет грамотной математики справляется, и одной из перемененных в этой математике является время прошедшее с предыдущего цикла регулятора, причем время это не в "штуках циклов", а в микросекундах, про разницу я уже выше объяснял.

nickbeljaev
21.01.2020, 18:14
В общем +- так и есть, даже если гипотетически вывести микросекундные тики, они Вам чем помогут, если время цикла будет 5 мс. Точнее чем 1 мс все равно не получится считать, именно на этом и построен макрос Time_U/D, внутри автоматом выбирается точность вывода времени, в зависимости от времени цикла программы, который кстати, рассчитывается в самом начале, и не должен меняться, независимо от ветвлений или других процессов.

Юрий, должен ваше мнение опровергнуть, сейчас на этом месте работает немецкий контроллер с циклом 6..8мс в регуляторах которого используется период каждых 4 событий в микросекундах, события достаточно редкие что бы ПР успел их схватить программным счетчиком но делить надо на достаточно точное время, которое взять пока неоткуда, так как есть подозрения, что среднее время цикла за 1с не совсем отражает время конкретных N циклов, по крайней мере точность такого измерения не доказуема. Но если дело в маркетинге - жаль, тут конечно ничего не поделать - маркетинг он такой.

nickbeljaev
21.01.2020, 18:28
Не сразу дошло про "рассчитывается в самом начале, и не должен меняться, независимо от ветвлений или других процессов", если это так то среднее время цикла за 1с годится, но похоже это не так иначе вообще какой смысл в TIME_CYCLE вбил константу и поехал без всяких расчетов. Если бы можно было получить консультацию по этому вопросу, в смысле гарантию того что время цикла строго фиксировано (это может быть если юзерская программа крутится не раундробином, а строго по прерыванию таймера причем не маскируемого), то это решило бы проблему.

Сергей0308
21.01.2020, 18:29
Кажется "petera" писал(точно не помню), что делал таймеры на основе подсчёта количества циклов программы и время очень точно отсчитывалось!

игорь68
21.01.2020, 18:59
Вопрос не по циклам. Что вы такое возите на таких скоростях. Как бывший сотрудник Отис так для сравнения могу сказать что модель европа2000 едет со скорость 0,8мСекунду. Может можно как то по другому управлять скорость тележка.

nickbeljaev
21.01.2020, 19:10
Я не капли не сомневаюсь что Вы бы все настроили грамотно, но Вы надеюсь достаточно заняты другими задачами и нашей тележке ваша "настройка" пока не угрожает. Что касается немецкого "контроллера", то у него 16-ти битный 25МГц. проц из 90-х. А у Овеновского "реле" 32-х битный 72МГц так кто из них скорее "реле", а кто "контроллер"? С аппаратной периферией у немца конечно получше, но это чисто заслуга Овена из маркетинговых соображений постеснявшегося заюзать все то, чем так богаты современные СТшки.

nickbeljaev
21.01.2020, 19:14
Игорь какая разница чего она возит? Она сейчас это возит вот с этой самой скоростью, и это не лифт. Меня просто спросили зачем таймер я максимально подробно рассказал с привлечением конкретного примера, теперь Вы спрашиваете чего мы возим, следующий вопрос сколько мы за это получаем наверное :)

nickbeljaev
21.01.2020, 19:40
как же Вас "порвет", когда Вы догадаетесь обнаружить что в ПР нет массивов, нет управления передачей данных по последовательному порту и т.д. и т.п.

Да я уже неделю этим занимаюсь - все уже обнаружил и все переписал в симуляторе, кроме вот этого злосчастного времени цикла, массивы не нужны, ком не нужен, от кана бы не отказался, но даже не заикаюсь об этом, тем более нашел как обойтись за счет двух АО. Если время цикла действительно фиксированное то вопрос закрыт - можно идти "пугать" Заказчика изделием отечественных заводов, что он на это скажет это уже следующий вопрос, мое дело испытания проводить :) Есть вопросы по динамике аналоговых входов но судя по тому что там можно малые постоянные времени ставить тоже все нормуль. Вообще я конечно понимаю что херней занимаюсь - мне начальство так и сказало, но тут чисто спортивный интерес есть.

Серёга Букашкин
21.01.2020, 20:27
Да я уже неделю этим занимаюсь - все уже обнаружил и все переписал в симуляторе, кроме вот этого злосчастного времени цикла
Я тоже уже это пережил и взывал дать системные миллисекунды. Безуспешно. Это наверное очень сложно... Выкрутиться можно косвенными методами через подсчёт циклов. Так все пока делают. Хотите готовый макрос измерения интервала в мс? Досадно что приходится делать лишние вычисления при и так большой программе. Макрос который в базе чрезмерно навороченный.

игорь68
21.01.2020, 20:36
Не. Ваша ЗП неинтересует. А протележку спрашивал потому как сам дела передаточную тележку(выкинули японца).

nickbeljaev
21.01.2020, 20:55
Я тоже уже это пережил и взывал дать системные миллисекунды. Безуспешно. Это наверное очень сложно... Выкрутиться можно косвенными методами через подсчёт циклов. Так все пока делают. Хотите готовый макрос измерения интервала в мс? Досадно что приходится делать лишние вычисления при и так большой программе.

Сергей, благодарю, этот макрос я уже посмотрел, все там просто - посчитали количество циклов за одну секунду пусть будет х, тогда tau_us=(1000000+shr(x,1))/x, вопрос только в одинаковости этих циклов - на него пока нет строго ответа - в документации про это не сказано, а Юрий и Kapzar выразили, кажется, свое предположение на эту тему. Кроме того должен заметить, что миллисекундного таймера не достаточно - предположим мы хотим что то дифференцировать по времени примерно 100 раз в секунду - вполне реально для этого "реле", в мс таймере мы получим период 9, 10 или 11 в зависимости от того как карта ляжет, это разрешающая способность 10% это плохо. Стандартный таймер для современных ПЛК это мкс, тогда даже ничего пересчитывать не надо - куча готовых алгоритмов доступна. Но Юрий уже вроде объяснил, что у них нет желания создавать конкуренцию своим ПЛК, лично мне этого не понять - если не купят ПР то купят допотопного но не урезанного и надежного немца, или мутного но суперсовременного китайца, тут кажется не до внутренней конкуренции - внешнюю бы перемочь. Но где я со своим мнением и где Овен со всеми его манагерами, бухгалтерами и экономистами, хотя я это тут пишу не просто так пишу, конечно, а в надежде на подвижки.

Серёга Букашкин
21.01.2020, 21:02
Чтобы углубиться в микромир нужен доступ к обработке прерываний, этого в ПР нет и не будет. Погрешность на время цикла обойти нельзя.

nickbeljaev
21.01.2020, 21:11
Не. Ваша ЗП неинтересует. А протележку спрашивал потому как сам дела передаточную тележку(выкинули японца).

Ну слава богу :) кроме того она все равно такая маленькая, что стыдно было бы сказать :) Тележка не передаточная, скорее это стапель на колесиках, современные Западные ездят еще быстрее до 6 км/ч, а у нас все по старинке - чуть больше 3-х.

nickbeljaev
21.01.2020, 21:22
Чтобы углубиться в микромир нужен доступ к обработке прерываний, этого в ПР нет и не будет. Погрешность на время цикла обойти нельзя.

Ну я в курсе, что в CODESYS, можно иногда настраивать события, но вот как то не разу этим не воспользовался, я вообще уже довольно давно "этим" занимаюсь, начинал еще с Z80, наверное поэтому достаточно быстрый раундробин с учетом фактического времени кажется мне идеалом, зачем мне думать о конкурентном доступе, о инверсии приоритетов и прочих космически сложных для меня вещах, когда простецкая циклограмма справляется.

nickbeljaev
21.01.2020, 21:56
Мне они медленными не кажутся, сейчас без всякого асма можно из армов такое без напряга получить что хренеешь с того куда ушел прогресс. Особено меня СТшные конденсаторные АЦП вставляют с их двумя мегасамплами на 12бит, кому рассказать такое лет 20 лет назад, пальцем у виска покрутили бы.

nickbeljaev
21.01.2020, 23:39
Кажется "petera" писал(точно не помню), что делал таймеры на основе подсчёта количества циклов программы и время очень точно отсчитывалось!

А как он определил, что "очень точно", это конечно у него надо спрашивать, так что если Petra прочитает то это вопрос, что значит очень точно и как мерили?

nickbeljaev
21.01.2020, 23:44
Я бы вообще сейчас переформулировал. Юрий, я Вас как представителя Овена прошу при наличии времени узнать непосредственно у разработчиков, на счет того что циклы конкретной пользовательской программы начинаются строго в соответствии с неким синхронным таймером, то есть всегда через одинаковые промежутки времени, а не происходят просто один за другим, как успеет. Это могло бы снять вопрос о таймере. Заранее благодарю.

petera
22.01.2020, 01:14
А как он определил, что "очень точно", это конечно у него надо спрашивать, так что если Petra прочитает то это вопрос, что значит очень точно и как мерили?

Пример подсчета кол. циклов https://owen.ru/forum/showthread.php?t=26216&p=315708&viewfull=1#post315708

Таймер с паузой основанный на этом принципе https://owen.ru/forum/showthread.php?t=32091&p=317326&viewfull=1#post317326
Абсолютная погрешность вычисления интервалов времени не более половины времени цикла во всем допустимом диапазоне уставки в мс от Тц до 4294967295/Tц, где Тц - время цикла ПР
Описание макроса таймера https://owen.ru/forum/showthread.php?t=31994&p=316645&viewfull=1#post316645
Как мерил?
Можно секундомером, можно самим ПР, сравнивая со стандартным таймером с большой уставкой
Например
46786

здесь нагрузка ПР - цепочка макросов вычисления логарифма
46787

Заявленная точность проверялась в версии ОЛ до 1.13, когда для самых разных программ время цикла в меню прибора и в ОЛ всегда оказывается кратным строго 1 мс - 1.00; 2.00;..15.00; 16.00 и тд
По этому используется целочисленная арифметика при расчете времени цикла и в таймере.

В версии 1.16 заметил, что время цикла в меню прибора и в ОЛ иногда отображается с сотыми долями мс. Для этой версии точность таймера не проверял.

nickbeljaev
22.01.2020, 18:22
стесняюсь спросить это формула чего? Что она доказывает в преимуществе использования микросекунд и миллисекунд? Закономерность изменения от количества циклов одна и таже

Я тоже вопрос не понял, это целочисленная функция превращающая количество циклов случившихся за 1с во время одного цикла в микросекундах при обязательном условии, что время всех циклов одинаково! Если её же записать в миллисекундах то в числителе надо 1000000 заменить на 1000, но тогда будет очень плохая разрешающая способность.

nickbeljaev
22.01.2020, 18:45
Пример подсчета кол. циклов https://owen.ru/forum/showthread.php?t=26216&p=315708&viewfull=1#post315708

Таймер с паузой основанный на этом принципе https://owen.ru/forum/showthread.php?t=32091&p=317326&viewfull=1#post317326
Абсолютная погрешность вычисления интервалов времени не более половины времени цикла во всем допустимом диапазоне уставки в мс от Тц до 4294967295/Tц, где Тц - время цикла ПР
Описание макроса таймера https://owen.ru/forum/showthread.php?t=31994&p=316645&viewfull=1#post316645
Как мерил?
Можно секундомером, можно самим ПР, сравнивая со стандартным таймером с большой уставкой
Например
46786

здесь нагрузка ПР - цепочка макросов вычисления логарифма
46787

Заявленная точность проверялась в версии ОЛ до 1.13, когда для самых разных программ время цикла в меню прибора и в ОЛ всегда оказывается кратным строго 1 мс - 1.00; 2.00;..15.00; 16.00 и тд
По этому используется целочисленная арифметика при расчете времени цикла и в таймере.

В версии 1.16 заметил, что время цикла в меню прибора и в ОЛ иногда отображается с сотыми долями мс. Для этой версии точность таймера не проверял.

Благодарю. То есть если я все правильно понял суммы периодов одинаково большого количества циклов почти равны между собой. Но меня интересует несколько другое - насколько различаются периоды самих циклов внутри этих сумм. То есть для пояснения: если все циклы равны между собой то достаточно 100 секунд поделить на количество циклов за эти сто секунд и результат использовать как время любого цикла. Если же суммы равны статистически, но не состоят из одинаковых периодов, то применение данного подхода будет вносить в работу регулятора непредсказуемую погрешность. Мой случай выглядит так (f(x,y,z...)+shr(dt,1))/dt, вот сейчас я это dt беру как разность значений аппаратного таймера в мкс, в версии ПО для ПР я это dt ,беру как частное от (большой промежутк времени)/(количество циклов за этот промежуток), тот специалист, кто будет верифицировать мою программу обязательно попросит меня обосновать, что полученное таким образом dt действительно соответствует времени прошедшему между событиями, а сейчас я этого сделать не смогу. Поэтому пытаюсь уговорить Овен дать пользователю таймер или дать пояснение о том, что время всех циклов равно между собой.

nickbeljaev
22.01.2020, 19:02
на графике как раз обе подстановки и 1000000 и 1000, просто микросекундный график поделен на тысячу, так хоть как то заметна разность, а нормировав сигнал они в точности повторяют друг друга.
О какой разрешающей способности идет речь? При величине цикла в 2мс между ними разница 0.5мс. А если учесть что актуальные данные появляются перед началом цикла, а исполнительные механизмы получают управляющий сигнал в конце цикла, хоть в начале схемы делай расчет, хоть в конце, к временам всё равно нужно будет прибавлять время цикла, поэтому о точных мат.расчетах можно забыть, остается только прогнозирование, а его без разницы на чем делать, но предпочтительнее в тех единицах измерений, на которых работает программируемое устройство

Видимо Вы рассуждаете в числах с плавающей точкой. Я рассуждаю в целых, дело в том, что мне жалко времени на программное деление чисел с плавающей точкой. Если вести все расчеты в числах с плавающей точкой, то Вы правы - единицы времени роли почти не играют. Хотя когда речь идет о 32 битных числах с плавающей точкой возможны сюрпризы с точностью.

petera
22.01.2020, 19:56
Благодарю. То есть если я все правильно понял суммы периодов одинаково большого количества циклов почти равны между собой. Но меня интересует несколько другое - насколько различаются периоды самих циклов внутри этих сумм. То есть для пояснения: если все циклы равны между собой то достаточно 100 секунд поделить на количество циклов за эти сто секунд и результат использовать как время любого цикла. Если же суммы равны статистически, но не состоят из одинаковых периодов, то применение данного подхода будет вносить в работу регулятора непредсказуемую погрешность. Мой случай выглядит так (f(x,y,z...)+shr(dt,1))/dt, вот сейчас я это dt беру как разность значений аппаратного таймера в мкс, в версии ПО для ПР я это dt ,беру как частное от (большой промежутк времени)/(количество циклов за этот промежуток), тот специалист, кто будет верифицировать мою программу обязательно попросит меня обосновать, что полученное таким образом dt действительно соответствует времени прошедшему между событиями, а сейчас я этого сделать не смогу. Поэтому пытаюсь уговорить Овен дать пользователю таймер или дать пояснение о том, что время всех циклов равно между собой.

В начале я тоже пытался считать количество циклов за достаточно большой промежуток времени таким способом
46806
и даже по нарастающей, чтобы в начале иметь хоть какие-то приблизительные значения
46807
время цикла получал как число с плавающей точкой и вот после 8 сек получал число близкое к тому, что показывали штатные средства ПР и ОЛ
однако в зависимости от величины реального времени цикла имела место некая разная погрешность между показаниями и вычислениями.
46808 46809 46810

Повторю, что наблюдая за показаниями в ПР и ОЛ заметил, что время цикла всегда оказывается кратным строго 1 мс - 1.00; 2.00;..15.00; 16.00 и тд,
Так было в старых версиях ОЛ, до 1.13.
Но мои вычисления с плав.точкой такой точность не имели, и если реальное время цикла было "некрасивой" цифрой, то погрешность была всегда

По этому в последнем варианте использую целочисленную арифметику деления с округлением
Не смотря на то, что время подсчета количества циклов уменьшил до 500мс
Получил значения совпадающие с показаниями которые дают штатные средства ПР и ОЛ
Вот результат для тех же некрасивых значений
46811 46812 46813

Ну и сам макрос целочисленного деления с округлением результата
46814

nickbeljaev
22.01.2020, 20:09
вот результаты при целочисленном делении.

Не верно, ступени мкс много мельче.

nickbeljaev
22.01.2020, 20:16
В начале я тоже пытался считать количество циклов за достаточно большой промежуток времени таким способом
46806
и даже по нарастающей, чтобы в начале иметь хоть какие-то приблизительные значения
46807
время цикла получал как число с плавающей точкой и вот после 8 сек получал число близкое к тому, что показывали штатные средства ПР и ОЛ
однако в зависимости от величины реального времени цикла имела место некая разная погрешность между показаниями и вычислениями.
46808 46809 46810

Повторю, что наблюдая за показаниями в ПР и ОЛ заметил, что время цикла всегда оказывается кратным строго 1 мс - 1.00; 2.00;..15.00; 16.00 и тд,
Так было в старых версиях ОЛ, до 1.13.
Но мои вычисления с плав.точкой такой точность не имели, и если реальное время цикла было "некрасивой" цифрой, то погрешность была всегда

По этому в последнем варианте использую целочисленную арифметику деления с округлением
Не смотря на то, что время подсчета количества циклов уменьшил до 500мс
Получил значения совпадающие с показаниями которые дают штатные средства ПР и ОЛ
Вот результат для тех же некрасивых значений
46811 46812 46813

Ну и сам макрос целочисленного деления с округлением результата
46814

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

petera
22.01.2020, 20:40
Это может свидетельствовать о том, что циклы разные по времени, такое происходит например из-за программной арифметики, например деление даже целых может занимать разное количество тиков в зависимости от операндов. Так что надо ждать какой то реакции от авторов - или добавления таймера или заверения, что все циклы одинаковые. Вообще это ни о чем не свидетельствует, возможно у в вашей программе нет ветвлений или операнды из раза в раз одинаковые.

В Лоджике нет никаких ветвлений!
Вся схема выполняется полностью.

nickbeljaev
22.01.2020, 21:02
предыдущая картинка была с шагом 25, теперь с шагом один со 125 до 500
Это разве что то поменяет, есть определенное количество циклов, где единицы измерения роли не играют

Ступеньки на мкс ровно в 1000 раз мельче чем на мс

nickbeljaev
22.01.2020, 21:11
В Лоджике нет никаких ветвлений!
Вся схема выполняется полностью.

Petera вы знаете как там устроено деление двух целых? Это итеративный процесс, количество итераций в котором зависит от операндов, например деление на 2 занимает мало тиков, а деление большого числа на 3 много , поэтому ветвления там есть, даже если Вы их не видите. Тем не менее способ обеспечить постоянство цикла имеется, для этого нужно запускать пользовательский цикл по прерыванию таймера с таким расчетом что бы в самом длинном случае он успел закончится за некоторое время до начала следующего, при этом надо следить, что бы данное прерывание не было отложено.

VladGC
27.02.2020, 16:37
Добрый день!

Как можно узнать какой макрос у меня модифицирован в закрытом макросе ? В чистом проекте макрос пид регулятор нормально работает

47642
47641

dan75
27.02.2020, 22:18
Добрый день!
Как можно узнать какой макрос у меня модифицирован в закрытом макросе ? В чистом проекте макрос пид регулятор нормально работает
Эммм... А ежели правой кнопкой на макрос, выделенный красным кликнуть, ОЛ не предлагает обновить макрос? Обычно обновление решает такие проблемы.

VladGC
28.02.2020, 07:00
Эммм... А ежели правой кнопкой на макрос, выделенный красным кликнуть, ОЛ не предлагает обновить макрос? Обычно обновление решает такие проблемы.

Это закрытый паролем макрос из онлайн базы, пароля нет
Да и обновить он не предлагает при ПКМ, такого пункта нет как обычно.
Я думаю что я изменил какой нибудь макрос, который участвует внутри этого но какой хз

dan75
28.02.2020, 08:35
Это закрытый паролем макрос из онлайн базы, пароля нет
Да и обновить он не предлагает при ПКМ, такого пункта нет как обычно.
Я думаю что я изменил какой нибудь макрос, который участвует внутри этого но какой хз

Из онлайн-базы? Ща скачаю, посмотрю. А что получается при клике к "перейти к модифицированному макросу" в левом нижнем углу экрана?

UPD: Стоп. Там из внутренних макросов отображается только fLimit+. Вы его не модифицировали?

VladGC
28.02.2020, 09:06
Из онлайн-базы? Ща скачаю, посмотрю. А что получается при клике к "перейти к модифицированному макросу" в левом нижнем углу экрана?
Просит пароль



UPD: Стоп. Там из внутренних макросов отображается только fLimit+. Вы его не модифицировали?

Да, модифицировал, однако в чистом проекте, если этот макрос трогать то ничего не происходит, то есть все хорошо

Андрей Чуб
10.03.2020, 00:22
Доброй ночи,помогите пожалуйста разобраться!не работает макрос "Преобразование int16 в float (INT16)" и функция чтение бита (EXTRACT),скриншот-47814

Сергей0308
10.03.2020, 03:43
Доброй ночи,помогите пожалуйста разобраться!не работает макрос "Преобразование int16 в float (INT16)" и функция чтение бита (EXTRACT),скриншот-47814

Хватит дурью маяться, Вы каждый элемент из ОЛ будете проверять? Всё там прекрасно работает, просто для начала придумайте какую-нибудь имеющую смысл программу, всё!
Если хотите проверить макрос, можно его открыть для редактирования и проверить в симуляторе, даже без имеющей смысл программы!

Алексеев
10.03.2020, 09:00
Доброй ночи,помогите пожалуйста разобраться!не работает макрос "Преобразование int16 в float (INT16)" и функция чтение бита (EXTRACT),скриншот-47814

Чтобы были результаты необходимо активизировать выходы например так 47816
или сделайте временно переменные энергонезависимыми и пометьте что это временно в примечании .

Это всегда не понятно когда первый раз симулируете .

Андрей Чуб
10.03.2020, 13:35
Чтобы были результаты необходимо активизировать выходы например так 47816
или сделайте временно переменные энергонезависимыми и пометьте что это временно в примечании .

Это всегда не понятно когда первый раз симулируете .

Я понял,спасибо за ответ! 47823

Андрей Чуб
10.03.2020, 13:50
Спасибо за ответ.

Вадим2881
19.03.2020, 16:18
надо вычесть один float из другого и сравнить с заданным. Где-то видел этот макрос но не могу найти...

Василий Кашуба
19.03.2020, 16:37
надо вычесть один float из другого и сравнить с заданным. Где-то видел этот макрос но не могу найти...
Сравнить можно только на Больше/Меньше, на равенство не получится.

Вадим2881
19.03.2020, 16:55
Да да, не правильно сказал. На больше или равно. Пол часа назад видел этот макрос и теперь не могу найти)). Понятно, что можно самому сделать но....

Василий Кашуба
19.03.2020, 17:42
Да да, не правильно сказал. На больше или равно. Пол часа назад видел этот макрос и теперь не могу найти)). Понятно, что можно самому сделать но....
Макрос не нужен, используйте ФБ fGT.

Вадим2881
20.03.2020, 09:21
Ааа нашёл! 2posUPReg сигнализатор величины за границу, в разделе управляющие и регулирующие модули

Maksim_shishov@mail.ru
20.03.2020, 13:18
Добрый день. Подскажите как реализовать Пид-регулятор с 2-мя релейными выходами (открыть-закрыть)?

Юрий Н
20.03.2020, 14:31
А что нужно регулировать?

Maksim_shishov@mail.ru
20.03.2020, 14:40
Подогрев паром ГВС, пар подается через задвижку.

Сергей0308
20.03.2020, 15:04
Добрый день. Подскажите как реализовать Пид-регулятор с 2-мя релейными выходами (открыть-закрыть)?

Вот, несколько лет назад делал регулятор для поддержания уровня в котле, уровень самый сложный параметр в плане регулирования, короче работает не плохо, лучше как другие делали на ПЛК(на другом котле)!
Делал для электропривода без датчика положения, с датчиком положения можно и ПИД-регулятор из ОЛ поставить! Затем мы заменили электропривод и поставили с датчиком положения, и я вывел положение, но только для визуального контроля!

47989

47994

47995

47996

47997

47998

47999

48000

48001

48002

Maksim_shishov@mail.ru
20.03.2020, 15:28
Спасибо за прогу

Юрий Н
20.03.2020, 21:31
Макрос в составе регулятора мощности модулируемой горелки. Регулировки по паузе и по ходу.

48007

Этим же макросом пробовал управлять обычным ТХК на отоплении. В принципе вполне ничего себе.
Все настройки привязывал к сетевым переменным, для отладки.

Константин Г
05.04.2020, 16:49
подскажите пожалуйста как сделать импульсное реле со сбросом как в лого софт?

Сергей0308
05.04.2020, 19:28
подскажите пожалуйста как сделать импульсное реле со сбросом как в лого софт?

Как вариант, можно из Д-триггера сделать:

48282

Так и с минимальным количеством элементов получается!

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

48285

Добавить два элемента для сброса: НЕ и 2И!

Или сделать на основе энергонезависимого RS-триггера(выкладывал на форуме не один раз):

https://owen.ru/forum/showthread.php?t=27872&page=12

https://owen.ru/forum/showthread.php?t=9398&page=521


48286

Короче, куча вариантов, глаза разбегаются!

Константин Г
06.04.2020, 10:01
Сергей0308 спасибо большое!

Pavel_
26.04.2020, 14:36
ftp-сервак упал? нет доступа в онлайн базу
48663
48665
48664

Ревака Юрий
26.04.2020, 14:42
Похоже да, попробую узнать.

Алексеев
05.05.2020, 12:35
Подошёл в проекте к PID регулированию котлами в проекте . Хочу использовать PID регулятор из онлайн базы потому что его
можно использовать в Макросах . Но столкнулся с ситуацией как вывести шаг дискретизации в переменную с целью
изменения уставки с дисплея и из мастер скады . Но такой возможности нету , а войти в макрос чтобы подкорректировать
и вывести этот параметр нету пароля . Как его добыть ????? И если не сложно можно ли указать где он находится .
48802 И еще вопрос почему он называется простым .??????
И почему он не выведен изначально ???? Хотя можно было вывести параметр смещения в сторону его увеличения .

Ревака Юрий
05.05.2020, 13:22
Подошёл в проекте к PID регулированию котлами в проекте . Хочу использовать PID регулятор из онлайн базы потому что его
можно использовать в Макросах . Но столкнулся с ситуацией как вывести шаг дискретизации в переменную с целью
изменения уставки с дисплея и из мастер скады . Но такой возможности нету , а войти в макрос чтобы подкорректировать
и вывести этот параметр нету пароля . Как его добыть ????? И если не сложно можно ли указать где он находится .
48802 И еще вопрос почему он называется простым .??????
И почему он не выведен изначально ???? Хотя можно было вывести параметр смещения в сторону его увеличения .

https://owen.ru/forum/showthread.php?t=17974&p=294331&viewfull=1#post294331

Алексеев
05.05.2020, 14:07
Спасибо . Теперь можно вывести наружу шаг дискретизации . .

Серёга Букашкин
05.05.2020, 14:10
Подошёл в проекте к PID регулированию котлами
Если на хвосте регулирующий клапан или заслонка с приводом, то использовать ФБ PID только вредно, мне он для котлов ни разу не понадобился, ибо у котлов обычно именно регулирующий элемент с приводом . Сам привод и есть интегратор, потому что остается как был при откл управления Больше/Меньше.

Серёга Букашкин
05.05.2020, 16:35
регулирование происходит по температуре после котла . В моем случае в котельной находятся несколько котлов
Это известная тема, т.н. "главный регулятор", распределяющий задание Т воды по включенным котлам. Конечно все регуляторы в результате реализуют ПИД, я про то что если интегрирование естественное на исполнительном звене, то ФБ PID теряет свою главную функцию, она становится не нужна.

Юрий Н
05.05.2020, 17:55
[B]с котлами нашего производства работающие в режиме
запальник 5% горелка 100% мощности . В котельной пока до 3х штук .
А что за горелки? Поконкретнее можно?

Юрий Н
05.05.2020, 18:59
Я уже поднимал эту тему. https://owen.ru/forum/showthread.php?t=32428
К сожалению пока проект завис. поставили FantiniCosmi EV87, каскадным регулятором, по 4 точкам графика.

Серёга Букашкин
06.05.2020, 09:38
А как правильно подсчитать количество котлов?. А с PID регулятором всё просто.
В каскадном регулировании Т сетевой воды собственно регулятор не главное. Если делать совсем автомат, то сложнее будет управлять самими котлами (разжигать, останавливать), тем более в свободной последовательности, учётом что какой то котел не может работать, остановлен по аварии и т.п. А если отдавать сигналы о розжиге /останове человеку-оператору, то всё проще, он сам знает какой котел ему следует добавить/ убавить. А как у Вас? Полный автомат без участия человека?

bayk
07.05.2020, 20:59
мне вот только одно непонятно, ведь у котлов есть время розжига, стабилизации, тепловой инерции.... как может простой пид справляться с этой задачей "в лоб"? насколько это все эффективно работает?
я не саркастирую, я просто интересуюсь, поскольку сам на ПЛК таких задач никогда не решал.

Сергей0308
08.05.2020, 00:51
На каждом котле есть функция "дистанционное/ местное" управление . Котельные без операторов . Полный Автомат 48838 Диспетчера самые главные и вызывают аварийные бригады если необходимо .
А здесь уходят на ночь и выходные 48840
Пока мало будет в этом году ++ ещё 13. Уже с ПР200.

Приходит оператор наладчик если есть такая необходимость переводит в "местное управление" и управляет .
На обще-котельном блоке тоже есть чтобы нельзя было его запустить из мастер скады диспетчером .
Уходит все переводит в дистанционное уже привыкли , раньше забывали .
При Аварии котла Обще - котельный блок ( в начале перезапускает 3 раза ) если не удачно выводит его из каскадного регулирования .

Если горелка 2 х позиционная если рассчитано что она должна работать на малом горении то на блок управления
горелкой подается Т заданная << Т выхода - 2 град если на большом то Т заданная >> Т выхода + 10 град .
Все значения постоянно корректируются .
Если горелки с плавным регулированием . То в начале выводится 1 котел температурой Т заданной передаваемой
из общекотельного блока до 95 град и т.д.
Все функции присутствуют например чередования каждые 3 дня и многое другое . Это всё работает на других ПЛК .

Стоит задача это реализовать на ПР200 используя их родной PID раньше был встроенный неудобно нельзя было упаковать в Макрос .

Сейчас проверяю и отлаживаю работает PID нормально . 48837

Я здесь согласен, что с помощью ПИД-регулятора управление каскадом будет более универсальным, чем тупо по температуре на улице(подобное здесь делали: https://owen.ru/forum/showthread.php?t=32428&page=4), но тогда логично, как мне кажется, ещё следующий шаг к универсальности, чтобы при управлении выбиралось только количество котлов необходимое для работы(в зависимости от значения на выходе ПИД-регулятора, а уже схема ротации и АВР(здесь подобное делали: https://owen.ru/forum/showthread.php?t=12691&page=41) сама выбирает какие котлы запускать в работу, у вас, как я понял, выход ПИД-регулятора жёстко привязан к включению-выключению конкретного котла?!

Юрий Н
08.05.2020, 08:15
чем тупо по температуре на улице(подобное здесь делали: https://owen.ru/forum/showthread.php?t=32428&page=4),
И чем мой вариант сильно отличается от этого варианта?
Тем что у меня напрямую привязано к температуре, а здесь к мощности?
Определяющий фактор все равно, тупо, температура.

48884 48885

Сергей0308
08.05.2020, 08:31
И чем мой вариант сильно отличается от этого варианта?
Тем что у меня напрямую привязано к температуре, а здесь к мощности?
Определяющий фактор все равно, тупо, температура.

48884 48885

Я рассматриваю универсальные методы, на конкретном объекте может Вам и не нужны ни какие регуляторы управления каскадом, просто от температуры на улице включаете в работу необходимое количество котлов!

Юрий Н
08.05.2020, 13:29
просто от температуры на улице включаете в работу необходимое количество котлов!
Совершенно верно. Мне нужно напрямую, от эквитермы управлять котлами. В том варианте прикручен костыль в виде ПИД. Я не вижу в нем надобности. :)

В данном проекте горелки на котлах имеют режим регулирования 5% - 100% мощности .
Постоянно запальник включен на каждом котле 5% мощности
А что за горелки? Ранее вроде были озвучены атмосферники.

Filini
08.05.2020, 16:56
В режим частого старт-стоп эти запальники выходят из строя.

Сергей0308
08.05.2020, 17:20
Запальник в котлах типа БАРС или вы знаете котлы RS там запальник -- такая же трубка горелки .
Мощность запальника зависит от мощности горелки . 5% это условно ею иногда пренебрегают , но
если отсутствует разбор тепла выходит в Аварию по перегреву .
В этом случае мы предусмотрели без аварийный останов - если температура превышает на много больше заданной .
но если она продолжает расти то уже Авария . 48889 -- 48890


Когда Вы попробуете работать с мощностью ( рассчитанной PID регулятором ) Вам станет всё очевидно .
Многие со мной спорили но когда реализовали формулу PIDа в Excel и посмотрели результата без спорно согласились .

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

Только коэффициенты нужно подобрать правильные чтобы не было раскачивание ( частых включений и выключений
всех котлов одновременно ) ,а в настроенном котел должен оставаться один который включается/выключается это в моем
проекте .

Здесь мне не понятно, если котёл не нужен для работы зачем запальник жечь? Когда потребуется для работы, поступит команда, тогда и начинать процесс розжига с вентиляции и проверки на герметичность, затем запальник запалить и разжечь горелку!

Юрий Н
09.05.2020, 08:43
Это безопасность .
На таких котлах нет понятия проверки на газоплотность .
На газоплотность проверяются блоки клапанов, а не котлы.

Горит он себе и горит весь отопительный сезон . .
Этим запальником управляет отдельный клапан? Он ЭМ?

zimm2010
25.05.2020, 12:55
Добрый день Юрий! Возможно ли в ПР200 устанавливать бит с экрана и сбрасывать его программно?

Сергей0308
25.05.2020, 13:09
Добрый день Юрий! Возможно ли в ПР200 устанавливать бит с экрана и сбрасывать его программно?

Наверно, как-то примерно так:

49245

49246

Сергей0308
14.06.2020, 22:30
Доброго всем времени. Подскажите пожалуйста есть ли макрос преобразования float в int не с отбрасыванием а с округлением. Форум не удобно организован, обыскался не нашел. В менеджере компонентов онлайн вроде старые макросы с полностью повторяющимися функционалом имеющиеся в самом OL. В архив бы что ли их перенесли, что бы не мешались. Спасибо.

И что Вам не удобно, преведущий пост посмотреть, перед тем как писать:

49637

Надеюсь, следующим вопросом не будет вопрос: как передать в инт-е отрицательные значения?!

Ревака Юрий
15.06.2020, 08:09
Зато в онлайн базе макросов есть абсолютно бестолковый 4НЕ, новичку его "сделать" в 10 раз быстрее, чем найти (если кому то взбредет такое искать) прочитать и вставить в проект. Ещё какой то sel, которые и так есть в базовых функциях самого OL. Почистили бы онлайн базу компонентов, неактуальные в архив. OL иногда глючит что 16 что 17 версии при создании связей. В вашем скриншоте и проекте мне (как начинающему) разобраться дольше времени (шлишком много элементов), чем самому его написать. Видел скриншот внутренности не совсем разобрался, цифры друг на друга наложены не совсем было понятно, вроде не для моей задачи. Сейчас скачал пришлось раздвинуть полотно на 500 что было видно как там цифры меняются.
Не могу привыкнуть к форуму, поиск мне кажется недоделанный. Навигация так же не вижу "дерева". Хотел макрос сейчас прикрепить, "некорректный файл" надо его в zip запаковать? или конфигурационные файлы так же? Юзабилити мне не очень. В этом плане очень удобно организовано на 4пда.

Некоторым макросам больше 5 лет, и они часто входят в состав более сложных макросов, поэтому они будут скачиваться с другими, FSEL был встроен в основную программу, раньше его не было, и он входит в состав большинства макросов, оставлен для совместимости, ну и самые простые типа 4ИЛИ, 4НЕ тоже многим нужны, если для вас он бестолковый, то кому-то экономит время. В последнее время мало запросов на новые макросы, нужно посмотреть, может что-то еще добавим.

Andrei Z
03.07.2020, 22:08
Макрос ПЧВ 1,2 будет работать с ПЧВ 3 по RS485? для управления ПР 200 частотниками

Ревака Юрий
04.07.2020, 18:53
Макрос ПЧВ 1,2 будет работать с ПЧВ 3 по RS485? для управления ПР 200 частотниками

Судя по его названию (1,2) скорее всего без доработки нет, нужно сверять адреса регистров в ПЧВ.

piran05
26.07.2020, 00:50
Добрый день Юрий. В OWEN Logic есть макрос реле времени в котором задается время программно есть макрос реле времени но регулирующий с аналогового входа при помощи переменного сопротивление, хочу убрать внешние реле времени.

west
26.07.2020, 16:27
есть макрос реле времени в котором задается время программно есть макрос реле времени но регулирующий с аналогового входа при помощи переменного сопротивление, хочу убрать внешние реле времени.
обозначили хотя бы для начала какое ПР и имя макроса...

Ревака Юрий
27.07.2020, 07:54
Добрый день Юрий. В OWEN Logic есть макрос реле времени в котором задается время программно есть макрос реле времени но регулирующий с аналогового входа при помощи переменного сопротивление, хочу убрать внешние реле времени.

Где вопрос а где утверждение я так и не понял:D, но догадываюсь о чем речь, для этого достаточно таймеров из OwenLogic, запись значений через write to FB, значение с аналогового входа конвертировать в int, уставка в мс, делая масштабирование можно двигать границы, но вообще с экрана, думаю проще будет и дешевле https://youtu.be/7XlMjFgQkoA

nikson78
27.07.2020, 08:31
Макрос ПЧВ 1,2 будет работать с ПЧВ 3 по RS485? для управления ПР 200 частотниками

Командное слово и задание работает, испытано на ПЧВ3 37КВТ+Овен ПР200 версия ОЛ 1.17.249

piran05
27.07.2020, 21:52
обозначили хотя бы для начала какое ПР и имя макроса...

В данный момент стоит ПР102-230 в дальнейшем думаю перейти на ПР102-24, имя макроса не знаю я небольшой специалист программировании но написал программу для ПР. Суть дела на кирпичном прессе стоит ПР102 есть две позиции которые нужно изменять изменять рабочему обслуживающий данный станок это время засыпки сырья и время прессования, для этих целей стоит наружный таймер (реле времени) которые он корректирует по обстоятельствам. Вопрос как убрать внешний таймер и подключить внутренний таймер используя аналоговый вход с подключенным к нему переменный резистор ( регулировка от 1-5 секунд). Экран не предусматриваеться.

Алексеев
27.07.2020, 22:36
В данный момент стоит ПР102-230 в дальнейшем думаю перейти на ПР102-24, имя макроса не знаю я небольшой специалист программировании но написал программу для ПР. Суть дела на кирпичном прессе стоит ПР102 есть две позиции которые нужно изменять изменять рабочему обслуживающий данный станок это время засыпки сырья и время прессования, для этих целей стоит наружный таймер (реле времени) которые он корректирует по обстоятельствам. Вопрос как убрать внешний таймер и подключить внутренний таймер используя аналоговый вход с подключенным к нему переменный резистор ( регулировка от 1-5 секунд). Экран не предусматриваеться.

Зачем Вам переменный резистор ???? Есть кнопка без фиксации . Есть макросы одно нажатие , два нажатия т.д .
Есть светодиод на выход ( бывает на 220В и есть на 24В ) один раз моргает 1 сек 2 раза 2 сек и так далее .
Моргает допустим 2 сек -- два раза часто потом пауза более длинная . Я не думаю что нужно 1.5 сек

piran05
27.07.2020, 23:08
Зачем Вам переменный резистор ???? Есть кнопка без фиксации . Есть макросы одно нажатие , два нажатия т.д .
Есть светодиод на выход ( бывает на 220В и есть на 24В ) один раз моргает 1 сек 2 раза 2 сек и так далее .
Моргает допустим 2 сек -- два раза часто потом пауза более длинная . Я не думаю что нужно 1.5 сек

Сейчас посмотрю что с этого получиться.

Алексеев
27.07.2020, 23:25
Сейчас посмотрю что с этого получиться.

Я имел ввиду вот этот макрос 50360 Вы наверное поняли.
10 раз можно тоже без проблем посчитать если нужна более точная настройка через 0.5 сек

Ревака Юрий
28.07.2020, 11:17
В данный момент стоит ПР102-230 в дальнейшем думаю перейти на ПР102-24, имя макроса не знаю я небольшой специалист программировании но написал программу для ПР. Суть дела на кирпичном прессе стоит ПР102 есть две позиции которые нужно изменять изменять рабочему обслуживающий данный станок это время засыпки сырья и время прессования, для этих целей стоит наружный таймер (реле времени) которые он корректирует по обстоятельствам. Вопрос как убрать внешний таймер и подключить внутренний таймер используя аналоговый вход с подключенным к нему переменный резистор ( регулировка от 1-5 секунд). Экран не предусматриваеться.

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

piran05
28.07.2020, 21:34
На версии 24В используем вход AI в режиме измерения сопротивления, дальше масштабируем и на вход таймера. Положение резистора откалибровать, сделать засечки, должно работать, или через дискретный вход, это будет более точно.
С аналоговым попробую хотя как сказать Вы мне направление дали а что с собой взять не сказали попробую разобраться. Почему через дискретный точнее и как реализовать на примере. Хотя я программу и написал для пресса я Овеном знаком месяц так что руками покажи куда идти.

Ревака Юрий
29.07.2020, 09:10
С аналоговым попробую хотя как сказать Вы мне направление дали а что с собой взять не сказали попробую разобраться. Почему через дискретный точнее и как реализовать на примере. Хотя я программу и написал для пресса я Овеном знаком месяц так что руками покажи куда идти.

Тут https://owen.ru/forum/showthread.php?t=25067&p=336942&viewfull=1#post336942 дал ссылку на пояснения по работе с таймерами, в ней есть ссылка на пример, это 90% проекта, осталось добавить макрос SCALE из базы для масштабирования сопротивления со входа в секунды и подать его на вход записи одного из таймеров. в общем-то и все. С дискретным можно взять счетчик CTN, две кнопки подать на счет вверх/вниз, выход*1000 подать на тот же вход, куда перед этим подавали преобразованное сопротивление, только сделать блокировки чтоб меньше 0 нельзя было задавать.

Dima.Silorov
04.08.2020, 07:15
Добрый день!
ПР-200. Разбирался с макросом Pt100, загруженным с он-лайн библиотеки.
Особенность в этом месте:
50492
Получается такая себе "защелка". При превышении сопротивления на входе на определенное значение, результат вычисления корня из отрицательного значения становится "не числом" и "защелкивается" на выходе.
50493.
Обратно не срабатывает из-за особенностей реализации макроса тернарной операции сравнения.
Практически выглядит так, что при обрыве входа (датчика) значение температуры становится равным нулю.
Починил просто - изменил ограничение по "верху" сопротивления:
50494

Ревака Юрий
04.08.2020, 09:21
Обратно не срабатывает из-за особенностей реализации макроса тернарной операции сравнения.
Практически выглядит так, что при обрыве входа (датчика) значение температуры становится равным нулю.
Починил просто - изменил ограничение по "верху" сопротивления:
50494

Да, в pt1000 так и сделано, в 100 не замечал такого поведения, нужно будет добавить и туда.

Dima.Silorov
04.08.2020, 09:51
В макросе TIME U\D при достижении уставки продолжает считать дальше...
И две циклические связи внутри, может, из-за них?
50495
И не хвататет битовых выходов, что счет закончен.
Вход сброса зависим от разрешения на подсчет, т.е. счетчик не получается сбросить, если он считает.

Ревака Юрий
05.08.2020, 19:38
В макросе TIME U\D при достижении уставки продолжает считать дальше...
И две циклические связи внутри, может, из-за них?
50495
И не хвататет битовых выходов, что счет закончен.
Вход сброса зависим от разрешения на подсчет, т.е. счетчик не получается сбросить, если он считает.

Продолжает считать дальше - это в симуляции? Обратные связи не должны влиять, а вот режим симуляции может, если запускать счет сразу после включения симуляции, в зависимости от настроек, там внутри сакрос подсчета времени цикла, ему необходимо минимум пол секунды (время в режиме симуляции) для расчета, если старт сделать до окончания этого времени, поведение макроса может быть некорректным. В железе такого не замечал, обычно все успевает расчитаться.

Dima.Silorov
15.08.2020, 19:23
Нет, не в симуляции. Моя программа не работает корректно в симуляции, только на реальном оборудовании

dan75
15.08.2020, 20:50
Нет, не в симуляции. Моя программа не работает корректно в симуляции, только на реальном оборудовании

Всё правильно. Эта уставка -- не что иное, как начальное значение для режима обратного отсчёта. В режиме прямого счёта она не действует. Так написано в описании макроса.

молодой
14.09.2020, 19:45
сделал макрос который выдает день надели. как им поделиться с другими, может кому надо?

Сергей0308
14.09.2020, 20:26
сделал макрос который выдает день надели. как им поделиться с другими, может кому надо?

Боюсь Вы немного опоздали, на несколько лет, такой макрос уже есть от AI, хотите сказать ваш проще этого:

51041

Анатолий 7879
25.09.2020, 09:37
Здравствуйте . Сейчас работаю над освещением жилого дома с обычными выключателями света( переключатели) Сделал макрос : Просто включаешь выключатель свет включается и выключается . Если быстро включаешь и выключаешь то свет гаснет через 20 секунд. Сделанно для спальни выключать перед сном . При этом если свет был включен то переключаешь выкл- вкл -выкл и свет гаснет также через 20 сек. При таком переключение свет также не моргает. Кому интересно пишите вышлю макрос по тестируете , может какую ошибку найдете. Также мне интересно если у кого есть готовые макросы для жилых помещений, домов, квартир.

Ревака Юрий
25.09.2020, 10:23
Здравствуйте . Сейчас работаю над освещением жилого дома с обычными выключателями света( переключатели) Сделал макрос : Просто включаешь выключатель свет включается и выключается . Если быстро включаешь и выключаешь то свет гаснет через 20 секунд. Сделанно для спальни выключать перед сном . При этом если свет был включен то переключаешь выкл- вкл -выкл и свет гаснет также через 20 сек. При таком переключение свет также не моргает. Кому интересно пишите вышлю макрос по тестируете , может какую ошибку найдете. Также мне интересно если у кого есть готовые макросы для жилых помещений, домов, квартир.

Добрый день.
Делал примеры для разных модификаций ПР (100, 102, 200) с разными сценариями, там и ТЗ и проекты https://youtu.be/kE0sobkGYLA, https://youtu.be/ccxMDOiI-YY

Анатолий 7879
25.09.2020, 15:06
Спасибо , посмотрю