始めの言葉

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

2015年6月8日月曜日

プリンターへのデータの流れ - レベルE機能と双方向通信 -

5577系や5400系のインパクト・プリンターのパラレル・インターフェイスには、「コンバージド・モード」と「スタンダード・モード」の2種類があります。ただし、これは5577系のプリンターの場合の言い方で、5400系では前者を「PS/55モード」、後者を「PS/2モード」と呼んでいます。
「コンバージド・モード」とは、IBM 社内では全く日本独自の製品だった「5550シリーズ」から、ワールド・ワイド標準製品である「PS/2シリーズ」を元に日本語対応した「PS/55シリーズ」に切り替わる際に、両方のシステムの規格が異なるパラレル・インターフェイスどちらにも接続できるようにした、プリンターのインターフェイスの規格です。(「コンバージド」は、converged、即ち「統合した」という意味の単語です。)
コンバージド・インターフェイスと「レベルE機能」という言葉には密接な関係があります。
5550 時代や、その後の Windows のドライバー印刷では、インパクト・プリンターの場合、縦24 ドット(24 ビット = 3バイト)の幅の、横 1 行に相当するイメージ・データが送られてきて、プリンターは各ドットのオン/オフに応じて印刷するだけです。そのため、送信されたデータに問題があって、一部のビットのオン/オフが反転したとしても、そのドット(点)の白黒が逆転するだけですから、印刷結果全体には、大きな影響は与えないと判断されていました。しかし、PS/55時代のJ-DOSと呼ばれていたOSからの印刷では、文字データは、Shift-JIS形式の文字コードで送られるので、データ送信の問題によって、文字コードの一部の値に誤りが発生すると、全く他の文字コードになる、つまり全く違った文字を印刷することになり、これは避けなければならないことと考えられました。
そこで、ECC(Error Checking and Correction)、具体的には、プリンターにはデータを3回送信する、受信したプリンターは、3回のデータの内、少なくとも 2 回のデータが一致していれば、正しいデータと判断して印刷するという方式を組み込みました。これが「レベルE機能」と呼ばれるものです。データ量としては3倍になってしまいますが、印刷結果を保証するために考え出された方式です。
また、コンバージド・インターフェイスの機能を活用して、プリンターとシステム間の双方向通信も行っていました。3477等の、所謂「ダム端末(オンライン端末専用機)」や、PS/55上の5250PC(ホット・キーでDOS画面と5250端末画面を切り替えられました。)とパラレル・インターフェイスで接続したプリンターで、用紙切れや用紙ジャム等のプリンターのエラーが発生すると、それはプリンター側から端末を通じてAS/400まで伝わり、"MSGWT"となってユーザーにエラー通知されたものです。
同様に、初めてプリンターを接続した時には、直結型のプリンターを接続した場合と同様に、端末を通じてでも、デバイス(プリンター)として、AS/400上で「自動構成」されました。
5400エミュレーターを取り付けた様子

その後、コンバージド・インターフェイスが復活したのが、「5400エミュレーター」です。5400エミュレーターについては、いずれ詳しくお話しますが、5577系のドット・プリンターをAS/400とTelnet5250EでLAN直結するために作られたオプション製品です。これは、プリンターのパラレル・インターフェイスに取り付けるものですが、AS/400にプリンターの状態を通知するために、「コンバージド・インターフェイス」が活用されました。

これらのことは、AS/400直結型プリンターの場合と同様な、プリンターとAS/400間での双方向通信が実現していたということを表しています。
5400エミュレーター本体


0 件のコメント:

コメントを投稿