
- •Устройства программного управления
- •Глава 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.2.2. Инструментальная поддержка визуального программирования циклов электроавтоматики
Однотипность скелета исполняемого кода циклов позволила разработать инструментальную систему визуального проектирования, генерирующую исполняемые С++ исходные файлы. Конкретный граф вводят с панели интерфейса программиста, которая предлагает набор графических примитивов: простую вершину-состояние, сложную вершину-состояние, дугу, узел дуги. Свойства примитивов (имена,типы вершин-состояний и др.) задают в диалоговом режиме на «странице свойств» (property page). Функции визуального проектирования обеспечивают: многоуровневое вложение графов с работой на каждом уровне в отдельном окне; выполнение групповых операций (выделение фрагмента графа, удаление, копирование, перемещение фрагментов в разных позициях и на разных уровнях); сохранение-загрузку проекта или фрагмента; импорт одного проекта в другой; документирование проекта и генерацию отчетов; генерацию исходного кода для последующей компиляции; верификацию графа на уровне проектирования, моделирование и отладку циклов. Применение инструмента визуального проектирования многократно повышает производительность разработчика, позволяет создавать сложные циклы электроавтоматики, реализация которых без инструментальной поддержки проблематична.
3.2.3. Генерация инструментальной системой С++ кодов исполняемых модулей циклов электроавтоматики
Диаграмма классов исполняемых модулей циклов электроавтоматики в нотации Booch [56] приведена на рис. 85. Диаграмма отражает состав и взаимоотношения классов. В соответствии с соглашением нотации каждый класс изображают в виде облака. Имя класса начинается с буквы «С» (например, CNcsState). Линии и стрелки показывают отношения между классами, а также структурами, типами и объединениями.
П
рототипом
простого или сложного состояния служит
класс CNcsState.
Этому классу сопоставлена «этикетка«
типа CLabel,
которая сохраняется в m-поле
m_Label
- это показано отношением включения, в
котором связь начинается закрашенным
кружком и завершается закрашенным
квадратом. Класс CNcsState
хранит таблицу возможных переходов в
т-поле m_NcsStateMap.
Функциональные возможности таблицы
отражены в реализации (instance)
CNcsStateMap
класса шаблонаСМар библиотеки MFC,
что обозначено штриховой стрелкой.
Объект класса CNcsStateTransitionProp
устанавливает структуру, тип и условия
переходов. Класс CNcsState
содержит указатель на таблицу
вложенных состояний в m-поле
m_NodeMap.
Эта таблица инициализируется и
заполняется только для сложных
состояний. Таблица вложенных состояний
отражена в реализации (instance)
CNcsNodeMap
класса шаблона СМар.
Заключение
Жизненный цикл логической задачи управления предполагает программирование, интерпретацию программы и ее исполнение. Современная тенденция состоит в упрощении первой фазы за счет визуального программирования, включая инструментальную поддержку, и в объектно-ориентированной реализации второй фазы.