Вы находитесь на странице: 1из 14

Программа для тестирования кассового модуля KDIAG

KDIAG – набор тестовых утилит, предназначенный для тестирования основных узлов


банкоматов WincorNixdorf. В данной инструкции рассматривается работа с тестовой утилитой k-diag,
предназначенной для тестирования кассового модуля (деспенсера) банкомата. С ее помощью можно
выполнить подробный тест каждого узла деспенсера (в том числе и циклично). Выполнять тестовые
выдачи, опрашивать состояния и статусы оптических сенсоров, датчиков давления и д.р.
Внимание! Для запуска программы на банкомате, необходимо остановить прикладное
банкоматное ПО (ProDDC). Дверь сейфа должна быть обязательно открыта!
Для выгрузки ProDDC достаточно выполнить в консоли команду cckill и ожидать завершения
работы ПО. После этого, необходимо запустить файл crs1.exe из каталога программы.
KDIAG не может быть запущен с носителя, закрытого на запись (CD) т.к. все файлы программы
должны иметь сброшенный атрибут «Read Only»
В первую очередь не обходимо указать порт, к котрому подключен деспенсер: меню Init => Parameter
V.24 (Рис.1)

Рис.1

В диалоговом окне, необходимо указать номер порта контроллера деспенсера: как правило, это
MUX4 или (при отсутствии мультипортовой платы FitWin порт: COM2) и скорость: для кассового
модуля AZM-NG - 19200 baud, для CMD-V4 - 19200 или 57600 baud.
Проверить корректность подключения можно командой Init => Connect New. Если порт
опрашивается, в командной строке мигнет сообщение: Try to transmit: *IL. Если нет – получите
сообщение об ошибке!
На (Рис.2) показана типичная ошибка: вместо порта MUX4 выбран COM4!
Рис. 2

Рис.3

Теперь рассмотрим меню основного окна программы:

1. Раздел Commands.
Состоит из подразделов Standard, Intern-Selftest, Developer и Load Firmware.
В подразделе Standard можно запускать отдельные команды на выдачу наличных, каждая из которых
является частью транзакции на выдачу наличных. Для определения работоспособности интерфейса
диспенсера V.24 самым простым способом является опрос текущей версии FRM (фирмваре),
загруженного в диспенсер, командой *IL (или Read FW ID).
Статус контроллера, должен быть «00», т.е. должен присутствовать диверт и минимум одна
зарегистрированная кеш-кассета!
См. пункт 2.1 Раздела Application, «Инициализация кассет(-ы)»

Рис.4
В начале тестирования, обязательно отметьте опцию Show error, в таком случае, у вас будет
возможность увидеть расширенное сообщение в доп. окне, при возникновении ошибки. Например:

Доступны следующие команды:


 SW reset - запускается инициализация (RESET или DA) диспенсера.
 Disp. standart - выполняется вылистывание определенного числа купюр из указанной кассеты:
в данном случае: из 3 пикера осуществляется набор из 3-х листов!
 Disp. additional - тоже самое, только в случае присутствия больше одной кеш-кассеты.
 Bundle reject - после выполнения Disp. standart. или Disp. Additional, сформированная пачка
сбрасывается в диверт.
 Shutter test - тест шатера.
 Open shutter - команда: открыть шатер.
 Close shutter - команда: закрыть шатер.
 Notes in W,-Pos. - после выполнения Disp. standart. или Disp. additional, кламп с набранной
пачкой позиционируется за шетером. Шатер, при этом остается закрытым!
 Offer banknotes - после выполнения Disp. standart. или Disp. additional, открывается шатер и
предоставляется сформированная пачка. В этом тесте полностью эмулируется работа
банкомата в режиме полноценной выдачи купюр клиенту!.
 Output banknotes - после выполнения Disp. standart. или Disp. additional, открывается шатер
и сформированная пачка выталкивается из клампа! Будте внимательны! Если таким способом
сформирована очень большая пачка, в конце теста, купюры просто рассыпятся вам под
ноги!:)
 Wait for take notes - состояние ожидания, когда будет забрана сформированная пачка.
 Retain & store - после выполнения Disp. standart. или Disp. Additional + Notes in W,-Pos +
Offer banknotes открывается шатер и предоставляется сформированная пачка. Если купуюры
не забраны, команда Retain & store захватит их обратно.
 Retain & store - после выполнения Disp. standart. или Disp. Additional + Notes in W,-Pos +
