始めの言葉

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

2017年8月6日日曜日

AS/400 プリンティングに求められるソリューション 第2回 - 2010年のお客様状況 -

前回ご紹介した 2002年のアンケート結果では、ライン・プリンターもまだ Twinax 接続で使用されているお客様が半数以上でした。
2002年の頃を振り返って見ると、AS/400 が Twinax 接続標準から LAN 接続標準に移行していく中で、対応するプリンターも、LAN 接続でも双方向通信が可能で、Twinax 接続からの移行の受け皿となる Telnet5250E に対応するものとして、連続用紙用レーザー・プリンターのInfoPrint250(5300-025) と、ライン・プリンターの標準モデルである 5400-006 の LAN カード付きモデルが発表されたのが、2000年でした。
InfoPrint250(5300-025)
Telnet5050E 対応のライン・プリンターの高速、中速、低速モデルのライン・アップとして、5400-L10、5400-S06、5400-L02が揃ったのが、2002年です。
また、ドット・プリンターを Telnet5250E に対応させるためのオプション、5400エミュレーターが翌年、2003年に発表されていますから、この頃のプリンターは、Twinax 接続から LAN 接続に徐々に切り替わっていく時代と言えるかと思います。

しかし、同時に、半数近くのお客様は電子化やレーザー・プリンターへの移行を指向していたことが分かります。私自身にも、古くなって保守も終了したライン・プリンターを、LAN 接続の新しいライン・プリンターに置き換えるお客様の比率が減っているという実感がありました。レーザー・プリンターへの移行と言っても、AFP だけでなく、PAGES モードを持つ小型の IBM レーザー・プリンターですら、お客様には"高い"と言われ、十分に受け皿になっていないという実感もありました。

今にして見れば、その頃から、メーカー縛りが無く、価格の安いレーザー・プリンター(消耗品コストは、インパクト・プリンターに比べて高くなりますが)に印刷できるようにするために、所謂"帳票ソリューション"を導入されるお客様が増えてきたのではないかと考えています。それらのソリューションのほとんどが、次のような処理を行いますので、Windowsのプリンター・ドライバーさえ持っているプリンターであれば、制約は無かったのです。
- AS/400 上のスプール・データを、例えば csv 形式のファイルに変換します。
 -> それを、Windowsサーバーに送信します。
  -> Windowsサーバー上で帳票イメージを作成して、プリンター・ドライバーを使って印刷します。

そこで、その後のお客様の変化を知るために、2010年4月に同様なアンケートを実施しました。その結果は、次のとおりです。

- 調査時期 : 2010年4月
- 有効回答社数 : 70社

1. AS/400 からの印刷に使用しているプリンター
1-1. ライン・プリンター    Yes : 58%    No : 36%    不明 : 6%
1-2. レーザー・プリンター    Yes : 66%    No : 24%    不明 : 10%
1-3. ドット・プリンター    Yes 74%    No : 20%    不明 : 6%
使用しているプリンターの種類

2. 帳票設計
2-1. RPG/COBOL, DDS でコーディングしている : 64%
2-2. APW も使用している : 16%
2-3. OS/400 上で稼動する帳票ソフトを使用している : 12%
2-4. Windowsサーバー上で稼動する帳票ソフトを使用している : 4%
2-5. 印刷しない : 4%
2-6. 不明 : 4%
帳票設計

3. 5年後の予想
3-1. 現行のまま継続する : 33%
3-2. 電子化により印刷量を削減する : 31%
3-3. 複写帳票を廃止してレーザー・プリンターへ移行する : 16%
3-4. 既存帳票は継続し、新規帳票は帳票ソリューションを使用する : 7%
3-5. AS/400 を廃止して Windowsサーバーへ移行する : 6%
3-6. 現行方式を維持し、増強する : 4%
3-7. その他、不明 : 3%
5年後の予想

