Увага! Всі конференції починаючи з 2014 року публікуються на новому сайті: conferences.neasmo.org.ua
Наукові конференції
 

Програмування системи контролю доступу для регулювання посадки та висадки пасажирів в аеропорту

Автор: 
Тимчук Володимир (Київ)

Система контролю доступу (СКД) – одна з важливіших систем організації безпеки об’єкту. Використання цієї системи дає можливість контролювати доступ людей на об’єкт, проводити моніторинг їх переміщення, отримувати реальні  данні про час прибуття і вибуття кожного конкретного співробітника або відвідувача. Як наслідок, можна отримати упорядковані данні, котрі допомагають керівництву та службі охорони більш ретельно слідкувати за порядком на території, збереженням матеріальних цінностей, протидіяти виникненню нештатних ситуацій. До складу системи контролю доступу  входить набір засобів відеоспостереження для моніторингу внутрішніх приміщень і периметру об’єкта, а також пристроїв, що забороняють доступ на об’єкт небажаним відвідувачам та обмежують пересування співробітників і гостей по території. Вся інформація з цих приладів передається в контрольний центр до оператора. При виникненні нештатної ситуації оператор надсилає сигнал на центральний пульт охорони та приймаються заходи реагування по усуненню виниклих порушень. 

Для аеропорту можна побудувати систему прильоту та відльоту пасажирів для одного виходу, причому побудувати технічне завдання наступним чином:

  • Потоки пасажирів на приліт та відліт не повинні перетинатися;

  • При відчинених проходах оператор не повинен отримувати повідомлення тривоги про відчинення на тривалий час, що більший ніж дозволено для проходу співробітника;

  • Маневреність та адаптація, для різних ситуацій висадки/посадки, часу дозволеного проходу оператором, або працівником, що обслуговує потоки пасажирів.

Для виконання даних умов використаємо СКД фірми Schneider Electric на базі контролерів ACX-57**, та програмного забезпечення Andover Continuum.

З клавіатури (KP) підключеної до ACX можна відправляти додаткові дані до контролера, який, в свою чергу, передає його в простій, вбудованій в Andover Continuum, мові програмування Plain English (РЕ). Ця можливість дозволяє використовувати КР для відправки функціонального «повідомлення» у програму РЕ для будь-яких цілей.

Наприклад:

  • Користувач може ввести рядок, програма РЕ повинна вимкнути світло чи вентилятор, або для управління іншого кліматичного обладнання

  • Користувач може ввести рядок, що вказує його цілі в даній області. Програма РЕ може підхопити цю інформацію в якості вхідних даних для відстеження причин діяльності в даному місці.

Перш ніж буде змога використовувати клавіатуру для введення в програму значень, необхідно створити простий скрипт, що обробляє рядок [1]:

KeypadString атрибут дверей. Програма зчитає цей атрибут, щоб отримати вміст рядка що введений з клавіатури.

KeypadCommand атрибут дверей. Програма встановлює дане числове значення для забезпечення зворотного зв’язку за допомогою світлодіодів рідера/клавіатури з особою, що водить код, для відображення статусу операції.

Введення рядка з клавіатури

Процес введення має наступні кроки:

Користувач приставляє посвідчення доступу або PIN-код до зчитувача

Контролер, що обслуговує даний зчитувач приймає облікові дані, і двері відчиняються

Протягом 3-х секунд після розблокування дверей користувач вводить два послідовних символи (**) на клавіатурі, щоб увійти в активний режим введення послідовності.

Світло діод клавіатури блимає повільно, сигналізуючи про готовність до введення даних