Offer banknotes открывается шатер и предоставляется сформированная пачка. Если купуюры
не забраны, команда Retain & store захватит их обратно.
 Retain no store – аналогично предыдущей команде, при этом пачка сбразывается в диверт.
 Reset lock flag – сбрасывает сбойный статус деспенсера. После выполнения команды Reset lock
flag, рекомендуется выполнить SW reset.
 Если перед этим, сбой не был фактически устранен, в ходе выполнения следующего теста,
ошибка снова появится. Ret.counter clear – сброс счетчика ретрактов.

В разделе Intern-Selftest можно выполнить, сброс энергонезависимого ОЗУ контроллера диспенсера


(DXRAL, DYTKAI), инициализация всех оптических датчиков, кроме датчика давления (DXM).
Данную процедуру необходимо в обязательном порядке выполнять в случае проведения полной
профилактики деспенсера, замены V-модулей, контроллеров, измерительной станции, оптических
датчиков и т.д.

Рис.5
Для того, что бы выполнить определенный тест, следует его выбрать и нажать кнопку Send. Чтобы
обеспечить цикличное выполнение команды, необходимо флажок Contin (Alt+C, Spacebar), для
остановки цикла - флажок снять.
В поле «Sel.» будут выводится подсказки при выполнении тех или иных команд. Под меню команд
расположено терминальное окно, в котором выводятся результаты выполнения команд.
Полный перечень доступных команд, приведен в Таблице 2.4. Для завершения тестирования и выхода,
выполните «Break» (Alt + A).

Таблица 2.4 Описание основных команд для кассового модуля CMD-V4

Команда Содержание Описание

DA_ Reset Установка механики в начальное


положение, очистка транспортных
путей.
DXA3 Check clamp belt motor Проверка ременного привода захвата
DXB Check CMOS battery and jumper Проверка батареи CMOS и перемычек
DXCTE Check routing disk Проверка роутинг-дисков
DXCIT Initializing routing disk Инициализация роутинг-дисков
DXCCA Drive routing disk to home position Установить роутинг-диски в исходное
положение
DXCOS Установить роутинг-диски для
движения клампа в вертикальном
Drive routing disk to vertical position направлении
DXCIF Drive routing disk to horizontal position Установить роутинг-диски для
frontload движения клампа в горизонтальном
направлении (для банкоматов с
передней загрузкой)
DXCDE Drive routing disk to dead end position Установить роутинг-диски в «home
position»
DXCCC Установить роутинг-диски для закрытия
Drive routing disk to position clamp close клампа
DXCCO Установить роутинг-диски для
Drive routing disk to position clamp open открытия клампа
DXCRE Установить роутинг-диски для
перемещения клампа с отработкой
Drive routing disk to reject position диверта
DXCIR Drive routing disk to horizontal position Установить роутинг-диски для
rearload движения клампа в горизонтальном
направлении (для банкоматов с задней
загрузкой)
DXD Check stacker Тест stacker will
DXE Check single reject tray and reject/retract box Тест single reject и электромагнита
magnet переключения положения диверта
отбраковки /забытия
DXHTE Проверить позицию шатера (открыта,
Check shutter positions open/offer/close позиция выдачи, закрыта)
DXHOP Open shutter Открыть шатер
DXHOF Drive shutter to offer position Установить шатер в позицию выдачи
DXHCL Close shutter Закрыть шатер
DXITE Check single reject tray Тест single reject
DXIIT Initialise single reject tray Инициализация single reject
DXISB Drive single reject tray to standard box Установить переключатель single reject
в стандартное положение
DXIRB Drive single reject tray to reserve box Установить переключатель single reject
в стандартное положение для сброса
купюр в отсек единичного отбраковки
Команда Содержание Описание

DXIEP Проверить опустошение отсека single


