PDA

Просмотр полной версии : ПР200 - Проблема с работой программы



Aleks Che
30.11.2024, 20:27
Всем добра. В тупике, самостоятельно не могу понять.
Собрал простой щит реверсивного управления двигателем с логикой на ПР200-220.24.2.0, выносной кнопочный пост и блок сигнальных ламп. В ручном режиме магнитные пускатели нормально отрабатывают, а вот в автоматическом режиме не хотят работать - напряжения на дискретных выходах в автоматическом режиме нет (те же самые выходы что и в ручном режиме). В симуляции ОВЕН Logic программа нормально отрабатывает. Пробую в онлайн отладке проверить - и вот тут какая то чехарда: в "ручной части", где щит (физически) нормально работает отсутствует половина значений на входах/выходах функций и блоках. А в "Автоматической" части программы все значения присутствуют, но в режиме онлайн отладки цепочка отказывается реагировать на нажатие кнопки и подачи напряжения на дискретный вход I6 (хотя мультиметр подцепил на этот вход и он показывает 23.8 вольта). ОВЕН logic последнего релиза.

80472

80475

80476

саму программульку прикрепил.

На пр200 грешить или я сам где то туплю?

FPavel
30.11.2024, 20:44
Не знаю исправили или нет, в режиме онлайн отладки было ограничение на количество отображаемых состояний, т.е. не всё показывало. Чтобы увидеть - нужно только фрагмент схемы рассматривать.

Увеличте масштаб и посмотрите не на всю схему, а только на интересующий участок.

Aleks Che
30.11.2024, 20:50
Так. немного двигаюсь... Зафиксировал в режиме онлайн отладки значения кнопки стоп/пауза и переключателя режимов "Ручной/Автоматический". И тут же принудительно поменял значение "0" на значение "1" на входе I6. И о чудо - магнитные пускатели в щитке физически начали работать в автоматическом режиме.

80477

Походу программа глючит в приборе.

FPavel
30.11.2024, 20:57
В программу я бы добавил инициализацию - лог.1 ко входу TON на 1-2 секунды - выход переменная bInitDone, по которой разрешается работа, а также производится инициализация (например, установка в выключенное состояние при включении питания).

Кроме того, непонятно, почему управление Руч-Авт реализовано через выделение фронта - это же входы с фиксацией.

На данном скрине видно, что на вход сброса RS5 приходит импульс от выделения фронта от входа Авт и лог.1 от состояния кнопки Стоп. Поэтому режим автоматический не активен.

FPavel
30.11.2024, 21:03
Походу программа глючит в приборе.
Нет, содержит ошибки. Нужно исправлять.

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

Пусть в ручном режиме управление импульсное - от кнопок без фиксации.
Значит нужно отдельно сформировать состояния (RS-триггеры) "РУЧНОЕ ВПЕРЁД", "РУЧНОЕ РЕВЕРС". Эти состояния сбрасываются в лог.0 при включении питания и при других условиях (нажата кнопка противоположного вращения, кнопка СТОП, нет состояния РУЧНОЕ и другие по требованию задания).
Т.е. для РУЧНОГО режима кнопки ВПЕРЁД и РЕВЕРС обрабатываются через RTRIG, а переключатель РУЧНОЕ - без выделения фронта.

Также, при импульсном управлении необходимо выполнить фильтрацию входов от помех - использовать схему подавления дребезга контактов на 20-200 мс.
В библиотеке компонентов такой есть DI_Filt

Назначение кнопки ПУСК не понял. Но это и не главное для меня.

Aleks Che
30.11.2024, 21:13
Так, парни. Все ваши комменты читаю, буду с ними разбираться.
Но глюк, кажется выловил - тригер по переднему фронту не пускает через себя сигнал. Поэтому и дальше цепочка (автоматическая) не работает


https://youtube.com/shorts/C7hgDySCl1A

Сергей0308
30.11.2024, 21:15
Не так давно в какой-то теме подобную программу обсуждали:

80478

80479

Короче, может прежде чем изобретать велосипед, посмотреть, что продают в велосипедных магазинах?

Aleks Che
30.11.2024, 21:25
Не так давно в какой-то теме подобную программу обсуждали:

80478

80479

Короче, может прежде чем изобретать велосипед, посмотреть, что продают в велосипедных магазинах?

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


