Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.08.27;
Скачать: CL | DM;

Вниз

Купюроприемник CashCode, протокол ccnet   Найти похожие ветки 

 
имя   (2007-06-26 23:33) [40]

Удалено модератором


 
malor   (2007-07-04 11:23) [41]

Несколько вопросов по "Описанию протокола CCNET", как переводятся слова/фразы:
Bill-to-Bill unit
Coin Changer
escrow
Cassete
recycling


 
anonym   (2007-10-19 18:00) [42]

Алекс_ТК синхронизация для потока нужна


 
Alexccc   (2007-10-30 12:10) [43]

Товарищи подскажите пожайлуста, что делать, купюрник не хочет брать денюжку-выплёвывает, а если надовить сверху то берет (иногда), и время от времени пишит "зажевана купюра" CashCode PartNo: MSM-3005KZ2101


 
Felan   (2007-12-06 09:05) [44]

Может кто сталкивался и может объяснить пару моментов с купюрником SM-2073RU1615.

1 Чем отличается в команде ENEBLE_BILL_TYPES разрешенные купюры и купюры разрешенные для ESCROW;

2 Почему при установки повышенного уровня защиты для типов купюр командой SET_SECURITY получаем ответ ACK.
Т.е. команда выполнена, но при попытки прочитать эти данные командой GET_STATUS получаем, что у всех купюр обычный уровень защиты.

На всякий случай вот полный лог обмена:

[TBillValidatorAPI] Окрыт порт 1
[TBillValidatorAPI] Отправка команды TBillValidatorAPICMD_GET_STATUS
[TBillValidatorAPICMD_GET_STATUS] Создана команда TBillValidatorAPICMD_GET_STATUS <02 03 06 31 C8 A2>
[TBillValidatorAPI] Получен первый блок <02 03 0B>
[TBillValidatorAPI] Получен второй блок <00 00 00 00 00 00 A8 67>
[TBillValidatorAPICMD_GET_STATUS] Парсинг ответа TBillValidatorAPICMD_GET_STATUS <02 03 0B 00 00 00 00 00 00 A8 67>
[TBillValidatorAPI] Отправка команды TBillValidatorAPICMD_ACK
[TBillValidatorAPI] ACK/NAK Timeout <200>

>>> Здесь получили, что у купюрника не установлены биты повышенной защиты

[TBillValidatorAPI] Отправка команды TBillValidatorAPICMD_SET_SECURITY
[TBillValidatorAPICMD_SET_SECURITY] Создана команда TBillValidatorAPICMD_SET_SECURITY <02 03 09 32 80 00 FC 29 2E>
[TBillValidatorAPI] Получен первый блок <02 03 06>
[TBillValidatorAPI] Получен второй блок <00 C2 82>
[TBillValidatorAPICMD_SET_SECURITY] Парсинг ответа TBillValidatorAPICMD_SET_SECURITY <02 03 06 00 C2 82>

>>> Установли повышенную защиту для всех купюр кроме купонов.

[TBillValidatorAPI] Отправка команды TBillValidatorAPICMD_GET_STATUS
[TBillValidatorAPICMD_GET_STATUS] Создана команда TBillValidatorAPICMD_GET_STATUS <02 03 06 31 C8 A2>
[TBillValidatorAPI] Получен первый блок <02 03 0B>
[TBillValidatorAPI] Получен второй блок <00 00 00 00 00 00 A8 67>
[TBillValidatorAPICMD_GET_STATUS] Парсинг ответа TBillValidatorAPICMD_GET_STATUS <02 03 0B 00 00 00 00 00 00 A8 67>
[TBillValidatorAPI] Отправка команды TBillValidatorAPICMD_ACK
[TBillValidatorAPI] ACK/NAK Timeout <200>

>>> А здесь нам говорят, что нифига не установлено...

Может я чего делаю не так???


 
Ravenlord   (2008-05-29 18:46) [45]

Реализую независимый от Кешкодовской ДДЛки модуль работы с купюроприемником Cashckode. Тип протокола ID003.
Возникла проблема при нахождении контрольной суммы пакета

В тех. мануале описана функция нахождения СRC как P(x)=x^14+x^12+x^5+1… Вот только не понятно.. что такое X &#61514; в условии формата пакета [FCh][LNG][DATA Bytes][CRC]


 
Ravenlord   (2008-05-30 17:26) [46]

После расспроса тех. поддержки - получил версию функции на С.
Привожу вариант, адаптированный под Delphi

var
inter_crc_l:byte;
inter_crc_h:byte;

const polinom:integer = $8408;

procedure calc_crc(b:byte)
var
i,c:byte;
temp_crc:uint;
begin
inter_crc_l := inter_crc_l xor b;
temp_crc := inter_crc_h;
temp_crc := temp_crc shl 8;
temp_crc := temp_crc or inter_crc_l;
for i:=0 to 7 do begin
 c := temp_crc and $01;
 temp_crc := temp_crc shr 1;
 if c>0 then temp_crc := temp_crc xor polinom;
end;
inter_crc_h := temp_crc shr 8;
inter_crc_l := temp_crc;
end;


 
iVor ©   (2008-06-07 15:14) [47]

