始めの言葉

「プリンターから印刷できて当たり前」と、ユーザーからもSIerからも軽視されがちなプリンターの世界ですが、実際にはお困りだったり、思ったような印刷結果が得られないまま我慢してお使いの皆様のために、今までの経験が役立てばと、このブログを立ち上げました。印刷の基本から、応用情報、問題の解決方法を情報発信すると共に、PDF化など、これからどうするかについても、ご相談に乗れれば幸いです。ご質問はコメントでお寄せください。
ラベル 5577 の投稿を表示しています。 すべての投稿を表示
ラベル 5577 の投稿を表示しています。 すべての投稿を表示

2017年6月25日日曜日

IBM 小型レーザー・プリンターの今まで -第16回- "PAGES"-10

ここで、少し脇道に逸れますが、PAGES モードのプリンターにとって外せない話題が、5400エミュレーターII です。
5400エミュレーターII は、前々回の IBM 小型レーザー・プリンターの今まで -第14回- "PAGES"-8 でご紹介した "Infoprint 13x6J" シリーズ 3モデルを発表した後の、2006年10月に発表されました。
5400エミュレーターII 外観

5400エミュレーターIIについては、既に LAN 直結で双方向通信する印刷方式"Telnet5250E" - 第5回 - でご紹介していますので、ここでは簡単な概要のみお話ししたいと思います。

初代 5400 エミュレーターは、 5400 シリーズ・ライン・プリンターと同様に、5577 系のドット・プリンターをTelnet5250E を使って、AS/400 と直接 LAN 接続して使用したいというお客様のご要望に基づいて製品化されたものです。その後、ドット・プリンターでできるのなら、PAGES のレーザー・プリンターでも、Telnet5250E 接続にできるはずというお客様の声に押されて、初期設定によって、レーザー・プリンターも選択できるようになった 5400 エミュレーターII ができました。
技術的な要素の他には営業政策的な意味もあったと思いますが、初代 5400エミュレーターからの移行(改造)はできず、5400エミュレーターII は、別製品として発表されました。
5400エミュレーターII の開発に当たって、一つの山は、プリンターと接続するパラレル・インターフェイスの規格が、ドット・プリンターとレーザー・プリンターでは異なる点にありました。
5400エミュレーターでは、ドット・プリンターに AS/400 からの印刷データを送信するだけでなく、逆に、プリンターから、印刷中とか、用紙切れや用紙ジャムといったエラー状態、といった情報を把握して AS/400 に送信するために、パラレル・インターフェイスの規格の中でも、コンバージド・モードという、正にこの目的にぴったりのインターフェイスの規格を使用していました。(ちょうど、ドット・プリンターをダム端末、即ち、端末専用機に接続する場合と同じです。)
ところが、当時のレーザー・プリンターには既にコンバージド・モードはありません。そのため、5400エミュレーターII では、パラレル・インターフェイスとして標準の IEEE1284 規格に合わせたインターフェイスで分かる範囲で、プリンターの状態を把握することになりました。
その結果、5400エミュレーターII の初期設定を行なう Web ページの画面では、初めにドット・プリンターに接続するのか、レーザー・プリンターに接続するのかを選択するようになっていました。それによって、インターフェイスの規格が変わり、内部で処理するマイクロコードが全く異なってくるからです。
5400エミュレーターII の機能

お客様のご要望に合わせて機能を拡張し、対応機種を増やしてきた 5400エミュレーターII ですが、いくつかの制約はありました。

- "Infoprint13x6J" の後継シリーズである "Infoprint17x6J"シリーズでは、パラレル・インターフェイスがハーフ・ピッチ・サイズで小型であったため、5400エミュレーターII を取り付けるためには、付属の変換アダプターが必要でした。その結果、取り付けると 5400エミュレーターII 自体の重さで下に傾いてしまい、接続が不安定になるという現象が発生しました。

- 更にその後に発表された "InfoPrint SP 8200 モデルN50" は、50ページ/分という PAGES モードを持ったレーザー・プリンターでは最高速のモデルでしたが、パラレル・インターフェイスが無かったため、5400エミュレーターII を使用できませんでした。

- レーザー・プリンターは受信バッファーのメモリー・サイズが大きいため、プリンター側では印刷データをたくさん溜められます。受信済みの印刷データを印刷するのは、プリンターの責任という考え方でできていますので、プリンターの電源を切られない限り、用紙ジャムや用紙切れ等のエラーが発生しても、印刷完了するまでは、メモリーから印刷データが消されることはありません。その結果、5400エミュレーターII 経由の印刷では、ページ数が少ないスプールの場合、印刷データは、一瞬でプリンター側に溜められますので、5250 端末の OUTQ の画面での、スプールの取り消しや保留が効かないということが発生します。また、取り消しできたとしても、想定以上の多くのページ数を印刷した後になってしまうということになります。この点は、受信バッファーの小さいドット・プリンターと異なる点で、如何ともしがたい点です。

- 5400エミュレーターII の価格が、レーザー・プリンター本体並みと揶揄されるくらいになってしまいました。これは開発費用の影響もありますが、一方ではレーザー・プリンターの低価格化がかなり進んだという面もあるかと思います。(初代の 5587-G01 の価格や速度と、Infoprint1000J シリーズのそれを比較すると 20年という歳月を考えさせられます。)



2017年6月18日日曜日

IBM 小型レーザー・プリンターの今まで -第15回- "PAGES"-9

プリンターを PAGES モードに切り替えるためのコマンドが、PAGES のコマンドの中にあります。それだけでは、PAGES モードに切り変わるためには、PAGES モードのコマンドを正しく処理して PAGES モードになる必要があるといった、ちょうど、鶏と卵の関係のようになってしまいます。
実際には、プリンターの処理機能の基礎となるレベルのマイクロコード(ファームウェア)が、プリンターがどのモードであっても、このコマンドを処理できるようにできているのだと思います。

コマンド自体は、Web 上で公開されている PCOMM や CA の 用の PDF ファイルをメモ帳で開くと、次のように記述されていることで、分かります。

/* エミュレーションモード設定  */
CDS EQU 1B 7E 12 00 01 11                       /* PAGES 選択     */

START_JOB=CDS INZ SEL SA4 FA4 SRO P10 LL6

CDS は、Change Data Stream を略して付けた名称と考えられます。
コマンドとしては、"1B 7E 12 00 01 11" であって、これは "5577 モード" への切り換えにもそのまま使用できます。
"START_JOB=" の直後にこのコマンドが記述されていることによって、プリンター・セッションから送信される印刷データの先頭で、プリンターを "PAGES モード"、若しくは "5577 モード" に切り替えて、その後の PAGES コマンドを正しく処理できるようにしている訳です。

Infoprint 1000J シリーズの基本モードである "RPCS モード" のプリンター・ドライバーでは、プロパティ画面のメニューの中で、"基本設定" -> "その他" と選択した次のような画面に "印刷後のエミュレーション" という設定項目があります。
RPCS モードのドライバーで元のエミュレーションに戻す設定

これを、上の画面のように"直前のエミュレーション"と設定しておくと、PAGES モードで印刷後、このドライバーを使って RPCS モードを使って印刷した場合には、プリンターを元のモード、つまり "PAGES モード"に戻すコマンドを、発行すると考えられます。
従って、"PAGES モード"での印刷から始まった場合には、この設定のみで問題無いかもしれませんが、必ずしもそうではないので、"PAGES モード"を使用するプリンター・セッション経由の印刷では、先頭で切り換え用のコマンドを発行する必要があるということです。

プリンター・セッション経由の印刷以外で、PAGES モードを使う印刷としては、OS/400 の HPT 機能を使った、LAN 直結印刷があります。
プリンター・セッション経由の印刷において、PAGES モード 設定のコマンドを使用することは、Infoprint 1000J シリーズの "PAGES 使用解説書"に記載されていることですが、HPT 機能を使った LAN 直結印刷についての記述はありませんでした。
ところが、実際には、1 台の Infoprint 1000J に対して、RPCS モードのドライバーを使った WindowsXP からの印刷と、HPT 機能を使った AS/400 からの LAN 直結印刷を行なっている中で、AS/400 からの印刷が、文字化けしてしまうという問題が発生したお客様がありました。

"RPCS モード"のドライバーで、"直前のエミュレーションに戻す"設定は行なったものの、問題は解決しません。プリンターが、OS/400 から送信されてくる "PAGES モード" の印刷データを正しく識別できず、"RPCS モード"の状態のまま処理してしまうため、文字化けとなってしまうのです。

PDF ファイルと同様に、印刷データの先頭に、"PAGES モード"への切り替えコマンドを埋め込むには、"WSCST ファイル"を編集します。
"WSCST ファイル"を変更する方法は、Web で公開されています。リンク先の 7 ページ目以降をご覧ください。
また、"PAGES モード" 用の"WSCST ファイル"のサンプルも、同じように公開されています。リンク先のテキスト・ファイルを開いてみると、その中に次のような箇所があることが、分かります。

    :INITPRT
      DATA ='1B7E010000'X                   /*初期化設定*/
            '1B7E0300013C'X                 /*行ピッチ設定6LPI */
            '1B7E02000132'X                 /*文字ピッチ設定10CPI */
            '1B7E5A000403AE0000'X.          /*コードページ変更942 */
 
ここが、プリンター・セッション用の PDF ファイルの中の "START_JOB=" 以降に該当します。
そこで、DATA = の次に、"PAGES モード"への切り替えコマンドを、次のように追加します。
 
    :INITPRT
      DATA ='1B7E12000111'X                 /* PAGES 選択*/
            '1B7E010000'X                   /*初期化設定*/ 
 
このお客様では、この "WSCST ファイル" を指定したリモート OUTQ を通して印刷データを送信することによって、プリンターが、先ず "PAGES モード" に切り替わってから、後続のデータを処理するようになり、その結果、文字化けは解消されました。

2017年4月22日土曜日

IBM 小型レーザー・プリンターの今まで -第8回- "PAGES"-2

