Компоненты программной платформы интеграции аппаратных средств электроавтоматики

в системах ЧПУ

Н.В. Козак,

доц., к.т.н., Kozak@ncsystems.ru,

Р.А. Нежметдинов,

преп., к.т.н, neramil@gmail.com,

Р.А. Абдуллаев,

преп., магистр, abdullaev@ncsystems.ru,

МГТУ «Станкин», г. Москва

Работа выполнена по Госконтракту № П1368 на проведение НИР в рамках ФЦП "Научные и научно-педагогические кадры инновационной России" на 2009-2013 гг.

 

Данная статья описывает предназначение компонентов интеграции аппаратных средств электроавтоматики в рамках логической задачи управления. Предложена обобщенная структура взаимодействия системы ЧПУ с устройствами управления электроавтоматикой, которые имеют различные протоколы передачи данных. Рассмотрена внутренняя структура компонентов логической задачи для обработки высокоуровневых запросов к ПЛК.

 

This article describes the purpose of the integration components of the hardware of the relay ladder logic system in the limits of the logical task of a control. The generalized structure of a interaction between CNC system and the control devices of the relay ladder logic system, which has the different data transfer protocols, is suggested. The internal structure of the components of the relay ladder logic system for handling of the high-level queries to PLC is considered.

 

Целью публикации ставится систематизация процессов интеграции аппаратных средств ПЛК в состав открытых систем числового программного управления (ЧПУ) на уровне прикладного программного обеспечения. Для этого необходимо:

·      выделить место задач управления электроавтоматикой в обобщенной архитектуре системы ЧПУ;

·      определить структуру программных компонентов электроавтоматики, которая обеспечивала бы возможность взаимодействия с различными аппаратными средствами эллектроавтоматики;

·      разработать механизм взаимодействия компонентов системы ЧПУ с данными управляющих программ ПЛК.

Различают открытость систем управления со стороны производителей, станкостроителей и конечных пользователей. Подключение электроавтоматики станка в большей части находится в ведении станкостроителей, поэтому требования, предъявляемые с их стороны, весьма важны. Для станкостроителя важны такие возможности, как подключение своих свободно программируемых клавиш на панели оператора и на станочной панели, вывод информации на экран оператора, подключение специфичных для конкретного станка периферийных устройств, программирование и перепрограммирование контроллеров электроавтоматики, а также предоставление конечному пользователю возможности реализовывать собственные «know-how».

Архитектуру программных модулей программного обеспечения систем ЧПУ возможно представить обобщенно в виде декомпозиции задач управления (рис. 1).

рис. 1. Обобщенная архитектура системы ЧПУ и место задачи управления электроавтоматикой

В числе подобных задач входят: геометрическая, логическая, терминальная и задача удаленного контроля [1]. Первые две входят в состав подсистемы числового управления (NC) т.е. ядра системы управления. Выполнение процессов в NC подсистеме критичны ко времени, поскольку здесь выполняются алгоритмы управления оборудованием: управлением приводами движения станка и эллектроавтоматикой технологической оснастки. Задачи подсистемы PC (удаленного контроля и терминальная) также имеют требования к быстродействию выполнения операций, но не критичные к реальному времени.

Логическая задача управления в подсистеме NC может быть реализована с помощью аппаратных или программных (SoftPLC) средств программируемых логических контроллеров. В том и другом случаях взаимодействие с аппаратными средствами эллектроавтоматики (контроллерами, датчиками, исполнительными устройствами и т.п.) должно осуществляться на основе стандартизированных технологий и аппаратных решений [2] (такими как CANbus, Profibus и др.).

Представленная архитектура может быть применена как к одно- так и двух компьютерной реализации системы управления ЧПУ. При этом важную роль имеет коммуникационная среда обеспечивающая взаимодействие между компонентами и подсистемами ЧПУ.

Поддержка стандартных протоколов обмена данными (по крайней мере одного) с аппаратными средствами электроавтоматики станка и вспомогательным оборудованием его оснастки увеличивает спектр использования программного обеспечения системы ЧПУ. Расширяется ряд возможных конечных решений (станков, агрегатов, обрабатывающих центров), создаваемых на базе оборудования разрозненных производителей, для которых возможно построение соответствующих конфигураций компонентов одного программного обеспечения ЧПУ.

В случае построения электроавтоматики станка на основе аппаратных средств обобщенно можно сказать, что задача взаимодействия с ними разделяется на две части: отправка команд управления и получения информации о состоянии процесса управления (рис. 2).

 

рис. 2. Обобщенная структура компонентов логической задачи  для взаимодействия с ПЛК

Высокоуровневые запросы к контроллерам эллектроавтоматики осуществляются из различных потоков. С целью систематизации обращений к одному контроллеру вводится уровень обработчика запросов к ПЛК, где организуется очередь асинхронных запросов и механизмы обратного вызова для уведомления выполненной на стороне ПЛК работе.

