PDA

Просмотр полной версии : СПК107 & USB принтер



lazy
15.03.2022, 10:59
Добрый день!

Возможна ли работа СПК с usb принтерами, если да, то с какими и куда копать? Если нет, то в какую сторону копать для принтеров на RS232?

Спасибо )

Евгений Кислов
15.03.2022, 11:08
Добрый день!

Возможна ли работа СПК с usb принтерами, если да, то с какими и куда копать? Если нет, то в какую сторону копать для принтеров на RS232?

Спасибо )

Добрый день.
Работа с USB-принтерами не поддержана.

С принтерами по RS-232 работать можно, если на стороне принтера хватает пинов Rx, Tx, GND (т.е. не требуются RTS/CTS и т.п.).
Начать копать можно с этого примера:
https://youtu.be/uH3hnXmc0fw

PupaJr
22.04.2024, 08:13
Добра всем. Прошу прощения что поднял старую тему.
Встал вопрос аналогичный - КАК??? и я так понял решения человеческого нет?
Но отчёты с графиками надо печатать здесь и сейчас прямо у установки, никакой сети и СКАДы нет. Есть принтера USB/Eternet/LPT - как с ПЛК/СПК распечатать скриншот трассировки или Chart на принтер и вторым листом вывести в таблице набор точек перегиба графика.
Не видел принтера который НЕ поддерживает ESC/PCL, под эти стандарты же можно запилить библиотеку. Судя по вопросам это популярная проблема, а сколько прочитали и ничего не сказав расстроились и ушли... с овена... :(
Ну у других же некоторых производителей есть поддержка принтеров (wintek, delta).
Найти принтер RS232 - вот это ПРОБЛЕМА и через него тянуть картинку 5 минут - это ужас.. да и чего будет стоит программно её парсить в ПЛК/СПК.
Матричный принтер? - так тоже нет порта или городить его из 16 разрядного DO ?? - да, реально но библиотеки нет тоже. (кстати матричные у нас есть живые и лазерные есть с LPT).
Отругайте и пошлите туда где есть нормальное решение пожалуйста.

Евгений Кислов
22.04.2024, 08:34
Добрый день.


Есть принтера USB/Eternet/LPT - как с ПЛК/СПК распечатать скриншот


и я так понял решения человеческого нет?

Вы поняли правильно.

Cs-Cs
22.04.2024, 09:00
Отругайте и пошлите туда где есть нормальное решение пожалуйста.
Ругаем. КОМПЬЮТЕРНЫЕ принтеры (которые "обычные" для листов А4) имеют свою систему команд и драйверы, которые разработаны только для компьютеров. Эти драйверы дают компьютеру понимание, как работает принтер и посылают на принтер команды. Какие-то. Какие - будет неизвестно.
Поэтому до тех пор пока производители принтеров не сделают драйверы для конкретного ПЛК - использовать такие принтеры напрямую с ПЛК НЕ получится.
Альтернативный вариант - использовать такие принтеры, команды которых:
а) Документированы и известны
б) Можно посылать в виде текста или коротких массивов байтов
в) Можно посылать по интерфейсам, которые поддерживает ПЛК (на данный момент проще всего по RS-232/RS-485 или USB с эмуляцией RS-232/RS-485).

Варианты:
а) Этикеточные или чековые принтеры, языки которых (ZPL, EZPL) документированы и представляют собой текстовые команды типа

^Q30,2
^W58
^H10
^P1
^S2
^AT
^C1
^R8
~Q+0
^O0
^D0
^E12
~R200
^XSET,ROTATION,0
R1,10,97,232,3,3
R95,10,256,92,3,3
R254,10,444,92,3,3
R95,90,444,232,3,3
Lo,95,157,444,159
ATB,258,48,34,34,0,0,A,0,ID Заказчика
ATB,97,92,31,31,0,0,A,0,Название заказа
ATA,98,161,25,25,0,0,A,0,Наименование контрагента
ATB,264,19,23,23,0,0,B,0,МАТЕРИАЛЫ
Тогда посылая из ПЛК такие команды можно заставлять принтер печатать.
Например, в такой принтер можно зарядить подходящую чековую или бумажную ленту - и печатать на ней (для этого надо проверить, что такой принтер может поддерживать печать на ленте без разделителей-этикеток).

б) Старые принтеры типа матричных, которые могут работать напрямую с текстом, как было в DOS: послали байт в порт - он его печатает.

В таком случае в ПЛК надо найти пример вида "Собираем данные в виде строк или байтов и отправляем в COM-порт" (например через библиотеку Owen Communication Library).

А, да. И это будет работать в виде ТЕКСТА. Никаких картинок - только печать текста.

PupaJr
22.04.2024, 15:18
Да что-ж так грустно то, в тех поддержке тоже написали письмо что работы пока НЕ ведутся... Ну раз в панели и ПЛК стоит Linux то наверняка можно портировать драйвера Linux под некоторые модели принтеров или совместимых принтеров.. или ограничиться хотябы каким-то списком из доступных/совместимых. Кому надо допустим пусть запускает Вашу утилитку которая интегрирует в прошивку драйвер принтера.. или через системное меню панели - добавить драйвер устройства и с флешки добавляем с Вашего сайта проверенный драйвер (пусть всё будет зашифровано и распаковываться только внутри ПЛК, чтобы нельза было залить в контроллер "левый код" или через интернет).. Не вижу проблем.. Сейчас почти на все принтера в продаже есть драйвера на Linux... Есть и мобильные технологии печати (iprint, android print, air print, Wi-Fi Direct и т.д.), воткнул в панель сзади "свисток" и подключился принтер..
жаль.. надо развиваться...
А парсить картинку в байты не сложно, главное дали бы доступ к видео памяти или файлу самой картинки скрин-шота с экрана панели сделанного средствами самой панели.