MDB протокол

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

Re: MDB протокол

Сообщение autovending » Чт сен 02, 2010 8:32 am

Тепер я бачу, що справді приведений Вами потік невірно інтерпретований. Тобто такі байти є в потоці, але вони вирвані з правильної послідовності команд та відповідей.
Дивись мої відповіді нижче по тексту.

Re: MDB протокол

Новое сообщение Lestat 01 сен 2010 09:29 pm
Зробив я повний моніторинг порту лінії RX та лінії TX між вендінговою платою та купюрником, потратив два порти USART, зато маю послідовність запитів та відповідей.
Маю 2а купюрники які працюють з досліджуваною платою: 1-ий BV-100 2-гий ICT V7
привожу дані моніторинга BV-100 з моменту подачі живлення на плату та купюрник:
MDB>> - З плати до купюрника, біт парності позначається як старший байт=1
MDB<< - З купюрника до плати, без моніторингу біта парності
[01.09.10 19:47:30] MDB>> 1e6 e size=2
[01.09.10 19:47:31] MDB>> 1e6 e size=2
[01.09.10 19:47:31] MDB>> 1e6 e size=2
[01.09.10 19:47:31] MDB>> 1e6 e size=2
[01.09.10 19:47:31] MDB>> 132 72 size=2
[01.09.10 19:47:31] MDB<< 0 0 0 6 9 9 9 9 9 9 9 9 9 9 size=14
[01.09.10 19:47:31] MDB>> 66 66 66 e6 155 66 e6 155 66 155 66 e6 0 size=13
[01.09.10 19:47:32] MDB>> 0 size=1
[01.09.10 19:47:32] MDB<< 0 6 6 size=3
[01.09.10 19:47:32] MDB>> 1e6 e 66 e6 0 size=5
[01.09.10 19:47:33] MDB<< 1 19 1 64 2 1 2c fd fd 5 2 5 a 14 32 0 0 0 0 0 size=20
[01.09.10 19:47:33] MDB>> 67 e7 0 size=3
[01.09.10 19:47:33] MDB<< 0 0 0 0 0 82 size=6
[01.09.10 19:47:33] MDB>> 64 191 0 size=3
----------------------------------З цього місця йде відповідь банкнотника на команду VMC Expansion Identification (37H 00H), але до цієї команди VMC обов'язково повинен дати команди Команди RESET(30H), POLL(33H), SETUP(31H) а вже потім Expansion Identification (37H 00H), STACKER(36H), BILL TYPE(34H). І на кожну команду повинна бути відповідь банкнотника, або ACK(00H), NAK(FFH), RET(AAH)
----------------------------------------
[01.09.10 19:47:33] MDB<< 49 54 4c 30 30 30 30 30 30 30 31 33 35 39 30 42 56 30 31 30 size=20
[01.09.10 19:47:33] MDB<< 30 20 20 20 30 30 30 4 5 8d size=10
//тут якщо глянути на байти як на стрічку то отримуємо:
//ITL000000013590BV0100 000♦♣Н
//CHK=58d
//все як в протоколі.
[01.09.10 19:47:33] MDB>> 0 size=1
[01.09.10 19:47:33] MDB>> 64 191 0 size=3
[01.09.10 19:47:33] MDB<< 49 54 4c 30 30 30 30 30 30 30 31 33 35 39 30 42 56 30 31 30 size=20
[01.09.10 19:47:33] MDB<< 30 20 20 20 30 30 30 4 5 8d size=10
[01.09.10 19:47:33] MDB>> 0 size=1
[01.09.10 19:47:33] MDB>> 132 72 size=2
[01.09.10 19:47:33] MDB<< 0 0 0 size=3
[01.09.10 19:47:34] MDB>> 199 181 1ff 1 11b 0 size=6
[01.09.10 19:47:34] MDB<< 0 size=1
[01.09.10 19:47:34] MDB<< 0 0 0 size=3
[01.09.10 19:47:34] MDB>> 66 e6 66 e6 66 e6 size=6
[01.09.10 19:47:34] MDB<< 0 size=1
[01.09.10 19:47:34] MDB>> 66 e6 size=2
[01.09.10 19:47:34] MDB<< 0 size=1
[01.09.10 19:47:34] MDB>> 66 e6 size=2
[01.09.10 19:47:34] MDB<< 0 size=1
[01.09.10 19:47:34] MDB>> 66 e6 size=2
[01.09.10 19:47:34] MDB>> 66 e6 size=2
[01.09.10 19:47:34] MDB<< 0 size=1

