Модульное построение систем числового программного
управления
И.С. Кабак,
проф., к.т.н., доц., ikabak@mail.ru,
Н.В. Суханова,
доц., к.т.н., n_v_sukhanova@mail.ru,
М.А. Григорьев,
аспир.,
МГТУ “Станкин”, г. Москва
Данный доклад посвящен
вопросам применения многопроцессорных систем управления, состоящих из унифицированных
процессорных элементов. Процессорные элементы имеют упрощенную архитектуру и их
цена может быть существенно снижена. Использование
многопроцессорной архитектуры позволит существенно увеличить надежность системы
в целом при незначительном увеличении ее стоимости.
При построении
многопроцессорной системы необходимо
исследовать ряд аспектов, в частности, архитектуру отдельного процессорного
модуля, сетевое взаимодействие модулей, действие системы (реконфигурация) при
отказе отдельного модуля, особенности инициализации такой системы и другие. В
основу технических решений положены принципы объемно-модульной архитектуры,
предложенные и запатентованные авторами. Предлагаемый метод рассмотрен
применительно к системам числового программного управления, однако может использоваться
для любых сложных и многофункциональных систем управления.
The paper is devoted questions of
application of the multiprocessing control systems consisting from unified
processor elements. Processor unit have the simplified architecture and their price
can be essentially lowered. It will allow to increase essentially reliability
of system as a whole at insignificant increase in its cost. At construction of
multiprocessing system it is necessary to explore a number of aspects, in
particular, architecture of separate processor unit, at refusal of the separate
module, feature of initialization of such sistem and others. The principles of
volume-modular architecture offered and patented by authors are put in a basis
of technical decisions. The offered method is considered with reference to
systems of numerical programmed control, however can be used for any multitask
control systems.
Система управления ЧПУ представляет собой
нелинейную динамическую систему. В силу сложности, а иногда и невозможности
решения задач управления алгоритмическими методами на компьютере с фон -
Неймановской архитектурой (именно такие компьютеры используются в настоящее
время в системах ЧПУ), приходится нелинейные задачи управления (и
соответствующие дифференциальные
уравнения) приводить к более простому линейному виду.
В
инженерном контексте системы ЧПУ должны обладать следующими свойствами:
1.
живучесть;
2.
простой алгоритм управления и «дружественный к пользователю»
человеко-машинный интерфейс;
3.
масштабирование, т.е. включение новых компонентов;
4.
последовательное улучшение
управления в условиях заданных ограничений;
5.
способность к адаптивности.
Эти
свойства характерны для распределенных (сетевых) систем управления, когда
требуемая производительность и надежность могут быть достигнуты за счет аппаратной
избыточности, т.е. путем увеличения количества компьютеров в сети. Отметим, что
особенно эффективны механизмы распределенного управления, когда имеется ряд
автономных (слабо информационно связанных между собой) задач.
Рассмотрим
современную систему числового программного управления [1,2]. Она выполняет конечное множество функций,
объединенных в несколько основных задач:
· управление
формообразованием детали (геометрическая задача ЧПУ);
· управление цикловой автоматикой станка
(логическая задача ЧПУ);
· управление рабочими
процессами на станке (технологическая задача);
· взаимодействие с окружающей
производственной средой (терминальная задача ЧПУ);
· прогнозирование и планирование показателей
произведенной продукции;
· прогнозирование
технологического обслуживания станка (подбор и замена инструмента);
· прогнозирование
технического обслуживания станка для предотвращения его отказов;
· автоматизация подготовки программ обработки
деталей и их коррекция непосредственно на станке;
· другие.
В
свою очередь, каждая из задач является совокупностью нескольких основных
процессов, например, геометрическая задача, включает интерпретатор и интерполятор.
Каждый из основных процессов, является программным модулем, причем все
программные модули разделяют ресурсы одного или нескольких (в зависимости от реализации
системы ЧПУ) компьютеров. Для надежной и полноценной работы всех модулей и
рационального использования ими ресурсов вычислительного комплекса требуется наличие достаточно сложной и дорогой
операционной системы жесткого реального времени. В свою очередь, операционная
система также потребляет ресурсы
вычислительного комплекса, что повышает требования к аппаратному обеспечению.
Дополнение
уже разработанной и серийно выпускаемой системы ЧПУ новыми функциями требует наличия
исходных текстов программного обеспечения модулей и существенных временных и
финансовых затрат, причем доработка возможна только проектировщиком системы.
Рассмотрим
распределенную аппаратную систему для современной системы ЧПУ. Для работы такой
системы ЧПУ необходимо выполнение трех групп функций:
· Вычислительные и
управляющие функции.
· Организационные функции.
· Интеллектуальные функции,
решаемые искусственной нейронной сетью.
Вычислительные
и управляющие функции могут быть решены путем исполнения соответствующего проблемного
программного обеспечения на компьютерах с традиционной фон – Неймановской
архитектурой.
Организационные
функции включают задачи обеспечения
параллельной организации вычислений на однопроцессорном вычислительном
комплексе, организацию распределения ресурсов вычислительного комплекса между
пользовательскими процессами и некоторые другие функции. В современных системах
ЧПУ на базе персональных компьютеров эти функции решаются операционной системой
жесткого реального времени. Для выполнения этих функций также используются
компьютеры с традиционной фон – Неймановской архитектурой.
Для
компьютеров с упомянутой выше архитектурой, характерно последовательное
выполнение программного кода. Последовательное выполнение программного кода
требует использования сложных операционных систем жесткого реального времени.
Альтернативой использованию сложных операционных систем жесткого реального
времени может стать многопроцессорная
вычислительная система на базе высокоскоростной сети. В этом случае, аппаратный
комплекс включает набор унифицированных аппаратных процессорных модулей и сеть.
Эти унифицированные модули существенно проще, чем компьютер.
Учитывая
быстрое падение стоимости микросхем, данное техническое решение в ближайшее
время может стать более эффективным, чем
комплекс из одного или нескольких компьютеров.
Функционально
модули можно разделить на три типа :
1.
Модули, выполняющие обработку данных по предопределенным алгоритмам. Эти
модули являются упрощенным аналогом компьютеров. Они выполнены как отдельное
аппаратное устройство. В дальнейшем, будет называть их базовыми
алгоритмическими модулями.
2.
Вспомогательные модули, которые непосредственно в принятии управляющих
решений участия не принимают. Они выполняют вспомогательные функции по организации
функционирования системы в целом, хранении системной информации, инициации
системы, обеспечение надежности системы при ее реконфигурации из-за отказов
одного или нескольких аппаратных компонентов.
3.
Модули, выполняющие интеллектуальную обработку данных. Они содержат
фрагменты нейронной сети. Для того чтобы отдельные фрагменты могли работать как
единая нейронная сеть, необходимы дополнительные ограничения на структуру этих
модулей и на нейронную сеть в целом [5,6]. В дальнейшем, будет называть их
базовыми интеллектуальными модулями.
рис. 1. Структура базового алгоритмического модуля
Структурно каждый базовый модуль состоит из двух компонентов: сетевого
процессора и функционального блока. Функциональный блок определяет, что собственно
модуль делает.
Для алгоритмического модуля функциональный блок является
упрощенным вычислительным устройством с памятью и центральным процессором, см.
рис.1. В алгоритмических
модулях весь обмен данными осуществляет сетевой процессор. Центральный
процессор имеет упрощенную архитектуру и возможно его размещение на одной микросхеме
с оперативной памятью и сетевым процессором.
Такую же структуру может иметь периферийный модуль.
В интеллектуальном модуле функциональный блок представляет собой
фрагмент ИНС. Отметим,
что интеллектуальные модули используются только для систем с искусственным
интеллектом, а в простых управляющих системах (без искусственного интеллекта ) эти модули могут отсутствовать.
В [6]
приведено описание аналогичной системы, с использованием только двух типов
аппаратных модулей - периферийных и интеллектуальных.
При
работе систем числового программного управления имеется потребность в
значительном объеме вычислений. Основные задачи системы ЧПУ являются вычислительными,
следовательно, они могут быть реализованы алгоритмически, без искусственного интеллекта.
Рассмотрим
систему, состоящую из набора унифицированных аппаратных модулей. Все модули
имеют унифицированный интерфейс:
· Общий протокол обмена
информацией.
· Общий протокол обмена на
физическом уровне.
· Общие требования к
электрическому питанию модулей.
Линия
связи сети передачи информации также расположена в модуле. Модуль имеет
унифицированный интерфейс « Моноканал», приведенный на рисунке 2 .
Этот
интерфейс совмещает три функции:
· подвод электрического
питания к модулю (постоянного электрического тока напряжением 5-7 вольт) в продольной
части на основе медных проводов;
· механическое крепление
модулей, позволяющее создать сборно-разборный вариант комплекса оборудования,
которое осуществляется размещением в шаровом пазе выпуклой части интерфейса с
пружинной фиксацией;
· информационную связь
модулей между собой на основе оптоволоконного канала связи.
рис. 2 Интерфейс «Моноканал»
До начала работы все базовые
модули системы одинаковы и не имеют сетевых адресов. Адреса назначены только
периферийным модулям. При инициализации системы, периферийные модули начинают
процедуру адресации базовых модулей. Для определенности примем, что начальным
(нулевым) модулем является крайне левый нижний ближайший периферийный модуль. Его
координаты будут (0,0,0) и сетевой адрес (0:0:0). Сетевой адрес модуля состоит
из трех чисел (трех декартовых координат). Структура сетевого адреса модуля приведена на рис. 3.
рис. 3
Структура сетевого адреса модуля
Для нижнего слоя периферийных модулей аппликата равна нулю. В
процессе нумерации, последовательно, через каждый слой модулей, проходит
информационный пакет специального формата, указывающий модулю его номер.
Ответом модуля на получение им адреса является специальный пакет, указывающий
номер модуля и его тип.
После завершения адресации модулей в системе начинается загрузка
данных в модули, т.е. их профилирование. Для алгоритмических модулей загрузка
данных означает передачу модулю всех программных файлов и другой необходимой
для его работы информации. Для интеллектуальных модулей загружается матрица
весовых коэффициентов расположенного в данном модуле фрагмента обученной ИНС.
Отметим,
что профилирование означает загрузку информации в память модуля.
До этого все модули одного типа одинаковы.
Периферийные
модули хранят таблицы связей всех модулей между собой. На основе этих таблиц
осуществляется передача информации между модулями системы.
Все
алгоритмические и интеллектуальные модули работают параллельно и могут
обмениваться данными между собой по клиент-серверной архитектуре. Например,
когда интеллектуальному модулю требуется выполнить разложение в ряд Фурье
гармонического сигнала, он может сформировать запрос к соответствующему
алгоритмическому модулю. Для выполнения запроса в алгоритмический модуль загружается программный код, который собственно этот запрос и выполняет.
Этот код загружается при инициализации системы.
Алгоритмический
модуль в свою очередь может сформировать запрос для интеллектуального модуля.
Например, при выполнении задачи управления роботом-манипулятором в гибкой
производственной системе необходимо с помощью устройства технического зрения
определить форму заготовки для ее классификации. Задача распознавания является
классической задачей искусственного интеллекта, и ее целесообразно поручить
обученной ИНС. Алгоритмический модуль передает изображение, полученное от устройства
технического зрения, и формирует заявку для интеллектуального модуля, который возвращает
алгоритмическому модулю номер класса заготовки.
Возможность
такого запроса и ответа на него требует, чтобы в таблице связей периферийного модуля имелись записи о
маршрутах передачи данных.
Подобная
организация системы создает достаточно большой поток информации между модулями,
и, следовательно, узким местом системы может
стать именно транспорт информации между модулями.
Маршрутизация информации
Для
повышения производительности при транспорте информации, будем считать, что
используется статическая маршрутизация с фиксированной длиной пакета, аналогичная
используемой в технологии АТМ. Передача данных включает два этапа. На первом
этапе производится прокладка маршрута и составление таблицы коммутации сетевого
процессора, когда для каждого маршрута (номера маршрута) определяется выход
(порт), куда надо передать сетевому процессору данные. Маршрутизация осуществляется
периферийными модулями, по критерию обеспечения максимальной пропускной
способности комплекса. На практике, это означает поиск минимального пути с
обеспечением равномерной загрузки всех линий связи. После маршрутизации,
периферийный модуль рассылает всем базовым модулям маршрута специальные сообщения,
являющиеся элементами таблицы коммутации сетевого процессора. Отметим, что
маршрутизация осуществляется, как правило, вне функционирования комплекса, за исключением
необходимой реконфигурации комплекса при отказе аппаратуры модулей. Время
выполнения этой операции несущественно.
Сеть
обеспечивает интеграцию всех модулей в единый комплекс. Отказ сети или ее
недостаточное быстродействие приведут к отказу или снижению эффективности
работы аппаратного комплекса в целом. Стандартные компьютерные сети не имеют
достаточного быстродействия и уровня надежности. При
построении комплекса использовалась специализированная сеть, которая имеет
следующие особенности:
1.
Объём суммарного трафика
информации между модулями может составлять десятки гигабит в секунду и более.
Это полностью исключает использование в процессе работы традиционно применяемых
в настоящее время сетевых протоколов, таких как ETHERNET, TCP\IP, UDP\IP и других. Наиболее
подходящим является протокол аналогичный ATM, но использование ATM
ограничивается высокой стоимостью сетевого оборудования. Предложен специальный сетевой протокол.
2.
В качестве топологии сети передачи информации использована гиперкубическая
решетка. К каждому базовому модулю системы подходят шесть линий связи, расположенные
на шести гранях базового модуля кубической формы. Использование гиперкубической
решетки позволяет увеличить производительность сети и повысить ее надежность,
за счет обходных маршрутов.
3.
Сеть работает на основе статической маршрутизации, когда однократно до
начала работы системы (на стадии
инициализации) периферийные модули проводят процедуру назначения адреса модулям
комплекса и маршрутизируют пути доставки
информации в системе. Изменение маршрута доставки информации производится
только при отказе модуля и реконфигурации комплекса в целом.
4.
Система не имеет специального коммуникационного оборудования. Все
сетевые средства размещены в каждом из модулей комплекса. Такой подход
обеспечивает полную взаимозаменяемость модулей в пределах одного типа и
облегчает сборку системы.
Выводы
1.
Модульный принцип построения сложных систем управления техническими
объектами позволяет достичь высокого быстродействия.
2.
Наличие избыточных аппаратных модулей позволяет обеспечить заданный
уровень надежности системы в целом.
3.
Модульные системы, построенные по предлагаемому в работе способу, могут
применяться для систем ЧПУи для других многофункциональных систем управления.
Литература
1.
Сосонкин
В.Л., Мартинов Г.М. Системы числового программного управления Логос 2005 296
стр.
2.
В.
Л. Сосонкин, Г. М. Мартинов Программирование систем числового программного
управления Логос 2008 344 стр.
3.
Кабак
И.С., Суханова Н.В. Доменная нейронная сеть. Патент на полезную модель № 72084
от 03.12.2007
4.
Кабак
И.С., Суханова Н.В. Нейронная сеть. Патент на полезную модель № 66 831
опубл. 27.09.2007, Бюл. №27
5.
Кабак
И.С. Коммутаторная архитектура больших нейронных сетей. //Труды международной
научно-технической конференции Информационные средства и технологии
Москва,16-18 октября 2007 том 3 стр.124…127
6.
Кабак
И.С., Суханова Н.В Модульная вычислительная система. Патент на ПМ № 75247 (2008.07.27)