XFS-сервис класса CIM. Модель DORS 210BA

Файлы

  • shqPS.CIM.DBA.exe;

  • shqSPCIM.dll.

Настройка XFS-провайдера в реестре

[HKEY_LOCAL_MACHINE\Software\XFS\PHYSICAL_SERVICES\<DEVICE-ID>]

<DEVICE-ID> – идентификатор устройства (одновременно их может быть несколько). Если устройство одно, то принимается значение по умолчанию CIM-DBA.

  • CASSETTE_CAPACITY – емкость кассеты в банкнотах. Возможные значения: целые положительные числа. Значение по умолчанию: 1000 или 30000 при превышающих значениях.

  • CASSETTE_HIGH_LEVEL – максимум логической кассеты в процентах относительно емкости кассеты (параметр CASSETTE_CAPACITY). Возможные значения: числа в диапазоне от 50 до 100 (от 50 до 100 процентов емкости кассеты). Значение по умолчанию: 80 (расчетные 800 банкнот для умолчания емкости кассеты в 1000 банкнот).

  • CONJOINT_CASH_IN – включить/отключить режим непрерывного приема (использования промежуточного стекера для принятия решения о складировании или возврате распознанной банкноты). При включенном режиме непрерывного приема за одну транзакцию подается несколько WFS_CMD_CIM_CASH_IN.

    Возможные значения:

    • 1 или true или yes – промежуточный стекер не используется, распознанная банкнота складируется (включен режим непрерывного приема);

    • 0 или false или no (по умолчанию) – промежуточный стекер не используется (отключен режим непрерывного приема).

  • DELAY_TIME_ACCEPTANCE_STOP – время задержки (в мс) подачи команды завершения приема банкнот на устройство после отработки WFS_CMD_CIM_CASH_IN_END.

  • DISABLE_CU_MANIPULATED – включить/отключить отслеживание извлечения кассеты вне инкассации. Возможные значения: 1 или true или yes (по умолчанию), 0 или false или no.

    Возможные значения:

    • 1 или true или yes (по умолчанию) – отслеживание извлечения кассеты вне инкассации отключено.

    • 0 или false или no – отслеживание извлечения кассеты вне инкассации включено. Если кассета извлекалась вне инкассации, то в реестре изменяется значение параметра MANIPULATED_FLAG (MANIPULATED_FLAG = 1).

  • MANIPULATED_FLAG – признак излечения кассеты вне инкассации. Параметр рабатает, если извлечения кассеты вне инкассации отслеживается (DISABLE_CU_MANIPULATED = 0). Данный признак сбрасывается при подаче WFS_CMD_CIM_END_EXCHANGE.

    Возможные значения:

    • 1 – кассета извлекалась вне инкассации, прием наличных невозможен;

    • 0 – кассета не извлекалась вне инкассации.

  • PORT – номер порта, к которому подключено устройство.

  • POWER_UP_WITH_BILL_STRATEGY – стратегия работы при обнаружении банкноты на транспорте после подачи питания.

    Возможные значения:

    • STOP_ACCEPT – остановить прием до подачи WFS_CMD_CIM_RESET или WFS_CMD_CIM_START_EXCHANGE;

    • ALLOW_ACCEPT (по умолчанию) – разрешить дальнейший прием;

    • ALLOW_ACCEPT_BILL_STACKER – разрешить дальнейший прием, если банкнота находится на этапе складирования в кассету.

  • FRAUD_ATTEMPTS_COUNT – количество попыток мошеннических действий, зафиксированных в процессе внесения банкнот. Приходит в ответе на WFS_INF_CIM_STATUS. Сбрасывается при подаче WFS_CMD_CIM_END_EXCHANGE.

    Во всех состояниях устройства, кроме Accepting(0x15), Stacking(0x17) и Device Busy(0x1B), отслеживаются попытки изъятия банкноты из кассеты на скотче, леске и пр. Если такая попытка обнаружена, то генерируется событие WFS_SYSE_USER_ERROR с указанием причины:

    1. CHEATED – при попытке фишинга в состояниях Escrow(0x80), Pause(0x46), Holding(0x1A). После чего банкнота будет возвращена обратно. Параметры события: lpbDescription = CIM: CHEATED.

    2. FRAUD DETECTED – во всех остальных состояниях. Параметры события: lpbDescription = CIM: FRAUD DETECTED.

    Открытие тракта устройства также приводит к генерации события WFS_SYSE_USER_ERROR с указанием соответсвующей причины. Устройство переходит в работоспособное состояние после закрытия тракта.

  • RESET_CASSETTE_COUNTERS – включить/отключить сброс статистики принятых банкнот при подаче WFS_CMD_CIM_END_EXCHANGE без параметров.

    Возможные значения:

    • 1 – если подается WFS_CMD_CIM_END_EXCHANGE без параметров, то счетчик принятых банкнот будет сброшен;

    • 0 (по умолчанию) – если подается WFS_CMD_CIM_END_EXCHANGE без параметров, то значение счетчика принятых банкнот не изменится (значение по умолчанию).

Пример раздела:

[HKEY_LOCAL_MACHINE\SOFTWARE\XFS\PHYSICAL_SERVICES\CIM-DBA]
"PORT"="COM3"
"CASSETTE_CAPACITY"="10"
"CASSETTE_HIGH_LEVEL"="80"
"DISABLE_CU_MANIPULATED"="1"
"RESET_CASSETTE_COUNTERS"="0"
"DELAY_TIME_ACCEPTANCE_STOP"="2000"
"POWER_UP_WITH_BILL_STRATEGY"="ALLOW_ACCEPT"
"CONJOINT_CASH_IN"="0"

[HKEY_LOCAL_MACHINE\Software\XFS\PHYSICAL_SERVICES\<DEVICE-ID>\CashInStatus]

Примечание

