Перейти к основному контенту

Модуль "Управления турникетом"

 

Интерфейс "Абонемент-Турникет" - программный комплекс, позволяющий связать аппаратную часть (турникеты, магнитные замки и другие устройства управляемые с помощью контроллеров UCS) и ПО Абонемент, позволяя контролировать доступ клиентов к тем или иным платным зонам объекта.

 

Информация в данной статье актуальна для версий: gkHost.exe - 3.2.0.1 и gkhostconnect.exe - 1.88.0.6 , доступных в версии Абонемент 1.128 в папках \FullVersionVer128\GKHOST\ и \FullVersionVer128\gkhostconnect\ соответственно.

Введение

Комплекс состоит из 2х составляющих:

gkHost - отвечает за сообщение с контроллерами UCS;

gkhostconnect - отвечает за связь с БД Абонемент и исполнение установленной логики контроля доступа к указанным ресурсам.

 

Данные составляющие могут быть разнесены на разные машины. Связь между ними осуществляется в рамках протокола TCP-IP.

Но, как правило, удобно их держать в рамках основного сервера Абонемент.

 

gkHost

    Данная составляющая должна быть установлена на машине, обязательно находящейся в той же подсети что и контроллеры UCS (по умолчанию - 172.31.х.х)(например, в рамках альтернативной конфигурации сетевого адаптера).
    Принципиально важно, что бы подсеть была с маской 255.255.0.0. Адрес интерфейса, на котором gkHost работает, должен быть, в их случае, от 192.168.0.1 до 192.168.31.254.

Программа не имеет графического интерфейса.

Настройки:

gkHost.ini

[log]
;Настройки логирования
  Name = gk3Host.log
  level = 10
  debugLevel = 10
  ByMonthes=1
  ByDays=1
  ByHours=1

[log.protocol]
;Настройки логирования сообщения с контроллерами
  Name  = gk3Host.protocol.log
  level = 10
  debugLevel = 10
  stampKind = 4145
  ByMonthes=1
  ByDays=1
  ByHours=1

[telnet]
;Порт используемый для связи с gkhostconnect
  port = 5556

[gk3]
;Представлены настройки подходящие, для контроллеров настроенных по умолчанию
;IP-адрес, на котором будет работать сервер протокола GK3 - должен совпадать с IP-адресом машины в подсети контроллеров UCS
  ip = 172.31.32.100
;PORT -- порт протокола GK3 
  port = 18251
;NET -- сеть протокола GK3
  net = 172.31.0.0
;MASK -- маска сети протокола GK3
  mask = 255.255.0.0
Для установки процесса службой Windows, достаточно просто запустить прилагаемый install_gkh.bat  от имени администратора.
 
 

gkhostconnect

 
Данная составляющая отвечает за связь с БД Абонемент и исполнение установленной логики контроля доступа к указанным ресурсам, как было указано выше.
 

Основные настройки в файле gkhostconnect.ini:

[AppService]
;Настройки службы создаваемой при запуске с ключом -install
;Имя сервиса
DisplayName = UCS Служба GKHOSTConnect
;Внутреннее имя сервиса (одно слово. Только латинские символы и цифры. Начинается с буквы)
ServiceName = UCSGKHOSTConnect
Description = Служба-интерфейс контроля доступа UCSGKHOSTConnect

[Application]
;Скрывать приложение автоматически, если запущено не службой
    AutoHide=0

[log]
;Настройки логирования
name=.\log\gkhostconnect.log
level=30
debuglevel=30
ByMonthes=1
ByDays=1
BYHOURS=1

[LOCK.SERVER]
;настройки на сервер блокировок Абонемент
TCPHOST = 127.0.0.1
TCPPort = 1111

[database]
;Настройки на БД Абонемент
dbname=127.0.0.1/3080:C:\_UCS\_FITNESS\IBDATA\fitness.FDB
dbuser = ucs
DBPassword = oQKH8n0BFUE=

[devices]
;Настройки применяемые для всех устройств
;Тарификацию начинаем после того как турникет провернулся: 
при CheckTurnDirect=0 - считается, что турникет провернулся в ту сторону, в которую была дана команда.  
при CheckTurnDirect=1 - (по умолчанию) дополнительный контроль. Тарификация начинается , только если от турникета получено сообщение, что он провернулся в ту сторону, в которую была дана команда.  
CheckTurnDirect=1
;Время ожидания прохода в секундах (должно быть больше, чем время ожидания в настройках турникета)
TurniquetTimeOut=10
;Обрабатывать все символы в приходящих с контроллеров треках
ToProcessAllCharsInCard=1
; Не обрабатывать следующие треки (CF = 'No Card')
NoProcessedCardsNo=CF

