OpenFB - это платформа для выполнения функциональных блоков в соответствии со стандартом IEC 61499. OpenFB базируется на открытом исходном коде и позволяет разработчикам:
Создавать пользовательские функциональные блоки без привязки к конкретному производителю оборудования
Разворачивать приложения на любой платформе, поддерживающей Python (Linux, Windows, встраиваемые системы)
Комбинировать компоненты, написанные на Python, C++, промышленных языках IEC 61131-3 в единую систему с использованием стандартизированных сетевых протоколов (OPC UA, MQTT и др.)
Избежать технологической зависимости от одного поставщика
Сокращение капитальных затрат и неблокируемость за счет отказа от привязки к конкретному поставщику
Для системных интеграторов
Расширенный портфель решений: возможность свободно комбинировать компоненты разных производителей, не оглядываясь на совместимость
Для разработчиков
Разработчики освобождаются от жесткой привязки к проприетарным средам: в рамках единого фреймворка можно использовать Python, ST, C++ и другие языки
ОСОБЕННОСТИ ПРОЕКТА
Снижение стоимости владения
Возможно за счет использования открытых компонентов, а также модульной архитектуры
Обеспечение кибербезопасности
O-PAS стандартизирует безопасность на уровне архитектуры за счет единых подходов к шифрованию и аутентификации через OPC-UA и фреймворки
OpenFB работает в гетерогенной среде
Программа на 61499/61131/C++ (Forte runtime) публикует сообщения через OPC UA / MQTT, а компонента на Python (openFB) подписывается на события и инициирует обработку. Результаты (например, обнаружение дефектов) отправляются обратно через стандартизованный интерфейс
АРХИТЕКТУРА
• Многопоточная архитектура, каждый функциональный блок работает в отдельном потоке • Каждый ФБ является и производителем, и потребителем данных • ФБ хранит входные события в очереди, переменные в регистрах • Асинхронная обработка - ФБ ожидает событие, считывает переменные, выполняет функцию • После выполнения ФБ передает события и обновляет переменные следующим ФБ • Доступ к значениям через OPC-UA сервер или 4DIAC-IDE происходит в реальном времени
Ключевое преимущество - полная асинхронность и масштабируемость за счет многопоточности
Кейс: обнаружение столкновений на основе анализа сервопроводов
Цель: Превратить обычный роботизированный манипулятор в коллаборативного робота, способного безопасно взаимодействовать с людьми и окружающей средой
Сценарий: •Используется роботизированная рука на базе сервоприводов, которые предоставляют метрики нагрузки •Система анализирует данные о токе и напряжении двигателей для выявления аномалий •При обнаружении перегрузки (возможного столкновения) выполнение немедленно останавливается
Архитектура: Два устройства на базе Raspberry Pi: •Первое: мониторинг сервоприводов и обнаружение перегрузок •Второе: управление роботизированной рукой и реакция на сигналы остановки
Результат: Система способна предсказывать столкновения в реальном времени и останавливать робота при необходимости
Кейс: обнаружение столкновений на основе анализа сервопроводов
Цель: Продемонстрировать распределенный контроль между промышленным роботом и кастомным устройством захвата
Компоненты: •UR5: промышленный роботизированный манипулятор Universal Robots •Захват: 3D-напечатанный с сервоприводом для открытия/закрытия пальцев •Два Raspberry Pi для управления каждым компонентом
Технические детали: •UR5 управляется через TCP/IP API с отправкой команд позиционирования (X,Y,Z, Rx,Ry,Rz) •Захват управляется через GPIO Raspberry Pi для управления сервоприводом •Синхронизация между компонентами через multicast UDP сокеты •Использование паттерна "производитель-потребитель" для обмена событиями
ПРИСОЕДИНЯЙТЕСЬ К СООБЩЕСТВАМ НА GITHUB И GITVERSE
ОСТАЛИСЬ ВОПРОСЫ? НАПИШИТЕ НАМ
Связаться с нами
Оставьте заявку, и мы свяжемся с вами в течение 2-3 рабочих дней