После первой устрановки ПроАТМ/XFS данный раздел отсутствует. Он создается автоматически после подачи WFS_CMD_CIM_CASH_IN_START.
В процессе удаления и последующей установки ПроАТМ/XFS данный раздел не удаляется и значения его параметров не обнуляются.
  • NoteNumberList – банкноты, обработанные в последней транзакции.Формат значения: «ID номинала: количество банкнот; ID номинала: количество банкнот; …», где ID номинала – идентификатор номинала банкноты (3, 4 и т.д., для отбракованных банкнот – 0). Значение меняется на пустое после подачи WFS_CMD_CIM_CASH_IN_START.

  • NumOfRefused – количество непринятых банкнот в последней транзакции в шестнадцатиричной системе исчисления. Значение обнуляется после подачи WFS_CMD_CIM_CASH_IN_START.

  • Status – статус транзакции приема наличных.

    Возможные значения:

    • 0 – прием наличных завершен командой WFS_CMD_CIM_CASH_IN_END;

    • 1 – прием наличных завершен командой WFS_CMD_CIM_CASH_IN_ROLLBACK;

    • 2 – транзакция приема наличных открыта;

Пример раздела:

[HKEY_LOCAL_MACHINE\SOFTWARE\XFS\PHYSICAL_SERVICES\CIM-DBA\CashInStatus]
"Status"=dword:00000000
"NumOfRefused"=dword:00000002
"NoteNumberList"="4,2;5,1"

[HKEY_LOCAL_MACHINE\Software\XFS\PHYSICAL_SERVICES\<DEVICE-ID>\Denoms]

Примечание

В процессе удаления и последующей установки ПроАТМ/XFS данный раздел не удаляется и значения его параметров не обнуляются.

Карта соответствия идентификаторов валют. Параметр – валюта в классификации CashCode. Значение – идентификатор валюты, который будет использоваться при ее представлении в рамках XFS API. Несмотря на то, что стандарт CEN/XFS предписывает использование идентификаторов валют согласно ISO4217 и данный раздел не требует какого-либо вмешательства, в некоторых случаях возникает задача отображения российского рубля в виде нестандартного идентификатора RUR. Для этого следует заменить значение в параметре RUS = RUB на RUS = RUR.

Пример раздела:

[HKEY_LOCAL_MACHINE\SOFTWARE\XFS\PHYSICAL_SERVICES\CIM-DBA\Denoms]
"RUS"="RUB"
"USA"="USD"
"KAZ"="KZT"

[HKEY_LOCAL_MACHINE\Software\XFS\PHYSICAL_SERVICES\<DEVICE-ID>\Notes]

Примечание

В процессе удаления и последующей установки ПроАТМ/XFS данный раздел не удаляется и значения его параметров не обнуляются.

  • идентификатор номинала – количество принятых банкнот соответствующего номинала в шестнадцатиричной системе исчисления.

  • _unrecognized – количество нераспознанных банкнот в шестнадцатиричной системе исчисления.

  • AllNumOfRefused – количество отбракованных банкнот в шестнадцатиричной системе исчисления.

  • ConfiguredNotes – разрешенные к приему номиналы в шестнадцатиричной системе исчисления.

Пример раздела:

[HKEY_LOCAL_MACHINE\SOFTWARE\XFS\PHYSICAL_SERVICES\CIM-DBA\Notes]
"ConfiguredNotes"=dword:0000001c
"_unrecognized"=dword:00000000
"AllNumOfRefused"=dword:00000004
"3"=dword:00000001
"4"=dword:00000002
"2"=dword:00000000
"5"=dword:00000000
"6"=dword:00000000
"7"=dword:00000000
"8"=dword:00000000
"9"=dword:00000000
"10"=dword:00000000

Информационные запросы

WFS_INF_CIM_STATUS

Выходные параметры

Поле

Значения

fwDevice 1

WFS_CIM_DEVONLINE

WFS_CIM_DEVPOWEROFF

WFS_CIM_DEVNODEVICE

WFS_CIM_DEVHWERROR

WFS_CIM_DEVUSERERROR

WFS_CIM_DEVBUSY

fwSafeDoor

WFS_CIM_DOORNOTSUPPORTED

fwAcceptor

WFS_CIM_ACCOK

WFS_CIM_ACCCUSTATE

WFS_CIM_ACCCUSTOP

WFS_CIM_ACCCUUNKNOWN

fwIntermediateStacker

WFS_CIM_ISEMPTY

WFS_CIM_ISNOTEMPTY

WFS_CIM_ISFULL

WFS_CIM_ISUNKNOWN

fwStackerItems

WFS_CIM_CUSTOMERACCESS

WFS_CIM_NOCUSTOMERACCESS

WFS_CIM_ACCESSUNKNOWN

WFS_CIM_NOITEMS

fwBanknoteReader

WFS_CIM_BNROK

WFS_CIM_BNRINOP

WFS_CIM_BNRUNKNOWN

bDropBox

FALSE

lppPositions

LPWFSCIMINPOS

lpszExtra

LPSTR

dwGuidLights

WFS_CIM_GUIDANCE_NOT_AVAILABLE

wDevicePosition

WFS_CIM_DEVICEPOSNOTSUPP

usPowerSaveRecoveryTime

0

Таблица 19. LPWFSCIMINPOS

Поле

Значения

fwPosition

WFS_CIM_POSINCENTER

WFS_CIM_POSOUTCENTER

fwShutter

WFS_CIM_SHTNOTSUPPORTED

fwPositionStatus

WFS_CIM_PSEMPTY

WFS_CIM_PSNOTEMPTY

WFS_CIM_PSUNKNOWN

fwTransport

WFS_CIM_TPOK

WFS_CIM_TPINOP

WFS_CIM_TPUNKNOWN

WFS_CIM_TPNOTSUPPORTED

fwTransportStatus

WFS_CIM_TPSTATEMPTY

WFS_CIM_TPSTATNOTEMPTYCUST

WFS_CIM_TPSTATNOTEMPTY_UNK

Таблица 20. LPSTR

Поле

Значения

VENDOR

DORS [SYSTEMA]

PRODUCT

ProAtm/Xfs

VERSION

версия продукта

DEVICE

DBA

MODEL

D210BA-RUB

SERIAL

серийный номер головного модуля

FIRMWARE

версия прошивки

NOTEBASE

версия БД банкнот

DEVICE_STATE_CODE

номер состояния устройства

CONJOINT_CASH_IN 2

1

0

FRAUD_ATTEMPTS_COUNT

количество попыток мошенничества

Примечания

1

Если в процессе внесения банкнот зафиксированы мошеннические действия, то устройство переходит в состояние WFS_CIM_DEVUSERERROR.

2

1 – непрерывный прием включен, 0 – непрерывный прием отключен.

WFS_INF_CIM_CAPABILITIES

Выходные параметры

Поле

Значения

wClass

WFS_SERVICE_CLASS_CIM

fwType

WFS_CIM_SELFSERVICEBILL

wMaxCashInItems

1

bCompound

FALSE

bShutter

FALSE

bShutterControl

TRUE

bSafeDoor

FALSE

bCashBox

FALSE

bRefill

FALSE

fwIntermediateStacker 3

0

1

bItemsTakenSensor

TRUE

bItemsInsertedSensor

TRUE

fwPositions

WFS_CIM_POSINCENTER

WFS_CIM_POSOUTCENTER

fwExchangeType

WFS_CIM_EXBYHAND

fwRetractAreas

WFS_CIM_RA_NOTSUPP

fwRetractTransportActions

WFS_CIM_NOTSUPP

fwRetractStackerActions

WFS_CIM_NOTSUPP

lpszExtra

LPSTR

dwGuidLights

WFS_CIM_GUIDANCE_NOT_AVAILABLE

dwItemInfoTypes

NONE

bCompareSignatures

FALSE

bPowerSaveControl

FALSE

Таблица 21. LPSTR

Поле

Значения

VENDOR

DORS [SYSTEMA]

PRODUCT

ProAtm/Xfs

VERSION

версия продукта

DEVICE

DBA

MODEL

D210BA-RUB

SERIAL

серийный номер головного модуля

FIRMWARE

версия прошивки

NOTEBASE

версия БД банкнот

CONJOINT_CASH_IN

1 (промежуточный стекер не используется)

0 (промежуточный стекер используется)

Примечания

3

Емкость промежуточного стекера зависит от стратегии использования, определяемой параметром CONJOINT_CASH_IN. Если CONJOINT_CASH_IN = 1, то значения поля fwIntermediateStacker изменится с 0 (режим непрерывного приема включен, размер стекера – 0 банкнот, все распознанные банкноты будут помещены в кассету без остановки) на 1 (режим непрерывного приема отключен, размер стекера – 1 банкнота).

WFS_INF_CIM_CASH_UNIT_INFO

Выходные параметры

Поле

Значения

usCount

1

lppCashIn

LPWFSCIMCASHIN

Таблица 22. LPWFSCIMCASHIN

Поле

Значения

usNumber

1

fwType

WFS_CIM_TYPECASHIN

fwItemType

WFS_CIM_CITYPALL

WFS_CIM_CITYPUNFIT

cUnitID

по стандарту

cCurrencyID

по стандарту

ulValues

по стандарту

ulCashInCount

по стандарту

ulCount

по стандарту

ulMaximum

по стандарту

usStatus

WFS_CIM_STATCUOK

WFS_CIM_STATCUFULL

WFS_CIM_STATCUHIGH

WFS_CIM_STATCUEMPTY

WFS_CIM_STATCUINOP

WFS_CIM_STATCUMISSING

WFS_CIM_STATCUNOVAL

WFS_CIM_STATCUMANIP

bAppLock

FALSE

lpNoteNumberList

по стандарту

usNumPhysicalCUs

1

lppPhysical

LPWFSCIMPHCU

lpszExtra

NULL

lpusNoteIDs

NULL

usCDMType

0

lpszCashUnitName

NULL

ulInitialCount

0

ulDispensedCount

0

ulPresentedCount

0

ulRetractedCount

0

ulRejectCount

0

ulMinimum

0

Таблица 23. LPWFSCIMPHCU

Поле

Значения

lpPhysicalPositionName

CIM.CASSETTE

cUnitID

по стандарту

ulCashInCount

по стандарту

ulCount

по стандарту

ulMaximum

по стандарту

usPStatus

WFS_CIM_STATCUOK

WFS_CIM_STATCUFULL

WFS_CIM_STATCUHIGH

WFS_CIM_STATCUEMPTY

WFS_CIM_STATCUINOP

WFS_CIM_STATCUMISSING

WFS_CIM_STATMANIP

bHardwareSensors

FALSE

lpszExtra

NULL

ulInitialCount

0

ulDispensedCount

0

ulPresentedCount

0

ulRetractedCount

0

ulRejectCount

0

WFS_INF_CIM_TELLER_INFO

Не поддерживается.

WFS_INF_CIM_CURRENCY_EXP

Поддерживается в соответствии со стандартом.

WFS_INF_CIM_BANKNOTE_TYPES

Поддерживается в соответствии со стандартом.

WFS_INF_CIM_CASH_IN_STATUS

Выходные параметры

Поле

Значения

wStatus

WFS_CIM_CIOK

WFS_CIM_CIROLLBACK

WFS_CIM_CIACTIVE

WFS_CIM_CIUNKNOWN 4

usNumOfRefused

по стандарту

lpNoteNumberList

по стандарту

lpszExtra

NULL

Примечания

4

Статус транзакции принимает значение WFS_CIM_CIUNKNOWN, если:

  • не было ни одной транзакции (первые запуски драйвера);

  • в ходе складирования банкноты роизошел ее возврат;

  • во время выполнения транзакции было перезапущено терминальное ПО.

WFS_INF_CIM_GET_P6_INFO

Не поддерживается.

WFS_INF_CIM_GET_P6_SIGNATURE

Не поддерживается.

WFS_INF_CIM_GET_ITEM_INFO

Не поддерживается.

WFS_INF_CIM_POSITION_CAPABILITIES

Не поддерживается.

Команды

WFS_CMD_CIM_CASH_IN_START

Входные параметры

Поле

Значения

usTellerID

любое, допустимое стандартом

bUseRecycleUnits

любое, допустимое стандартом

fwOutputPosition

WFS_CIM_POSNULL

WFS_CIM_POSOUTCENTER

fwInputPosition

WFS_CIM_POSNULL

WFS_CIM_POSOUTCENTER

Ошибки

  • WFS_ERR_CIM_UNSUPPOSITION;

  • WFS_ERR_CIM_EXCHANGEACTIVE;

  • WFS_ERR_CIM_CASHINACTIVE.

WFS_CMD_CIM_CASH_IN

Выходные параметры

Поле

Значения

lpNoteNumberList

LPWFSCIMNOTENUMBERLIST

NULL

Таблица 24. lpNoteNumberList

Поле

Поле

Значения

usNumOfNoteNumbers

1

lppNoteNumber

usNoteID

по стандарту

ulCount

1

Ошибки

  • WFS_ERR_CIM_CASHUNITERROR;

  • WFS_ERR_CIM_TOOMANYITEMS;

  • WFS_ERR_CIM_NOITEMS – не поддерживается;

  • WFS_ERR_CIM_EXCHANGEACTIVE;

  • WFS_ERR_CIM_SHUTTERNOTCLOSED – не поддерживается;

  • WFS_ERR_CIM_NOCASHINACTIVE;

  • WFS_ERR_CIM_POSITION_NOT_EMPTY – не поддерживается;

  • WFS_ERR_CIM_SAFEDOOROPEN – не поддерживается.

События

  • WFS_EXEE_CIM_CASHUNITERROR;

  • WFS_EXEE_CIM_INPUT_P6 – не поддерживается;

  • WFS_EXEE_CIM_INPUTREFUSE;

  • WFS_EXEE_CIM_SUBCASHIN – не поддерживается;

  • WFS_SRVE_CIM_ITEMSINSERTED;

  • WFS_SRVE_CIM_ITEMSTAKEN;

  • WFS_SRVE_CIM_ITEMSPRESENTED;

  • WFS_EXEE_CIM_INSERTITEMS.

Примечания

  1. WFS_CMD_CIM_CASH_IN не завершается до принятия банкноты.

  2. В процессе ожидания банкноты устройство не контроллирует наличие кассеты. Эта особенность не позволяет прервать выполнение команды при каких-либо манипуляциях с кассетой.

  3. Если включен режим непрерывного приема (CONJOINT_CASH_IN = 1), то за одну транзакцию приема может приходить несколько WFS_CMD_CIM_CASH_IN, в остальных случаях – только одна команда WFS_CMD_CIM_CASH_IN.

WFS_CMD_CIM_CASH_IN_END

Выходные параметры

См. выходные параметры WFS_INF_CIM_CASH_UNIT_INFO.

Ошибки

  • WFS_ERR_CIM_CASHUNITERROR;

  • WFS_ERR_CIM_NOITEMS;

  • WFS_ERR_CIM_EXCHANGEACTIVE;

  • WFS_ERR_CIM_NOCASHINACTIVE;

  • WFS_ERR_CIM_POSITION_NOT_EMPTY;

  • WFS_ERR_CIM_SAFEDOOROPEN – не поддерживается.

События

  • WFS_USRE_CIM_CASHUNITTHRESHOLD;

  • WFS_SRVE_CIM_CASHUNITINFOCHANGED;

  • WFS_EXEE_CIM_CASHUNITERROR;

  • WFS_EXEE_CIM_INFO_AVAILABLE – не поддерживается;

  • WFS_EXEE_CIM_NOTEERROR.

Примечания

WFS_CMD_CIM_CASH_IN_ROLLBACK

Выходные параметры

См. выходные параметры WFS_INF_CIM_CASH_UNIT_INFO.

Ошибки

  • WFS_ERR_CIM_CASHUNITERROR;

  • WFS_EXEE_CIM_CASHUNITERROR;

  • WFS_ERR_CIM_SHUTTERNOTOPEN – не поддерживается;

  • WFS_ERR_CIM_EXCHANGEACTIVE;

  • WFS_ERR_CIM_NOCASHINACTIVE;

  • WFS_ERR_CIM_POSITION_NOT_EMPTY;

  • WFS_ERR_CIM_NOITEMS.

События

  • WFS_EXEE_CIM_CASHUNITERROR;

  • WFS_SRVE_CIM_ITEMSTAKEN;

  • WFS_SRVE_CIM_ITEMSPRESENTED4

  • WFS_EXEE_CIM_INPUT_P6 – не поддерживается;

  • WFS_EXEE_CIM_INFO_AVAILABLE – не поддерживается.

Примечания

Внимание

В режиме непрерывного приема WFS_CMD_CIM_CASH_IN_ROLLBACK не поддерживается.

WFS_CMD_CIM_RETRACT

Не поддерживается.

WFS_CMD_CIM_OPEN_SHUTTER

Не поддерживается.

WFS_CMD_CIM_CLOSE_SHUTTER

Не поддерживается.

WFS_CMD_CIM_SET_TELLER_INFO

Не поддерживается.

WFS_CMD_CIM_SET_CASH_UNIT_INFO

Входные параметры

Поле

Значение

usNumber

любое, допустимое стандартом

fwType

любое, допустимое стандартом

fwItemType

любое, допустимое стандартом любое, допустимое стандартом

cUnitID

любое, допустимое стандартом

cCurrencyID

любое, допустимое стандартом

ulValues

любое, допустимое стандартом

ulCashInCount

0

ulCount

0

ulMaximum

любое, допустимое стандартом

usStatus

любое, допустимое стандартом

bAppLock

любое, допустимое стандартом

lpNoteNumberList

