Настройка декодирования карт Em-marine (кратко)
Для декодирования необходимо скачать и разархивировать утилиту TcpCardReader из базовой поставки ПО Абонемент. Далее необходимо настроить TcpCardReader.ini, в моем случае настройки выглядят так :
[application]
AutoStart = 1
;Автоматически стартовать программу после запуска
AutoHide = 1
;Сворачивать программу после запуска
[setup]
COMPORTCOUNT=1
;Количество подключений к СОМ портам.
[TCP]
PORT=7760
IP=0.0.0.0
;TCP порт и адрес сетевого интерфейса, к которому будет производиться подключение клиентов
[READER1]
COMPORT=7
COMPORTPARAMS=baud=9600 data=8 parity=N stop=1
;Настройки первого подключения к сом порту. Номер и параметры СОМ порта.
Prefix=;
;Строка, которая передаётся клиентам перед первым прочтенным символом. В данном примере добавится символ: «точка с запятой»
Postfix=?
;Строка, которая передаётся клиентам после последнего прочтенного символа. В данном примере добавится символ: «Вопросительный знак»
useDecodeCards=1
;0 - не использовать декодирование decodecards.dll, 1 - использовать декодирование decodecards.dll
StartTermChars=M
;Используется, если useDecodeCards=1 Признак начала трека для декодирования
FinishTermChars=?#13;#10;#0;
;Используется, если useDecodeCards=1 Признак конца трека для декодирования
[LOG]
level=30
debuglevel=30
showlog=1
;Уровни логирования. Используются значения от 0 до 30
[TCPCARDREADER]
Prefix=;
;Строка, которая передаётся клиентам перед первым прочтенным символом. В данном примере «точка с запятой» появится перед треком карты (что служит указателем начала для decodecards.dll)
Postfix=?
;Строка, которая передаётся клиентам после последнего прочтенного символа. В данном примере «Вопросительный знак» появится после трека карты (что служит указателем конца для decodecards.dll)
Настройки для конкретного считывателя в секции с именем READER и без пробелов любая цифра, например:
[READER1]
COMPORT=7
COMPORTPARAMS=baud=9600 data=8 parity=N stop=1
Prefix=;
Postfix=?
useDecodeCards=1
StartTermChars=i
FinishTermChars=?#13;#10;#0;
COMPORT - номер com порта на котором расположен считыватель(определяется через диспетчер устройств).
Prefix и Postfix символы которые будут добавит TcpCardReader добавит к треку перед отправкой клиентам.
useDecodeCards определяет будет ли использоваться декодирование с использованием decodecards.dll
При включение декодирования используются параметры:
StartTermChars - определяет символ после которого начинается трек
FinishTermChars - определяет набор символов после одного из которых заканчивается трек.
В данном примере мы настраиваем использование считывателя под карты Em-Marine:
включаем декодирование useDecodeCards=1
и определяем в StartTermChars символ "i" и FinishTermChars символы ?#13;#10;#0;
В decodecards.ini в секции [mask]
[mask]
card_em = ne*
В ней настраиваются маски карт в формате - ИМЯ МАСКИ=МАСКА
и в секции с именем ИМЯ МАСКИ настраиваем алгоритм декодирования
[cards.card_em]
ExcludedPrefix=ne[
code=2
CardDecodeType = MASK
mask=****dddddddd
ExcludedPrefix исключаем из работы алгоритма префикс "ne["
code=2
CardDecodeType - алгоритм декодирования MASK
mask - применяемая маска ****dddddddd
//Abonementmanger
//gkhostconnect
//Использование TCPCardReader
//connecter