а зараз ICT V7:
[01.09.10 19:27:24] MDB>> 1e6 e 66 e6 size=4
[01.09.10 19:27:24] MDB<< 0 6 6 size=3
[01.09.10 19:27:24] MDB>> 0 size=1
[01.09.10 19:27:24] MDB>> 67 e7 size=2
[01.09.10 19:27:24] MDB<< 1 19 1 64 2 0 1 7 5 2 5 a 14 32 26 size=15
[01.09.10 19:27:24] MDB>> 0 size=1
[01.09.10 19:27:24] MDB>> 64 191 0 size=3
[01.09.10 19:27:24] MDB<< 49 43 54 20 20 20 20 20 20 20 20 20 20 20 20 56 37 2d 55 41 size=20
[01.09.10 19:27:24] MDB<< 48 36 30 30 30 30 30 1 60 7f size=10
//ICT V7-UAH600000☺`⌂
//CHK=57f
[01.09.10 19:27:24] MDB>> 0 size=1
[01.09.10 19:27:24] MDB<< 0 0 0 size=3
[01.09.10 19:27:24] MDB>> 132 72 size=2
[01.09.10 19:27:25] MDB>> 199 181 1ff 1 11b 0 size=6
[01.09.10 19:27:25] MDB<< 0 size=1
[01.09.10 19:27:25] MDB>> 66 e6 66 e6 size=4
[01.09.10 19:27:25] MDB<< 0 0 size=2
[01.09.10 19:27:25] MDB>> 66 e6 size=2
[01.09.10 19:27:25] MDB<< 0 0 size=2
[01.09.10 19:27:25] MDB>> 66 e6 size=2
[01.09.10 19:27:28] MDB>> 66 e6 size=2
[01.09.10 19:27:28] MDB<< 0 size=1
[01.09.10 19:27:28] MDB>> 66 e6 size=2
[01.09.10 19:27:28] MDB<< 0 size=1
[01.09.10 19:27:28] MDB<< 0 size=1
[01.09.10 19:27:28] MDB>> 66 e6 size=2
[01.09.10 19:27:29] MDB>> 66 e6 size=2
[01.09.10 19:27:29] MDB<< 0 size=1
[01.09.10 19:27:29] MDB>> 66 e6 size=2

Після цих команд купюрник світиться і готовий приймати гроші.
Раніше(коли працював по документації) пробував відсилати купюрникам з свого моніторингу так і з ноута на Linux через перетворювач FT232:
0х30* 0х30
----------------------------- Можливо швидкість не 9600, відповідь повинна бути ACK(00H) з встановленим бітом парності
------------------------------------------------------
у відповідь нічого
на пакет: 0х33* 0х33
деколи приходить 0xFF а деколи нічого
П.С. * - встановлений біт парності
autovending
Site Admin
 
Сообщения: 132
Зарегистрирован: Пн окт 11, 2004 1:00 pm

Re: MDB протокол

Сообщение Lestat » Чт сен 09, 2010 2:56 pm

Розібрався, проінвертував сигнал і стало все на свої місця. Дякую за підтримку.

Зіткнувся з 2-огою проблемою, написав алгоритм під ICT V7, все чудово працює, втикнув купюрник BV100, почались проблеми, не вірно дає канал купюри(важко побачити закономірність), і деколи приходить не вірний CHK на пакет з номером каналу.
П.С. Щось роблю я не так, тому що з вендінговою платою BV-100 працює чудово.
Lestat
 
Сообщения: 12
Зарегистрирован: Вт авг 31, 2010 3:52 pm

Re: MDB протокол

Сообщение Lestat » Чт сен 09, 2010 6:03 pm

П.П.С. В BV-100 лічільник купюр не інкрементується, тобто зарахувати купюру я можу тільки по відповіді з Poll.
В ICT V7 для зарахування купюри я використовую дві умови: відповідь з команди Пулл і дивлюсь чи збільшився лічільник в стекері.

Перегляньте, будь-ласка, мій алгоритм роботи з купюрником, зверніть увагу на час очікування, думаю в ньому десь промахнувся, але я пробував експерементувати.
Нагадаю, що з ICT V7 по даному алгоритму все працює, а BV-100 дає не вірний канал купюри, а деколи не вірний CHK в пакеті з каналом.

На прийом даних використовую переривання,
дані кладуться в буфер, з якого я і читаю.

1.
>>RESET
чекаю 10 мс
<<читаю дані, якщо ASK то перехожу до ініціалізації
чекаю 100 мс і перехожу до пункту 1

2. (ініціалізація)
>>POLL
чекаю 10мс(якщо 5 мс то купюрник не встигає відправити дані, і дані прочитаються наступним разом)
<<читаю дані, якщо 09h або 06h то перехожу до п.2.1 (в мене завжди 06h)
чекаю 200 мс в і перехожу до п.2

2.1.
>> SETUP
чекаю 10 мс
<<читаю дані, якщо прийшло багато даних то перехожу до п.2.2
(CHK в цьому пакеті не співпадає.)
чекаю 200 мс і перехожу до пункту 2.1