любое, допустимое стандартом

usNumPhysicalCUs

любое, допустимое стандартом

lppPhysical

LPWFSCIMPHCU

lpszExtra

любое, допустимое стандартом

lpusNoteIDs

любое, допустимое стандартом

usCDMType

любое, допустимое стандартом

lpszCashUnitName

любое, допустимое стандартом

ulInitialCount

любое, допустимое стандартом

ulDispensedCount

любое, допустимое стандартом

ulPresentedCount

любое, допустимое стандартом

ulRetractedCount

любое, допустимое стандартом

ulRejectCount

любое, допустимое стандартом

ulMinimum

любое, допустимое стандартом

Таблица 25. LPWFSCIMPHCU

Поле

Значение

lpPhysicalPositionName

любое, допустимое стандартом

cUnitID

любое, допустимое стандартом

ulCashInCount

0

ulCount

0

ulMaximum

любое, допустимое стандартом

usPStatus

любое, допустимое стандартом

bHardwareSensors

любое, допустимое стандартом

lpszExtra

любое, допустимое стандартом

ulInitialCount

любое, допустимое стандартом

ulDispensedCount

любое, допустимое стандартом

ulPresentedCount

любое, допустимое стандартом

ulRetractedCount

любое, допустимое стандартом

ulRejectCount

любое, допустимое стандартом

Ошибки

  • WFS_ERR_CIM_INVALIDCASHUNIT;

  • WFS_ERR_CIM_EXCHANGEACTIVE.

События

  • WFS_USRE_CIM_CASHUNITTHRESHOLD – не поддерживается.

Примечания

  1. WFS_CMD_CIM_SET_CASH_UNIT_INFO только сбрасывает текущие счетчики кассеты.

WFS_CMD_CIM_START_EXCHANGE

Входные параметры

Поле

Значение

fwExchangeType

WFS_CIM_EXBYHAND

usTellerID

любое, допустимое стандартом

usCount

1

lpusCUNumList

по стандарту

lpOutput

любое, допустимое стандартом

Выходные параметры

Поле

Значение

usCount

1

lppCashIn

LPWFSCIMCASHIN

Таблица 26. LPWFSCIMCASHIN

Поле

Значение

usNumber

1

fwType

WFS_CIM_TYPECASHIN

fwItemType

WFS_CIM_CITYPALL

WFS_CIM_CITYPUNFIT

cUnitID

0

cCurrencyID

0

ulValues

0

ulCashInCount

0

ulCount

0

ulMaximum

по стандарту

usStatus

WFS_CIM_STATCUOK

WFS_CIM_STATCUFULL

WFS_CIM_STATCUHIGH

WFS_CIM_STATCUEMPTY

WFS_CIM_STATCUINOP

WFS_CIM_STATCUMISSING

WFS_CIM_STATCUMANIP

bAppLock

FALSE

lpNoteNumberList

по стандарту

usNumPhysicalCUs

по стандарту

lppPhysical

LPWFSCIMPHCU

lpszExtra

NULL

lpusNoteIDs

NULL

usCDMType

0

lpszCashUnitName

по стандарту

ulInitialCount

0

ulDispensedCount

0

ulPresentedCount

0

ulRetractedCount

0

ulRejectCount

0

ulMinimum

0

Таблица 27. LPWFSCIMPHCU

Поле

Значение

lpPhysicalPositionName

по стандарту

UnitID

по стандарту

ulCashInCount

по стандарту

ulCount

по стандарту

ulMaximum

по стандарту

usPStatus

WFS_CIM_STATCUOK

WFS_CIM_STATCUFULL

WFS_CIM_STATCUHIGH

WFS_CIM_STATCUEMPTY

WFS_CIM_STATCUINOP

WFS_CIM_STATCUMISSING

WFS_CIM_STATMANIP

bHardwareSensors

FALSE

lpszExtra

NULL

ulInitialCount

0

ulDispensedCount

0

ulPresentedCount

0

ulRetractedCount

0

ulRejectCount

0

Ошибки

  • WFS_ERR_CIM_INVALIDTELLERID – не поддерживается;

  • WFS_ERR_CIM_CASHUNITERROR;

  • WFS_EXEE_CIM_CASHUNITERROR;

  • WFS_ERR_CIM_TOOMANYITEMS;

  • WFS_ERR_CIM_EXCHANGEACTIVE;

  • WFS_ERR_CIM_CASHINACTIVE.

События

  • WFS_EXEE_CIM_CASHUNITERROR;

  • WFS_EXEE_CIM_NOTEERROR.

WFS_CMD_CIM_END_EXCHANGE

Входные параметры

Поле

Значение

usCount

1

lppCashIn

LPWFSCIMCASHIN

Таблица 28. LPWFSCIMCASHIN

Поле

Значение

usNumber

1

fwType

WFS_CIM_TYPECASHIN

fwItemType

любое, допустимое стандартом

cUnitID

любое, допустимое стандартом

cCurrencyID

любое, допустимое стандартом

ulValues

любое, допустимое стандартом

ulCashInCount

0

ulCount

0

ulMaximum

любое, допустимое стандартом

usStatus

любое, допустимое стандартом

bAppLock

любое, допустимое стандартом

lpNoteNumberList

NULL

usNumPhysicalCUs

любое, допустимое стандартом

lppPhysical

LPWFSCIMPHCU

lpszExtra

любое, допустимое стандартом

lpusNoteIDs

любое, допустимое стандартом

usCDMType

любое, допустимое стандартом

lpszCashUnitName

любое, допустимое стандартом

ulInitialCount

любое, допустимое стандартом

ulDispensedCount

любое, допустимое стандартом

ulPresentedCount

любое, допустимое стандартом

ulRetractedCount

любое, допустимое стандартом

ulRejectCount

любое, допустимое стандартом

ulMinimum

любое, допустимое стандартом

Таблица 29. LPWFSCIMPHCU

Поле

Значение

lpPhysicalPositionName

