Ключевые концепции
Telematic — это embedded-платформа автоматизации нового поколения, ориентированная на компактные, автономные и сетевые системы управления.
Контроллер Telematic отличается от классических ПЛК как по архитектуре, так и по подходу к разработке и эксплуатации пользовательских приложений.
В основе платформы лежат несколько ключевых принципов.
1. SCADA/DCS-функции непосредственно в контроллере
Классическая архитектура промышленной автоматизации обычно включает:
- ПЛК;
- SCADA/DCS-систему;
- отдельное ПО для разработки и конфигурирования.
Такой подход хорошо подходит для крупных распределённых систем, однако для компактных и средних проектов нередко приводит к:
- усложнению архитектуры;
- увеличению стоимости;
- усложнению сопровождения.
Telematic реализует часть функций SCADA/DCS непосредственно внутри контроллера:
- пользовательскую web-HMI;
- графики метрик;
- журналирование событий;
- тревоги и уведомления;
- удалённый доступ;
- многопользовательскую работу.
Современные микроконтроллеры по производительности, объёму памяти и сетевым возможностям значительно превосходят аппаратную базу, на которой строились многие SCADA/DCS-системы 1990-х годов.
Это позволяет перенести часть функций верхнего уровня непосредственно в контроллер без использования отдельной SCADA-системы.
Подобный подход:
- упрощает архитектуру;
- снижает требования к инфраструктуре;
- уменьшает количество точек отказа;
- снижает стоимость системы.
2. Универсальные языки программирования вместо специализированных PLC-языков
Стандарт IEC 61131-3 был разработан в эпоху, когда программируемые контроллеры обладали существенно меньшими вычислительными ресурсами и решали в основном локальные задачи автоматизации.
Языки IEC 61131-3 хорошо подходят для классической модели: вход → алгоритм → выход.
Однако современные задачи автоматизации всё чаще включают:
- сетевое взаимодействие;
- пользовательские интерфейсы HMI;
- инструменты визуализации;
- обработку данных.
Для таких задач Telematic использует универсальные текстовые языки программирования:
- MicroPython;
- C.
Почему текстовые языки
- проще масштабируются;
- удобнее для сопровождения;
- лучше интегрируются с современными инструментами разработки;
- естественно совместимы с ИИ-инструментами.
Почему MicroPython
- основан на Python 3;
- имеет низкий порог входа;
- широко распространён;
- хорошо подходит для embedded-систем;
- требует минимальных аппаратных ресурсов.
Почему C
Язык C используется для:
- алгоритмов, критичных к быстродействию;
- задач с минимальными требованиями к задержкам.
Использование двух принципиально разных языков позволяет разработчику выбирать между скоростью разработки и производительностью.
3. Web-native среда разработки
Telematic использует встроенный веб-интерфейс как основную среду для:
- программирования;
- настройки;
- диагностики;
- эксплуатации.
Современные веб-технологии позволяют создавать интерфейсы, сопоставимые по возможностям с десктопными приложениями.
Такой подход обеспечивает:
- кроссплатформенность;
- отсутствие необходимости установки IDE;
- доступ с любого устройства;
- упрощённое сопровождение.
Пользовательские сценарии:
- хранятся непосредственно на контроллере;
- редактируются напрямую через браузер;
- запускаются без промежуточного deployment.
Это существенно упрощает архитектуру разработки и эксплуатации.
4. Минимально достаточная embedded-архитектура
Контроллер Telematic не использует Linux и не основан на Linux-компонентах.
По нашему мнению, использование Linux в промышленных контроллерах не всегда оправдано, несмотря на распространённость такого подхода. Во многих случаях Linux применяется для ускорения и удешевления разработки, однако это сопровождается:
- увеличение требований к памяти и вычислительным ресурсам;
- усложнение архитектуры;
- увеличение времени загрузки;
- менее предсказуемое поведение системы;
Telematic разрабатывался как компактная embedded-платформа автоматизации с минимальным количеством промежуточных слоёв и системных компонентов.
Контроллер использует операционную систему собственной разработки, оптимизированную под:
- realtime-задачи;
- сетевое взаимодействие;
- минимальное потребление ресурсов.
Операционная система контроллера:
- обеспечивает высокое быстродействие и надёжность;
- позволяет добиться лучшей оптимизации под hardware;
- имеет монолитную архитектуру;
- минимальные системные требования: ОЗУ 196 КБ, ПЗУ 2 МБ.