Неявный обмен сообщениями гарантирует доставку сообщений в Ethernet/IP
Есть ли у нас гарантированная доставка сообщения, отправленного через неявный обмен сообщениями в Ethernet/IP?
Неявный обмен сообщениями использует UDP, поэтому я предполагаю, что нет, но это кажется странным, учитывая, что неявный обмен сообщениями используется для контроля в реальном времени, поэтому мне интересно, возможно, Ethernet / IP обеспечивает гарантированную доставку поверх UDP?
Если нет, я должен реализовать что-то поверх этого? Мы не заботимся о вещах в реальном времени, но нам нужна гарантированная доставка, и мы вынуждены использовать неявные сообщения
1 ответ
Эта статья дает хороший обзор этого. UDP работает быстрее, чем использование транспорта, ориентированного на соединение, и может быть многоадресным, что делает его очень подходящим. Надежность, однако, является ее недостатком.
Если данные обновляются часто, это не такая проблема. В других приложениях я использовал PGM для надежности. Но это было для ПК на ПК.
Я предполагаю, что CIP Safety должен использовать нечто подобное.
Нет, гарантированной доставки нет. Если устройство на маршруте решает отбросить все пакеты UDP, они не будут доставлены. Затем соединение будет закрыто из-за тайм-аута приема. Этот тайм-аут указывается с помощью множителя тайм-аута CIP, который определяет максимально допустимое количество потерь кадров в последовательности. Минимум четыре.
Что касается термина "в реальном времени", вы должны различать системы жесткого реального времени и системы мягкого реального времени. EtherNet/IP определенно работает в режиме "мягкого реального времени", что означает, что эти системы обычно исправны, т. Е. Доставляются вовремя. Нет гарантии, что данные будут доступны в течение определенного времени на узле, как в сети жесткого реального времени.
Требования безопасности в этой области часто покрываются избыточностью, проверками достоверности и отказоустойчивыми состояниями.