1988年に発表された初代の "5587-G01" や、翌年 1989年の "4216-510"のコマンドは、"5577互換"レベルか、その拡張の "3222" レベルまででした。
"PAGES" に初めて対応したのは、1990年に発表された、"5587-G01"と同じ筐体の "5587-H01" プリンターでした。
そしてその翌年、1991年には、より小型で安価な "5585-H05" プリンターを発表しています。
"5587" プリンターは、A3 サイズの用紙までに対応していましたが、その結果、次のような課題がありました。
- プリンター全体が大きくなった。
- 高めの価格となった。
- 当時、A3 サイズのプリンターの需要は小さかった。
そこで、B4 サイズまでの用紙に対応し、小型化も実現した、別のプリンター・メーカー製の機構を採用して、"5585-H01" プリンターが企画されました。
私は、プリンターの製品企画の担当者として、営業部門のマネージャーの方から、PAGES コマンドに対応したソフトウェアを揃えない限り、お客様はレーザー・プリンターの良さが使えないのだから発表できないと発破を掛けられたことを、良く覚えています。
OS である J-DOS や、OS/2 を始めとして、IBM 製ワード・プロセッサープロである"DOS文書プログラム"、OS/2 用の IBM 製アプリケーション"Smartシリーズ" などのサポートを得ることができました。
ソフトウェア製品を開発する側から見れば、PAGES コマンドに対応すれば、そのソフトウェアがどれだけ多く売れるかという見方になるのは当然です。そのような目で見れば、開発の手間に見合うだけの成果を、プリンター部門から保証することは非常に困難です。それでもサポートを得られたのは、私に発破を掛けてきた営業部門のマネージャーの方からの支援によるものだったと、今でも深く感謝しています。

5585-H01 レーザー・プリンター
ただ、1991年は私にとっては大きな変革の年でした。世界中の IBMに「分社化」の嵐が吹きまくり、日本の開発部門の中では、真っ先にプリンター開発部門が、TEC 社(今の東芝テック社) との合弁会社に切り出されてしまったのです。
"5585-H01"プリンターは、秋の発表の直前に分社化という大きな荒波を受けました。私自身はその新会社に異動しなかったことによって、発表のための最終的な作業を行なえず、どうなることか心配しましたが、何とか発表に漕ぎ着けることができました。(新会社発足直後に、その社長に対して、このプリンターの発表の意義を説明に行ったことを、良く覚えています。)

アプティと名付けられた新会社からは、その後、PAGES 対応のレーザー・プリンターが次々と発表されていきました。
1992年には、最大 A3 サイズ対応の"5589-H01"、
1993年には、最大 A4 サイズ対応の"5584-H02"、"5584-G02" プリンターが発表されています。

この "5584-H02/G02" プリンターで、それまでの "PAGES" 対応のプリンターと大きく変わったことがあります。それは、解像度です。"PAGES" 以前の "5587-G01" から "5589-H01" までの解像度は、240DPI という日本のレーザー・プリンターに共通の値でしたが、"5584-H02/G02" では、360DPI という値に変わったのです。何故、わざわざインパクト・プリンターの2倍の解像度に変更したのかは、その場にいなかった私には不明ですが、プリンター機構部を製造する OEM メーカーから見れば、特殊な解像度のモデルを製造しないとなりませんから、製造コストには影響があったのではないかという疑問は残ります。
5589-H01 プリンター
5584-H02 プリンター


2017年4月16日日曜日

IBM 小型レーザー・プリンターの今まで -第7回- "PAGES"-1

PC(Personal Computer) の OS(Operating System) が、Windows と、iOS となった今から見れば、苦笑するようなことでしょうが、個人用のコンピューターという意味での PC が、IBM では "PS/55" だった時代には、レーザー・プリンターのメーカーが他社に比べて優位に立つには、自社独自仕様のコマンドの機能を、いかに多くのアプリケーション・ソフトウェアに対応してもらって、「業界標準」の地位を獲得するかにかかっていると考えられていたものです。
しかし、この考え方は、何もプリンターに限った話ではなく、当時は画期的だった OS、"OS/2" であれ、PC 自体であれ、あるいはゲーム機であれ、使えるアプリケーションの種類が多くないと、生き残ることができないという点では、共通のものではないでしょうか ?

IBM のプリンター開発の本部である Boulder(コロラド州) では、ちょうど、メイン・フレームや AS/400 から、直接プリンターにグラフィカルな印刷を行なうための "AFP(Advanced Function Printing -> 後に Presentation)"というアーキテクチャーを実現するための "IPDS" というコマンド体系を定義していました。
そこで、日本でもこれを元に "PAGES" という PC 向けのレーザー・プリンターのコマンド体系を定義しました。
"PAGES" を定義するに当たっては、先行して複数のアプリケーション・ソフトウェアが対応していた "5577" コマンドと互換であることは、当然の前提です。
これは、別の表現で言うと、"5587-G01" プリンターのオプションで対応した "3222" コマンド体系の拡張ということになります。

実際に、"PAGESコマンド解説書"の概要を見てみると、このコマンドは、次のように分類できることが分かります。

(1) 基本制御コマンド
"5577" コマンドと同じか、その拡張コマンド

(2)拡張制御コマンド
"PAGES" で追加されたコマンドで、"ESXコマンド" と "グラフィックス・コマンド" に分かれます。
"PAGES"コマンド体系
 しかし、現在でも使用されるコマンドは、PDT ファイルを使ったプリンター・セッション経由の印刷や、HPT(ホスト印刷変換)機能を使った、OS/400 からの直接印刷で使用されるコマンドに限られると言って良いのではないでしょうか ?
それらは、その使用目的から自然と、ページ全体に対する制御を行なうコマンドとなります。

1. PAGESモード設定
1B 7E 12 00 01 11

2. メディア座標原点(用紙回転)
1B 7E 50 00 01 00 => 用紙縦長
1B 7E 50 00 01 03 => 用紙横長

3. 用紙トレイ選択
1B 7E 46 00 05 00 00 nn 00 00
nn = 11 => A3 トレイ指定自動選択
nn = 13 => A4 トレイ指定自動選択
nn = 00 => 第 1 給紙カセット指定
nn = 01 => 前面トレイ指定
等々

4. 両面印刷指定
1B 7E 3B 00 04 00 00 nn 01
nn = 00 =>片面印刷指定
nn = 01 => 両面:長辺綴じ
nn = 02 => 両面:短辺綴じ

5. 縮小指定
1B 7E 51 00 01 nn
nn = 03 => 連続用紙サイズ(15x11 インチ) -> A4
nn = 02 => 連続用紙サイズ(15x11 インチ) -> B4
nn = 01 =.> 縦横 75%
等々

6. 余白設定
1B 7E 53 00 0A 00 X座標オフセット 00 Y座標オフセット 00 00

つまり、これらのコマンド以外のもの、例えば次のようなコマンドは、プリンター側に機能としては持たせたものの、アプリケーション・プログラムから使われることはほとんど無しに、Windows のプリンター・ドライバーを使った印刷の時代に変わってしまったということです。
- フォーム・オーバーレイ
- 32 x 32 ドットの外字のダウンロード
- 内蔵アウトライン・フォントの使用
- ベクトル座標を使った図形の記述
- グラフィックの記述



2017年4月8日土曜日

IBM 小型レーザー・プリンターの今まで -第6回- "PAGES"まで

"5587-G01" レーザー・プリンターが発表された頃は、日本独自の製品であった"マルチステーション 5550 シリーズ" から、World Wide 標準製品である "PS/2" シリーズの日本語対応版である "PS/55"シリーズに切り替わっていく時代でした。
その移行に対応するために、プリンター側としては、"コンバージド・インターフェイス"と"3バイトECC"に対応しています。
"コンバージド・インターフェイス"と"3バイトECC"については、"プリンターへのデータの流れ - レベルE機能と双方向通信 -"の回をご参照ください。

コンバージド・インターフェイスに対応したプリンターとしては、ドット・プリンターである"5577-G01"が先に発表されています。
ちなみに、"PS/55"では、"PS/2"に対して、日本語フォントをメモリーに内蔵したディスプレイ用のカードを搭載していました。
そして、OS である"J-DOS"は、文字を文字コードとして処理し、画面にはディスプレイ・カードに内蔵した日本語フォントのイメージを表示するという方式を使っています。
ちなみに、"5550 シリーズ"では、"K-DOS"( 漢字 DOS の意味)でしたし、"PS/55" の後の "PC/AT" 互換機では、"DOS/V" となって、共にソフト・フォント(メモリーではなく、ソフトウェアとしてのフォント) となっている点が、大きく異なります。
これは、ちょうどプリンターによる印刷も同じ原理で、J-DOS からは文字コードがプリンターに送られ、プリンターは内蔵しているフォントのイメージを印刷します。
例えば、"5587-G01" プリンターは、240DPI(ドット/インチ)の解像度で、32 x 32 ドット構成の文字を内蔵していましたから、文字コードが送られてくると、32 x 32 ドット構成の文字イメージを印刷します。
この文字が、解像度 180DPI のドット・プリンターが内蔵する 24 x 24 ドット構成の文字と同じ大きさになることは、比例計算すればお分かりになると思います。
"5587-G01" プリンターは、24 x 24 ドット構成の文字、つまりドット・プリンターと同じ文字も内蔵していました。こちらの文字を使うと、ちょうど 3/4 に縮小された文字を印刷することができました。

この当時、"PS/2" から "PS/55" が開発されたように、プリンターの世界でも World Wide 製品を元に日本語対応した製品を開発するという方式が、流行りました。そのレーザー・プリンター版が、"4216-510" プリンターです。
4216 プリンター本体(本来は右に給紙トレイが付く)

"4216" プリンターは、"5587-G01" のプリンター OEM 製造元の会社が開発した、小型のレーザー・プリンターで、接続先のシステムによって、いくかのモデルに分かれます。
それに対して、日本で、"5577互換" の機能(コマンド対応、日本語フォント内蔵)追加を行なったのが、"4216-510" になります。
開発期間の短縮化も求められていたため、"5587-G01" と同じ "3222"互換ではなく、"5577" 互換レベルとしたことは、今から思えば一つの見識だったと思います。
プリンターの機構自体は、小型化を追求した設計となっていて、良いプリンターでしたが、残念ながら対応する用紙サイズが "A4" まででは、国内ではあまり受け入れられませんでした。

一方、その間に、国内の他のレーザー・プリンター・メーカーは、各社独自のコマンド体系を拡充し、それを様々なアプリケーション開発会社に持ち込んで、サポートしてもらってその数を競っていました。そこで、当時のプリンター開発グループでも、各社のコマンドを調査したり、IBM World Wide では標準規格として定義されてきたばかりの "IPDS(Intellient Printer Data Stream)" に習って、"PAGES"(Page printer Advanced Graphics Escape Set)を定義しました。
そして、他社に習って、コマンド解説書を本として準備し、社内のソフトウェア・グループはもちろん、社外のソフトウェア開発会社やユーザーにも情報提供始めました。
"PAGES" のコマンド解説書は、Web でも公開しています。
そして、"PAGES" を装備したプリンターとして始めて発表されたのが、"5587-H01" プリンターです。

2017年3月19日日曜日

IBM 小型レーザー・プリンターの今まで -第3回- 5577互換からの拡張