любое, допустимое стандартом

UnitID

любое, допустимое стандартом

ulCashInCount

0

ulCount

0

ulMaximum

любое, допустимое стандартом

usPStatus

любое, допустимое стандартом

bHardwareSensors

любое, допустимое стандартом

lpszExtra

любое, допустимое стандартом

ulInitialCount

любое, допустимое стандартом

ulDispensedCount

любое, допустимое стандартом

ulPresentedCount

любое, допустимое стандартом

ulRetractedCount

любое, допустимое стандартом

ulRejectCount

любое, допустимое стандартом

Ошибки

  • WFS_ERR_CIM_INVALIDTELLERID – не поддерживается;

  • WFS_ERR_CIM_CASHUNITERROR;

  • WFS_ERR_CIM_NOEXCHANGEACTIVE.

События

  • WFS_USRE_CIM_CASHUNITTHRESHOLD – не поддерживается;

  • WFS_SRVE_CIM_CASHUNITINFOCHANGED;

  • WFS_EXEE_CIM_CASHUNITERROR.

Примечания

  1. WFS_CMD_CIM_END_EXCHANGE сбрасывает счетчики кассеты и переводит ее в состояние WFS_CIM_STATCUOK. Емкость кассеты и значения других полей не изменяюся.

  2. Возможность сброса счетчиков при подаче WFS_CMD_CIM_END_EXCHANGE без параметров зависит от значения параметра RESET_CASSETTE_COUNTERS:

    • если RESET_CASSETTE_COUNTERS = 0, то счетчики не сбрасываются;

    • если RESET_CASSETTE_COUNTERS = 1, то счетчики сбрасываются.

  3. Если в реестре задан параметр DISABLE_CU_MANIPULATED = 0, то WFS_CMD_CIM_END_EXCHANGE сбрасывает признак извлечения кассеты вне режима инкассации (MANIPULATED_FLAG = 0).

  4. WFS_CMD_CIM_END_EXCHANGE сбрасывает количество зафиксированных попыток мошеннический действий (параметр FRAUD_ATTEMPTS_COUNT).

WFS_CMD_CIM_OPEN_SAFE_DOOR

Не поддерживается.

WFS_CMD_CIM_RESET

Входные параметры

Поле

Значение

usNumber

по стандарту

lpRetractArea

NULL

fwOutputPosition

WFS_CIM_POSNULL

WFS_CIM_POSOUTCENTER

Ошибки

  • WFS_ERR_CIM_CASHUNITERROR;

  • WFS_ERR_CIM_UNSUPPOSITION;

  • WFS_ERR_CIM_INVALIDCASHUNIT;

  • WFS_ERR_CIM_FOREIGN_ITEMS_DETECTED.

События

  • WFS_USRE_CIM_CASHUNITTHRESHOLD;

  • WFS_EXEE_CIM_CASHUNITERROR;

  • WFS_SRVE_CIM_MEDIADETECTED;

  • WFS_EXEE_CIM_INPUT_P6 – не поддерживается;

  • WFS_SRVE_CIM_ITEMSTAKEN;

  • WFS_EXEE_CIM_INFO_AVAILABLE – не поддерживается;

WFS_CMD_CIM_CONFIGURE_CASH_IN_UNITS

Не поддерживается.

WFS_CMD_CIM_CONFIGURE_NOTETYPES

Входные параметры

В соответствии со стандартом.

Ошибки

  • WFS_ERR_CIM_EXCHANGEACTIVE;

  • WFS_ERR_CIM_CASHINACTIVE – открыта транзакция приема наличных, принята хотя бы одна банкнота.

Примечания

  1. WFS_CMD_CIM_CONFIGURE_NOTETYPES может выполняться, если нет активной транзакции приема наличных и, если транзакция приема наличных открыта, но ни одна банкнота еще не принята.

WFS_CMD_CIM_CREATE_P6_SIGNATURE

Не поддерживается.

WFS_CMD_CIM_SET_GUIDANCE_LIGHT

Не поддерживается.

WFS_CMD_CIM_CONFIGURE_NOTE_READER

Не поддерживается.

WFS_CMD_CIM_COMPARE_P6_SIGNATURE

Не поддерживается.

WFS_CMD_CIM_POWER_SAVE_CONTROL

Не поддерживается.

События

Событие WFS_SYSE_USER_ERROR возникает в случае перехода устройства через внутреннее аппаратное состояние Cheated (мошеннические действия) и служит дополнительным способом оповестить внешнюю систему о нештатном течении транзакции приема наличных. Как правило, данное состояние возникает по ложным причинам и чаще всего связано с загрязнением оптических датчиков. При попадании в состояние Cheated устройство попытается вернуть банкноту.

Примечание

Из-за аппаратных ограничений и особенностей сборки отдельных экземпляров купюроприемников события WFS_EXEE_CIM_CASHUNITERROR, WFS_SRVE_CIM_CASHUNITINFOCHANGED, WFS_USRE_CIM_CASHUNITTHRESHOLD и WFS_SYSE_DEVICE_STATUS могут генерироваться с задержкой в несколько десятков секунд.

WFS_SRVE_CIM_SAFEDOOROPEN

Не поддерживается.

WFS_SRVE_CIM_SAFEDOORCLOSED

Не поддерживается.

WFS_USRE_CIM_CASHUNITTHRESHOLD

Поддерживается в соответствии со стандартом.

WFS_SRVE_CIM_CASHUNITINFOCHANGED

Поддерживается в соответствии со стандартом.

WFS_SRVE_CIM_TELLERINFOCHANGED

Не поддерживается.

WFS_EXEE_CIM_CASHUNITERROR

Поддерживается в соответствии со стандартом.

WFS_SRVE_CIM_ITEMSTAKEN

Поддерживается в соответствии со стандартом.

WFS_SRVE_CIM_COUNTS_CHANGED

Не поддерживается.

WFS_EXEE_CIM_INPUTREFUSE

Поддерживается в соответствии со стандартом.

