Сосонкин В.Л. 2005 Системы числового программного управления (841803), страница 24
Текст из файла (страница 24)
Сосонкин, Г.М. Мартинов. Системы числового программного управленияш\Ъ ют*дкГЦи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).Функции визуального проектирования обеспечивают: многоуровневоевложение графов с работой на каждом уровне в отдельном окне; выполнение групповых операций (выделение фрагмента графа, удаление, копирование, перемещение фрагментов в разных позициях и на разныхуровнях); сохранение-загрузку проекта или фрагмента; импорт одногопроекта в другой; документирование проекта и генерацию отчетов; генерацию исходного кода для последующей компиляции; верификацию графа на уровне проектирования, моделирование и отладку циклов.
Применение инструмента визуального проектирования многократно повышаетпроизводительность разработчика, позволяет создавать сложные циклыэлектроавтоматики, реализация которых без инструментальной поддержки проблематична.3.2.3. Генерация инструментальной системой C++ кодовисполняемых модулей циклов электроавтоматикиДиаграмма классов исполняемых модулей циклов электроавтоматикив нотации Booch [56] приведена на рис. 85. Диаграмма отражает состав ивзаимоотношения классов. В соответствии с соглашением нотации каждый класс изображают в виде облака.
Имя класса начинается с буквы «С»(например, CNcsState). Линии и стрелки показывают отношения междуклассами, а также структурами, типами и объединениями.Глава 3. Задачи управленияЛЛЛ•___________\j FormalArray JСМар< CNcsStateMapCNcsStateTransitionPropРис. 85. Диаграмма классов в нотации BoochПрототипом простого или сложного состояния служит класс CNcsState.Этому классу сопоставлена «этикетка« типа CLabel, которая сохраняется вm-поле m_Label - э т о показано отношением включения, в котором связьначинается закрашенным кружком и завершается закрашенным квадратом.Класс CNcsState хранит таблицу возможных переходов в т-полеm_NcsStateMap.
Функциональные возможности таблицы отражены в реализации (instance) CNcsStateMap класса шаблона СМар библиотеки MFC,что обозначено штриховой стрелкой. Объект класса CNcsStateTransitionPropустанавливает структуру, тип и условия переходов. Класс CNcsState содержит указатель на таблицу вложенных состояний в m-поле m_NodeMap.Эта таблица инициализируется и заполняется только для сложных состояний. Таблица вложенных состояний отражена в реализации (instance)CNcsNodeMap класса шаблона СМар.ЗаключениеЖизненный цикл логической задачи управления предполагает программирование, интерпретацию программы и ее исполнение. Современная тенденция состоит в упрощении первой фазы за счет визуального программирования, включая инструментальную поддержку, и в объектно-ориентированной реализации второй фазы.-| 42"•"• Сосонкин, Г.М.
Мартинов. Системы числового программного управления3.3. Управление электроавтоматикой станков сЧПУ по типу виртуальных контроллеров SoftPLCHa очередном витке эволюции программируемых контроллеров появилась и получила заслуженную популярность идея их программной реализации (SoftPLC). Наибольший эффект подобная идеядает в системах ЧПУ, где программное обеспечение виртуального контроллера SoftPLC работает в одной операционной среде спрограммным обеспечением ЧПУ.
В этой связи возникает необходимость построения хорошо организованного и обозримого математического обеспечения виртуального контроллера на основе объектно-ориентированного подхода.Сегодня появляется реальная возможность программной реализацииуправления электроавтоматикой станков в рамках общего программногообеспечения систем ЧПУ без привлечения дополнительной аппаратуры исистемного программного обеспечения программируемых контроллеров,которые являются неотъемлемой частью практически любой современнойсистемы ЧПУ. (Далее предполагаются системы ЧПУ, построенные на базеперсональных компьютеров.) [3].Подобные программные системы управления электроавтоматикой получили наименование виртуальных контроллеров SoftPLC. Указанный подходпозволяет снизить стоимость системы управления при одновременном получении ряда преимуществ, в том числе упрощение общего программногообеспечения, уменьшение ошибок системного программирования, возможность отладки управляющих программ электроавтоматики в рамках самойсистемы ЧПУ, гибкость конфигурирования электроавтоматики, возможность использования различных коммерческих библиотек.Далее предлагается объектно-ориентированный подход для построения виртуальных контроллеров электроавтоматики применительно к станкам с системами ЧПУ типа PCNC.3.3.1.














