Записки техсаппортаКонцепцияЧеловек видит дерево, в его мозгу возникает изображение будущей формы этого дерева, и человек начинает реализовывать свою концепцию. — Т. Старджон, «Медленная скульптура»

ИТ-аутсорсинг в Туле. Обслуживание 1С в Туле. Кассовые решения. Автоматизация торговли — Тула. Тел. 58-95-99

remserial и Штрих-Мини-ФР-К

remserial и Штрих-Мини-ФР-К


Notice: Функция get_bloginfo вызвана с аргументом, который считается устаревшим с версии 2.2.0! Параметр siteurl семейства функций bloginfo() считается устаревшим. Используйте параметр url.. in /var/www/blog.adminvtule.ru/wp-includes/functions.php on line 4045


ТЗ использовать в сессии терминала «A» драйвер ФР компании Штрих-М. Расшарить Штрих-Мини-ФР-К с терминала «A» для использования в терминалах «A»,»B»,»C». На данный момент драйвер ФР работает локально в сесии на терминале «A» через проброс порта посредством самого rdp.
Решение под Windows очевидно установить сервер ФР на терминал «A», подключиться по IP и номеру порта, как с терминала «A», так и с терминалов «B» и «С». Это же решение работало бы и в rdp сессиях (сессиях удаленного рабочего стола) на терминалах «A»,»B»,»C». Решение же под Linux (в частности под Thinstation 2.5) было найдено в remserial.
Хронология
1. Собрать пакет TCP COM сервер — remserial под Thinstation 2.5.
2. Передать пакету параметры порта на тонкий клиент.
3. Создать виртуальный порт на сервере.
4. Привязать к виртуальному порту удаленный порт.
5. Установить на сервер драйвер ФР.
6. Подключиться с тонкого клиента из rdp сессии к Серверу ФР.
По пунктам…
1. Простейший пакет remserial был собран в течении пары часов, заминка была в замене параметров sed и передаче параметров из конфига. Пакет не обрабатывает слеши и кавычки, потому в конфиге их надо дополнительно добавить.
2.

PKG_PACKAGES="remserial"
PKG_PREFIX=pkg
REMSERIAL_OPTIONS="-d -p 23001 -s \\\"19200 raw\\\" \/dev\/ttyS0"

Первый и второй параметры подгружают пакет remserial, третий передаёт параметры
«-d» — запуск в виде демона,
«-p 23001» — TCP порт тонкого клиента через который будут транслироваться данные с COM порта,
«-s «19200 raw»» — скорость COM порта и тип передачи данных raw (кавычки из кода должны присутствовать),
«/dev/ttyS0» — COM порт на Linux машине.
3. Под 32-битную платформу существует бесплатная версия эмулятора COM портов и Client TCP COM — . Интерфейс на русском, есть HTTP сервер с отображением лога и настройкой портов из браузера.
Сливаем устанавливаем открывается окно
Далее Language -> Russian,
Устройство -> Создать,

Выбираем Pair (два виртуальных Com — порта соединённых с одной стороны между собой) — это необходимо, так как TCP COM Client не создает порт сам по себе он может лишь цепляться к существующему.

Создаем 10 и 11 Com порты.
4.Создаем TCP COM Client


Заполняем IP адрес терминала, TCP порт, один из только что созданных COM портов(COM 11). Проверяем значения порта, должны соответствовать значениям remserial.

Последовательность устройств должна быть именно такой, иначе некуда будет пробрасывать удаленный порт.
5. Сливаем с офф. сайта Штрих-М последний пакет драйвер ФР
Устанавливаем, запускаем сервер ФР, задаем TCP порт.
Запускаем Тест драйвер указываем СOM10. Важно указываем тайм-аут не меньше 3000(3 сек) он прописывается в память ФР. Пробуем установить связь. У меня не вышло, можно подключить ФР локально и передать тайм-аут или как сделал я удаленно через проброс RDP (жаль через него нельзя расшарить).
6. Заходим в сессию на удаленном терминале «A» указываем IP адрес сервера Windows 2003, COM порт параметры, тайм-аут (3000), проверка связи — небольшая задерка, ККМ определяется. При печати задерка в 3 секунды не ощутима (или она используется лишь при определении).

Обновленный remserial до 256 Com портов.

