Тема 6. Конфликты сигналов

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

Примеры встречных сигналов в пневматике. На бистабильный пневмораспределитель одновременно воздействуют сигналы включить (set) и выключить (reset).

Рис. 1. Конфликт сигналов в пневматике.

Примеры встречных сигналов в программе. На триггер одновременно воздействуют сигналы включить (set) и выключить (reset).

Рис. 2. FBD – конфликт сигналов в программе.

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

 

Способы устранения встречных сигналов.

1. Интуитивно – аналитический.

Возникновение встречного сигнала вычисляется аналитически. Сигнал устраняется с помощью логикой комбинации «И» с другим сигналом. Этот способ является очень трудоемким и требует скрупулезного анализа процесса управления.

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

3. Шаговые языки программирования.

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

Рис. 3. Переход к следующему блоку в шаговых программах.

 

4. Способ деления процесса на временные группы.

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

Все временные группы маркируются метками – меркерами. Одновременно в процессе выполнения программы активен только один меркер! Все сигналы связываются с меркерами логикой «И». Определяются сигналы, с помощью которых происходит переключение меркеров.

 

5. Сдвиг бита в регистре памяти.

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

 

Алгоритм деления на временные группы.

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

Рис. 4. Технологический эскиз манипулятора.

1. Описать работу устройства в буквенно-цифровом виде, где + или – обозначают условно направление движения привода:

2+ 3+ 2- 1+ 2+ 3- 2- 1-

При этом «3+» означает включение вакуум- генератора, а «3-» - выключение.

Рис. 5. Условное направление движения поршня цилиндра.

2. Разделить на временные группы так, чтобы в одной группе не было бы одного и того же привода с разными знаками (с разным направлением движения). В одну группу не могут входить 1+ и 1-, 2+ и 2- и т.д.

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

Рис. 6. Группирование действий и их маркировка.

3. Связать работу приводов и меркеров с сигналами.

Рис. 7. Сигналы управления.

При этом стартовый сигнал включает меркер М1, а не цилиндр. В свою очередь М1 подает сигнал цилиндру 2 на выдвижение (2+). После выполнения этого приказа сработает датчик В4, который даст сигнал приводу 3 на включение. У вакуум- генератора нет датчика, поэтому использовать сигнал включения электромагнита (т.е. если активен Y3, то считать, что вакуум включен). Этот сигнал необходимо использовать для переключения групп (включение следующего меркера). При этом необходимо одновременно произвести выключение предыдущего меркера (штрих- пунктирная линия).

Замечания.

  1. При программировании необходимо следить за тем, чтобы в программе не было бы одинаковых операций с разными условиями выполнения. Например, задвижение цилиндра 1 на приведенной диаграмме происходит дважды. Необходимо объединить эти две операции с помощью логики «ИЛИ».
  2. Во время работы манипулятора постоянно должен быть активен только один меркер! Необходимо контролировать это условие диагностическими средствами контроллера.
  3. Возможно пошаговое деление на временные группы. В этом случае каждому шагу присваивается меркер.