以下に添付図面を参照して、この発明にかかる動作定義ファイル生成装置、システム、画像形成装置、動作定義ファイル生成方法およびプログラムの最良な実施の形態を詳細に説明する。
(実施の形態1)
図1は、実施の形態1にかかる動作定義ファイル生成装置の機能的構成を示すブロック図である。図1において、動作定義ファイル生成装置100は、例えば、日本国内の複合機メーカ等に設置されており、出荷対象の複合機300は、例えば海外の販売会社に設置されている。
本実施の形態にかかる動作定義ファイル生成装置100は、動作定義ファイル生成部110と、設定データファイル140と、管理部120と、外部記憶媒体インタフェース130(以下、「外部記憶媒体I/F130」という。)とを主に備えている。
なお、本実施の形態の動作定義ファイル生成装置100は、CPUなどの制御装置と、ROM(Read Only Memory)やRAMなどの記憶装置と、HDD、CDドライブ装置などの外部記憶装置と、ディスプレイ装置などの表示装置と、キーボードやマウスなどの入力装置を備えており、通常のコンピュータを利用したハードウエア構成となっている。
設定データファイル140は、画像形成装置である複合機300の後述する工程アプリ316により複合機300に設定する設定項目の設定データを定義したデータファイルであり、HDD(ハードディスクドライブ装置)やメモリ等の記憶媒体に格納されている。
動作定義ファイル生成部110は、設定データファイル140の設定データに基づいて動作定義ファイル150とPJLコマンドファイル160をHDDやメモリ等の記憶媒体に生成するものである。
ここで、動作定義ファイル150は、シーケンスファイルと呼ばれることもあり、複合機300に上記設定データを反映させるための動作を簡易な制御言語で記述したデータファイルである。また、PJLコマンドファイル160は、複合機300で実行させる印刷設定に関するPJL(Printer Job Language)言語で記述されたPJLコマンドを登録したデータファイルである。なお、設定データファイル140、動作定義ファイル150、PJLコマンドファイル160の詳細については後述する。
動作定義ファイル生成部110は、図1に示すように、入力部111と、判断部112と、生成部115と、暗号化処理部113と、保存部114とを主に備えている。
入力部111は、HDD等の記憶媒体から設定データファイル140を読み出して入力するものである。
判断部112は、設定データファイル140の設定データがその設定データ型からサービスマン等の管理者のみが使用可能な設定1モードにおけるデータ(設定1データ)であるか否かを判断する。また、判断部112は、設定データがその設定データ型から、複合機300のアプリケーション・プログラム・インタフェース(API:Application Programing Interface)で提供されるAPIコマンドに関するデータであるか否かを判断する。さらに、判断部112は、設定データファイル140の各設定データがその設定データ型から、複合機300のPJLに関するデータであるか否かを判断する。
生成部115は、設定データが設定1データである場合に設定1動作要求コマンドを記述し、設定データがAPIコマンドに対するデータである場合に、APIコマンドを記述して動作定義ファイル150を記憶媒体に生成する。また、生成部115は、設定データがPJLに関するデータである場合には、PJLコマンドを記述してPJLコマンドファイル160を記憶媒体に生成する。
暗号化処理部113は、生成部115で生成された動作定義ファイル150とPJLコマンドファイル160とに対して暗号化キーを用いて暗号化処理を施すものである。暗号化処理部113は、暗号化された動作定義ファイル150とPJLコマンドファイル160とを、それぞれHDDやメモリ等の記憶媒体に格納する。
なお、本実施の形態では、暗号化処理として、3DES方式の暗号化方式を用い暗号化キーの鍵長は196bitとしているが、これに限定されるものではない。
保存部114は、記憶媒体に格納されている、暗号化された動作定義ファイル150とPJLコマンドファイル160とを、外部記憶媒体I/F130を介して外部記憶媒体180に保存するものである。ここで、外部記憶媒体180は、例えば、SDカードやUSBメモリ等が該当するが、これらに限定されるものではない。また、外部記憶媒体I/F130は、外部記憶媒体180を挿脱可能に保持するインタフェースである。例えば、外部記憶媒体180がSDカードの場合には外部記憶媒体I/F130はSDカードインタフェースであり、外部記憶媒体180がUSBメモリの場合には外部記憶媒体I/F130はUSBインタフェースであるが、これらに限定されるものではない。
管理部120は、設定データファイル140が開発用である場合に、開発用の設定データファイル140の一部の設定項目の設定データを非表示化するツールである。
次に、本実施の形態の設定データファイル140の詳細について説明する。設定データファイル140は、Microsoft(R)社のExcel(R)形式の表データであり、用途毎の複数のシートから構成させる。なお、本実施の形態では、設定データファイル140は、Excel(R)の表形式のデータとしているが、設定項目の設定データを設定可能なものであればその形式はこれに限定されるものではない。
利用者は、この設定データファイル140に、複合機300の工程アプリ316により複合機300に設定を行うべき設定データ、工程アプリ316のバージョン、機種等の情報を入力する。なお、一組の動作定義ファイル150・PJLコマンドファイル160を生成するためには1つの設定データファイル140が必要となる。
設定データファイル140は、用途毎に複数のシートとして、Generalシート、Dataシート、複数の設定値入力シートから構成される。
Generalシートは、動作定義ファイル150全体に関する設定を入力するシートである。図2は、設定データファイル140のGeneralシートのデータ構造を示す説明図である。図2に示すように、Generalシートは、Item列と、Value列と、Internal列と、Note列から構成される。Itemは項目名である。Valueは、項目名Itemに設定する設定データであり、利用者により入力される。Internalは、動作定義ファイル150に反映される設定データであるValueの値に応じて値を反映するように、開発者が計算式を記述する。Noteは利用者が設定データを入力する際のヒントとなる情報であり、開発者が記述する。
Dataシートは、ドロップダウンリストで選択できる値と、それにリンクされた内部値を登録するシートである。図3は、設定データファイル140のDataシートのデータ構造を示す説明図である。
図3に示すように、Dataシートは、Key列と、Name列と、Value列と、Internal列と、Memo列とから構成される。Keyは、NameとModelとを連結したデータであり、検索時のキーとなる。Nameは、グループを示す名前であり、Nameが同じ項目は同一のグループを示す。このNameがプルダウンリストに表示される。Valueはプルダウンリストに表示されるデータである。InternalはValueに対応して動作定義ファイル150内に記述された設定1の内部設定値である。ここで、設定1とは、サービスマン等の管理者のみが設定可能な設定項目であり、サービスマンのみが設定可能なモードを設定1モードという。また、利用者が設定可能な設定項目を設定2といい、利用者が設定可能なモードを設定2モードという。
図3の例では、Name「Model」を割り当てたプルダウンリストの候補には、「A」〜「C」等が表示される。
設定値入力シートは、利用者が設定データ(設定値)を入力するシートである。図4は、設定データファイル140の設定値入力シートのデータ構造の一例を示す説明図である。設定値入力シートは、用途毎に異なる名称のシートであり、本実施の形態では、設定1シートやその他デバイス(プリンタやファクシミリ装置等)ごとのシート等で構成される。ここで、設定1シートは、設定1モードで設定する項目を入力するシートである。また、デバイスごとのシートは、各デバイスにおける設定(Setting)下の設定項目の設定データを入力するシートである。デバイスごとのシートはデバイスの数によって任意に定めることができる。
なお、これらの複数の設定値入力シートの構造はすべて同一となっている。また、これらの複数のシートの例は一例であり、用途に応じて種種のシートを設定値入力シートとして用いることができる。
図4に示すように、設定値入力シートは、シートの種類を示す種類と、設定されている項目数を示す設定対象項目数を有している。シートの種類で「Command」と設定されているシートが設定入力値シートとして扱われる。
また、設定値入力シートは、Item列と、Value列、Note列と、Comment列と、Internal列と、DataTypeと、Confi1列と、PJL列と、API列とから構成される。ここで、利用者が入力可能なセルはValue列、Comment列のみである。
ここで、設定データが数値の場合、最小、最大長のチェックが行われ、設定データが文字列の場合には、最小、最大長のチェックは行われない。また、設定データの組み合わせによる不整合のチェックは行われない。ただし、これらのチェックを行うように構成することもできる。
Itemは、設定項目名であり、カテゴリごとに設定2の階層にあわせて記述される。Valueは、利用者が設定項目(Item)に対する設定データを入力するものであり、設定データが選択式のデータである場合には、図4に示すようにプルダウンリストが表示され、このプルダウンリストで選択された設定データが入力される。このValueに設定データが入力されていない場合には、動作定義ファイル150には、出力されない。
Noteは、入力する設定データに対する補助的な内容を記述するものである。Commentは、利用者が自由に入力するものであり、ここに入力された内容は動作定義ファイル150に影響を及ぼさない。
Internalは、Valueに対する内部設定値であり、計算式で対応する値を取得する。DataTypeは、設定データ型、すなわち、設定データのデータ型である。ここに、「dat1」,「dat2」、「dat0」が入力されている項目は、動作定義ファイル150に出力される。
Confi1は、設定項目に対する設定1モードの番号(設定1番号)である。PJLは、設定項目に対するPJLコマンドである。PJLが入力されている項目はPJLコマンドファイル160に出力される。APIは、設定項目に対するAPIである。
次に、出荷対象の複合機300について説明する。図5は、複合機300の機能的構成を示すブロック図である。この複合機300は、白黒ラインプリンタ(B&W LP)301、カラーラインプリンタ(Color LP)302、その他外部記憶媒体インタフェース等のハードウエアリソース303などを有するとともに、ソフトウエア群310は、プラットホーム320およびアプリケーション330からなる。
プラットホーム320は、アプリケーション330からの処理要求を解釈して、ハードウエア資源の獲得要求を発生させる下記に示すコントロールサービスと、一または複数のハードウエア資源の管理をおこない、コントロールサービスからの獲得要求を調停するシステムリソースマネージャー(SRM;System Resource Manager)323と、汎用OS321とを有する。
このコントロールサービスは、複数のサービスモジュールにより形成され、具体的には、SCS(System Control Service)322と、ECS(Engine Control Service)324と、MCS(Memory Control Service)325と、OCS(Operation panel Control Service)326と、FCS(FAX Control Service)327と、NCS(Network Control Service)328と、UCS(User Control Service)329と、がある。なお、このプラットホーム320は、あらかじめ定義された関数により前記アプリケーションからの処理要求を受信可能とするアプリケーションプログラムインターフェースを有する。
汎用OS321は、UNIX(登録商標)などの汎用オペレーティングシステムであり、プラットホーム320並びにアプリケーション330の各ソフトウエアをそれぞれプロセスとして並列実行する。オープンソースのUNIX(登録商標)を用いることにより、プログラムの安全性を確保できるとともに、ネットワーク対応可能となり、ソースコードの入手も容易となる。さらに、OS、TCP/IPのロイヤリティが不要であり、アウトソーシングも容易となる。
SRM323は、SCS322とともにシステムの制御およびリソースの管理をおこなうものであり、スキャナやプロッタなどのエンジン部、メモリ、HDDファイル、ホストI/O(セントロI/F、ネットワークI/F、IEEE1394I/F、RS232CI/Fなど)のハードウエア資源を利用する上位層からの要求にしたがって調停をおこない、実行制御する。
具体的には、このSRM323は、要求されたハードウエア資源が利用可能であるかどうか(他の要求により利用されていないかどうか)を判断し、利用可能であれば要求されたハードウエア資源が利用可能である旨を上位層に伝える。また、上位層からの要求に対してハードウエア資源の利用スケジューリングをおこない、要求内容(たとえば、プリンタエンジンによる紙搬送と作像動作、メモリ確保、ファイル生成など)を直接実施するようにしてもよい。
SCS322は、(1)アプリ管理、(2)操作部制御、(3)システム画面表示(ジョブリスト画面、カウンタ表示画面など)、(4)LED表示、(5)リソース管理、(6)割り込みアプリ制御をおこなう。具体的には、(1)アプリ管理では、アプリの登録と、その情報を他のアプリに通知する処理をおこなう。登録されたアプリに対しては、システムの設定やアプリからの要求設定に応じてエンジン部の状態を通知する。また、登録済みのアプリに対しては、電力モード移行の問い合わせ、割り込みモードなど、システムの状態遷移のための可否問い合わせをおこなう。
また、(2)操作部制御では、アプリの操作部使用権の排他制御をおこなう。そして、操作部の使用権を持つアプリへ操作部ドライバ(OCS)からのキー情報を排他的に通知する。このキー情報は、アプリ切替中などのシステムの状態遷移に応じて一時的に通知を停止するマスク制御をおこなう。
また、(3)システム画面表示では、操作部使用権を持つアプリからの要求内容に応じて、エンジン部の状態に対応する警告画面の表示をおこなう。これらのなかには、利用者制限画面などアプリの状態に応じて警告表示をオン/オフするものもある。エンジン部の状態以外では、ジョブの予約・実行状況を表示するためのジョブリスト画面、トータルカウンタ類を表示するためのカウンタ画面、CSSの通報中を示す画面の表示制御をおこなう。これらのシステム画面表示に関しては、アプリへ操作部使用権の解放を要求せず、アプリ画面を覆うシステム画面として描画をおこなう。
また、(4)LED表示では、警告LED、アプリキーなどのシステムLEDの表示制御をおこなう。アプリ固有のLEDについては、アプリが直接表示用ドライバを使用して制御する。
また、(5)リソース管理では、アプリ(ECS)がジョブを実行するにあたって、排他しなければならないエンジンリソース(スキャナ、ステープルなど)の排他制御のためのサービスをおこない、(6)割り込みアプリ制御では、特定のアプリを優先動作せさるための制御・サービスをおこなう。
ECS324は、白黒ラインプリンタ(B&W LP)301、カラーラインプリンタ(Color LP)302、その他ハードウエアリソース303などのエンジン部を制御するものであり、画像読み込みと印刷動作、状態通知、ジャムリカバリなどをおこなう。
具体的には、アプリケーション330から受け取ったジョブモードの指定にしたがい、印刷要求をSRM323に順次発行していくことで、一連のコピー/スキャン/印刷動作を実現する。このECS324が取り扱う対象のジョブは、画像入力デバイスにスキャナ(SCANNER)が指定されているか、または、画像出力デバイスにプロッタ(PLOTTER)が指定されているものとする。
たとえば、コピー動作の場合には「SCANNER → PLOTTER」と指定され、ファイル蓄積の場合には「SCANNER → MEMORY」と指定され、ファクシミリ送信の場合には「SCANNER → FAX_IN」と指定される。また、蓄積ファイル印刷またはプリンタアプリ311からの印刷の場合には「MEMORY → PLOTTER」と指定され、ファクシミリ受信の場合には「FAX_OUT → PLOTTER」と指定される。
なお、ジョブの定義はアプリケーションによって異なるが、ここでは利用者が取り扱う1セットの画像群に対する処理動作を1ジョブと定義する。たとえば、コピーのADF(Automatic Document Feeder)モードの場合は、原稿台に置かれた1セットの原稿を読み取る動作が1ジョブとなり、圧板モードは最終原稿が確定するまでの読み取り動作が1ジョブとなる。また、コピーアプリ312の場合には、一束の原稿をコピーする動作が1ジョブとなり、ファックスアプリ313の場合には、1文書の送信動作または1文書の受信動作が1ジョブとなり、プリンタアプリ311の場合には、1文書の印刷動作が1ジョブとなる。
MCS325は、メモリ制御をおこなうものであり、具体的には、画像メモリの取得および開放、ハードディスク装置(HDD)の利用、画像データの圧縮および伸張などをおこなう。
ここで、ハードディスク装置に蓄積される画像データファイルとして必要な情報を管理するために必要な機能としては、(1)ファイルアクセス(生成/削除/オープン/クローズ)機能(排他処理を含む)、(2)ファイル名称/ID管理(ファイル/ユーザ)/パスワード管理/蓄積時刻管理/ページ数/データフォーマット(圧縮方式など)/アクセス制限/作成アプリ/印刷条件管理などの各種ファイル属性管理(物理的なページ単位の画像データのファイルとしての管理)、(3)ファイル単位およびページ単位での結合/挿入/切断機能、(4)ファイルソート機能(蓄積時刻順/ユーザID順など)、(5)全ファイル情報の通知(表示/検索用)、(6)リカバリ機能(破損ファイルのファイル/ページ破棄)、(7)ファイルの自動削除機能などがある。
また、RAMなどのメモリへ画像データを保持しアクセスするための機能としては、(1)アプリケーション330からのファイルおよびページ/バンド属性情報を取得する機能、(2)アプリケーション330からの画像データ領域の確保、解放、リード(Read)、ライト(Write)機能などがある。
OCS326は、オペレータと本体制御間の情報伝達手段となる操作パネルを制御するモジュールであり、オペレータのキー操作イベントを本体制御に通知する処理、各アプリがGUIを構築するためのライブラリ関数を提供する処理、構築されたGUI情報をアプリ別に管理する処理、操作パネル上への表示反映処理などをおこなう。
このOCS326は、(1)GUI構築のためのライブラリの提供機能、(2)操作部ハードウエア資源管理機能、(3)VRAM描画/LCD表示機能(ハードウエア表示、表示アプリ切替、表示言語切替、ウインドウ暗色表示、メッセージ/アイコンブリンク表示、メッセージの連結表示)、(4)ハードキー入力検出機能、(5)タッチパネルキー入力検出機能、(6)LED出力機能、(7)ブザー出力機能などを有する。
FCS327は、システムコントローラの各アプリ層からPSTN/ISDN網を使ったファクシミリ送受信、BKM(バックアップSRAM)で管理されている各種ファクシミリデータの登録/引用、ファクシミリ読み取り、ファクシミリ受信印刷、融合送受信をおこなうためのAPIを提供するものである。
具体的には、このFCS327は、(1)アプリ層から送信依頼されたドキュメントをPSTN/ISDN網を使ってファクシミリ受信機に送信をおこなう送信機能、(2)PSTN/ISDN網から受信したファクシミリ受信画面、各種レポート類を各アプリ層に転送、印刷をおこなう受信機能、(3)ファックスボードに記憶されている電話帳、グループ情報などのファクシミリ管理項目の引用や登録をおこなう電話帳引用・登録機能、(4)ファックスボードに搭載されているBKMに記憶されている送受信結果履歴情報などを必要としているアプリに通知するファックスログ通知機能、(5)ファックスボードの状態変化があったときにFCSに登録してあるアプリに変化のあったイベントを通知するイベント通知機能などを有する。
NCS328は、ネットワークI/Oを必要とするアプリケーションに対して共通に利用できるサービスを提供するためのモジュール群であり、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分けたり、アプリケーションからデータをネットワーク側に送信する際の仲介をおこなう。具体的には、ftpd、httpd、lpd、snmpd、telnetd、smtpdなどのサーバデーモンや、同プロトコルのクライアント機能などを有する。
UCS329は、図示しないユーザデータベース等により複合機300を使用するユーザ情報の管理を行うプロセスであり、要求に応じたユーザ情報が格納されている記憶装置を判定し、判定した記憶装置からユーザ情報を取得して各アプリケーションに供給する処理を行う。
アプリケーション330は、ページ記述言語(PDL)、PCLおよびポストスクリプト(PS)を有するプリンタ用のアプリケーションであるプリンタアプリ311と、コピー用アプリケーションであるコピーアプリ312と、ファクシミリ用アプリケーションであるファックスアプリ313と、スキャナ用アプリケーションであるスキャナアプリ314と、ネットファイル用アプリケーションであるネットファイルアプリ315と、工程検査用アプリケーションである工程アプリ316とを有する。各アプリケーション311〜316は、プラットホーム320上の各プロセスを利用して動作実行し得るため、画面制御、キー操作制御およびジョブ生成などをおこなう画面表示制御プログラムがその主体となる。なお、NCS328により接続されたネットワークを介して新たなアプリケーションをネットワーク経由で搭載することもできる。また、各アプリケーションはアプリケーションごとに追加または削除することができる。なお、工程アプリ316の詳細については後述する。
このように、この複合機300は、従来の複合機のようにプリンタ、コピー、ファクシミリといった機能ごとにコントローラボードを設けたものではなく、プリンタアプリ、コピーアプリ、ファクシミリアプリを単純に共通OS上で動作させるものでもない。すなわち、この複合機300は、各アプリで共通的に必要となる処理をプラットホーム320で一元的に処理することにより、各アプリの開発効率を向上させるとともに、装置全体の生産性を高めるものである。
次に、複合機300のアプリケーション330として動作する工程アプリ316について説明する。図6は、工程アプリ316の機能的構成を示すブロック図である。工程アプリ316は、図6に示すように、動作定義ファイル管理部601と、設定管理部602と、UCSデータ設定部603と、FCSデータ設定部605と、PJL設定部606とを備えている。
動作定義ファイル管理部601は、外部記憶媒体180から動作定義ファイル150を読み出して、動作定義ファイル150の解析を行い、動作定義ファイル150に記述されたコマンドを実行するものである。設定管理部602は、設定1モードの設定データの設定、書き込み、実行を行うものである。UCSデータ設定部603は、LDAPサーバの設定、管理者情報の設定などのUCSデータ設定を行うものである。FCSデータ設定部605は、FAX設定やFAX機能検査などのFCSデータ設定を行うものである。PJL設定部606は、外部記憶媒体180に記憶されたPJLコマンドファイル160を読み出して解析し、PJLコマンドファイル160に記述されているPJLコマンドを実行するとともに、プリント動作を行うものである。
次に、以上のように構成された本実施の形態の動作定義ファイル生成装置100による動作定義ファイル150およびPJLコマンドファイル160の生成処理について説明する。図7は、動作定義ファイル150およびPJLコマンドファイル160の生成処理の手順を示すフローチャートである。
まず、動作定義ファイル生成装置100の動作定義ファイル生成部110の入力部111は、利用者からの設定データファイル140の指定を受け付ける(ステップS11)。これにより、指定された設定データファイル140の各項目や設定データの入力が表示装置(不図示)に表示され、利用者はこの画面で、図2〜4で説明した各設定項目や設定データの入力を行う。そして入力が完了したら、設定データファイル140を保存して動作定義ファイル150およびPJLコマンドファイル160の作成指示を行う。
動作定義ファイル150およびPJLコマンドファイル160の作成指示があった場合には、生成部115は、HDD等に一時作業用に、空の動作定義ファイル150と空のPJLコマンドファイル160を生成する(ステップS12)。そして、生成部115は、動作定義ファイル150とPJLコマンドファイル160にそれぞれヘッダを出力する(ステップS13)。ここで、ヘッダは、各ファイルの定型的な記載である。
次に、生成部115は、動作定義ファイル150およびPJLコマンドファイル160それぞれの本体部に対するコマンド出力処理を実行する(ステップS14)。
図8は、コマンド出力処理の手順を示すフローチャートである。まず、判断部112は設定データファイル140のシートがコマンド出力対象であるか否かを、シート名等から調べる(ステップS31)。
そして、判断部112は、シートから1行読み込んで(ステップS32)、Internal列に設定データ(値)が設定されているか否かを調べる(ステップS33)。そして、Internal列に設定データ(値)が設定されていない場合には(ステップS33:No)、ステップS32に戻り次の行を1行読み込む。
一方、Internal列に設定データ(値)が設定されている場合には(ステップS33:Yes)、判断部112は、Confi1列またはAPI列に設定データ(値)が設定されているか否かを調べる(ステップS34)。
そして、Confi1列またはAPI列に設定データ(値)が設定されている場合には(ステップS34:Yes)、判断部112は、当該行がコマンド出力対象の行か否かを調べる(ステップS35)。
そして、当該行がコマンド出力対象の行でない場合には(ステップS35:No)、ステップS32に戻り次の行を1行読み込む。一方、当該行がコマンド出力対象の行である場合には(ステップS35:Yes)、判断部112は、設定データ型(DataType)の内容からコマンドの設定値の記述方法を決定する(ステップS36)。そして、生成部115は、設定1モード用のコマンド(APIの設定1動作要求)およびAPIコマンドを生成し(ステップS37)、動作定義ファイル150に出力する(ステップS38)。
ステップS34に戻り、Confi1列またはAPI列に設定データ(値)が設定されていないと判断された場合には(ステップS34:No)、判断部112はPJL列に設定データ(値)が設定されているか否かを調べる(ステップS40)。
そして、PJL列に設定データ(値)が設定されていない場合には(ステップS40:No)、ステップS32に戻り次の行を1行読み込む。一方、PJL列に設定データ(値)が設定されている場合には(ステップS40:Yes)、生成部115は、PJLコマンドを生成して(ステップS41)、PJLコマンドファイル160に出力する(ステップS42)。
そして、ステップS32からS42までの処理を設定データファイル140の全ての行に対して繰り返し実行することにより(ステップS39)、設定データファイル140の内容に基づいて本体部のコマンドがすべて生成されることになる。ここで、本体部は設定データを指定する。
図7に戻り、コマンド出力処理が完了したら、生成部115は、動作定義ファイル150とPJLコマンドファイル160にそれぞれフッタを出力する(ステップS15)。ここで、動作定義ファイル150のフッタは、複合機300の工程アプリ316の動作を定義する記述であり、PJLコマンドファイル160のフッタは定型的な記述である。
これにより、動作定義ファイル150とPJLコマンドファイル160の全ての内容が生成されたことになる。
図9〜図11は、生成された動作定義ファイル150の一例を示す説明図である。図9は、動作定義ファイル150のヘッダの例を示し、図10は動作定義ファイル150の本体部の例を示し、図11は、動作定義ファイル150のフッタの例を示している。
また、図12は、生成されたPJLコマンドファイル160の構造の一例を示す説明図である。図12に示すように、PJLコマンドファイル160は、ヘッダ、本体部、フッタから構成される。
図7に戻り、動作定義ファイル150とPJLコマンドファイル160が生成されたら、暗号化処理部113は、これらを暗号化するための暗号化キーを生成する(ステップS16)。そして、暗号化処理部113は、生成された暗号化キーを用いて、動作定義ファイル150とPJLコマンドファイル160とを暗号化し(ステップS17)、HDD等の記憶媒体に保存する出力処理を行う(ステップS18)。
次に、保存部114は、記憶媒体に保存されている暗号化された動作定義ファイル150およびPJLコマンドファイル160を外部記憶媒体180に書き込む(ステップS19)。これにより、海外の販売会社へ送付するリリース用の外部記憶媒体180が作成されたことになる。
次に、管理部120による設定データファイル140の処理について説明する。上述したように設定データファイル140はすべてのデータを表示することができたが、開発用で作成した設定データファイル140の一部のデータを非表示にしてリリースしたい場合がある。このような場合には、管理部120は設定データファイル140の一部のデータを表示化する。
図13は、管理部120による設定データファイル140の表示化処理の手順を示すフローチャートである。まず、管理部120は、開発用の設定データファイル140の指定を受け付ける(ステップS61)。
そして、管理部120は、指定された設定データファイル140のGeneralシートの予め定められた設定項目や設定データをマクロ等を利用して非表示化する(ステップS62)。次に、管理部120は、設定データファイル140の設定値入力シートの予め定められた設定項目や設定データをマクロ等で表示化する(ステップS63)。次に、管理部120は、設定データファイル140のDataシートの予め定められた設定項目や設定データをマクロ等で表示化する(ステップS64)。
次に、管理部120は、設定データファイル140のブック全体の保護を行い(ステップS65)、これにより生成された設定データファイル140をリリース用としてHDD等の記憶媒体に保存する(ステップS66)。これにより、一部の設定項目や設定データを非表示にしたリリース用の設定データファイル140が生成されることになる。なお、表示化する設定項目や設定データについては予め任意に定めておけばよい。
次に、以上のように生成された外部記憶媒体180を用いた複合機300の設定処理について説明する。図14は、動作定義ファイル150に設定1モードの設定データが設定されていた場合の設定処理のシーケンス図である。
まず、動作定義ファイル管理部601は、外部記憶媒体180から動作定義ファイル150を読み込む(ステップS81)。このとき、動作定義ファイル150が暗号化されていれば復号化処理を行う。
そして、動作定義ファイル管理部601は、動作定義ファイル150に設定1モードの設定データがある場合には、その設定1モードの設定データを反映すべき旨の設定1動作要求コマンドを設定管理部602に送出する(ステップS82)。設定1動作要求コマンドを受け取った設定管理部602は、動作定義ファイル150に設定されたAPIの設定1動作要求をSCS322に対して発行する(ステップS83)。これにより、SCS322により設定1モードの設定データが反映される。
その後、SCS322は、設定管理部602に設定1動作要求に対する応答を返し(ステップS84)、これを受け取った設定管理部602は、動作定義ファイル管理部601に設定1動作要求コマンドに対する応答を返す(ステップS85)。これにより、動作定義ファイル管理部601は、SCS322により設定1モードの設定が複合機300に反映されたことを知ることになる。
図15は、動作定義ファイル150にAPIの設定データ(LDAPサーバ設定)が設定されていた場合の設定処理のシーケンス図である。
まず、動作定義ファイル管理部601は、外部記憶媒体180から動作定義ファイル150を読み込む(ステップS101)。このとき、動作定義ファイル150が暗号化されていれば復号化処理を行う。
そして、動作定義ファイル管理部601は、動作定義ファイル150にAPIのLDAPサーバ設定のための設定データがある場合には、そのLDAPサーバ設定のための設定データを反映すべき旨のLDAPサーバ設定要求コマンドをUCSデータ設定部603に送出する(ステップS102)。LDAPサーバ設定要求コマンドを受け取ったUCSデータ設定部603は、動作定義ファイル150に設定されたAPIのLDAPサーバ情報設定要求をUCS329に対して発行する(ステップS103)。これにより、UCS329によりLDAPサーバ情報の設定データが反映される。
その後、UCS329は、UCSデータ設定部603にLDAPサーバ情報設定要求に対する応答を返し(ステップS104)、これを受け取ったUCSデータ設定部603は、動作定義ファイル管理部601にLDAPサーバ設定要求コマンドに対する応答を返す(ステップS105)。これにより、動作定義ファイル管理部601は、UCS329によりLDAPサーバ情報の設定が複合機300に反映されたことを知ることになる。
図16は、動作定義ファイル150にAPIの設定データ(FAX設定)が設定されていた場合の設定処理のシーケンス図である。
まず、動作定義ファイル管理部601は、外部記憶媒体180から動作定義ファイル150を読み込む(ステップS121)。このとき、動作定義ファイル150が暗号化されていれば復号化処理を行う。
そして、動作定義ファイル管理部601は、動作定義ファイル150にAPIのFAX設定のための設定データがある場合には、そのFAX設定のための設定データを反映すべき旨のFAX設定要求コマンドをFCSデータ設定部605に送出する(ステップS122)。FAX設定要求コマンドを受け取ったFCSデータ設定部605は、動作定義ファイル150に設定されたAPIのFAX情報設定要求をFCS327に対して発行する(ステップS123)。これにより、FCS327によりFAX情報の設定データが反映される。
その後、FCS327は、FCSデータ設定部605にFAX情報設定要求に対する応答を返し(ステップS124)、これを受け取ったFCSデータ設定部605は、動作定義ファイル管理部601にFAX設定要求コマンドに対する応答を返す(ステップS125)。これにより、動作定義ファイル管理部601は、FCS327によりFAX情報の設定が複合機300に反映されたことを知ることになる。
図17は、PJLコマンドファイル160に従った設定処理のシーケンス図である。まず、動作定義ファイル管理部601は、外部記憶媒体180からPJLコマンドファイル160を読み込む(ステップS141)。このとき、PJLコマンドファイル160が暗号化されていれば復号化処理を行う。
そして、動作定義ファイル管理部601は、PJLコマンドファイル160に設定されたPJLコマンドの設定データを複合機300に反映すべき旨のPJL設定要求コマンドをPJL設定部606に送出する(ステップS142)。PJL設定要求コマンドを受け取ったPJL設定部606は、PJLコマンドファイル160に設定されたPJLコマンドを指定したファイル転送処理のAPIコマンドをNCS328に対して発行する(ステップS143)。これを受け取ったNCS328は、PJL設定部606にAPI戻り値を返し(ステップS144)、次いで、PJLコマンドをプリンタアプリ311にファイル転送する(ステップS145)。プリンタアプリ311では、ファイル転送されたPJLコマンドを実行して、PJLコマンドファイル160に従った設定を複合機300に対して反映する。
API戻り値を受信したPJL設定部606は、動作定義ファイル管理部601にPJL設定要求コマンドに対する応答を返す(ステップS146)。これにより、動作定義ファイル管理部601は、プリンタアプリ311によりPJLコマンドによる印刷設定が複合機300に反映されたことを知ることになる。
このように本実施の形態では、複合機300で設定する設定項目の設定データを定義した設定データファイル140の設定データに基づいて、動作定義ファイル150とPJLコマンドファイル160を生成して、生成された動作定義ファイル150とPJLコマンドファイル160を外部記憶媒体180に保存し、これらのファイルに従って複合機300に設定データを反映しているので、複合機300の設定作業の労力を軽減するとともに作業時間の短縮化を図ることができる。
また、本実施の形態では、このように労力を軽減して大幅な時間を要せずに動作定義ファイル150とPJLコマンドファイル160を生成でき、かつこのような動作定義ファイル150とPJLコマンドファイル160を保存した外部記憶媒体180を複合機300に装着して起動するだけで複合機300の設定作業が行えるので、海外において大量の台数の複合機300を出荷する場合においても、海外の現地のみで容易に設定作業を行うことができる。
さらに、本実施の形態では、動作定義ファイル150とPJLコマンドファイル160を外部記憶媒体180に保存する際に暗号化して保存し、複合機300で設定処理を行う際に復号化をしているので、外部記憶媒体180の配送中に不正な第三者が動作定義ファイル150とPJLコマンドファイル160の内容を傍受することを防止することができ、セキュリティを強化することができる。
(実施の形態2)
実施の形態1では、設定データファイル140の入力から動作定義ファイル150とPJLコマンドファイル160の生成を単一の動作定義ファイル生成装置100で実行していたが、この実施の形態2では、動作定義ファイル150とPJLコマンドファイル160の生成をインターネット上のWEBサーバ上で行うものである。
図18は、実施の形態2の動作定義ファイル生成システムのネットワーク構成を示す説明図である。図18に示すように、本実施の形態の動作定義ファイル生成システムは、PC(Personal Computer)2310とWEBサーバ2330とがインターネット2320等のネットワークに接続された構成となっている。
PC2310は、CPU、メモリ、HDD等の記憶媒体を備えた通常のコンピュータの構成であり、HDD等の記憶媒体には、設定データファイル140が保存されている。また、WEBサーバ2330で生成された動作定義ファイル150とPJLコマンドファイル160を受信して上記記憶媒体に保存する。また、PC2310は、外部記憶媒体インタフェース(不図示)を備えており、この動作定義ファイル150とPJLコマンドファイル160を外部記憶媒体180に格納する。
WEBサーバ2330には、WEBアプリとしての動作定義ファイル生成アプリ2331が動作しており、この動作定義ファイル生成アプリ2331が、PC2310から設定データファイル140を受信して、実施の形態1と同様の手順で動作定義ファイル150とPJLコマンドファイル160を生成し、PC2310に送信する。動作定義ファイル生成アプリ2331の機能的構成は、実施の形態1の動作定義ファイル生成部110と同様である。なお、WEBサーバ2330は、CPU、メモリ、HDD等の記憶媒体を備えた通常のコンピュータの構成である。
図19は、実施の形態2の動作定義ファイル150およびPJLコマンドファイル160の生成処理の流れを示すシーケンス図である。まず。PC2310で利用者が設定データファイル140を実施の形態1と同様に生成し(ステップS161)、生成された設定データファイル140を、インターネット2320を介してWEBサーバ2330に送信する(ステップS162)。
WEBサーバ2330では、この設定データファイル140を受信すると、動作定義ファイル生成アプリ2331を起動し、動作定義ファイル生成アプリ2331により設定データファイル140の内容から動作定義ファイル150とPJLコマンドファイル160とを生成する(ステップS163)。具体的な生成処理については実施の形態1と同様に行われる。
そして、動作定義ファイル生成アプリ2331は、生成した動作定義ファイル150とPJLコマンドファイル160をPC2310に送信する(ステップS164)。PC2310では、受信した動作定義ファイル150とPJLコマンドファイル160を外部記憶媒体180に登録する(ステップS165)。
このように本実施の形態では、動作定義ファイル150とPJLコマンドファイル160の生成をWEBサーバ2330で行っているので、設定データファイル140の作成担当者が多数存在する場合でも、作成担当者ごとのPCに動作定義ファイル生成ツールをインストールする必要がなくなり、作業効率を向上させることができる。
また、本実施の形態では、動作定義ファイル150とPJLコマンドファイル160の生成をWEBサーバ2330に行わせており、動作定義ファイル生成アプリ2331がWEBアプリであるので、動作定義ファイル生成アプリ2331の開発が容易なものとなる。
(実施の形態3)
実施の形態2では、設定データファイル140をPC2310で保持し、動作定義ファイル150とPJLコマンドファイル160の生成をWEBサーバ2330で行い、生成された動作定義ファイル150とPJLコマンドファイル160を、PC2310で受信していたが、この実施の形態3では、設定データファイル140をWEBサーバで保持するものである。
図20は、実施の形態3の動作定義ファイル生成システムのネットワーク構成を示す説明図である。図20に示すように、本実施の形態の動作定義ファイル生成システムは、PC2510とWEBサーバ2530とがインターネット2320等のネットワークに接続された構成となっている。
PC2510は、CPU、メモリ、HDD等の記憶媒体を備えた通常のコンピュータの構成であり、WEBサーバ2530の設定データファイル140にActiveX(R)等の技術を用いて設定項目や設定データを入力し、これに基づきWEBサーバ2530で生成された動作定義ファイル150とPJLコマンドファイル160を受信してHDD等の記憶媒体に保存する。また、PC2510は、外部記憶媒体インタフェース(不図示)を備えており、この動作定義ファイル150とPJLコマンドファイル160を外部記憶媒体180に格納する。
WEBサーバ2530は、設定データファイル140をHDD等の記憶媒体に格納している。また、WEBサーバ2530には、WEBアプリとしての動作定義ファイル生成アプリ2531が動作しており、この動作定義ファイル生成アプリ2531が、実施の形態1と同様の手順で動作定義ファイル150とPJLコマンドファイル160を生成し、PC2510に送信する。動作定義ファイル生成アプリ2531の機能的構成は、実施の形態1の動作定義ファイル生成部110と同様である。なお、WEBサーバ2530は、CPU、メモリ、HDD等の記憶媒体を備えた通常のコンピュータの構成である。
図21は、実施の形態3の動作定義ファイル150およびPJLコマンドファイル160の生成処理の流れを示すシーケンス図である。まず、PC2510で利用者がWEBサーバ2530に対して設定データ等の入力を行う(ステップS181)。これに基づき、WEBサーバ2530では設定データファイル140を生成する(ステップS182)。
次に、WEBサーバ2530では、この設定データファイル140が生成されると、動作定義ファイル生成アプリ2531を起動し、動作定義ファイル生成アプリ2531により設定データファイル140の内容から動作定義ファイル150とPJLコマンドファイル160とを生成する(ステップS183)。具体的な生成処理については実施の形態1と同様に行われる。
そして、動作定義ファイル生成アプリ2531は、生成した動作定義ファイル150とPJLコマンドファイル160をPC2510に送信する(ステップS184)。PC2510では、受信した動作定義ファイル150とPJLコマンドファイル160を外部記憶媒体180に登録する(ステップS185)。
このように本実施の形態では、実施の形態2と同様の効果を有する他、設定データファイル140もWEBサーバ2530上に記憶しているので、設定データファイル140が拡張した場合にも容易に反映させることが可能となる。
上述した実施の形態1〜3では、動作定義ファイル150とPJLコマンドファイル160とを、外部記憶媒体I/F130を介して外部記憶媒体180に保存しているが、これに限定されるものではなく、USBメモリ等の他の記憶媒体に保存するように構成してもよい。
実施の形態1の動作定義ファイル生成装置100、実施の形態2,3の動作定義ファイル生成アプリ2331,2531で実行される動作定義ファイル生成プログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
また、実施の形態1の動作定義ファイル生成装置100、実施の形態2,3の動作定義ファイル生成アプリ2331,2531で実行される動作定義ファイル生成プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、実施の形態1の動作定義ファイル生成装置100、実施の形態2,3の動作定義ファイル生成アプリ2331,2531で実行される動作定義ファイル生成プログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
また、実施の形態1の動作定義ファイル生成装置100、実施の形態2,3の動作定義ファイル生成アプリ2331,2531で実行される動作定義ファイル生成プログラムを、ROM等に予め組み込んで提供するように構成してもよい。
実施の形態1の動作定義ファイル生成装置100、実施の形態2,3の動作定義ファイル生成アプリ2331,2531で実行される動作定義ファイル生成プログラムは、上述した各部(入力部111、判断部112、生成部115、暗号化処理部113、保存部114)を含むモジュール構成となっており、実際のハードウエアとしてはCPU(プロセッサ)が上記記憶媒体から動作定義ファイル生成プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、入力部111、判断部112、生成部115、暗号化処理部113、保存部114が主記憶装置上に生成されるようになっている。
なお、本発明は、上記実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施の形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施の形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施の形態にわたる構成要素を適宜組み合わせても良い。