Drive single reject tray to empty box reject
DXJ Check main Motor Ml Тест главный двигателя Ml
DXM5 Initialise light barriers of LSV Инициализация фотосенсоров LSV
DXOTE Check clamp Тест клампа
DXOIT Initialise clamp Инициализация клампа
Установить кламп в исходное
DXOST Drive clamp in home position положение («home position»)
Установить кламп в положение «перед
DXOSH Drive clamp to shutter шаттером»
Установить кламп в позицию
DXORE Driver clamp to reject position отбраковки банкнот в диверт
DXP Start all mechanical checks Выполнить полный тест механики
DXRAL5 Erase CMOS data Очистить данные CMOS (очистка
CMOS контролера). В результате
полностью стирается информация о
физические характеристики купюр,
внутренняя статистика, текущие
настройки фотосенсоров, аппаратная
конфигурация.
DYE Read device configuration Получить текущую аппаратную
конфигурацию деспенсера
DYET Read device configuration Получить текущую аппаратную
конфигурацию деспенсера
(форматированный вид)
DYG Status of birfucated- and hall sensors Проверить состояние датчиков Холла
DYGT Проверить состояние датчиков Холла
Status of birfucated- and hall sensors (форматированный вид)
DYK Status of controlled photosensors Проверить состояние фотосенсоров
(наличие ошибок).
0 = Фотосенсор отсутствует!
1 = OK
2 = TKD err - Фотосенсор работает на
пределе чувствительности
3 = Фотосенсор незначительно
загрязнен
4 = Фотосенсор сильно загрязнен
5 = Фотосенсор не работает
6 = Фотосенсор не инициализирован
(часто касается датчиков опустошения
кассет)
DYKT5 Проверить состояние фотосенсоров
(наличие ошибок) (в форматированном
Status of controlled photosensors виде)
Статус фотосенсоров
DYL Level of controlled photosensors (открытий/закрытий)
DYLT Level of controlled photosensors Статус фотосенсоров
(открытий/закрытий) (в
форматированном виде)
DYQ Note pressure Состояние датчиков давления у кассетах
0 = кассетный модуль не установлен
1 = давление в кассете нормальное
Команда Содержание Описание

2 = слабое давление в кассете,


возможна нестабильная робота.
3 = недостаточное давление в кассете
4 = отсутствует давление в кассете
5 = нет ответа от кассеты
6 = кассета отсутствует
DYQT Note pressure Состояние датчиков давления в кассетах
(форматированный вид)

_______________________________________________________________________________________________________________________________

3
В некоторых версиях KDIAG префиксы DX и DY могут отсутствовать.

4
В процессе тестирования, работают только роутинг-диски.
5
Внимание:
- При проведении вышеуказанных трех команд все, кассеты должны быть вынуты из пикеров
диспенсера.
- Краткие описания вышеуказанных трех команд высвечиваются белыми мерцающими символами
на красном фоне.
- Каждая из вышеуказанных трех команд должна завершаться запуском команды DA, т.е.
инициализация (RESET) диспенсера.

В подразделе Developer можно запускать отдельные команды непосредственно в командной строке.


Например, при запуске KDIAG полезно опрашивать статус процедуры CLEARING.
Для этого используется команда DEK. Если в ответе на эту команду диспенсер отвечает
DEKASCL_FCT = N, то рекомендуется :
- запустить RESET-команду DA,
- затем запустить команду DFGSCL_FCT = Y
Если после этих действий снова запустить команду DEK, то в ответ диспенсер выдаст
установку:DEKASCL_FCT = Y. Данная установка позволит избежать запуска DA после выполнения
каждой команды диспенсера.
В разделе Firmware state/config можно просмотерть текущую версию «фримваре» контроллера
деспенсера: в данном случае, у нас загружена версия 1680
Рис.6

Из подраздела Load Firmware можно выполнить прошивку диспенсера. Для этого, необходимо в поле
«File name» указать путь к файлу ****CMD_V4_0.bin и нажать Ok. (Рис.7)
Запустится процесс прошивки контроллера на новое фирмваре

Рис.7

2. Раздел Application.

Рассмотрим основные пункты: Dispense, Reset AZM, Initialization AZM, Notes + cass. Confirm., а
также Cassettes State и Device State.
RESET AZM - запускается инициализация (RESET или DA) диспенсера.
Initialization AZM – здесь можно произвести несколько действий:

Рис.8
1.Прописать EEPROM-ы денежных кассет.
2.Произвести процедуру обучения (Reference Value) диспенсера.
3.Указать кол-во купюр в кассетах и логически прописать кассеты.
4.Указать кол-во купюр в диверт-кассете и логически прописать диверт-кассету

Рис.9

2.1. Инициализации кассет(-ы)