Работаю с купюроприемником CashCode Bill-to-Bill по протоколу CCNet, за основу взял опубликованный здесь исходник с потоками. Спасибо за него кстати. В благодарность готов поделиться решениями некоторых проблем, вставших в процессе разработки. На данный момент программа завершена на 90%. К сожалению, поделиться не могу, так как это коммерческий продукт.

по поводу ЦРЦ - в мануале по протоколу, который выложен на сайте кэшкода, есть исходник на дельфи. работает 100%


 
Gbp   (2008-06-18 17:47) [48]

Здравствуйте. Поделитесь пожалуйста dll"кой, которая испльзуется в коде на второй странице. Мне очень нужно быстро разобраться с купюроприемником, горит проект!


 
Gbp   (2008-06-18 17:48) [49]

Она называется CashCodeSM.dll


 
Tonich   (2008-06-20 18:34) [50]

не считаю себя профи конечно, но не дай бог воспользоваться кодом который приведен выше... ) ни синхронизации ни обработок ошибок ни черта ...  
Выкачав  описание протокола, реализовал его за сутки.  правда на с++ под линукс, но это не так уж и важно..


 
tesseract ©   (2008-06-20 18:42) [51]


> не считаю себя профи конечно, но не дай бог воспользоваться
> кодом который приведен выше... )


Я видел какие люди этими автоматами разбираються, и изнутри их. С тех пор не пользуюсь, виснут примерно 2-3 раза в неделю  ( у нас который под боком). Сдачи не дают и тд. Система - явно хакнутая винда, до линухов мальчикам-мажорам котрые под него софт пишут, рости и рости.


 
Gbp   (2008-06-26 22:28) [52]

Здравствуйте.
Не подскажите ли, как можно уменьшить степень "требовательности"
купюроприемника к качеству купюр?

Я работаю с протоколом CCNET. Нужно использовать команду SET_STATUS?
Не подскажите как ей пользоваться, какие передавать параметры, чтобы купюроприемник принимал бОльшее число купюр


 
Gbp   (2008-06-26 22:29) [53]

Тьфу, то есть команду SET_SECURITY.


 
Tonich   (2008-06-27 12:57) [54]

SYNC - 0x02
ADR   - 0x03
LNG   - 0x09
CMD  - 0x32
DATA - 3 байта в которых ответствующим образом выставленные биты (0x00 0x00 0x00)
CRC   -  

то есть там всего 24 канала(у устройства) и выставляя биты в DATA соответствующим образом в этих 3 байтах ты скажешь указать какой канал проверять с high security level а какой нет

то есть в твоем случаи опусти все биты

после этого устройство должно ответить ..


 
Gbp   (2008-06-28 14:36) [55]

Спасибо большое за информацию.
А CRC нужно рассчитывать?


 
Gbp   (2008-06-28 14:46) [56]

Если нужно, то как его считать?


 
Gbp   (2008-06-30 10:40) [57]

все, нашел код

const _CR_CCNET_CRC_POLY = $08408

function GetCRC16(InData: array of byte; DataLng: word): word;
var i,TmpCRC: word;
   j: byte;
begin
result:=0;
for i:=0 to (DataLng-1) do
begin
 TmpCRC:=result xor InData[i];
 for j:=0 to 7 do
  begin
   if (TmpCRC and $0001)<>0 then
    begin
     TmpCRC:=TmpCRC shr 1;
     TmpCRC:=TmpCRC xor _CR_CCNET_CRC_POLY;
    end
        else
    TmpCRC:=TmpCRC shr 1;
  end;
 result:=TmpCRC;
end;
end;


 
имя   (2008-07-15 20:31) [58]

Удалено модератором


 
имя   (2008-07-15 23:22) [59]

Удалено модератором


 
имя   (2008-07-23 19:05) [60]

Удалено модератором


 
tesseract ©   (2008-07-23 20:37) [61]

Удалено модератором


 
antoxa   (2008-08-03 14:36) [62]

А можно исходничек на annews@mail.primorye.ru ?


 
Мистер М   (2008-09-12 12:55) [63]

TO Darth Avenger
А можно и мне исходник? reid@tut.by
Или просто последовательность сообщений, которой можно инициализировать хоть какой-то режим работы CashCode.
Заранее благодарен!


 
thoth   (2008-11-19 19:20) [64]

Алекс_ТК
спасибо за рабочий код. выручили.


 
имя   (2009-01-09 01:24) [65]

Удалено модератором


 
имя   (2009-01-09 01:25) [66]

Удалено модератором


 
имя   (2009-02-07 19:22) [67]

Удалено модератором



Страницы: 1 2 вся ветка

Текущий архив: 2010.08.27;
Скачать: CL | DM;

Наверх




Память: 0.59 MB
Время: 0.075 c
15-1275630445
oxffff
2010-06-04 09:47
2010.08.27
Июнь. Витязево(Анапа). Кто-нибудь собирается?


15-1271936340
12
2010-04-22 15:39
2010.08.27
PHP. mssql_fetch_array сдвигает курсор?!!


15-1265370112
DillerXX
2010-02-05 14:41
2010.08.27
Пыль


15-1275455248
ZeroDivide
2010-06-02 09:07
2010.08.27
Как работают подобные устройства?


9-1186669282
Cerberus
2007-08-09 18:21
2010.08.27
Броня в огне