НТК Интерфейс
ПО ОИК Диспетчер НТ. ПО сервер версия 3.Х.
          Руководство пользователя
×
Меню

3.1.8.10. v_event_log

Таблица содержит данные журнала событий.
Журнал событий, index = update_time
SQL column
type
Описание
update_time      
timestamp    
Метка времени
elix
bytea
Индекс записи (16 bytes)
rec_type     
smallint
Тип события;
rec_type_name
text    
Расшифровка типа события;
rec_state    
smallint
Состояние события;
cmd_result   
smallint
Результат команды ТУ;
rec_state_text
text    
Расшифровка состояния события;
fix_time     
timestamp
Время фиксации события;
rec_text     
text    
Текст события;
user_name    
text    
Имя пользователя;
ext_kind     
smallint
Внутренняя информация расширенных событий;
ext_source   
smallint
Внутренняя информация расширенных событий;
ext_binary   
bytea   
(variable bytes)
ts_add_flags 
bit(8)  
Внутренние флаги ТС событий;
ack_time     
timestamp
Время квитирования;
ack_user     
text    
Пользователь, выполнивший квитирование;
importance
smallint
Уровень важности;
Общие колонки для всех телепараметров
name       
text     
Наименование телепараметра
tm_type    
smallint 
Тип телепараметра 0=ТС, 1=ТТ, 2=ТИ
tm_type_name
text     
Наименование типа
tma        
int      
Адрес, ((uint32)ch << 24) + ((uint32)rtu << 16) + point
tma_str    
varchar(20)
'Адрес в формате '#{TC|TT|TI}Канал:КП:Объект'
Примеры: '#TT:0:1:1', '#TC:0:1:1' (символы латинские)
Если тип телепараметра одназначно определен для данной колонки данной таблицы, то в условиях запроса можно задавать значение в сокращенном виде, например: 
select * from oik_cur_tt where tma_str = '0:1:1'
ch
smallint 
Канал
rtu        
smallint 
КП
point      
smallint 
Объект
class_id
smallint 
Класс телепараметра
group_id   
smallint 
Группа телепараметра;
flags      
int      
Информация о флагах параметра.
#define UNRELIABLE_HDW     0x0001   // Недостоверность аппаратная
#define UNRELIABLE_MANU    0x0002   // Недостоверность от пользователя
#define REQUESTED          0x0004   // Идет опрос
#define MANUALLY_SET       0x0008   // Установлено вручную
#define LEVEL_A            0x0010   // Сработала уставка первого уровня
#define LEVEL_B            0x0020   // ------- " ------- второго уровня
#define LEVEL_C            0x0040   // ------- " ------- третьего уровня
#define LEVEL_D            0x0080   // ------- " ------- четвертого уровня
#define INVERTED           0x0100   // ТС инвертируется при занесен
#define RESCHANNEL         0x0200 // Данные взяты с резервного канала
#define TMCTRL_PRESENT     0x0400 // Есть команда - volatile [ТС]
#define HAS_ALARM          0x0400 // Есть уставки - volatile [ТИТ]
#define STATUS_CLASS_APS   0x0800 // АПС [ТС]
#define TMSTREAMING        0x1000 // Передавать со временем
#define F_ABNORMAL         0x2000   // Отлично от нормального
#define F_UNACKED          0x4000   // ТС несквитирован
#define F_IV               0x8000   // 101 IV
Пример:
select LPAD(to_hex(flags),8,'0'), * from oik_cur_tt where (flags & x'3'::int) <> 0;
select LPAD(to_hex(flags),8,'0'), * from oik_cur_tt where (flags & x'0400'::int) <> 0;
 Общие колонки для телесигналов
v_code
smallint
Код значения;
v_s2
smallint
 
Общие колонки для телеизмерений аналоговых
v_val      
real     
Значение;
v_code
smallint
 
Уставки
alarm_id
smallint
уставка -> [oik_alarms].alarm_id
alarm_active
boolean
[oik_alarms].active
 
Обязательные условия в запросе:
[ oik_event_log ] :            update_time
[ oik_event_log_elix ] :    elix
 
Примеры запросов:
SELECT * FROM oik_event_log
WHERE update_time > '2017-04-26 12:00:00'::timestamp
AND update_time < '2017-05-1 12:00:00'::timestamp;
 
SELECT elix, right(elix::text,16) as elix_right,
update_time, rec_type, rec_type_name, rec_state, cmd_result, rec_state_text,
fix_time, rec_text, user_name, ext_kind, ext_source, ext_binary, ts_add_flags,
flags, LPAD(to_hex(flags),8,'0') as flags,
v_s2, right(LPAD(to_hex(v_s2::int),4,'0'),4) as v_s2,
name, tma_str, class_id, group_id, v_code, v_val, alarm_id, alarm_active
FROM oik_event_log_elix
WHERE elix >= '\x00 00 00 00 00 00 00 00  1c 30 00 00 00 00 00 00'
LIMIT 100;