2.2.
>> EXPANSION IDENTIFICATION
чекаю 10 мс
<<читаю дані, якщо є дані і вірна контрольна сума то перехожу до п.2.3
чекаю 200 мс і перехожу до пункту 2.2

2.3
>> STACKER
чекаю 10 мс
<<читаю дані, якщо є дані і вірна контрольна сума то перехожу до п.2.4
чекаю 200 мс і перехожу до пункту 2.3

2.4.
>> BILL TYPE
чекаю 10 мс
<<читаю дані, якщо ASK то перехожу до головного циклу п.3
чекаю 200 мс і перехожу до пункту 2.4

3. (головний цикл)
>> BILL TYPE
чекаю 10 мс
<<читаю дані,

чекаю 50-200 мс

>> BILL STACKER
чекаю 10 мс
<<читаю дані, якщо вірний CHK обробляю

чекаю 50-200 мс

>> POLL
чекаю 10 мс
<<читаю дані, якщо вірний CHK обробляю

чекаю 50-200 мс

аналіз опитування(якщо не буде відповідей купюрника 5 сек. то перехожу на п.1)

перехожу на початок п.3
Lestat
 
Сообщения: 12
Зарегистрирован: Вт авг 31, 2010 3:52 pm

Re: MDB протокол

Сообщение orionius » Вт фев 08, 2011 11:52 pm

Люди добрые ,скиньте хоть какой нибудь исходничек, хоть просто для выдачи определенных монет монетоприемником по MDB и схемку подключения монетника к com порту либо к avr

мыло citrix(собака)mail.ru
orionius
 
Сообщения: 2
Зарегистрирован: Вт янв 04, 2011 9:27 am

Re: MDB протокол

Сообщение stang » Пн мар 14, 2011 5:48 pm

И мне, пожалуйста. Очень нужно... stang ( собака ) ukr точка net.
stang
 
Сообщения: 1
Зарегистрирован: Пн мар 14, 2011 5:45 pm

Re: MDB протокол

Сообщение orionius » Вт мар 15, 2011 9:02 pm

Видимо не дождаться здесь желаемого :))))
orionius
 
Сообщения: 2
Зарегистрирован: Вт янв 04, 2011 9:27 am

Re: MDB протокол

Сообщение Lestat » Ср мар 16, 2011 8:47 pm

Мені також потрібно працювати з монетником по MDB, добре що досвід є роботи з купюрниками, будем мучати.
Lestat
 
Сообщения: 12
Зарегистрирован: Вт авг 31, 2010 3:52 pm

Re: MDB протокол

Сообщение andrew » Пт авг 12, 2011 6:42 pm

Здравствуйте!

Занимаюсь разработкой драйвера для монетоприёмника CoinCo Global 2 MDB Plus, работающему по протоколу MDB, через конветртер MDB-RS232 фирмы Wafer (http://waferstar.com/en/MDB-PC.html). Воспользовавшись их небольшой программой для теста конвертера (http://waferstar.com/downloads/MDB-RS232.rar) пообщался с монетником следующим образом:

1) На poll раз в 300 мс командой "01", получаю ответ "00 51";
2) После команды "0C FF FF FF FF FC" (что-то типо SETUP) ответ на Poll меняется на "00 50" и монетник начинает принимать монеты, при этом отвечая на Poll соответствующими кодами монет (например "00 10 80 03 54 01 E8" и "00 10 80 03 51 01 E5" при внесении монеты номиналом 10 рублей и 2 рубля соответственно).
3) После отправки команды "0A" монетник возвращается в режим, в котором пропускает все монеты сквозь себя.

Проблема заключается в том, что я не могу найти описание этих команд в MDB спецификации (http://www.vending.org/technical/MDB_3.0.pdf) и соответственно не могу понять как дальше работать с монетником. Максимум что я смогу, это написать процесс обработки внесённых монет, но мне необходимо также реализовать процесс выдачи сдачи. Попытки отправки команд из спецификации ни к чему не привели.

На сайте у производителя написано, что конвертер работает в соответствии со спецификацией MDB 1.0, но неужели формат команд настолько изменился? Кому-нибудь знакомы описанные команды и где можно найти спецификацию на данную версию протокола?

Заранее благодарю.
andrew
 
Сообщения: 1
Зарегистрирован: Пт авг 12, 2011 6:08 pm

Re: MDB протокол

Сообщение Lestat » Вт сен 06, 2011 11:14 am

Я користуюся цим документом MDB/ICP Version 4.1
Section 5
Coin Acceptor/Changer
VMC/Peripheral Communication Specifications
Lestat
 
Сообщения: 12
Зарегистрирован: Вт авг 31, 2010 3:52 pm

Пред.

Вернуться в Интерфейсы и протоколы

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

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

cron