Особенности и возможности
Ключевые особенности
Telematic — это новый программируемый контроллер, который значительно отличается от классических ПЛК. Эти отличия являются ключевыми особенностями контроллера и сформулированы в четырёх принципах, взятых за основу при его разработке. Они отражают подход к интеграции современных технологий, позволяя преодолеть ограничения традиционных систем и предложить более универсальное, эффективное и доступное решение.
Ориентируясь на стандарты ГОСТ Р МЭК 61131, под термином ПЛК мы подразумеваем понятие “программируемый контроллер”, а не “программируемый логический контроллер”. Буква “Л” оставлена намеренно, чтобы избежать путаницы с ПК — “персональным компьютером”. Таким образом, под ПЛК подразумевается все многообразие программируемых контроллеров, включая PLC, PAC и IPC. Большинство современных программируемых контроллеров уже давно вышли за рамки чисто “логических” функций и поддерживают сложные алгоритмы, сетевые взаимодействия и обработку данных.
1. Релизация функционала систем SCADA/DCS в контроллере
К типовым задачам систем SCADA (Supervisory Control and Data Acquisition) и DCS (Distributed Control System) относятся:
- реализация пользовательской панели управления (HMI);
- визуализация технологического процесса;
- сбор и централизованное хранение данных;
- оповещение об авариях;
- удалённый доступ и управление.
Стандарт языков программирования IEC 61131-3 был принят в 1993 году. В силу ограниченных аппаратных характеристик ПЛК того времени, языки стандарта узкоспециализированы и ориентированы на управление ПЛК по схеме: “вход → алгоритм → выход”. Современный ПЛК по ключевым аппаратным характеристикам (CPU, RAM, хранение данных, I/O и сети) мощнее не только ПЛК того периода, но и более чем на порядок превосходит типовой сервер SCADA/DCS 1990-х годов.
Это означает, что с технической стороны на современной аппаратной базе возможно создание ПЛК, способного выполнять типовые функции SCADA и DCS систем. Что и сделано в контроллере Telematic. Такой подход позволяет упростить архитектуру системы, снизить затраты на дополнительное оборудование и повысить ее надёжность.
2. Программирование на языках Python и C
Языки стандарта IEC 61131-3 в силу своей узконаправленности не подходят для решения задач визуализации, создания HMI, сетевого взаимодействия и т.д. Расширение функционала контроллера требует пересмотра требований к поддерживаемым языкам программирования. Ключевые критерии:
- текстовый формат: визуальные языки программирования имеют узкую специализацию и проблемы с масштабируемостью;
- универсальность: пригодность для решения как традиционных задач управления ПЛК по схеме “вход → алгоритм → выход”, так и для новых задач;
- популярность: программист ПЛК не должен изучать новый экзотический язык, а использовать тот, с которым, скорее всего, уже знаком;
- простота: язык должен иметь низкий порог входа;
- минимальные аппаратные требования: чем меньше — тем лучше.
MicroPython (версия Python для встраиваемых систем) и C наилучшим образом соответствуют перечисленным требованиям. MicroPython — это компактная и эффективная реализация Python 3, оптимизированная для микроконтроллеров с ограниченными ресурсами, включая малый объём стандартной библиотеки. Эти языки максимально непохожи друг на друга, что даёт большую гибкость и свободу использования: C идеален для низкоуровневого доступа к hardware и real-time задач, а MicroPython — для быстрой разработки сложной логики и интеграции.
Представление о том, что языки стандарта IEC 61131-3 обеспечивают безопасность и надёжность исполнения пользовательского алгоритма, является мифом. Об этом свидетельствует практика, особенно в контроллерах на базе Linux, где уязвимости могут возникать из-за сложной кодовой базы.
Мнение о том, что языки стандарта IEC 61131-3 удобнее для инженеров АСУ ТП, справедливо только для LD (Ladder Diagram) и FBD (Function Block Diagram), и то для разработчиков, которые не используют текстовые языки.
3. Среда разработки в веб-интерфейсе контроллера
Уровень развития современных веб-технологий позволяет создавать пользовательские интерфейсы и веб-приложения, сравнимые по функциональности с десктопными приложениями. Контроллер Telematic оснащён встроенным веб-сервером и предоставляет веб-интерфейс, через который осуществляется программирование, конфигурирование и пользовательское использование контроллера.
Преимущества такого подхода:
- кроссплатформенность — работа с контроллером с любого устройства и любой операционной системы;
- доступ с любого места посредством интернета;
- отсутствие необходимости в установке какого-либо ПО на компьютер пользователя и разработчика;
- пользовательские сценарии хранятся, редактируются и запускаются сразу на контроллере, без копирования с ПК;
- простота архитектуры: не нужен отдельный протокол для взаимодействия.
4. Никакого Linux! Быстрая и надёжная ОС контроллера собственной разработки
Схожий функционал производители других контроллеров пытаются достичь за счёт использования ОС Linux в ПЛК. Это, в корне, неправильный подход, прежде всего из-за фундаментальных архитектурных и практических ограничений Linux для hard real-time (HRT) систем. О этом неоднократно говорил Линус Торвальдс, создатель ядра Linux: “The linux kernel itself isn’t hard realtime, the lack of kernel services really is unavoidable.” Проблема частично решается патчами (например, RT-PREEMPT), но не устраняется полностью.
Другие проблемы Linux в контексте ПЛК:
- высокая нагрузка на ПЗУ контроллера: быстрый износ flash-памяти из-за активного использования файловой системы;
- повышенные требования к RAM/CPU: низкая энергоэффективность и производительность в embedded-средах;
- повышенные требования к квалификации инженера;
- сложности с обновлением ядра ОС и программных компонентов, что увеличивает риски уязвимостей.
В контроллере Telematic используется ОС собственной разработки, которая изначально создавалась под заявленные задачи. Поэтому она лишена недостатков Linux, обеспечивает высокое быстродействие и надёжность, имеет монолитную архитектуру и минимальные системные требования: ОЗУ 196 КБ, ПЗУ 2 МБ. ОС контроллера Telematic позволяет добиться лучшей оптимизации под hardware, повышенной безопасности (за счёт минимальной кодовой базы) и реального времени без компромиссов, что критично для промышленных приложений.
Роль сервера
Контроллер может быть подключён к серверу собственной разработки (https://lk.telematic.ru). Подключение к серверу не является обязательным и не влияет на базовую функциональность контроллера.
Сервер предоставляет следующие функции:
- Работа с личными кабинетами пользователей. Зарегистрированный пользователь может привязать контроллер к своему личному кабинету для удобного управления и мониторинга.
- Проброс веб-интерфейса контроллера. Сервер выступает в качестве прокси-сервера, обеспечивая доступ к веб-интерфейсу контроллера из любого места через личный кабинет пользователя, без необходимости в прямом подключении.
- Сохранение событий и метрик. Сервер хранит события и метрики (временные ряды значений) с контроллера, расширяя временной диапазон архивации. Просмотр данных доступен даже в случае потери связи с контроллером.
- Отправка уведомлений. Сервер уведомляет пользователя о авариях и потере связи с контроллером через смартфон (email, Telegram или другие каналы).
- Компиляция сценариев на языке C. Контроллер не поддерживает самостоятельную компиляцию кода на C. Для этого сценарий отправляется на сервер или в специальную утилиту на ПК разработчика (если подключение к серверу невозможно).
- Учёт статистики. Сервер собирает данные о работе контроллера, включая входящий/исходящий трафик и количество потерь связи, для анализа и оптимизации.
Модельный ряд
В настоящий момент модельный ряд представлен только одним контроллером — Telematic-X1. Для удешевления контроллер не имеет корпуса, однако может быть закреплён на DIN-рейку с помощью специального держателя.
- Вычислительная подсистема. Процессор: ARM Cortex-M4 с FPU, 120 МГц. ОЗУ: 192 КБ. Часы реального времени: с ионистором (время работы до 6 месяцев). Операционная система собственной разработки.
- Дискретные входы (5 шт.). Номинальное напряжение: 24 В DC. Групповая гальваническая изоляция.
- Дискретные выходы (5 шт.). N-канальный транзистор.
- Аналоговые входы (3 шт.). 2 шт. — для температурных датчиков NTC 10K; 1 шт. — вход 0–10 В.
- Аналоговые выходы (3 шт.). Выходы 0–10 В.
- Интерфейсы. Ethernet: IPv4, ICMP, TCP, UDP, DHCP, HTTP, SNMP, Modbus TCP, SNTP, REST API. RS-485: 2 шт. (Modbus RTU Slave/Master с гальванической изоляцией). USB Type-A.
- Питание. Номинальное напряжение: 24 В AC/DC. Ток потребления: номинальный — 11 мА, максимальный — 17 мА. Разъёмы: клеммная колодка; DC 5,5 × 2,5 мм.
В дальнейшем планируется расширение модельного ряда.
Сферы применения
В связи с отсутствием поддержи IEC 61131-3, контроллер не может использоваться там, где требуются строгие промышленные стандарты сертификации, например, в нефтегазе, тяжелой промышленности или критических инфраструктурах с юридическими требованиями. В тоже время, за счет расширенных функций (удаленный мониторинг и управление) и сетевых возможностей (пинг, сокеты, SNMP, HTTP REST API) возможных сферы применения значительно больше чем у классических ПЛК. Фокус на гибкости, удаленном доступе и мониторинге делает его подходящим для малых и средних систем автоматизации, где важны простота развертывания, низкие затраты и веб-ориентированность.
Ниже я перечислены возможные сферы применения контроллера.
1. Малое производство и автоматизация процессов
- Простые конвейеры или машины: DI/DO для управления моторами/реле, AI/AO для регулировки параметров (например, температура в сушилках). Расширители для масштаба.
- Применение: Пищевая промышленность (малые цеха: контроль ферментации), текстиль (управление станками), упаковка. Например, мониторинг и управление мини-линией по розливу жидкостей.
2. Автоматизация зданий и климатических систем (HVAC)
- Управление вентиляцией, отоплением и кондиционированием: Как вы отметили, это базовый сценарий. AI для датчиков температуры (NTC10K) или напряжения (0-10V, например, для CO2 или влажности), AO для регулировки клапанов/вентиляторов (0-10V), DI/DO для включения/выключения оборудования. Хранение временных рядов позволяет анализировать тренды (например, суточные колебания температуры), а веб-интерфейс — удаленно корректировать настройки. Расширители по Modbus RTU добавляют масштабируемость для большего количества датчиков.
- Применение: Офисы, жилые дома, небольшие коммерческие здания (магазины, кафе). Например, автоматическое поддержание микроклимата в серверных комнатах или теплицах.
3. IT и сетевой мониторинг
- Мониторинг оборудования: Python-библиотека для пингов и сокетов — проверка доступности серверов/роутеров; SNMP для сбора метрик (нагрузка, трафик); Modbus TCP для интеграции с другими устройствами.
- Применение: Малые дата-центры, офисные сети, домашние серверы. Например, автоматическое переключение резервного питания (DO) при потере пинга от основного роутера, или оповещение о сбоях.
4. Смарт-дом и IoT-системы
- Домашняя автоматизация: DI для датчиков движения/дверей, DO для освещения/замков, AI для мониторинга температуры/влажности, AO для диммирования света или управления жалюзи. Сетевые функции (пинг, сокеты) позволяют проверять подключение устройств (Wi-Fi роутеры, камеры), а SNMP/HTTP — интегрировать с другими IoT-шлюзами.
- Применение: Частные дома, квартиры, небольшие умные офисы. Например, система “умный дом” с удаленным контролем через мобильный браузер: включение отопления по расписанию или оповещение о протечках.
5. Сельское хозяйство и агротехника
- Умные фермы и теплицы: AI для датчиков почвы/воздуха (температура, влажность, CO2), AO для управления поливом/вентиляцией, DI/DO для насосов/клапанов. Временные ряды для анализа данных (например, графики роста растений), удаленное управление для фермеров на расстоянии.
- Применение: Теплицы, гидропоника, животноводческие фермы (мониторинг кормушек). Например, автоматическая вентиляция в курятнике на основе CO2-уровня.
6. Мониторинг окружающей среды и экология
- Сбор данных от датчиков: AI для температуры/CO2, хранение временных рядов с графическим отображением, удаленный доступ для анализа. DI/DO для активации alarm-систем (например, при превышении порогов).
- Применение: Экологический мониторинг (воздух в городах, вода в реках), метеостанции, системы предупреждения о загрязнении. Например, автономные станции для отслеживания климата в парках или на стройплощадках.
7. Образование, прототипирование и R&D
- Экспериментальные setups: Веб-интерфейс для быстрой настройки, Python/C для скриптинга, I/O для подключения датчиков.
- Применение: Университеты, лаборатории, хобби-проекты. Например, студенческие проекты по автоматизации (роботы, датчики) или тестирование IoT-прототипов.