В практическом промышленном применении MQTT не является альтернативой OPC-UA. Первоначальная цель OPC, еще в 90-х годах, заключалась в предоставлении стандартного механизма связи и модели данных, обеспечивающего взаимодействие между клиентами и серверами, которые внедрили спецификацию. OPC-UA расширяет и обобщает модель данных и коммуникацию, не отказываясь от этой основной цели. Для этого стандарт должен указывать такие параметры, как формат метки времени, кодирование типов данных, исторические значения, аварийные сигналы и т. Д.
MQTT - это уровень передачи сообщений, который не обеспечивает функциональную совместимость по дизайну. Он не определяет формат полезной нагрузки, не указывает, как один передает определенный тип данных, временную метку, значение, иерархию или что-то еще, что позволит приложению понимать передаваемые данные. Вы можете создать действительный сервер MQTT, который испускает XML, JSON или пользовательские форматированные данные, которые являются текстовыми, зашифрованными, закодированными в base-64 или что-либо еще, что вам нравится. Единственный способ, которым клиентское приложение может взаимодействовать с вашим сервером, - это заранее знать, какой формат данных сервер будет производить и принимать.
OPC-UA недавно представил механизм публикации/подписания для улучшения использования полосы пропускания, что снижает преимущество полосы пропускания связи, которое в настоящее время предлагает MQTT. В то же время спецификация MQTT должна вырасти, чтобы указать форматы данных, чтобы повысить интероперабельность. Ожидайте увидеть конвергенцию функциональности между MQTT и OPC-UA, в основном MQTT, растущую для удовлетворения OPC-UA.
MQTT - это гораздо более простая реализация на данный момент, которая имеет преимущества для встроенных и ограниченных ресурсами систем. Добавление спецификации моделирования данных будет способствовать уменьшению этого преимущества.
Суть в том, что OPC-UA предназначен для взаимодействия, а MQTT - для простой пользовательской связи. MQTT должен расти, прежде чем он станет альтернативой OPC-UA.
@NZFarmer MQTT кажется действительно очень перспективным для меня как альтернатива OPC/OPC-UA. Однако, MQTT обрабатывает информационное моделирование? Если да, то как? – cid
@cid MQTT в своем ядре - это очень паб/подформат. Предложите вам просмотреть спецификацию. –
@NZFarmer Да, он работает в архитектуре pub/sub, это прекрасно. Это ответ на вопрос _How_. Как насчет вопроса _Что? Я имею в виду, что одна из самых больших сил OPC/OPC-UA заключается в том, что она определяет представление/моделирование данных. то есть такие данные будут иметь значение поля, временную метку поля, полевое устройство и т. д. Как насчет MQTT? Определяет ли это это? – cid