Использование COM весов в 1С на RDP-клиенте

16 Comments

  1. 3vs

    Я через преобразователь порта USR-TCP232-302 подключил ККТ АТОЛ 25Ф.

    Было принято решение подключить Атолл 25Ф через преобразователь последовательного порта RS232 в Ethernet.

    Проверенное решение от фирмы MOXA NPort 5110 https://moxa.pro/catalog/nport5110

    стоит довольно дорого ~8000 р.

    Поиск дешёвых аналогов привёл на сайт ООО «МЭНС»

    Аналог преобразователь порта USR-TCP232-302 стоит 1800 р., сейчас, наверное, подороже.

    http://www.usriot.pro/catalog/preobrazovateli-rs232-rs485-ethernet/preobrazovatel-porta-usr-tcp232-302/

    Для работы Атолл 25Ф в режиме COM-порта, подключенного к USR-TCP232-302 придётся распаять кабель.

    Если вся, настройка прошла успешно, скорость работы в локальной сети сравнима со скоростью работы ККТ при подключении ККТ непосредственно к локальному компьютеру по USB кабелю.

    Если мутить это через Интернет, тогда, видимо, надо будет иметь белый IP-адрес и пробрасывать порты с роутера на преобразователь порта USR-TCP232-302, или организовывать VPN.

    Товарищ пробовал этой же железкой подключать сканер штрих кода, получилось.

    Весы тоже должны работать.

    Reply
  2. chubajs12

    (1) Чаще всего такие весы уже есть и уже стоят подключенными к компьютеру. Покупать на каждые весы еще адаптер — нужно финансирование выбить. Сразу возникают вопросы: «Зачем? Оно же сейчас и так работает!» И если покупать что-то, то проще купить RUEW весовой терминал, по деньгам 6840 рублей.

    В предложенном решении покупать ничего не нужно. Оборудование может ломаться, какая вероятность поломки софта?

    Если мутить это через Интернет

    Попробуйте организовать на предложенном вами адаптере VPN или белый IP на нескольких устройствах — на мостик встать проще. С компьютером это сделать гораздо проще, т.к. на нем полноценная ОС.

    Для определенных условий использование адаптеров — это отлично. Но предложенным способом при необходимости можно любое устройство пробросить в облако, организовав на локальном компьютере шлюз через http соединение.

    Reply
  3. user874471

    Я через вот через такую железку организовал. Есть и подешевле.

    Ну и http-сервис аналогичный, но на Python

    Плюс Телеграм бот который кроме веса, высылает еще картинку с камеры. Код бота

    Ну а в 1С само собой.

    Reply
  4. 3vs

    (2)

    Чаще всего такие весы уже есть и уже стоят подключенными к компьютеру.

    тут имеется в виду работа по RDP, когда проброшенный в RDP COM-порт работает с огромными задержками да ещё через задницу, а то и вообще не работает.

    Решение, конечно в лоб как говорится, но рабочее.

    Весы подключаются к конвертеру и из любой точки локальной сети к ним есть доступ,

    а если пробросить порты через роутер с белым ip-адресом, то и из интернета.

    Да и конвертеры есть многопортовые.

    Оборудование может ломаться, какая вероятность поломки софта?

    Данное китайское чудо работает (у меня при комнатной температуре), но парни, которые торгуют ими, ездили в Китай и смотрели технологию производства, тестируют по полной программе.

    Они эти конвертеры используют в ЖКХ, для подключения различных счётчиков и прочего.

    Просто как вариант, не у всякого есть мозги настроить предложенное Вами решение. 🙂

    Про себя говорю, да ещё когда нужно «вчера», приходится искать варианты…

    .

    Reply
  5. script

    Вот если был какой-то универсальный софт http-сервис, который можно было бы настроить на нужный ком порт и передавать в него или получать из него данные… Любую железяку можно было бы без проблем прикрутить к 1С.

    Reply
  6. 3vs

    (5)Да, если была бы такая open source софтинка, было бы здорово!

    Но если надо быстро и рабочий вариант, то лучше и дешевле преобразователя порта USR-TCP232-302 не найти! На алиэкспресс можно дешевле его купить, блок питания любой +5 вольт.

    Чем хороша ещё железка, она имеет свой буфер и ждёт завершения передачи пакета информации по локальной сети/COM-порта, а потом уже целиком пакет отправляет в/c устройство.

    Reply
  7. chubajs12

    (6) Если я правильно понимаю, то при использовании любого преобразователя порта есть два варианта работы:

    — либо эмуляция com устройства на конечном сервере через доп.софт от эмулятора,

    — либо работа по ethernet.

    Первый вариант ограничивает нас на использование большого количества устройств, т.к. мы переносим устройства на конечный сервер «физически». Проверено 100500 раз, если на сервере более 20 com устройств — они начинают вылетать. Но нужно уточнить с каким com портом будет подключаться устройство, а то можно навзвешивать на других весах. Но если устройств мало, то использовать адаптеротличный вариант.

    Второй вариант подразумевает, что штатным драйвером мы не можем воспользоваться, т.к. нет com устройства на сервере. Переписывать драйвер на использование com команд через ethernet все равно нужно. И зачем городить огород с железкой, если все-равно писать драйвер?

    Reply
  8. 3vs

    (7)Для преобразователя порта USR-TCP232-302 скачивается на сайте производителя бесплатная софтинка эмулятора COM-порта и ничего переписывать на надо, для программы получается реальный натурный COM-порт, только удалённый по локальной сети/интернет.

    Она может работать и как сервис и как запускаемая вручную программа.

    Если кому надо, я для тех, кто нам поставлял эти преобразователи, написал некий текст, как подключал онлайн кассы к 1С Отель, работающий в терминале от ViTerminal 5.x., могу вордовский файл закинуть.

    Reply
  9. chubajs12

    (8)

    скачивается на сайте производителя бесплатная софтинка эмулятора COM-порта

    Это то, что я назвал «первый вариант работы». Есть ограничения, плюсы и минусы для такого варианта работы. Но повторюсь, если устройств мало, то это отличный вариант.

    Reply
  10. chubajs12

    (5)

    универсальный софт

    На эту тему подумаем, как правильнее реализовать. Если есть идеи — озвучивайте.

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

    Reply
  11. 3vs

    (9)Да, да, всё правильно!

    Возможно, когда на сервере много COM-портов возможны глюки, не приходилось с этим сталкиваться. 🙂

    Reply
  12. shard

    вариант предложенный в https://infostart.ru/public/620353/ рассматривался?

    Reply
  13. chubajs12

    (12) Отличный вариант, мы его не нашли в свое время.

    Но часть проблем остается в нашем случае:

    1) На сервере будет множество com-портов. К ним нужно будет обращаться через платные версии драйверов. Бесплатных dll для обращений к нескольким весам на одном устройстве у производителя нет.

    2) Клиентские машины с ОС Windows. Мы уже стараемся переводить все на PXE с Linux. В сборку добавляем наш софт и RDP-клиента.

    3) При количестве более 20 весов на com-портах на одной машине у нас начинались глюки — периодически устройства отваливались. Возможно, проблема была с драйверами для весов. Возможно в программ-эмуляторе, которую мы использовали. Возможно, еще в чем-то, большего тестирования не делали.

    Софт возьму себе на вооружение, возможно, в следующий раз не будем изобретать велосипед.

    Reply
  14. chubajs12

    (12) На самом деле это тоже аналог физического адаптера, которые предлагался выше. Аналог, т.к. есть программа на конечном сервере.

    Reply
  15. shard

    (14) именно. Но в том ПО стояла задача пробросить com-порт без уточнения чем будет принимающая сторона. В Вашем случае все равно принцип сохраняется: есть две программы, обменивающиеся между собой данными по сети (маршрут трафика в данном случае не существенен). На компе с оборудованием HTTP_SCALE слушает сетевой порт, при необходимости пинает com-порт и отсылает пришедший ответ. Сталкивался и с вопросами передачи данных (фоновая синхронизация содержимого папок винды при терминальном подключении, реализовывал на VC), и с вопросами работы с портами оборудования (принтер этикеток без дров на убунте, реализовывал на Qt) — все просто, если получится достать спецификации сигналов для различного оборудования то выйдет неплохой коммерческий продукт.

    Если же спецификаций нет, то остается только маскировать выдачу на принимающей стороне под реальную железку и разбирать родным драйвером. В любом случае кроссплатформенность — это очень здорово.

    Reply
  16. par_62

    Давно реализовано : простая служба Windows,слушающая порт являющаяся TCP сервером и ВК 1с в виде драйвера подключаемого оборудования. Работает как часы вот уже 4 года. Кроме того реализован монитор весов доя руководителей ( С#). Таких руководителей несколько: наблюдают одновременно покпзания весов и не одних. Автору спасибо,наверное многим пригодится

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *