
- •Устройства программного управления
- •Глава 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.3.2. Архитектура виртуального контроллера
В системе ЧПУ виртуальный контроллер работает в среде операционной системы Windows NT с расширением реального времени RTX фирмы VentureCom [4]. Проектирование контроллера предполагает последовательное рассмотрение его модели на трех уровнях абстракции: уровне модели потоков (структуры потоков), уровне функциональных модулей и уровне программной реализации (рис. 86).
Сначала рассмотрим структуру потоков. Основная задача контроллера состоит в одновременном выполнении нескольких команд и параллельной обработке внешних сигналов. Каждый процесс контроллера, который нуждается в выделении отдельного потока, выполняется в рамках основного процесса виртуального контроллера, запущенного под RTX. Процессорное время, выделяемое операционной системой основному процессу, должно быть распределено между потоками.
Далее
воспользуемся идеей псевдомногопоточности
на основе механизма выделения квантов
(разделения времени). Процессорное
время вы-деляегся потокам отдельными
квантами с помощью внутренЕшх
механизмов
виртуального контроллера. В каждом
кванте может выполняться толь
ко один поток. Все потоки разделены на группы по приоритетам, причем управление группой осуществляется отдельным программным таймером. Программный таймер аналогичен системному, реализованному в операционной системе, но не генерирует прерывания, и его обработчик запускается планировщиком (в нашем случае-модулем синхронизации). Выделение нескольких групп потоков в виртуальном контроллере связано с тем, что различные его задачи требуют разного времени реакции на внешнее воздействие: чем меньше время реакции, тем выше приоритет потока, обслуживающего задачу.
Более высокий приоритет потока означает более высокую частоту выделения квантов времени. Различные частоты поддерживаются в системе несколькими таймерами, каждый из которых активизируется на своей частоте и выделяет кванты времени своим потокам. Модуль синхронизации осуществляет синхронную активизацию таймеров.
На временной диаграмме потоков, представленной на рис. 87, рассмотрен случай, когда виртуальный контроллер работает с тремя группами псевдопотоков.
Каждая группа получает кванты времени на выделенной частоте, что соответствует трем приоритетам. Таймер опорной частоты запускается на максимальной частоте сканирования входных регистров. Частоты программных таймеров формируются путем деления опорной частоты в обработчике событий таймера опорной частоты.
На
временной диаграмме опорная частота
равна 100 Гц, модуль синхронизации
настроен на использование частот 100,50
и 20 Гц. Для каждой
частоты назначен программный таймер. Интервалы времени выделены для анализатора IPD-кода (Interpolator Data, данные на входе интерполятора), синхронизатора, каждого таймера в отдельности. Таким образом, в интервалах времени, кратных 10 мс, будут работать все три таймера.
С целью более равномерного распределения нагрузки в интервалах времени, задачи второго и третьего программных таймеров разделены, соответственно, на две и четыре подгруппы. Это позволяет запускать подгруппы поочередно в каждом интервале времени.
Модель контроллера на уровне функциональных модулей показана на рис.88.
Виртуальный контроллер имеет пять составных частей (модулей):
а
нализатор, читающий IPD-данные из входного буфера и преобразующий эти данные во внутренний формат виртуального контроллера с учетом входных и выходных регистров электроавтоматики;
синхронизатор, поддерживающий механизм назначения квантов времени и генерирующий синхросигналы для всех процессов виртуального контроллера;
исполняемые модули, служащие для отработки команд, поступающих в виртуальный контроллер, таких как опрос датчиков аварийного останова и конечных выключателей, включение/выключение подачи охлаждающей жидкости, зажим/разжим патрона, запуск/останов шпинделя, опрос датчиков температуры и т.д;
регистр, используемый для обмена информацией между системой ЧПУ и виртуальным контроллером;
шлюз, предназначенный для отображения информации, передаваемой по CAN-магистрали в регистр.
Взаимодействие модулей осуществляется следующим образом. В результате интерпретации управляющей программы ЧПУ формируется промежуточный IPD-код [21], представляющий собой универсальный бинарный код, не зависящий от используемой платформы. IPD-код содержит траекторную информацию об относительных перемещениях инструмента и детали, а также информацию о вспомогательных М-командах. Модуль интерполятора читает IPD-код, отделяя те данные, которые относятся к командам контроллера. Выделенная команда направляется соответствующему исполняемому модулю, внутри которого есть все необходимое для выполнения контроллером команды. Исполняемый модуль представлен в виртуальном контроллере в виде отдельной задачи.
Допускается параллельное выполнение нескольких М-команд. Механизм назначения квантов времени, генерирующий синхросигналы для всех процессов контроллера, обеспечивает синхронное выполнение команд. После отработки внутреннего алгоритма контроллер передает интерполятору информацию о своем состоянии.
Обмен данными между контроллером и системой ЧПУ осуществляется через разделяемую память, называемую в нашем проекте «регистром». В регистре выделены три блока: специальных маркеров SM (Special Marker), входных данных виртуального контроллера; выходных данных контроллера. Маркер SM используется для оповещения о нерегулярных ситуациях, возникающих в системе ЧПУ и контроллере. В каждом кванте времени блок SM анализируется на наличие в нем признаков сбоев (отказов аппаратуры и механизмов и др.) или признаков особо важных сигналов (при воздействии оператора на внешние органы управления). Например, аварийный останов принудительно прекращает работу всей системы. Информация о поступлении аварийного сигнала (при нажатии на кнопку аварийного останова) распространяется по всем объектам контроллера через определенную ячейку в блоке SM.
Блоки входных и выходных данных предназначены для организации двустороннего обмена с объектом управления: контроллер считывает информацию из блока входных данных и записывает ее в блок выходных данных. Передача информации между регистром и CAN-магистралью осуществляется посредством шлюза. Модель виртуального контроллера на уровне программной реализации рассмотрим в отдельном разделе.