6.3.6.5.1. ActivePOS от DSSL: ну очень интеллектуальный модуль

NewtonДоброго времени суток всем.

Сегодня первый пост о трассировских интеллектуальных программных модулях. Для тех, кто не в курсе: POS-терминал (Point of Sale: точка продаж) — это оконечное оборудование розничной торговли: кассовый аппарат, банковский терминал, счётчик валют и т.д. Сейчас все эти устройства не являются замкнутыми в себе игрушками, а имеют довольно богатый набор интерфейсов на все случаи жизни: для подключения к компьютерам или выхода в сеть, принтерам, дисплеям всяческим пультам и программаторам — короче, у кого на что ума хватило. Подключение к сети или компьютеру позволяет автоматизировать учёт выручки, подсчет валют и т.д. Ну и производители серьёзных систем видеонаблюдения не остаются в стороне. Подключение кассового аппарата к системе видеонаблюдения позволяет синхронизировать моменты работы POS-терминала с видеозаписью действий оператора этого терминала.

Вот и в нашем случае «сильно интеллектуальный» программный модуль ActivePOS, опционально входящий в состав ПО «Trassir» от DSSL (платишь дополнительную денежку и активизируешь модуль) должен принимать информацию, которую счетчик валют выводит на выход «Printer», простодушно считая, что распечатывает чеки проведенных операций. А ActivePOS создаёт небольшую базу данных операций, совмещая полученную текстовую информацию с изображением нужной камеры. Теперь при просмотре архива на изображение оператора будут накладываться чеки операций (количество и номинал купюр, тип валюты, количество отбракованных купюр и пр.).

Счетчик зовётся Newton производства фирмы Kisan. Внешний вид на стартовой картинке. Машинка умная, дорогая, стоит каких-то идиотских денег — что-то около 1000 евро.

Выход «Print» у нее организован по последовательному протоколу RS-232, только разъём другой: Rj-12 о шести концах. С компьютером сопрягается через однопортовый сервер MOXA NPORT-5150, преобразующий RS-232 в Ethernet. Вот он какой:

MOXA

Короче, работа пошла наперекосяк сразу. Поставщики Ньютона назвали одну распиновку выходных контактов, трассировские разработчики ActivePOS-а другую, обе не соответствовали действительности. Пришлось вместо быстрой сдачи в эксплуатацию договариваться с заказчиком (банком) о взятии во временное пользование одного аппарата для возни с ним в лабораторных условиях.

Первым делом с помощью осциллографа разобрался с распальцовкой кабеля со стороны Ньютона. Одновременно оказалось, что, невзирая на наличие программируемой скорости обмена, с выхода аппарата лупит сигнал 115 кб/с. Вот скорость, выставленная на панели управления Ньютона (9,6 кб/с):

displ

А вот осциллограмма сигнала на выходе:

oscilВот я покрупнее сделал маленько и расписал биты:

diagram

Здесь хорошо видно, что длительность одного бита равна примерно половине клетки, цена деления — 20мс, т.е длительность одной битовой посылки примерно 10мс, что соответствует скорости порядка 100 кб/с. При выставлении соответствующей скорости обмена со стороны Моксы и распайки кабеля в соответствии с нащупанными контактами дело начало сдвигаться с мёртвой точки. Программкой RealTerm поймал первые осмысленные тексты. Затем, с помощью скриптов, присланных из техподдержки DSSL,  (достаточно активно старались помочь, невзирая на некоторую перегруженность службы — вечно занятый оператор) получил первые дампы информации со счётчика купюр уже в самом Трассире. Перед этим ещё пришлось разобраться с режимами Моксы. Вон их сколько в WEB интерфейсе:

Режимы

В нашем случае заработало через режим UDP:

udp

Самое интересное потом началось в банке, когда я привёз туда с гордым видом побеждённый аппарат. Как и подозревал, этот агрегат, судя по всему, оказался каким-то нестандартным — то ли прошива не та, то ли ещё что. Короче, после приведения в соответствие настроек на других аппаратах, заработал только один этот: видимо все остальные правильные. Так что продолжение этого детектива и реальные картинки последуют после моего двухнедельного отпуска. В Питер поеду деньги тратить.