4. 帳票ソリューション
4-1. 使用中のものへの満足度    満足 : 40%    不満足 : 23%    不明 : 37%
4-2. 選択のために重視する    価格 : 48%    稼動 OS 種類 : 20%    設計機能 : 13%    導入実績 : 9%    不明 : 10%
4-3. 稼動 OS : どちらでも良い : 44%    OS/400 : 33%    Windowsサーバー : 17%    不明 : 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年9月11日日曜日

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

新しく購入したライン・プリンターを使える状態にするのは、次の手順で行ないます。
先ず、運送用に貼られた各部の固定テープを剥がした後、インク・リボンや用紙をセットし、電源ケーブルを取り付けます。
この時、高速モデルの"5400-F10"の場合は、電源に注意が必要です。電源スイッチを入れると、プリンターは自己診断テストを行いますが、それに合わせて、操作パネルの液晶表示部に表示される数字が、カウント・アップされていきます。しかし、途中で"マシンチェック"というエラー・メッセージが表示されたら、電源に原因がある可能性が非常に高いと思ってください。
5400_L10の電源条件(マニュアル抜粋)
"5400-F10"や"5400-L10"は、ライン・プリンターの全て - 第7回- 日本語ライン・プリンターの歴史-7 でお話したように、高速で印刷するために、印字ヘッドを 2 組持っています。電源は、通常の 100V 電源で、電源プラグもアース付きの 3 ピンのもので良く、他のモデルと同じなのですが、電流は 15A ぎりぎりまで使用することがあります。そのため、電源が蛸足配線になっていて、他の電気機器と共有していると、電圧が低下して正しく稼動できなくなるというわけです。
同じ原因で、初めの起動は完了しても、印刷中に不可解な現象が現れることもあります。

その次に、プリンターの初期設定を行ないます。
自己診断テストが完了すると、しばらくして液晶表示部に"ホスト・システムと接続されていません"というメッセージが表示されます。これは、プリンターのIPアドレス等、AS/400 と接続するために必要な設定が行なわれていないことと、LAN ケーブルが接続されていないことが原因です。
そこで、LAN ケーブルの接続は後回しにして、先に必要な初期設定を開始します。AS/400 とTelnet5250E で接続するために最低限必要な設定は、次のとおりです。
  • プリンター自身のIPアドレス
  • デフォルト・ゲートウェイ・アドレス
  • サブネット・マスク
  • 接続先の AS/400 の IPアドレス
  • デバイス名(AS/400 上のプリンターの装置記述名、OUTQ 名にもなります。)
操作パネルのスイッチと液晶表示部のメッセージ例
これらの値を全て操作パネルのスイッチを使って設定するようにマニュアルに書かれていますが、もう少し簡単な方法があります。
それは、次の方法です。上の 3 点の値を設定したら、LAN ケーブルを接続します。そして、同じネットワークに繋がっている PC のブラウザーからプリンターの Web ページにアクセスして、PC から設定します。
具体的には、次の手順でネットワーク接続用の設定を操作パネルで行ないます。
  1. 初期設定スイッチを押します。->液晶表示部に"初期設定 初期設定キーでスタート"というメッセージが表示されます。(実際の表示はカタカナです。)
  2. "TCP/IP 入力キーでスタート"というメッセージが表示されるまで、初期設定スイッチを繰り返し押し、表示されたら入力スイッチを押します。(間違えて行き過ぎた場合には、"改行"スイッチを押すと、前のメニューに戻ります。)
  3. 通常、プリンターのIPアドレスは固定アドレスと思いますので、"IPアドレス 入力キーで設定"というメッセージが表示されるまで、初期設定キーを繰り返し押します。表示されたら、入力キーを押します。
  4. 工場出荷値の IPアドレス"192.168.1.4"が液晶表示部の 1 行目に表示されます。そこで、微調↑スイッチか微調↓スイッチを繰り返し押して、2行目に"CLEAR"か、"BACKSPACE"を表示させます。前者を指定して入力スイッチを押すと、1 行目の IPアドレスはクリアされてブランクになります。後者は入力スイッチを押す度に、右から1 桁ずつ値が消えます。
  5. 微調↑スイッチか微調↓スイッチを繰り返し押していくと、"1"から"0"までの数字と、ピリオド"."が順番に表示されますので、必要な値が表示されたら入力スイッチを押して、値を確定します。数字を 3 桁確定すると、自動的にピリオド"."が表示されますので、入力スイッチを押すだけで済みます。
  6. 最後の桁の数字まで確定できたら、"RETURN"を選択して入力スイッチを押すと、"IPアドレス 入力キーで設定"というメニューに戻ります。そこで、初期設定スイッチを押して、次のメニュー"サブネット・マスク 入力キーで設定"というメニューを表示させます。
  7. 入力スイッチを押して、後は、4 から 6 の手順を行ないます。その次のメニューは、"デフォルト ゲートウェイ 入力キーで設定"ですから、これも同じ手順で設定します。
  8. 以上の 3 点が設定されればプリンターは、LAN に接続できますので、最後に印刷取消スイッチを押します。これによって設定値がプリンター内部の不揮発性のメモリーに書き込まれ、プリンターは自動的に再起動状態になります。
