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-а до последней, всё заработало. Так что, если у кого-то возникли подобные проблемы — путь ваш через техподдержку.

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

 



14 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, возникли проблемы. Там что-то с кодировкой кириллицы в счётчике. Техподдержка подкинула плагин для корректного восприятия кириллицы, пока не помогло.
      Нет времени — куча объектов под сдачу. Надеюсь на этой неделе выбрать день и заняться вплотную. По результатам напишу.
      Если вы раньше разберётесь — отпишитесь, как получилось.

  3. Avatar Екат. Паршуков.
    Екат. Паршуков. says:

    как это все узнаваемо, сочленить несочленяемое, молоко с огурцами

    • Нет, здесь таких брутальных последствий не наблюдалось, как с молоком и огурцами. Немного позагрязняли атмосферу бранными выражениями, а так всё спокойно.

  4. Avatar Валентин
    Валентин says:

    Со счетчиками Kisan Newton FS работает в банке нормально. А вот с модификацией PF никак не можем справиться. Если кто-нибудь подскажет, буду благодарен. На преобразователе Moxa видно, что передача идет, а ничего хорошего и понятного не приходит и непонятно, почему. Таблица перекодировки стоит KISAN2. Это правильно?
    Кстати, с модификацией FS на Moxa выставлен режим TCP. И все работает.

    • Ну вы почитайте, что я про PF написал. Во-первых подключите какую-нибудь программульку, замещающую гипертерминал. У меня это RealTerm. И убедитесь, что осмысленный текст идёт, хоть по-русски, хоть по-английски. Если так, то далее: менятете скрипт на новый, подгоняете последнюю версию трассира и должно заработать. Если тектста нормального не получили — разбирайтесь со скоростью и распиновкой (я там 3 варианта выложил). Все должно пойти, напрячь надо извилину 🙂
      Поделитесь результатами потом, не забудьте.
      p.s. да, кисан-2 там выставлять надо.

      • Avatar Валентин
        Валентин says:

        Прорыв в решении проблемы. Выодит правильно почти всю информацию с принтерного пота на экран.
        Но не всю, — нет информации по купюрам.
        Наконец-то выяснилось, что эту ошибку уже исправляли, но в патч обновления попал неисправленный модуль (ActivePOS. наверное). Окончательную информацию выложу позже, когда проблема будет решена окончательно.
        Отличия в решении от описанного автором:
        По протоколу UDP (настройки Моксы) работать не захотел, работает только при настройках «клиент TCP/IP».
        Скорость необходимо выставлять строго одинаковую, на счетной машинке и в Моксе. В принципе работает и на 9600 и на 115200. Но поддержка утверждает, что лучше 115200.
        И работает только, если выставить KISAN, при KISAN2 работать не хочет.
        Все оборудование находится в кассовом помещении, доступ в него посторонним разрешается по одному часу в сутки, причем в это время деньги уже опечатаны и в сейфе, свои заносить нельзя. Четырехканальная Мокса находится под обшивкой потолка. Посто так ничего не тронешь, на двух портах работают машинки серии FS. При этом, машинки с Моксой в подвальном этаже, сервеы в стойке и коммуникации — на другом этаже, а клиент TRASSIR и терминалы для просмотра — на третьем.
        Вот так и пришлось побегать.

        • Avatar Валентин
          Валентин says:

          Наконец-то все заработало правильно. Выяснилось, что в сборку Trassir-4.0-7574-QuattroStation-64.pack по ошибке попал более ранний и неисправленный модуль ActivePOS. Служба поддержки внесла исправления в сборку Trassir-4.0-8168-QuattroStation-64.pack. После переустановки работает правильно.
          Не претендую на полноту и незыблемость выводов, поскольку вопросы организации видеонаблюдения для меня не основная деятельность, а факультативная и многие аспекты я узнал по ходу попыток решения проблемы, но:
          1. скорость вывода по последовательному протоколу можно устанавливать разную, но она должна совпадать в счетной машинке и Моксе.
          2. распиновку кабеля лучше подбирать, ориентируясь на моргание светодиода в Моксе.
          Почему-то получилось так, что для двух одинаковых машинок, подключенных к одной Моксе, схемы соединения (трехпиновые)оказались разными и обе работают правильно.
          3. в настройках Моксы пришлось указать TCP/IP, а при UDP не заработало.
          4. на старых машинках выставлено KISAN2, на новых — KIISAN. Работает только так.
          Большая благодарность автору за подсказки и за то, что добавил уверенности в том, что все решается, надо только не останавливаться.
          И, конечно, службе поддержки DSSL тоже.
          Это всё.

  5. Avatar Иван
    Иван says:

    1. При настройке более менее новых машинок Kisan PF используется следующая распиновка:
    RJ-12 ——> COM
    1 ——> 5
    4 ——> 3
    5 ——> 2
    2. Под левой крышкой, на главной плате внизу есть 4 DIP переключателя, порядок включения 1101. Крышка снимается: 1 болт сверху со стороны купюроприемника, один сзади машинки, и два снизу.

    3. Настойки на MOXA: TCP Client, скорость и там и там 9600.

    Надеюсь, что кому-то помог!

  6. Avatar Владимир
    Владимир says:

    Добрый день!
    на машинках Kisan PF есть порт LAN, через него пробовал кто-нибудь подключать ActivePOs?

  7. Avatar Олег
    Олег says:

    Добрый день.
    Может знает кто как подключить Kisan Newton HD к трассиру?

    Дссл запрашивает следующее:

    1. Дампы со счетной машины, которые можно собрать с помощью утилиты: dump_saver https://ncloud.dssl.ru/s/2Qfa8F23pBkMaXg
    2. Описание протокола обмена данными этой машины со сторонними системами.

    1) Как подключить пк и снять эти дампы (детально если можно)
    2) откуда взять описание протокола обмена данными, если все сервисы вокруг говорят, что это закрытая информация…