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

Настройка декодирования карт 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;

 image-1630595149547.png   

В 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