Стартовая страница › Форумы › Понять, как работает ПО › Опрос и передача данных (Быстрый шлюз)
- В этой теме 6 ответов, 2 участника, последнее обновление 2 года назад сделано vg.
-
АвторСообщения
-
19.04.2022 в 17:17 #23141vgУчастник
Здравствуйте!
Настроил шаблон для получения данных по ModbusTCP. Создал входные каналы с указанием номеров сигнала (в соответствии с шаблоном, допустим, номера сигналов — 1, 2 и 3, а номера каналов допустим 101, 102 и 103). Теперь значения нужно передать по Быстрому шлюзу на другой сервер (допустим, в каналы 10101, 10102 и 10103). На другом сервере настроил каналы типа телеизмерение с номерами 10101 — 10103 для приёма данных с соответствующими номерами сигналов — 1, 2, 3.
Итого имеем:
1-й сервер (сервер опроса и передачи)
Канал 101 — Сигнал 1
Канал 102 — Сигнал 2
Канал 103 — Сигнал 32-й сервер (сервер приёма)
Канал 10101 — Сигнал 1
Канал 10102 — Сигнал 2
Канал 10103 — Сигнал 3Ситуация следующая: Значения канала 10101 переправляются в БД и также в канале 10101 используется формула для вычисления статуса (используется значение канала 10103).
Здесь есть один нюанс. Из-за того, что канал 10101 отрабатывает раньше, чем канал 10103, то значение канала 10103 для формулы канала 10101, если я правильно понимаю, берётся с предыдущего цикла отработки каналов типа телеизмерения (и выходит, что в первый раз там статус всегда 1).
Обязательно ли изменять шаблон опроса устройства (поставить Сигнал 3 перед Сигнал 1), чтобы сделать так, чтобы в канале 10101 использовалось актуальное значение канала 10103 или достаточно поменять номер канала 10103, например на 10100, чтобы он шёл впереди и тогда в цикле отработки каналов в канале 10101 будет уже опрошенное значение с устройства в канале 10103?
- Эта тема была изменена 2 года назад от vg.
20.04.2022 в 14:49 #23156MikhailМодераторДобрый день!
Формулы каналов, которые получаются от контроллеров, вычисляются в момент получения данных.
Формулы каналов дорасчётного типа вычисляются последовательно по номерам каналов.
Сделайте скриншот Ваших каналов, пожалуйста.Ещё есть баг: если у тегов КП номера каналов идут не подряд, то иногда возникают проблемы с получением данных. Баг исправлен в 6-й версии.
20.04.2022 в 18:33 #23171vgУчастникЭто каналы для опроса устройства (каждая сотня в отдельном КП и для него отдельный шаблон опроса)
https://pastenow.ru/9f5879c77a42171490770e9adb320f8bЭто каналы с проекта 2-го сервера (только 1-й канал, т.к. каналов много и не поместятся)
https://pastenow.ru/b8e9cf0faa2cdd7e814978e05a602ba2На втором скриншоте формула канала 10101 не использует значение канала 10103, но это только пока что (не стал вносить нужные правки в формулах, так как не знаю какое решение будет по итогу принято в реализации).
Мне нужно, чтобы канал 10103, который настроен в Быстром шлюзе на получение данных от канала 103 (сервер 1) получал данные раньше, чем канал 10101, получающий данные от 101.
Проблема в том, что проект первого сервера уже развёрнут в другом городе, а баг нашёлся после. И я задался вопросом: можно ли изменив проект для 2-го сервера победить эту проблему.
Если я правильно понял, то добиться этого можно только изменив шаблоны и порядок каналов в 1-м проекте, на котором и опрашиваются устройства.
20.04.2022 в 18:43 #23174MikhailМодераторЕсли Быстрый шлюз настроен по умолчанию, то он передаёт каналы с сервера 1 на сервер 2, в той последовательности, в которой они приходят на сервер 1 от Коммуникатора.
Поэтому если изменить порядок каналов на сервере 2, то это не повлияет, как мне кажется.
20.04.2022 в 18:45 #23175MikhailМодераторСложно сразу представить такую конструкцию, но можно попробовать решить проблему за счёт дорасчётных каналов, которые вычисляются постоянно и быстро подхватят новые данные.
20.04.2022 в 18:48 #23176MikhailМодераторКстати, учитывайте, что если Быстрый шлюз также настроен на передачу архивов, то Ваши формулы в каналах на сервере 2 сработают также и при получении архивов. В некоторых случаях это приводит к некорректным расчётам, которые трудно диагностировать.
Чтобы избежать данной проблемы в 6-й версии в формуле можно проверить, обрабатываются текущие или архивные данные. А для Быстрого шлюза можно будет отключить срабатывание формул каналов на сервере 2 при передаче данных.
21.04.2022 в 10:52 #23187vgУчастникХорошо, спасибо.
-
АвторСообщения
- Вы должны авторизироваться для ответа в этой теме.