ПРОГРАММНО-АППАРАТНЫЙ КОМПЛЕКС ДЛЯ УПРАВЛЕНИЯ ПРЕЦИЗИОННЫМ ОБОРУДОВАНИЕМ

Полезная модель относится к области автоматизации производственных технологических процессов и может быть, преимущественно, использована в системах управления прецизионными станками с ЧПУ (числовым программным управлением) и мехатронными модулями.
Очередная смена поколений существенно меняет потребительские свойства, структуру, архитектуру и математическое обеспечение систем числового программного управления (ЧПУ). Принципиальными особенностями системы ЧПУ нового поколения типа PCNC (Personal Computer Numerical Control) являются: использование открытой архитектуры, конфигурирование системы у производителя оборудования и у конечного пользователя, эволюция системы в условиях максимальной независимости от изменений системной платформы; интеграция программных пакетов, доступ к информации любого модуля, в том числе к диагностической информации объекта управления; подключение к внешней сетевой коммуникационной среде, использование в архитектуре системы принципов системной интеграции. Архитектура на прикладном уровне определяется количеством и составом прикладных разделов, называемых задачами управления .В числе подобных задач можно упомянуть: геометрическую (ориентированную на управление следящими приводами); логическую (организующую управление электроавтоматикой), технологическую (гарантирующих поддержание или оптимизацию параметров технологического процесса); - терминальную задачу (поддерживающую диалог с оператором, отображение состояний системы, редактирование и верификацию управляющих программ); задачу диспетчеризации (обеспечивающую управление другими задачами на прикладном уровне). Структура системы ЧПУ представляет собой совокупность базовых модулей и дополнительных модулей - коммерческие приложения. Общая структура представлена NC-подсистемой (Numerical
Control) и РС-подсистемой (Personal Computer). Первая формирует среду для ЧПУ-ориентированных модулей, работающих в реальном времени, и для специальных приложений пользователя. Вторая подсистема образует среду Windows-образного интерфейса пользователя и включает инструментальную систему подготовки и тестирования управляющих программ, а также другие специальные приложения. По мере роста вычислительной мощности компьютеров все более привлекательным становится одно-компьютерный вариант. Одно-компьютерная модель использует традиционный компьютер, оснащенный дополнительными контроллерами для связи с объектами управления. Операционная система Windows не является системой реального времени и в этой связи требует соответствующего расширения; например, в виде системы RTX 4.1 американской фирмы VentureCom.
Архитектурные варианты дают общее представление о принципах открытой архитектуры применительно к ЧПУ: четкое разграничение между системным, прикладным и коммуникационным компонентами; возможность независимого развития любого из них как на основе оригинальных разработок, так и путем встраивания покупных программных систем; клиент-серверная организация взаимодействия подсистем, стандартизация интерфейсов и транзакций.
Установлены пять архитектурных вариантов, сосуществующих на рынке ЧПУ. Классические системы CNC (первый вариант) выпускаются фирмами с богатой традицией производства высококачественной собственной микроэлектронной аппаратуры. Но и они, под давлением конечных пользователей, предлагают модификацию с персональным компьютером в качестве терминала (второй вариант). По многим причинам первые системы типа PCNC относились к двух-компьютерной архитектуре (третий вариант). Они и сегодня популярны и широко распространены. Позднее появились системы PCNC, ядро которых реализовано на отдельной плате, устанавливаемой в корпусе промышленного персонального компьютера (четвертый вариант). Наконец, по мере
повышения мощности микропроцессоров, все большее распространение получает одно-компьютерный (пятый) вариант системы PCNC.
Остановимся подробнее на примерах систем класса PCNC-4 (пятый вариант), которые представляют сегодня наибольший интерес.
Система ЧПУ фирмы Beckhoff (Германия) демонстрирует пример одно-комьютерной архитектуры PCNC, в рамках которой все задачи управления (геометрическая, логическая, терминальная) решены чисто программным путем. Внешний интерфейс выстроен на базе стандартной (по выбору) периферийной шины Fieldbus. Выход к объектам осуществляется с помощью периферийных «терминалов» ввода-вывода.
Операционная среда представляет собой комбинацию операционной системы Windows для поддержания процессов машинного времени и системы TwinCat (Total Windows Control and Automation Technology). Операционная система TwinCat интегрирована в Windows, добавляет ей функции реального времени, не изменяя самой Windows. На прикладном уровне в потоках управления работают программные модули ЧПУ и программируемые контроллеры, имеющие клиентскую часть (для подготовки данных) и серверную часть (для работы в реальном времени).
При разработке новой модели системы ЧПУ фирма Siemens сделала акцент на открытую, для конечного пользователя, архитектуру, как со стороны интерфейса оператора, так и со стороны ядра системы. Интерфейс оператора работает в операционной системе Windows и допускает включение в интерфейс windows-приложений. Однако возможна и более глубокая реконфигурация интерфейса с помощью оригинальной инструментальной системы ProTool. Для расширения функций ядра предложена схема, в соответствии с которой в процессы ядра включены своеобразные точки останова "break-out-points", называемые "events" (события). События инициируют фрагменты пользовательского кода на Visual С++, называемого здесь "compile cycles" (скомпилированные циклы). Скомпилированные циклы имеют унифицированный интерфейс OPI (OEM Program Interface), что обеспечивает им стандартный доступ к системным данным и функциям посредством механизма связывания "binding"
Наиболее близким к заявленному техническому решению является известный из уровня техники программно-аппаратный комплекс для управления прецизионным оборудованием, система числового программного управления которого организована на платформе персонального компьютера с двухуровневой архитектурой на прикладном уровне, сформированной посредством: группы модулей, реализующих прикладные задачи управления посредством функциональных блоков, в составе упомянутой группы модулей; системы коммуникации; функционального средства диспетчеризации и разделяемой памятью (см. Сосонкин В.Л., Мартинов Г.М. «Принципы построения систем ЧПУ с открытой архитектурой». - Приборы и системы управления. 1996, №8, с.18-21).
К недостаткам данного известного из уровня техники технического решения следует отнести относительно низкий уровень быстродействия управляющей системы и, как следствие, относительно низкая производительность технического средства (объекта управления) и недостаточная для современного производства точность перемещения его исполнительных органов.
Технический результат заявленного технического решения (объективно проявляемый программно-аппаратным комплексом в результате его непосредственного участия в работе технического средства под управлением установленного на упомянутом комплексе программного обеспечения) заключается в повышении производительности оборудования и точности перемещения его исполнительных органов в результате увеличения быстродействия программируемых однотипных модулей комплекса и повышения эффективности оперативного управления оборудованием в режиме реального времени для поддержания заданных технологических параметров и/или условий обработки.
Поставленная задача решается посредством того, что в программно-аппаратном комплексе для управления прецизионным оборудованием система числового программного управления (ЧПУ)
организована на платформе персонального компьютера с двухуровневой архитектурой на прикладном уровне, сформированной посредством: группы модулей, реализующих прикладные задачи управления посредством функциональных блоков, в составе упомянутой группы модулей; системы коммуникации; функционального средства диспетчеризации и разделяемой памятью, согласно полезной модели, двухуровневая архитектура сформирована на базе однотипных уровней, в которой уровень системы ЧПУ в целом и уровень любого модуля, реализующего определенную задачу управления, выполнены по типу виртуального мультипроцессорного вычислителя; система коммуникации построена в виде глобального сервера с, по меньшей мере, следующими функциями: конфигурации коммуникационной среды; управления типом и содержанием сессий, т.е., транзакций; управления выбором типа и группы экранного изображения; управления форматированием передаваемых данных; средство диспетчеризации реализовано в виде менеджера уведомлений с функциями подписки (т.е. заявки на обслуживание) модулей на получение и обновление данных и команд управления; каждый блок нижнего уровня реализован подобно общей архитектуре системы ЧПУ и с подобными же функциями, т.е., в виде архитектурных компонент управления, привязанных к локальной коммуникационной среде на базе локального сервера с локальным менеджером уведомлений и разделяемой памятью.
Полезная модель иллюстрируется следующими графическими материалами, где: Фиг.1 - модульная архитектурная система ЧПУ типа PCNC и задачи управления; Фиг.2 - функции интерфейса объектно-ориентированной магистрали (системы коммуникации в виде глобального сервера).
Система ЧПУ программно-аппаратного комплекса организована на платформе персонального компьютера с двухуровневой архитектурой на прикладном уровне, сформированной посредством: группы модулей 1, реализующих прикладные задачи управления при помощи функциональных блоков 2, в составе упомянутой группы модулей 1;
системы коммуникации; функционального средства диспетчеризации и разделяемой памятью. Двухуровневая архитектура сформирована на базе однотипных уровней, в которой уровень системы ЧПУ в целом и уровень любого модуля 1, реализующего определенную задачу управления, выполнены по типу виртуального мультипроцессорного вычислителя. Система коммуникации построена в виде глобального сервера 3 с, по меньшей мере, следующими функциями: конфигурации коммуникационной среды; управления типом и содержанием сессий (т.е., транзакций); управления выбором типа и группы экранного изображения; управления форматированием передаваемых данных. Средство 4 диспетчеризации реализовано в виде самостоятельной (структурно выделенной) компоненты - менеджера уведомлений с функциями подписки (т.е. заявки на обслуживание) модулей 1 на получение и обновление данных и команд управления. Каждый блок 2 нижнего уровня реализован подобно общей архитектуре системы ЧПУ и с подобными же функциями, т.е., в виде архитектурных компонент управления, привязанных к локальной коммуникационной среде на базе локального сервера 5 с локальным структурно выделенным менеджером уведомлений (на фиг.1 условно не показан) и разделяемой памятью.
Далее более подробно раскрываются функциональные особенности заявленной системы ЧПУ и перспективы развития ее архитектуры.
Сегодня в автоматизированном производстве привлекают те решения, которые построены на единой информационной модели изделия в рамках его жизненного цикла: от компьютерного проектирования (CAD) и компьютерного планирования (САРР) к автоматизированной подготовке управляющих программ (САМ) и изготовлению на станках с ЧПУ (NC). Подобная модель определена в рамках комплекса стандартов STEP. Слабым звеном в последовательных переходах по этапам жизненного цикла является переход CAM-NC. Программирование современных систем ЧПУ подчиняется стандарту ISO 6983 (DIN 66025).
Стандарт ISO 6983 (DIN 66025) поддерживает наиболее простые команды для элементарных перемещений и логических операций, но не
сложные геометрию и логику. Однако более серьезным является невозможность двухстороннего обмена информацией с системами CAD-CAM; что означает, что любые изменения в управляющей программе не могут быть отображены в восходящем информационном потоке.
Стандарт STEP-NC предлагает модель того, "что" нужно сделать без подробностей того, "как" осуществлять траекторные перемещения и выполнять команды логических переключений. Эта модель отвечает новому стандарту ISO 14649, согласно которому: изделие получают из заготовки путем удаления типовых форм (features); путем условного или безусловного выполнения ассоциированных с типовыми формами переходов (workingsteps); в потоке управления, задаваемом исполняемыми блоками (executables); с необходимыми допусками; с использованием инструмента, отвечающего всем необходимым требованиям.
Стандарт ISO 14649 устанавливает следующие компоненты функциональности (Units of Functionality): изделие (workpiece), типовая форма (feature), исполняемый блок (executable), переход (operation), траектория инструмента (toolpath), измерения (measures).
Изделие описывают с историей версии, с информацией владельца, с утверждениями, датой, указанием материала и его свойств. Типовые формы определяют области удаляемого материала заготовки, а их внешний вид является частью внешнего вида изделия. Типовые формы задают в параметрическом виде как совокупность образующей и направляющей.
Ядро модели STEP-NC составляет план операций (workplan), который является последовательностью шагов (workingsteps). Каждый шаг ассоциирован с переходом в типовой форме изделия. Переход содержит технологический алгоритм и указания по настройкам. Исполняемый блок (executable) описывает поток управления и последовательность переходов, ассоциированных с операциями и типовыми формами.
Траектория инструмента устанавливает движение приводов, если интеллектуальная система ЧПУ не способна сама спланировать такую траекторию.
Управляющая программа представлена в формате физического файла. В первой секции, заголовке (header), содержится информация общего характера и комментарии. Далее следует секция данных, открываемая ключевым словом Data: план операций, исполняемые блоки, технологические описания, геометрические описания.
Использование этого формата имеет ясное представление и четкое окружение. Однако имеются и другие предложения, связанные с прямым использованием в управляющих программах ЧПУ языков EXPRESS и XML.
Системы ЧПУ, ориентированные на использование STEP-NC, могут быть представлены одним из трех вариантов (типов). Первый вариант является традиционной системой ЧПУ, управляющая программа которой в стандарте ISO-14649 трансформируется в формат ISO-6983 на уровне пост-процессирования. Во втором варианте система ЧПУ располагает встроенным интерпретатором управляющих программ в стандарте ISO-14649. Третий вариант является наиболее квалифицированным решением: система ЧПУ встроена в Internet и поддерживает единообразную в цепочке CAD-CAM-CNC модель ISO-14649; автоматизированы все функции от наладки до измерения; система располагает искусственным интеллектом.
Системы числового программного управления располагают модулями, работающими в машинном масштабе времени, и модулями реального времени. Модули взаимодействуют между собой и нуждаются в диспетчеризации. Причем проблемы диспетчеризации близки к тем, которые решаются средствами операционных систем реального времени; однако диспетчер ни в коей мере не заменяет операционную систему.
Системы реального времени, включая модуль диспетчера, строят на базе операционных систем реального времени (ОСРВ). Исполнительные системы реального времени предлагают разные платформы для
разработки и исполнения программного обеспечения. Прикладную часть реального времени разрабатывают на хост-компьютере, затем объединяют с ядром и загружают в систему управления как одну задачу. Такое решение дает высокую точность и быстродействие. Примером может послужить операционная система реального времени VxWorks.
Системы управления с операционной системой UNIX реального времени переписывают ядро стандартной операционной системы с учетом требований реального времени. Такие системы поддерживают весь набор UNIX-приложений. Однако система UNIX имеет большой объем и низкую реактивность. Типичным и широко используемым представителем семейства UNIX служит некоммерческая операционная система Linux.
Современные системы числового программного управления все чаще используют операционную систему Windows с расширением реального времени. Windows не является системой реального времени, поскольку: она не имеет достаточного диапазона приоритетов потоков (threads); она не позволяет управлять наследованием приоритетов; механизм синхронизации потоков и время реакции на прерывание непредсказуемы.
Между тем, в силу популярности операционной системы Windows в системах управления, проблема как-то должна быть решена. Известный подход заключается в расширении (в смысле реального времени) Windows. Это может быть оригинальная разработка изготовителя системы управления, например, система WinCAT (Backhoff Industrie Electronic, ФРГ). Другой вариант - использование готового коммерческого расширения, например RTX 4.1 фирмы VenturCom.
Расширение реального времени позволяет: быстро обновлять систему управления с появлением новых версий Windows; осуществлять мощную защиту приложений, которую Windows выполняет с помощью независимого абстрактного уровня HAL (Hardware Abstraction Level); легко отлаживать коды и использовать возможности стандартных механизмов Microsoft для информационного обмена между Windows и задачами реального времени.
В подобных системах работает обычный прикладной интерфейс Win32 для Windows (для машинного времени); а также дополнительные прикладные интерфейсы RTAPI и Win32 RT (Real Time, интерфейс реального времени). Дополнительные прикладные интерфейсы обеспечивают два режима реального времени, "жесткого" и "мягкого". Это позволяет оптимизировать вычислительные ресурсы системы управления, разделив ее функциональные задачи на три группы:
- в режим жесткого реального времени попадают критические задачи (интерполяция кадров, ввод-вывод и т.д.), реализованные в процессе RT-сервер;
- в режиме мягкого реального времени решаются задачи, связанные с задачами реального времени (например, интерпретация кадра); они реализованы в процессе Терминал;
- в режиме машинного времени работают остальные стандартные прикладные модули системы управления (редактор управляющих программ, встроенная САN-система, система моделирования процесса обработки и т.д.).
Традиционно, коммуникационную среду системы ЧПУ трактуют как некоторый набор интерфейсных API-функций (Application Programming Interface functions) для обмена данными с ядром системы ЧПУ, при этом общее число API-функций может достигать нескольких сот. При таком подходе изменение в архитектуре системы требует немалых усилий разработчиков. Таким образом, существующая ситуация состоит в том, что API задает некоторый общий интерфейс подключения модулей в системе ЧПУ, но не поддерживает их интеграцию.
Коммуникационная среда берет на себя проблему интеграции и межмодульной коммуникации системы PCNC. "Компонентный" СОМ-подход и известные принципы системной интеграции могут быть использованы при разработке отдельных модулей системы ЧПУ и на уровне ее макропроектирования. Последнее означает, что проблема межмодульной коммуникации решается так же, как и проблема системной интеграции. Объектно-ориентированная магистраль может служить
средством межмодульной коммуникации и источником необходимых межмодульных услуг.
Магистраль является программным (виртуальным) каналом для обмена данными между подключенными к каналу модулями. Объектно-ориентированная магистраль предполагает наличие в ее программном обеспечении набора объектов, решающих задачи подключения модулей, транспортировки данных и др. На фиг.2 выделены четыре типа функций объектно-ориентированной магистрали: функции запроса данных, функции управления, функции отображения, вспомогательные функции.
Функции запроса данных предполагают, что в РСМС-системе существуют данные разных типов и потребность в них различна. Например, данные о количестве и именах используемых на станке координатных осей требуются один раз в момент инициализации PCNC-системы.
Данные о текущем состоянии выполняемого процесса нужны постоянно, чтобы принимать корректные решения. Существуют и другие варианты запросов на получение данных. Поэтому объектно-ориентированная магистраль предусматривает пять их видов: синхронный, асинхронный, синхронный по событию, асинхронный по событию, асинхронный циклический запрос. Группы запрашиваемых данных примерно совпадают с группами API-функций.
Функции управления можно разбить: на функции управления каналом, открывающие и закрывающие канал; на функции процессов, контролирующие ход их выполнения, включая запуск и останов; на функции управления состояниями. Если запрос связан с процессом получения данных из модуля-источника (сервера) через внутреннюю структуру коммуникационной среды, то процесс переноса и обработки этих данных в модуль-клиент относится к группе функций отображения данных.
Существуют также вспомогательные функции. Они представляют единый механизм конвертирования и форматирования данных, обработки
ошибок, формирования исключений (exceptions) для всех модулей, подключенных к объектно-ориентированной магистрали.
Взаимодействие модулей РСМС-системы носит клиент-серверный характер. Транзакции между модулем-клиентом, запрашивающим услугу, и модулем-сервером, оказывающим услугу, обобщаются по их назначению.
Команда направляется серверу для выполнения некоторого действия, например, запуска управляющей программы. Такая команда не предполагает ответа со стороны сервера. Другой вариант: запрос, направляется серверу с целью получения некоторых данных, например, значений текущих координат. Такой запрос предполагает ответ со стороны сервера.
Таким образом, в процедуре обмена данными в системе ЧПУ типа PCNC выделены фаза запроса и фаза отображения данных. Производители систем ЧПУ ответственны за обеспечение открытой структуры в первой фазе, а станкостроители и конечные пользователи располагают возможностями открытой системы для решения своих специальных проблем во второй фазе. Объектно-ориентированная магистраль - это коммуникационная среда для обмена данными, но и единый сервер, оказывающий услуги любым подключенным к ней модулям. Организация транзакций по типу синхронной, асинхронной сессии и сессии по событию позволяет минимизировать трафик в коммуникационной среде и оптимально использовать ресурсы процессора.
Математическое обеспечение системы ЧПУ на прикладном уровне состоит из нескольких фундаментальных разделов, называемых "задачами ЧПУ". Важнейшей из них является геометрическая задача ("motion control"), которая присутствует во всех без исключения системах ЧПУ. Она состоит из трех крупных модулей: интерпретатора управляющих программ, интерполятора, модуля управления следящими приводами.
Интерпретатор транслирует кадры управляющей программы в коде ISO-7bit с целью представления данных во входном формате интерполятора. В фазе интерпретации кадра система ЧПУ выполняет
эквидистантные расчеты и расчеты, связанные со стыковкой эквидистантных контуров; осуществляет преобразование координатных систем (в абсолютную или относительную системы) и преобразование систем измерения (в миллиметры или дюймы); вызывает стандартные циклы и подпрограммы; разделяет потоки данных геометрической, логической и других задач. Наилучший вариант реализации интерпретатора состоит в его построении по типу ISO-процессора. Такое решение обеспечивает наибольшее быстродействие и гибкость PCNC системы в отношении системы команд, т.е. версии языка (кода) ISO-7bit.
На завершающей стадии интерпретации данные поступают в кольцевой буфер (позволяющий анализировать на совместимость группу соседних кадров с эквидистантной коррекцией), а окончательный результат интерпретации представлен в виде IPD-кода (Interpolator Data).
Задачи модуля интерполяции традиционны. Однако в последнее время к интерполятору предъявляют новые требования. В их числе: уменьшение цены дискреты в приводе до 0,5 микрона и менее; прямой выход на приводы, при котором перемещение в кадре задано в приращениях следящего привода, что необходимо при особо высоких скоростях подачи; разложение сложных перемещений на линейные комбинации основных перемещений. Подобные требования определяют новую (открытую) архитектуру интерполятора, в которой четко обозначены отдельные блоки.
Открытый интерполятор допускает свободное наращивание алгоритмов интерполяции и произвольную их комбинацию при воспроизведении сложных траекторий в многокоординатном пространстве (в том числе и с использованием сплайнов). Ключевым моментом при построении открытого интерполятора является удачный выбор входных форматов.
Рассмотрим пример интерполятора, реализующего линейную, круговую и сплайновую интерполяцию, а также их комбинации. Модуль интерполяции подключен к общей объектно-ориентированной магистрали системы ЧПУ. Интерфейс интерполятора обеспечивает: прием
параметров интерполяции и оперативных сигналов управления интерполятором, выдачу данных о состоянии модуля интерполяции.
Интерполятор включает некоторый набор блоков, собственную внутреннюю шину и администратор. Кадры управляющей программы поступают на вход транслятора в IPD-формате, преобразуются во внутренний формат интерполятора, обрабатываются в блоке опережающего просмотра кадров Look Ahead (с целью сглаживания скорости подачи) и запоминаются в кольцевом буфере. Транслятор формирует сообщения, в которых упакованы параметры интерполяции. Сообщения адресуются к определенным блокам интерполятора и могут быть главными и дополнительными. Главные сообщения содержат данные, необходимые адресуемым блокам, а дополнительные сообщения содержат данные о перемещениях вдоль координатных осей. Таким образом, главные сообщения инициализируют блоки, которые должны быть задействованы в интерполяторе при отработке кадра управляющей программы, а с помощью дополнительных сообщений инициализируются координатные оси, принимающие участие в интерполяции.
Внутренняя шина интерполятора является "шиной быстрых процессов" и связывает между собой все блоки. Она реализована на базе объектно-ориентированного подхода и соединена с основной объектно-ориентированной шиной системы ЧПУ с помощью администратора. Блоки, участвующие в отработке текущего кадра, назначаются с помощью специального кода. Этот код инициализируется в трансляторе и передается в администратор.
В одном кадре после трансляции могут быть задействованы несколько блоков интерполяции из разных или одинаковых групп. Например, при воспроизведении на станке винтовой линии будет включен блок линейного разгона-торможения, блок круговой интерполяции, блок линейной интерполяции и блок управления приводами подачи. При обработке деталей на пяти - шести-координатных станках возможна одновременная работа нескольких круговых и линейных или сплайновых интерполяторов.
Подобная схема кодирования обеспечивает гибкость и открытость интерполятора. Возникает возможность построения администратора, который инвариантен к составу и количеству блоков интерполятора.
Назначение блока Look Ahead опережающего просмотра состоит:
- в определении условного времени отработки кадра в циклах интерполятора для последующей коррекции контурной скорости;
- в анализе в каждом кадре базовых параметров движения (вектора контурной скорости в начале кадра и в конце кадра, скорости по дополнительным координатным осям, пути в основной системе координат, радиуса кривизны траектории движения).
В результате своей работы блок Look Ahead определяет скорость в конце кадра (конечную скорость), новое значение контурной скорости подачи.
Общая схема работы интерполятора выглядит следующим образом. После предоставления кванта процессорного времени администратор (построенный по схеме микропрограммного автомата) посылает запрос транслятору на получение кодов блоков интерполятора, которые должны быть запущены. Получив коды, администратор запускает блоки в порядке их приоритетов; причем перед каждым запуском устанавливает одну из следующих команд: "ЗАГРУЗКА", "РАБОЧИЙ ТАКТ", "ЗАВЕРШАЮЩИЙ ТАКТ", "АВАРИЙНОЕ ТОРМОЖЕНИЕ", "ОСТАНОВ ИНТЕРПОЛЯТОРА", "СБРОС ИНТЕРПОЛЯТОРА", "ПУСК ИНТЕРПОЛЯТОРА".
Список команд можно изменять и расширять путем перепрограммирования администратора. Процесс загрузки нового кадра совпадает с завершающим тактом интерполяции предыдущего кадра. Завершающий такт интерполяции состоит в выходе в конечную точку траектории и не требует сколько-нибудь сложных вычислений. По команде "РАБОЧИЙ ТАКТ" каждый из интерполяторов обращается с запросом к блоку разгона-торможения и получает от него значение приращения пути, которое необходимо пройти вдоль контура в цикле интерполяции. Блок разгона-торможения запускается ранее интерполяторов, поскольку имеет более высокий приоритет. Блок "СУММАТОР" формирует суммарные
приращения пути из отдельных составляющих и выдает их на приводы подачи. Кроме того, сумматор накапливает абсолютные значения координат и хранит их в течение всего времени работы. По команде "УСТАНОВКА ФИКСИРОВАННОЙ ТОЧКИ" сумматор инициализирует абсолютные координаты. В этом же блоке работает и алгоритм коррекции погрешностей ходовых винтов.
Реализация логической задачи на основе программно-реализованных (виртуальных) контроллеров SoftPLC
В основе технологии создания программного обеспечения электроавтоматики на базе программно-реализованных контроллеров лежат обычные для объектно-ориентированного программирования понятия класса и объекта. При этом класс описывает тип оборудования, а объект - конкретный экземпляр. При объявлении класса создаются шаблоны структур данных и методы, которые будут работать с этими данными. В объекте класса по шаблону выстраиваются конкретные данные, и приводится ссылка на обслуживающий их процесс.
При разработке системы управления для нового типа оборудования, разработчик не нуждается в том, чтобы заново разрабатывать новый класс: ему достаточно выбрать наиболее близкий класс и реализовать отличия. Тем самым обеспечивается простота модификаций, сокращаются затраты времени на разработку, снижается общая стоимость разработки.
В системе ЧПУ   виртуальный контроллер работает в среде операционной системы Windows NT с расширением реального времени RTX (Real Time Extension) фирмы VentureCom. Проектирование контроллера предполагает последовательное рассмотрение его модели на трех уровнях абстракции: на уровне модели (структуры) потоков, на уровне функциональных модулей и на уровне программной реализации.
Рассмотрим структуру потоков. Задача контроллера состоит в одновременном выполнении нескольких команд и в параллельной обработке внешних сигналов. Каждый процесс  контроллера, который
нуждается в выделении отдельного потока, выполняется в рамках основного процесса виртуального контроллера, запущенного под RTX.
Процессорное время, выделяемое операционной системой основному процессу, должно быть распределено между потоками.
Воспользуемся идеей псевдо-многопоточности на основе механизма выделения квантов (разделения времени). Процессорное время выделяют потокам квантами, с помощью внутренних механизмов контроллера. В каждом кванте выполняется один поток. Все потоки разделены на группы по приоритетам. Управление группой осуществляется отдельным программным таймером. Программный таймер аналогичен системному, реализованному в операционной системе, но не генерирует прерывания. Его обработчик запускается планировщиком (модулем синхронизации). Выделение нескольких групп потоков в виртуальном контроллере связано с тем, что различные его задачи требуют разного времени реакции на внешнее воздействие: чем меньше время реакции, тем выше приоритет потока, обслуживающего задачу.
Более высокий приоритет потока означает более высокую частоту выделения квантов времени. Различные частоты поддерживаются в системе несколькими таймерами, каждый из которых активизируется на своей частоте и выделяет кванты времени своим потокам. Модуль синхронизации осуществляет синхронную активизацию таймеров.
Виртуальный контроллер имеет пять составных частей (модулей):
- анализатор, читающий IPD-данные из входного буфера, преобразующий эти данные во внутренний формат виртуального контроллера с учетом входных и выходных регистров электроавтоматики;
- синхронизатор, поддерживающий механизм назначения квантов времени, генерирующий синхросигналы для всех процессов виртуального контроллера;
- исполняемые модули, служащие для отработки команд, поступающих в виртуальный контроллер, таких как: опрос датчиков аварийного останова и конечных выключателей, включение/выключение подачи
охлаждающей жидкости, зажим/разжим патрона, запуск/останов шпинделя, опрос датчиков температуры и т.д;
- регистр, используемый для обмена информацией между системой ЧПУ и виртуальным контроллером;
- шлюз, предназначенный для отображения информации, передаваемой по САN-магистрали в регистр.
Обмен данными между контроллером и системой ЧПУ осуществляется через разделяемую память "регистр". Блоки входных и выходных данных предназначены для организации двустороннего обмена с объектом управления: контроллер считывает информацию из блока входных данных и записывает информацию в блок выходных данных. Передача информации между регистром и САN-магистралью осуществляется посредством шлюза.
Объекты представляют собой экземпляры классов, описывающих электроавтоматику системы ЧПУ. В рамках модульной архитектуры виртуального контроллера каждый отдельный класс отвечает за свой объект управления на станке. Так, класс CNcSpindle отвечает за управление шпинделем; класс CNcClnt отвечает за управление механизмом подачи смазочно-охлаждающей жидкости, и т.д.
Благодаря модульной архитектуре, виртуальный контроллер обладает высокой степенью гибкости, позволяющей использовать его на станках различных групп и типов. Конфигурация контроллера для заданного типа станка, в процессе ее инициализации, состоит в создании такого набора связанных объектов, который воспроизводит конфигурацию станка. Например, если в станке имеются два шпинделя, то будут созданы два объекта класса CNcSpindle, и т.п.
При создании объектов осуществляется их взаимное связывание.
Идея построения виртуального контроллера SoftPLC на базе персонального компьютера чрезвычайно плодотворна и перспективна. Имеется весьма скудная информация о том, как строить ядро такого контроллера. Благодаря объектному подходу, удается достичь высокой степени обозримости системы, сократить затраты времени на разработку
программного обеспечения и упростить процесс отладки. Виртуальный контроллер SoftPLC имеет модульную архитектуру, в которой отдельный класс отвечает за свой объект управления на станке; в силу этого, виртуальный контроллер обладает высокой степенью гибкости, позволяющей использовать его для станков различных групп и типов. Основная задача виртуального контроллера SoftPLC, заключающаяся в одновременном выполнении нескольких управляющих команд и в параллельной обработке внешних сигналов в режиме реального времени, была решена при помощи идеи псевдо-многопоточности. Эта идея использует механизм разделения времени (выделения квантов), а также дополнительную возможность работы с приоритетами. Для информационного обмена с аппаратными средствами и между некоторыми объектами виртуального контроллера было предложено использовать разделяемую память.
Реализация терминальной задачи.
Терминальная задача в составе математического обеспечения ЧПУ имеет особое значение, поскольку предъявляет конечному пользователю функциональные возможности управления. "Наполнение" терминальной задачи определяет привлекательность и конкурентоспособность системы ЧПУ на рынке. Свойства открытой системы ЧПУ развиты настолько, насколько терминальная задача поддается конфигурации и расширению. Наиболее важными разделами терминальной задачи служат: интерпретатор диалога оператора в Windows-интерфейсе, редактор управляющих программ в коде ISO-7bit, редактор-отладчик управляющих программ на языке высокого уровня.
Современные системы управления располагают широкими возможностями организации человеко-машинного интерфейса MMI (Man-Machine Interface) в операционных Windows-средах. Терминальную задачу управления обычно и сводят к проблеме построения MMI. Проектирование MMI-приложения предполагает: создание скелета приложения; реализацию экранов; разработку интерпретатора диалога; организацию
информационных сессий (транзакций) с другими модулями системы управления. Этап разработки интерпретатора диалога наиболее сложен.
В числе функций диалога можно обозначить: получение информации о процессе управления; тестирование системы и объекта; редактирование и моделирование управляющей программы; ручной ввод и управление отработкой данных; ввод программы и автоматическое управление; управление наладочными операциями. Диалог устанавливает допустимые переходы между состояниями MMI-приложения, в рамках которых и воспроизводятся необходимые функции. Оператор системы управления задает переходы между состояниями с помощью аппаратной и функциональной клавиатуры; причем, роль последней преобладает.
Базовое окно (frame window) MMI-приложения состоит из трех компонентов: окна статуса (StatusBar), рабочей области, области функциональной клавиатуры (ToolBar).
Рабочая область базового окна покрыта окнами-панелями с рамками и заголовками; каждая панель предоставляет функционально-однородную информацию. Панель, в свою очередь, содержит управляющие элементы (control elements), которые предназначены для динамического отображения данных, поступающих от сервера или вводимых оператором с помощью клавиатуры. Управляющие элементы могут быть выбраны на этапе проектирования экрана из стандартной библиотеки или подлежат проектированию в соответствии с требованиями заказчика.
Окно статуса точно так же состоит из панелей с управляющими элементами: специфическими (пиктограммами режимов и под-режимов, индикаторами готовности, индикаторами используемых системных ресурсов, индикаторами даты и времени) или общего характера (такими же, как и в рабочей области, - для слежения за информацией, закрытой при смене картинки рабочей области).
Область функциональной клавиатуры представлена кнопками, каждая из которых является управляющим элементом, имеющим динамическое имя. Все кнопки могут находиться: в состоянии готовности,
когда они доступны оператору ("ненажатое" состояние); в состоянии работы под воздействием оператора ("нажатое" состояние); в состоянии блокировки, когда они отсутствуют в области функциональной клавиатуры или когда воздействие на них оператора игнорируется ("заблокированное" состояние).
Структура диалога в гибкой системе управления с открытой архитектурой определяется заказчиком системы ЧПУ, для которого привычным языком внешнего описания диалога служит дерево режимов и под-режимов. Ветвям дерева приписаны имена кнопок функциональной клавиатуры.
Таким образом, ход диалога представляет собой последовательность следующих событий: нажатие клавиши оператором и генерация скан-кода; обращение к объекту с запросом на услугу (или услуги); реализация услуг объектом; ожидание очередных действий оператора. Эту цепочку называют последовательностью актов, в числе которых есть входные (нажатия клавишей) и выходные (все остальные). Выходные акты порождаются в результате интерпретации входных. Следовательно, интерпретатор диалога есть механизм последовательного вызова услуг соответственно действиям оператора, выражающимся в нажатии клавишей. Помимо вызова услуг интерпретатор осуществляет синтаксический контроль действий оператора.
К редактору управляющих программ предъявляют, во-первых, стандартные требования, характерные для текстового редактора: ввод и редактирование текста, скроллинг и перелистывание страниц; операции перехода, контекстного поиска и замены; блоковые операции маркировки, удаления, копирования, перемещения, загрузки и добавления блоков. Во-вторых, существуют специфические требования: перенумерация после изъятия-включения кадров; изменение масштаба и размерности; вывод активных G-функций (G-вектора) на основе предыстории кадра; синтаксический и семантический контроль; диалоговый (графический) ввод кадра и параметров стандартных циклов (файлы графической помощи
находятся в составе конфигурационного файла); создание управляющих программ в режиме обучения.
Средства отладки программ включают: пространственное графическое моделирование траектории инструмента для быстрых и рабочих перемещений; активное использование точек останова (break points); масштабирование графического изображения (zooming); поддержку различных режимов изображения (пошаговый, автоматический, между точками останова и др.); моделирование оставшейся части программы. Подобные возможности требуют включения в состав редактора некоторого ядра и дополнительных подсистем: интерпретатора управляющих программ (для любых версий кода ISO-7bit), имитатора интерполятора для рисования траекторий.
В связи с разнообразием версий языка управляющих программ в формате ISO-7bit, существует потребность в редакторе, конфигурируемом под конкретную его версию. Конфигуратор формализует код ISO7-bit путем выделения в нем нескольких уровней абстракции. На первом уровне определяется система команд (G-функций) и параметры каждой команды. Следующий уровень разбивает систему команд на группы по функциональному назначению G-функций и формирует G-вектор активных команд. Последний уровень абстракции назначает списки разделителей, комментариев, имен осей и адресов, имен G-функций.
Редактор управляющих программ имеет архитектуру, открытую для конечных пользователей, открытую для разработчиков самого редактора, открытую для внешних приложений. Для конечных пользователей это прежде всего означает возможность конфигурации на различные версии языка ISO-7bit с помощью конфигурационного файла, имеющего текстовый формат. Далее, существует возможность конфигурировать интерфейс пользователя, включая систему контекстных подсказок и систему помощи, используя текстовый файл инициализации и соответствующие динамические библиотеки ресурсов.
В числе языков высокого уровня управляющих программ можно упомянуть AnlogC (фирмы Andron, Германия), CPL (фирмы Bosch,
Германия) и множество других. Независимо от версии, структуры всех языков однотипны: имеется основная программа и набор подпрограмм. В теле программы представлен список переменных, которые по ходу выполнения программы меняют значения. Процесс выполнения сопровождается информационными сообщениями, предупреждениями, сообщениями об ошибках.
На экране редактора-отладчика в окне программы отображается ее текст. Здесь же можно расставить точки останова (breakpoints), осуществить пошаговый или автоматический запуск программы. Переменные (или массивы переменных) представлены в отдельном окне в виде дерева, которое позволяет выбрать те из них, за значениями которых необходимо следить. Текущие значения выбранных переменных (или массивов) демонстрируются в другом окне, причем значения эти можно редактировать. Иерархия вызываемых подпрограмм показана в виде дерева в отдельном окне. В окне стека представлены подпрограммы, вызванные к текущему моменту. Окно OutputWin используется для вывода информации, тип которой определяется неким набором пиктограмм. Пиктограммы предназначены также для отображения свойств файлов вызываемых подпрограмм.
Указанные окна относятся к числу базовых и постоянно присутствуют на экране. Окна со вспомогательной информацией (например, списком точек останова) реализованы как всплывающие. Основные и вспомогательные окна редактора-отладчика образуют ActiveX управляющий элемент.
Завершая рассмотрение терминальной задачи, можно сказать следующее. Терминальная задача относится к числу наиболее сложных и наиболее ответственных разделов системы ЧПУ. Ее "скелетом" служит интерпретатор диалога оператора в Windows-интерфейсе. Для редактирования, отладки и моделирования управляющих программ применяют два типа конфигурируемых приложений, для управляющих программ низкого и высокого уровня соответственно.
Реализация диагностической задачи управления.
Наиболее совершенные системы ЧПУ располагают отдельным режимом диагностики, который реализован в виде программно-аппаратного комплекса и ориентирован на тестирование и глубокое исследование логической и геометрической задач управления. Диагностика, как правило, выполняется "вне реального времени"; что означает: измерения сохраняются в памяти, а затем анализируются. Подсистема диагностики способна конфигурировать измерения, считывать измеряемые сигналы, запоминать результаты измерений вместе с результатами конфигурации измерений, распечатывать осциллограммы измерений, считывать файлы с результатами измерений и результатами конфигурации измерений, выполнять разнообразные операции над измеренными сигналами. Для диагностики логической задачи управления служит Логический анализатор, а для диагностики геометрической задачи предназначен Осциллограф.
Структура подсистемы диагностики.
Подсистема диагностики построена по типу виртуальной машины и имеет многоуровневую структуру. Нижний уровень представлен компьютерной аппаратурой, которая является физическим источником измерительных сигналов; здесь, в частности, могут быть программируемый контроллер, плата управления следящими приводами и т.д. Выше размещаются драйверы устройств ввода-вывода, которые входят в состав операционной системы. Доступ к службам устройств ввода-вывода осуществляется посредством слоя базовых классов, реализующих обмен данными с подсистемой диагностики, их форматирование и контроль. Поверх располагаются классы второго уровня, запускающие и контролирующие процессы измерения. Уровень СОМ-сервера (Component Object Model), стандартизует доступ к подсистеме диагностики, с одной стороны, и поддерживает распределенную модель измерительной системы, с другой стороны. Третий-пятый уровни выстраивают объектную модель подсистемы
диагностики, которая облегчает создание и поддержку пользовательских приложений. Виртуальный прибор диагностики (на шестом уровне) предназначен для доступа оператора к результатам измерений.
Виртуальный прибор диагностики подключается к интерфейсам СОМ-сервера диагностики; он привязаны к формату (типу) интерфейсов, а не к самой реализации СОМ-сервера. Это позволяет использовать виртуальный прибор диагностики в разных системах управления.
Реализация Логического анализатора.
Электроавтоматика мехатронных систем достаточно сложна и требует высококвалифицированных специалистов при наладке и запуске оборудования в эксплуатацию. Подобные специалисты находятся обычно в удаленных сервисных бюро и занимаются дистанционным анализом входных и выходных сигналов программируемого контроллера с помощью все того же виртуального прибора, располагая конфигурацией и результатами измерений.
Распределенная архитектура подсистемы диагностики ориентирована на работу как с внешними программируемыми контроллерами, так и встроенными в систему управления.
Измеренные данные могут быть прочитаны и отображены ActiveX Логического анализатора. При просмотре отображаемые сигналы можно масштабировать, сравнивать между собой и т.д.
Реализация Осциллографа.
Оптимальная настройка регуляторов следящих приводов подачи невозможна без тщательного анализа их динамических характеристик с помощью Осциллографа подсистемы диагностики. Особенность распределенной архитектуры Осциллографа состоит в использовании "процесс-СОМ-сервера", в котором собраны все операции над сигналами, независимо от устройства-источника этих сигналов. В числе возможных операций над сигналами: масштабирование, сдвиг, любые математические вычисления.
Осциллограф работает в двух режимах, режиме конфигурации измерения и режиме отображения измерительных данных в текстовом и графическом виде. Осциллограф имеет возможности визуальной настройки свойств: цветов, шрифтов, стилей изображения сигналов.
Современные системы управления располагают свободными ресурсами вычислительной мощности которые должны быть использованы наиболее эффективно. В этом смысле наибольший интерес представляет создание и развитие подсистемы диагностики. В первую очередь следует диагностировать логическую и геометрическую задачи управления.
Разработка сложных стандартных циклов для станков с ЧПУ.
Сокращение сроков разработки управляющих программ неизменно сохраняло свою актуальность с самого начала использования станков с ЧПУ. Один из вариантов такого сокращения состоит в попытке построить управляющую программу только из стандартных циклов с параметрической их настройкой. При этом не удается обойтись одними лишь традиционными простыми циклами.
Задача автоматизации рутинных операций механической обработки деталей постоянно находится в поле зрения машиностроителей. Решения на базе станков-автоматов не обеспечивают необходимой гибкости; и только применение станков с числовым программным управлением (ЧПУ) позволяет говорить о гибком и быстро перенастраиваемом производстве. Избавившись от рутинных операций на уровне механического управления оборудования, получили не меньший объем рутины на уровне программной автоматизации этого управления.
В зависимости от технологических особенностей применения оборудования с ЧПУ, трудоемкость разработки программного обеспечения проявляется как на уровне подготовки производства, так и на цеховом уровне оперативного управления. На первом уровне проблему решают
путем создания (использования) систем автоматизированного программирования ЧПУ и интеграции таких систем с автоматизированными системами проектирования изделий. На втором уровне одним из способов повышения эффективности оперативного управления оборудованием с ЧПУ является широкое использование стандартных циклов. Далее стандартные циклы рассматриваются как элементы встроенного математического обеспечения ЧПУ, непосредственно доступные при оперативном управлении станками.
Сложные стандартные циклы.
При оперативном управлении станками с ЧПУ широко применяют встроенные стандартные циклы обработки типовых элементов формы детали. Широко известны стандартные циклы сверления, нарезания резьбы, точения канавок и т.д. Все они достаточно просты в разработке и применении. Несложная геометрия и малое число параметров позволяют проектировать подобные циклы, используя стандартные средства разработки управляющих программ.
Попытки создания более сложных стандартных циклов сталкиваются с рядом серьезных трудностей. Рассмотрим некоторые из них на примере универсального цикла точения канавки произвольной формы.
Большое число параметров цикла порождает множество возможных их сочетаний и усложняет процесс разработки и тестирования. Сложная траектория движения инструмента обусловлена тем фактом, что точка резания смещена относительно точки привязки инструмента. Характер и величина этого смещения зависят как от геометрических параметров инструмента и канавки, так и от текущего участка траектории обработки, т.е. точка резания плавает относительно расчетной точки привязки. По этой причине окончательная траектория инструмента заметно отличается от исходного контура. Как правило, при обработке необходимы черновые и
чистовые проходы. Следует иметь в виду, что припуск на чистовую обработку может изменить не только размеры, но и форму канавки; например, фаски и радиусы могут быть перекрыты припуском. Необходимость в осциллирующих движениях резца для выборки основной массы металла еще больше усложняет траекторию движения инструмента.
Как правило, собственные возможности систем ЧПУ разрабатывать и отлаживать управляющие программы, достаточно ограничены. Традиционные языки управляющих программ ближе к ассемблеру, чем к языкам высокого уровня. Поэтому представляется невозможным реализовывать сложные стандартные циклы, используя лишь средства самой системы ЧПУ.
Реализация сложных циклов.
Предполагается использовать инструментальные средства разработки. Создание таких средств требует больших усилий и затрат; поэтому воспользовались готовой графической средой, позволяющей: отображать пробные варианты циклов; просматривать циклы в любом масштабе; использовать специальные окна текущих координат, чтобы отслеживать текущие положения точек привязки и точек резания и т.д.
Необходимо иметь возможность писать управляющие программы на языке более высокого уровня, в сравнении с традиционными языками управляющих программ. В этом случае предполагается использовать постпроцессор для генерации традиционной управляющей программы из программы, написанной на языке высокого уровня.
В качестве инструментария использовалась среда визуализации проектных решений. Выбор этой среды объясняется тем, что она широко распространена, имеет встроенный язык Visual Basic, позволяет визуализировать реальные траектории и положения точек привязки в любом масштабе; располагает встроенными средствами измерения
координат; обладает удобными средствами отладки программ и может служить практически готовой средой разработки.
Для разработки программ ЧПУ, были добавлены:
- модули визуализации пробных решений, написанные на языке Visual Basic;
- конвертор для преобразования полученных решений в управляющую программу ЧПУ.
Практически процесс создания цикла выглядит следующим образом.
- Разрабатываем управляющую программу на языке Visual Basic.
- Визуализируем полученное решение и проверяем его для разных параметров цикла.
- Конвертируем отработанное решение в традиционную управляющую программу (с комментариями в виде строк на языке Visual Basic для облегчения понимания и дальнейшего сопровождения управляющей программы).
Далее приведены фрагменты исходной программы на языке Visual Basic и управляющей программы ЧПУ.
Фрагмент кода пробного решения
If tmp_flag <> 0 And (flagF3=0) Then
wDD_rsum=wDD_rsum+(wR3F3+RS)*(1-Cos(AA))
tmp_val=2*(wR3F3+RS)-wDD_rsum
dzr=Sqr(tmp_val*wDD_rsum)
zr=zK3R-(BS-RS)
End If
Фрагмент сгенерированной управляющей программы
(If tmp_flag <> 0 And [flagF3=0] Then)
#123:=#130*[#220==0]
(wDD_rsum=wDD_rsum+[wR3F3+RS]*[1-Cos[AA]])
//#123 #129:=#129+[#102+#205]*[1-COS[#229]]
(tmp_val=2*[wR3F3+RS]-wDD_rsum)
//#123 #77:=2*[#102+#205]-#129
(dzr=Sqr[tmp_val*wDD_rsum])
//#123 #126:=SQRT[#77*#129]
(zr=zK3R-[BS-RS])
//#123 #127:=#26-[#222-#205]
Это решение использовали для построения стандартного цикла точения канавок со многими параметрами, а также и других подобных стандартных циклов (выемок, проточек и т.д.).
Как известно, устройство ЧПУ заранее формирует в некотором буфере кадры управляющей программы для последующей их интерполяции. К моменту начала движения инструмента, интерпретатор управляющих программ должен выполнить все необходимые вычисления (для сложных стандартных циклов их может потребоваться немало) и синхронизироваться с интерполятором системы ЧПУ. Это значит, что в управляющей программе должны присутствовать точки синхронизации интерпретатора и интерполятора. Неправильная расстановка точек синхронизации приводит к тому, что интерпретатор пробегает необходимую точку, что приводит к неправильным результатам даже при логически правильном алгоритме перемещения инструмента.
Использованный подход к написанию управляющих программ сложных стандартных циклов полностью оправдал себя как в плане
практического использования, так и в плане макетирования специализированной системы, позволяющей отработать методику написания сложных стандартных циклов и определить технические требования для более развитых специализированных систем.
Таким образом, заявленное техническое решение может найти широкое применение в области машиностроения для автоматизации производственных технологических процессов, преимущественно, в системах управления прецизионными станками с ЧПУ и мехатронными модулями.