Среда разработки встраиваемых приложений EAT-Eclipse
Продукция - Программное обеспечениеИнструментальные средства EAT-Eclipse предназначены для проектирования и реализации программного обеспечения встраиваемых приложений (SoftLogic-система) для контроллеров на базе процессоров семейства ATXmega фирмы Atmel и для контроллеров на базе процессоров семейства STM32 фирмы STMicroelectronics (контроллер «Протон», контроллер «Зенит»).
На ее основе создаются системы управления преобразователями напряжения различной мощности и схемных исполнений, системы управления для промышленных электроприводов, регистраторов событий и сигналов, а также возможна реализация полного спектр задач промышленной автоматизации.
Подавляющее большинство изделий НПП "Миконт" имеют систему управления с программным обеспечением, спроектированным в EAT-Eclipse.
Среда разработки построена на концепции Model Driven Software Development (разработка программного обеспечения на основе моделей). В процессе разработки проекта пользователь создает модель приложения, которая содержит полное формальное описание встраиваемого приложения. На основании модели автоматически формируется готовый к компиляции проект приложения.
Среда разработки построена на основе платформы Eclipse, в составе которой используются следующие технологии:
- Eclipse Modeling Framework (EMF) - проект для создания инструментальных средств работы с моделями.
- Graphical Editing Framework (GEF) - проект для создания графических редакторов моделей.
- Xtend - проект инструментальных средств расширения и преобразования моделей.
- Xpand - проект инструментальных средств кодогенерации .
- C/C++ Development Tools (CDT) - инструментальные средства для языков C/C++.
- DJCPP - компилятор GCC адаптированный для DOS (используется для программирования PC-контроллеров).
- WinAvr - компилятор GCC адаптированный для контроллеров Atmel AVR.
- AVR Eclipse Plugin - проект интеграции компилятора WinAvr в Eclipse C/C++ Development Tools (CDT).
- GNU ARM Eclipse Plugin - проек интеграции компилятора GNU ARM С/С++ Cross Compiler в Eclipse C/C++ Development Tools (CDT).
Среда разработки EAT-Eclipse предоставляет средства для описания проекта на языке предметной области (domain-specific language DSL) с графической нотацией в виде схем взаимосвязанных функциональных блоков. Данный язык ориентирован на определенную область применения, за счет чего достигается высокая эффективность его использования специалистами предметной области без участия инженеров-программистов.
Система предоставляет средства расширения за счет возможности описания пользователем новых функциональных единиц - функциональных блоков и драйверов устройств. Кроме того, при необходимости можно модифицировать сам язык предметной области - его семантику и нотацию, для максимального соответствия решаемым задачам и удобства использования.
Фактически на этом специализированном языке пользователь создает формальное описание проектируемого приложения, достаточное для автоматической генерации исходных текстов программ на целевом универсальном языке программирования. В данной системе целевым языком выступает язык C. После автогенерации исходных текстов, выполнив их компиляцию, можно получить исполняемый файл приложения.
Ниже приведены примеры использования среды разработки на реальных проектах.
Рис.1 Фрагмент схемы проекта для Львовского жиркомбината. Управление выпрямителем для электролизера 10000 А. Производство водорода. Регулятор тока, управление РПН (переключение под током обмоток трансформатора для оптимизации параметров сети), контроль состояния тиристоров и предохранителей.
Рис.2 Фрагмент схемы проекта для ООО "Орисил" (Украина, г. Калуш). Управление выпрямителем для электролизера 10000 А. Производство водорода. Два регулятора тока (звезда и треугольник), управлением РПН (переключение под током обмоток трансформатора для оптимизации параметров сети).
Пример файла протокола alarm.txt, создаваемого подсистемой протоколирования событий, параметры подсистемы протоколирования задаются непосредственно в проекте в среде разработки:
25.02.2009 11:09:05 1740.282902> АВАРИЯ - срыв коммутации
25.02.2009 15:42:12 6387.892065> АВАРИЯ - срыв коммутации
26.02.2009 09:39:26 6673.044491> АВАРИЯ - срыв коммутации
26.02.2009 09:41:32 6798.853262> АВАРИЯ - геркон перем. СВ
26.02.2009 12:55:19 8037.575282> АВАРИЯ - геркон перем. СВ
27.02.2009 09:28:05 416.245052> АВАРИЯ - геркон перем. СИ
Формат строки файла протокола alarm.txt:
Дата Время СистемноеВремя > Сообщение
Примечание: Системное Время - время, прошедшее после старта программы в секундах.
Рис.3. Пример работы подсистемы мониторинга. Представлено развитие аварийной ситуации при работе системы управления тиристорным преобразователем, для питания электропривода. Показано окно просмотра файла данных мониторинга, в нижней части окна - представленные данные в файле. На графике отображено нарастание тока двигателя до аварийного значения и результат работы системы аварийной защиты. Момент аварии на графике выделен вертикальным маркером. Параметры подсистемы мониторинга задаются непосредственно в проекте в среде разработки.
Рис.4. Пример работы подсистемы мониторинга. Визуализация дискретных сигналов управляющих импульсов системы управления тиристороного преобразователя.
Руководство пользователя EAT-Eclipse для Atmel AVR контроллеров
Руководство пользователя драйвера контроллера «Протон» (EAT-Eclipse для Atmel AVR контроллеров)
Демонстрационная версия EAT-Eclipse (плагины для Eclipse)
Порядок установки демоверсии среды разработки EAT-Eclipse с примерами моделей
- Установить IDE Eclipse с указанными выше расширениями.
- Загрузить демонстрационную версию EAT-Eclipse (eat-eclipse-avr_demo_plugins.zip)
- Извлечь содержимое в папку plugins (C:\eclipse\plugins)
- Запустить Eclipse (C:\eclipse\eclipse.exe)
- Создать проект (File -> New -> C Project)
- Импортировать файлы примеров (File -> Import) из архива примеров (eat-eclipse-avr_examples.zip)
Демонстрационная версия не поддреживает сохранение файлов моделей и не поддерживает кодогенерацию C-файлов на основании модели приложения.
Соответственно демонстрационная версия позволяет просматривать и редактировать примеры моделей, но не позволяет сохранить изменения.