再起動後もまだ、"ホスト・システムと接続されていません"というメッセージは表示されますが、同じ LAN に接続された PC からはアクセス可能になりますので、この後は、PC を使って初期設定を続けます。次回は、PC からプリンターの Webページにアクセスして初期設定を行なう方法をお話します。

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年2月23日火曜日

LAN 直結で双方向通信する印刷方式"Telnet5250E" - 第3回 -

IBMの独自規約だった"SNA(System Network Architecture)"に基づくことにより、Twinax接続では可能だった、スプール印刷の保留や取り消しを、"TCP/IP"の世界で実現する"Telnet5250E"では、どのようにして実現しているのでしょうか?
考え方は簡単で、OS/400 が、印刷データを700バイト程度の大きさの単位に切ってプリンターに送信し、プリンターはそのデータを印刷完了すると、完了通知("Ack"と呼びます。Acknowledgement)を OS/400 に返信します。それを受けて、OS/400 は後続の印刷データを700バイト程度の大きさに切って、プリンターに送信するというやり取りを繰り返すというものです。
"繰り返し印刷とポートの設定"の回でお話したように、"LPR"印刷では、OS/400 は、印刷データを一塊にまとめてプリンターに送信しますので、印刷途中で保留したり、取り消したりできなかったのに対し、"Telnet5250E"での印刷では、印刷データを細かく分けてプリンターに送信するため、途中で止めたりする操作が可能になった訳です。
併せて、プリンターはデータを受信するだけではなく、用紙切れや用紙ジャムといったエラー状態を、OS/400 側に通知する機能も持たせています。ただし、初めてプリンターを接続して自動構成によって装置記述ができた時に、デフォルトでは"印刷装置エラー・メッセージ"は、"*INFO"になります。そのため、エラー・メッセージに対して何か応答してから印刷再開させようとするには、この値を"*INQ"に変更する必要があります。
"Twinax"接続と同様の操作性とは言え、"Twinax"接続では、OS/400 からプリンターに接続、あるいは切断しに行くのに対して、"Telnet5250E"接続では、逆にプリンターから、OS/400 に接続・切断しに行くことから、例えば"5400"シリーズのライン・プリンターでは、次のような初期設定メニューを設けています。
5400シリーズ・ラインアップ

1. パワーオン自動印刷
デフォルトでは、"5分"という値にセットされています。これは、プリンターが、OS/400 と接続できていない時に、5分間隔で接続を試みるという意味です。例えば、プリンターの電源は入っているが、AS/400 が起動中で、TCP/IP サービスも立ち上がっていないという状態では、プリンターから"Telnet5250E"接続しに行っても、接続できません。そのような場合、5分間隔で接続を試みることを繰り返すことによって、自動的に接続状態に変わります。

