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

21.10. Функции работы с флагами телемеханики

А. Функция чтения флагов ТС, ТИТ, ТИИ
A=GETFLAGS(tm_type,к,кп,о,flag_mask)
где:
tm_type:
TM_STATUS           - дляТС
TM_ANALOG          - для ТИТ
ТM_ACCUM            - для ТИИ
flag_mask:
UNRELIABLE_HDW     - недостоверность аппаратная
UNRELIABLE_MANU     - недостоверность ручная
REQUESTED               - телепараметр запрошен
MANUALLY_SET          - значение телепараметра установлено вручную
LEVEL_A               - уставка 1 сработала (ТИТ), флаг 1 (ТС)
LEVEL_B               - уставка 2 сработала (ТИТ), флаг 2 (ТС)
LEVEL_C               - уставка 3 сработала (ТИТ), флаг 3 (ТС)
LEVEL_D               - уставка 4 сработала (ТИТ), флаг 4 (ТС)
INVERTED               - ТС инвертирован
RESCHANNEL          - данные взяты от резервного телепараметра
TMCTRL_PRESENT          - есть ТУ (ТС)
STATUS_CLASS_APS     - АПС (ТС)
F_ABNORMAL               - значение отличается от нормальной схемы
Значение flag_mask задается равным значению одной из указанных констант или сумме этих констант в любом сочетании
Значение A равно маске (сумме) взведённых флагов из заданной в flag_mask комбинации.
 
Б. Функция проверки взведённых флагов
А=GETFLAG(tm_type,к,кп,о,flag_mask).
 
Аналогична функции GETFLAGS, но возвращает 1, если взведён хотя бы один из флагов, иначе А = 0.
 
В. Функция установки и сброса состояния флагов.
А=SETFLAGS(tm_type,к,кп,о,flag_set_mask,flags_clr_mask).
 
Устанавливает флаги, задаваемые маской flag_set_mask и сбрасывает указанные в flags_clr_mask.
При успешном завершении функция возвращает значение А = 1.
ВНИМАНИЕ! Функция работает только в дорасчёте и не работает в выражениях.
Примеры:
A=GETFLAG(TM_STATUS,0,1,1,UNRELIABLE_HDW)
С=GETFLAGS(TM_ANALOG,0,1,1,UNRELIABLE_HDW+UNRELIABLE_MANU)
В=GETFLAG(TM_ANALOG,0,1,1,UNRELIABLE_HDW+UNRELIABLE_MANU)
SETFLAGS(TM_STATUS,0,1,1,UNRELIABLE_HDW,MANUALLY_SET)