Для реализации возможности применения различных средств ПЛК в составе систем ЧПУ в структуре компонентов логической задачи вводятся компоненты, инкапсулирующие в себе протоколы и команды взаимодействия с аппаратными устройствами по их специфичным протоколам данных. В случае работы через средства последовательного порта, обработчик запросов производит обращение к соответствующему протоколу данных, (см. 2.1 на рис. 2) протокол данных на основе этого запроса формирует команду (см. 2.2)  для обращения к ПЛК и далее эта команда передается в последовательный порт (см. 2.3).

В представленной структуре так же возможно использование средств эллектроавтоматики, поставляемых разработчиками с программным обеспечением для взаимодействия с аппаратными устройствами (так называемый комплект разработчика Source Development Kit (SDK)). В этом случае компоненты протокола данных и команд ПЛК используют функции внешнего программного интерфейса для взаимодействия с контроллерами эллектроавтоматики. Таким образом, внешний программный интерфейс ПЛК может полностью скрывать детали взаимодействия с промышленными сетевыми протоколами, облегчая тем самым процесс интеграции контроллеров в состав системы ЧПУ.

Открытость современных систем ЧПУ позволяет контроллеру электроавтоматики взаимодействовать с ЧПУ, как на уровне команд, так и на уровне данных. Взаимодействие на уровне данных сводится к тому, что в ПЛК существует область памяти, в которую контроллер может записывать данные, а компоненты системы ЧПУ - эти данные считывать. Обратное также верно. Необходимость в этом возникает, когда компонентам системы ЧПУ нужно передать какие-либо данные для настройки работы электроавтоматики (например, реализовать адаптивное управление процессом резания, путем изменения скорости резания в зависимости от износа инструмента) или считать данные о текущем состоянии (например, получить реальное текущее значение положения оси или строковое сообщение от электроавтоматики) [3]. Характер данных, их размещение в памяти контроллера определяются станкостроителем при разработке управляющей программы электроавтоматики на этапе ввода системы ЧПУ в эксплуатацию.

Для Реализации внутренней программной структуры компонентов логической задачи требуется многопоточность (рис. 3). Главный поток предназначен для получения запросов к ПЛК и сохранения их во внутренней очереди. Для достижения этой цели предназначен специальный класс – обработчик запросов к ПЛК. Он содержит в себе очередь запросов, отдельный поток и специальный метод для их обработки.

рис. 3. Внутренняя структура компонентов логической задачи для обработки запросов к ПЛК

В роли отправителя запросов выступает ядро системы ЧПУ, которое реализует функционал для обработки вспомогательных М-команд и получения данных о состоянии и конфигурации подсистемы ПЛК. После формирования запроса ядром системы ЧПУ (вызов №1 на рис. 3), запрос передается на выполнение обработчику (вызов №2). После того, как запрос будет добавлен в специальную очередь (вызов №3), фокус управления будет возвращен обратно в главный поток (вызов №4).

Непосредственное выполнение запроса осуществляется в отдельном потоке (вызов №5). Это необходимо для того, что бы обработчик имел возможность одновременно с этим принимать запросы. После завершения обработки запроса ядро системы ЧПУ получает уведомление об этом (вызов №7) с помощью вызова callback-функции (вызов №6), которая была определена при формировании запроса.

Такой подход к реализации позволяет одновременно хранить несколько запросов к ПЛК для последующей их обработки. Описанный механизм предоставляет возможность работать ядру системы ЧПУ без остановки для ожидания ответа от ПЛК. Преимуществом уведомления отправителя запроса с помощью callback-функции является быстродействие и простота способа за счет отсутствия вызова и создания дополнительных методов и объектов.

Литература

1.   Сосонкин В. Л., Мартинов Г.М. Современное представление об архитектуре систем ЧПУ типа PCNC // Автоматизация проектирования. 1998. №3. С. 35-39.

2.   Мартинов Г.М., Пушков Р.Л., Евстафиева С.В. Основы построения однокомпьютерной системы ЧПУ с программно реализованным ядром и открытой модульной архитектурой // Вестник МГТУ "Станкин". 2008. №4. C. 82–93.

3.   Мартинов Г.М., Пушков Р.Л. Построение инструментария отладки управляющих программ систем ЧПУ на языках высокого уровня // Приборы и системы. Управление, контроль, диагностика. 2008. №11. C. 19-24.

4.   Мартинов Г.М.,  Козак Н.В., Нежметдинов Р.А., Любимов А.Б. Специфика построения панелей управления систем ЧПУ по типу универсальных программно-аппаратных компонентов. // Автоматизация и современные технологии, Машиностроение, Москва. (ISSN 0869-4931)– №7 2010.