Користувач вводить цифровий рядок довжиною до 30 символів (не включаючи дві зірочки), а потім завершує введення (#). Наприклад, **10#

Контролер присвоює атрибуту KeypadString введене значення (наприклад, 10).

Правила введення рядка:

Щоб ввести рядок при використанні клавіатури застосовуються наступні правила:

Після того як двері відкриті для доступу більше ніж на 3 секунди до того як користувач вводить дві зірочки, двері виходять з режиму введення рядка. Користувач повинен почати процес введення знову.

Якщо користувач вводить більше 30 символів (не враховуючи перші дві зірочки), зчитувач визначає введення до 31-го знаку. Він міняє 30-й символ на «Т», вказуючи розділення і відправляє рядок в атрибут KeypadString ( # не враховується). Наступн символи введені після 30-го просто ігноруються.

Наприклад, якщо користувач вводить ** 123456789012345678901234567890123, зчитувач посилає 12345678901234567890123456789T в атрибут KeypadString.

Користувач може ввести зірочки в даному рядку, якщо це необхідно. Ці зірочки перетворюються на розділювальні елементи при відправленні в атрибут KeypadString. Наприклад: 69 * 8 * 6310 перетвориться в 69.8.6310 при відправці до атрибуту KeypadString.

Якщо пройшло більш ніж 4 секунди між натисканням клавіш, зчитувач виходить з режиму введення послідовності. Процес введення починається спочатку.

 

 

Якщо користувач притуляє карту доступу до кард-рідера, а зчитувач виходить з режиму послідовності, користувач починає процедуру введення спочатку.

Зворотній зв'язок з дверима

Після того як програма PE отримує рядок введення та інтерпретує його значення, програма PE призначає відповідне значення атрибута KeypadCommand. Одне з таких значень передається назад до дверей через KeypadCommand [2]:

0 - відключити клавіатуру на вхідних дверях.

1 - Очистити рядок.

2 - Визнати введення послідовності (успіх).

3 – Невизначена послідовність (fail).

255 - Вимкнення введення з клавіатури.

Примітка: Видалення рядка за допомогою команди Clear рекомендується після кожного введення.

На підставі числового значення, що повертає атрибут KeypadCommand, програма РЕ використову світло діоди зчитувача, щоб показати користувачеві чи введений рядок вірний чи не дійсний. Світлодіоди вказують так само як і при проведенні дійсною чи недійсною карткою доступу чи введенні правильного/неправильного PIN-коду.

Програма PE для регулювання відчинених дверей не певний час

Наступний код програми використовується, щоб відчинити двері для безперешкодного доступу на певний час часу, зазначений в рядку введення клавіатури. Наприклад, коли користувач вводить 100 * 3600, "*" отримує записується як ".", тому рядок введення з клавіатури містить 100,3600.

Програма розпізнає 100, як код розблокування і 3600, щоб розблокувати двері (в секундах, 3600 секунд – година), при цьому внесення 100 * 3600 на клавіатурі повідомляє програмі PE, розблокувати двері в протягом години, а інші двері заблокувати.

 

String Str

Numeric KypdCode, DrUnlockTime, SeparatorPos

 

Line Init

Jetway1 KeypadCommand = 255

Jetway1 KeypadCommand = 1

Goto WaitForKypdCode

 

Line WaitForKypdCode

If len(Jetway1 KeypadString) > 0 then Goto ProcessKypdCode

 

Line ProcessKypdCode

SeparatorPos = search(Jetway1 KeypadString, ".")

Str = left(Jetway1 KeypadString, SeparatorPos)

KypdCode =StrToNum(Str)

 

Str = right(Jetway1 KeypadString, (len(Jetway1 KeypadString) - SeparatorPos))

 

DrUnlockTime = StrToNum(Str)

 

If KypdCode = 100 and DrUnlockTime > 0 then Goto UnlockDoor Else Goto InvalidKypdCode

 

Line UnlockDoor

Jetway1 KeypadCommand = 2

Jetway1 TimeUnlock = DrUnlockTime

Jetway2 KeypadCommand = 255

Goto ClearStr

 

Line InvalidKypdCode

Jetway1 KeypadCommand = 3

Goto ClearStr

 

Line ClearStr

Jetway1 KeypadCommand = 1

Goto WaitForKypdCode

Аналогічно можна вказати і інші двері, що підлягають контролю не тільки при автоматизованому управлінні, але й з втручанням оператора безпосередньо біль зчитувача. Програмний код працює тільки з контролерами ACX, та програмним забезпеченням Andover Continuum з власною мовою програмування Plain English.

Література:

1. Andover Controls Corporation, Continuum Security - Plain English Programming Student Guide, Version: 4, July 2003, 348.

2. TAC, Continuum Security - Plain English Programming, Version: 1, June, 2006, 200.

 

 

Науковий керівник: кандидат технічних наук, Зінченко Сергій Анатолійович