autovending » Ср июн 10, 2009 2:07 pm
Определить проблему через переписку в Вашем случае мне не
представляется возможным. Надо искать самому. Дам по тексту
комментарии. См. ниже по тексту.
Юрий.
Wednesday, June 10, 2009, 9:31:07 AM, you wrote:
a> Добрый день, Юрий.
a> Ваш адрес мне дал Слепичко Валерий. Если не сложно прошу помочь
a> разобраться с купюроприемником DBV-301-SU.
Модель купюрника не имеет значения.
a> Управление от микроконтроллера, все тайминги выдерживаются по
a> Вашим рекомендациям. 9-й бит формирую маркем и контролирую так же.
a> Инициализация в рекомендованном Вами порядке.
a> На POLL получаю 0x06 0x09.
Здесь уже что-то не так. После RESET Вы действительно получите Just
RESET (09H) и сразу должны перейти на инициализационную
последовательность. В последующем цикле опросов POLL Вы должны
получать либо код 1yyyxxxxB либо ACK либо 0xxxxxxxB (но не 06h и 09h)
в случае неисправности. Если неисправностей нет Вы будете получать
только ACK либо 1yyyxxxxB.
a> В SETUP scalling factor равен 1000, непонятно как можно 10 р.
a> нацело поделить на 1000. Это правильно?
scaling factor - это стоимость наменьшей денежной единицы.
Credit = N * Scalling / Decimal, где N - цена купюры (сумма их)
a> EXPANSION IDENTIFICATION (Level 01+) не использую.
Полезная информация. Узнаете об Level MDB
a> STACKER считывает общее количество купюр.
a> Зачем 2 раза подряд давать команду BILL TYPE?
Не два раза. Первый и единственный раз при инициализации, а потом в
цикле. После нарушения тайминга инициализация повторяется.
a> После инициализации Вы рекомендуете порядок:
a> BILL TYPE
a> BILL STACKER
a> POLL и в завмсисмости от режима ESCROW выполнять, если нужно, укладку купюры.
a> Вот это не понятно. В TYPE я всегда указываю типы 1 и 2, т.е.
a> 10 и 50 р. Если какой-то тип не указать, то его сразу выбросит.
BILL TYPE нужно выполнять в цикле для того, чтобы запретить или
разрешить прием банкнот в зависимости от заполненности кешбокса или
запрета VMC.
a> STACKER опять покажет общее количество.
a> На все команды POLL получается неизменный ответ 0x06 0x09 без
a> ESCROW или 0х06 0х0A c ESCROW. Т.е. никой полезной информации.
a> Понимаю, что что-то не так. Но что?
Команду ESCROW нужно давать только в случае нахождения купюры в
кешбоксе. Ответ OAh как раз и говорит, что вы дали команду ESCROW в
момент, кода купюры в ESCROW нет.
a> Непонятно как определить номинал купюры находящейся в аппарате
a> и еще не помещенной в stacker???
Только по ответам 1yyyxxxxB на POLL
a> Пробую в команде BILL TYPE 0x00 0x03 0x00 0x01, т.е. маскирую
a> для команды ESCROW 1 тип купюр. Потом даю ESCROW 0x00. Вставляю 10
Неверно. Команда ESCROW не может идти сразу после BILL TYPE. Я
указывал ранее последовательность циклов опроса.
a> р., они фиксируются(удерживаются) в устройстве. Если вставить 50 р.
a> - принимаются устройством. Далее командой STACKER проверяю общее
a> количество купюр. При использовании комбинаций этих команд, к
a> сожалению, не получается добиться правильной фильтрации по
a> номиналам.
a> Что делать?
Следовать инструкции, указанной в предыдущем письме.
a> Может есть типовая методика, последовательность действий, пример реализации?
a> Каждый производитель микроконтроллера дает различные примеры
a> использования, так называемые applications, appnotes и т.д. На
a> купюрники есть что-нибудь подобное?
Мне неизвестны такие программы.
a> В общем, прошу помочь чем можете.