コンピューターの世界では、"アーキテクチャー"という言葉が良く出てきます。それだけ、"アーキテクチャー"を重要視していると言えるかと思います。
周辺機器であるプリンターでも、IBM では、システムからのデータを印刷するためには、システムとの整合性を持つために、"アーキテクチャー"に則っている必要があると、当然のように考えられていました。
プリンターの場合、"アーキテクチャー"を言い換えれば、そのプリンターが持っている制御コマンドのセットとなると思います。
例えば、24x24 ドットの漢字を印刷できるインパクト・プリンターにおいては、初めは、"マルチステーション5550(24 ドット・モデル)" から送信されて来る、縦 24 ドットのイメージをそのまま印刷する"5553-B01"モデルと、16 ドットのモデルから送られて来る、縦 16 ドットのイメージをそのまま印刷"5553-A01"モデルが持っている制御コマンドのセットが全てでした。
5550シリーズ用5553プリンター

しかし、その後、縦 16 ドットのシステムも、24 x 24 ドットの文字で印刷できるようにせよという神の一声の下、文字イメージの代わりに文字コードで印刷データを送り、プリンターは、内部の ROM (読み取り用メモリー)に記録されている 24x24 ドットの文字の中から、その文字コードに該当する文字を印刷するという方式が機能追加されました。
そのモデルが、"5553-B02"(末尾の "2" は、内蔵フォントを持っているという意味)だったのですが、実際には、その後シリーズ化された代表モデル "5577シリーズ" の名前から "5577" コマンド(モード)と、いつか呼ばれるようになりました。
このコマンドのセットを持つ 24 ドットインパクト・プリンターは、"5577シリーズ"の他に、"5573シリーズ"、"5557シリーズ"、"5579" などがありますが、どれも"同じアーキテクチャーのプリンター"ということになります。

レーザー・プリンターになると、インパクト・プリンターと比べて、解像度が異なるだけでなく、ページ単位の処理を行うためのメモリーを持っているため
- 用紙方向を縦長、横長の切り替える
- 縮小や拡大して印刷する
- 両面印刷する
- 用紙に対する上下左右の余白の値を設定する
- 用紙ジャムが発生した場合、そのページから再印刷する
- プリンターに保管した罫線や固定文字(所謂オーバーレイ)と受信データを重ね合わせて印刷する
ことができます。
また、用紙送り機構の違いから
- 複数ある用紙トレイや、排紙トレイを選択する
といった点も、インパクト・プリンターと異なります。
これらの機能を使えるようにするには、対応する制御コマンドを定義して、プリンターに持たせる必要があります。
PS/55 用の標準プリンター製品の一つとしてのレーザー・プリンターを開発するに当たって、開発チーム内部では、当時、"3222"と読んでいたアーキテクチャーは先に決まっていたのですが、それを実装するコントローラー基盤と、プリンターの機構(エンジン)部分の OEM 元製品の選択や、その後の開発において、様々な課題が発生したため、計画以上の時間が掛かることになってしまったのです。
PS/55の元になったPS/2

2017年2月4日土曜日

ライン・プリンターの全て - 第26回 - たまにいただくお問合せ-3

Q7. 複写帳票に印刷する業務に使用するライン・プリンターは、どのように選択したら良いか。

A7. 先ず、複写帳票が予めカット紙になっている場合は、ドット・プリンターしか対応できません。
(もし、連続用紙に印刷した後、ページ毎にカットするという運用が許されるなら、ライン・プリンターを使用できます。)
連続用紙に印刷するためのライン・プリンターを選択するに当たって、考慮する点は次のとおりです。

1. 用紙のサイズ、複写枚数、全体の厚さが、プリンターの仕様の範囲であること
この点に関しては、"5400シリーズ"のライン・プリンターでは仕様の違いがほとんど無いので、仕様の範囲に収まっているかを確認すれば十分と思います。
ただ、プリンターでバーコードも印刷する場合、インク・リボンのインクを使って印刷される 1 枚目のバーコードを読み取るのか、複写された 2 枚目以降を読み取るのかの違いによって、バー幅の設定を調整する必要があるかもしれません。特に複写された 2 枚目以降を読み取る場合には、自己発色紙よりも、裏カーボンと呼ばれる用紙の裏にインクが予め塗られた用紙を使用する方が、バーコードの読み取り精度は良いようです。

2. 耐久性
ライン・プリンターに限らず、どのようなプリンターでも"想定月間平均印刷枚数"を持っています。
これによって、プリンターの各部品の月間平均故障率が決まります。それと、各部品のコスト、交換に要する時間、人件費を総合して保守に掛かる経費を算出します。それが、保守契約費用や、保証期間中の保守費用になるわけです。
そのため、"想定月間平均印刷枚数"を超えて、プリンターを使用し続けると、お客様から見れば、故障頻度が多いということになりますし、保守を行なう会社から見れば、保守のコストが掛かりすぎということになります。(ライン・プリンターの保守契約費用は、定額であるからです。)
なお、月によって印刷枚数が大きく変動する場合には、1 年間での平均を見れば良いと思います。これは、保守契約が、通常は年単位だからです。

"5400"シリーズでは、"想定月間平均印刷枚数"は次のようになっています。
 5400-F02/L02 : 6,000 枚/月
 5400-F06/L06 : 12,000 枚/月
 5400-F10/L10 : 20,000 枚/月
(15 x 11 インチ・サイズ連続用紙、文字数 1,500 字/枚、全角:半角 = 3:7を想定)

3. 印刷速度
印刷速度の印刷速度の考え方は、ライン・プリンターの全て - 第3回- 日本語ライン・プリンターの歴史-3 でもお話しましたが、カタログ値としては、行ピッチが 6LPI(行/インチ) を前提として、通常速モードで、次のようになっています。
 5400-F02/L02 : 150 行/分
 5400-F06/L06 : 410 行/分
 5400-F10/L10 : 600 行/分
("5227"以降、"5400"シリーズでは、ドットの間引きを行なわない、24 x 24 ドットの文字を印刷する時の速度を"通常速"と呼んでいます。これは、ドット・プリンターである"5577"シリーズでも共通です。しかし、何故か、他社のライン・プリンターのカタログでは、1/3 のドットを間引く時の印刷速度を"通常速"モードと呼んでいるので、カタログで比較する際には、注意が必要です。)

ライン・プリンターでは、1 文字でも文字のある行が続く場合には、この速度で印刷されます。
文字の無い空白行が続くような場合には、高速で紙送りしますが、一定時間で何枚の用紙を印刷できるかという"スループット"を計算するには、次の計算方式で良いかと思います。
 11 インチ長の用紙、5400-F06 通常速モード(410 行/分)の場合
  6 行/インチ x 11 インチ/枚 = 66 行/枚
    410 行/分 ÷ 66 行/枚 = 6.2 枚/分
この計算式を参考に、使用する用紙の長さと、業務上必要なスループット(何枚/分)から逆算していけば、どの位の印刷速度(行/分)が求められるかを計算することができます。

もし、印刷速度と耐久性の組み合わせが、どれかのモデルと大よそ一致すれば良いのですが、例えば、印刷速度を元に選択したモデルでは、耐久性が大幅に足りないといった場合には、台数を増やすことを検討することをお勧めします。
逆に、耐久性は合っているが印刷速度が足りないという場合には、高速モードや超高速モードでの使用を検討されてはいかがでしょうか。特に"高速モード"の印字品質は、通常速モードのものとほとんど変わらないと判断されたお客様も多くいらっしゃいます。
5400-F10/L10 外観
5400-F06 外観
5400-F02/L02 外観

2016年11月19日土曜日

ライン・プリンターの全て - 第18回 - 日本語ライン・プリンターを賢く使う-4

前回は、印字ヘッドと用紙表面の間隔は、適切な印刷結果を得るために、非常に重要な要素となっていることをお話しました。
もう少し細かい注意を追加しておきたいと思います。
  • 用紙厚(印字圧)調整レバーの横の目盛りに書かれている数値は、用紙の複写枚数ではありません。
5400-F06マニュアルより用紙厚(印字圧)設定レバー
用紙厚調整レバーの横に目盛が付いています。"1"から始まる数値が書かれていますが、これを複写枚数と誤解されて、2 枚複写の時には "2" に合わせたため、印字結果が薄くなってしまったというケースを聞いたことがあります。このレバーは、印字ヘッドとプラテンの間隔を調節するものですから、用紙の複写枚数も重要な要素ですが、最も大きな決め手は用紙全体の"厚さ"です。

同じ 2 枚複写の用紙でも、薄い用紙と厚い用紙では、全体の厚さが異なりますから、当然、レバーの値も変わります。この目盛は、あくまでも"目安"であることにご注意ください。


5400-F06マニュアルより複写枚数とレバーの値









  • 5400-F06 プリンターでは、用紙厚設定レバーを、"1+1/3"よりも大きな値に設定すると、自動的にコピー強化モードになります。
5400 ライン・プリンターのシリーズ 3 モデルの中で、"F06"モデルと"F02"モデルには、新しい機能の一つとして、印刷速度をほぼ変えずにコピーの濃さを濃くする"コピー強化モード"があります。ドット・プリンターも含めて、印字結果の濃さを濃くするための"コピー強化モード"と言うと、通常は同じ行を 2 回繰り返して印刷する方式になりますが、それでは印刷に要する時間は 2 倍になってしまいます。つまり、印刷速度が 1/2 になったのと同じことです。

"F06"モデルは、コピー強化に 3 つの方式があり、それらを組み合わせて 5 種類のコピー強化のレベルを選択できます。3 つの方式とは、次のとおりです。

1. 印字力のみを強くする。
印字ヘッドのピンが押す力をより強くする方式です。この場合、印刷速度は、ほぼ変わりません。標準では、用紙厚設定レバーが"1+1/3"よりも大きな値のセットされた時に、複写用紙が使用されるとして、自動的にこのコピー強化モードになります。そして、操作パネルの"コピー強化"ランプが点灯します。
なお、自動的にコピー強化モードにする必要が無い場合には、初期設定メニューの中の”複写紙濃度優先"を"しない"に変更します。
逆に、この方式では印字の濃さが不十分な場合には、初期設定メニューの中の"コピー強化"のレベルを"1"以外のレベルにセットします。

2. 同じ行を繰り返し 2 回印刷する。
同じ行を 2 回印刷しますので、印字の濃さは上記の "1" よりも濃くなりますが、印刷所要時間は 2 倍掛かります。

3. 印字ヘッドのピンのストロークを伸ばす。
印字ヘッドのピンが用紙を押す時の距離を長くする、つまり、ピンが用紙を押す時間を、標準よりも長くする方式です。これによって、幅が異なる用紙を含む複写用紙への印刷でも、均一な濃さが得られることも期待できます。
ただ、印刷速度は少し遅くなります。例えば、通常速モード、410 行/分は、328 行/分になります。

