Зачем инженеру Scilab?
Scilab – это OpenSource альтернатива MATLAB.
Scilab - это язык программирования со средой разработки и набором подключаемых модулей, предоставляющий открытое окружение для решения задач математического моделирования и инженерных расчетов.
Успешно применяется народом, умеющим считать деньги, в самых разных сферах
Почему Scilab
- Open Source платформа
- “Легкий” (установочный пакет 160Мб)
- Расширяемый
- Профессиональный (применяют в Total, Xilinx, Evidence, Bertin Technologies)
Возможности Scilab
- Моделирование
- Прототипирование и Симуляция
- Кодогенерация для реальной системы
Рассмотрим подробнее, через какие инструменты эти возможности реализуются.
1.Моделирование
Язык программирования Scialb
Модель системы или процесса может быть описана на языке Scilab с применением множества математических функций, входящих в стандартную библиотеку, а также подключамых из внешних модулей.
- Инженерная математика
- анализ данных, статистика
- системы дифференциальных уравнений,
- линейная алгебра,
- цифровая обработка сигналов,
- вайвлеты,
- БПФ,
- генетические алгоритмы,
- оптимизация
- Специализированные модули в т.ч. по робототехнике
- нечеткая логика,
- нейронные сети,
- конечные автоматы,
- robotics toolbox,
- motor сontrol и пр.
Можно создавать и подключать свои библиотеки в т.ч. написанные на более распространенных языках программирования (С++, Java)
ХСоs - моделирование и симуляция гибридных динамических систем
Xcos - это среда для моделирования систем/процессов в визуально-блочном стиле, их динамического тестирования и анализа.
Есть возможность исследовать мультидоменные системы.
Можно добавлять свои блоки, описанные на языке Modelica
2.Прототипирование и симуляция
В случае реальной (сложной) системы, включающей разнородные части (например, управляющая электроника и исполнительная механика) удобно построить блочную модель XCos, расселив по блокам дьяволов с деталями.
Построенную модель можно виртуально запустить и проанализировать параметры процесса и результата.
Для работы с внешними источниками/приемниками данных в Scilab имеется ряд модулей, позволяющих использовать USB, последовательный порт, Modbus, Socket, VISA(virtual instrument software architecture), HTTP.
Интерпретатор Scilab (без графической оболочки) можно поставить на какой-нибудь одноплатный компьютер с Linux-ом на борту и получить прототип для продажи инвестору, а может и уже устройство, интересное конечному потребителю.
3.Кодогенерация
- Генерация Cи-кода по блочной модели XCos
Выполняется модулем X2C из официального репозитория проекта. Бесплатный. - Кодогенератор E4CoderCG можно полуить код (прошивку) для ERIKA Enterprise/OSEK/VDX, Linux, RTAI, Windows платформ. Платный.
- Кодогенератор Emmtrix может генерировать код, оптимизированный под мультиядерную архитектуру. Платный.
В итоге
Scilab - мощная система, позволяющая провести полный цикл разработки модели - от уравнений до железного прототипа. Не менее важно, что это продукт с открытым исходным кодом, разрабатываемый сообществом и доступный каждому (в отличие от MATLAB-а, стоящего несколько тысяч долларов). Попробуйте, и скорее всего, вы сможете решить свою задачу без затрат на проприетарные системы.