CCNET для CashCode

Консультации специалистов «Crane Payment Innovation»
Гость

Сообщение Гость » 07 апр 2011, 20:08

Здравствуйте testmode. Использую ваш модуль работы с купюроприемником CashCode.

Подскажите, а возможно ли узнать из купюрника какой номинал он распознал, когда ёщё не положил купюру в кассету? На сколько я понимаю это можно узнать когда он переходит в состояние: 216 - Акцепт. Мне просто нужно, чтобы он не проглатывал купюру если общее количество принятых купюр превышает значение Sum определённое в функции PollingLoop, а делал Return().

Воможно ли так сделать?

Гость

Сообщение Гость » 08 апр 2011, 23:20

Разобрался!!!!!
Гость

Сообщение Гость » 10 апр 2011, 17:02

friti писал(а):Здравствуйте testmode. Использую ваш модуль работы с купюроприемником CashCode.

Подскажите, а возможно ли узнать из купюрника какой номинал он распознал, когда ёщё не положил купюру в кассету? На сколько я понимаю это можно узнать когда он переходит в состояние: 216 - Акцепт. Мне просто нужно, чтобы он не проглатывал купюру если общее количество принятых купюр превышает значение Sum определённое в функции PollingLoop, а делал Return().

Воможно ли так сделать?



Это возможно реализовать через систему депонирования купюры, куп может принять одну купюру на депозит и в зависимости от условия либо положить купюру в кассету либо вернуть. В данном модуле депонирование не реализовано (небыло потребности).
Гость

Сообщение Гость » 21 апр 2011, 16:22

Здравсвуйте. Не подскажите как можно узнть статус кассеты. Надо узнать кассета на месте или была снята. Спасибо большое!
Гость

Сообщение Гость » 05 май 2011, 15:11

Verdana писал(а):Здравсвуйте. Не подскажите как можно узнть статус кассеты. Надо узнать кассета на месте или была снята. Спасибо большое!


1. вариант

Код: Выделить всё

Poll();

FirsByte  :=FData[0];
SEcondByte:=FData[1];

if FirsByte = $42
then Showmessage('Кассеты нет');

2. Вариант

Код: Выделить всё

PollingLoop(1);


а в обработчике события OnProcessMessage в первой переменной CodeMess ловить код 219
hos
участник форума
Сообщения: 122
Зарегистрирован: 07 сен 2011, 11:51

Сообщение hos » 07 сен 2011, 11:54

Не знаю насколько актуально, но может кому пригодится - есть готовые отлаженные модули работы с купюрниками по ccnet и id003 на java. Работают под все ОС, легко прикручиваются к любому проекту не только на java, а так же и на flash, html/js, php.
Так же есть модули для работы с другими устройствами через com порт на java - монетоприемники (cctalk), термопринтеры различных марок, и прочее...

Если кому интересно - то пишите на denis0372 собака mail точка ru, договоримся!
Разработка ПО для киосков/терминалов/автоматов. Работа с всевозможными устройствами через com-порт (rs232), работа с монетоприемниками, купюроприемниками CashCode, JCM и др (ccnet, id-003, cctalk ), работа с термопринтерами, диспенсерами, кардридерами...
deleted
Ваня, музыкант...
Сообщения: 1559
Зарегистрирован: 12 авг 2008, 15:00

Сообщение deleted » 07 сен 2011, 14:47

keedes писал(а):
Sapog писал(а):Ребят укажите какой нибудь ресурс, куда выложить наброски кода. Пишу на java ...

[удалено админом]
поисковый спам. по ссылке о мобильном контенте речь идет



а с набросками кода на гитхаб например, если знакомы буквы svn
Гость

Сообщение Гость » 23 сен 2011, 14:52

А ложно это все перенести на С#?

Вопрос как на С# принять купюру???
Multiporocessing_KIT
Эксперт
Сообщения: 2363
Зарегистрирован: 16 авг 2011, 18:22

Сообщение Multiporocessing_KIT » 23 сен 2011, 15:35

SergeyBr писал(а):А ложно это все перенести на С#?

Вопрос как на С# принять купюру???


Вы там часом не процессинг пишите?b_r
Гость

Сообщение Гость » 27 сен 2011, 11:32

SergeyBr писал(а):А ложно это все перенести на С#?

Вопрос как на С# принять купюру???


Не вижу проблем, описание протокола не привязано к какому либо языку. Если вы знаете C#, то в конечном счете все должно свестись к работе с COM портом.
Гость

Сообщение Гость » 29 сен 2011, 11:14

if FirsByte = $42


$42 - это, что за зверь и откуда он взялся???????
Гость

Сообщение Гость » 29 сен 2011, 11:22

testmode писал(а):Не вижу проблем, описание протокола не привязано к какому либо языку



У меня по протоколу возникло несколько вопросов:

там дается HEXcod как его переводить????
$42 - это, что за зверь и откуда он взялся???????
Гость

Сообщение Гость » 30 сен 2011, 18:33

SergeyBr писал(а):
testmode писал(а):Не вижу проблем, описание протокола не привязано к какому либо языку



У меня по протоколу возникло несколько вопросов:

там дается HEXcod как его переводить????
$42 - это, что за зверь и откуда он взялся???????


42H Drop Cassette out of position The Bill Validator has detected the drop cassette to be open or removed.

Не знаю как в C# но в Delphi перевод из 16 в 10 примерно так StrToInt('$42');

P/S/ Для анализа протокола есть замечательная документация от CashCode называется как "CashCode NET Interface"
Гость

Сообщение Гость » 15 окт 2011, 18:14

Доброго времени суток.
Спасибо за проделанную работу, модуль отлично работает. Единственное чего не предусмотрено - работа с купонами. В связи с этим сложилась следующая ситуация: добавить распознавание купона со штрих кодом в функцию PollingLoop проблем не составило, вопрос в другом - если при распознавании купюры, функция присваивает номинал по уже заранее определенному байту, то при распознавании купона со штрих кодом, номер этого самого штрих кода необходимо получить. В документации написано про команду EXTRACT BARCODE DATA. Но что делать дальше после посылки этой команды - ума не приложу. Может у кого нибудь есть идеи?

Код: Выделить всё

$81:begin
   ProcessMessage(246,'Укладка');
   case SEcondByte of
   2:BillNominal:=10;
   3:BillNominal:=50;
   4:BillNominal:=100;
   5:BillNominal:=500;
   6:BillNominal:=1000;
   7:BillNominal:=5000;
   23:   begin
      SendPacket($58,[]); // посыл команды EXTRACT BARCODE DATA
      //NumberBarCode:= полученный преобразованный ответ... вот тут я и призадумался
      //BillNominal:=NumberBarCode;
      end;
   end;
   end;
Гость

Сообщение Гость » 17 окт 2011, 08:57

flytarget писал(а):Доброго времени суток.
Спасибо за проделанную работу, модуль отлично работает. Единственное чего не предусмотрено - работа с купонами. В связи с этим сложилась следующая ситуация: добавить распознавание купона со штрих кодом в функцию PollingLoop проблем не составило, вопрос в другом - если при распознавании купюры, функция присваивает номинал по уже заранее определенному байту, то при распознавании купона со штрих кодом, номер этого самого штрих кода необходимо получить. В документации написано про команду EXTRACT BARCODE DATA. Но что делать дальше после посылки этой команды - ума не приложу. Может у кого нибудь есть идеи?

Код: Выделить всё

$81:begin
   ProcessMessage(246,'Укладка');
   case SEcondByte of
   2:BillNominal:=10;
   3:BillNominal:=50;
   4:BillNominal:=100;
   5:BillNominal:=500;
   6:BillNominal:=1000;
   7:BillNominal:=5000;
   23:   begin
      SendPacket($58,[]); // посыл команды EXTRACT BARCODE DATA
      //NumberBarCode:= полученный преобразованный ответ... вот тут я и призадумался
      //BillNominal:=NumberBarCode;
      end;
   end;
   end;


Если правильно задан купон то ответ будет в FData[] от 6 до 18 байт (FLengthData).

Код: Выделить всё

$81:begin
   ProcessMessage(246,'Укладка');
   case SEcondByte of
   2:BillNominal:=10;
   3:BillNominal:=50;
   4:BillNominal:=100;
   5:BillNominal:=500;
   6:BillNominal:=1000;
   7:BillNominal:=5000;
   23:begin
             SendPacket($3A,[]); // посыл команды EXTRACT BARCODE DATA
             ProcessComand();
             for I := 0 to FLengthData - 1 do
             begin             
               //FData[I];  используем наш ответ
             end;
           end;
   end;
    end;
Гость

Сообщение Гость » 17 окт 2011, 23:55

Спасибо, разобрался.

Выложу код, может кому пригодится.
Итак, функция считывания бар кода:

Код: Выделить всё

{*******************************************************************************}
function TCashCodeBillValidatorCCNET.ExtractBarCodeData(var s:string): boolean;
var
 i:integer;
begin
SendPacket($3A,[$1B,$1C]); // посыл команды EXTRACT BARCODE DATA
ProcessComand();
  for I := 0 to FLengthData - 1 do
    begin
    if (I>=0) and (i<18) then s:=s+Chr(FData[I]);
    end;
end;
{*******************************************************************************}

Добавляем в общее описание переменную barcodestack типа boolean
Далее:

Код: Выделить всё

{...}
$81:begin
    ProcessMessage(246,*Укладка*);
    case SEcondByte of
    2:BillNominal:=10;
    3:BillNominal:=50;
    4:BillNominal:=100;
    5:BillNominal:=500;
    6:BillNominal:=1000;
    7:BillNominal:=5000;
{*****************************Получили купон с бар кодом************************}   
    23:begin
       barcodestack:=true;
       BillNominal:=0;
       end;
{*******************************************************************************}
end;
StartTime:=Now(); // Сбросим время до ожидания следующей купюры
SendASC();        // Подтвердим прием
{*****************************Считаем бар код***********************************}
if barcodestack then
begin
     ExtractBarCodeData(NumberBarCode);
     ShowMessage(NumberBarCode);
     barcodestack:=false;
     BillNominal:=0;
end;
{*******************************************************************************}
result:=result+BillNominal;
{...}


Функция ExtractBarCodeData(NumberBarCode); вернет значение бар кода в переменную NumberBarCode строкового типа.
hos
участник форума
Сообщения: 122
Зарегистрирован: 07 сен 2011, 11:51

Сообщение hos » 24 апр 2012, 11:57

Может кому пригодится. Есть готовые отлаженные модули работы с купюрниками по ccnet и id003 на java, а так же другими устройствами через com-порт - монетоприемники (cctalk), термопринтеры (av-268 / custom vkp-80 / citizen / star tup-900). Модули легко прикручиваются к жава проекту, а так же без проблем помогу прикрутить и к flash, html/javaScript. Все работает под разными ОС - windows, linux, MacOS.
Если кого интересует, обращайтесь - denis0372 собака mail точка ru
Разработка ПО для киосков/терминалов/автоматов. Работа с всевозможными устройствами через com-порт (rs232), работа с монетоприемниками, купюроприемниками CashCode, JCM и др (ccnet, id-003, cctalk ), работа с термопринтерами, диспенсерами, кардридерами...
Гость

Сообщение Гость » 21 окт 2013, 13:17

Добрый день.
Нужно разработать ПО для платежника. CashCode+custom. Работу оплачу.
Кто сможет помочь?
Гость

Сообщение Гость » 21 окт 2013, 13:27

testmode писал(а):Реализовал "драйвер" для купюроприемника CashCode по протоколу CCNET, среда разработки Delphi 2009. Исходники и демка во вложении.


testmode, добрый день.
Можете написать в личку? У меня есть предложение для вас.
alexey.terekhoff@gmail.com
hos
участник форума
Сообщения: 122
Зарегистрирован: 07 сен 2011, 11:51

Сообщение hos » 28 окт 2013, 11:52

alexeyterekhoff писал(а):Добрый день.
Нужно разработать ПО для платежника. CashCode+custom. Работу оплачу.
Кто сможет помочь?

alexey.terekhoff@gmail.com


Ответил вам на почту
Разработка ПО для киосков/терминалов/автоматов. Работа с всевозможными устройствами через com-порт (rs232), работа с монетоприемниками, купюроприемниками CashCode, JCM и др (ccnet, id-003, cctalk ), работа с термопринтерами, диспенсерами, кардридерами...

Вернуться в «Купюроприемники CashCode и CashCode GX»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя