Опрос и передача данных (Быстрый шлюз)

Стартовая страница Форумы Понять, как работает ПО Опрос и передача данных (Быстрый шлюз)

  • В этой теме 6 ответов, 2 участника, последнее обновление 2 года назад сделано vg.
Просмотр 7 сообщений - с 1 по 7 (из 7 всего)
  • Автор
    Сообщения
  • #23141
    vg
    Участник

    Здравствуйте!

    Настроил шаблон для получения данных по ModbusTCP. Создал входные каналы с указанием номеров сигнала (в соответствии с шаблоном, допустим, номера сигналов — 1, 2 и 3, а номера каналов допустим 101, 102 и 103). Теперь значения нужно передать по Быстрому шлюзу на другой сервер (допустим, в каналы 10101, 10102 и 10103). На другом сервере настроил каналы типа телеизмерение с номерами 10101 — 10103 для приёма данных с соответствующими номерами сигналов — 1, 2, 3.

    Итого имеем:
    1-й сервер (сервер опроса и передачи)
    Канал 101 — Сигнал 1
    Канал 102 — Сигнал 2
    Канал 103 — Сигнал 3

    2-й сервер (сервер приёма)
    Канал 10101 — Сигнал 1
    Канал 10102 — Сигнал 2
    Канал 10103 — Сигнал 3

    Ситуация следующая: Значения канала 10101 переправляются в БД и также в канале 10101 используется формула для вычисления статуса (используется значение канала 10103).

    Здесь есть один нюанс. Из-за того, что канал 10101 отрабатывает раньше, чем канал 10103, то значение канала 10103 для формулы канала 10101, если я правильно понимаю, берётся с предыдущего цикла отработки каналов типа телеизмерения (и выходит, что в первый раз там статус всегда 1).

    Обязательно ли изменять шаблон опроса устройства (поставить Сигнал 3 перед Сигнал 1), чтобы сделать так, чтобы в канале 10101 использовалось актуальное значение канала 10103 или достаточно поменять номер канала 10103, например на 10100, чтобы он шёл впереди и тогда в цикле отработки каналов в канале 10101 будет уже опрошенное значение с устройства в канале 10103?

    • Эта тема была изменена 2 года назад от vg.
    #23156
    Mikhail
    Модератор

    Добрый день!

    Формулы каналов, которые получаются от контроллеров, вычисляются в момент получения данных.
    Формулы каналов дорасчётного типа вычисляются последовательно по номерам каналов.
    Сделайте скриншот Ваших каналов, пожалуйста.

    Ещё есть баг: если у тегов КП номера каналов идут не подряд, то иногда возникают проблемы с получением данных. Баг исправлен в 6-й версии.

    #23171
    vg
    Участник

    Это каналы для опроса устройства (каждая сотня в отдельном КП и для него отдельный шаблон опроса)
    https://pastenow.ru/9f5879c77a42171490770e9adb320f8b

    Это каналы с проекта 2-го сервера (только 1-й канал, т.к. каналов много и не поместятся)
    https://pastenow.ru/b8e9cf0faa2cdd7e814978e05a602ba2

    На втором скриншоте формула канала 10101 не использует значение канала 10103, но это только пока что (не стал вносить нужные правки в формулах, так как не знаю какое решение будет по итогу принято в реализации).

    Мне нужно, чтобы канал 10103, который настроен в Быстром шлюзе на получение данных от канала 103 (сервер 1) получал данные раньше, чем канал 10101, получающий данные от 101.

    Проблема в том, что проект первого сервера уже развёрнут в другом городе, а баг нашёлся после. И я задался вопросом: можно ли изменив проект для 2-го сервера победить эту проблему.

    Если я правильно понял, то добиться этого можно только изменив шаблоны и порядок каналов в 1-м проекте, на котором и опрашиваются устройства.

    #23174
    Mikhail
    Модератор

    Если Быстрый шлюз настроен по умолчанию, то он передаёт каналы с сервера 1 на сервер 2, в той последовательности, в которой они приходят на сервер 1 от Коммуникатора.

    Поэтому если изменить порядок каналов на сервере 2, то это не повлияет, как мне кажется.

    #23175
    Mikhail
    Модератор

    Сложно сразу представить такую конструкцию, но можно попробовать решить проблему за счёт дорасчётных каналов, которые вычисляются постоянно и быстро подхватят новые данные.

    #23176
    Mikhail
    Модератор

    Кстати, учитывайте, что если Быстрый шлюз также настроен на передачу архивов, то Ваши формулы в каналах на сервере 2 сработают также и при получении архивов. В некоторых случаях это приводит к некорректным расчётам, которые трудно диагностировать.

    Чтобы избежать данной проблемы в 6-й версии в формуле можно проверить, обрабатываются текущие или архивные данные. А для Быстрого шлюза можно будет отключить срабатывание формул каналов на сервере 2 при передаче данных.

    #23187
    vg
    Участник

    Хорошо, спасибо.

Просмотр 7 сообщений - с 1 по 7 (из 7 всего)
  • Вы должны авторизироваться для ответа в этой теме.