2016-03-30 2 views
3

Я хочу знать различия между OPC (Open Platform Communication) и DDS (Служба распространения данных).Различия между OPC и DDS?

Мое понимание этих двух фреймворков: Коммуникация посредников над машинами для упрощения сложного сетевого программирования. Оба из них используются для передачи программ по физически отдельным машинам путем передачи сообщений. Они используют модель клиент-сервер для связи в виде сокета TCP/IP, но они могут обмениваться данными в многопользовательском режиме. Кроме того, DDS часто используется в критической системе как самолеты и военные корабли.

Если есть какие-либо недоразумения или вы знаете некоторые различия в них, пожалуйста, дайте мне знать.

ответ

2

DDS обычно использует, но не ограничивается, многоадресную рассылку UDP для pub/sub, а OPC UA может использовать TCP для одноточечных взаимодействий или многоадресной рассылки UDP для pub/sub. Да, DDS получил начало для военных применений, в то время как OPC UA возникла в процессе управления и производства.

OPC UA OPC Foundation Часть 14 описывает, как запускать службы OPC UA через DDS. Спецификация OMG DDS/OPC UA описывает, как выставить сервер OPC UA через DDS.

Разница между ними заключается в том, что OPC UA предоставляет данные в адресном пространстве, а DDS предоставляет данные с использованием тем. Адресное пространство описывает типы и экземпляры и их отношения. Тема более ориентирована на документы, но также включает QoS. Один из способов подумать об этом заключается в том, что DDS эффективно предоставляет предложение select и from для доступа к данным, а OPC UA предоставляет предложение select, from и where. Чтобы быть точным, DDS также имеет предложение where, но оно не масштабируется для больших систем.

+0

A Тема - это экземпляр и пример, ориентированный (зависит от того, являются ли они ключевыми экземплярами). «Документ» подразумевает тяжеловесную вещь, экземпляр - это просто экземпляр и не подразумевает, сколько или как мало данных. –

+0

Я бы повернул комментарий «Выберите * От» на голове. DDS предоставляет предложение Where для фильтрации на стороне издателя (и масштаб зависит от реализации поставщика. RTI имеет облачный PoC, который показывает 10^7 отдельных точек присутствия и разреженный доступ ...), но Select * From приходит в коде приложения (или с использованием экземпляров с ключами). –

5

(отредактировано после комментариев Василия, перед началом поста :))

Я ожидаю, что вы имеете в виду OPC-UA, так как OPC заменяются единой реализацией архитектуры. Немного перекрестный, OPC - это немного больше, чем Windows COM/DCOM, UA - полная переделка как SOA.

Спецификация функциональной совместимости DDS требует UDP/IP и многоадресной рассылки для анонимного обнаружения, а не TCP/IP. Можно использовать TCP, но пока нет спецификации, позволяющей различным производителям реализовать ее, но они хотят. Предположим, что транспорт TCP/IP одного поставщика не будет работать с транспортом TCP/IP другого поставщика (также применяется к транспортным средствам общей памяти и т. Д. Они не совместимы).

OPC-UA использует спокойную связь по HTTP-подобным протоколам. TCP не является детерминированным, поэтому вы не можете гарантировать постоянную осведомленность о том, что происходит. UDP - лучшее усилие (RTPS2, протокол, который использует DDS, включает методы для обеспечения надежного трафика по UDP, то есть надежность обеспечивается на более высоком уровне протокола), но по крайней мере ваши приложения знают, что данные имеют/не пришли вовремя и могут соответственно реагировать.

OPC-UA по умолчанию клиент/сервер (но может быть настроен как одноранговый, если вы хотите накладные расходы на реализацию сервера во встроенной системе). DDS является анонимным одноранговым (но настраивая его как клиент-сервер так же просто, как только реализация одного абонента для данной темы).

OPC-UA предназначен для промышленного управления (SCADA). DDS подходит практически для любого соединения «машина-машина», где «машина» определяется как некоторый бит аппаратного обеспечения, запускает какой-то код, который имеет доступ к стеку UDP/IP и достаточное ОЗУ для поддержки объема данных/сорта/скорости/изменчивости/поставщика/v ... требований устройства.

Оба полностью отсоединены друг от друга и являются независимыми от платформы (аппаратное обеспечение, ОС, язык и т. Д.), Но достигают этого по-другому.DDS продвигает данные на полностью квалифицированный эксперт системы: издатель публикует «данные». Абонент подписывается на «данные». Это -не- "издатель беседует с подписчиком".

OPC-UA использует внутренний протокол (opc-tpc: // или https: //) и RESTful. Трудно ввернуть это.

И OPC (фундамент), и OMG (корпус открытых стандартов) для обеспечения совместимости между реализациями.

QoS: QoS в DDS - поле для себя. Вы будете впечатлены. Вы будете удивлены. Вы будете потрясены и запутаны и будете разочарованы, когда два коллеги, на одной и той же теме, используя то же самое определение типа в той же подсети, все равно не будут разговаривать друг с другом. Тогда вы скажете: «О. duh ", измените одну настройку в файле QoS, и все снова станет сладостью и светом.

Поскольку OPC-UA нацелен на конкретный прецедент, нет необходимости в каком-либо QoS, кроме того, что требуется конкретному случаю использования. DDS гораздо более способна/намного лучше осведомлена о QoS, поскольку она не ограничивается одним вариантом использования.

+0

FIrst из всех, спасибо за ответ. Как вы сказали, если 'DDS гораздо более способна/значительно более осведомлена о QoS, потому что это не ограничивается одним вариантом использования, почему все еще существует потребность в OPC-UA для конкретного варианта использования? –

+0

возможно только потому, что DDS не разрешает TCP/IP, только UDP/IP? только это? –

+0

Инфраструктура стоимостью $ T основана на OPC-UA. Идем дальше - убеждайте тех пользователей, что они уничтожают то, что у них есть, и заменяют его совершенно новой инфраструктурой (новая для них, DDS существует уже много лет). Не происходит на уровне Client-Server OPC-UA. Но это может происходить на уровне Server-Server (два сервера OPC-UA, разговаривающие друг с другом), которые они показали очень хорошо, когда этот канал связи выполнен с использованием DDS. –

Смежные вопросы