Сосонкин_Системы_ЧПУ (1087166), страница 25
Текст из файла (страница 25)
Применение инструмента визуального проектирования многократно повышаетпроизводительность разработчика, позволяет создавать сложные циклыэлектроавтоматики, реализация которых без инструментальной поддержки проблематична.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. Объектно-ориентированный подход при организацииматематического обеспечения виртуальных контроллеровВ основе технологии создания программного обеспечения электроавтоматики лежат обычные для объектно-ориентированного программирования понятия класса и объекта.
При этом класс описывает тип оборудования, а объект - конкретный экземпляр. Таким образом, при объявлениикласса, согласно принципу инкапсуляции, создаются шаблоны структурданных и методы, которые будут работать с этими данными. В объектекласса по шаблону выстраиваются конкретные данные и приводится ссылкана обслуживающий их процесс.Глава 3.
Задачи управления-| 4 3При появлении нового типа оборудования, благодаря механизму наследования, разработчик не нуждается в том, чтобы заново разрабатывать новый класс - достаточно выбрать наиболее близкий и реализовать отличияв новом классе. Тем самым обеспечивается простота модификаций, сокращаются затраты времени на разработку, снижается общая стоимость разработки.Наиболее важен тот факт, что объектный подход позволяет создаватьхорошо структурированные сложные системы управления электроавтоматикой.
Основные преимущества, приобретаемые при этом, состоят в следующем:• повышается уровень унификации разработки; для повторного использования пригодны не только управляющие программы, но и проектыв целом, что служит хорошей основой для построения среды разработки.Снижаются затраты времени и средств на создание нового проекта;• возникает возможность повторного использования собственныхфункциональных модулей и готовых модулей других разработчиков, чтоделает систему управления открытой. Уменьшается вероятность ошибокпри разработке сложных систем, увеличивается уверенность в правильности принимаемых решений.Все эти достоинства обеспечиваются благодаря лежащим в основеобъектно-ориентированной технологии принципам наследования, инкапсуляции и полиморфизма.3.3.2.
Архитектура виртуального контроллераВ системе ЧПУ виртуальный контроллер работает в среде операционной системы Windows NT с расширением реального времени RTX фирмыVentureCom [4]. Проектирование контроллера предполагает последовательное рассмотрение его модели на трех уровнях абстракции: уровне моделипотоков (структуры потоков), уровне функциональных модулей и уровнепрограммной реализации (рис. 86).Сначала рассмотрим структуру потоков.
Основная задача контроллерасостоит в одновременном выполнении нескольких команд и параллельнойобработке внешних сигналов. Каждый процесс контроллера, который нуждается в выделении отдельного потока, выполняется в рамках основногопроцесса виртуального контроллера, запущенного под RTX. Процессорное время, выделяемое операционной системой основному процессу, должно быть распределено между потоками.Далее воспользуемся идеей псевдомногопоточности на основе механизма выделения квантов (разделения времени).
Процессорное время выделяется потокам отдельными квантами с помощью внутренних механизмов виртуального контроллера. В каждом кванте может выполняться толь-144В.Л. Сосонкин, Г.М. Мартинов. Системы числового программного управленияУровень модели потоковОпределяет зависимости ипорядок взаимодействия междупроцессами, протекающими вSoftPLCУровень функциональныхмодулейОписывает архитектуру SoftPLCна уровне отдельно функционирующих, но связанных во временимодулей.Уровень программнойреализацииПредставляет функциональныемодули в виде классов, а способыпередачи данных - в видеметодов.Рис. 86. Последовательная трансформация моделивиртуального контроллера SoftPLCко один поток.
Все потоки разделены на группы по приоритетам, причемуправление группой осуществляется отдельным программным таймером.Программный таймер аналогичен системному, реализованному в операционной системе, но не генерирует прерывания, и его обработчик запускается планировщиком (в нашем случае - модулем синхронизации). Выделение нескольких групп потоков в виртуальном контроллере связано с тем,что различные его задачи требуют разного времени реакции на внешнеевоздействие: чем меньше время реакции, тем выше приоритет потока, обслуживающего задачу.Более высокий приоритет потока означает более высокую частоту выделения квантов времени.
Различные частоты поддерживаются в системенесколькими таймерами, каждый из которых активизируется на своей частоте и выделяет кванты времени своим потокам. Модуль синхронизацииосуществляет синхронную активизацию таймеров.На временной диаграмме потоков, представленной на рис. 87, рассмотрен случай, когда виртуальный контроллер работает с тремя группами псевдопотоков.Каждая группа получает кванты времени на выделенной частоте, чтосоответствует трем приоритетам. Таймер опорной частоты запускается намаксимальной частоте сканирования входных регистров. Частоты программных таймеров формируются путем деления опорной частоты в обработчике событий таймера опорной частоты.На временной диаграмме опорная частота равна 100 Гц, модуль синхронизации настроен на использование частот 100,50 и 20 Гц. Для каждойГлава 3.
Задачи управления145ОмеОпорнаячастотаЮме20 м :30 мсV,ч1(50 мс40 мсA1100 Гц . I V « - -1 Оме—»50 Гц \20 Гц1 Vi20 мсvЛ"1Анализатор IPD кодаС инхрониэатор' 1|Программный таймер 11|Программный таймер 3шин II /ШИНГI/Client!->OnProcessTimeSlice0щiY11Программный таймер 2i|Hii\NiiUiiiiiiiiSi••{••щиClie ntN->OnPro cessT imeS iice()Время, выполнения функции OnProcessTimeSliceOкаждого таймераВремя работы анализатора IPO кодаВремя работы системыВремя работы синхронизатораВремя работы SoftPIc- Вызов программных таймеровРис. 87. Временная диаграмма потоков виртуального контроллерачастоты назначен программный таймер. Интервалы времени выделены дляанализатора IPD-кода (Interpolator Data, данные на входе интерполятора),синхронизатора, каждого таймера в отдельности. Таким образом, в интервалах времени, кратных 10 мс, будут работать все три таймера.С целью более равномерного распределения нагрузки в интервалах времени, задачи второго и третьего программных таймеров разделены, соответственно, на две и четыре подгруппы.