[gkhost]
;настройка связи с gkHost
host=127.0.0.1
port=5556
local=0

ProtocolType=0
CanSendData=1
 
Остальные секции данного ini файла специфические и требуют контроля только при использовании специфического оборудования, и описаны в статьях посвящённых данному оборудованию.
При настройке базового функционала, изменять данные секции не требуется.
 
Для запуска программы в режиме графического интерфейса, запускать её требуется с ключом -desktop.
Для установки программы в качестве службы Windows, требуется запустить её с ключом -install от имени администратора.
 

Основное окно программы:

Рис.1 Основное окно программы gkhostconnect 
 
Как видно на рис.1, основное окно программы содержит 3 основных вкладки:
GKHOST - настройки взаимодействия с gkHost;
Устройства контроля доступа - настройки взаимодействия с контроллерами UCS;
Печатные формы - печатные формы, отрабатывающие при различных событиях.
 
Также внизу окна отображается состояние связи с БД Абонемент и связи с gkHost (Пиктограмма лампочки в строке состояния: лампочка горит - связь установлена, лампочка погашена - связь не установлена).
 

Вкладка GKHOST:

Рис.2 Вкладка GKHOST основного окна gkhostconnect
 
На рис.2 представлена вкладка GKHOST. На данной вкладке, по умолчанию, настроек производить не требуется, если был корректно настроен gkhostconnect.ini 
 

Вкладка Устройства контроля доступа:

Рис.3 Вкладка Устройства контроля доступа
 
 
Вкладка Устройства контроля доступа представлена на рис.3. На данной вкладке происходит основной этап настройки gkhostconnect на конкретные контроллеры и логики контроля доступа к конкретным ресурсам в Абонемент.
Как видно на рис.3:
В левой части окна находится таблица со всеми ресурсами заведёнными в Абонемент;
В центральной части окна находится таблица со всеми контроллерами, которыми будет управлять gkhostconnect;
В правой части окна находятся свойства выбранного контроллера.
 
Соответственно, для внесения нового контроллера в список, требуется:
  • Выбрать ресурс к которому будет привязан данный контроллер в левой части окна.
  • Нажать кнопку "+" в центральной части окна.
  • Далее произвести настройку свойств добавленного контроллера в правой части окна.
  • Сохранить внесённые изменения кнопкой "" или кнопкой "Сохранить".

 

Основные свойства контроллера:

  • device,relay - предпоследняя и последняя цифра IP-адреса контроллера в десятичном формате. (например device=32 и relay=20, для IP=172.31.32.20);
  • Тип устройства - указывает, какое устройство подключено к контроллеру;
  • Направление прохода - направление прохода контроллируемое данным контроллером;
  • Кого пускать - самоговорящее название свойства;
  • Проход группы - разрешён ли групповой проход для одного клиента, если есть таким образом настроенные абонементы.
Из остальных свойств отметим также следующие:
  • Генерировать событие при разрешённом доступе - устанавливается в случае, если устройство подключённое к контроллеру не возвращает факт прохода. В таком случае, проход будет считаться осуществлённым в момент разрешения прохода и человек будет введён в ресурс, независимо от того, прошёл ли он;
  • Команда для входа, Команда для выхода, Команда для входа/выхода - комманды посылаемые на контроллер, для выполнния соответствующих действий. Определяются прошивкой контроллера. (Значения по умолчанию - для импульсного разрешения прохода для прошивки gk3_trn_3_0_0_19_9600x2_hex).
 
Все остальные свойства имеют говорящие названия, и настраиваются согласно схеме обслуживания клиентов.
 

Важно! Декодирование треков карт

Для декодирования треков приходящих со считывателей, подключённых к контроллерам, gkhostconnect использует decodecards.dll, настраиваемый через decodecards.ini .
Так как треки приходящие с контроллеров часто не совпадают в точности с треками получамыми со считывателей на рабочих местах, требуется дополнительно поризвести тестирование и настройку декодирования.
Соответственно, использовать decodecards.ini настроенный под Абонемент или TCPCardReader не получится - декодированные треки будут отличаться от заведённых в Абонемент, и gkhostconnect не сможет найти клиента в БД.