WFS_SRVE_CIM_ITEMSPRESENTED

Поддерживается в соответствии со стандартом.

WFS_SRVE_CIM_ITEMSINSERTED

Поддерживается в соответствии со стандартом.

WFS_EXEE_CIM_NOTEERROR

Не поддерживается.

WFS_EXEE_CIM_SUBCASHIN

Не поддерживается.

WFS_SRVE_CIM_MEDIADETECTED

Поддерживается в соответствии со стандартом.

WFS_EXEE_CIM_INPUT_P6

Не поддерживается.

WFS_EXEE_CIM_INFO_AVAILABLE

Не поддерживается.

WFS_EXEE_CIM_INSERTITEMS

Поддерживается в соответствии со стандартом.

WFS_SRVE_CIM_DEVICEPOSITION

Не поддерживается.

WFS_SRVE_CIM_POWER_SAVE_CHANGE

Не поддерживается.

Дополнительная информация

Аппаратные особенности

Устройство не предусматривает автономного датчика заполнения кассеты. Вместо него, аналогично моделям CashCode, заполнение определяется некоторой последовательностью событий, включающей фиксирование вытягивания ранее складированной банкноты из кассеты с последующим захватом (складированием) обоих банкнот (вставленной и вытянутой из кассеты). Вытягивание банкноты при отбраковке и с последующим складированием увеличивает счетчик кассеты на одну нераспознанную банкноту и назначает ей нулевой идентификатор номинала. Опрос датчиков кассеты не производится, если получено разрешение на прием (статусы Idling, Accepting и пр.). Датчики кассеты возвращаются только в состояниях Initialize, UnitDisabled.

Расшифровка сервисных байт

Для облегчения поиска недостач и отладки алгоритма работы купюроприемника DORS 210BA, производится запись в лог состояния датчиков и прочих переменных. Последовательность логируемых переменных спецификацией не определена и может меняться в различных версиях прошивки. Ниже приведен перечень логируемых переменных для разных версий прошивки.

v3.8.0 и выше

POLLING: NEW STATE -> CCashCodeHW::Initialize [0x0013], SERVICE BYTES: [D34A7B09000000000101FF0CFF08697700D3]
  • 0xD3 – метка, обозначающая точку ПО в момент фиксации состояния датчиков. Информация полезна только для разработчиков при анализе алгоритма работы.

  • 0x4A7B0900 – метка времени в мс от начала работы КП. Означает: 0х00097B4A – в шестнадцатиречном формате, 621386 мс – в десятичном формате.

  • 0x00 – состояния датчика старта: 0x00 – датчик свободен, 0x01 – датчик перекрыт банкнотой.

  • 0x00 – состояние сканера: 0x00 – сканер свободен, 0x01 – сканер перекрыт банкнотой.

  • 0x00 – состояние датчика окончания тракта (датчика Escrow): 0x00 – датчик свободен, 0x01 – датчик перекрыт банкнотой.

  • 0x01 – состояние датчика входа в кассету: 0x00 – датчик свободен, 0x01 – датчик перекрыт банкнотой.

  • 0x01 – состояние датчика наличия кассеты: 0x00 – кассета присутствует, 0x01 – кассета извлечена.

  • 0xАА – уровень сигнала датчика старта при включении подсветки. Диапазон: 0x000xFF.

  • 0x0С – уровень сигнала датчика старта без включения подсветки (уровень внешней засветки). Диапазон: 0x000xFF.

  • 0xFF – уровень сигнала датчика Escrow при включении подсветки. Диапазон: 0x000xFF.

  • 0x08 – уровень сигнала датчика Escrow без включения подсветки (уровень внешней засветки). Диапазон: 0x000xFF.

  • 0x69 – уровень сигнала датчика наличия кассеты при включении подсветки. Диапазон: 0x000xFF.

  • 0x77 – уровень сигнала датчика наличия кассеты без включения подсветки (уровень внешней засветки). Диапазон: 0x000xFF.

  • 0x00 – битовая маска, отражающая текущие режимы или состояния купюроприемника.

    • бит 7 – 1 (отключена проверка датчика наличия кассеты в состоянии UnitDisabled), 0 (по умолчанию, включена проверка датчика наличия кассеты в состоянии UnitDisabled);

    • бит 6 – 1 (режим высокого уровня наполнения кассеты включен), 0 (по умолчанию, режим высокого уровня наполнения кассеты отключен);

    • бит 5 – 1 (включен режим передачи полного стека состояний прибора), 0 (по умолчанию, включен режим передачи только текущего состояния прибора);

    • бит 4 – 1 (отключена проверка магнитных меток в базе валидации), 0 (по умолчанию, включена проверка магнитных меток в базе валидации);

    • бит 3 – 1, 0 (по умолчанию);

    • бит 2 – 1, 0 (по умолчанию);

    • бит 1 – 1, 0 (по умолчанию);

    • бит 0 – 1 (магнитный датчик неисправен), 0 (по умолчанию, магнитный датчик исправен).

  • 0xD3 – метка, обозначающая завершение сообщения. Повторяет байт 1 сервисного сообщения.

v3.6.0 и выше