Меню этого пункта разбито на 6 кассетных слотов (по кол-ву пикеров), из которых для диспенсера
банкомата используются слоты 1, 2, 3 и 4.
По каждой кассете, мы задаем:
- Кол-во купюр в кассете (4 разряда); приходится задавать это кол-во дважды в двух верхних строках.
- Release следует задать 4 нуля (4 разряда), составная часть EEPROM денежной кассеты,
- Width и Cut Tolerance - не определяются (НЕ ТРОГАТЬ), оставляем их прежние значения
- Lowest можно задать порог Money-Low (минимальное кол-во купюр) для каждой кассеты
- Offer width + cut tolerance - оставляем без изменений
- Init Cassette ID-Number – в случае, если необходимо прописать семизначный номер кассеты в её
EEPROM. Данное поле, может остаться пустым.
- Number Rej.-cass. - задается кол-во купюр в диверте. Рекомендуем оставить нулевое значение
- Update rej. –cass. (обновить значения диверта). Следует пометить с помощью клавиши ПРОБЕЛ. Тем
самым логически прописывается диверт.
- Value (номинал). В данном случае – 00000050 (50гр.)
- Currency (валюта). В данном случае – UAH
- Update и Calc refe - обучения (Reference Value) диспенсера. Следует пометить с помощью клавиши
ПРОБЕЛ. Тем самым, обновляются предыдущие значения кассеты и выполняется процедура Reference
Value.

После этого, запускаем Init-AZM (сочетание клавиш Alt + I)


На вопрос «You really want to change cassettes parameters?» нажимаем Yes. Произойдет вылистывание 8
купюр из тестовой кассеты: Рис.10

Рис.10
Если купюр действительно 8, подтверждаем нажатием Continue (Alt + O), после чего, набранные
купюры будут сброшены в диверт.
Процесс инициализации кассет закончен. На контроллере деспенсера, должен быть статус «00»

В пункте Device State можно опросить статус всего диспенсера в целом.


Ниже приводятся отдельные параметры при опросе статуса диспенсера

1. Состояние двери сейфа.


Переменная DOOR.
DOOR = O - дверь сейфа открыта
DOOR = C - дверь сейфа закрыта

2. Состояние концевого датчика диспенсера (S_SW).


S_SW = O - диспенсер выдвинут из сейфа, SCOD "12"
S_SW = C - диспенсера задвинут внутрь сейфа

3. Состояние шатера.
Переменная SHUT.
SHUT = O - шатер открыт
SHUT = C - шатер закрыт

4. Флаг Блокировки Диспенсера ("Retain no Store")


Переменная DLOC
DLOC = N - диспенсер не заблокирован, OK
DLOC = Y - диспенсер заблокирован, индикация кода ошибки "13" после "Retain no Store" в разделе
Commands, подраздел Standard.
Разблокировка заключается в проведении двух действий:
1. Удаление удержанных банкнот
2. Запуск команды "Reset Lock Flag" в разделе Commands, подраздел Standard.

Рис.11

Кроме этого, с помощью программы KDIAG можно проводить тестовые выдачи. Для этого
рекомендуется использование тестовые купюры. В первую очередь необходимо подготовить
кассеты и кассовый модуль: проинициализировать кассеты, определить физические характеристики
(референсы) для тестовых купюр. Для этого необходимо у меню Devi CMD-V4 нажать кнопку M init
cassettes.
В поле Value соответствующей кассеты необходимо установить номинал кассеты, в поле
Currency - валюту кассеты (UAH - гривна, USD - доллар и т.д.). Флажок Update указывает, для
какой кассеты будут вноситься изменения, флажок Calc refe указывает на необходимость
определить физические характеристики для купюр определенной кассеты.
Внимание! Изменения, сделанные в данном диалоге остаются актуальными также для
ProDDC, по этому, по окончании тестирования, необходимо установить корректные данные
через соответствующее меню SOP.
Флажок Init cassette ID-number указывает на необходимость записать в кассету ее
внутренний номер [ID-number]. Данный флажок устанавливать не стоит. Number rej.-cass
определяет значения счетчика диверта (предназначен для его обнуления), флажок Update rej.-cass
определяет необходимость активировать значения поля Number rej.-cass.
Рис.12

Для внесения выполненных изменений необходимо нажать кнопку Init-AZm. (Alt+I)


Другие кнопки имеют значение:
Save File - сохранить данную конфигурацию в файл
Load File - вычитать сохраненную конфигурацию из
файла
Sav+brk - Сохранить конфигурацию и закрыть данное
окно
Init-AZM - Начало инициализации кассового модуля.

В пункте Notes + cass. Confirmation можно подтвердить


предыдущие значения счетчиков кассеты (cash-кассеты и диверта)
после того, как кассета будет вставлена в пикер. Тем самым
кассета логически прописывается.

В пункте Cassettes State можно опросить статус кассет (cash-кассеты и диверта).


Возможные статусы кассет:

1. Статус READY или R.


Кассета готова к работе, т.е. вставлена в пикер и логически прописана. В кассете есть деньги.
2. Статус REINSERTED или N.
Кассета вставлена в пикер, но не прописана логически. Кассета не готова к работе.
3. Статус EMPTY или E.
Кассета вставлена в пикер, но в ней нет купюр, сработал оптический датчик MONEY OUT. Сам
датчик (активная часть) находится с внутренней стороны V-модуля. Призма оптодатчика
(пассивная часть) расположена в кассете, точнее, на внутренней стороне прижимной каретки.
4. Статус MISSING или M. Кассета не вставлена в пикер (отсутствует, неисправна, не
инициализируется),
5. Статус Par Unknown или P.
В EEPROM-е кассеты указаны код валюты (Currency) и номинал (Value), на которые диспенсер не
обучен, т.е. нет информации во второй области энергонезависимого ОЗУ контроллера диспенсера.
Default – Установить все параметры в исходные значения
Break - Закрыть данное окно
Далее можно провести тестовую выдачу. Для этого необходимо воспользоваться опцией X
continuous. Либо, из главного меню, выбрать «Сontinuous» => «Сontinuous»

Рис.13

В поле 1—4 установите количество купюр, которые будут набраны с соответствующей кассеты за
одну выдачу (в нашем случае, это 3 кассета, она отмечена символом «S»)

Поле Number disp определяет общее количество выдач. Для поля Offer следует указать куда
отправится сформированную пачку:
Cash offer - купюры будут выданы в обычном рабочем режиме и будут находится в
положении “Cash present” Wait time sec секунд. После этого, если пачка не забрана, она
попадет в диверт (отделение для забытых банкнот).
Внимание! Не следует допускать попадание большого количества банкнот в отдел для
забытых банкнот из-за его ограниченного объема.
Cash output - наличность будет принудительно вытолкнута по транспортным путей в
направлении выдачи.
Reject – пачка будет сброшена в общий диверт (в отделение отбракованных банкнот).
Number retracts - содержит информацию по количеству отбракованных банкнот.
Ready dispen - информирует о количестве выполненных команд
Rest dispen - сколько выдач осталось.
Start - указывает на время начала операций
Total durat - запланированное время для выполнения всех выдач наличности
Durat p. D. - время выполнения одной выдачи,
So far - сколько времени прошло с начала операции.
Rest - количество времени осталось.
Total error - количество ошибок от начала операции.
Значение кнопок в данном диалоге:
Start - Начать операцию
Stop - Остановить операцию
Go on - Продолжение исполнения операции после остановки или ошибки
Repeat - Повторить операцию
Send Reset - Выполнить команду reset.
Options - Дополнительное меню
Break - Выйти из диалога.

Если в кассетах недостаточно тестовых купюр для полноценного тестирования кассового


модуля, их необходимо пополнить. После того, как кассеты загружены, необходимо заново выполнить
процедуру регистрации - подтвердить, что данные кассеты инициализированы и для них определены
физические характеристики. Для этого назначена кнопка N conf notes / cass. (до этого их статус (Devi
=> CMD-V4 => C Cassettes state) будет New). В случае, если кассета извлечена (отсутствует,
неисправна, не инициализируется), статус при опросе будет: M (missing) Рис.15

Рис.14
В данном окне необходимо отметить кассеты, которые были вставлены заново, и нажать кнопку Send.
Статус кассет измениться на Ready. Только с этим статусом кассеты готовы к работе.
Для того чтобы убедиться, что кассеты зарегистрированы корректно, еще раз выполняем команду «C
Cassettes state». Результат выполнения команды показан на Рис.15

Рис.15
Статус кассет(ы): R (ready) – готова к работе.
Статус диверта: «Status of rej. -cass», ): R (ready) – готов к работе.