С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
КИП, датчики
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.53/92: Рейтинг темы: голосов - 92, средняя оценка - 4.53
sergeybr
13 / 13 / 0
Регистрация: 19.01.2010
Сообщений: 189
1

CCNET. Работа с купюроприемником

23.09.2011, 11:34. Просмотров 17165. Ответов 47
Метки нет (Все метки)

Кто нибудь работал с купюроприемником ccnet crc???
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.09.2011, 11:34
Ответы с готовыми решениями:

Протокол купюроприемника ccNET
Доброго времени суток уважаемые форумчане! Купюроприемник CASHCODE SM подключен...

Как реализовать протокол CCNET для купюраприонмика
Добрый день, среда разработки C# Стараюсь реализовать протокол CCNET для...

Заставить Android работать с купюроприемником BV20
Друзья, возникла задача заставить купюроприемник взаимодействовать с планшетом...

Реализация обмена данных с купюроприемником cashcode sm
Доброго времени суток! Вопрос в следующем. Имеется купюроприемник cashcode,...

Нужна подсказка по работе с купюроприемником JCM
Добрый день, гуру! Подскажите, где можно найти API, документацию и модуль...

47
raxp
10186 / 6569 / 492
Регистрация: 28.12.2010
Сообщений: 21,166
Записей в блоге: 1
23.09.2011, 19:59 2
...а в чем вопрос? По теме можно подумать, что вопрос в подключении физически, а по посту двоякое впечатление: то ли спрашиваете работали кто с купюроприемником, то ли вопрос в подсчете контрольной суммы. А может запятая в предложении отсутствует?


Отвечаю: не работал, были другие проекты, но данную тематику отслеживаю и материал имеется

CCNET в основном используется кэшкодовцами, читайте про BI-Directional Protocol http://www.slotinfo.ru/download/cashcode_fl_bdp_interface.doc. Последовательность работы следующая:
1. получить дескриптор Сom-порта
2. получить адрес dcb
3. установить новые параметры dcb
4. послать установленные параметры в порт
5. приступить к чтению принимаемых данных
Если формат пакета принятых данных соответствует протоколу, в нашем случае (FL BDP Interface):
LNG : 1 byte
C/R : 1 byte
DATA: 0 to 250 byte
CRC: 2 byte
,то
6. следует расчет контрольной суммы CRC:
(ничего ведь, что в терминах Delphi )
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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;
Если CRC верна, то:
7. следует команда перезагрузки
8. иннициализации купюроприемника.
исходники CyberPlat (на Си)
1
sergeybr
13 / 13 / 0
Регистрация: 19.01.2010
Сообщений: 189
23.09.2011, 20:03  [ТС] 3
Цитата Сообщение от raxp Посмотреть сообщение
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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;

этот код я уже раз в сотый читаю, а по делу ничего путнего!!!!!!!!!!!!!!
0
raxp
10186 / 6569 / 492
Регистрация: 28.12.2010
Сообщений: 21,166
Записей в блоге: 1
23.09.2011, 20:24 4
Да что вы говорите .

А что же вам по делу-то нужно: пояснять свой пост будем или как? Или дело как раз в вашем непонимании кода?
0
sergeybr
13 / 13 / 0
Регистрация: 19.01.2010
Сообщений: 189
23.09.2011, 20:41  [ТС] 5
Цитата Сообщение от raxp Посмотреть сообщение
пояснять свой пост будем или как? Или дело как раз в вашем непонимании кода?
Я просто не могу его перенести с С или паскаля на C#))))))))))
0
kolorotur
Эксперт .NET
10731 / 8886 / 2226
Регистрация: 17.09.2011
Сообщений: 15,282
Завершенные тесты: 1
23.09.2011, 21:25 6
Цитата Сообщение от sergeybr Посмотреть сообщение
Я просто не могу его перенести с С или паскаля на C#
Функция расчитывает CRC. Алгоритмов - полный гугл, в чем проблема реализовать на шарпе?
0
sergeybr
13 / 13 / 0
Регистрация: 19.01.2010
Сообщений: 189
24.09.2011, 07:26  [ТС] 7
Цитата Сообщение от kolorotur Посмотреть сообщение
в чем проблема реализовать на шарпе?
мне просто показали бы как это делается хотя бы на каком нибудь примере, а то весь гугл облазил а примеров на шарп вообще не встречал, попадаются только на С, паскаль и дельфи!!!
0
raxp
10186 / 6569 / 492
Регистрация: 28.12.2010
Сообщений: 21,166
Записей в блоге: 1
24.09.2011, 09:00 8
знаете как говаривал Станиславский? Не верю, первая же ссылка в гугле на запрос вида "CRC16 C#"
http://www.google.ru/search?client=o...hannel=suggest

Standard CRC 16 in C#:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
using System;
 
public class Crc16 {
    const ushort polynomial = 0xA001;
    ushort[] table = new ushort[256];
 
    public ushort ComputeChecksum(byte[] bytes) {
        ushort crc = 0;
        for(int i = 0; i < bytes.Length; ++i) {
            byte index = (byte)(crc ^ bytes[i]);
            crc = (ushort)((crc >> 8) ^ table[index]);
        }
        return crc;
    }
 
    public byte[] ComputeChecksumBytes(byte[] bytes) {
        ushort crc = ComputeChecksum(bytes);
        return BitConverter.GetBytes(crc);
    }
 
    public Crc16() {
        ushort value;
        ushort temp;
        for(ushort i = 0; i < table.Length; ++i) {
            value = 0;
            temp = i;
            for(byte j = 0; j < 8; ++j) {
                if(((value ^ temp) & 0x0001) != 0) {
                    value = (ushort)((value >> 1) ^ polynomial);
                }else {
                    value >>= 1;
                }
                temp >>= 1;
            }
            table[i] = value;
        }
    }
}
У меня наверно гугл особенный.
0
sergeybr
13 / 13 / 0
Регистрация: 19.01.2010
Сообщений: 189
25.09.2011, 10:39  [ТС] 9
Как подключиться к купюроприемнику???? Есть у кого нить исходник примера??? Очень буду признателен)))))
0
deathNC
25.09.2011, 10:51
  #10
 Комментарий модератора 
sergeybr, ты разделом не ошибся? Тебе точно надо реализовать это именно в Delphi?

Не по теме:

Хотя я не знаю, какой магией надо обладать, чтобы это сделать в дельфях...

0
AndyZorg
Заблокирован
25.09.2011, 11:03 11
deathNC, нормально это делается в Дельфях. Я писал 4 года назад такое - Купюроприемник + Термопринтер для печати чеков Вообще раньше нравилось с железом возиться - как-то даже написал программку подсчета посетителей магазина (там датчик такой - как на турникетах в метро).
А теперь по делу - сначала модель купюроприемника надо знать. Потом найти библиотеку с его апи... А вот если библиотеки нет, то придется туговато, но все-равно можно это реализовать.
0
deathNC
1892 / 1005 / 123
Регистрация: 08.12.2009
Сообщений: 2,792
Записей в блоге: 2
25.09.2011, 11:06 12
AndyZorg, вот именно. Надо, чтобы он сказал, во-первых, что за купюроприёмник. И чтобы сказал, что за API и где их взять. Не каждый же дома держит у себя купюроприёмник
0
magirus
Почетный модератор
Эксперт по компьютерным сетямЭксперт Windows
27958 / 15680 / 959
Регистрация: 15.09.2009
Сообщений: 67,825
Записей в блоге: 78
25.09.2011, 11:08 13
sergeybr, модель и интерфейс угадать?
0
AndyZorg
Заблокирован
25.09.2011, 11:13 14
Большинство купюроприемников используют протокол CCNet. Вот нарыл у себя:
http://support.cashcode.com/documentation/index.php.
Вот еще нарыл исходники с этим связанные. Щас нет купюроприемника, проверить не могу, смотрите, изучайте сами.
2
Вложения
Тип файла: rar CCode.rar (334.7 Кб, 398 просмотров)
sergeybr
13 / 13 / 0
Регистрация: 19.01.2010
Сообщений: 189
25.09.2011, 11:22  [ТС] 15
модель я не знаю и библиотек у меня нету)))))))))))))
0
deathNC
1892 / 1005 / 123
Регистрация: 08.12.2009
Сообщений: 2,792
Записей в блоге: 2
25.09.2011, 11:23 16
Лучший ответ Сообщение было отмечено как решение

Решение

sergeybr, в таком случае либо тема закрыта, либо ищи эту информацию!

Добавлено через 17 секунд
Мы ж не экстрасенсы в конце-концов!
3
magirus
25.09.2011, 11:25
  #17

Не по теме:

Цитата Сообщение от sergeybr Посмотреть сообщение
модель я не знаю и библиотек у меня нету
тогда проще подключиться к сферическому коню в вакууме....

1
NIch
25.09.2011, 11:41
  #18

Не по теме:

Цитата Сообщение от sergeybr Посмотреть сообщение
Как подключиться к купюроприемнику
USB кабелем)))

0
sergeybr
13 / 13 / 0
Регистрация: 19.01.2010
Сообщений: 189
26.09.2011, 14:34  [ТС] 19
Цитата Сообщение от AndyZorg Посмотреть сообщение
Большинство купюроприемников используют протокол CCNet. Вот нарыл у себя:
http://support.cashcode.com/documentation/index.php.
Вот еще нарыл исходники с этим связанные. Щас нет купюроприемника, проверить не могу, смотрите, изучайте сами.
Вложения CCode.rar (334.7 Кб, 3 просмотров)

Твой пример мне очень помог, правда пришлось в нем немного покопаться и переделать))))) Теперь шеф хочет этот код на C# перенести, можешь мне немного в этом помочь?????
0
AndyZorg
Заблокирован
26.09.2011, 16:06 20
Цитата Сообщение от sergeybr Посмотреть сообщение
Твой пример мне очень помог, правда пришлось в нем немного покопаться и переделать))))) Теперь шеф хочет этот код на C# перенести, можешь мне немного в этом помочь?????
Рад, что помог. Но, к сожалению, на Шарпе я не пишу, а изучать сейчас времени нет - аврал на работе... Тут скорее всего есть спецы. Так что создавай отдельную тему, прикрепляй твой поправленный код. Наверняка кто-то поможет, тут много отзывчивых людей
0
26.09.2011, 16:06
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.09.2011, 16:06

Связь МК с MDB монетоприемником / MDB купюроприемником
Доброго времени суток. Заказчик изменил ТЗ. И там появилась такая задача,...

Нужна летиратура, в которой бы описывались работа с событиями, работа с элементами управления
Помогите пожалуйста найти летиратуру, в которой бы описывались работа с...

Работа с Меню. Сохранение, печать, создать новый. Работа с рисованием
В общем сабж. Делается программа, которая должная Сохранять, печатать и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru