Сегодня первый пост о трассировских интеллектуальных программных модулях. Для тех, кто не в курсе: POS-терминал (Point of Sale: точка продаж) — это оконечное оборудование розничной торговли: кассовый аппарат, банковский терминал, счётчик валют и т.д. Сейчас все эти устройства не являются замкнутыми в себе игрушками, а имеют довольно богатый набор интерфейсов на все случаи жизни: для подключения к компьютерам или выхода в сеть, принтерам, дисплеям всяческим пультам и программаторам — короче, у кого на что ума хватило. Подключение к сети или компьютеру позволяет автоматизировать учёт выручки, подсчет валют и т.д. Ну и производители серьёзных систем видеонаблюдения не остаются в стороне. Подключение кассового аппарата к системе видеонаблюдения позволяет синхронизировать моменты работы POS-терминала с видеозаписью действий оператора этого терминала.
Вот и в нашем случае «сильно интеллектуальный» программный модуль ActivePOS, опционально входящий в состав ПО «Trassir» от DSSL (платишь дополнительную денежку и активизируешь модуль) должен принимать информацию, которую счетчик валют выводит на выход «Printer», простодушно считая, что распечатывает чеки проведенных операций. А ActivePOS создаёт небольшую базу данных операций, совмещая полученную текстовую информацию с изображением нужной камеры. Теперь при просмотре архива на изображение оператора будут накладываться чеки операций (количество и номинал купюр, тип валюты, количество отбракованных купюр и пр.).
Счетчик зовётся Newton производства фирмы Kisan. Внешний вид на стартовой картинке. Машинка умная, дорогая, стоит каких-то идиотских денег — что-то около 1000 евро.
Выход «Print» у нее организован по последовательному протоколу RS-232, только разъём другой: Rj-12 о шести концах. С компьютером сопрягается через однопортовый сервер MOXA NPORT-5150, преобразующий RS-232 в Ethernet. Вот он какой:
Короче, работа пошла наперекосяк сразу. Поставщики Ньютона назвали одну распиновку выходных контактов, трассировские разработчики ActivePOS-а другую, обе не соответствовали действительности. Пришлось вместо быстрой сдачи в эксплуатацию договариваться с заказчиком (банком) о взятии во временное пользование одного аппарата для возни с ним в лабораторных условиях.
Первым делом с помощью осциллографа разобрался с распальцовкой кабеля со стороны Ньютона. Одновременно оказалось, что, невзирая на наличие программируемой скорости обмена, с выхода аппарата лупит сигнал 115 кб/с. Вот скорость, выставленная на панели управления Ньютона (9,6 кб/с):
А вот осциллограмма сигнала на выходе:
Вот я покрупнее сделал маленько и расписал биты:
Здесь хорошо видно, что длительность одного бита равна примерно половине клетки, цена деления — 20мс, т.е длительность одной битовой посылки примерно 10мс, что соответствует скорости порядка 100 кб/с. При выставлении соответствующей скорости обмена со стороны Моксы и распайки кабеля в соответствии с нащупанными контактами дело начало сдвигаться с мёртвой точки. Программкой RealTerm поймал первые осмысленные тексты. Затем, с помощью скриптов, присланных из техподдержки DSSL, (достаточно активно старались помочь, невзирая на некоторую перегруженность службы — вечно занятый оператор) получил первые дампы информации со счётчика купюр уже в самом Трассире. Перед этим ещё пришлось разобраться с режимами Моксы. Вон их сколько в WEB интерфейсе:
В нашем случае заработало через режим UDP:
Самое интересное потом началось в банке, когда я привёз туда с гордым видом побеждённый аппарат. Как и подозревал, этот агрегат, судя по всему, оказался каким-то нестандартным — то ли прошива не та, то ли ещё что. Короче, после приведения в соответствие настроек на других аппаратах, заработал только один этот: видимо все остальные правильные. Так что продолжение этого детектива и реальные картинки последуют после моего двухнедельного отпуска. В Питер поеду деньги тратить.
Так что всем до свидания.
Будут вопросы — пишите в комментарии.
p.s. Чё-то странное случилось. Не дожидаясь отпуска съездил в банк (я только в ночь на завтра в отпуск улетаю) — вспомнил про одну неточность в настройках. Глядь, а все рабочие места работают, да прям как надо — приятно глазу 🙂
Так что не одна счётная машинка неправильная была, а все поголовно. Вот так это выглядит в жизни:
Тут правда ещё виртуальная клава расположилась на скрине, но теперь уже поздно что-то менять. Так даже интереснее. Да и оператор в общем-то вид совсем не портит 🙂
Из текста на экране следует, что сего дня, 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-а до последней, всё заработало. Так что, если у кого-то возникли подобные проблемы — путь ваш через техподдержку.
Удачи, господа.
Здравствуйте! Какая, все таки, распиновка порта принтера на RJ12?
Завтра на работе буду, отпишусь, там все записи. Три варианта — от DSSL, от поставщика машинок и реальный.
До завтра.
Я в конце поста добавил табличку с распиновкой.
Добрый день!
Просьба есть — не могли бы Вы уточнить с каком моделью ССМ Вы работали? Kisan Newton F или Kisan Newton PF ?
Решаем аналогичную задачу с Kisan Newton PF — с принтерного порта счетчика получаем не читаемый текст 🙁
Конкретно этот случай для Kisan Newton-FS. Сейчас клиент меняет счётчики на Newton-PF, возникли проблемы. Там что-то с кодировкой кириллицы в счётчике. Техподдержка подкинула плагин для корректного восприятия кириллицы, пока не помогло.
Нет времени — куча объектов под сдачу. Надеюсь на этой неделе выбрать день и заняться вплотную. По результатам напишу.
Если вы раньше разберётесь — отпишитесь, как получилось.
как это все узнаваемо, сочленить несочленяемое, молоко с огурцами
Нет, здесь таких брутальных последствий не наблюдалось, как с молоком и огурцами. Немного позагрязняли атмосферу бранными выражениями, а так всё спокойно.
Со счетчиками Kisan Newton FS работает в банке нормально. А вот с модификацией PF никак не можем справиться. Если кто-нибудь подскажет, буду благодарен. На преобразователе Moxa видно, что передача идет, а ничего хорошего и понятного не приходит и непонятно, почему. Таблица перекодировки стоит KISAN2. Это правильно?
Кстати, с модификацией FS на Moxa выставлен режим TCP. И все работает.
Ну вы почитайте, что я про PF написал. Во-первых подключите какую-нибудь программульку, замещающую гипертерминал. У меня это RealTerm. И убедитесь, что осмысленный текст идёт, хоть по-русски, хоть по-английски. Если так, то далее: менятете скрипт на новый, подгоняете последнюю версию трассира и должно заработать. Если тектста нормального не получили — разбирайтесь со скоростью и распиновкой (я там 3 варианта выложил). Все должно пойти, напрячь надо извилину 🙂
Поделитесь результатами потом, не забудьте.
p.s. да, кисан-2 там выставлять надо.
Прорыв в решении проблемы. Выодит правильно почти всю информацию с принтерного пота на экран.
Но не всю, — нет информации по купюрам.
Наконец-то выяснилось, что эту ошибку уже исправляли, но в патч обновления попал неисправленный модуль (ActivePOS. наверное). Окончательную информацию выложу позже, когда проблема будет решена окончательно.
Отличия в решении от описанного автором:
По протоколу UDP (настройки Моксы) работать не захотел, работает только при настройках «клиент TCP/IP».
Скорость необходимо выставлять строго одинаковую, на счетной машинке и в Моксе. В принципе работает и на 9600 и на 115200. Но поддержка утверждает, что лучше 115200.
И работает только, если выставить KISAN, при KISAN2 работать не хочет.
Все оборудование находится в кассовом помещении, доступ в него посторонним разрешается по одному часу в сутки, причем в это время деньги уже опечатаны и в сейфе, свои заносить нельзя. Четырехканальная Мокса находится под обшивкой потолка. Посто так ничего не тронешь, на двух портах работают машинки серии FS. При этом, машинки с Моксой в подвальном этаже, сервеы в стойке и коммуникации — на другом этаже, а клиент TRASSIR и терминалы для просмотра — на третьем.
Вот так и пришлось побегать.
Наконец-то все заработало правильно. Выяснилось, что в сборку 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 тоже.
Это всё.
1. При настройке более менее новых машинок Kisan PF используется следующая распиновка:
RJ-12 ——> COM
1 ——> 5
4 ——> 3
5 ——> 2
2. Под левой крышкой, на главной плате внизу есть 4 DIP переключателя, порядок включения 1101. Крышка снимается: 1 болт сверху со стороны купюроприемника, один сзади машинки, и два снизу.
3. Настойки на MOXA: TCP Client, скорость и там и там 9600.
Надеюсь, что кому-то помог!
Добрый день!
на машинках Kisan PF есть порт LAN, через него пробовал кто-нибудь подключать ActivePOs?
Добрый день.
Может знает кто как подключить Kisan Newton HD к трассиру?
Дссл запрашивает следующее:
1. Дампы со счетной машины, которые можно собрать с помощью утилиты: dump_saver https://ncloud.dssl.ru/s/2Qfa8F23pBkMaXg
2. Описание протокола обмена данными этой машины со сторонними системами.
1) Как подключить пк и снять эти дампы (детально если можно)
2) откуда взять описание протокола обмена данными, если все сервисы вокруг говорят, что это закрытая информация…