2. ホスト接続監視
デフォルトでは、"はい(する)"になっています。これは定期的に、プリンターから AS/400 に対して ping コマンドを発行して、ネットワークの切断が発生していないかどうかをチェックするという意味です。もし、接続が切れていれば( ping の返信が無ければ)、一定時間後に再度 ping コマンドを発行して接続を確認することを繰り返します。

Twinax 接続の時には、印刷データは、AS/400 との言わば専用線上を流れていて、安定した通信でした。それが、TCP/IP 接続に変わると、他の様々なデータとネットワーク上に共存するようになることや、ルーターやハブ(スイッチ)などの機器を経由することで、Twinax 接続よりも不安定な通信になります。例えば、次のような事例がありました。

<現象1>
遠隔地の 5400 プリンターにおいて、100ページ程度の帳票を印刷後に接続が切れる。数ページの印刷では切れない。プリンターの電源を入れ直すと接続する。
<調査>
プリンターから、ping コマンドを定期的に発行して、AS/400 が稼動中であることを確認しているが、ネットワーク容量に比較して通信量が大きいと、ping コマンドの返信がタイム・アウトになる。そのため、プリンターは AS/400 が非稼動状態と判断して接続を切るという現象が発生していることが判明した。
<対策>
"ホスト接続監視"を"いいえ(しない)"に変更して解決した。

<現象2> 
IP電話を導入後、印刷できなくなった。
<調査>
IP電話のために、ルーターのMTU設定でパケットを細分化していた。(1,450→360 バイト)
そのため、印刷データも細分化されてしまい、それを受信したプリンター側で再構成できなくなった。
<対策>
OS/400 上で、プリンターのIPアドレスに対して、"MTU 自動調整"を"*YES"に変更して解決。

2016年1月31日日曜日

HPT機能を使った印刷 - 追加情報 -

1. 印刷部数の指定
"HPT機能を使った印刷 - LAN 直結印刷の基本"の回で、印刷部数の指定は可能とお話したのですが、そのための設定を""HPT機能を使った印刷 - リモートOUTQの作成"の回でお話していなかったので、ここでお話しします。
印刷部数を指定できるようにするには、リモートOUTQを作成する時に指定するパラメーターの中で、宛先オプション"DESTOPT"に"XAIX"を指定する必要があります。
何故、その指定が必要なのかは分かりませんが、OS/400 の動きとしては、IBM Knowledge Center では次のように説明されています。

>XAIX を指定した場合、 リモート印刷装置書き出しプログラムは、プリンターへの接続を開き、 データ・ファイルと制御ファイルの複数コピーを送信します。
宛先オプション"DSTOPT"の指定

LPR 印刷では、データ・ファイルと制御ファイルのセットをプリンターに送信することを、以前にお話ししたことがあると思いますが、それを思い出してこの説明を読むと、指定された印刷部数の数だけ繰り返して、データ・ファイルと制御ファイルのセットをプリンターに送信すると読み取れます。
つまり、プリンターに対してコピー部数を指定するコマンドを送信するのではなく、コピー部数分だけ繰り返して同じ印刷データを送信するという意味になります。

2. HPT機能を使った印刷の3番目の指定方法
OS/400 上で印刷データ形式を変換する HPT 機能を使って、PC を介さずに LAN 直結印刷する方法には、実はもう一つ、"IPP"を使った OUTQ を使う方法です。"IPP"は、Internet Printing Protocol の略で、Microsfoft社が提唱する印刷データ送信方式です。提唱されてから何年も経ちますが、普及したと言えるところまでは行っていないようです。
TCP/IP の世界の印刷プロトコルの一つであり、最新のものなので、OS/400 でもサポートしているものと思います。OUTQ を作るには、装置記述を作り、装置タイプに"3812"を選択する点では、以前お話した SNMP を使用する方式と良く似ていますが、使用するポートが 631、6310 である点が大きく異なります。
最も大きな特徴は、"セキュア接続"と言った暗号化に対応した接続が可能なことだと思います。
自分自身では、かなり以前に、あるお客様のご要望でその設定を経験したことがあるのですが、詳細に関しては、機会を改めたいと思います。

