Announcement

Collapse
No announcement yet.

Modbus TCP: как отличить устаревшее значение от нормального нуля?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Modbus TCP: как отличить устаревшее значение от нормального нуля?

    В распределённой системе контроллер получает по Modbus TCP уровни, расходы и состояния удалённых агрегатов. При остановке обмена на экране остаётся последнее число. Для оператора оно выглядит обычным измерением, хотя обновления уже нет. Особенно неприятен случай, когда последнее значение равно нулю: непонятно, это отсутствие расхода, отключённый прибор или потерянная связь.

    Разберём архитектуру качества данных между опросом, алгоритмом и SCADA. Где хранить время последнего успешного ответа, как обозначать недостоверность и что передавать потребителю вместо устаревшего числа? Не менее важно определить поведение регулятора и автоматической последовательности при недостоверном входе. Универсального времени ожидания здесь нет: оно зависит от процесса, периода опроса и допустимой задержки. Нужен подход, который можно последовательно проверить на отключении кабеля, зависшем устройстве и частичном отказе данных.

  • #2
    Число, качество и возраст значения удобнее передавать вместе. Тогда ноль остаётся допустимым измерением, а недостоверность не кодируется особым числом, которое позже случайно попадёт в расчёт. В журнале полезно различать ошибку запроса, истечение допустимого возраста и восстановление достоверного обмена после сбоя.

    Comment


    • #3
      Есть ещё отличие между живым сетевым соединением и обновлением конкретного регистра. Устройство может отвечать, но возвращать застывшие данные приложения. Если предусмотрен счётчик обновлений или отдельная диагностика, их стоит учитывать. Поведение управления при каждом варианте отказа фиксируется в функциональном описании, а не придумывается при наладке.

      Comment

      Working...
      X