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

0. 6 05.11.19 11:20 Сейчас в теме
В статье описана методология подключения COM весов в 1С на RDP-клиенте. В статье нет кода, нет готовых решений, но есть идея, которую можно реализовать самостоятельно.

Перейти к публикации

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. 3vs 05.11.19 12:18 Сейчас в теме
Я через преобразователь порта 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.
Товарищ пробовал этой же железкой подключать сканер штрих кода, получилось.
Весы тоже должны работать.
2. chubajs12 6 05.11.19 13:22 Сейчас в теме
(1) Чаще всего такие весы уже есть и уже стоят подключенными к компьютеру. Покупать на каждые весы еще адаптер - нужно финансирование выбить. Сразу возникают вопросы: "Зачем? Оно же сейчас и так работает!" И если покупать что-то, то проще купить RUEW весовой терминал, по деньгам 6840 рублей.

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

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


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

Для определенных условий использование адаптеров - это отлично. Но предложенным способом при необходимости можно любое устройство пробросить в облако, организовав на локальном компьютере шлюз через http соединение.
4. 3vs 05.11.19 16:58 Сейчас в теме
(2)
Чаще всего такие весы уже есть и уже стоят подключенными к компьютеру.

тут имеется в виду работа по RDP, когда проброшенный в RDP COM-порт работает с огромными задержками да ещё через задницу, а то и вообще не работает.
Решение, конечно в лоб как говорится, но рабочее.
Весы подключаются к конвертеру и из любой точки локальной сети к ним есть доступ,
а если пробросить порты через роутер с белым ip-адресом, то и из интернета.
Да и конвертеры есть многопортовые.
Оборудование может ломаться, какая вероятность поломки софта?

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

Просто как вариант, не у всякого есть мозги настроить предложенное Вами решение. :-)
Про себя говорю, да ещё когда нужно "вчера", приходится искать варианты...
.
3. Ermak96 05.11.19 13:54 Сейчас в теме
Я через вот через такую железку организовал. Есть и подешевле.
Ну и http-сервис аналогичный, но на Python
Плюс Телеграм бот который кроме веса, высылает еще картинку с камеры. Код бота
Ну а в 1С само собой.
5. script 230 06.11.19 01:28 Сейчас в теме
Вот если был какой-то универсальный софт http-сервис, который можно было бы настроить на нужный ком порт и передавать в него или получать из него данные... Любую железяку можно было бы без проблем прикрутить к 1С.
6. 3vs 06.11.19 05:38 Сейчас в теме
(5)Да, если была бы такая open source софтинка, было бы здорово!
Но если надо быстро и рабочий вариант, то лучше и дешевле преобразователя порта USR-TCP232-302 не найти! На алиэкспресс можно дешевле его купить, блок питания любой +5 вольт.
Чем хороша ещё железка, она имеет свой буфер и ждёт завершения передачи пакета информации по локальной сети/COM-порта, а потом уже целиком пакет отправляет в/c устройство.
7. chubajs12 6 06.11.19 08:17 Сейчас в теме
(6) Если я правильно понимаю, то при использовании любого преобразователя порта есть два варианта работы:
- либо эмуляция com устройства на конечном сервере через доп.софт от эмулятора,
- либо работа по ethernet.

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

Второй вариант подразумевает, что штатным драйвером мы не можем воспользоваться, т.к. нет com устройства на сервере. Переписывать драйвер на использование com команд через ethernet все равно нужно. И зачем городить огород с железкой, если все-равно писать драйвер?
8. 3vs 06.11.19 08:31 Сейчас в теме
(7)Для преобразователя порта USR-TCP232-302 скачивается на сайте производителя бесплатная софтинка эмулятора COM-порта и ничего переписывать на надо, для программы получается реальный натурный COM-порт, только удалённый по локальной сети/интернет.
Она может работать и как сервис и как запускаемая вручную программа.

Если кому надо, я для тех, кто нам поставлял эти преобразователи, написал некий текст, как подключал онлайн кассы к 1С Отель, работающий в терминале от ViTerminal 5.x., могу вордовский файл закинуть.
9. chubajs12 6 06.11.19 08:36 Сейчас в теме
(8)
скачивается на сайте производителя бесплатная софтинка эмулятора COM-порта

Это то, что я назвал "первый вариант работы". Есть ограничения, плюсы и минусы для такого варианта работы. Но повторюсь, если устройств мало, то это отличный вариант.
11. 3vs 06.11.19 09:15 Сейчас в теме
(9)Да, да, всё правильно!
Возможно, когда на сервере много COM-портов возможны глюки, не приходилось с этим сталкиваться. :-)
10. chubajs12 6 06.11.19 08:38 Сейчас в теме
(5)
универсальный софт

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

Из трудностей, которые приходят в голову, возникает вопрос в спонтанных телеграммах на устройстве. Если на устройстве генерируется событие, то нужно забрать информацию с устройства.
12. shard 258 08.11.19 12:13 Сейчас в теме
вариант предложенный в https://infostart.ru/public/620353/ рассматривался?
chubajs12; +1 Ответить
13. chubajs12 6 08.11.19 16:02 Сейчас в теме
(12) Отличный вариант, мы его не нашли в свое время.

Но часть проблем остается в нашем случае:
1) На сервере будет множество com-портов. К ним нужно будет обращаться через платные версии драйверов. Бесплатных dll для обращений к нескольким весам на одном устройстве у производителя нет.
2) Клиентские машины с ОС Windows. Мы уже стараемся переводить все на PXE с Linux. В сборку добавляем наш софт и RDP-клиента.
3) При количестве более 20 весов на com-портах на одной машине у нас начинались глюки - периодически устройства отваливались. Возможно, проблема была с драйверами для весов. Возможно в программ-эмуляторе, которую мы использовали. Возможно, еще в чем-то, большего тестирования не делали.

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

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