POLLING: NEW STATE -> CCashCodeHW::Initialize [0x0013], SERVICE BYTES: [D34A7B09000000000101FF0CFF08697700D3]
  • 0xD3 – метка, обозначающая точку ПО в момент фиксации состояния датчиков. Информация полезна только для разработчиков при анализе алгоритма работы.

  • 0x4A7B0900 – метка времени в мс от начала работы КП. Означает: 0х00097B4A – в шестнадцатиречном формате, 621386 мс – в десятичном формате.

  • 0x00 – состояния датчика старта: 0x00 – датчик свободен, 0x01 – датчик перекрыт банкнотой.

  • 0x00 – состояние сканера: 0x00 – сканер свободен, 0x01 – сканер перекрыт банкнотой.

  • 0x00 – состояние датчика окончания тракта (датчика Escrow): 0x00 – датчик свободен, 0x01 – датчик перекрыт банкнотой.

  • 0x01 – состояние датчика входа в кассету: 0x00 – датчик свободен, 0x01 – датчик перекрыт банкнотой.

  • 0x01 – состояние датчика наличия кассеты: 0x00 – кассета присутствует, 0x01 – кассета извлечена.

  • 0xАА – уровень сигнала датчика старта при включении подсветки. Диапазон: 0x000xFF.

  • 0x0С – уровень сигнала датчика старта без включения подсветки (уровень внешней засветки). Диапазон: 0x000xFF.

  • 0xFF – уровень сигнала датчика Escrow при включении подсветки. Диапазон: 0x000xFF.

  • 0x08 – уровень сигнала датчика Escrow без включения подсветки (уровень внешней засветки). Диапазон: 0x000xFF.

  • 0x69 – уровень сигнала датчика наличия кассеты при включении подсветки. Диапазон: 0x000xFF.

  • 0x77 – уровень сигнала датчика наличия кассеты без включения подсветки (уровень внешней засветки). Диапазон: 0x000xFF.

  • 0x00 – состояние магнитного датчика: 0x00 – датчик исправен, 0x01 – датчик неисправен, 0x10 – отключена проверка магнитных меток в базе валидации, 0x11 – датчик неисправен, отключена проверка магнитных меток в базе валидации.

  • 0xD3 – метка, обозначающая завершение сообщения. Повторяет байт 1 сервисного сообщения.

v0.1.35 и выше

POLLING: NEW STATE -> CCashCodeHW::BillReturned [0x0082], SERVICE BYTES: [D60100000000170DFF0900]
  • 0xD6 – метка, обозначающая точку ПО в момент фиксации состояния датчиков. Информация полезна только для разработчиков при анализе алгоритма работы.

  • 0x01 – состояния датчика старта: 0x00 – датчик свободен, 0x01 – датчик перекрыт банкнотой.

  • 0x00 – состояние сканера: 0x00 – сканер свободен, 0x01 – сканер перекрыт банкнотой.

  • 0x00 – состояние датчика окончания тракта (датчика Escrow): 0x00 – датчик свободен, 0x01 – датчик перекрыт банкнотой.

  • 0x00 – состояние датчика входа в кассету: 0x00 – датчик свободен, 0x01 – датчик перекрыт банкнотой.

  • 0x17 – уровень сигнала датчика старта при включении подсветки. Диапазон: 0x000xFF.

  • 0x0D – уровень сигнала датчика старта без включения подсветки (уровень внешней засветки). Диапазон: 0x000xFF.

  • 0xFF – уровень сигнала датчика Escrow при включении подсветки. Диапазон: 0x000xFF.

  • 0x09 – уровень сигнала датчика Escrow без включения подсветки (уровень внешней засветки). Диапазон: 0x000xFF.

  • 0x00 – состояние магнитного датчика: 0x00 – датчик исправен, 0x01 – датчик неисправен, 0x10 – отключена проверка магнитных меток в базе валидации, 0x11 – датчик неисправен, отключена проверка магнитных меток в базе валидации.

v0.1.34 и выше

POLLING: NEW STATE -> CCashCodeHW::BillReturned [0x0082], SERVICE BYTES: [D60100000000170DFF09]
  • 0xD6 – метка, обозначающая точку ПО в момент фиксации состояния датчиков. Информация полезна только для разработчиков при анализе алгоритма работы.

  • 0x01 – состояния датчика старта: 0x00 – датчик свободен, 0x01 – датчик перекрыт банкнотой.

  • 0x00 – состояние сканера: 0x00 – сканер свободен, 0x01 – сканер перекрыт банкнотой.

  • 0x00 – состояние датчика окончания тракта (датчика Escrow): 0x00 – датчик свободен, 0x01 – датчик перекрыт банкнотой.

  • 0x00 – состояние датчика входа в кассету: 0x00 – датчик свободен, 0x01 – датчик перекрыт банкнотой.

  • 0x00 – состояние датчика наличия кассеты: 0x00 – кассета присутствует, 0x01 – кассета извлечена.

  • 0x17 – уровень сигнала датчика старта при включении подсветки. Диапазон: 0x000xFF.

  • 0x0D – уровень сигнала датчика старта без включения подсветки (уровень внешней засветки). Диапазон: 0x000xFF.

  • 0xFF – уровень сигнала датчика Escrow при включении подсветки. Диапазон: 0x000xFF.

  • 0x09 – уровень сигнала датчика Escrow без включения подсветки (уровень внешней засветки). Диапазон: 0x000xFF.

v0.1.31 и выше

POLLING: NEW STATE -> CCashCodeHW::BillReturned [0x0082], SERVICE BYTES: [D601000000170DFF09]
  • 0xD6 – метка, обозначающая точку ПО в момент фиксации состояния датчиков. Информация полезна только для разработчиков при анализе алгоритма работы.

  • 0x01 – состояния датчика старта: 0x00 – датчик свободен, 0x01 – датчик перекрыт банкнотой.

  • 0x00 – состояние сканера: 0x00 – сканер свободен, 0x01 – сканер перекрыт банкнотой.

  • 0x00 – состояние датчика окончания тракта (датчика Escrow): 0x00 – датчик свободен, 0x01 – датчик перекрыт банкнотой.

  • 0x00 – состояние датчика входа в кассету: 0x00 – датчик свободен, 0x01 – датчик перекрыт банкнотой.

  • 0x17 – уровень сигнала датчика старта при включении подсветки. Диапазон: 0x000xFF.

  • 0x0D – уровень сигнала датчика старта без включения подсветки (уровень внешней засветки). Диапазон: 0x000xFF.

  • 0xFF – уровень сигнала датчика Escrow при включении подсветки. Диапазон: 0x000xFF.

  • 0x09 – уровень сигнала датчика Escrow без включения подсветки (уровень внешней засветки). Диапазон: 0x000xFF.