remserial.zip (

, , , , ,

12 комментариев на “remserial и Штрих-Мини-ФР-К”

  • Андрей:

    Понравилась ваша статья. У меня проблема с подключением Штрих-М-Мини-ФР-К. Все делал аналогично. И так по порядку. Имеется связка терминальный сервер 2003 и две кассы на тонком клиенте. Надо сделать проброс COM1 и COM2 с каждой кассы на сервер. Пробывал перенаправлять порты утилитами типа ser2net + tibbo (с которыми всегда все работало), remserial + Virtual Serial Ports ФР. Порты на сервере открываются (соединение COM-TCP-виртуальный порт создается), но Штрих-М работать отказывается. Просто не видит свободный порт. Менял тайм-аут на 3000 — безрезультатно. Причем другие ФР работают (пробывал на ФР Феликс-РФ, ФР Меркурий …). Скачивал последний драйвер штриха. Может проблема в нем? Пробывал различные тонкие клиенты. Смог подключить только одну кассу через freerdp, т.к. в настройках тонкого клиента только COM3 и COM4 редиректит COM1 и COM2. Вторая касса при загрузке конфликтует по портам. Как увеличить порты? Вы не могли бы оказать помощь в этом вопросе?

  • SS_:

    Последовательность действий такова подключить ККМ к машине с Windows XP например. Найти ККМ на определенном порту, допустим — COM1 параметры 19200 скорость и таймаут 100. Затем выставляем вручную таймаут на 3000 делаем «установить параметры». Отключаем ККМ от машины (таймауты и скорость хранятся в ККМ). Идем к тонкому клиенту допустим с сессией rdesktop параметры запуска такие:

    SESSION_0_RDESKTOP_OPTIONS="-u 'userX' -p 'xxxxxx' -f -m -z -r comport:COM3=/dev/ttyS0,COM4=/dev/ttyS1"

    Пробросили COM1 и COM2 через саму сессию rdesktop на сервер. Запускаем Тест драйвер ФР, поиск не нажимаем! Устанавливаем скорость 19200 порт COM1 таймаут 3000 (у вас возможно свои параметры, естественно порты на предыдущей машине и на тонком клиенте могут различаться, скорость и таймаут одинаковые). Нажимаем «установить параметры», если внизу появляется название ККМ — значит определилась. Таймаут 3000 подходит только для локальной сети, если не определилась можно попробывать выставить параметры таймаута больше. После вышесказанного меняем настройки в конфиге thinstation убираем:

    -r comport:COM3=/dev/ttyS0,COM4=/dev/ttyS1

    активируем пакет rdesktop аналогично статье
    Remserial динамическое добавление до 256 COM портов.

  • Андрей:

    Большое спасибо! Тайм-аут не так задавал. Буду пробывать.

  • Андрей:

    Получилось! Спасибо за подсказку. Проблема была в неправильной установки тайм-аута.
    В дополнение могу сказать, что при настройке VSPE проще выбирать Connector вместо Pair, также можно использовать tibbo вместо VSPE.

  • Дмитрий:

    Скажите, пожалуйста, как поступить, если есть локальная сеть, компьютеры с Windows 7, на одном установлен ФР, а обращаться надо с двух. Какое решение предложите?

  • SS_:

    Сервер ФР, если фискальник от Штрих-М. У некоторых других аналогично — Атол, например. Еще есть возможности ComtoIP в железном или софтовом исполнении.

  • artemushkin:

    Интересная статья! Но я ищу немного другое, но пока на просторах интернета ничего более толкового не нашел. Подскажите если можете как решить задачу. Есть сервер терминалов win2003 удаленный на этой же машине линукс, пострес, 1с сервер. Пользователи могут работать как с локальным клиентом (на своей машине), так и через терминал. Но есть одна машина на которой касса Штрих-Мини-ФР-К локально работает, но так как сервер удаленный то локально и 1с медленно работает. Взможно ли как то пробросить кассу в сервер терминалов?

  • SS_:

    Конечно стандартными средствами rdp через проброс com порта.

  • mikis:

    Подскажите, у этой программы есть возможность после перезагрузки ПК запускаться автоматически и соединятся с сервером на котором COM порт?

  • SS_:

    Конечно демон или в автозагрузку.

  • Алексей:

    Никокой virtual port emulator не нужен. Просто используйте тест драйвера версии 4.10. Там в свойствах подключения выбираете TCP Socket, вводите IP и порт

  • SS_:

    На момент написания статьи последним был 4.9, он так не умел. На данным момент в thinstation попросту зашит серверФР Штрих-М.


Notice: Undefined variable: comment_form_default_fields in /var/www/blog.adminvtule.ru/wp-content/themes/black-with-orange/comments.php on line 24

Добавить комментарий

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