SDK Guard 1.0.1
SDK для связи с сетевыми контроллерами Iron logic
События контроллера

Список событий предназначен для хранения информации о проходах и о других событиях контроллера. Список храниться в контроллере в памяти FLASH фиксированной длины (банк событий). Размер банка событий можно определить с помощью функции ilg_converter_get_controller_info или функции ilg_controller_get_info (параметр nBankSize).

Максимальное количество событий MaxEvents = nBankSize / 8.

Память циклически перезаписывается новыми событиями после её заполнения, новое событие запишется на место самого старого.


Рис. 1. Банк событий. Бирюзовым цветом выделены заполненные ячейки с информацией о событии. Белым - пустые ячейки.

Указатель записи EventWriteIdx определяет куда будет записано следующее событие. Указатель чтения EventReadIdx определяет откуда следует читать события.

Значения этих указателей можно определить с помощью функции ilg_controller_read_rtc_params, установить указатель чтения можно функцией ilg_controller_write_event_read_idx.

При инициализации контроллера оба указателя устанавливаются в 0. При очередном событии информация о событии заносится в ячейку по указателю записи, затем указатель увеличивается на 1 ячейку (на 8 байт), а указатель чтения не изменяется до тех пор, пока буфер не заполняется до конца и указатель записи перемещается в 0 - в этом случае указатель чтения также увеличивается на 1 ячейку. Далее при записи нового события будут увеличиваться на 1 ячейку оба указателя одновременно. Таким образом в буфере всегда останутся MaxEvents-1 событий.

Количество новых событий NewCount можно вычислить по формуле:

если EventReadIdx <= EventWriteIdx, то NewCount = (EventWriteIdx - EventReadIdx),

иначе NewCount = (MaxEvents - EventReadIdx + EventWriteIdx).

Для чтения событий предназначена функция ilg_controller_read_events. Записи событий имеют разный формат, поэтому для определения формата предназначена функция ilg_controller_decode_event_type.

Тип события Формат Описание
ILG_EVENT_UNKNOWN - Неизвестное событие. Когда не удалось определить тип и формат события
ILG_EVENT_BUTTON_OPEN ILG_EVENT_FORMAT_PASSAGE Открыто кнопкой изнутри.
ILG_EVENT_KEY_NOT_FOUND ILG_EVENT_FORMAT_PASSAGE Ключ не найден в банке ключей.
ILG_EVENT_KEY_OPEN ILG_EVENT_FORMAT_PASSAGE Ключ найден, дверь открыта.
ILG_EVENT_KEY_ACCESS ILG_EVENT_FORMAT_PASSAGE Ключ найден, доступ не разрешен.
ILG_EVENT_REMOTE_OPEN ILG_EVENT_FORMAT_PASSAGE Открыто оператором по сети.
ILG_EVENT_KEY_DOOR_BLOCK ILG_EVENT_FORMAT_PASSAGE Ключ найден, дверь заблокирована.
ILG_EVENT_BUTTON_DOOR_BLOCK ILG_EVENT_FORMAT_PASSAGE Попытка открыть заблокированную дверь кнопкой.
ILG_EVENT_NO_OPEN ILG_EVENT_FORMAT_PASSAGE Дверь взломана.
ILG_EVENT_NO_CLOSE ILG_EVENT_FORMAT_PASSAGE Дверь оставлена открытой (тайм-аут).
ILG_EVENT_PASSAGE ILG_EVENT_FORMAT_PASSAGE Проход состоялся.
ILG_EVENT_REBOOT ILG_EVENT_FORMAT_TIME Перезагрузка контроллера.
ILG_EVENT_BUTTON_BLOCK ILG_EVENT_FORMAT_PASSAGE Заблокирована кнопка открывания.
ILG_EVENT_DBL_PASSAGE ILG_EVENT_FORMAT_PASSAGE Попытка двойного прохода.
ILG_EVENT_OPEN ILG_EVENT_FORMAT_PASSAGE Дверь открыта.
ILG_EVENT_CLOSE ILG_EVENT_FORMAT_PASSAGE Дверь закрыта.
ILG_EVENT_POWER_OFF ILG_EVENT_FORMAT_TIME Изменение состояния питания: пропало питание.
ILG_EVENT_POWER_ON ILG_EVENT_FORMAT_TIME Изменение состояния питания: появилось.
ILG_EVENT_LOCK_CONNECT ILG_EVENT_FORMAT_PASSAGE Включение замка (триггер).
ILG_EVENT_LOCK_DISCONNECT ILG_EVENT_FORMAT_PASSAGE Отключение замка (триггер).
ILG_EVENT_ELECTROCONTROL ILG_EVENT_FORMAT_STATE Изменение состояния электропитания.
ILG_EVENT_CONTROLLER_MODE ILG_EVENT_FORMAT_CONTROLLER_MODE Переключение режима контроллера.
ILG_EVENT_FIRE ILG_EVENT_FORMAT_STATE Изменение состояния Пожара.
ILG_EVENT_SECURITY ILG_EVENT_FORMAT_STATE Изменение состояния Охраны.
ILG_EVENT_GATEWAY_PASS ILG_EVENT_FORMAT_PASSAGE Совершен вход в шлюз.
ILG_EVENT_GATEWAY_BLOCK ILG_EVENT_FORMAT_PASSAGE Заблокирован вход в шлюз (занят).
ILG_EVENT_GATEWAY_ALLOWED ILG_EVENT_FORMAT_PASSAGE Разрешен вход в шлюз.
ILG_EVENT_ANTIPASSBACK ILG_EVENT_FORMAT_PASSAGE Заблокирован проход (Антипассбек).
ILG_EVENT_HOTEL40 ILG_EVENT_FORMAT_STATE Hotel (Изменение режима работы).
ILG_EVENT_HOTEL41 ILG_EVENT_FORMAT_STATE Hotel (Отработка карт).
ILG_EVENT_KEY_NUMBER ILG_EVENT_FORMAT_KEY_NUMBER Номер ключа.

