Разработка редактора по
созданию управляющих программ для электроавтоматики
станка с ЧПУ на базе
программно-реализованного
контроллера
Р.А.
Нежметдинов,
доц.,
к.т.н., neramil@gmail.com,
П.А.
Никишечкин,
аспир.,
pnikishechkin@gmail.com,
С.В. Евстафиева,
ст.
препод., svetlana.evstafieva@gmail.com,
Ю.С. Волкова,
магистр., volkovayulia.gm@gmail.com,
svetlana.evstafieva@gmail.com,
МГТУ "СТАНКИН", г. Москва
Статья посвящена практическим аспектам по
разработке кросс-платформенного редактора по созданию управляющих программ для
электроавтоматики станка с ЧПУ на базе программно-реализованного контроллера SoftPLC.
Обоснована актуальность разработки собственного средства создания управляющих
программ для электроавтоматики, а также описана архитектура редактора и
возможности работы как в режиме эмуляции, так и с различным видом оборудования.
The
article is about practical aspects of the development of cross-platform editor
for the creation control programs for electric automation of the CNC machine is
based on software-implemented controller SoftPLC. The urgency of developing its
own tools for creating control programs for electric automation CNC and
describes architecture editor and the ability to work in emulation mode, or
with a different kind of equipment.
В условиях современного автоматизированного
производства наметилась устойчивая тенденция решения логической задачи
управления технологическим оборудованием в рамках общего программного обеспечения
программируемых логических контроллеров (ПЛК). Программируемые логические
контроллеры на сегодняшний день являются базовыми элементами систем
промышленной автоматики. На их основе построены все АСУ ТП, системы мониторинга,
контроля функционирования, телеметрии, обеспечения безопасности и многие другие.
Современный уровень развития систем числового
программного управления позволяет применять для решения логической задачи
программно-реализованный программируемый логический контроллер (SoftPLC), в
рамках общего программного обеспечения систем ЧПУ без привлечения дополнительной
аппаратуры и системного программного обеспечения программируемых контроллеров,
которые являются неотъемлемой частью практически любой современной системы ЧПУ.
Такой подход позволяет снизить стоимость системы управления и получить ряд
преимуществ, среди которых: добавление новых функциональных возможностей и
модернизация контроллера в короткие сроки;
создание кроссплатформенного приложения, зависящего от решаемой
технологической задачи; возможность сокращения времени запуска в эксплуатацию
и др. [1].
Сегодня, на рынке автоматизации, среди существующих
программных средств управления технологическим оборудованием, можно выделить несколько
лидеров по разработанному программному обеспечению для промышленной
автоматизации: продукт CoDeSys компании Smart Software Solutions, LabView
компании National Instruments, ISaGRAFкомпании CJ International, SoftCONTROL
фирмы SoftingGmbH и др. [2]. Однако, перечисленные продукты имеют ряд
недостатков, существенно усложняющие их использование для кроссплатформенных
проектов. Среди них можно выделить:
- ориентация на конкретную операционную систему и
оборудование;
- необходимость приобретения платной лицензии на
коммерческое использование;
- полная закрытость системы, т.е. отсутствие
возможности его модернизации для использования в качестве базы для программно
реализованного ПЛК.
Таким образом, просматривается необходимость в
создании универсального средства по созданию, визуализации и отладки
управляющих программ для электроавтоматики. Данное средство должно являться простым
и универсальным инструментарием для разработки управляющих программ для программируемых
логических контроллеров, адаптированным под работу с аппаратной частью от
различных производителей. Можно выделить следующие основные требования для
разрабатываемого инструментария: аппаратная независимость, отсутствие платной
лицензии, открытость механизма для станкостроителя, универсальность и простота
работы, стандартизированный язык программирования, наличие режима эмуляции, возможность
использования в учебных целях [3].
Общая архитектура разрабатываемого
программно-реализованного контроллера SoftPLC включает в себя аппаратную часть
в виде логических устройств ввода/вывода (баскаплеры), ядро системы ЧПУ, клиент
взаимодействия SoftPLC с ядром системы, а также прикладной инструментарий, включающий
в себя редактор управляющих программ электроавтоматики и конфигуратор оборудования
(рисунок 1).
Основное управление аппаратной частью производится
через ядро системы ЧПУ, функционирующее в режиме реального времени. В ядро передается
вся информация об управляющей программе и конфигурации подключенного
оборудования, а оно в свою очередь формирует сигналы на устройства ввода/вывода
через специализированные драйверы [4].
Создание управляющей программы (модели) и настройка
конфигурации производится на прикладном уровне, через интерфейс программного комплекса
SoftPLC. Как было описано ранее, он включает в себя редактор УП электроавтоматики
и модуль для конфигурирования оборудования.
рис.
1 Общая архитектура комплекса разработки УП электроавтоматики
Основным прикладным модулем для создания и отладки
управляющих программ является редактор УП электроавтоматики (FB-редактор),
разработанный с использованием технологий .NET, XML. Графический редактор управляющих
программ для электроавтоматики имеет широкие возможности для создания, редактирования,
документирования, отладки, запуска/останова управляющей программы, а также ее верификации.
Разработка УП для ПЛК в FB-редакторе производится на языке Functional Block
Diagram (FBD), что позволяет наглядно визуализировать связи всех входов/выходов
функциональных блоков схемы. При разработке данного инструмента за прототип был
взят вышеупомянутый CoDeSys, как один из наиболее известных универсальных
инструментов программирования ПЛК и промышленных компьютеров [1].
Интерфейс среды разработки управляющих программ
(рисунок 2), позволяет производить редактирование как визуальной части (создание/удаление/перемещение
функциональных блоков, масштабирование, регулировка приоритета видимости, копирование
объектов, и др.), так и настраивать параметры функциональных блоков при помощи
панели настроек.
рис. 2 Интерфейс основного экрана редактора программ для электроавтоматики
Программирование управляющей программы для ПЛК
сводится к соединению функциональных блоков линиями связи. Полученные схемы
четко отражают взаимосвязь входов и выходов всех функциональных блоков,
используя технологию инкапсуляции алгоритмов обработки данных. Готовые
управляющие программы можно сохранять в специализированные файлы с расширением
«fbv», а также производить экспорт в графические форматы (bmp, jpg) [1].
В разработанной программной среде имеется два типа
функциональных объектов, которыми может оперировать пользователь при разработке
управляющей программы: стандартные и пользовательские. Стандартными функциональными
блоками являются: объекты входов/выходов, объекты математических, логических
операций, таймеры, счетчики, и т.д. Пользовательские функциональные блоки –
блоки, созданные из стандартных компонентов, объединенные в единый блок с
указанным пользователем количеством входов и выходов. Данный тип компонентов
предназначен для значительного сокращения объема управляющей программы, а также
для многократного использования набора блоков, реализующих определенную логику.
Логика работы функциональных объектов хранится в
ядре системы ЧПУ. Терминальная часть (редактор управляющих программ) содержит
все необходимые графические параметры и методы по регулированию настроек работы
функциональных блоков. Одной из специфик разработанного редактора является то,
что данный программный продукт имеет возможность функционировать как отдельный,
независимый инструмент, так и с возможностью подключения к аппаратной части
через ядро системы ЧПУ. Таким образом, достигается возможность разрабатывать
управляющие программы для ПЛК без какого-либо подключенного оборудования, а
затем производить ее отладку, уже подключив требуемое оборудование.
С точки зрения архитектуры программного обеспечения,
разработанный инструментарий делится на отдельные модули (рисунок 3),
взаимодействующие между собой по утвержденным интерфейсам.
рис.
3 Архитектура редактора УП электроавтоматики
Основными модулями редактора УП являются модули
управления УП электроавтоматики и менеджер компонентов. Модуль управления
программой электроавтоматики содержит в себе модули управления моделью, а также
модуль визуализации. Таким образом, производится разделение основной информации
о модели управляющей программы, которая в дальнейшем передается в ядро системы
ЧПУ, а также контроллера по визуализации данной модели.
Менеджер компонентов предназначен для хранения
информации о блоках, которыми может оперировать пользователь при работе с
редактором управляющих программ для электроавтоматики.
Каждый объект функционального блока состоит из
графической и модельной частей. Графическая часть содержит поля и методы для
визуализации функционального блока, а модельная часть хранит в себе информацию,
необходимую для реализации логики работы блока. Описание функциональных блоков
содержится в XML-файле, что дает возможность без изменения кода редактора
изменять набор стандартных функциональных блоков, который будет определен в
редакторе. XSD-схема описания функционального
блока содержит информацию о типе блока, его имени, а также обо всех параметрах
его входов и выходов (рисунок 4).
рис. 4 XSD-схема описания блока в библиотеке
функциональных компонентов
Как видно из схемы, структура хранения
функциональных блоков различных типов является логически структурированной и
простой для восприятия и редактирования, что позволяет производить добавление в
нее новых типов функциональных блоков без изменений в коде терминала разработки.
[1]
Менеджер компонентов является единым объектом для
всех открытых документов в редакторе УП электроавтоматики. Поскольку редактор
УП электроавтоматики может содержать в себе несколько открытых документов, т.е.
открытых модулей управления управляющей программой электроавтоматики, все они
используют единую ссылку на модуль компонентов, и могут оперировать теми
функциональными компонентами, которые есть в коллекции компонентов. Данная
возможность позволяет интегрировать пользовательскую библиотеку в один проект,
и использовать ее также во всех открытых в редакторе проектах.
Рассмотрим подробнее процесс создания и отладки
управляющих программ. На начальном этапе разработки управляющей программы для
электроавтоматики, выполняется добавление функциональных блоков из панели меню
в окно модели, используя технологии «Drag&drop». Затем, функциональные
блоки связываются между собой и устанавливаются приоритеты выполнения каждого,
что определяет последовательность их работы. Также, разработанный
инструментарий позволяет редактировать изломы линий связи, позволяя избегать
наложений соединений на функциональные блоки, что делает визуализацию модели более
наглядной и удобной.
Следующим этапом работы является настройка
параметров работы всех блоков. Это можно осуществить двумя способами: установить
требуемые параметры в панели настроек блока, или открыть специализированное
окно настроек блока. Основные параметры работы с аппаратным обеспечением
настраиваются в блоках входа/выхода. Функционал программы позволяет настраивать
следующие параметры входов/выходов: адрес порта или памяти, вид входа/выхода
(BusCoupler, CommonPlcMemory, Port), длина, значение, индекс бита, индекс
слота, индекс устройства, тип хранимого значения (Bit, Bool, Analog, Digital).
Для тестирования разработанных функциональных схем
и работы с аппаратной частью электроавтоматики была произведена интеграция
разработанного инструментария с системой ЧПУ AxiOMA Ctrl и разработкой канала
передачи данных между терминалом и ядром системы ЧПУ. Таким образом, для
полноценной работы с разработанным инструментарием требуются две основные части
программного комплекса: терминал – вышеописанная графическая оболочка,
позволяющая моделировать управляющие программы для электроавтоматики независимо
от любой аппаратуры, а также ядро, в котором выполняются необходимые расчеты,
реализуется логика работы построенной модели, а также производится привязка к
аппаратуре. Связующим звеном между данными модулями является клиентская часть,
позволяющая осуществлять связь между терминалом инструментария и ядром системы
ЧПУ через специализированные интерфейсы.
При запуске разработанной управляющей программы для
электроавтоматики происходит передача специфицированного пакета данных из терминала
редактора в ядро системы ЧПУ. Данный пакет (рисунок 5) содержит в себе всю
необходимую информацию о команде, которую необходимо выполнить, версии
редактора, а также всех его функциональных блоков.
рис. 5 Обобщенная структура пакета данных при передаче в
ядро функционального блока управляющей программы
При отправке команды на запуск разработанная
управляющая программа начинает работать в ядре системы ЧПУ. Ядро, в свою
очередь, производит отправку текущего состояния работы программы, которое будет
отображаться в строке состояния редактора. Также, при включенном режиме отладки
программы, ядро системы ЧПУ с заданной частотой производит отправку в
терминальную часть редактора информацию о блоках, значения в которых изменились.
Таким образом, имеется возможность в режиме реального времени производить отладку
управляющей программы и следить за актуальными значениями входов/выходов
разработанной модели (рисунок 6).
рис.
6 Общий вид работающей программы в FB-редакторе
В ходе работы был проведен анализ имеющихся средств
программирования и отладки рабочих программ для логических контроллеров,
который показал, что для задач интеграции программного обеспечения в состав
систем ЧПУ необходим специализированный аппаратно-независимый инструментарий,
который был разработан и интегрирован в состав системы ЧПУ AxiOMA Ctrl. С
помощью данного инструментария имеется возможность решать множество задач по
программированию логических контроллеров на языке FBD стандарта МЭК 61131,
независимо от используемой аппаратуры. Также, имеются возможность использования
данного средства в учебных целях на специально оборудованных стендах программирования
электроавтоматики [5, 6].
Литература
1.
Мартинов
Г.М. Разработка средств визуализации и отладки управляющих программ для
электроавтоматики, интегрированных в систему ЧПУ/ Мартинов Г.М., Нежметдинов
Р.А., Никишечкин П.А. // Вестник МГТУ «Станкин». - 2012. - №4. - С. 87-92.
2.
Мартинов
Г.М. Прикладные решения в области управления электроавтоматикой станков с ЧПУ
класса PCNC / Мартинов Г.М., Нежметдинов Р.А., Козак Н.В., Пушков Р.Л. //
Промышленные АСУ и контроллеры. - 2011. - № 4. - С. 48-53
3.
Мартинова
Л.И. Реализация открытости управления электроавтоматикой станков в системе ЧПУ
класса PCNC / Мартинова Л.И., Козак Н.В., Нежметдинов Р.А., Пушков Р.Л. //
Приборы и системы. Управление, контроль, диагностика. - 2011. - № 02. - С.
11-16.
4.
Нежметдинов
Р.А. Расширение функциональных возможностей систем ЧПУ для управления механо-лазерной
обработкой / Нежметдинов Р.А., Соколов С.В., Обухов А.И., Григорьев А.С. //
Автоматизация в промышленности. - 2011. - № 5. - С. 49-53.
5.
Мартинова
Л.И. Практические аспекты применения отечественной многофункциональной системы
ЧПУ "АксиОМА Контрол" / Мартинова Л.И., Козак Н.В., Нежметдинов Р.А.,
Пушков Р.Л., Обухов А.И. // Автоматизация в промышленности. - 2012. -
№ 5. - С.36-40.
6.
Пушков
Р.Л. Практические аспекты построения многотерминального человеко-машинного
интерфейса на примере системы ЧПУ "АксиОМА Контрол" / Пушков Р.Л.,
Евстафиева С.В., Соколов С.В., Абдуллаев Р.А., Никишечкин П.А., Кулиев А.У.,
Сорокоумов А.Е. // Автоматизация в промышленности. - 2013. -
№5. - С.37-41.