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 с указанием причины:
CHEATED – при попытке фишинга в состояниях Escrow(0x80), Pause(0x46), Holding(0x1A). После чего банкнота будет возвращена обратно. Параметры события: lpbDescription = CIM: CHEATED.
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 |
|
lpszExtra |
|
dwGuidLights |
WFS_CIM_GUIDANCE_NOT_AVAILABLE |
wDevicePosition |
WFS_CIM_DEVICEPOSNOTSUPP |
usPowerSaveRecoveryTime |
0 |
Поле |
Значения |
---|---|
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 |
Поле |
Значения |
---|---|
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 |
количество попыток мошенничества |
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 |
|
dwGuidLights |
WFS_CIM_GUIDANCE_NOT_AVAILABLE |
dwItemInfoTypes |
NONE |
bCompareSignatures |
FALSE |
bPowerSaveControl |
FALSE |
Поле |
Значения |
---|---|
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 |
Поле |
Значения |
---|---|
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 |
|
lpszExtra |
NULL |
lpusNoteIDs |
NULL |
usCDMType |
0 |
lpszCashUnitName |
NULL |
ulInitialCount |
0 |
ulDispensedCount |
0 |
ulPresentedCount |
0 |
ulRetractedCount |
0 |
ulRejectCount |
0 |
ulMinimum |
0 |
Поле |
Значения |
---|---|
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¶
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 |
NULL |
Поле |
Поле |
Значения |
---|---|---|
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.
Примечания¶
WFS_CMD_CIM_CASH_IN не завершается до принятия банкноты.
В процессе ожидания банкноты устройство не контроллирует наличие кассеты. Эта особенность не позволяет прервать выполнение команды при каких-либо манипуляциях с кассетой.
Если включен режим непрерывного приема (
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 |
|
lpszExtra |
любое, допустимое стандартом |
lpusNoteIDs |
любое, допустимое стандартом |
usCDMType |
любое, допустимое стандартом |
lpszCashUnitName |
любое, допустимое стандартом |
ulInitialCount |
любое, допустимое стандартом |
ulDispensedCount |
любое, допустимое стандартом |
ulPresentedCount |
любое, допустимое стандартом |
ulRetractedCount |
любое, допустимое стандартом |
ulRejectCount |
любое, допустимое стандартом |
ulMinimum |
любое, допустимое стандартом |
Поле |
Значение |
---|---|
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 – не поддерживается.
Примечания¶
WFS_CMD_CIM_SET_CASH_UNIT_INFO только сбрасывает текущие счетчики кассеты.
WFS_CMD_CIM_START_EXCHANGE¶
Входные параметры¶
Поле |
Значение |
---|---|
fwExchangeType |
WFS_CIM_EXBYHAND |
usTellerID |
любое, допустимое стандартом |
usCount |
1 |
lpusCUNumList |
по стандарту |
lpOutput |
любое, допустимое стандартом |
Выходные параметры¶
Поле |
Значение |
---|---|
usCount |
1 |
lppCashIn |
Поле |
Значение |
---|---|
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 |
|
lpszExtra |
NULL |
lpusNoteIDs |
NULL |
usCDMType |
0 |
lpszCashUnitName |
по стандарту |
ulInitialCount |
0 |
ulDispensedCount |
0 |
ulPresentedCount |
0 |
ulRetractedCount |
0 |
ulRejectCount |
0 |
ulMinimum |
0 |
Поле |
Значение |
---|---|
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 |
Поле |
Значение |
---|---|
usNumber |
1 |
fwType |
WFS_CIM_TYPECASHIN |
fwItemType |
любое, допустимое стандартом |
cUnitID |
любое, допустимое стандартом |
cCurrencyID |
любое, допустимое стандартом |
ulValues |
любое, допустимое стандартом |
ulCashInCount |
0 |
ulCount |
0 |
ulMaximum |
любое, допустимое стандартом |
usStatus |
любое, допустимое стандартом |
bAppLock |
любое, допустимое стандартом |
lpNoteNumberList |
NULL |
usNumPhysicalCUs |
любое, допустимое стандартом |
lppPhysical |
|
lpszExtra |
любое, допустимое стандартом |
lpusNoteIDs |
любое, допустимое стандартом |
usCDMType |
любое, допустимое стандартом |
lpszCashUnitName |
любое, допустимое стандартом |
ulInitialCount |
любое, допустимое стандартом |
ulDispensedCount |
любое, допустимое стандартом |
ulPresentedCount |
любое, допустимое стандартом |
ulRetractedCount |
любое, допустимое стандартом |
ulRejectCount |
любое, допустимое стандартом |
ulMinimum |
любое, допустимое стандартом |
Поле |
Значение |
---|---|
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.
Примечания¶
WFS_CMD_CIM_END_EXCHANGE сбрасывает счетчики кассеты и переводит ее в состояние WFS_CIM_STATCUOK. Емкость кассеты и значения других полей не изменяюся.
Возможность сброса счетчиков при подаче WFS_CMD_CIM_END_EXCHANGE без параметров зависит от значения параметра RESET_CASSETTE_COUNTERS:
если
RESET_CASSETTE_COUNTERS = 0
, то счетчики не сбрасываются;если
RESET_CASSETTE_COUNTERS = 1
, то счетчики сбрасываются.
Если в реестре задан параметр
DISABLE_CU_MANIPULATED = 0
, то WFS_CMD_CIM_END_EXCHANGE сбрасывает признак извлечения кассеты вне режима инкассации (MANIPULATED_FLAG = 0
).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 – открыта транзакция приема наличных, принята хотя бы одна банкнота.
Примечания¶
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АА – уровень сигнала датчика старта при включении подсветки. Диапазон:
0x00
–0xFF
.0x0С – уровень сигнала датчика старта без включения подсветки (уровень внешней засветки). Диапазон:
0x00
–0xFF
.0xFF – уровень сигнала датчика Escrow при включении подсветки. Диапазон:
0x00
–0xFF
.0x08 – уровень сигнала датчика Escrow без включения подсветки (уровень внешней засветки). Диапазон:
0x00
–0xFF
.0x69 – уровень сигнала датчика наличия кассеты при включении подсветки. Диапазон:
0x00
–0xFF
.0x77 – уровень сигнала датчика наличия кассеты без включения подсветки (уровень внешней засветки). Диапазон:
0x00
–0xFF
.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АА – уровень сигнала датчика старта при включении подсветки. Диапазон:
0x00
–0xFF
.0x0С – уровень сигнала датчика старта без включения подсветки (уровень внешней засветки). Диапазон:
0x00
–0xFF
.0xFF – уровень сигнала датчика Escrow при включении подсветки. Диапазон:
0x00
–0xFF
.0x08 – уровень сигнала датчика Escrow без включения подсветки (уровень внешней засветки). Диапазон:
0x00
–0xFF
.0x69 – уровень сигнала датчика наличия кассеты при включении подсветки. Диапазон:
0x00
–0xFF
.0x77 – уровень сигнала датчика наличия кассеты без включения подсветки (уровень внешней засветки). Диапазон:
0x00
–0xFF
.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 – уровень сигнала датчика старта при включении подсветки. Диапазон:
0x00
–0xFF
.0x0D – уровень сигнала датчика старта без включения подсветки (уровень внешней засветки). Диапазон:
0x00
–0xFF
.0xFF – уровень сигнала датчика Escrow при включении подсветки. Диапазон:
0x00
–0xFF
.0x09 – уровень сигнала датчика Escrow без включения подсветки (уровень внешней засветки). Диапазон:
0x00
–0xFF
.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 – уровень сигнала датчика старта при включении подсветки. Диапазон:
0x00
–0xFF
.0x0D – уровень сигнала датчика старта без включения подсветки (уровень внешней засветки). Диапазон:
0x00
–0xFF
.0xFF – уровень сигнала датчика Escrow при включении подсветки. Диапазон:
0x00
–0xFF
.0x09 – уровень сигнала датчика Escrow без включения подсветки (уровень внешней засветки). Диапазон:
0x00
–0xFF
.
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 – уровень сигнала датчика старта при включении подсветки. Диапазон:
0x00
–0xFF
.0x0D – уровень сигнала датчика старта без включения подсветки (уровень внешней засветки). Диапазон:
0x00
–0xFF
.0xFF – уровень сигнала датчика Escrow при включении подсветки. Диапазон:
0x00
–0xFF
.0x09 – уровень сигнала датчика Escrow без включения подсветки (уровень внешней засветки). Диапазон:
0x00
–0xFF
.