5 種類のコピー強化のレベルは、数値が大きくなるほど、印字濃度は濃くなりますが、その時の印刷速度との関係は、"通常速(410 行/分)"においては、次のとおりです。

・レベル1(印字力強化)                410行/分
・レベル2(二重印刷)                   205 行/分
・レベル3(印字力強化+二重印刷) 205 行/分
・レベル4(長ストローク印刷)         328 行/分
・レベル5(長ストローク+二重印刷) 164 行/分

レベル1で必要な印字濃度が得られることが望ましいのですが、それでは不十分な場合には、なるべく印刷速度を落とさずに、必要な印字濃度が得られるコピー強化レベルを選択する必要が出てきます。

ちなみに、他のモデルはどのようなコピー強化モードがあるでしょうか ?

"F02"モデル(通常速(150 行/分)"の場合)

・レベル1(印字力強化)                150 行/分(用紙厚設定レバーの値が、1.5以上の場合)
・レベル2(二重印刷)                     75 行/分
・レベル3(印字力強化+二重印刷)   75 行/分

"F10"モデル(通常速(600 行/分)"の場合)

・二重印刷                                300 行/分・段差紙                                   480 行/分
・二重印刷 + 段差紙                   240行/分

次回は、インク・リボンのお話です。

2016年10月16日日曜日

ライン・プリンターの全て - 第13回- 日本語ライン・プリンターのドライバー-2

Windows からの印刷を行なう場合に、事前準備や注意点がいくつかありますので、ここでまとめてお話したいと思います。

1. 用紙(サイズ)の登録

Windows では、初めから登録されている用紙(サイズ)がありますが、5400 用のドライバーや、5577 用のドライバーをインストールすると、連続用紙のサイズがいくつか追加されます。それでも、使用する用紙のサイズが、それらに含まれていない場合には、自分で定義して登録しておいて、印刷するアプリケーションからそれを指定できるようにしておく必要があります。
先ず、どのような用紙サイズが登録済みなのかを確認するには、次の手順で行ないます。
  1.  Windows のスタート・ボタン -> "デバイスとプリンター"を選択して、表示された画面で、プリンターのアイコンをどれか選択します。
    デバイスとプリンターの画面
  2. そうすると、上に表示されるメニューに"プリント サーバー プロパティ"が現れますので、それをクリックします。そうすると、次のような画面が表示されます。
    プリント サーバーのプロパティ画面
  3. この画面では、"用紙"の他に"ポート"や"ドライバー"等のタブが表示され、この PC が持っている印刷関係の様々な情報を管理していることが、分かります。つまり、"用紙"は、個々のプリンター・ドライバー毎に管理しているものではなく、PC 上で一括で管理しているということです。登録されている用紙は、上半分にあるリストで確認できます。例えば、"15x11インチ帳票(13.2")"と表示された用紙を選択すると、下の図のように、画面の下半分に、用紙の"幅"、"高さ(長さ)"と、上下左右の各余白の値が表示されます。表示する値は、センチ・メートル単位の値か、インチ単位の値かを選択できます。なお、"15x11インチ帳票(13.2インチ)"は、用紙の横の長さが 15インチ、縦の長さが 11インチで、1行の長さ(幅)が 13.2インチという意味です。
    15x11インチ帳票(13.2インチ)用紙の設定値
  4. 登録されていない用紙を追加するには、この画面の中ほどにある"新しい用紙を作成する"にチェックを入れます。例えば、"9x10インチ"の用紙を登録する場合には、"用紙名"欄に"9x10インチ"(他の用紙名と重ならない任意の名前)と入力し、用紙の縦、横、上下左右の余白の値を指定します。連続用紙の場合は、通常、サイズをインチ単位で表わしますので、サイズの指定には"ヤードポンド法"を選択します。設定後は、必ず"用紙の保存"ボタンを押してから、"閉じる"ボタンを押します。
用紙の登録は、以上で完了ですが、ライン・プリンターやドット・プリンターで連続用紙を使用する際には、次の注意が必要です。
  • 用紙名の中の同じサイズの用紙に対して、"余白なし可能"と付いているものと付いていないものがあります。"余白なし可能"と付いているものを選択して、用紙サイズの値を見ると、左と上下の余白は、"0"となっています。それに対して"余白なし可能"と付いていないものの方は、左と上下の余白は"0.25インチ"となっています。これは、連続用紙の各ページの境界(ミシン目)は、特に複写枚数の多い用紙の場合、ゴワゴワと硬くなっているため、印刷品質が悪化することが多いことから、プリンターとしてはその部分への印刷を推奨していないことに起因しています。しかし、実際には、そのような部分まで印刷する必要がある帳票は多く、印刷データが存在します。その場合、"余白なし可能"の用紙を選択しておかないと、ドライバー側でミシン目の上下、各 0.25インチの幅で印刷データが生成されず、文字が抜ける、欠けるといった現象につながります。もし、印刷結果にそのような現象が現れていたら、どの用紙を指定したかを、先ず、チェックしてください。
  •  同様に、15インチ幅の用紙では、同じ用紙サイズでも、"(13.2")"と付いたものと、"(13.6")"と付いたものの 2種類があります。これは印刷可能な横幅の最大値の違いを表わしています。"(13.6")"の場合は、横幅最大 13.6インチの幅まで印刷可能という意味で、13.2インチ幅以上に印刷する必要がある場合に選択します。ここで、注意しないとならないのは、プリンター側の初期設定値も、最大印刷幅を"13.6インチ"に変更しておく必要があるという点です。コンピューター・システムの創世記から、標準の最大印刷幅は、13.2インチとなっているため、プリンターのデフォルトの設定は、13.2インチです。そのままでは、Windows上の用紙サイズで(13.6")を選択して印刷させても、13.2インチのところで、印刷イメージは切られたように印刷されてしまいます。(通常の Windows アプリケーションからのドライバー印刷では、印刷データはイメージになりますので、13.2インチからはみ出た部分は、削除されます。) 右端が切り取られたような印刷結果になってしまった場合には、Windows 側で選択した用紙が、(13.6")付きになっているか、プリンターの初期設定の最大印刷幅が、13.6に設定されているかをご確認ください。

2016年10月10日月曜日

ライン・プリンターの全て - 第12回- 日本語ライン・プリンターのドライバー-1

前回までの初期設定で、プリンターは、Windows から LAN 経由の印刷もできるように準備できましたので、今回は、Windows 側のドライバーの導入と、設定に関してお話します。
5400 プリンターにおいて、Telnet5250E を使った直結印刷と共存できる LPR 印刷は、印刷データ形式として "5577 形式"が前提になっています。"5577 形式"の印刷データを生成できるWindows のプリンター・ドライバーには、次の2種類があります。
  • 5577 シリーズ用のドライバー
  • 5400 シリーズ用のドライバー
両者の違いは、主に次のようになります。
  1. 対象となるプリンターの仕様の違い、例えば、給紙方法の種類、印刷速度のモードの種類に対応して、ドライバーで選択できるメニューが異なります。
  2. 前者は、マイクロソフト社が用意している"ミニ・ドライバー"を元に作られていて、プリンター製造元の JBAT 社で保守されています。一方、後者は、IBM 時代にオリジナルに開発されたもので、現在ではリコージャパン社で保守されています。
大きく見れば、どちらも 5577 モードの印刷データを生成することに違いはありませんので、5400 プリンターにどちらのドライバーを使用しても、基本的には同じ印刷結果が得られるはずです。

余談ですが、5577 シリーズのドライバーには、5577 シリーズのモデル名(例えば、W02、D05 など)が付いているので、5400 プリンターには、どのモデル名のものを選択するのが良いかというお問い合わせをいただきますが、モデル名によって接続先のプリンターのチェックを行なうわけではありませんし、生成される印刷データの内容が変わるわけではありませんので、モデル名は全く気にする必要はありません。

ただ、ドライバーを使った印刷の場合、印刷速度のモードを指定するコマンドが初めに送信されますので、5400 プリンターの操作パネルの印刷速度の表示と同じ名前のモードをドライバーで指定するには、5400 用のドライバーの方が適していると言えます。

そこで、ここでは、5400 用のドライバーをインストールして、設定する手順をお話します。
  1. 5400 用のドライバーの最新版を、こちらからダウンロードします。(表では、Windows のバージョンや、5400 のモデル名によって分かれていますが、ダウンロードするファイルは同じです。)
  2. ダウンロードしたファイルは zip 形式になっていますので、2回続けてクリックすると次のようなフォルダーとファイルが現れます。
    5400ドライバーのダウンロード・ファイル
  3. この中の"README.TXT"にインストール手順が詳しく記載されていますので、そちらを読んでいただくのが良いのですが、ここではその中の"インストール・プログラムを使ってインストールする"を行います。なお、どのドライバーでもそうですが、管理者グループ(Administrators)に属するユーザーとして、Windows にログオンして、行なってください。
  4. 上記ファイルの中の"SETUP.EXE"をダブル・クリックして、そのまま実行します。次のような画面が現れますので、"次へ"ボタンを押します。
    SETUP.EXEを実行した後の画面
  5. 次に、インストールするプリンターのモデル名を指定する画面が表示されます。併せて、PC 上に表示するプリンターの名前(任意)や、"通常使うプリンター"にするかどうかも、指定できます。
    モデル名、プリンターの名前を指定する画面
  6. 次に、プリンターが使用するポートを選択する画面が表示されます。ここでは、"新しいポートを作成する"を指定した上で、"Standard TCP/IP Port"を選択して、"次へ"ボタンを押します。
    Standard TCP/IP Portを選択する画面
  7. 次のような「標準 TCP/IP プリンター ポートの追加ウィザード」という画面が表示されますので、そのまま"次へ"ボタンを押します。
    ポートの追加ウィザードの開始画面
  8. 次のような画面が表示されますので、"プリンター名またはIP アドレス"欄に、5400 プリンターに設定した IPアドレスを入力します。なお、"ポート名"は自動的に入力されます。
    IPアドレスの入力画面
  9. 次のような"ポート情報の追加"画面が表示されますので、"デバイスの種類"に"カスタム"を選択して、"設定"ボタンを押します。
    ポート情報の追加画面
  10. 次の"ポート・モニター構成"画面で、先ず"プロトコル"を"LPR"に切り替えてから、"LPR 設定"欄の"キュー名"に"lp1"(半角小文字で、エル・ピー・いち)を入力し、"LPR バイトカウントを有効にする"にチェックを入れて、"OK"ボタンを押します。ここで、"lp1"は、5400 プリンター内の LAN カードに固有の値です。また、"LPR バイトカウントを有効にする"にチェックを入れることにより、Windows が印刷データをプリンターに送信する際に、Data File に正しいデータ・サイズを付加するようになりますので、これらの設定は重要です。(繰り返し印刷とポートの設定をご参照ください。)
    ポート・モニター構成画面
  11. 上記"9"の画面に戻りますので、"次へ"ボタンを押します。次の画面が表示されますので、"完了"ボタンを押します。
    ポートの追加ウィザード完了画面
  12. 以上で必要な情報が設定されると、それまで指定した"ドライバー名(モデル名)"、"プリンター名(任意)"、"ポート"が表示された、次の画面が表示されますので、"完了"ボタンを押します。ドライバーのインストールが開始され、途中、"正しくインストールされなかった"というメッセージが表示されますが、"正しくインストールされました"を選択すれば、インストールは完了します。
    ドライバー・インストール開始画面

2016年10月1日土曜日

ライン・プリンターの全て - 第11回- 日本語ライン・プリンターの初期設定-3

前回までの設定で、5400 ライン・プリンターを 1 台の AS/400、若しくは 1 つの LPAR にTelnet5250E で接続することはできましたが、例えば、それだけでは印刷量が少ないため、プリンターを有効活用するために、他の AS/400 や LPAR からの印刷にも使用したいというご要望は多くあります。1 台の 5400 ライン・プリンターに、複数の AS/400 から印刷させるために最も簡単な方法は、PC 上に接続先の AS/400 や LPAR に対応した複数のプリンター・セッションを立てて、プリンター・セッション経由の印刷とする方法です。しかし、プリンター・セッション経由の印刷では、かつてお話したように
  • PC に電源が入っていないと印刷できない。
  • APW のバーコード・パラメーターや大きな倍率の文字拡大は、コマンド変換されないため無効になる。
といった制約があります。
そこで、 1 台の AS/400(LPAR) からの印刷が多く、他の AS/400(LPAR) からの印刷は少ないようでしたら、1 台の AS/400(LPAR) からの印刷は Telnet5250E で接続した直結印刷とし、他の AS/400(LPAR) からの接続は、プリンター・セッション経由とするという接続方法が考えられます。
Telnet5250E と LPR5577を使った接続

その時には、どちらの AS/400(LPAR) から印刷操作を行なっても、そのまま印刷してほしいものですが、5400 ライン・プリンターの初期設定では、インターフェイスに Telnet5250E を選択すると、PC から LAN 経由で印刷させるための LPR ポートは同時に使用できません。(PC とパラレル・インターフェイスも接続できません。)
そこで、5400-F10/F06/F02 では、Telnet5250E 接続と LPR 印刷が、自動切換え(共存)できるようになりました。
初期設定を Telnet5250E と LPR の自動切換えにするのは、プリンターの操作パネルからはできません。前回までお話した Web ページを使った設定になります。
Telnet5250/LPR5577使用不可の状態
  1. Web ページにアクセスして、管理者モードに変更したら、左サイドのメニューの中の"プリンター設定"、そしてその子供メニューの"インターフェース・ポート"を選択します。
  2. 上のイメージの画面が表示されますので、"Telnet5250/lLPR5577 インターフェース"を、"使用可"に変更します。
  3. その結果、次のように"インターフェース・ポート"のメニューに"Telnet5250/LPR5577"が追加されますので、それを選択したら、"送信" -> "再起動"です。
Telnet5250/LPR5577使用可の状態

なお、"Telnet5250/LPR5577"の下に"Telnet5250/LPR5577 切り換えタイムアウト"として"5秒"が設定されています。これは、Telnet5250E 接続された AS/400(LPAR) からの印刷が終了した後、同じ AS/400(LPAR) から5秒間、印刷データが送信されなければ、LPR ポートからの印刷も受け付ける、あるいはその逆の順という意味です。このようなタイムアウト値があるということは、Telnet5250E 接続で印刷している途中で、LPR ポートを通した印刷データが送信されてきても、Telnet5250E 接続の印刷の途中に割り込まれることが無いようにできていることを、意味しています。同時に、Telnet5250E 接続の印刷が完了してから、LPR ポート経由の印刷が始めるまでには、5秒間待つ必要があるということも意味しています。
タイムアウト値を小さくすれば、切り換えの待ち時間を短くすることができますが、その時には、印刷データの送信完了まで、印刷データ送信が途中で途切れることが無いという条件が厳しくなります。
Telnet5250E とLPR の自動切換えで注意が必要な点は、他に、次のようなものがあります。
  • LPR ポート経由の印刷は、5577 モードのみで、ESC/P モードには対応していません。
  • Telnet5250E 接続の場合、外字は、予めプリンターにダウンロードした文字が使用されますが、LPR ポートを通したプリンター・セッション経由の印刷では、PC の持つ Windows 外字を使用します。
  • Telnet5250E 接続で AS/400 と接続された状態になっていないと、LPR ポート経由の印刷もできません。

2016年9月3日土曜日

ライン・プリンターの全て - 第8回- 日本語ライン・プリンターの歴史-8

"5400-L06"が発表されてから 3 年後の 2006 年に、その後継機であり、2016 年の現在も販売中の"5400-F06"が発表されました。中速機のシリーズでは久し振りに筐体が変わりました。特に、上面に平らな部分ができたので、5327 以来、久し振りに、印刷後の用紙を置くことができるようになりました。
"5400-F06"は、それまでの、"5400-006"、"5400-S06"、"5400-L06"と比較して、次の点が異なります。
  1. カバーが全て金属製となったためか、印刷中の音が、明らかに小さくなりました。
  2. 印刷後の用紙を取り出すための扉が、左側の他に右側にも付きました。そのため、左右どちらの部屋の隅にも置くことができます。
  3. Twinax 接続のオプションが無くなりました。
  4. Telnet5250E と LPR の自動切換えモードを選択できるようになりました。これによって、AS/400 からの印刷と、Windows PC からの LAN 経由の印刷が混在する時に、プリンターの初期設定を変更して再起動を待つ必要が無くなりました。
  5. 印刷速度が、10% 以上、速くなりました。
  6. 印刷速度を落とさずに、印刷用のピンの押す力(印字圧)を強めるモードが、コピー強化モードに加わりました。用紙の厚さに対応して、印字圧調整レバーが、"1" よりも大きな値にセットされると、自動的にこのコピー強化モードとなり、操作パネルの"コピー強化"ランプが点灯します。
逆に、用紙表面の汚れを防ぐ"リボンつなぎ目スキップ機能"に対応したインク・リボンやインク・リボン・カートリッジは、従来と共通となっています。
5400-F06 外観

<"5400-F06"プリンターの主な仕様>
- 印刷速度 : 410 行/分(通常速モード)
                  570 行/分(高速モード、横方向1/3ドット間引き)
                  680 行/分(超高速モード、横方向2/3ドット間引き)
- 想定月間平均印刷枚数 : 12,000枚(15x11 インチ・サイズ用紙)
- 複写枚数 : オリジナル + 8 枚(コピー強化モード、厚さ 0.5mm まで)
- インターフェイス(標準) : LAN、パラレル
- 対応コマンド : SCSコマンド、テキスト・コマンド(Telnet5250E)
                      5577コマンド (LPR、パラレル・インターフェイス)、
                      ESC/Pコマンド (LPR、パラレル・インターフェイス)
- 内蔵日本語フォント : IBM 明朝体、平成明朝体、新旧JIS規格選択(5577モード)
- 英小文字と半角カナの共存印刷 : 可
- バーコード・コマンド : 対応(8 種類、SCS、テキスト・コマンド、5577 モード)
- 販売期間 : 2006 年 -

2007 年は、インフォプリント・ソリューションズ・ジャパンになった年ですが、その 2 年後、2009 年に、"5400-L02"は"5400-F02"に、"5400-L10"は"5400-F10"にモデル・チェンジしています。大きな変更はありませんが、LAN カードの機能の共通化を生かして
  • "5400-F02"、"5400-F10"共通に、Telnet5250E と LPR の自動切換えに対応しました。
  • "5400-F10"では、"5400-L10"では間に合わなかった"プリンターWebページ"が、追加されました。
それぞれのモデルが、2016 年現在、現行モデルとして販売中です。

これで、2016 年現在まで戻ってきましたので、次回からは、ライン・プリンターの使い方をお話ししたいと思います。

2016年8月27日土曜日

ライン・プリンターの全て - 第7回- 日本語ライン・プリンターの歴史-7

前回ご紹介した"5400-L02"と同じく、2002 年に発表された、最高速モデル"5400-L10"は、他のモデルと異なり、1回の移動で縦 12 ドットを印刷する印字ヘッドを、上下 2 組持っています。そのため、縦 24 ドットの 1 行を印刷するには、印字ヘッドが右から左、若しくは左から右に 1 回移動するだけで済んでしまうので、高速印刷が可能になっています。しかし、それだけに、2 組の印字ヘッドの位置の調整を正しく行なわないと、文字は罫線が歪んで印刷されることになります。
また、1 回の印字ヘッドの移動で 1 行印刷できるために、インク・リボンの幅も広くなっています。そのため、他の中速モデルと低速モデルは、同じ詰め替えリボンが使えますが、"5400-L10"は別のものとなっています。
また、印刷速度が速いということは、その分、耐久性も高くないとなりません。そのために、用紙を送るためのトラクターも、他のモデルと異なり、かなりがっちりしたものとなっています。
5400-L10 外観
<"5400-L10"プリンターの主な仕様>
- 印刷速度 : 600 行/分(通常速モード)
                  800 行/分(高速モード、横方向 1/3 ドット間引き)
                  1,000 行/分(超高速モード、横方向2/3ドット間引き)
- 想定月間平均印刷枚数 : 20,000枚(15x11 インチ・サイズ用紙)
- 複写枚数 : オリジナル + 7 枚(コピー強化モード、厚さ 0.5mm まで)
- インターフェイス(標準) : Twinax、LAN、パラレル
- 対応コマンド : SCSコマンド、テキスト・コマンド(Telnet5250E、Twinax)
                      5577コマンド (LPR、パラレル・インターフェイス)、
                      ESC/Pコマンド (LPR、パラレル・インターフェイス)
- 内蔵日本語フォント : IBM 明朝体、平成明朝体、新旧JIS規格選択(5577 モード)
- 英小文字と半角カナの共存印刷 : 可
- バーコード・コマンド : 対応(8 種類、SCS、テキスト・コマンド、5577 モード)
- 販売期間 : 2002 年 - 2009 年

翌年、2003 年には、"5400"シリーズの中核となる中速モデル"5400-L06"が、発表されました。このモデルによって、中速モデルも内蔵 LAN カードが他の速度のモデルと共通となり、共通仕様となっています。
5400-L06 外観
<"5400-L06"プリンターの主な仕様>
- 印刷速度 : 360 行/分(通常速モード)
                  500 行/分(高速モード、横方向1/3ドット間引き)
                  600 行/分(超高速モード、横方向2/3ドット間引き)
- 想定月間平均印刷枚数 : 12,000枚(15x11 インチ・サイズ用紙)
- 複写枚数 : オリジナル + 8 枚(コピー強化モード、厚さ 0.5mm まで)
- インターフェイス(標準) : LAN、パラレル
                        (オプション) : Twinax(LAN、パラレルと共存可能)
- 対応コマンド : SCSコマンド、テキスト・コマンド(Telnet5250E、Twinax)
                      5577コマンド (LPR、パラレル・インターフェイス)、
                      ESC/Pコマンド (LPR、パラレル・インターフェイス)
- 内蔵日本語フォント : IBM 明朝体、平成明朝体、新旧JIS規格選択(5577 モード)
- 英小文字と半角カナの共存印刷 : 可
- バーコード・コマンド : 対応(8 種類、SCS、テキスト・コマンド、5577 モード)
- 販売期間 : 2003 年 - 2006 年

細かい点ですが、"5400-L06"では、"5400-006/S06"から改善された点があります。それは、印刷中に印字ヘッドの前に来たインク・リボンにつなぎ目があることを、自動的に検知して、その部分は印刷に使用せず、飛ばす機能が追加されたことです。
インク・リボン・カートリッジとインク・リボン
インク・リボンは、長い布のリボンの両端を、溶かして接着し、大きな輪の状態になっています。リボンを 1 回ひねってから接着すると、"メビウスの輪"となりますので、印刷する際にインク・リボンが回転していくと、自動的に表と裏の両面を印字ヘッドのピンが叩くことになります。これは、1 本のインク・リボンをできるだけ有効に使用するための知恵なのですが、このつなぎ目の部分をピンが叩くと、他の部分よりも毛羽立ちしやすくなります。その毛羽立った先が用紙の表面をこすり、インク汚れを付けるという現象が、この中速モデルで発生しました。
(不思議なことに、高速モデルや低速モデルでは発生していないようです。)
その対策として、インク・リボンのつなぎ目の近傍にマークを付け、プリンター側に追加したセンサーが印字中にそれを検知したら、その部分が通過してから印刷するような改良を加えました。その結果、5400 プリンター用のリボンには"スキップ機構対応"とそうでないものの 2 種類が存在しますが、当然、"5400-L06/F06"用には"スキップ機構対応"のものが、お勧めです。

2016年8月14日日曜日

ライン・プリンターの全て - 第5回- 日本語ライン・プリンターの歴史-5

日本語ライン・プリンター・シリーズの中核となる中速モデルが、耐久性を向上した"5400-006"に代わって、一安心といったところでしたが、次の課題が新たに出てきました。
"5400-006"プリンターが発表された1998年の3年前は、Windows95が発売され、インターネットの普及が始まった年です。インターネットの普及に合わせて、企業の現場では、ネットワークは、IBM独自のTokenRing(トークン・リング)方式からEthernet(イーサネット)方式へ、プロトコルも、IBM独自の"SNA"から、"TCP/IP"へというように、メーカー独自規格から業界標準規格に移っていく傾向が始まりました。AS/400 の世界では、機器の接続が、"Twinax"接続から"ネットワーク"接続へ、徐々に移行していったわけです。AS/400 自体でも"Twinax"接続機構は、標準からオプションへと変わって行きます。

そうなると、ライン・プリンターの接続方式も"Twinax"接続ばかりではなく、PCOMM のプリンター・セッションを経由した方式が増えていきました。それは、プリンターに対して印刷データを生成して送信してくるのは、AS/400 ではなくなり、"ibm5577.pdt"というPDTファイルを参照して、5577 形式の印刷データを生成、送信するプリンター・セッションになることを意味します。

そのような状況の中で、お客様から問題として指摘され始めたのが、"Twinax 接続と比べて、プリンター・セッション経由では、罫線のある行の印刷が遅い。"という現象です。(因みに、ライン・プリンターで印刷が遅いというのは、印刷中に紙送りが止まることがあることを意味しています。)
プリンターの開発部門と一緒に原因を調べて判明したことは、次のとおりです。
  1. 罫線は縦24ドットのイメージ・データとして、プリンター・セッションから送られている。
  2. 実際に印刷する罫線は、縦2ドット程度の"黒イメージ"だったとしても、印刷データとしては、残りの縦22ドットの"白イメージ"もあるわけで、罫線の長さに比例して、印刷データ量が大きくなる。
  3. その印刷データを生成する PC 側の処理速度、ネットワークによる通信速度、受信したプリンター側での処理速度、全てに対して負担が大きくなって、印刷速度の低下を引き起こしている。(現在の PC の処理速度や、ネットワークの通信速度だったら考えられないことですが)
5577モード :2ドット幅の横罫線の印刷データ
しかし、プリンターの開発部門で対応できるのは、プリンター側での処理速度でしかありません。それでは効果を期待できませんので、対策として決まったのが、"Telnet5250E"接続の採用です。その狙いは、次の2点です。
  1. 標準のプロトコルとなっていく"TCP/IP"の規格の一部であって、Twinax接続とほぼ同じ操作性を実現できること。
  2. 罫線を引くためのコマンドが、AS/400 から発行されるSCS形式のコマンドとなるため、罫線の始点と終点を座標で指定する方式になる。そのため、罫線を印刷するためのデータ量の大幅な削減が期待できる。
SCSモード : 横罫線の印刷データ
"Telnet5250E"については、AS/400からの印刷 ~基礎編-3~をご参照ください。

"5400-006"プリンターでは、2000年に、LAN カードを Twinax カードとの選択オプションとして発表しました。新規発注分に対して選択できるだけでなく、使用中の"5400-006"プリンターに対しても、技術員による交換作業により、LAN 接続に変更できるようになっていました。
LAN カードは、プロトコルとして"Telnet5250E"だけでなく、"LPR"も初期設定で選択可能となっていました。"LPR"プロトコルに設定した場合には、"5577モード"か"ESC/P"モードに対応したプリンターとして使用できます。具体的には、Windowsが稼動するPCや、AIX が稼動するIBMワークステーション(RS6000)からの印刷にも使用できるということです。整理すると、Twinax接続の代わりにLAN カードを選択した場合、次の3種類の内1種類のプリンターとして使用できるということになりました。
  • AS/400 からTelnet5250Eを使った印刷(SCSコマンド)
  • PC や RS6000 からLPR/LPDを使った印刷(5577モード)
  • PC や RS6000 からLPR/LPDを使った印刷(ESC/Pモード)
実際に、この LAN カードを使った"Telnet5250E"によって、罫線による印刷速度の低下は解消しました。

2016年8月6日土曜日

ライン・プリンターの全て - 第4回- 日本語ライン・プリンターの歴史-4

第2回に出てきた"5417"プリンターは、耐久性の指標となる"想定月間平均印刷枚数"が、その前の"5327"プリンターの 2/3 だったことが影響してか、耐久性 = 故障率の面でお客様から問題を指摘されることが多くありました。

因みに、"想定月間平均印刷枚数"は、プリンターを設計する時に、どの程度の耐久性を持たせるかを判断する元の数字となるものです。そして、この値を元に、各部品の故障率が算定され、それを元に保守作業のコスト(部品代と人件費)が計算され、それを元に年間保守契約料金が決まってきます。また、日本語ライン・プリンターの無償保証期間は1年間ですが、その間の保守コストは、製品価格を決める時に組み込まれます。
従って、"想定月間平均印刷枚数"以上の枚数を継続して印刷すると、お客様から見れば、故障頻度の高いプリンターとなり、現場のユーザーのクレームの元になります。一方、保守する側から見れば、一定料金の保守契約料金に対して、コストが大きくなり、赤字になる可能性が出てくるということに繋がります。

そこで、"5417"が発表された 1994年から4年というライン・プリンターとしては比較的短期間の後、1998年に、耐久性を改良した"5400-006"プリンターが発表されました。
  • 5400-006

"5400-006"は、"5417"の改良版ですから、外観上は操作パネルの色が変わった程度で、大きな違いはありません。しかし、中身は改善されています。
  1. <耐久性>懸案だった"想定月間平均印刷枚数"は、"5327"と同じ"12,000枚(15x11インチ用紙)/月"になりました。
  2. <インターフェイス>Twinax ケーブル用のコネクターと、パラレル・インターフェイス・ケーブル用のコネクターの両方を持ち、初期設定で、どちらの接続方式を使うかを選択できるようになりました。これによって、発注時にモデルを意識する必要がなくなったと共に、初めはTwinaxケーブルで接続し、将来はパラレル・インターフェイスで接続するという使い方も可能になりました。一方、販売する上からは、在庫管理が楽になりました。なお、"5400-006"から、パラレル・インターフェイス・モードでは、従来からの"5577"モードに加え、"ESC/P"モードも初期設定で選択可能となっています。
  3. <印刷速度>通常速モードの印刷速度が、330行/分から360行/分に向上しました。それに伴い、高速モードは、430行/分から500行/分に、超高速モードは、500行/分から600行/分に向上しています。
  4. <バーコード・コマンド>少し前に始まった、郵便番号用のバーコード・コマンドを追加しています。
5400-006プリンター外観
 <"5400-006"プリンターの主な仕様>
- 印刷速度 : 360 行/分(通常速モード)
                  500行/分(高速モード、横方向1/3ドット間引き)
                  600行/分(超高速モード、横方向2/3ドット間引き)
- 想定月間平均印刷枚数 : 12,000枚(15x11 インチ・サイズ用紙)
- 複写枚数 : オリジナル + 7 枚(コピー強化モード)
- 対応コマンド : SCSコマンド(Twinax接続)、5577コマンド(パラレル・インターフェイス)、
                       ESC/Pコマンド(パラレル・インターフェイス)
- 内蔵日本語フォント : IBM 明朝体、新旧JIS規格選択
- 英小文字と半角カナの共存印刷 : 可
- バーコード・コマンド : 対応(7種類)

- 販売期間 : 1998年 - 2003年
- 保守終了 : 2017年予定

2016年7月17日日曜日

ライン・プリンターの全て - 第1回 日本語ライン・プリンターの歴史 -

これからしばらくは、プリンター自体、特に AS/400 からの印刷では標準と言えた、"ライン・プリンター"のお話を続けたいと思います。今回は、日本語ライン・プリンターの歴史です。
  • 5227-001、5227-011

 180dpi(ドット/インチ)の解像度により、24x24ドットの漢字を印刷できる、日本語ライン・プリンターの最初のモデルです。
これ以前に、5224 や 5225 という日本語を印刷できるライン・プリンターがあったということを聞いたことがあります。実物は私も見たことがありません。ただ、解像度が低いため、日本語プリンターの範疇には入れられないと聞きました。5577 シリーズと同じ、180dpi の解像度で、24x24 ドットの漢字が印刷できる、国内製造の印刷機構を持ったライン・プリンターとしては、初めてのモデルであることは、確かです。

<001モデルと011モデルの違い>
"001"モデルは、Twinax インターフェイスを持った、System36/38(発表当時は、まだ AS/400 は出ていません。)接続用のモデルです。"001"モデルの後に発表された"011"モデルは、COAX インターフェイスを持った、メイン・フレームと呼ばれる汎用コンピューター接続用のものです。

<"5227-001"プリンターの主な仕様>

- 印刷速度 : 180 行/分
- 想定月間平均印刷枚数 : 8,000枚(15x11 インチ・サイズ用紙)
- 複写枚数 : オリジナル + 4 枚(コピー強化モード無し)
- 内蔵日本語フォント : IBM 明朝体、旧JIS規格
- 英小文字と半角カナの共存印刷 : 不可
- バーコード・コマンド : 非対応
- 販売期間 : 1985年(001モデル)1986(011モデル)年 - 1995/05/31
- 保守終了 : 2000年12月31日
  • 5327-001、5327-011

5227 プリンターを高速化したモデルです。そのため、耐久性も 1.5 倍に向上しています。
また、5327 プリンター用に開発されたインク・リボンやカセットは、5427、5400-L10/F10を除く、その後のライン・プリンターのモデルに共通に使用できるようになっています。
5327プリンター

<001モデルと011モデルの違い>
"001"モデルは、Twinax インターフェイスを持った、AS/400 接続用のモデルです。一方、"011"モデルは、5227 の場合と異なり、インターフェイスはパラレル・インターフェイスとなっています。そのため、制御コマンドも"5577"モードとなっています。
5227-011モデル同様、汎用機からの印刷を想定しているのですが、3270PC(DOS版のホスト・エミュレーター)や、ダム端末と呼ばれていたホスト接続専用端末に接続して、それらを介してホスト・システムと接続する仕組みとなっています。これは、5227-011のように、プリンターが COAX インターフェイスを持つということは、ホスト・エミュレーション端末をプリンターの内部に持つことを意味していて、その結果、多大な開発コストが掛かることになります。5227 の時のそのような苦い経験を生かして、5327-011 では、ホスト・システムとの間に端末を置くこととしたわけです。

<"5327-001"プリンターの主な仕様>
- 印刷速度 : 330 行/分(通常速モード)
                  430行/分(高速モード、18x24 ドットという高さ2/3の文字になります。)
- 想定月間平均印刷枚数 : 12,000枚(15x11 インチ・サイズ用紙)
- 複写枚数 : オリジナル + 4 枚(コピー強化モード無し)
- 内蔵日本語フォント : IBM 明朝体、旧JIS規格
- 英小文字と半角カナの共存印刷 : 不可
- バーコード・コマンド : 非対応
- 販売期間 : 1988年 - 1992/02/24
- 保守終了 : 2002年12月31日

余談ですが、5327が開発された時には、その下位モデルとしては、5577 プリンターを Twinax 接続でSCSコマンド対応とした"5317"プリンターが、上位モデルとしては、連続用紙とカット紙両用のレーザー・プリンター"5337"プリンターが、開発、発表されました。しかし、残念ながら、どちらも期待された程には、実績を残せませんでした。330行/分という印刷速度を持つライン・プリンター"5327-001"が、AS/400プリンティングの世界では、圧倒的に主流を占めたと言っても過言ではない実績を残しました。

2016年7月2日土曜日

QRコードの印刷方法 - 第1回 プリンターの持っているコマンドを使う -

2015年10月から連載した"バーコードの印刷方法"では、文字通り"バーコード"、つまり、バーを組み合わせた 1 次元コードを対象としたものでした。1 次元コードは、ほとんどが APW で指定できるという大きなメリットがありましたが、2 次元コード、国内で使用されている"QRコード"は、APW では対応されていません。そのため、AS/400上のアプリケーションから、"QRコード"付きの帳票を印刷するには、工夫が必要です。
QRコード印刷サンプル
"QRコード"は、製造業だけに限らず、様々な業種において、様々なアプリケーションに使用されています。最も大きな特徴は、格納できる文字数の多さと、文字に漢字などの2バイト文字にも対応していることと言えます。では、QRコードをプリンターで印刷するには、どうしたら良いでしょうか?

先ず、1 次元バーコードの時と同様に、プリンターの持っているコマンドをプリンターに送信し、プリンター内部で QRコードを作製して印刷する方式が考えられます。それには、どのような点に注意して、どのようにすれば良いでしょうか?
QRコードの"コマンド"と言いましたが、実は、QRコードを印刷するための"SCSコマンド"はありません。それが、APW で対応していないことの大きな理由となっています。逆に言うと、インパクト・プリンターなら、"5577モード"、レーザー・プリンターなら"PAGESモード"の中に、QRコードのコマンドがあるということです。

コマンドそのもののは、1次元コードのコマンドと同様に、
- 1B 7E 40(バーコード印字形式設定)コマンド
  によって、QRコードであること、QRコードの大きさを指定し、次に
- 1B 7E 42(バーコード印字)コマンド
  によって、印刷位置と格納するデータを指定するという構成です。
なお、QRコードの中に格納するデータの文字コードは、英数文字ならUS-ASCII、漢字ならShift-JISになります。
これらのコマンドやデータを、AS/400 上のアプリケーションからプリンターに送信できる接続方法と対応プリンターの組み合わせを整理すると、次のようになります。

1. PCOMM プリンター・セッション経由のPDT印刷
キャラクター・モードを使って、バーコード・コマンドをアプリケーション内に組み込みます。
インパクト・プリンターなら、5577系、レーザー・プリンターなら、PAGES系のプリンターは、キャラクター・モードにも、QRコードのコマンドにも対応していますので、使用可能です。
サンプル・コードをこちら(5577系, PAGES系)で公開していますので、ご参照ください。
しかし、5400系のライン・プリンターは、キャラクター・モードに対応していません。

2. HPT(ホスト印刷変換機能)を使った LAN 直結印刷
プリンター・セッション経由のPDT印刷と同様です。キャラクター・モードを使って、QRコード用のバーコード・コマンドをアプリケーションから発行するようにします。

3. Telnet5250Eを使った LAN 直結印刷
5400系のライン・プリンターでも、5577モードでは、QRコードを印刷するコマンドを持っていますが、5577系と異なり、キャラクター・モードに対応していませんから、同じ方法は使用できません。
しかし、Telnet5250E 接続の機能の中で、透過モードをサポートしていますので、これを使ってコマンドを送信するようにアプリケーションを組めば、通常の接続方法の下で、QRコードを印刷することができます。

ただ、以上のご説明でお分かりのように、プリンターにコマンドを送信してQRコードを印刷させるには、アプリケーションのプログラミングに大きな手間が掛かります。
そこで、次回は、プログラミングの手間の掛からない方法をご紹介します。

2015年11月22日日曜日

バーコードの印刷方法 - 第2回 コマンドを使う、もう一別の方法 -

前回お話した"APW"のバーコード・パラメーターを使う方法は、対応できるプリンターの種類や接続方法の条件がありました。また、毎ページ同じ場所のデータを、毎ページ同じ場所に印刷するには良いのですが、それらがページ毎に変化する場合には、対応できません。
そこで、プログラミングが必要となる、手間の掛かる方法ですが、それらの制限を緩和できる方法を、今回はお話します。

1. "5400プリンター拡張コマンド(テキスト・コマンド)"を使用する
このコマンドの仕様は、下記のサイトで公開されています。
http://www.ricoh.co.jp/pps/download/manual/lineimpact/pages_command.html
考え方としては、通常のデータでは無いような3文字("!#%"か"!@&")の後に、「バーコード印刷」「バーコード設定」のコマンドを「文字データ」として、印刷データの中に組み込むと、プリンターがそれらを、文字ではなくコマンドと解釈してバーコードのイメージを生成して印刷するというものです。
インパクト・プリンターでのバーコード印刷サンプル
特徴は、次のとおりです。
- コマンドの構造が簡単であること
- コマンドを文字として入力しますので、スプールを表示した時に、そのまま文字として表示されることにより、後で確認し易いこと
- バーコードの他に、文字拡大、OCR-B フォント指定も指定できること

一方、注意点は
- 使用可能なプリンターは、5400 シリーズのライン・プリンター(モデル006、S06を除く)と、5400エミュレーターIIを使ってTelnet5250E接続した 5577 系とPAGES対応のプリンターになること

- 5400 プリンターや 5400 エミュレーターII の初期設定で、先頭の3文字を設定すること
- コマンドを記述した場所の影響で2行に跨ってしまうと、コマンドの中に「CR+LF」(復帰+改行)が含まれてしまうことになりますので、避けた方が良いこと(次の2つの方法にも共通)
- コマンドと言っても、印刷されない文字データという扱いですから、1ページの中の印刷する文字の無いところに配置すること(次の2つの方法にも共通)
- 特にバーコードを印刷するためのコマンドは、その後、改行することで実行されますから、最後に必ずLF(改行)を送信すること(次の2つの方法にも共通)

です。

2. "//LA// コマンド"を使用する
5557シリーズと、5577-H05/G05 プリンター単体の場合は、5557拡張制御コマンド"//n// コマンド"を使用できます。
バーコード用のコマンドは、下記のサイトで公開されています。
http://www.ricoh.co.jp/pps/download/pdf/5577g05h05_command_enlargement.pdf
http://www.ricoh.co.jp/pps/download/pdf/5577g05h05_command_notes.pdf
コマンドの考え方や使い方は、「1」のコマンドのものとさほど変わりません。
注意点も
- 使用可能なプリンターは、5557 シリーズと、5577 シリーズでも"H05""G05"モデルののドット・プリンターになること
- プリンターの初期設定で「プリンター・タイプ」を「5557モード」に変更すること
- コマンドの中に、何バイトのコマンドかを示す「カウント」を指定しますが、コマンド全体が2行に跨ることは避けること
です。

3. "キャラクター・モード"を使用する
"キャラクター・モード"は、IBM ブランド時代から、ドット・プリンターでも、PAGES モードのレーザー・プリンターでもサポートしてきた機能なので、上記の2つの方法よりも使用可能なプリンターの種類は多くなります。プリンターが解釈できるコマンドを、文字データとしてプリンターに送信するという基本的な考え方は同じで、異なる点は
- 先頭に付加する文字列は、”&$%$"か、"$?!#"の4文字であること
- プリンターが、コマンドやデータとして解釈する部分はその後に続く何バイトかを、4文字の後に2バイトの16進数で追加します。(2文字が1バイトです。この4文字は数に含めません。)
対応機種や実際のコーディングのサンプルは、下記のサイトで公開されています。
http://www.ricoh.co.jp/pps/support/techinfo/character_mode_jp.html
注意点は
- プリンターの初期設定で、先頭の4文字を設定する必要があること
- ライン・プリンターの5400シリーズでは、"5577モード"で使用する場合であっても、キャラクター・モードはサポートしていないこと
(従って、QRコード用のコマンドは、"5577モード"で持っていますが、下で述べる"透過モード"を使わないと、AS/400 からは送信できないということになります。)
他は、上の2つの方法と同様です。


以上の3つの方法は、文字データとして、PC 用のプリンターのコマンドをAS/400から送信し、プリンターの機能としてコマンドとして解釈し、処理する方法です。
そのため、プリンターのモデルによる制約がありますが、もう一つ別の方法として、16進コードで、PC 用のプリンターのコマンドを送信する"透過モード"という方法があります。
こちらの方が、PCOMM のプリンター・セッションの機能として、印刷データの中に16進コードで含まれたプリンター用のコマンドを、プリンターに対してコマンドとして送信する方式なので、プリンターのモデルやメーカーの制約は少なくなります。
しかし、16進で記述することになりますので、文字データして記述するよりも、ハードルは高くなると思います。
この方法に関しても、下記のサイトで詳しい情報を公開しています。
http://www.ricoh.co.jp/pps/support/techinfo/transparent_mode_jp.html

考え方は、キャラクター・モードと似たところがあって、先頭に"03"、そして送信するコマンドのバイト数を付加して、AS/400から送信すると、プリンター・セッションでは、"03"を外し、バイト数の値で指定された長さのコマンドをプリンターに送信するというものです。
従って、あくまでもプリンター・セッション経由、PDT印刷が前提となります。

どの方法にしても、プログラミングのスキルが必要になりますし、実際に印刷しながらの調整は必要になりますので、もっと効率の良い簡単な方法はないのか ? という疑問も出てきます。
そこで、次回は画面上でバーコードを大きさや場所を簡単に指定できるソリューションをご紹介します。



2015年10月25日日曜日

バーコードの印刷方法 - 第1回 コマンドを使う -

前回、"バーコード"という言葉が出てきたので、今回は今までの話の流れから少し逸れますが、バーコードのお話をします。
"このプリンターでバーコードを印刷できますか?"というお問い合わせを、何度もいただくことがあります。AS/400から、プリンターにバーコードを印刷させるには、いくつもの方法があります。

1. プリンターが持っているバーコード印刷コマンドを送信する方法
これは、プリンターから見れば、バーコードを印刷するコマンドが送られてきて、それに従ってプリンターの内部でバーコードのイメージ(パターン)を作って印刷する方法です。
この方法には以下のメリットがあります。

1-1. 各バーの幅を、コマンドのパラメーターとして、個別に指定できることにより、読み取り率を向上させ易い点です。
特に、インク・リボンを使って印刷するインパクト方式のプリンターでは、細白バーは、実際に印刷される左右両側の黒バーに挟まれた、印刷されない線として表現されますので、1ドット幅にしか指定しないと、左右からのインクの滲みよって、1ドット幅以下の幅になってしまいます。そのため、バーコード・リーダーが読み取る時に、細白バーとして認識でき難くなるわけです。細白バーの幅を先ず2ドット以上と指定し、他のバーの幅をそれを元に決めていくことをお勧めしています。
1次元バーコードのパターン

1-2. 後で述べるユーザー定義文字や、シンボルの組み合わせと比べて、バー幅の修正が圧倒的に楽な点です。
これももちろん、読み 取り率向上につながりますが、コマンドのパラメーターとしてバー幅を指定することは、その値を変更するだけで、バーコードの読み取り率を向上させることが できます。ユーザー定義文字や、シンボルといった、バーコードのパターンを自分で設計する方式では、印刷結果の読み取りテストを行いながら、該当する全部のパターンを修正することになりますので、膨大な手間が掛かることになります。



1-3. OS/400上でバーコードを指定するツール(APW)が用意されている点です。
APW (Advanced Printer Writer) (正式には多機能漢字印刷ユーティリティー)は、世界標準のSCSコマンドに対して、日本独自に追加されたバーコード・コマンドを使い易く するために、日本独自で開発されたツールです。使用可能なバーコード・パラメーターの仕様は、次のサイトで公開されているマニュアルで確認できます。
http://www.ricoh.co.jp/pps/download/manual/other/apw_v3.html

1-4. ネットワークへの負荷が少なく、処理時間の短縮が期待できる点です。
印刷データの量としては、コマンドだけになりますので、ネットワーク上の負荷はその分、少なくなります。バーコードのイメージ(パターン)を生成するの は、プリンターの中のマイクロコードの処理になりますが、経験的には、その処理時間が全体の処理時間に影響することは無いと思います。
黒細バーのインクが滲んだ様子

以上のメリットに対して、次の点には注意が必要です。
- APWを使用する場合、次のバーコードは指定できません。
GS1-128(EAN128.コンビニ収納代行用のバーコード)と、QRコード(これは、正確にはバーコードではなく2次元コードになります。)。そのため、5577系のドット・プリンターや、5400ライン・プリンターはQRコードを印刷するコマンドを持っていますが、そのコマンドを送信するプログラムを作る必要があり、これがなかなか大変です。
- APWを使用する場合は、プリンターのモデルと接続方式が、限られています。
接続方式は、AS/400と直結するTwinax接続やLAN直結する"Telnet5250E"接続か、ホスト印刷変換機能を使用したLAN直結接続です。
前者のプリンターとしては、5400シリーズと、モデル名の最後2桁が"05"となっている5577シリーズ、若しくは5400エミュレーターを使って"Telnet5250E"接続した5577シリーズや、PAGESモードを持ったレーザー・プリンターになります。後者のプリンターは、PAGESモードを持ったレーザー・プリンターです。
- APWを使用する場合は、バーコードを印刷する場所は、毎ページ同じになります。

以上の制約を受けないために、APWは使用せずに、コマンドをプログラムの中に組み込む方法も採れますが、5577モードのバーコード・コマンドは16進コードでプログラムすることとなり、これもなかなか手が掛かります。そこで、コマンドを他のデータと同じ文字データ(テキスト・データ)として組み込む方法がありますので、それは次回お話します。

2015年9月22日火曜日

HPT機能を使った印刷 - コマンド変換機能の制約 -

PCOMM の PDT印刷では、PDT ファイルの定義に従って PCOMM のプリンター・セッションが、AS/400 から受信した印刷データの中の制御コードを、5577 形式や PAGES 形式に変換してプリンターに送信します。HPT 機能を使った LAN 直結印刷の場合も同様のコマンド変換を、OS/400 が行ないます。そのプログラムのソース・コードは共通という話を以前に聞いたこともあります。
ただ、実際には、両者の間には次のような違いがあります。

1. HPT 機能では、"AFP"プリンター用のデータを PAGES 形式に変換して、PAGES プリンターに印刷できますが、PCOMM 経由の印刷では対応していません。
"AFP"プリンターに関しては、AS/400 ユーザーのお客様では使用実績が多くないため、このブログでは触れませんので、ここで簡単にご紹介します。
InfoPrint4100


InfoPrint SP8200
"AFP(Advanced Function Presentation)"プリンターには、連続用紙対応の大型高速レーザー・プリンターや、カット紙対応の高速レーザー・プリンターがあります。高速印刷であることは、大量印刷を意味し、大量印刷であることは、ページ抜けや、重複ページの印刷の防止といった"印刷管理"機能を必要とす
ることを意味します。また、Windowsアプリケーションからの印刷のように自由な、文字の種類や大きさ、配置の印刷を、AS/400 から直接行なえるメリットがあります。
しかし、AS/400 にも対応する様々な"帳票ソリューション"(我がMapping Suiteもそうですが)が提供され、プリンターの状況監視も、TCP/IP の世界では"SNMP"プロトコルとそれに対応したツールが実現する今となっては、"AFP"の優位性も少なくなってしまったと言えるかもしれません。
リモートOUTQ の設定で、"メーカー・タイプ及び型式"に"*IBMPAGES300"を指定することで、印刷データが"AFP"プリンター用の場合は、OS/400 が、PAGES コマンドの中のイメージ送りコマンドに変換します。つまり、"AFP" のデータをイメージに変換して印刷する訳です。
この場合、LPR 印刷になりますから、本来の"AFP" プリンターで行なえたプリンターとの双方向通信による印刷管理はできません。プリンターの状態に関わりなく、印刷データを送信したら終了です。
2. "APW"やプリンター・ファイルで指定した次のパラメーターは、5577 形式や PAGES 形式への変換に制約があります。("APW"については、今後、機会を改めてご紹介します。)
  • "APW"のバーコード・パラメーター:PCOMM プリンター・セッションでは変換できません。HPT 機能を使った印刷では、"MRGAPW" の際の"DEVTYPE"に"*SCS"を指定し、HPT では "PAGES" モードへの変換を指定した場合のみ、変換されます。
  • 角丸付き罫線:PCOMM プリンター・セッション経由の場合は、"MRGAPW" の際の"DEVTYPE"に"*PAGES"を指定した場合のみ、HPT では "PAGES" モードへの変換を指定した場合のみ、変換されます。("DEVTYPE"は"*SCS"でも"*PAGES"でも共通)
  • 網掛け:PCOMM プリンター・セッション経由の場合は、"MRGAPW" の際の"DEVTYPE"に"*PAGES"を指定した場合のみ、HPT では "PAGES" モードへの変換を指定した場合のみ、変換されます。("DEVTYPE"は"*SCS"でも"*PAGES"でも共通)
  • 文字拡大(2 x 4 と 4 x 2): "DEVTYPE"で"*PAGES"を指定し、PCOMM プリンター・セッション経由の場合のみ変換されます。
  • 文字拡大(3 x 3):"DEVTYPE"で"*SCS"を指定し、HPT で "PAGES" モードへの変換を指定した場合のみ、変換されます。
  • 文字拡大(4 x 4):"DEVTYPE"で"*SCS"か"*PAGES"を指定し、HPT で "PAGES" モードへの変換を指定した場合のみ、変換されます。
上記以外の"APW"のパラメーターで通常使用されるものは、プリンター・セッション経由の印刷でも、HPT 機能を使った印刷でも変換されますので、コマンド変換で最も注意する必要のあるのは、バーコード・パラメーターになるのではないでしょうか ?