Так что всем до свидания.

Будут вопросы — пишите в комментарии.

p.s. Чё-то странное случилось. Не дожидаясь отпуска съездил в банк (я только в ночь на завтра в отпуск улетаю) — вспомнил про одну неточность в настройках. Глядь, а все рабочие места работают, да прям как надо — приятно глазу 🙂

Так что не одна счётная машинка неправильная была, а все поголовно. Вот так это выглядит в жизни:

Result

Тут правда ещё виртуальная клава расположилась на скрине, но теперь уже поздно что-то менять. Так даже интереснее. Да и оператор в общем-то вид совсем не портит 🙂

Из текста на экране следует, что сего дня, 18.07.2016 года от Рождества Христова в 11:47 пополудни свершился подсчёт 2-х купюр достоинством по тыще рублёв каждая общею суммою 2000 рублёв, завершивишийся надписью: Конец документа «Подсчёт купюр». Фото можно увеличить — лучше видно текст. Кстати, цвет текста, размер и расположение текстового окна программно  можно настроить. Тоже очень удобно.

Вот теперь всё. Можно и в отпуск.

До связи!

30.08.2017

p.s. Вот, кстати, по «многочисленной просьбе» читателя распиновка интерфейсного кабеля MOXA-Newton. Все три варианта:

Кстати, в результате экспериментов обратный сигнал от «МОКСЫ» в «Ньютон» (TXD) пришлось отцепить. Что-то он там мешал делать, не помню уже. По-моему, Мокса постоянно запрашивала информацию, а Ньютон простодушно повторял без конца уже переданные данные. Короче, я только двумя проводами обошёлся — общий (GND) и принимаемые данные (RXD). Т.е. счётная машинка лупит «на  улицу» информацию обо всех операциях и ни о чём не задумывается. Причём безо всяких повторов. Как-то так вот.

14.12.20017

p.p.s.

Хочу добавить, что всё вышеупомянутое относится к счётной машинке Kisan Newton-FS. Недавно тот же банк закупил новую модификацию машинок: Kisan Newton-PF. У них немного другой формат вывода данных и с разбега работать они не хотели. Пришлось снова тащить машинку к себе и извращаться с осциллографом. В результате получили распиновку, приведённую DSSL (зелёная в таблице). Кроме того, техподдержка разработчика модуля ActivePos (DSSL) подогнала дополнительный скрипт для более корректного восприятия кириллицы ActivePos-ом. После этого всё равно не пошло. Но после того, как я обновил версию самого Trassir-а до последней, всё заработало. Так что, если у кого-то возникли подобные проблемы — путь ваш через техподдержку.

Удачи, господа.

 



5 Responses to 6.3.6.5.1. ActivePOS от DSSL: ну очень интеллектуальный модуль

  1. Avatar Петр
    Петр says:

    Здравствуйте! Какая, все таки, распиновка порта принтера на RJ12?

    • Завтра на работе буду, отпишусь, там все записи. Три варианта — от DSSL, от поставщика машинок и реальный.
      До завтра.

  2. Avatar Kins
    Kins says:

    Добрый день!
    Просьба есть — не могли бы Вы уточнить с каком моделью ССМ Вы работали? Kisan Newton F или Kisan Newton PF ?
    Решаем аналогичную задачу с Kisan Newton PF — с принтерного порта счетчика получаем не читаемый текст 🙁

    • Конкретно этот случай для Kisan Newton-FS. Сейчас клиент меняет счётчики на Newton-PF, возникли проблемы. Там что-то с кодировкой кириллицы в счётчике. Техподдержка подкинула плагин для корректного восприятия кириллицы, пока не помогло.
      Нет времени — куча объектов под сдачу. Надеюсь на этой неделе выбрать день и заняться вплотную. По результатам напишу.
      Если вы раньше разберётесь — отпишитесь, как получилось.