次回からは、LAN 直結印刷の本命として、Telnet5250E接続のお話をしたいと思います。

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 機能を使った印刷でも変換されますので、コマンド変換で最も注意する必要のあるのは、バーコード・パラメーターになるのではないでしょうか ? 

2015年6月22日月曜日

繰り返し印刷とポートの設定

前回は、スプーラーに関わるお話でしたが、今回はスプーラーから印刷データが送信される先を指定する「ポート」のお話です。PC と LAN 接続したインパクト・プリンターを使って印刷していると、印刷が完了した後、あるいは途中のページから、先頭ページからの印刷を再開するという現象が発生することがあります。ページ数が多い、つまり量が大きいデータを印刷しようとする時に発生する可能性が高くなります。
プリンターを LAN 接続する場合、TCP/IP の機能の中の「LPR/LPD」という仕組みを使用して印刷します。Windows ではドライバーのプロパティの「ポート」に、通常は、「標準のTCP/IPポート」を使用します。「ポート」で指定された宛先に印刷データが送信されるのですが、その仕組みは次のようになっています。
  1. Windowsは初めに“Control File”をプリンターに送信します。“Control File”には、PC側のホスト名やユーザー名、ファイル名を含みます。(下図①)
  2. 受信側のプリンター(実際にはネットワーク・カード)は、それを受信すると“Ack”という受信確認を返信します。(下図②) 
  3. Control FileのAckを受信すると、次にWindowsは“Data File”を送信します。(下図③)“Data File”には、印刷データの他にデータ・サイズの情報が含まれます。 
  4. 受信側のネットワーク・カードは、データ・サイズと一致する印刷データを受信したら、“Ack”をWindowsに返信します。(下図④) 
  5. Windowsは、このAckを受信して、印刷ジョブ送信終了とします。
問題は、Windows が最後の"Ack"を受信するまで待つ所定時間があって、それまでに受信されないと印刷失敗と認識して、先頭のページから印刷データを再送することです。その所定時間は公開されていないようですが、過去の実測値では約90秒でした。
プリンターから所定時間までに"Ack"を返信できない理由は、いくつか考えられます。
  1. 用紙ジャムや用紙切れが発生して、そこから回復するのに間に合わない。
  2. 印刷速度が遅いために間に合わない。
  3. ネットワークが混雑していて、データ通信に時間が掛かる。
インパクト・プリンターの場合、多くは「2」のケースですが、背景にはプリンターがどのタイミングで"Ack"を返信するように設計されているかが関係します。つまり、印刷までちゃんと完了してから"Ack"を返すものもありますが、データを受信を完了しただけで"Ack"を返すものもあります。(レーザー・プリンターの多くは、データ受信用のメモリー・サイズも大きく、後者の方式のようです。)
後者の方が、"Ack"の返信が早いので、繰り返し印刷の発生は防げますが、前者の考え方から見れば、「印刷完了しない内にプリンターの電源を切られたら、印刷中のデータは消えてしまう」という危険性もあるわけです。どちらの考え方が絶対に正しいということは無いと思いますが、5577や5400系のプリンターでは前者の考え方で設計されています。そうなると、インパクト・プリンターは、レーザー・プリンターに比較して印刷速度が遅いこともあって、その結果、印刷データのサイズが大きな印刷を行うと、繰り返し印刷を発生する可能性が高くなります。
また、先日もこの問題で、問い合わせをいただいたのは、カット紙を1枚ずつ手差し印刷しているケースでした。自動給紙に比べてどうしても1枚ずつ印刷する間隔が長くなってしまっていることも影響しているようでした。
この問題の解決方法は、長くなりますので、次回にまとめて。