This is topic Анализ связи со счётчиком СЭТ-4ТМ03 in forum Драйверы / Device Drivers at Форум TRACE MODE: техническая поддержка.


To visit this topic, use this URL:
http://forum.adastra.ru/ultimatebb.php/ubb/get_topic/f/43/t/000170.html

Posted by Haven (Участник № / Member № 6817) on :
 
Добрый день, уважаемая служба поддержки. Работаем со счётчиком, используя универсальный механизм обмена. Как корректно определить наличие или отсутствие связи с электросчётчиком?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Можно следить за состоянием атрибута 2, A канала CGR_main. Расшифровка битов дана в нашей справке: Обмен с контроллерами и УСО -> Обмен по встроенным протоколам -> Универсальный механизм обмена с электросчетчиками -> Диагностика в каналах подтипа 102 .
 
Posted by Haven (Участник № / Member № 6817) on :
 
Спасибо.
 
Posted by Haven (Участник № / Member № 6817) on :
 
Извините за дурацкий вопрос, но какой атрибут канала CGR_main Вы имели в виду: 1,А или 2,In ? (В справочной системе тоже написано про атрибут"2,А", но такого атрибута у каналов нет...)
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Извините, это описка в документации.
Речь идет об атрибуте 1 (A) - АППАРАТНОМ значении.
 
Posted by Haven (Участник № / Member № 6817) on :
 
Ага, понятно. Но вот какое дело: я работаю на компе разработчика, к которому реальная аппаратура не подключена. В этом случае я ожидаю, что в каком-то атрибуте канала счётчика 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)
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
CGR_main при корректной инициализации порта с правильным назначением, но при отсутствии оборудования будет иметь в атрибуте 004, I недостоверность "_F", а в атрибуте 240, ERR сообщение "open link".

В Вашем случае или не инициализирован порт, или ему задано неправильное назначение, или иная погрешность в проекте. Возможно, Вы наблюдаете не канал CGR_main, а другой CALL, не привязанный к источнику.
 
Posted by Haven (Участник № / Member № 6817) on :
 
Подключение к счётчику сделано согласно видеоролику.
Что Вы имеете в виду под "корректной инициализацией порта"? К счётчику проект подключается через COM5, и на "боевом" компе нормально читает данные со счётчика. Считается ли в этом случае, что порт правильно инициализирован?

Однако, при запуске проекта на компе разработчика, к которому аппаратура не подключена и даже не определено ни одного COM-порта, в служебной панели я наблюдаю именно те значения атрибутов, которые я указал в предыдущем сообщении.

Для теста я создал простенький проект, в котором всего лишь определил источник, COM-порт и создал канал CGR_main. После запуска в служебной панели МРВ я вижу все те же значения, не индицирующие отсутствие связи с аппаратурой. Можно ли прислать этот проект, чтобы Вы указали на ошибку или подсказали, как правильно инициализировать порт?
 
Posted by Haven (Участник № / Member № 6817) on :
 
Извините, вдогонку: на "боевом" компе действительно при обрыве связи в атрибуте 004, I - недостоверность "_F", а в 1,А для одного счётчика 17007, а в другом - 37007 (а при наличии связи у обоих 7007).
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
При инициализации порта коммуникации ("открытии") устанавливаются все его параметры: длина слова, число стоп-битов, установка четности, скорость обмена.

Если порт присутствует в системе, виден в диспетчере устройств Windows, но устройство не подключено, будут предприниматься попытки подключения, каналы будут работать, появится недостоверность.

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

Детальная диагностика по обмену по RS будет писаться в профайлерный протокол в папке узла проекта (<Имя проекта>_<№ узла проекта>.txt), если установить в эту папку конфигурационный файл *.cnf (см. справку: Приложения - Задание параметров работы мониторов - Задание параметров работы мониторов) с ключом DEBUGON=200
 
Posted by Haven (Участник № / Member № 6817) on :
 
ОК, спасибо, понятно. Непонятно только, почему при нормальном подключении и получении данных со счётчика содержимое (1,А) для GCR_main 7007, т.е. значение разрядов 12-15 = 7 (а такое значение в документации вообще не описано).
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
В аппаратном значении отображается число в десятичном формате:
7007dec = 1B5Fhex

Надо также учитывать, что обнаруженные ошибки могут автоматически не сбрасываться.
Если у канала признак НЕДОСТОВЕРНОСТИ не взведен, значит, очередной запрос прошел корректно. В аппаратном значении сохранились исторические данные диагностики. Можно попытаться сбросить эти значения. При неустойчивом обмене эти ошибки могут проявиться вновь.
 


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2