Сосонкин_Системы_ЧПУ (1087166), страница 24
Текст из файла (страница 24)
Формализм описания циклов электроавтоматикиДля описания электроавтоматики воспользуемся формализмом иерархических графов, который удобен для графического описания циклов, втом числе и с помощью инструментальных средств визуального программирования [55]. Иерархический граф представляет собой «четверку» множеств:• простых вершин-состояний, изображаемых кружками, причем состояния могут быть статическими или динамическими (выход из статического состояния инициируется извне, тогда как выход из динамическогосостояния происходит по завершению процесса);• сложных вершин-состояний, изображаемых двойными (с двойнымбордюром) кружками, причем такие состояния сами по себе являются вложенными графами;• дуг, отражающих переходы между состояниями любого типа;• узлов, «разрезающих» дуги, изображаемых темными кружками, причем узлы фиксируют условия смены состояний любого типа (если дугаисходит из статической вершины-состояния, то узел может одновременнопринадлежать другому графу того же или другого уровня иерархии).Вершинам-состояниям приписаны «этикетки»- имена в прямоугольных рамках.
Имя статического состояния имеет структуру СТАТУС_<имя>. Имя динамического состояния имеет структуру ПРОЦ_<имя> илиструктуру ИНИЦ_<имя>. Имя узла служит признаком одного из следующих типов: команды, инициируемой с панели оператора, флага завершения вычислительного процесса, сигнала окончания управляемой операции.Методика описания цикла электроавтоматики включает этапы: разработки первичного автомата, т.е. автомата верхнего уровня иерархии, являющегося по сути диспетчером режимов; разработки режима нерегулярных ситуаций (внутреннего режима), который сохраняет корректность состояния управляемого объекта при любых переключениях основныхрежимов, а также гарантирует неизменное состояние объекта, если циклпассивен; выделения параллельно работающих автоматов, действующих врамках цикла; разработки автоматов нижнего уровня иерархии.Рассмотрим систему управления револьверной головкой токарного станка (рис.
80), которая поддерживает следующие режимы:• автоматический, в рамках которого обеспечивается вызов инструмента любой грани револьверной головки (переход на нужную грань происходит по кратчайшему пути);• ручного управления (например, поворот револьверной головки наочередную ее грань);• нерегулярных ситуаций.Двухпозиционный гидрораспределитель с электромагнитом ЭМI управляет гидроцилиндром ГЦ зажима-разжима револьверной головки, ниж-136В.П.
Сосонкин, Г.М. Мартинов. Системы числового программного управленияш\Ъ ют*дкГЦи1В 2«-сиВ1Рис 80. Схема работы револьверной головкинее и верхнее положения которой контролируются выключателями В1-В2.Поворот головки осуществляется гидромотором ГМ, управляемым гидрораспределителем с электромагнитами ЭМ2 и ЭМЗ. Прохождение любойграни через возможное (по углу поворота) положение идентифицируетсявыключателем ВЗ и кулачком К, соосным с валом гидромотора. Код граниустанавливается многоразрядным датчиком Д.Воспользуемся нашей методикой описания цикла. На рис. 81 приведенпервичный граф (автомат) со всеми сложными состояниями, в том числеСТАТУСНЕРЕГРЕЖ (режим нерегулярных ситуаций), СТАТУС_АВТОМ_РЕЖ (автоматический режим), СТАТУСРУЧНРЕЖ (режим ручногоуправления). Первичный автомат инициируется узлом-условием (клавишей) начального пуска НАЧ_ПУСК, а после этого управляет режимными переходами.
Узлы-условия АВТОМАТ и РУЧН соответствуют активизации соответствующих режимных управляющих элементов панели оператора.На рис. 82 раскрыта сложная вершина-состояние СТАТУС_НЕРЕГ_РЕЖпервичного автомата, которая сама по себе является графом режима нерегулярных ситуаций. Вход в граф осуществляется через один из узлов-условий: НАЧ_ПУСК, АВТОМАТ, РУЧН (см. рис. 81). Затем инициируетсяГлава 3. Задени управленияК0НЕ1ЩИКЛА/-\ 37х т ш\ручнГОТОВН_АВТОМРис. 81. Граф первичного автоматасложная динамическая вершина-состояние ПРОЦ_ИДЕНТИФ, в рамкахкоторой идентифицируется текущее состояние револьверной головки. Еслиголовка вращается (узел-условие ВРАЩ), то вызывается алгоритм определения совпадения с корректным (по углу) положением грани (в динамическом состоянии ПРОЦ_ОПРЕДЕЛ_СОВПАД). При этом в корректномположении формируется команда торможения (узел-условие КОМТОРМ).Если головка разжата или неподвижна (узел-условие РАЗЖАТ и СТОИТ),то вновь вызывается тот же алгоритм в вершине-состоянии ПРОЦ^ОПРЕД_СОВПАД, в зависимости от результата работы которого возбуждаются команды зажима (КОМ_ЗАЖ) или вращения (КОМВРАЩ).Наконец, если в качестве результата идентификации установлено зажатое состояние головки (узел-условие ЗАЖАТ), то система переходит всостояние подготовки к управлению (ПРОЦ_ГОТОВН).
Подготовка завершается условием готовности ручного или автоматического режима.Далее выделим параллельные процессы: зажим-разжим головки,вращение-останов головки (принцип выделения состоит в наличии собственного двигателя). Процессы отображаются независимыми графами,показанными на рис. 83 и 84. Они инициируются в сложном состоянииПРОЦ^ИДЕНТИФ графа режима нерегулярных ситуаций.Инициация зажима-разжима осуществляется в состоянии ИНИЦ_1 фафа. Инициация устанавливает условие:138В.Л. Сосонкин, Г.М. Мартинов.
Системы числового программного управленияАВТОМАТРУЧННАЧ ПУСККОНЕЦ_ЦИКЛАРис. 82. Граф резкиманерегулярных ситуацийПРОЦ_ОПРЕДЕЛ_СОВПАД)• корректный разжим (КОРР_РАЗЖ), что означает разжатое состояние головки в корректном положении ее граней по углу поворота (подобное условие инициирует процесс зажима в состоянии ПРОЦ_ЗАЖ);• корректный зажим (КОРР_ЗАЖ), что означает зажатое состояние головки в корректном положении ее граней по углу поворота (подобное условие инициирует переход в статическое состояние зажима СТАТУС_ЗАЖ);• некорректный зажим (НЕКОР_ЗАЖ), что означает зажатое состояние головки в неправильном положении ее граней по углу поворота- попричине сбоя (подобное условие инициирует процесс разжима головки всостоянии ПРОЦ_РАЗЖ);• некорректный разжим (НЕКОР_РАЗЖ), что означает разжатое состояние головки в неправильном положении ее граней по углу поворота(подобное условие инициирует переход в статическое состояние разжимаСТАТУС_РАЗЖ).Инициация вращения-останова осуществляется в состоянии ИНИЦ_2графа.Инициация устанавливает условие:• некорректное вращение (HEKOPJBPAUJ), что означает включенноесостояние вращения гидромотора ГМ поворота головки при ее зажатомсостоянии (по причине сбоя, подобное условие инициирует процесс торможения головки в состоянии ПРОЦ_ТОРМ);Глава 3.
Задачи управления139Рис. 83. Граф автоматазажима-разжима• корректный останов (КОРР_ОСТАН), что означает остановку головки в корректном положении ее граней по углу поворота (подобное условиеопределяет переход в статическое состояние СТАТУС_ОСТАН);РАЗЖАТПРОЦ_РАЗЖ И ^ н р - п р зд;КОМ_РАЗЖРис. 84. Граф автоматавращения-останова" . А Сосонкин, Г.М. Мартинов. Системы числового программного управления• некорректный останов (НЕКОР_ОСТАН), что означает остановкуголовки в неправильном положении ее граней по углу поворота (подобноеусловие инициирует процесс пуска вращения ПР01Ц1УСК);• корректное вращение (КОРР_ВРАЩ), что означает нормальное вращение головки в ее разжатом состоянии (подобное условие определяет переход в статическое состояние СТАТУС_ВРАЩ).Совместное рассмотрение двух графов на рис.
83 и 84 показывает, чтосистема обеспечивает автоматический выход из любых некорректных ситуаций. Управляя условиями выхода из статических состояний, можно построить любой цикл автоматического или ручного управления.3.2.2. Инструментальная поддержка визуальногопрограммирования циклов электроавтоматикиОднотипность скелета исполняемого кода циклов позволила разработать инструментальную систему визуального проектирования, генерирующую исполняемые C++ исходные файлы.
Конкретный граф вводят спанели интерфейса программиста, которая предлагает набор графическихпримитивов: простую вершину-состояние, сложную вершину-состояние,дугу, узел дуги. Свойства примитивов (имена, типы вершин-состояний идр.) задают в диалоговом режиме на «странице свойств» (property page).Функции визуального проектирования обеспечивают: многоуровневоевложение графов с работой на каждом уровне в отдельном окне; выполнение групповых операций (выделение фрагмента графа, удаление, копирование, перемещение фрагментов в разных позициях и на разныхуровнях); сохранение-загрузку проекта или фрагмента; импорт одногопроекта в другой; документирование проекта и генерацию отчетов; генерацию исходного кода для последующей компиляции; верификацию графа на уровне проектирования, моделирование и отладку циклов.