https://youtube.com/shorts/98kQRfFRR_E?feature=share

Сергей0308
30.11.2024, 21:42
Все таки глюк обработки программы прибором получается... Функциональный блок триггер по переднему фронту не пропускает через себя единичку. Это все в режиме онлайн отладки


https://youtube.com/shorts/98kQRfFRR_E?feature=share

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

МихаилГл
30.11.2024, 21:44
youtube в моей стране не работает - останетесь без совета, если не прикрепите видео к сообщению.

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

Только вот вопрос, а с триггера 1 вроде выходит только на 1 цикл работы... А вы пытаетесь его так отловить? Поставьте на выходе счетчик и пусть считает импульсы...

PS Зачем еще и последовательно р триггеры поставили? Это что за ноу хау?

Aleks Che
30.11.2024, 21:51
Вам же сказали, что в онлайн отладке ограничения, мне в принципе не понятно зачем нужна онлайн отладка в столь простом случае, в смысле, здесь и симулятора за глаза хватит!
Тогда и подобных проблем не будет!

Так в симуляторе все отлично работает. Вот в чем загвоздка. Я специально в первом посте прикрепил программку, что бы любой мог убедиться в этом. На входе I2 постоянная единица (кнопка стоп/пауза нормально закрытая) и на входе I5 постоянная единица (переключатель режимов в положении "Авто"). И подаем "Единицу" на вход I6 ("нажимаем" на кнопку "Пуск Авто). По умолчанию 5 секунд вперед, 1 секунда стоп/пауза, и 5 секунд Реверс (уставками время "Вперед" и "Реверс" можно менять с экрана прибора).

Aleks Che
30.11.2024, 21:54
Там ничего интересного, нажимает кнопку, на вход сигнал и поступает, а с триггера ноль...

Только вот вопрос, а с триггера 1 вроде выходит только на 1 цикл работы... А вы пытаетесь его так отловить? Поставьте на выходе счетчик и пусть считает импульсы...

PS Зачем еще и последовательно р триггеры поставили? Это что за ноу хау?

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

МихаилГл
30.11.2024, 21:56
Зачем вы вообще там триггеров навтыкали на определение сигнала. У вас там и так rs триггера нормально должны работать, если логика правильная...

Aleks Che
30.11.2024, 21:59
Зачем вы вообще там триггеров навтыкали на определение сигнала. У вас там и так rs триггера нормально должны работать, если логика правильная...

Суть вопроса же не в количестве триггеров.

МихаилГл
30.11.2024, 21:59
Вариантов реализации может быть много. я отлавливать ничего не собираюсь. Триггер просто должен пропускать команду. В симуляции же он пропускает "единичку". Он эту команду не хочет пропускать в онлайн отладке (может ограничения у него там какие, как уже говорили выше), но он ее и в реальной работе не пускает через себя.

С чего вы взяли что он не пропускает? Эта единичка там 10 мс живет всего, или сколько там цикл у реле...

Aleks Che
30.11.2024, 22:19
С чего вы взяли что он не пропускает? Эта единичка там 10 мс живет всего, или сколько там цикл у реле...

Убрал я этот триггер (который первый идет со входа I6). Перезалил программу в прибор. Но теперь следующий триггер также не пропускает через себя единичку.

Aleks Che
30.11.2024, 22:21
Вам же сказали, что в онлайн отладке ограничения, мне в принципе не понятно зачем нужна онлайн отладка в столь простом случае, в смысле, здесь и симулятора за глаза хватит! Вы же знаете как должен работать алгоритм.
Тогда и подобных проблем не будет!

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

МихаилГл
30.11.2024, 22:25
Убрал я этот триггер (который первый идет со входа I6). Перезалил программу в прибор. Но теперь следующий триггер также не пропускает через себя единичку.

Ну поставьте счетчик и проверьте, есть там импульсы, или просто они не успевают отобразиться. А во вторых, у вас RS триггер, с приоритетом сброса. По первому скрину у вас на сбросе уже 1... Я бы скачал исходник, но придется обновлять лоджик, а мне это сейчас не к чему..

МихаилГл
30.11.2024, 22:27
Так в симуляторе все работает, а в реале не работает. Пытаюсь разобраться в чем затык. Если уж как вы говорите "в столь простом случае" онлайн отладка не работает", то о чем тогда говорить, если посложнее будет задачка...

Есть такая проблема не только в реле ПР. В ПЛК210 мне пришлось почти полностью переписывать логику работы, так как реальное железа работало совсем не так, как думал я.

МихаилГл
30.11.2024, 22:32
Так в симуляторе все работает, а в реале не работает. Пытаюсь разобраться в чем затык. Если уж как вы говорите "в столь простом случае" онлайн отладка не работает", то о чем тогда говорить, если посложнее будет задачка...

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

Aleks Che
30.11.2024, 22:37
Ну поставьте счетчик и проверьте, есть там импульсы, или просто они не успевают отобразиться. А во вторых, у вас RS триггер, с приоритетом сброса. По первому скрину у вас на сбросе уже 1... Я бы скачал исходник, но придется обновлять лоджик, а мне это сейчас не к чему..

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


https://youtu.be/03LC6YGpjUI

Aleks Che
30.11.2024, 22:46
В тех поддержку буду писать. Они там умные, посмотрим что они ответят.

kondor3000
30.11.2024, 22:49
В симуляции триггер нормально пропускает единичку (как и должен). Проверяется это элементарно - пошаговая симуляция, там видно что единица через него проходит на цикле. В реале же затыки.


Проблема у вас по ходу не в программе, а в помехах от магнитных пускателей.
Прилетает скорее всего по Стопу и прога останавливается. Триггер с приоритетом сброса и фильтров никаких нет.

FPavel
30.11.2024, 23:02
Я бы сделал примерно такое управление - с минимумом выделения фронтов, с подавлением дребезга. Ну и ещё фильтры в свойствах входов настроил на 0,1-0,2 с.

В примере показал только обработку входов и не рассматривал автоматическое управление. Не рассматривал ошибки от одновременного прихода сигналов РУЧНОЕ/АВТОМАТ, не делал паузы перед пуском и реверсом. Это просто пример обработки входов с импульсным управлением.

МихаилГл
30.11.2024, 23:07
Я обычно для реверсивных механизмов при нажатии кнопки пуска в противоположную сторону делаю программный стоп. И да, в таких случаях желательно как раз фронт отлавливать: нажал пуск в другую сторону, и этот импульс тормозит все, и не запускает сразу в другую сторону. Один раз забыл это сделать, и контакторы сразу переключались, пока жал кнопку несколько циклов программы проходило. Поэтому фронт возможно нужен, но это надо внимательно смотреть...

Aleks Che
30.11.2024, 23:15
Проблема у вас по ходу не в программе, а в помехах от магнитных пускателей.
Прилетает скорее всего по Стопу и прога останавливается. Триггер с приоритетом сброса и фильтров никаких нет.

Фильтры дефолтные в настройках подойдут? имею ввиду поправить их, скажем так до 100 мс

80483

Aleks Che
30.11.2024, 23:19
Проблема у вас по ходу не в программе, а в помехах от магнитных пускателей.
Прилетает скорее всего по Стопу и прога останавливается. Триггер с приоритетом сброса и фильтров никаких нет.

Интересная идея. Буду проверять ее. Подумаю как это попроще и поэлегантнее проверить

МихаилГл
30.11.2024, 23:23
Интересная идея. Буду проверять ее. Подумаю как это попроще и поэлегантнее проверить

Ресет вход откинуть и на константу 0 посадить...

Aleks Che
30.11.2024, 23:23
Я бы сделал примерно такое управление - с минимумом выделения фронтов, с подавлением дребезга. Ну и ещё фильтры в свойствах входов настроил на 0,1-0,2 с.

В примере показал только обработку входов и не рассматривал автоматическое управление. Не рассматривал ошибки от одновременного прихода сигналов РУЧНОЕ/АВТОМАТ, не делал паузы перед пуском и реверсом. Это просто пример обработки входов с импульсным управлением.

Спасибо за помощь. Насчет дребезга усвоил, поиграюсь с фильтрами дискретных входов. Насчет алгоритма реализации ТЗ - сейчас для меня главное понять причину почему триггеры тупят именно на автоматической части проекта (в ручной части тоже есть такие же триггеры, но они работают без замечаний). Одновременного прихода Ручное/Автоматическое быть не может в моем случае - трехпозиционный переключатель через среднее разомкнутое положение.

FPavel
30.11.2024, 23:29
Одновременного прихода Ручное/Автоматическое быть не может в моем случае - трехпозиционный переключатель через среднее разомкнутое положение.
Поломка переключателя, импульсная помеха, заливка водой, металлический мусор в корпусе...

МихаилГл
30.11.2024, 23:32
Поломка переключателя, импульсная помеха, заливка водой, металлический мусор в корпусе...

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

PS Да, ляпнул так ляпнул. Силикон только на кнопки.

Сергей0308
30.11.2024, 23:37
Спасибо за помощь. Насчет дребезга усвоил, поиграюсь с фильтрами дискретных входов. Насчет алгоритма реализации ТЗ - сейчас для меня главное понять причину почему триггеры тупят именно на автоматической части проекта (в ручной части тоже есть такие же триггеры, но они работают без замечаний). Одновременного прихода Ручное/Автоматическое быть не может в моем случае - трехпозиционный переключатель через среднее разомкнутое положение.

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

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

Ну ТС там достаточно еще 2 элемента "И" Поставить...

Есть руч и нет авт для ручного, ну и наоборот для автомата.

In_Da_Cher_A
01.12.2024, 09:35
одновременной подачи сигналов ручного и автоматического режимав принципе не должно быть, при грамотно нарисованной схеме управления

Aleks Che
01.12.2024, 15:44
Всем привет. Путем несложных логических рассуждений и перекидкой пары контактов, кажись, смог обойти проблему с затыком в автоматическом режиме функционального блока триггера по переднему фронту. Сделал кнопку СТАРТ/СТОП (вход I2) нормально открытой, чтобы на дискретном входе 24 вольта не было постоянного напряжения. Ну и соответственно в программе убрал пару функций "НЕ" с этой линии. Теперь на железе все работает как часы. Видимо когда на дискретном входе (в моем случае на входе I2 24 вольта) висит постоянная единица, то это дает "неперевариваемые" для ПР200 помехи и ФБ начинает тупить. Хотя с другой стороны, на входе I5 тоже висит постоянное напряжение (переключатель в положение АВТО), но это не мешает нормальному функционированию ФБ. В итоге все нормально сейчас. Тех. поддержку озадачил этим наблюдением, интересно будет ознакомиться с их мнением по этому поводу.
Всем спасибо за желание поучаствовать в обсуждении. Все пожелания и замечания в реализации вариантов логики обязательно рассмотрю.

kondor3000
01.12.2024, 17:23
Всем привет. Путем несложных логических рассуждений и перекидкой пары контактов, кажись, смог обойти проблему с затыком в автоматическом режиме функционального блока триггера по переднему фронту. Сделал кнопку СТАРТ/СТОП (вход I2) нормально открытой, чтобы на дискретном входе 24 вольта не было постоянного напряжения. Ну и соответственно в программе убрал пару функций "НЕ" с этой линии. Теперь на железе все работает как часы. Видимо когда на дискретном входе (в моем случае на входе I2 24 вольта) висит постоянная единица, то это дает "неперевариваемые" для ПР200 помехи и ФБ начинает тупить. Хотя с другой стороны, на входе I5 тоже висит постоянное напряжение (переключатель в положение АВТО), но это не мешает нормальному функционированию ФБ. В итоге все нормально сейчас. Тех. поддержку озадачил этим наблюдением, интересно будет ознакомиться с их мнением по этому поводу.
Всем спасибо за желание поучаствовать в обсуждении. Все пожелания и замечания в реализации вариантов логики обязательно рассмотрю.

Только выводы не правильные, вся проблема по входу I2, в том что там RS триггер с приоритетом сброса.
Всё что нужно было сделать, поставить таймер TOF на 0.1-0.2 сек по входу. По хорошему все R-Trig надо было заменить на таймеры TON на 0.1-0.2 сек. устранив все помехи по входам.
А так же нужен фильтр по питанию на ПР200.

Aleks Che
01.12.2024, 18:24
Только выводы не правильные, вся проблема по входу I2, в том что там RS триггер с приоритетом сброса.
Всё что нужно было сделать, поставить таймер TOF на 0.1-0.2 сек по входу. По хорошему все R-Trig надо было заменить на таймеры TON на 0.1-0.2 сек. устранив все помехи по входам.
А так же нужен фильтр по питанию на ПР200.

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