Skip to content

Instantly share code, notes, and snippets.

Created August 28, 2017 15:38
Show Gist options
  • Save anonymous/eb3923d275aa9ebad9a3a7c49e833a45 to your computer and use it in GitHub Desktop.
Save anonymous/eb3923d275aa9ebad9a3a7c49e833a45 to your computer and use it in GitHub Desktop.
Mdb команда escrow описание

Mdb команда escrow описание



Или войдите с помощью этих сервисов. Автор fasteria , 7 апреля, Заканчиваю сборку своего микроконтроллера для общения с mdb. Однако я не совсем понимаю, какие именно байты или команды надо слать на купюроприёмник для именно что инициализации начала работы купюроприёмника. Если у кого из инженеров-программистов есть логи запуска и работы в целом, просьба выручить. Также было бы неплохо получить логи по работе с монетоприёмником. У кого есть - просьба поделиться. Там не написана конкретная процедура запуска купюрника. Немного почитал мануал, и даже разобрался в коде, но он работает всё равно не ахти через пень колоду. При вставке купюры купюрник на некоторое время меняет свой статус при POLL на busy. После этого он становится просто disabled, даже не указывая на то, что он принял купюру. Вторую купюру он принимать не хочет, так как disabled. Спасает только отключение от сети питания и подсоединение обратно к нему. ЕМНИП, он должен таки сообщить о принятой купюре, после этого приём купюр стоит разрешить заново. Команда ESCROW используется когда Вы выбираете режим ESCROW для купюрника и предназначена для указания купюрнику действия с купюрой, помещенной в положение ESCROW: Команда SECURITY указывает купюрнику необходимость использовать уровень секретности "high" для распознавания банкноты, если соответствующий бит установлен в "1". Способен ли купюрник поддерживать два уровня секретности определяется из ответа на команду STATUS. Почему на купюры одного достоинства купюроприемник отвечает разными кодами? Но я заметил, что на каждую купюру всего по два кода. Первый код - понятно, так как в описании протокола написано, что код ответа имеет формат: А вот 0x9 и 0xA? Это может быть в случае настройки разных каналов на купюры одинакового достоинства, но разных годов выпуска. Например, разные купюры одного номинала настроены на один канал… Тогда будет именно ситуация, когда одному номиналу будут соответствовать два канала и два кода POLL. Он правильно выдает код для первой монеты. А если кидать потом вторую монету такого же достоинства - он прибавляет 1 к коду и выдает эту сумму. Допустим кидаю 1 руб. Кидаю 1 руб - выдает 0х Кидаю 5 руб - выдает 0х Ответ на POLL в монетоприемние состоит из двух байт. Второй байт - это число мнет в тубе. Если Вы не выделяете первый и второй байт или неправильно их воспринимаете, то видите число, увеличивающееся каждый раз на 1. Ищите ошибку в этом направлении. После ответа RET slave обязан повторить последний пакет ответа. После NACK - slave ожидает любую адресную команду. Посылать команду RESET 30H не обязательно, так как после подачи питания платежки сами аппаратно сбрасываются. После выхода в рабочий режим купюрник должен 1 раз ответить 06H - Was Reset, а затем возвращать ACK на каждый POLL, если нет ошибок и других событий. После этого достаточно дать команду BILL TYPE 34H с необходимыми типами принимаемых купюр, например: Если нет ошибок купюрник должен перейти в режим приема. Судя по поведению купюрник действительно сбрасывается, потому как в данном случае должен был ответить xxxxB Bill Escrow Position , где xxxx-тип купюры. И ждать команду принять 35H 01H или вернуть 35H 00H купюру. В теории - да. А на практике, есть модели как старые, так и новые , которые требуют полное соблюдение Протокола. Я уже дважды помучился подгонять своё ПО под конкретные модели купюрников а про монетники вообще молчу! Потому принял решение о полном соблюдении Протокола. Кстати, если до версии 3 купюрники были "терпимее", то от 4 и выше - нет: Согласен, что лучше давать команду RESET и соблюдать протокол без STATUS 31H и номинал не определить. Для Rolfa я привел минимальный набор команд, чтобы он смог сдвинуть свою проблему. Вы должны быть пользователем, чтобы оставить комментарий. Зарегистрируйтесь для получения аккаунта. Или войдите с помощью этих сервисов Войти через Facebook. Везде Везде Это Тема Это Раздел Расширенный поиск. Непрочитанное Главная Платежные системы, телеметрия, системы защиты и безопасность Купюроприемники Логи инициализации купюроприёмника по mdb. Логи инициализации купюроприёмника по mdb. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах. Есть такой документ INTERNATIONAL MULTI-DROP BUS INTERFACE STANDARD Там все описано. Немного почитал мануал, и даже разобрался в коде, но он работает всё равно не ахти через пень колоду Если есть те, кто поможет, буду благодарен. Подключаю питание к купюрнику JCM уникумовский. Он стандартно делает прокрут. Он при старте выполняет следующие команды: У кого-либо есть идеи, как решить данные проблемы? Светодиоды JCM горят постоянно, без морганий. В работе через уникум они постоянно моргают. Изменено 15 апреля, пользователем fasteria. Наткнулся на такую же проблему, озвученную "Fasteria " Купюрник JCM по MDB протоколу, после приема купюры не возвращает ее номинал. Возвращает 0x06, 0x09 validator was reset и validator disabled соответственно. Один раз при инициализации отправляю следующую последовательность команд: RESET, ответ ACK POLL, ответ 0x06, 0x09, CHK 0x0F SETUP, ответ 27 байт 1 байт 0x01 Уровень 1. Я использую тайминг - мс. Вы должны соблюдать процедуру инициализации Валидатора: Модель купюрника не имеет значения. Здесь уже что-то не так. После RESET Вы действительно получите Just RESET 09H и сразу должны перейти на инициализационную последовательность. В последующем цикле опросов POLL Вы должны получать либо код 1yyyxxxxB либо ACK либо 0xxxxxxxB но не 06h и 09h в случае неисправности. Если неисправностей нет, Вы будете получать только ACK либо 1yyyxxxxB. Первый и единственный раз при инициализации, а потом в цикле. После нарушения тайминга инициализация повторяется. Если какой-то тип не указать, то его сразу выбросит. BILL TYPE нужно выполнять в цикле для того, чтобы запретить или разрешить прием банкнот в зависимости от заполненности кешбокса или запрета VMC. Команду ESCROW нужно давать только в случае нахождения купюры в кешбоксе. Ответ OAh как раз и говорит, что вы дали команду ESCROW в момент, кода купюры в ESCROW нет. Потом даю ESCROW 0x Команда ESCROW не может идти сразу после BILL TYPE. Я указывал ранее последовательность циклов опроса. Если вставить 50 р. Сделал по вашим рекомендациям, купюры определяются. Но непонятно зачем другие команды. Для чего и как используется команда ESCROW? Для чего и как используется команда SECURITY? С какой целью устанавливается Mode-бит в последнем байте данных от Slave? Чтобы master понял, что это последний байт пакета. Каков смысл наличия двух вариантов сброса Slave: Reset - это программный адресный сброс Bus Reset - это аппаратный сброс всех slave устройств. Любым из этих сигналов. BILL TYPE передаю 4 байта 0x00, 0x1F, 0x00, 0x1F , ответ ACK Светодиоды на купюрнике перестают моргать, горят постоянно. Светодиоды на купюрнике гаснут. После ввода команды ESCROW передаю 1 байт данных 0x01 купюрник укладывает купюру в кэшбокс. Светодиоды на купюрнике горят постоянно. Спасибо за ответ и инфу, буду разбираться. Poll Setup Stacker Type. Не забывайте вовремя давать ACK в пределах 5мсек. Далее в цикле POLL, ответ 2 байта 0x06, 0x Свою плату разрабатываем на Atmege. Осциллографом смотрел фрейм при передаче 11 бит 9 бит присутствует , иначе если отправить без 9 бита КП возвращает NAK Плата работает без нагрузки, только КП подключен. Назад 1 2 Вперёд Страница 1 из 2. Создайте аккаунт или войдите для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Перейти к списку тем Купюроприемники. Политика конфиденциальности Обратная связь Infovend.


Перевод дюймов в метрическую систему
Как начать рассказ на английском
Кодирование от алкоголя ижевск
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment