Haven
Junior Member / Новичок
Участник № / Member № 6817
отправлено / posted
Добрый день, уважаемая служба поддержки. Работаем со счётчиком, используя универсальный механизм обмена. Как корректно определить наличие или отсутствие связи с электросчётчиком?
Сообщения / Posts 20 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Можно следить за состоянием атрибута 2, A канала CGR_main. Расшифровка битов дана в нашей справке: Обмен с контроллерами и УСО -> Обмен по встроенным протоколам -> Универсальный механизм обмена с электросчетчиками -> Диагностика в каналах подтипа 102 .
Сообщения / Posts 17264 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Haven
Junior Member / Новичок
Участник № / Member № 6817
Haven
Junior Member / Новичок
Участник № / Member № 6817
отправлено / posted
Извините за дурацкий вопрос, но какой атрибут канала CGR_main Вы имели в виду: 1,А или 2,In ? (В справочной системе тоже написано про атрибут"2,А", но такого атрибута у каналов нет...)
Сообщения / Posts 20 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Извините, это описка в документации. Речь идет об атрибуте 1 (A) - АППАРАТНОМ значении.
Сообщения / Posts 17264 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Haven
Junior Member / Новичок
Участник № / Member № 6817
отправлено / posted
Ага, понятно. Но вот какое дело: я работаю на компе разработчика, к которому реальная аппаратура не подключена. В этом случае я ожидаю, что в каком-то атрибуте канала счётчика CGR_main я могу увидеть признак, что связи со счётчиком нет. Однако, вот что я вижу в служебной панели МРВ для этого канала:
Атрибут Значение R 0 A 0 In 0 C I On +T I _T Frq 1 D ... P 0 W +
Естественно, канал типа Событие по результатам анализа разрядов 12 и 13 атрибута (1,А), получает значение 0. Что не так в логике моего проекта? (Считаю, что нет связи, если значение разрядов 12-15 равно 1 или 2)
Сообщения / Posts 20 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
CGR_main при корректной инициализации порта с правильным назначением, но при отсутствии оборудования будет иметь в атрибуте 004, I недостоверность "_F", а в атрибуте 240, ERR сообщение "open link".
В Вашем случае или не инициализирован порт, или ему задано неправильное назначение, или иная погрешность в проекте. Возможно, Вы наблюдаете не канал CGR_main, а другой CALL, не привязанный к источнику.
Сообщения / Posts 17264 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Haven
Junior Member / Новичок
Участник № / Member № 6817
отправлено / posted
Подключение к счётчику сделано согласно видеоролику. Что Вы имеете в виду под "корректной инициализацией порта"? К счётчику проект подключается через COM5, и на "боевом" компе нормально читает данные со счётчика. Считается ли в этом случае, что порт правильно инициализирован?
Однако, при запуске проекта на компе разработчика, к которому аппаратура не подключена и даже не определено ни одного COM-порта, в служебной панели я наблюдаю именно те значения атрибутов, которые я указал в предыдущем сообщении.
Для теста я создал простенький проект, в котором всего лишь определил источник, COM-порт и создал канал CGR_main. После запуска в служебной панели МРВ я вижу все те же значения, не индицирующие отсутствие связи с аппаратурой. Можно ли прислать этот проект, чтобы Вы указали на ошибку или подсказали, как правильно инициализировать порт?
Сообщения / Posts 20 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Haven
Junior Member / Новичок
Участник № / Member № 6817
отправлено / posted
Извините, вдогонку: на "боевом" компе действительно при обрыве связи в атрибуте 004, I - недостоверность "_F", а в 1,А для одного счётчика 17007, а в другом - 37007 (а при наличии связи у обоих 7007).
Сообщения / Posts 20 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
При инициализации порта коммуникации ("открытии") устанавливаются все его параметры: длина слова, число стоп-битов, установка четности, скорость обмена.
Если порт присутствует в системе, виден в диспетчере устройств Windows, но устройство не подключено, будут предприниматься попытки подключения, каналы будут работать, появится недостоверность.
Если же порт даже не определяется системой, не виден в диспетчере устройств, инициализировать нечего, в протокол запишутся ошибки по созданию порта, привязанные к источнику каналы не будут иметь источника, значения и атрибуты каналов не поменяются. Поэтому привязанный канал и останется достоверным, будет иметь значение 0, если по умолчанию на старте не задано иное.
Детальная диагностика по обмену по RS будет писаться в профайлерный протокол в папке узла проекта (<Имя проекта>_<№ узла проекта>.txt), если установить в эту папку конфигурационный файл *.cnf (см. справку: Приложения - Задание параметров работы мониторов - Задание параметров работы мониторов) с ключом DEBUGON=200
Сообщения / Posts 17264 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Haven
Junior Member / Новичок
Участник № / Member № 6817
отправлено / posted
ОК, спасибо, понятно. Непонятно только, почему при нормальном подключении и получении данных со счётчика содержимое (1,А) для GCR_main 7007, т.е. значение разрядов 12-15 = 7 (а такое значение в документации вообще не описано).
Сообщения / Posts 20 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
В аппаратном значении отображается число в десятичном формате: 7007dec = 1B5Fhex
Надо также учитывать, что обнаруженные ошибки могут автоматически не сбрасываться. Если у канала признак НЕДОСТОВЕРНОСТИ не взведен, значит, очередной запрос прошел корректно. В аппаратном значении сохранились исторические данные диагностики. Можно попытаться сбросить эти значения. При неустойчивом обмене эти ошибки могут проявиться вновь.
Сообщения / Posts 17264 | Из / From: Россия
| IP / IP: IP адрес / IP address |