Статус параметра
Состояние EDGE контроллера
Под состоянием EDGE контроллера подразумевается наличие связи с агентами платформы (модуль vmon, ПО-дрон), которые устанавливается на объектовые контроллеры и взаимодействуют с платформой по протоколу, приведенному ниже.
Потеря связи с EDGE контроллером
Потеря связи с EDGE контроллером фиксируется в том случае, если от него не приходит информация в течение заданного промежутка времени.
Для каждого контроллера устанавливается интервал подтверждения работоспособности контроллера (HealthTimeOut).
Один раз за этот интервал EDGE контроллер посылает на сервер специальное сообщение (1000). На сервере запоминается метка времени этого сообщения - метка времени последнего подтверждения работоспособности контроллера (LastDate).
Периодически проверяется условие:
[текущая метка времени] > LastDate + HelthTimeOut
Если условие выполняется, то для соответствующего EDGE контроллера устанавливается состояние «неработоспособен».
Восстановление связи с контроллером
Восстановление связи с контроллерами фиксируется:
при первом получении от него события подтверждения работоспособности.
при получении измерения от контроллера.
Если интервал потери связи больше интервала подтверждения работоспособности контроллера, то в журнал фиксации потери
связи с контроллерами помещается соответствующая запись.
Событие 2000
Модуль periodic выполняет задание по контролю за временем потери связи с контроллером. Если связь с контроллером отсутствует больше 1 часа, создается системное событие 2000 о потери связи с контроллером более 1 часа.
Событие 2022
Модуль periodic выполняет задание по контролю за временем потери связи с контроллером. Если связь с контроллером отсутствует больше 2 часа, создается системное событие 2022 о потери связи с контроллером более 2 часов.
Состояние датчика
Состояние датчика определяется двумя способами:
- приход события 1019 - сообщение от агента, о том что по датчику нет опроса его параметров;
- по состоянию всех параметров датчика.
Событие 1019
Для точного определения принадлежности параметров к устройству, от которого приходит сообщение о недоступности реализован следующий алгоритм:
- В конфигурацию контроллера добавлены 2 параметра
- UnitId: int - идентификатор устройства ,
- UnitName - имя устройство (DeviceConnect.connectname).
- При отправке конфигурации на контроллер, сервер формирует конфигурацию с учетом этих параметров.
- Драйвер (модуль) при получении ошибки чтения устройства в очередь ошибок
(/device/error)
добавляет сообщение, в котором в текст сообщения включается имя устройство(DeviceConnect.connectname)
из конфигурации . - Модуль EDGE подписывается на очередь ошибок
(/device/error)
. Получив сообщение, в файле конфигурации находит первый параметр сUnitName
из сообщения и определяет соответствующийUnitId
и используя его отправит сообщение о событии
E;1019;<время>;<UnitId (идентификатор устройства)>
Сервер, получив событие 1019 переводит устройство с переданным идентификатором в состояние не исправно. Для всех параметров этого устройства устанавливает значение NULL.
Устройство переводится в состояние исправно при получении любого значения параметра с данного устройства
Состояние параметра
Для каждого измеряемого параметра в любой момент времени определено состояние работоспособности – DeviceState:
Состояние | Описание состояния | Примечание |
---|---|---|
0 | не исправен | текущее значение параметра недостоверно |
1 | исправен | текущее значение параметра достоверно |
Состояние параметра определяется, исходя из достоверности поступающих значений соответствующего измеряемого параметра.
Переключение состояний работоспособности датчика осуществляется согласно следующей таблице:
Признак достоверности измерения (validity) | Текущее состояние (DeviceState) | Выполняемые операции |
---|---|---|
True | 1 | нет действий |
True | 0 | регистрация работоспособности датчика |
False | 1 | регистрация отказа датчика |
False | 0 | нет действий |
Регистрация отказа параметра
Данная операция выполняется в контексте заданного контроллера и его измеряемого параметра при поступлении недостоверного измерения.
Недостоверность значений приходит от агента (контроллера)
При этом должны быть совершены следующие действия:
- фиксация в журнале неисправностей датчиков измеряемых параметров ;
- фиксация изменения состояния (на -1) в описателе измеряемого параметра (ContrDeviceParam) и в журнале состояний измеряемых параметров;
- в зависимости от типа параметра запись пустого измерения (null) в таблицу измерений или таблицу сигналов ;
- для каждого вычисляемого параметра, в расчете которых используется заданный измеряемый параметр, фиксация изменения его состояния (на -1) в описателе вычиляемого параметра и в журнале состояний вычисляемых параметров , а также запись пустого значения (null) в таблицу значений вычисляемых параметров .
Регистрация работоспособности параметра
Данная операция также выполняется в контексте заданного контроллера и его измеряемого параметра.
При поступлении измерения от датчика регистрация его работоспособности выполняется в процессе обработки измерения.