Регистратор ШТРИХ-ФР-К
Версия 01
логи при попытке провести платеж
INFO 23.06.2010 15:02:41,718 : server: run 'CmdTcpServer v 5.0 build 136 from 13.05.2010 11:49:42' with command 'start'
INFO 23.06.2010 15:02:41,750 : server: driver: ru.bitel.frk.driver.shtrih2.Driver
INFO 23.06.2010 15:02:41,750 : server: driver-status: portName=COM1, baudRate = 4800
INFO 23.06.2010 15:02:41,781 : server: started: ServerSocket[addr=0.0.0.0/0.0.0.0,port=0,localport=9876]
DEBUG 23.06.2010 15:02:53,187 : server: connection accepted #1: Socket[addr=/10.147.231.77,port=58713,localport=9876]
TRACE 23.06.2010 15:02:53,203 : thread#1: <- COMMAND
TRACE 23.06.2010 15:02:53,343 : thread#1: <- 28754527232090226628476601745952
TRACE 23.06.2010 15:02:53,343 : thread#1: <- check
DEBUG 23.06.2010 15:02:53,343 : thread#1: try 'check' command...
TRACE 23.06.2010 15:02:53,343 : thread#1: <- 1
TRACE 23.06.2010 15:02:53,343 : thread#1: <- 1.0
TRACE 23.06.2010 15:02:53,343 : thread#1: <- ENDCOMMAND
TRACE 23.06.2010 15:02:53,343 : thread#1: -> ECHO
TRACE 23.06.2010 15:02:53,343 : thread#1: -> 28754527232090226628476601745952
DEBUG 23.06.2010 15:02:53,343 : Driver: check(clientsumma=1.0):
TRACE 23.06.2010 15:02:53,421 : shtrih-driver: send ENQ
TRACE 23.06.2010 15:02:53,421 : shtrih-driver: getted NAK
TRACE 23.06.2010 15:02:53,421 : shtrih-driver: try getStatusShort()
TRACE 23.06.2010 15:02:53,421 : shtrih-driver: SEND: 02 05 10 01 00 00 00 14
TRACE 23.06.2010 15:02:53,421 : shtrih-driver: send ENQ
TRACE 23.06.2010 15:02:53,437 : shtrih-driver: getted NAK
TRACE 23.06.2010 15:02:53,437 : shtrih-driver: send packet
TRACE 23.06.2010 15:02:53,468 : shtrih-driver: getted ACK
TRACE 23.06.2010 15:02:53,515 : shtrih-driver: RECV: 02 10 10 00 01 F3 83 02 00 00 A1 D9 00 00 00 00 00 00 0B
TRACE 23.06.2010 15:02:53,515 : shtrih-driver: STX message= 10 00 01 F3 83 02 00 00 A1 D9 00 00 00 00 00 00
TRACE 23.06.2010 15:02:53,515 : shtrih-driver: ok, send ACK
TRACE 23.06.2010 15:02:53,515 : shtrih-driver: try closeCheck(100,0,0,0,0,,0,0,0,0)
TRACE 23.06.2010 15:02:53,515 : shtrih-driver: SEND: 02 47 85 01 00 00 00 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 A7
TRACE 23.06.2010 15:02:53,515 : shtrih-driver: send ENQ
TRACE 23.06.2010 15:02:53,531 : shtrih-driver: getted NAK
TRACE 23.06.2010 15:02:53,671 : shtrih-driver: send packet
TRACE 23.06.2010 15:02:53,703 : shtrih-driver: getted ACK
TRACE 23.06.2010 15:02:53,703 : shtrih-driver: RECV: 02 02 85 73 F4
TRACE 23.06.2010 15:02:53,703 : shtrih-driver: STX message= 85 73
TRACE 23.06.2010 15:02:53,703 : shtrih-driver: ok, send ACK
TRACE 23.06.2010 15:02:53,734 : thread#1: -> ERROR
WARN 23.06.2010 15:02:53,734 : thread#1: send error driver: ru.bitel.frk.driver.shtrih.PrinterShtrihErrorException: #115: Команда не поддерживается в данном режиме (ФР)
TRACE 23.06.2010 15:02:53,734 : thread#1: send error driver
ru.bitel.frk.driver.shtrih.PrinterShtrihErrorException: #115: Команда не поддерживается в данном режиме (ФР)
at ru.bitel.frk.driver.shtrih2.A.B(Unknown Source)
at ru.bitel.frk.driver.shtrih2.A.A(Unknown Source)
at ru.bitel.frk.driver.shtrih2.Driver.check(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at ru.bitel.frk.server.CmdTcpServer.run(Unknown Source)
TRACE 23.06.2010 15:02:53,734 : thread#1: -> ru.bitel.frk.driver.shtrih.PrinterShtrihErrorException: #115: Команда не поддерживается в данном режиме (ФР)
TRACE 23.06.2010 15:02:53,734 : thread#1: -> ENDECHO
DEBUG 23.06.2010 15:02:53,734 : thread#1: command 'check' processing sucessfull
TRACE 23.06.2010 15:02:53,734 : thread#1: <- null
DEBUG 23.06.2010 15:02:53,734 : thread#1: end all commands (good work)
DEBUG 23.06.2010 15:02:53,734 : thread#1: close socket
из билинга статус регистратора
Регистратор #1
Устройство (драйвер):
ШТРИХ-ФР-К (тип:ККМ/ФР, модель:4, протокол:1.10, язык:0(RU))
Назначены типы платежей:
#17 (Отдел1)
#2 (Отдел1)
#4 (Отдел1)
Статус (драйвер):
Порядковый номер оператора: 1
Рулон операционного журнала: есть
Рулон чековой ленты: есть
ЭКЛЗ: есть
Оптический датчик операционного журнала: бумага есть
Оптический датчик чековой ленты: бумага есть
Рычаг термоголовки контрольной ленты: опущен
Рычаг термоголовки чековой ленты: опущен
Крышка корпуса ФР: опущена
Денежный ящик: закрыт
ЭКЛЗ почти заполнена: нет
Режим ФР: #2 : Открытая смена, 24 часа не кончились.
Подрежим ФР: #0 : Бумага есть (ФР не в фазе печати операции)
Количество операций в чеке: 0
Напряжение резервной батареи: 3.1568627
Напряжение источника питания: 24.11111
Код ошибки ФП: 0
Код ошибки ЭКЛЗ: 0
Статус сервера:
CmdTcpServer v 5.0 build 136 from 13.05.2010 11:49:42
on: 0.0.0.0/0.0.0.0:9876
device driver: ru.bitel.frk.driver.shtrih2.Driver@aa9835
device status: portName=COM1, baudRate = 4800
thread counter: 10
started: 23.06.2010 14:49:50, uptime: 00:11:27
memory total: 5 177 344, max: 66 650 112, free: 4 157 880
конфиг
# Настройки для CashCheck-сервера
# (ru.bitel.frk.server.CmdTcpServer)
# Написаны на неком очень куцем подмножестве YAML
# Указываем, на класс, который реализует общение с (любым) устройством на высшем уровне
#driver: ru.bitel.frk.driver.shtrih.Driver
driver: ru.bitel.frk.driver.shtrih2.Driver
#driver: ru.bitel.frk.driver.emu.Driver
#driver: ru.bitel.frk.driver.fop.Driver
#driver: ru.bitel.frk.driver.sp101frk.Driver
#driver: ru.bitel.frk.driver.atol.Driver
# Порт на котором сервер слушает подключения
port: 9876
# Остальные параметры специфичны для каждого драйвера и передаются полностью в драйвер
# ------------------------
# Для принтера Штрих-ФР-К:
# ------------------------
#ru.bitel.frk.driver.shtrih.Driver:
ru.bitel.frk.driver.shtrih2.Driver:
{
# имя порта, например, в виндовсе COM<X> в линуксе /dev/ttyS<X>
#portName: COM1
portName: COM1
# скорость обмена
# 2400, 4800, 9600, 19200, 38400, 57600, 115200
baudRate: 4800
# describing a flow control type
# None, Xon/Xoff Out, Xon/Xoff In, RTS/CTS In, RTS/CTS Out
flowControlIn: None
flowControlOut: None
# data bits setting
# 5, 6, 7, 8
databits: 8
# stop bits setting.
# 1, 1.5, 2
stopbits: 1
# parity setting
# None, Even, Odd
parity: None
# таймаут приёма одного байта (в мс.), характеристика порта
oneByteTimeout: 100
# таймаут в мс. между опросами состояний для ждания окончания печати предыдущей операции.
waitNoprintTimeout: 1000
# кол-во опросов состояния для ждания окончания печати предыдущей операции (каждое длинной таймаут).
waitNoprintNumtry: 20
# запрет прямого использования команды отрезки (позволяет избежать проблем с отрезчиком в некоторых случаях). костыль.
# по умолчанию - 0 (отрезчик используется)
cutterDisabled: 1
}
# ---------------------------
# Для Эмулятора регистратора:
# ---------------------------
# не требуется
# -----------------
# Для FOP-драйвера:
# -----------------
ru.bitel.frk.driver.fop.Driver:{
printer: pdf
xsl:
http://91.205.240.2:8080/bgbilling/chol.xsl jobName: fop driver printing
jobCopies: 1
}
# ------------------
# Для принтера АТОЛ:
# ------------------
ru.bitel.frk.driver.atol.Driver:{
# имя порта, например, в виндовсе COM<X> в линуксе /dev/ttyS<X>
#portName: COM1
portName: /dev/ttyS0
# скорость обмена
# 1200, 2400, 4800, 9600, 14400, 38400, 57600, 115200
baudRate: 115200
# остальное по умолчанию заявлено в протоколе:
# 1 стартовый бит;
# 8 битов данных;
# 1 стоповый бит;
# без проверки на четность;
# 3 линии (TXD, RXD, GND).
# Так как драйвер поддерживает несколько принтеров, разновидностей и
# их платформ, то надо бы указать тип принтера заранее (ниже - возможные
# значения).
#Неизвестный принтер, не надо использовать в реальной работе
type: UNKNOWN
#Триум-Ф эталонной версии 01
#type: Trium_F
#«Меркурий-140Ф» АТОЛ
#type: Mercury_140F
#ФЕЛИКС-Р Ф эталонная версия 02
#type: FELIX_R_F
#ФЕЛИКС-02К эталонная версия 01
#type: FELIX_02K
#ТОРНАДО (МЕРКУРИЙ-114.1Ф эталонная версия 04)
#type: TORNADO
#Меркурий MS-K эталонная версия 02
#type: Mercury_MS_K
#ФЕЛИКС-Р К эталонной версии 01
#type: FELIX_R_K
#ФЕЛИКС-3СК эталонная версия 01
#type: FELIX_3CK
#FPrint-01K эталонная версия 01
#type: FPrint_01K
#FPrint-02K эталонная версия 02
#type: FPrint_02K
#FPrint-03K эталонная версия 01
#type: FPrint_03K
#ККМ BIXOLON-01K
#type: BIXOLON_01K
#PayPPU-700K
#type: PayPPU_700K
#PayVKP-80K
#type: PayVKP_80K
#PayCTS-2000K
#type: PayCTS_2000K
#FPrint-88K
#type: FPrint_88K
#FPrint-5200K
#type: FPrint_5200K
# Пароль доступа к ККМ (не пароль кассира/админа/сисадмина!)
# 4цифры, по умолчанию "0000", согласно протоколу
accessPassword: 0000
# запрет прямого использования команды отрезки (позволяет избежать проблем с отрезчиком в некоторых случаях). костыль.
# по умолчанию - 0 (отрезчик используется)
cutterDisabled: 1
}
# ------------------
# Для ККМ СП-101-ФРК:
# ------------------
ru.bitel.frk.driver.sp101frk.Driver:
{
# имя порта, например, в виндовсе COM<X> в линуксе /dev/ttyS<X>
#portName: COM1
portName: /dev/ttyS0
# скорость обмена
# В протоколе утверждается:
# При включении питания скорость всегда 19200.
# Изменить значение можно командой «Установить скорость обмена».
# Диапазон допустимых значений 4800 – 115200 бод.
baudRate: 19200
# Примечание: так как в программе скорость дополнительно не выставляется
# этой командой, то, выходит, что менять этот параметр не придётся.
# Ещё в протоколе утверждается:
# Контроль четности Нет
# Длина блока данных 8
# Число стоповых бит 1
# Значения фиксированы
}