Форматы

Формат Описание
ILG_EVENT_FORMAT_PASSAGE Дата и время + Направление прохода + Адрес ключа (опционально)
ILG_EVENT_FORMAT_TIME Дата и время
ILG_EVENT_FORMAT_STATE Дата и время + Флаги состояния + Код условия
ILG_EVENT_FORMAT_CONTROLLER_MODE Дата и время + Режим контроллера + Флаги состояния + Код условия
ILG_EVENT_FORMAT_KEY_NUMBER Номер ключа. Дополняет другие события.

Событие ElectroControl

Флаги состояния:

Бит Маска Описание
0 0x01 Состояние питания: =1 вкл, =0 выкл
1 0x02 Активно включение по временной зоне
2 0x04 Включено по команде по сети
3 0x08 Идет отработка задержки
4 0x10 Карта в поле контрольного считывателя

Код условия, вызвавшего срабатывание:

Значение Описание
0x01 Поднесена валидная карта с другой стороны (для входа) запущена задержка.
0x03 Включено командой по сети.
0x04 Выключено командой по сети.
0x05 Включено по временной зоне.
0x06 Выключено по временной зоне.
0x07 Поднесена валидная карта к контрольному устройству.
0x09 Выключено после отработки тайм-аута.
0x10 Выключено по срабатыванию датчика выхода.

Событие ILG_EVENT_CONTROLLER_MODE

Режим:

Значение Описание
0 Норма
1 Блок
2 Свободный
3 Ожидание

Флаги состояния:

Бит Маска Описание
2 0x04 1 – включен по временной зоне
3 0x08 1 – включен командой по сети
4 0x10 1 – включен картой

Код условия, вызвавшего срабатывание:

Значение Описание
0x01-0x04 Установка командой по сети (режим +1).
0x05 Началась временная зона.
0x06 Окончилась временная зона.
0x08 Установка картой.
0x81-0x84 Отказано оператору по сети.
0x88 Отказано изменению картой.

Событие ILG_EVENT_FIRE

Флаги состояния:

Бит Маска Описание
0 0x01 Состояние пожарного режима: =1 вкл, =0 выкл.
1 0x02 Активен пожарный режим по входу FIRE.
2 0x04 Активен пожарный режим по превышению температуры.
3 0x08 Активен пожарный режим по внешней команде.

Код условия, вызвавшего срабатывание:

Значение Описание
0x00 Выключено по сети.
0x01 Включено по сети.
0х02 Выключено по входу FIRE.
0x03 Включено по входу FIRE.
0x04 Выключено по датчику температуры.
0x05 Включено по датчику температуры.

Событие ILG_EVENT_SECURITY

Флаги состояния:

Бит Маска Описание
0 0x01 Состояние охранного режима: = 1 вкл, =0 выкл.
1 0x02 Состояние тревоги.
2 0x04 Тревога по входу ALARM.
3 0x08 Тревога по тамперу.
4 0x10 Тревога по датчику двери.
5 0x20 Тревога включена по сети.

Код условия, вызвавшего срабатывание:

Значение Описание
0 Выключено по сети.
1 Включено по сети.
2 Выключено по входу ALARM.
3 Включено по входу ALARM.
4 Выключено по тамперу.
5 Включено по тамперу.
6 Выключено по датчику двери.
7 Включено по датчику двери.