
- •Устройства программного управления
- •Глава 1. Классификация систем управления 17
- •Глава 2. Общие принципы построения систем чпу 55
- •Глава 3. Задачи управления 121
- •Глава 4. Технологии разработки программного обеспечения систем управления 178
- •Глава 5. Документы пользователя систем чпу 231
- •Глава 1.
- •1.1. Современный мировой уровень архитектурных решений в области чпу
- •1.1.1. Системы cnc и pcnc-1
- •1.1.2. Системы pcnc-2
- •1.1.3. Система pcnc-3
- •1.1.4. Системы pcnc-4
- •1.2. Интеграция на основе открытого управления и стандарта орс
- •1.2.1. Представление об открытом управлении
- •1 .2.2. Системы scada
- •1.2.3. Стандарт орс
- •1.3. Интеграция на основе комплекса производственных стандартов step (Standard for the Exchange of Product model data)
- •1.3.1. Обзор комплекса производственных стандартов step
- •1.3.2. Step-nc
- •1.3.3. Использование в интерфейсе систем чпу языков express и xml
- •Глава 2. Общие принципы построения систем чпу
- •2.1. Архитектура систем pcnc
- •2.1.1. Признаки нового поколения систем чпу
- •2.1.2. Модульная архитектура систем чпу на прикладном уровне
- •2.1.3. Открытая архитектура систем управления
- •2.1.4. Виртуальная модель pc-подсистемы чпу
- •2.2. Проблема реального времени в системах управления
- •2.2.1. Постановка задачи
- •2.2.2. Реальное время в системе управления
- •2.2.3. Базовые понятия операционной системы реального времени
- •2.2.4. Использование в системах управления операционной системы Windows nt
- •2.2.5. Стратегия диспетчеризации на базе расширения rtx (Real Time extension)
- •2.2.6. Принцип разбиения потоков (threads)
- •2.3. Проблемы управления электроавтоматикой
- •2.3.1. Классификация систем управления электроавтоматикой
- •2.3.2. Система понятий, используемых при организации системы управления
- •2.3.3. Структура проекта системы управления электроавтоматикой (клиентская часть)
- •2.3.4. Альтернативные структуры проекта в клиентской части
- •2 Рис. 45. Диаграмма периодической работы .3.6. Объектный подход при управлении электроавтоматикой
- •2.3.7. Особенности управления электроавтоматикой станков с чпу
- •2.4. Построение межмодульной коммуникационной среды
- •2.4.1. Базовые функции коммуникационной среды
- •2.4.2. Клиент-серверные транзакции при запросе данных
- •2.4.3. Виртуальная структура объектно-ориентированной магистрали
- •2.4.4. Организация коммуникационной среды в виде открытой модульной системы
- •2.5. Принципы построения удаленных терминалов чпу
- •2.5.1. Удаленный терминал в системе управления
- •2.5.2. Информационные технологии, используемые при создании удаленного терминала
- •2.5.3. Библиотеки классов Java, используемые при создании апплетов
- •2.5.4. Инструментарий разработки удаленного терминала
- •2 .5.5. Специфика удаленного терминала системы управления
- •2.6. Особенности архитектуры систем чпу, поддерживающих стандарт iso 14649 step-nc
- •2.6.1. Традиционное программирование станков с чпу и стандарт step-nc
- •2.6.2. Язык express
- •2.6.3. Процессы и ресурсы в step-nc
- •2.6.4. Смешанная архитектура
- •3.1. Реализация геометрической задачи
- •3.1.1. Интерпретатор управляющих программ
- •3 .1.2. Интерполятор
- •3.2. Реализация логической задачи управления
- •3.2.1. Формализм описания циклов электроавтоматики
- •3.2.2. Инструментальная поддержка визуального программирования циклов электроавтоматики
- •3.3. Управление электроавтоматикой станков с чпу по типу виртуальных контроллеров SoftPlc
- •3.3.1. Объектно-ориентированный подход при организации математического обеспечения виртуальных контроллеров
- •3.3.2. Архитектура виртуального контроллера
- •3.3.3. Программная реализация виртуального контроллера
- •3.4. Реализация терминальной задачи
- •3.4.1. Интерпретатор диалога оператора в Windows-интерфейсе
- •3.4.2. Специфика построения редактора управляющих программ в коде iso-7bit (в составе терминальной задачи)
- •3.4.3. Редактор-отладчик управляющих программ на языке высокого уровня (в составе терминальной задачи)
3.4.2. Специфика построения редактора управляющих программ в коде iso-7bit (в составе терминальной задачи)
К редактору управляющих программ предъявляют как стандартные требования, характерные для текстового редактора, так и ряд специфических требований. К стандартным требованиям относятся:
ввод и редактирование текста, скроллинг и перелистывание страниц; операции перехода, контекстного поиска и замены;
блоковые операции маркировки, удаления, копирования, перемещения, загрузки и добавления блоков.
К специфическим требованиям относятся:
перенумерация после изъятия-включения кадров;
изменение масштаба и размерности;
• вывод активных G-функций (G-вектора) на основе предыстории кадра;
• синтаксический и семантический контроль;
• диалоговый (графический) ввод кадра и параметров стандартных циклов (файлы графической помощи находятся в составе конфигурационного файла);
• создание управляющих программ (УП) в режиме обучения [61]. Средства отладки программ включают:
пространственное графическое моделирование траектории инструмента с различением (по цвету, типу и толщине линий) быстрых и рабочих перемещений;
активное использование точек останова (break points), используемых, в том числе, для выделения фрагментов графического изображения;
• масштабирование графического изображения (zooming);
поддержку различных режимов изображения (пошаговый, автоматический, между точками останова, со skip-пропуском);
моделирование оставшейся части программы по отношению к текущей позиции станка.
Подобные возможности требуют включения в состав редактора некоторого ядра и дополнительных подсистем: интерпретатора управляющих программ (для любых версий кода ISO-7bit) и имитатора интерполятора для рисования траекторий.
Говоря о редакторе, необходимо затронуть проблему представления управляющих программ в коде ISO-7bit. Стандарт этого кода, принятый в 1970-х годах, практически не перетерпел изменений и тормозит использование сложных алгоритмов интерполяции (таких, как сплайновая интерполяция в реальном времени), управление лазерной и электроэррозион-ной обработкой и др. По этой причине производители систем ЧПУ используют собственные версии кода ISO-7bit в соответствии с потребностями своего круга пользователей. Многие версии не имеют четкой структуры, а их синтаксис базируется скорее на исключениях, чем правилах, поскольку версии создавались без общей концепции и расширялись стихийно. Тем не менее код ISO-7bit остается действующим стандартом и ни одна система ЧПУ не может его игнорировать. Заметим также, что все CAD-CAM системы генерируют выходной файл в формате ISO-7bit. В этой связи существует потребность в редакторе, конфигурируемом под конкретную версию кода ISO-7bit.
Конфигуратор формализует код IS07-bit путем выделения в нем нескольких уровней абстракции. На первом уровне определяется система команд (G-функций) и параметры каждой команды. Следующий уровень разбивает систему команд на группы по функциональному назначению G-функций и формирует G-вектор активных команд. Последний уровень абстракции назначает списки разделителей, комментариев, имен осей и адресов, имен G-функций. Подобным способом удается формализовать любую версию кода IS07-bit и соответствующим способом сконфигурировать редактор.
Основной принцип реализации редактора состоит в его модульности (рис. 99), которая позволяет применить стандартные Windows-решения (механизм «документ-представление», ActiveX-элементы в интерфейсе оператора, концентрацию ресурсов в ресурсных библиотеках для локализации на разных языках), использовать объектно-ориентированный подход, при котором каждому компоненту структуры редактора сопоставлен свой собственный набор объектов.
Первый модуль представляет собой клиентскую часть, определяющую, будет ли редактор независимым приложением или «встроенным» в режим системы ЧПУ. Второй, серверный модуль, выполненный в виде DLL-библиотеки, предлагает клиентской части полный набор сервисных функций и «скрывает» от клиентской части наличие других модулей. Виртуальная ISO-машина, построенная в виде DLL-библиотеки, выполняет такие операции над кадрами, как синтаксический и семантический контроль, конвертацию и интерпретацию кадра, вычисление G-вектора и т.д. Компоненты графического моделирования траектории инструмента также выделены в набор модулей и реализованы в виде ActiveX-элементов.
В
иртуальная
ISO-машина
считывает конфигурационный файл (*.cfg)
и настраивается на текущую версию кода
ISO-7bit.
Документ управляющей программы серверного
модуля осуществляет работу с файлами
управляющей программы. Файл загружается
в документ и отображается (представляется)
по-разному в зависимости от текущего
режима редактора. Так, одни и те же данные
могут быть представлены в виде панели
адресов, в текстовом или графическом
формате или в виде графической модели
траекто-
рии. Для интерпретации и конвертации кадра документ обращается к виртуальной ISO-машине. После интерпретации кадров виртуальная ISO-машина генерирует входной код интерполятора, IPD-код (Interpolator Data) и сохраняет его в файле. IPD-файлы считываются IPD-документом, который отображается в представление графического моделирования.
Клиентская часть генерирует функциональную клавиатуру, которая позволяет управлять редактором, а также окно статуса, где в процессе работы отображается контекстно-зависимая информация.
Редактор управляющих программ имеет архитектуру, открытую для конечных пользователей, разработчиков самого редактора, внешних приложений. Для конечных пользователей это прежде всего означает возможность конфигурации на различные версии языка ISO-7bit с помощью конфигурационного файла, имеющего текстовый формат. Далее существует возможность конфигурировать интерфейс пользователя, включая систему контекстных подсказок и систему помощи, используя текстовый файл инициализации и соответствующие динамические библиотеки ресурсов.
Разработчикам редактора предлагается архитектура, открытая для интеграции и компоновки. Так, редактор может быть интегрирован в существующий интерфейс системы ЧПУ или работать в качестве независимого приложения в технологическом отделе подготовки управляющих программ. Редактор предусматривает различные компоновки с ActiveX-элементами для графического моделирования траектории инструмента. На рис. 100 показаны 2D, 3D и OpenGL версии ActiveX-элементов, которые позволяют выбирать отображаемые оси, настраивать координатную систему и область просмотра, выбирать оптимальные значения, фильтровать набор переменных для просмотра их значений (текущих координат, имен инструментов, активных М- и G-функций и т.д.).
Архитектура, открытая для внешних приложений, поддерживается интерфейсом OLE IdataObject, с помощью которого осуществляется передача данных через «clipboard» - стандартный Windows-механизм для обмена данными между приложениями.