Содержание к диссертации
Введение
1. Глава 1. Проблемы построения терминальной задачи с открытой архитектурой 4
1.1. Обзор архитектурных решений современных систем чпу 4
1.2. Структура терминальной задачи с открытой архитектурой 17
1.2.1. Классическое разделение задач управления 17
1.2.2. Взаимоотношение между ядром системы чпу и терминальной задачей управления 19
1.3. Проблема систематизации api-функций систем чпу 21
1.4. Цели и задачи исследования 21
2. Глава 2. Определение места и роли терминальной задачи в общей архитектуре системы чпу 23
2.1. Представление о структуре программного обеспечения систем чпу 23
2.2. Разработка формальной модели взаимодействия терминальной задачи с ядром системы чпу 25
2.3. Распределение api-функций по задачам чпу 29
2.4 выводы 41
3. Глава 3. Формализация терминальной задачи 42
3.1. Разработка программного уровня, независимого от типа системы чпу.... 42
3.1.1. Формализация взаимодействия терминальной задачи с ядром чпу путем построения виртуального ядра системы чпу 42
3.1.2. Проектирование программной модели виртуального ядра системы чпу на основе компонентного подхода 45
3.2. Разработка механизмов, обеспечивающих открытую архитектуру прикладного математического обеспечения терминальной задачи 51
3.2.1. Описание механизма инициализационных и конфигурационных файлов 51
3.2.2. Средства анализа структуры файла, модели интерпретаторов и методы их взаимодействия с интерфейсом 53
3.3. выводы 56
4. Глава 4. Практические аспекты повышения спектра функциональных возможностей терминальной задачи на примере системы WINPCNC 57
4.1. Система winpcnc и прикладное программное обеспечение терминальной
задачи 57
4.2. Разработка структуры инициализационных и конфигурационных файлов ..58
4.2.1. Инициализационные файлы, их структура и применение 58
4.2.2. Формализация языка iso-7bit 62
4.2.3. Структура и применение файлов конфигурации 63
4.3. Инструментальные средства создания и редактирования инициализационных и конфигурационных файлов 67
4.4. Расширение возможностей ввода управляющих программ 74
4.4.1. Интерактивное создания кадров управляющих программ 74
4.4.2. Режим обучения системы чпу 76
4.5. Дальнейшее повышение функциональных возможностей терминальной задачи за счет анализа контуров деталей 82
4.5.1. Анализатор геометрического контура 83
4.5.2. Эквидистантный конвертер 96
4.6. Выводы 106
5. Заключение 108
6. Выводы 110
7. Основные обозначения и сокращения 111
8. Список литературы 112
9. Приложения 11
9.1. Список рисунков 116
9.2. Список таблиц 118
- Взаимоотношение между ядром системы чпу и терминальной задачей управления
- Распределение api-функций по задачам чпу
- Разработка механизмов, обеспечивающих открытую архитектуру прикладного математического обеспечения терминальной задачи
- Инициализационные файлы, их структура и применение
Введение к работе
Актуальность темы
Проблема увеличения функциональных возможностей систем ЧПУ является одной из главных для их производителей, пользователей и конечных пользователей. Проблема состоит втом, что производители систем не всегда обеспечивают доступ к ядру систем ЧПУ с использованием регулярных функций доступа (API-функций, Application Programming Interface). Те производители, которые разрешают пользователям использование API-функций, не заботятся о систематизации функций по причине их очень большого количества.
Ранее расширение функциональности систем ЧПУ зависело только от разработчиков, и традиционно решалось путем создания новых типов систем ЧПУ и разработкой специализированного программного обеспечения. Сегодня пользователи и конечные пользователи систем ЧПУ заинтересованы в применении своих собственных специализированных программных продуктов, а также новых разработок, предлагаемых сторонними производителями.
Анализ архитектурных решений систем ЧПУ, анализ организации взаимодействия программных компонентов, составляющих терминальную задачу систем ЧПУ, - показывает, что сегодня техника числового программного управления станками имеет следующие недостатки:
механизм взаимодействия терминальной задачи управления с ядром системы ЧПУ практически закрыт конечному пользователю системы ЧПУ; отсутствует формальное представление терминальной задачи управления.
Эти недостатки обуславливают проблемы, связанные с мобильностью, открытостью программного обеспечения, возможностью создания стандартных механизмов интеграции покупного прикладного программного обеспечения в терминальную задачу системы ЧПУ. Поэтому, рассматриваемая в диссертационной работе проблема расширения функциональных возможностей систем ЧПУ путем формализации терминальной задачи является актуальной.
| «>оснациональная)
| БИБЛИОТЕКА |
I 1 С Петербург „у I
Цель работы
Целью диссертационной работы является установление способов и методов, позволяющих расширить функциональные возможности системы ЧПУ на основе построения открытой архитектуры терминальной задачи.
Задачи исследования
Для достижения поставленной цели необходимо решить следующие задачи:
формализовать терминальную задачу и разработать общие механизмы ее по
строения;
предложить формализацию механизма взаимодействия ядра и терминальной задачи;
- на основе известных решений произвести анализ и систематизацию функций
прикладного программного интерфейса (API-функций);
на основе систематизированных API-функций реализовать механизм взаимодействия компонентов терминальной задачи с ядром системы ЧПУ;
разработать и реализовать механизмы интеграции компонентов терминальной задачи и покупного прикладного программного обеспечения в общую структуру программного обеспечения системы ЧПУ;
использовать разработанные механизмы для интеграции в терминальную задачу ряда разработанных автором систем прикладного программного обеспечения (редактор управляющих файлов AdvancEd, анализатор геометрических контуров токарной обработки, эквидистантный конвертер).
Методы исследования
При решении поставленных задач использовались методы системного анализа, объектно-ориентированного анализа, проектирования и программирования с применением технологии «компонентной объектной модели СОМ» фирмы Microsoft.
Научная новизна
В диссертации получены следующие новые научные результаты:
систематизированы API-функций систем ЧПУ и привязаны к классическим зада
чам управления;
построена формальная модель взаимодействия терминальной задачи с ядром системы ЧПУ на основе включения в терминальную задачу виртуального ядра ЧПУ;
найдены механизмы обеспечения открытой архитектуры прикладного математического обеспечения терминальной задачи.
Практическая ценность
В результате проведенного исследования разработана модель взаимодействия терминальной задачи с ядром системы ЧПУ и построены механизмы интеграции прикладного программного обеспечения в структуру терминальной задачи. На основе разработанных моделей реализован программный уровень, независимый от системы ЧПУ; а также комплекс прикладного программного обеспечения, интегрированный в состав системы ЧПУ WinPCNC, разработанной на кафедре компьютерных систем управления Университета СТАНКИН. Предложенные модели и механизмы позволили значительно увеличить функциональность системы ЧПУ за счет возможностей терминальной задачи.
Реализацияивнедрениеработы
Диссертационная работа выполнялась в рамках госбюджетной тематики Минвуза РФ, выполняемой на кафедре компьютерных систем управления Университета СТАНКИН.
Результаты работы внедрены и использованы в системе ЧПУ WinPCNC, разработанной на кафедре компьютерных систем управления. Научные результаты используются в учебном процессе кафедры в рамках специальности 05.13.06- «Автоматизация и управление технологическими процессами и производствами)).
Апробация работы
Научные результаты и положения диссертационной работы обсуждались на международной конференции «Информационные средства и технологии» (Международный форум информатизации МФИ-2001, Москва, 2001г.), а также на «Российской научно-технической конференции» (КГТА, Ковров, 2002г.).
Публикации
По теме диссертационной работы опубликовано 4 печатные работы.
Структура побьемдиссертации:
Диссертационная работа состоит из четырех глав, заключения, выводов по диссертационной работе, списка использованной литературы из 50 наименований и приложения. Основная часть работы изложена на 118 страницах машинописного текста, содержит 59 рисунков и 7 таблиц.
Взаимоотношение между ядром системы чпу и терминальной задачей управления
Операционная система Windows NT поддерживает работу интерфейса оператора; в том числе системы программирования ЧПУ и контроллера электроавтоматики, встроенную САМ-систему (опирающуюся на базы данных инструментов, материалов и технологических циклов), приложения конечного пользователя. Ядро реального времени синхронизирует работу задач ЧПУ и электроавтоматики; диспетчирует работу интерпретатора, интерполятора и модуля управления следящими приводами. Одновременно могут работать до восьми каналов ЧПУ, два программно-реализованных контроллера электроавтоматики с разными приоритетами. Система Power Automation имеет открытую архитектуру, которая допускает расширение функций ядра ЧПУ за счет специальных «compile cycles» конечного пользователя (терминология Power Automation), см. Рис. 8.
Фирма Siemens не раскрывает особенностей своей архитектуры, и в этом плане можно лишь строить догадки. Однако обращает на себя внимание механизм поддержания открытой архитектуры, который абсолютно идентичен такому же механизму Power Automation. В этой связи, по-видимому, можно предположить и идентичность архитектур Siemens и Power Automation. При разработке новой модели системы ЧПУ фирма Siemens сделала акцент на открытую для конечного пользователя архитектуру, как со стороны интерфейса оператора, так и со стороны ядра системы (см. Рис. 9) [41, 44].
Интерфейс оператора работает в операционной системе Windows NT, поэтому включение в интерфейс Windows-приложений проблемы не составляет. Однако возможна и сравнительно глубокая реконфигурация интерфейса с помощью оригинальной инструментальной системы РгоТооІ. Для расширения функций ядра предложена схема, в соответствии с которой в процессы ядра включены своеобразные точки останова "break-out-points", называемые "events" (события). События инициируют фрагменты пользовательского кода на Visual C++, называемого здесь "compile cycles" (скомпилированные циклы) [41,15]. Скомпилированные циклы имеют унифицированный интерфейс OPI (OEM Program Interface), что обеспечивает им стандартный доступ к системным данным и функциям посредством механизма связывания "binding". С другой стороны, скомпилированные циклы могут использовать и собственные данные. Такой подход обеспечивает полную совместимость расширенного программного обеспечения системы ЧПУ.
Таким образом, в спектре архитектурных решений наиболее уверенные позиции занимает концепция PCNC; при этом по мере роста вычислительной мощности процессоров все чаще предпочтение отдают одно-компьютерному варианту [34]. В качестве операционной системы стандартом де-факто стала Windows NT с расширением реального времени. Программируемые контроллеры реализуют программным путем в рамках единой вычислительной среды для ядра ЧПУ; а терминал системы ЧПУ используют для программирования электроавтоматики. Периферия систем ЧПУ становится сетевой; причем все чаще единая сеть используется как для приводов подачи, так и для системы управления электроавтоматикой. Наиболее значительная тенденция состоит в развитии идей открытой архитектуры, предоставляющей конечному пользователю широкие возможности для реализации собственных функций.
1.2. Структура терминальной задачи с открытой архитектурой
1.2.1. Классическое разделение задач управления
Функции современной системы ЧПУ определяются системой необходимых взаимодействий. Прежде всего, ЧПУ выступает как управляющий автомат по отношению к своему собственному объекту - станку или иному технологическому оборудованию. В то же время система ЧПУ сама является объектом управления в окружающей производственной среде [39].
Распределение api-функций по задачам чпу
Для того чтобы реализовать описанный выше подход взаимодействия с ядром системы ЧПУ на основе компонентной технологии СОМ фирмы Microsoft, необходимо классифицировать наборы существующих функций прикладного программного интерфейса ядра систем ЧПУ. При всем разнообразии систем ЧПУ с открытой архитектурой, будем ориентироваться на системы BOSCH ТурЗОэа и Andronic 2000; так как эти производители опубликовали наиболее полные наборы функций своего прикладного программного интерфейса.
Система ЧПУ Typ30sa предлагает наиболее широкий спектр разнообразных API-функций, число которых достигает трёхсот. Система ЧПУ Andronic 2000 в наибольшей степени ориентирована на адаптацию к потребностям конечного пользователя, опираясь на специализированный инструментальный язык. Система Andronic 2000 предлагает около ста функций прикладного программного интерфейса.
Систематизацию API-функций имеет смысл производить соответственно задачам ЧПУ, которые в дальнейшем предполагается преобразовать в конечные программные модули с определенными правилами взаимодействия с терминальной задачей. Приведенные в
Табл. 1 и Табл. 2 фрагменты API-функций были заимствованы из описаний производителей систем ЧПУ и систематизированы автором диссертации согласно классическим задачам управления.
Изучение наборов представленных API-функций и их отношение к задачам ЧПУ позволяет выявить слабые места в открытости рассмотренных систем ЧПУ. Набор API-функций системы Andronic2000 достаточно ограничен. В частности, задача диспетчеризации вообще не представлена API-функциями. Напротив, набор API-функций системы Typ30sa впечатляет разнообразием функций. Документация по API-функциям фирмы BOSCH строго ориентирована на архитектуру системы Typ30sa. Конечному заказчику нет необходимости вникать в тонкости функционирования системы ЧПУ, поэтому и наборы функций логично было бы сопоставить классическим задачам управления.
Анализ API-функций этих систем позволяет выделить компоненты, соответствующие классическим задачам управления, для которых необходимо определить наполнение для организации взаимодействия терминальной задачи с задачами ядра системы ЧПУ.
Первый компонент определяется терминальной задачей, в которой должны функционировать следующие блоки:
1. блок управления файловой структурой и файлами системы ЧПУ,
2. блок предоставления информации о настройке системы ЧПУ на конкретную кинематику станка (количество и названия используемых осей, типы осей, количество и типы приводов, количество и названия задействованных каналов и т.д.),
3. блок обмена данными между различными задачами (переменные, глобальные параметры и др.),
4. блок автоматического управления управляющими программами (загрузка в память канала, запуск на выполнение, останов и выгрузка, отслеживание статуса обработки программы и др.),
5. блок управления таблицами (смещения нулевой точки, компенсаций погрешностей механики, параметризации магазина инструментов, коррекции длины и радиуса инструмента и др.).
Второй блок связан с геометрической задачей и включает в себя:
1. блок обработки координат осей, поступающих с систем измерения;
2. блок обработки управляющих сигналов, поступающих на исполнительные приводы,
3. блок обработки компенсаций механики и коррекции радиуса и длины инструмента,
4. блок управления и обработки пользовательских данных,
5. блок отработки специализированных стратегий управления движением (отвод и подвод инструмента от контура),
6. блок управления периферией (маховички, штурвалы, переносные пульты управления и т.д.),
7. блок обработки данных таблиц, описывающих смещения нулевой точки,
8. блок управления технологическими параметрами и специализированными функциями процесса обработки (запрограммированной скоростью подачи, контроль фактической скорости подачи, обработка сигналов с регуляторов процентов скорости подачи и скорости вращения шпинделя, функция преселективного управления скоростью и моментом, Look Ahead и др.),
9. блок управления системой единиц (переключение из мм. в дюймы и наоборот),
10. блок предоставления информации о физических характеристиках работы станка (ограничениях скоростей, ускорений для приводов подачи и для привода главного движения, собственных частотах колебаний станка и др.),
11. блок управления шпинделем (информация о количестве ступеней редуктора, способе переключения ступеней и др.).
Третий блок - блок технологической задачи. В обеих системах ЧПУ функции адаптивного управления, лежащие в основе технологической задачи управления, не представлены. Однако для возможного расширения функций целесообразно заложить в блок технологической задачи «подблок» адаптивного управления.
Четвертый блок связан с логической задачей управления и включает в себя блок работы с интерфейсными сигналами контроллера электроавтоматики станка (анализ входов и управление выходов контроллера).
Разработка механизмов, обеспечивающих открытую архитектуру прикладного математического обеспечения терминальной задачи
Возможность интеграции прикладного программного обеспечения в терминальную задачу системы ЧПУ и настройка терминальной задачи в целом под конкретные пожелания заказчика непосредственно связаны с ее открытостью. Одним из наиболее сложных механизмов интеграции, с точки зрения доработки программного кода, можно назвать применение прикладного программного обеспечения, выполненного как ActiveX-компонент [11]. Гораздо более понятно и просто интегрировать готовые исполняемые программные модули (ехе-файлы).
При настройке системы ЧПУ под конкретные пожелания заказчика может потребоваться перенастройка всех составляющих терминальной задачи: экранов, синтаксиса входного языка системы ЧПУ и др. Для подобных целей возможно адаптировать и доработать стандартный механизм инициализационных файлов Windows, а также применить конфигурационные файлы, чтобы использовать возможность поднастройки терминальной задачи тогда, когда станок уже запущен и находится у заказчика.
Механизмы работы с инициализационными и конфигурационными файлами практически одинаковы. Инициализационные и конфигурационные файлы представляют собой текстовые файлы, информация в которых сгруппирована по определенным правилам. К преимуществам текстовых файлов можно отнести простоту их модификации любым текстовым редактором, входящим в стандартный набор программного обеспечения операционной системы.
Структура инициализационного файла содержит секции и описание переменных. Данная структура более жесткая, чем у конфигурационного файла, так как она предопределена стандартными механизмами чтения и записи. Однако применение стандартных механизмов Windows работы с инициализационными файлами делает работу с ними наиболее простой, быстрой и комфортной. Стандартный механизм Windows работы с инициализационными файлами осуществляет считывание информации из файла лишь при начальном запуске приложения и допускает модификацию файла во время его работы. Применение инициализационных файлов имеет практический смысл для организации настройки визуальных аспектов терминальной задачи, таких как: настройка количества окон, отображаемых на экране;, определение цветов и размеров окон, сохранение последнего расположения окон, а также сохранение списка файлов, с которыми последнее время работал оператор, и др.
Механизм взаимодействия с конфигурационными файлами принципиально похож на механизм работы с инициализационными файлами, однако отличается более сложной реализацией. Область применения конфигурационных файлов лежит там, где для настройки терминальной задачи недостаточно простой и понятной структуры инициализационных файлов. К примерам такого использования можно отнести конфигурацию системы ЧПУ на новую разновидность языка ISO-7bit. Для решения подобной задачи требуется продуманная структура представления данных о новой разновидности языка управляющих программ. Поэтому для определения структуры конфигурационного файла сначала необходимо произвести формализацию языка ISO-7bit (см. главу 4). Определившись со структурой, нужно организовать передачу считываемых из конфигурационного файла данных во внутренние структуры терминальной задачи. Для этого необходим анализатор структуры конфигурационного файла, или же, другими словами, - транслятор, который, прочитав содержимое конфигурационного файла, наполнит внутренние конфигурационные структуры терминальной задачи.
Внутреннее представление конфигурационного файла зависит от функций программного компонента и его программной реализации.
В большинстве своем, трансляторы и компиляторы похожи, и в них выделяют следующие фазы работы:
1. Фаза лексического анализа.
2. Фаза синтаксического анализа, состоящая из:
2.1. распознавания синтаксической структуры;
2.2. семантического разбора, в процессе которого осуществляется работа с таблицами, порождение промежуточного семантического представления или объектной модели языка.
3. Фаза генерации кода, осуществляющая:
3.1. семантический анализ компонент промежуточного представления или объектной модели языка;
3.2. перевод промежуточного представления или объектной модели в объектный код.
Кроме этого, можно выделить единый для всех фаз процесс анализа и исправления ошибок, существующих в обрабатываемом исходном тексте программы. Обобщенная структура транслятора, учитывающая существующие в нем фазы, представлена на Рис. 22.
Инициализационные файлы, их структура и применение
Для обеспечения открытости терминальной задачи необходимы: открытость ядра ЧПУ как виртуальной системы и открытость прикладного программного обеспечения для интеграции, начальной настройки и дальнейшей конфигурации. Современные технологии фирмы Microsoft предлагают исчерпывающие механизмы, удобные для формализации терминальной задачи и повышения степени её открытости. Построенные с помощью современных программных технологий модели позволяют быстро перейти от стадии проектирования к стадии разработки. Причем, применение компонентного подхода позволяет декомпозировать задачу на части и производить разработку виртуального ядра системы ЧПУ несколькими группами разработчиков параллельно. Применение стандартной схемы транслятора может быть использовано в любых прикладных приложениях. Следовательно, механизм конфигурационных файлов реализуем во всех типах прикладного программного обеспечения, что позволит сделать его наиболее открытым конечному пользователю.
Основу человеко-машинного интерфейса HMI составляет базовый интерфейс. В его составе некоторый набор функций, необходимых для управления станком. Базовый HMI поддержан минимально необходимым программным обеспечением, которое дает пользователю возможность эффективно взаимодействовать со станком. Тем не менее, в процессе эксплуатации станка могут возникать дополнительные потребности в наращивании функций управления. К примеру, может оказаться полезным предварительный просмотр управляющей программы на несколько кадров вперед с целью выявления «узких» мест, в которых обработка запрограммированного контура невозможна из-за особенностей геометрии обрабатываемой детали и инструмента. Другой пример: некоторые системы ЧПУ не располагают возможностью эквидистантной коррекции; в этом случае перед отработкой управляющей программы необходимо сформировать другую программу, описывающую эквидистантный контур. Третий пример: на токарных станках предварительный анализ запрограммированного контура позволяет установить возможность использования того или иного инструмента. Следовательно, существует потребность в расширении функциональных возможностей базовой системы HMI за счет интеграции в ее состав дополнительного программного обеспечения. Подобный принцип увеличения возможностей HMI был предложен нами для системы ЧПУ WinPCNC, разработанный при участии автора на кафедре компьютерных систем управления МГТУ СТАНКИН.
Базовый WinPCNC_HMI поддерживает: режим ручного управления (JOG), режим автоматической отработки управляющей программы (AUTO), режим ручного ввода программы (MDA). Серьезной проблемой при работе оператора остается редактирование, отладка и коррекция управляющей программы непосредственно на станке. В WinPCNCJHMI данная проблема была решена нами путем интеграции в состав базового HMI проблемно-ориентированного редактора управляющих программ AdvancEd с возможностью автоматического формирования технологической программы в режиме обучение (TEACH). Для токарного и фрезерного станков соответственно, в состав WinPCNC_HMI были включены разработанные нами программные продукты: анализатор геометрических контуров токарной обработки (ContourA) и эквидистантный конвертер (EQ_CONV).
Для работы с многофункциональными приложениями в составе базового WinPCNCJHMI предусмотрены отдельные режимы, как например, для редактора УП AdvancEd. Для простых приложений предоставляется свободно программируемая кнопка в тулбаре внешних приложений. Основной особенностью персональной системы ЧПУ (к примеру, WinPCNC) нового поколения является открытая архитектура, которая предполагает:
конфигурацию системы у станкостроителя и конечного пользователя;
интеграцию покупных программных пакетов;
непрерывную эволюцию системы в условиях максимальной независимости от изменений базовой платформы;
доступ к информации о состояниях любого программного модуля системы, а также к диагностической информации аппаратуры, приводов и объекта;
включение системы в сетевую коммуникационную среду [26, 30, 31, 35, 38].