PDA

Просмотр полной версии : Скорость работы обычных выходов ПЛК



Sulfur
31.01.2019, 22:22
Имеется ПЛК110-60-К и частотник с функцией позиционирования. Координата одна, относительная и задается по модбасу с ПЛК (с этим нет проблем). Выходы ПЛК (например DO10 и DO11) подключены напрямую ко входам управления частотника. Логика такая: в нужный момент DO10=TRUE на 1.5с (включить двигатель), и через 0.1с (100мс) DO11=TRUE на время 0.6с (начать перемещение в заданную позицию). Если оба сигнала приходят одновременно, либо DO11 опережает DO10, то позиционирование не работает. Т. е. имеет место пропуск. Подобный алгоритм неоднократно использовал на ПЛК110[M2], но на FDOхх, проблем не было. На старых ПЛК в момент подачи питания происходят неконтролируемые срабатывания "быстрых" выходов еще до запуска программы, что нежелательно, поэтому решил использовать обычные. Однако поимел проблемы с пропусками в работе. Происходит это крайне нерегулярно и без какой либо логики. Может работать день без сбоев, а может за 10 минут раз 5-6 пропустить. Программа простенькая, суровой математики нет, однако используется маленький программный модуль в системном таймере 20мкс.
Вопрос: может ли на ПЛК старой модели получиться такая ситуация с неправильной отработкой выходов по времени? И что может влиять на временные параметры выходов?
ImpTransportFVD назначена на DO10, TransportSTEP - DO11. Все таймеры объявлены локально.

keysansa
01.02.2019, 19:03
На частотниках, на всех, передача команды на позиционирование, раньше чем передача команды на "разрешение работы" приведет к ошибке. И это правильно.

Sulfur
02.02.2019, 07:09
Это я понимаю. Я пытаюсь избежать этой ситуации. С ПЛК новой модели такой проблемы не наблюдалось в принципе. Даже при задержке в 20мс (TON_01).
Дополнительные уточнения: обработка этих сигналов выполнена в виде пользовательской программы, которая вызывается из ПЛЦ_ПРГ. Переменная ImpTransportFVD объявлена локально в этой пользовательской программе, далее её значение присваивается глобальной (собственно выходу, на скрине не показано).
Может быть в этом собака порылась.
Малость перекроил программу, переназначил на быстрые выхода, организовал аппаратную задержку подачи питания на DO1-DO4, убрал таймер ТР2, все оставшиеся таймеры объявил глобально, буду пробовать.

keysansa
03.02.2019, 19:20
Выставляйте разрешение на работу по включению питания системы, при отсутствии аварийных ситуаций. Отсутствие любого из них - снимайте.
Обычно, после включения системы у нас принято делать задержку в 1..5 сек до разрешения манипуляций оператора (для избежания появления, например ошибок, которые возникают в переходных процессах). Все пошло от ICP DAS С64, которые при инициализации рандомно выставляли активный уровень при подаче питания.
И безопасность соблюдена и задержка между действиями обеспечивается.

Дмитрий Артюховский
05.02.2019, 11:38
быстро и однозначно работают выходы do1-do4
остальные выходы реализованы через расширители и поэтому присутствует задержка между выставлением в программе и реальным появлением сигнала на выходе... самое обломное что величина задержки не прогнозируема.... на интервалах 0.1 секунды - данная хрень проявляется в полный рост (((

Sulfur
18.02.2019, 14:07
Дмитрий Артюховский
В данный момент перевел эти сигналы на ДО1-ДО4, но не через SysLibPort, а просто, на то что есть по умолчанию. Проблема осталась. Есть еще другой вероятный источник проблемы - сам ПЧ. Пришел ПЧ с более новым фирмварем, наблюдаются кое-какие отличия и неадкватности по сравнению с предыдущими версиями. Параллельно буду копать в этом направлении.