Показано с 1 по 7 из 7

Тема: Работа с принтерами UCS БЕЗ R-Keeper

  1. #1
    Новичок
    Регистрация
    23.01.2017
    Адрес
    Севастополь
    Сообщений
    1
    Поблагодарил(а)
    0
    Благодарностей: 0 (сообщений: 0)

    Работа с принтерами UCS БЕЗ R-Keeper

    Добрый день, коллеги.

    Хочу поделиться со всеми решением проблемы, описанной в заголовке.
    Входные данные: имеется принтер Star 650 с интерфейсной платой UCS.
    Задача: заставить его печатать без наличия R-Keeper.

    Попытки сделать это "легально", через:
    - установку родных драйверов Star 650,
    - поиска описания протокола на сайте UCS,
    - поиска информации на данном форуме
    успеха не принесли.

    Спасла noname утилитка, которая смогла вывести текст, но только латиницей.
    При помощи сниффинга трафика удалось чуть приоткрыть завесу (на это ушло два дня и рулон бумаги).

    Данные передаются по протоколу UDP. IP принтер сообщает при включении. Порт по умолчанию 18251.

    Любой управляющий пакет должен начинаться с такой последовательности $02,$41,$FF,$21,$01.

    Перед командой вывода текста принтеру зачем-то понадобился вот такой пакет $02,$41,$FF,$20. Без него никак

    Сама команда вывода текста выглядит так $02,$41,$FF,$21,$00. После неё текст в cp866.

    Последовательность для русификации мне удалось найти здесь RK6WIN\RK6\KACCA\STATIONS\DEVICES\PRINTERS\TSP700. RUS

    Выглядит она так: $1b, $1d, $74, $0a

    Ну и прогон 5 строк+подрезка: $1b, $64, $05, $1d, $56, $01

    Между пакетами обязательно нужна пауза. В моём случае стабильной работы удалось добиться при паузе в 100мс.

    Эта информация минимально достаточна, чтобы вывести на печать текст без изысков.

    Ниже приведена процедура на Delphi, выводящая на печать текстовый файл на русском языке. Код, может и кривой, но вполне рабочий.


    Код:
    ...
    udpc: TIdUDPClient;
    ...
    procedure TForm1.PrintTXT(fname: String);
    var
      s: string;
      f: textfile;
      i: integer;
      sl: TStringList;
      countString: Integer;
    begin
    
      //Русификация
      udpc.Send(#$02+#$41+#$FF+#$21+#$01+#$1b+#$1d+#$74+#$0a);
      sleep(100);
    
      //Получаем количество строк текстового файла, чтобы в последней передать команду подрезки
      sl := TStringList.Create;
      sl.LoadFromFile(fname);
      countString := sl.Count;
      sl.Free;
    
      //"Дедовский" способ работы с текстовыми файлами
      i:=0;
      assignfile(f,fname);
      reset(f);
      repeat
        readln(f,s);
        inc(i);
        //Видимо инциализируем
        udpc.Send(#$02+#$41+#$FF+#$20);
        sleep(100);    
        //Или просто выводим строку или выводим и подрезаем
        s:=#$02+#$41+#$FF+#$21+#$00+StrAnsiToOem(trim(s));
        if i<>countString then s:=s+#10+#13
                          else s:=s+#$1b+#$64+#$05+#$1d+#$56+#$01; 
        udpc.Send(s);
        sleep(100);
      until eof(f);
      closefile(f);
    end;
    Это всё. Надеюсь, что данная информация будет полезна.
    Желающим могу выслать исходники или консольную утилиту, которой можно скармливать txt файлы для печати.
    Последний раз редактировалось 48sfmdk4cx2n; 03.02.2017 в 09:49.

  2. #2
    Новичок
    Регистрация
    19.09.2019
    Адрес
    kosmos
    Сообщений
    2
    Поблагодарил(а)
    0
    Благодарностей: 0 (сообщений: 0)
    столько времени прошло.... так как печатать на этом принтере? скиньте ссылку на програмку или как его по сети заставить печатать?

  3. #3
    ТВОРЕЦ СЧАСТЬЯ Аватар для SH
    Регистрация
    29.11.2006
    Сообщений
    18,069
    Поблагодарил(а)
    481
    Благодарностей: 192 (сообщений: 165)
    Готового решения, кроме как у автора темы, ни у кого нет, я предполагаю.
    Стандартными способами заставить нельзя.
    Алексей Аркадьев

    Когда заказчик ищет волшебника, то чаще всего он находит сказочника.
    Если у Вас есть вопрос по поддержке - напишите его на форуме, я обязательно отвечу, если знаю ответ.
    Если Вам нужны какие-то файлы, пишите на почту: support@carbis.ru, но вначале посмотрите в разделе для скачивания.
    Для коммерческих вопросов:
    +7 (495) 740-49-91, или на почту: sales@carbis.ru

  4. #4
    Интересующийся
    Регистрация
    10.11.2013
    Адрес
    тут
    Сообщений
    36
    Поблагодарил(а)
    13
    Благодарностей: 5 (сообщений: 4)
    Цитата Сообщение от GODzilla Посмотреть сообщение
    как печатать на этом принтере?
    Попробовать обратиться в Мультисофт, они на базе этого принтера делают ФР. может есть родные стандартные COM | Ethernet платы.

  5. #5
    Новичок
    Регистрация
    19.09.2019
    Адрес
    kosmos
    Сообщений
    2
    Поблагодарил(а)
    0
    Благодарностей: 0 (сообщений: 0)
    Цитата Сообщение от vandy Посмотреть сообщение
    Попробовать обратиться в Мультисофт, они на базе этого принтера делают ФР. может есть родные стандартные COM | Ethernet платы.
    что то мне подсказывает это будет стоить не очень бюджетно =(

    принтер есть, печатать хочется, а интерфейс все портит =(

  6. #6
    ТВОРЕЦ СЧАСТЬЯ Аватар для SH
    Регистрация
    29.11.2006
    Сообщений
    18,069
    Поблагодарил(а)
    481
    Благодарностей: 192 (сообщений: 165)
    Цитата Сообщение от vandy Посмотреть сообщение
    может есть родные стандартные COM | Ethernet платы.
    Проще принтер поменять.
    Цитата Сообщение от GODzilla Посмотреть сообщение
    а интерфейс все портит =(
    Ну так интерфейс был заточен под ДОС и R_Keeper6. Так что тут всё сложно.
    Алексей Аркадьев

    Когда заказчик ищет волшебника, то чаще всего он находит сказочника.
    Если у Вас есть вопрос по поддержке - напишите его на форуме, я обязательно отвечу, если знаю ответ.
    Если Вам нужны какие-то файлы, пишите на почту: support@carbis.ru, но вначале посмотрите в разделе для скачивания.
    Для коммерческих вопросов:
    +7 (495) 740-49-91, или на почту: sales@carbis.ru

  7. #7
    Разбирающийся
    Регистрация
    18.10.2012
    Адрес
    Новосибирск, Омск
    Сообщений
    5,362
    Поблагодарил(а)
    188
    Благодарностей: 461 (сообщений: 364)
    Цитата Сообщение от GODzilla Посмотреть сообщение
    принтер есть, печатать хочется, а интерфейс все портит =(
    Выбросьте вы его
    б/у с нормальным интерфейсом на авито 3-4 рубля стоить будет.

    Для свое времени было не плохое решение для некоторых спец случаев.
    Сейчас оживлять такой принтер все равно что второй айфон пытаться обновить до текущей оси...
    Ильин Александр, Компания "Соттос"
    г Новосибирск +7 (383) 373-96-98; +7 (909) 533-93-92; nsk@sottos.ru
    г Омск +7 (3812) 377-902; +7 (905) 098-92-06; abc@sottos.ru
    www.sottos.ru | vk.com/sottos | fb.com/sottosru
    Продажа и установка ПО R-Keeper, обучение, техническая поддержка 24/7

Похожие темы

  1. Проблема с принтерами
    от ZmeiiemZ в разделе Сервис-печать в R-Keeper 7
    Ответов: 0
    Последнее сообщение: 03.04.2016, 14:22
  2. Работа с R-Keeper 7 из Java
    от HappyCat в разделе Связь R-Keeper 7 с внешними системами
    Ответов: 3
    Последнее сообщение: 10.11.2014, 21:44
  3. Работа с версией R-Keeper 6.103.1
    от Digital в разделе Delivery
    Ответов: 3
    Последнее сообщение: 26.09.2013, 01:13
  4. Проблема с принтерами
    от Andrew009 в разделе RK: Сервис-печать, принтеры
    Ответов: 9
    Последнее сообщение: 27.12.2008, 11:34
  5. С принтерами путаница, хелп!
    от Buzinniy в разделе R-Keeper 6
    Ответов: 3
    Последнее сообщение: 25.08.2007, 00:39

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •