(57)【要約】【課題】  複数の機器の機能を一括して実行できる簡便な統合プログラムの作成に於いて、複数の複合機能の統合プログラムの作成を容易にするエディタプログラムを得ること。【解決手段】  統合機能表示手段（図示しない制御プログラム）が画像ブロック５、３８、３１、２５、１７と接続線６０、６２、７５、８２を所定の行列空間に視覚的に表示し、この表示に基づいて統合プログラム作成手段（図示しない制御プログラム）がプログラムの処理順を特定するプログラムリストを作成する。【選択図】        図６
2007272809.tif 000002
【特許請求の範囲】
【請求項１】
複数の機器の機能を統合するエディタプログラムであって、
前記複数の機器の機能を特定する前記複数の機器毎の画像ブロックと該画像ブロック間の接続とを所定の行列空間に視覚的に表示する統合機能表示手段と、
該統合機能表示手段の表示に基づいて、前記複数の機器の機能を制御するプログラムを特定し、該プログラムの処理順を特定するプログラムリストを作成する統合プログラム作成手段とを備えることを特徴とするエディタプログラム。
【請求項２】
前記複数の機器の機能を制御するプログラムのプログラム名、プログラムコマンド、前記プログラムコマンドに付加するプログラム因数名情報、プログラム因数コード設定値情報、プログラム因数コード初期値情報、プログラム入力ファイルデータ拡張子情報、プログラム出力ファイルデータ拡張子情報のうち少なくとも１つのプログラム属性情報を保持する情報蓄積手段を更に備え、
前記統合機能表示手段は、
前記情報蓄積手段が保持するプログラム属性情報の内、少なくとも１つのプログラム属性情報を読み出して前記画像ブロックに視覚的に表示し、
前記統合プログラム作成手段は、
前記プログラムのファイルデータを出力する側を上流として、前記画像ブロックの接続状態に対応する前記プログラムリストを作成することを特徴とする請求項１に記載のエディタプログラム。
【請求項３】
前記統合機能表示手段は、
前記複数の機器毎の画像ブロックに、前記プログラム属性情報の設定または変更可能な操作画面を生成するプログラム属性情報の設定・変更手段を持つことを特徴とする請求項１または請求項２に記載のエディタプログラム。
【請求項４】
前記統合機能表示手段は、
第１の画像ブロックを配置すると、前記プログラム因数コード初期値を視覚化した第２の画像ブロックを、前記第１の画像ブロック近傍に配置して接続することを特徴とする請求項３に記載のエディタプログラム。
【請求項５】
前記統合機能表示手段は、
前記行列空間上で接続された一対の前記画像ブロック間で、上流側の出力ファイルデータ拡張子Ａが、下流側の入力ファイルデータ拡張子Ｂと異なる場合、前記情報蓄積手段から、前記入力ファイルデータ拡張子が前記出力ファイルデータ拡張子Ａと一致し、且つ前記出力ファイルデータ拡張子が前記入力ファイルデータ拡張子Ｂと一致するプログラムＤを検索し、前記行列空間に前記プログラムＤに対応する前記画像ブロックを表示することを特徴とする請求項１から請求項４の何れか一項に記載のエディタプログラム。
【請求項６】
前記統合機能表示手段は、前記画像ブロックの寸法に対応し、前記行列空間の寸法を変更することを特徴とする請求項１から請求項５の何れか一項に記載のエディタプログラム。
【請求項７】
前記統合機能表示手段は、前記プログラム因数コードを設定可能な操作画面を作成することを特徴とする請求項１から請求項６の何れか一項に記載のエディクタプログラム。
【請求項８】
前記情報蓄積手段は、ネットワークを通じて所定のプログラムを追加・変更可能であることを特徴とする請求項２に記載のエディタプログラム。
【請求項９】
請求項１から請求項８までの何れか一項に記載のエディタプログラムを記録したコンピュータ読取可能な記録媒体。
【請求項１０】
請求項１から請求項９までの何れか一項に記載のエディタプログラムを用いることを特徴とする機器操作支援システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数機器の機能を統合するエディタプログラムと該エディタプログラムを記録したコンピュータ読取可能な記録媒体、及び該エディタプログラムを用いた機器操作支援システムに関する。
【背景技術】
【０００２】
接続される複数の機器の操作を簡便に行うために、複数機器の機能を統合した統合機能一覧を予め有し、該統合機能一覧に基づいて選択された統合機能を実行させる機器操作支援装置の技術が開示されている（特許文献１参照）。
【特許文献１】特開平０７−２８４１６４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上記従来の技術では、統合機能の一覧をユーザが作成及び編集することが困難であった。かかる課題を解決し、ユーザによる統合機能の一覧の作成及び編集が簡便である機器操作支援エディタプログラムを提供することが、本発明の目的である。
【課題を解決するための手段】
【０００４】
本発明は、複数の機器の機能を統合するエディタプログラムであって、上記複数の機器の機能を特定する上記複数の機器毎の画像ブロックと該画像ブロック間の接続とを所定の行列空間に視覚的に表示する統合機能表示手段と、該統合機能表示手段の表示に基づいて、上記複数の機器の機能を制御するプログラムを特定し、該プログラムの処理順を特定するプログラムリストを作成する統合プログラム作成手段とを備えることを主要な特徴とする。
【発明の効果】
【０００５】
本発明では、統合機能表示手段が複数の機器の機能を特定する複数の機器毎の画像ブロックと該画像ブロック間の接続とを所定の行列空間に視覚的に表示するので、データの枝分かれを表現でき、複数の複合機能を一括して実行する簡便な統合プログラムの作成及び編集が容易になるという効果をえる。又、画像ブロックの位置がまとまり、見た目にわかりやすく、画像ブロック間のファイルの流れが明確になり、統合プログラムのバグ低減が期待できるという効果を得る。
【実施例１】
【０００６】
本実施例では、一例としてスキャナで画像を取り込み、スキャンデータを出力させ、スキャンデータを文字変換してコンピュータに保存する機能と、スキャンデータをプリンタで印刷する機能とを統合したプログラム（以下、統合プログラム）を作成する機器操作支援システムの構成について説明する。
【０００７】
図１は、実施例１のシステム構成を示すブロック図である。
図に示すように、実施例１の機器操作支援システムは、ディスプレイ１０８と、コンピュータ９８と、キーボード１０５と、スキャナ１０６と、プリンタ１０７とを含む。
【０００８】
コンピュータ９８は、ＣＰＵ９９、メモリ１００、グラフィックコントローラ１０１、ＨＤＤである情報蓄積手段１０２、インターフェース１０３、グラフィックメモリ１０４を備える。コンピュータ９８は、グラフィックコントローラ１０１を通じディスプレイ１０８と接続され、インターフェース１０３を通じキーボード１０５及びスキャナ１０６及びプリンタ１０７と接続されている。
【０００９】
ＣＰＵ９９は、情報蓄積手段１０２内に格納されたプログラムに従い、各部の動作を制御するマイクロプロセッサである。メモリ１００は、ＣＰＵ９９が装置の制御と演算処理の作業に用いる記憶領域である。グラフィックコントローラ１０１は、グラフィックメモリ１０４の内容をディスプレイ１０８に映し出す部分である。グラフィックメモリ１０４は、後に説明するプログラム選択ウィンドウ１、配置配線ウィンドウ４４、表示部品選択ウィンドウ１２８、操作画面作成ウィンドウ１３６の、合計４つのウィンドウを予め格納するメモリである。情報蓄積手段１０２は、プログラム及び統合プログラムを蓄積するメモリである。本実施例では、情報蓄積手段１０２は一例としてコンピュータ９８内に存在するが、ネットワークを通じて、コンピュータ９８外部に存在しても構わない。
【００１０】
インターフェース１０３は、コンピュータ９８と外部機器を中継するインターフェース回路である。本実施例のエディタプログラムは、プログラム選択ウィンドウ１、配置配線ウィンドウ４４、表示部品選択ウィンドウ１２８、操作画面作成ウィンドウ１３６の、合計４つのウィンドウを持つ。この４つのウィンドウは、グラフィックメモリ１０４に格納されており、ユーザによる統合プログラムを作成時にはグラフィックコントローラ１０１によってディスプレイ１０８に一括表示される。ユーザは、一括表示された４つのウィンドウを観ながら、キーボード１０５で操作を行い、上記複数の機器の機能を特定することが可能になる。
【００１１】
本実施例の説明に当って最初にこれら４つのウィンドウの内容について説明する。
本発明では、ユーザがディスプレイ１０８上に一括して映し出されるこれら４つのウィンドウをキーボード１０５（図１）のカーソルキーとキーボード１０５（図１）のスペースキーとを用いて画面操作し、所望する機能をディスプレイ１０８上で視覚的に統合し、その結果に基づいて、ＣＰＵ９９が統合プログラムを作成すること特徴としている。以下にウィンドウの構成、及び所望事項の設定について説明する。
【００１２】
図２は実施例１のプログラム選択ウィンドウの説明図である。
図に示すように、プログラム選択ウィンドウ１は、スキャナ１０６（図１）とプリンタ１０７（図２）が、それぞれ有する複数の機能の中からコンピュータ９８が実行するプログラムをユーザ要求に基づいて選択するためのウィンドウである。プログラム選択ウィンドウ１は子ウィンドウとして、スキャナウィンドウ２、プリンタウィンドウ１４、コンピュータウィンドウ２１を持つ。
【００１３】
スキャナウィンドウ２は、機器名３、アイコン４、スキャナ１０６のスキャン機能を視覚化した画像ブロック５、スキャナ１０６が持つ機能を実行するプログラムのプログラム名６、スキャン機能実行時に設定するパラメータ名“ＤＰＩ”を表示したパラメータ入力端子７、パラメータ名“ファイル名”を表示したパラメータ入力端子８、スキャン機能実行時に出力するファイルの拡張子を表示した出力端子９、各種画像ブロック５、１７、２４、３１、３５、３８を選択する選択枠１０を持つ。
【００１４】
スキャナウィンドウ２（図２）の表示内容は、予め情報蓄積手段１０２（図１）に格納されているスキャナウィンドウ設定リストにユーザが所望する事項を入力または選択することによって設定される。
【００１５】
図３は、スキャナウィンドウ設定リストの説明図である。
スキャナウィンドウ設定リスト１５０は、コード１５１“／ＭＡＣＨＩＮＥ”〜コード１７３“／ＭＡＣＨＩＮＥ  ＥＮＤ”間でスキャナウィンドウ２の表示内容を設定するリストである。コード１５２“ＭＮＡＭＥ”で機器名３が、コード１５３“ＭＰＩＣＴ”でアイコン４の画像ファイルが、それぞれ設定される。
【００１６】
コード１５７“ＦＵＮＣＴＩＯＮ”〜コード１７２“ＦＵＮＣＴＩＯＮ  ＥＮＤ”間をＦＵＮＣＴＩＯＮブロック１７４とし、ＦＵＮＣＴＩＯＮブロック１７４によって画像ブロック５（図２）の表示内容が設定される。コード１５８“ＦＮＡＭＥ”によってプログラム名６が、コード１５９“ＦＣＯＤＥ”によってＣＰＵ９９が情報蓄積手段１０２から読み出し実行するプログラムコマンドが設定される。コード１５４“ＯＵＴＰＵＴ＿ＦＩＬＥ＿ＥＸＴ”によって出力ファイルの拡張子名が設定される。出力ファイルの拡張子名は出力端子９に表示される。
【００１７】
コード１６２“／ＰＡＲＡＭＥＴＥＲ”〜コード１６６“／ＰＡＲＡＭＥＴＥＲ  ＥＮＤ”間でパラメータ入力端子７の条件が設定される。コード１６３“ＰＮＡＭＥ”によってパラメータ入力端子７で表示するパラメータ名が、コード１６４“ＰＣＯＤＥ”によってパラメータ入力端子７に入力可能な条件が、コード１６５“ＰＤＥＦＡＵＬＴ”によってパラメータ入力端子７に入力する初期値が設定される。“ＰＮＡＭＥ”が設定されているパラメータのみが、パラメータ入力端子として、画像ブロック５（図２）に表示される。
【００１８】
コード１７０“ＯＵＴＰＵＴ＿ＦＩＬＥ＿ＵＰ”はコード１５９“ＦＣＯＤＥ”で指定するプログラムが出力するファイルの拡張子を除いた出力ファイル名を設定する。コード１７１“ＰＣＯＤＥ”はコード１６９内の“ＰＣＯＤＥ”の値であり、ファイル名設定を設定する後述のパラメータブロック４８の記載をユーザが変更しない限り、コード１６９内の“ＰＤＥＦＡＵＬＴ”で指定された“ＸＸＸ”が入力される。後述のパラメータブロック４８の記載を更新した場合、その更新した記載内容がコード１７０“ＯＵＴＰＵＴ＿ＦＩＬＥ＿ＵＰ”に入力される。
【００１９】
ここで出力ファイル名作成の例について説明する。ＣＰＵ９９は、“ＯＵＴＰＵＴ＿ＦＩＬＥ＿ＵＰ＝ＰＣＯＤＥ”の設定から、同じＰＡＲＡＭＥＴＥＲブロック１６７内の“ＰＣＯＤＥ”の値を確認する。この時ユーザーが後述のパラメータブロックの記載を変更していないとして、“ＰＣＯＤＥ”の値は“ＸＸＸ”となる。“ＸＸＸ”が出力ファイルの拡張子を除いたファイル名となる。“ＯＵＴＰＵＴ＿ＦＩＬＥ＿ＥＸＴ＝ＪＰＧ”と設定しており、出力ファイルの拡張子は“ＪＰＧ”となる。合わせて出力ファイル名は“ＸＸＸ．ＪＰＧ”となる。この出力ファイル名は、統合プログラム作成時に用いられる。
【００２０】
また画像ブロックの行寸法は、デフォルトの行寸法、パラメータ数、入力ファイル拡張子数、出力ファイル拡張子数で決められる。画像ブロックの寸法は、配置配線ウィンドウ（後述）の行列空間の寸法変更時に用いられる。
【００２１】
以下に画像ブロックの寸法を決める一例として、画像ブロック５（図２）の寸法を決める手順を示す。
画像ブロックのデフォルト行寸法Ｌｙｄ、１文字の行方向寸法Ｌｙｃが予め設定されている。画像ブロックの行寸法をＬｙとする。画像ブロックの表示内容を決めるウィンドウ設定リストのＦＵＮＣＴＩＯＮブロックから、パラメータ数Ｎｐ、入力ファイル拡張子数Ｎｉｎ、出力ファイル拡張子数ＮｏｕｔをＣＰＵ９９が算出する。更にＣＰＵ９９は以下の計算を行う。
【００２２】
Ｎ＝ＭＡＸ（（Ｎｉｎ＋Ｎｐａｒａ）、Ｎｏｕｔ）・・・（２１０）
Ｌｙ＝ＭＡＸ（（Ｎ＊Ｌｙｃ）、Ｌｙｄ）・・・・・・・・（２１１）
“ＭＡＸ”は演算関数であり、ＭＡＸ（Ａ、Ｂ）と記載すると、ＡとＢを比較し大きい値を返す。式（２１０）において、Ｎには（Ｎｉｎ＋Ｎｐａｒａ）とＮｏｕｔを比較して大きい値を入力する。式（２１１）において、Ｌｙには（Ｎ＊Ｌｙｃ）とＬｙｄを比較して大きい値を入力する。ＣＰＵ９９はＬｙの寸法で、画像ブロックの外形を描画する。またここでは、画像ブロックの列寸法Ｌｘｄは一定である。ここには方法を記載しないが、列寸法を、パラメータの文字数、入力ファイル拡張子名の文字数、出力ファイル拡張子名の文字数から算出しても構わない。
【００２３】
画像ブロック５（図２）には、外形を描画した後、左上から順に、入力ファイル拡張子名、パラメータ名を、右上から出力ファイル拡張子名を配置する。入力ファイル拡張子名と、出力ファイル拡張子名の周りには、枠を描画し画像ブロック全体の描画とする。以上の様に、画像ブロックを、グラフィックで予め用意するのではなく、リストから作成するので、追加が容易であるという特徴を有する。
【００２４】
図２に戻って、プリンタウィンドウ１４は、機器名１５、アイコン１６、プリンタ１０７の印刷機能を視覚化した画像ブロック１７を持つ。画像ブロック１７は、プログラム名１８と、印刷機能を用いるために必要となる入力ファイルの拡張子を表示した入力端子１９を持つ。プリンタウィンドウ１４の表示内容は、予め情報蓄積手段１０２（図１）に格納されているプリンタウィンドウ設定リストにユーザが所望する事項を入力または選択することによって設定される。
【００２５】
図４は、プリンタウィンドウ設定リストの説明図である。
プリンタウィンドウ設定リスト２２１の内容は、スキャナウィンドウ設定リスト１５０とほぼ同一であり、同じ部分の説明は省く。コード２２２“ＩＮＰＵＴ＿ＦＩＬＥ＿ＥＸＴ”は、入力ファイルの拡張子名を設定し、入力ファイルの拡張子名は入力端子１９に表示される。コード２２３“ＩＮＰＵＴ＿ＦＩＬＥ”は入力ファイル名が入力される。
【００２６】
図２に戻って、コンピュータウィンドウ２１は、機器名２２、アイコン２３、コンピュータ９８が情報蓄積手段１０２に蓄積するプログラムを示す画像ブロック２５、３１、３５、３８を持つ。コンピュータ９８の印刷データ作成機能を視覚化した画像ブロック２５は、プログラム名２４、ファイル入力端子２６、ファイル出力端子２７、“ＤＰＩ”を設定するパラメータ入力端子２８、“印刷枚数”を設定するパラメータ入力端子２９、“用紙サイズ”を設定するパラメータ入力端子３０とで構成される。
【００２７】
コンピュータ９８のファイル保存機能を視覚化した画像ブロック３１は、プログラム名３２、ファイル入力端子３３、情報蓄積手段１０２内の保存先フォルダを設定するパラメータ入力端子３４で構成される。コンピュータ９８のファイル表示機能を視覚化した画像ブロック３５は、プログラム名３６、ファイル入力端子３７で構成される。コンピュータ９８の文字認識機能を視覚化した画像ブロック３８は、プログラム名３９、ファイル入力端子４０、ファイル出力端子４１で構成される。コンピュータウィンドウ
２１の表示内容は、予め情報蓄積手段１０２（図１）に格納されているコンピュータウィンドウ設定リストにユーザが所望する事項を入力または選択することによって設定される。
【００２８】
図５は、コンピュータウィンドウ設定リストの説明図である。
コンピュータウィンドウ２１の表示内容は、コンピュータウィンドウ設定リスト２２６で設定される。コンピュータウィンドウ設定リスト２２６の内容は、スキャナウィンドウ設定リスト１５０とほぼ同一であり、同じ部分の説明は省く。ＦＵＮＣＴＩＯＮブロック２２７は画像ブロック２５、ＦＵＮＣＴＩＯＮブロック２２９は画像ブロック３１、ＦＵＮＣＴＩＯＮブロック２３１は画像ブロック３５、ＦＵＮＣＴＩＯＮブロック２３２は画像ブロック３８の表示内容をそれぞれ設定する。スキャナウィンドウ設定リスト１５０と異なる部分として、コード２２８“ＮＵＭ”とコード２３０“ＣＨＡＲＡ”が記載されている。コード２２８“ＮＵＭ”は、“ＰＣＯＤＥ”  に設定可能な値が数字であることを示す。コード２３０“ＣＨＡＲＡ”は、“ＰＣＯＤＥ”に設定可能な値が文字列であることを示す。
【００２９】
図６は、実施例１の配置配線ウィンドウの説明図（その１）である。
配置配線ウィンドウ４４は、プログラムを視覚化した画像ブロックの接続関係を表す。ここでは、一例として、スキャナ１０６が出力するスキャンデータ内の文字をテキストデータに変換してコンピュータに保存する機能と、スキャンデータをプリンタに印刷するつまりコピー機能を統合したプログラムを表現している。スキャンデータ内の文字をテキストデータに変換し保存する機能は、配置配線ウィンドウ４４の、画像ブロック５、接続線６０、画像ブロック３８、接続線７５、画像ブロック３１で構成される。コピー機能は、画像ブロック５、接続線６２、画像ブロック２５、接続線８２、画像ブロック１７で構成される。
【００３０】
図７は、実施例１の配置配線ウィンドウの説明図（その２）である。
（ａ）は、画像ブロック配置前の配置配線ウィンドウを表し、（ｂ）は、行列寸法設定リスト１１８の設定内容を表している。
（ａ）に示すように、配置配線ウィンドウ４４は、境界線５９で第１〜３列、第１行〜３行の行列空間に区切られている。境界線５９は設定により表示・非表示を切り替え可能である。配置配線ウィンドウ４４の各行と各列の寸法は個別に設定可能である。ＣＰＵ９９は（ｂ）に示す行列寸法設定リスト１１８の設定内容を読み取り、配置配線ウィンドウ４４に表示する行列空間を作成する。
【００３１】
行列寸法設定リスト１１８内の行寸法Ｌｙｉ（ｉは１〜３の自然数）は、配置配線ウィンドウ４４の第ｉ行の行寸法を表し、列寸法Ｌｘｊ（ｊは１〜３の自然数）は、配置配線ウィンドウ４４の第ｊ列の列寸法を表す。例えば行寸法Ｌｙ１の値が“２００”の場合、ＣＰＵ９９は配置配線ウィンドウ４４の第１行の行寸法を２００画素分にして境界線５９を配置する。
【００３２】
配置接続ウィンドウ４４には、プログラム選択ウィンドウ１（図２）内から選択された画像ブロック５、１７、２５、３１、３５、３８（図２）が１つずつ逐次配置される。
配置接続ウィンドウ４４に配置された画像ブロックには、プログラム選択ウィンドウ１（図２）での表示内容に対し、パラメータブロックと接続線が追加される。例えば画像ブロック２５を配置配線ウィンドウ４４に配置したとき、図８に示すように、パラメータブロック６６、６８、７０と、接続線６７、６９、７１が追加され、次に説明する画像ブロック群を構成する。
【００３３】
図８は、画像ブロック群の行列寸法説明図である。
画像ブロック群６５を配置する際、ＣＰＵ９９（図１）は、行列空間の寸法と、画像ブロック群＋空きスペースの寸法を比較し、行列空間の寸法が小さい場合、行列空間を広げる作業を行う。その為、ＣＰＵ９９（図１）は各画像ブロックの寸法値を算出する。
パラメータブロック６６の行寸法ＬｙＰ６６と列寸法ＬｘＰ６６、及び接続線６７の列寸法ＬｘＰ６７は予め値が設定されており、ＣＰＵ９９（図１）は対応するパラメータ端子の横に、パラメータブロック６６と接続線６７を描画する。
【００３４】
そのとき、ＣＰＵ９９（図１）は画像ブロック群と空きスペースをあわせた行寸法ＬｙＰ＿Ａと、画像ブロック群と空きスペースを合わせた列寸法ＬｘＰ＿Ａを算出し、メモリ１００に記憶する。算出式は下記の通り。
ＬｘＰ＿Ａ＝ＬｘＰ６６＋ＬｘＰ６７＋Ｌｘ２５＋Ｌ１＊２
ＬｙＰ＿Ａ＝Ｌｙ２５＋Ｌ１＊２
Ｌ１は空きスペース寸法であり、予め値が設定されている。またＬｘ２５は、画像ブロック２５の列寸法、Ｌｙ２５は画像ブロック２５において、式（２１１）により算出される。
以上のＬｙｉ、Ｌｘｊ、ＬｘＰ＿Ａ、ＬｙＰ＿Ａを用いて行列空間の寸法は変更される。
【００３５】
図６の配置接続ウィンドウ４４の第１行第１列に、スキャナ１０６のスキャン機能を示す画像ブロック５とパラメータブロック４６、４８と接続線４７、４９で構成した画像ブロック群４５が配置されている。パラメータブロック４６に“６００”が設定されており、それによりスキャン解像度は６００ＤＰＩ（Ｄｏｔ  Ｐｅｒ  Ｉｎｃｈ）となる。
【００３６】
本実施例のスキャナ１０６は、スキャンデータのファイル拡張子を、ＪＰＧにするので、スキャンデータのファイル名は、“ＸＸＸ．ＪＰＧ”となる。出力端子９は、接続線６０を通じて画像ブロック３８のファイル入力端子４０と接続され、また接続線６２を通じて画像ブロック２５のファイル入力端子２６と接続されている。ファイル“ＸＸＸ．ＪＰＧ”はスキャナ１０６（図１）から出力され、コンピュータ９８の情報蓄積手段１０２（図１）に保存され、コンピュータ９８の文字認識プログラムと、印刷データ変換プログラムに入力される。
【００３７】
選択枠１０は、行列空間の１区画を選択する。図６の配置配線ウィンドウ４４の第１行第２列に、コンピュータ９８内の文字認識プログラムの画像ブロック３８が配置されている。本実施例の文字認識プログラムは、設定するパラメータが無いため、パラメータブロックと接続線の追加は無い。ファイル出力端子４１は、接続線７５を通じて画像ブロック３１のファイル入力端子３３に接続されている。
【００３８】
配置接続ウィンドウ４４の第１行第３列に、ファイル保存プログラムを視覚化した画像ブロック３１とパラメータブロック７７と接続線７８で構成される画像ブロック群７６が配置されている。以上説明した画像ブロック５、３８、３１によって、スキャンされたデータが文字認識され、文字データに変換され、指定フォルダに保存される機能を表現している。
【００３９】
又、配置接続ウィンドウ４４の第２行第２列に、画像ブロック２５と、パラメータブロック６６、６８、７０と、接続線６７、６９、７１とで構成される画像ブロック群６５が配置されている。パラメータブロック６８を“ＩＮＰＵＴ”の表示にすると、ユーザが統合プログラム実行時に、ディスプレイ１０８（図１）上で指定する値が入力される。空きスペース９０〜９３は、画像ブロック群６５と行列空間との空きスペースであり、長さはＬ１とする。
【００４０】
更に、配置接続ウィンドウ４４の第２行第３列に、プリンタ１０７（図１）の印刷機能を表す画像ブロック１７が配置されている。
以上説明した画像ブロック５、２５、１７によって、スキャンされたデータを、印刷データに変換され、プリンタ１０７（図１）によって印刷される機能を表現する。
【００４１】
図９は、表示部品選択ウィンドウの説明図である。
図に示す表示部品選択ウィンドウ１２８は、次に説明する操作画面作成ウィンドウ１３６に配置される表示部品である、文字ブロック１２９、パラメータ入力ブロック１３０、実行ボタン１３１、中止ボタン１３２を持つ。
【００４２】
図１０は、操作画面作成ウィンドウの説明図である。
図に示す操作画面作成ウィンドウ１３６では、後述の操作画面プログラムを実行時の、ディスプレイ１０８（図１）の操作画面を作成する部分である。一例として図１０では、操作画面作成ウィンドウ１３６は、文字ブロック１３７、文字ブロック１３８、パラメータ入力ブロック１３９、実行ボタン１４０、中止ボタン１４１を持つ。
【００４３】
図１１は、表示部品配置リストの説明図である。
この図は図１０に示す操作画面作成ウィンドウ１３６の画面を作成した際に、ＣＰＵ９９（図１）が情報蓄積手段１０２（図１）に出力する表示部品配置リスト１８４である。コード１８５は、文字ブロック１３７の情報である。コード１８５の構造は左から順に、文字ブロック配置命令、表示文字列、文字ブロック１３７の左上端部のＸ座標、左上端部のＹ座標、右下端部のＸ座標、右下端部のＹ座標である。コード１８６は文字ブロック１３８の情報であり、内容はコード１８５と同様であるので説明を省略する。
【００４４】
コード１８７はパラメータ入力ブロック１３９の情報である。コード１８７の構造は左から順に、パラメータ入力ブロック配置命令、パラメータ値が入力されるレジスタ名、パラメータ入力ブロックの左上端部のＸ座標、左上端部のＹ座標、右下端部のＸ座標、右下端部のＹ座標である。コード１８８は実行ボタン１４０の情報である。コード１８８の構造は左から順に、実行命令、統合プログラム名、実行ボタン１４０の左上端部のＸ座標、左上端部のＹ座標、右下端部のＸ座標、右下端部のＹ座標である。コード１８９は中止ボタン１４１の情報である。コード１８９の構造は左から順に、中止命令、中止ボタン１４１の左上端部のＸ座標、左上端部のＹ座標、右下端部のＸ座標、右下端部のＹ座標である。
【００４５】
図１２は、総合プログラムリストの説明図である。
この図は、エディタが作成する統合プログラムリスト１７５である。図に示す統合プログラムリスト１７５は、５行のコマンドライン１７６〜１８０で構成される。コマンドラインは、“プログラムコマンド  パラメータ  パラメータ  …”の順に並んだ文字列である。コマンドラインがコンピュータ９８（図１）に入力され、所望のプログラムが所望の設定で実行される。コマンドライン１７６はスキャン、コマンドライン１７７は文字認識、コマンドライン１７８は印刷データ変換、コマンドライン１７９はデータ保存、コマンドライン１８０は印刷を、それぞれ実行するプログラムである。
【００４６】
次に、一例としてスキャナで画像を取り込み、スキャンデータを出力させ、スキャンデータを文字変換しコンピュータに保存する機能と、スキャンデータをプリンタで印刷する機能を統合した統合プログラムの作成手順について説明する。
【００４７】
手順１（統合プログラム作成準備手順）
先ずＣＰＵ９９（図１）による統合プログラム作成準備手順について説明する。ＣＰＵ９９（図１）は、情報蓄積手段１０２（図１）に格納されたエディタとプログラムをメモリ１００に読み込み実行する。ＣＰＵ９９（図１）は、エディタと統合プログラムを実行する。ＣＰＵ９９（図１）は、エディタと統合プログラムの実行に合わせて、グラフィックメモリ１０４（図１）にディスプレイ１０８（図１）表示用のグラフィックデータを書き込む。グラフィックコントローラ１０１（図１）は、グラフィックメモリ１０４（図１）のグラフィックデータを読み出し、ディスプレイ１０８（図１）に送り、上記４つのウィンドウ（プログラム選択ウインドウ１（図２）、配置配線ウインドウ４４（図６）、表示部品選択ウインドウ１２８（図９）、操作画面作成ウインドウ（図１０））をディスプレイ１０８（図１）上に一括表示する。ＣＰＵ９９（図１）は、この表示に基づくユーザ入力の受け入れ準備を完了する。
【００４８】
手順２（配置配線ウィンドウへの画像ブロックの配置）
次に統合プログラム作成のエディタによる配置配線ウィンドウへの画像ブロックの配置手順について説明する。エディタは上記のように、コンピュータ９８（図１）上で動作する、プログラム選択ウィンドウ１（図２）、配置配線ウィンドウ４４（図６）、表示部品選択ウィンドウ１２８（図９）、操作画面作成ウィンドウ１３６（図１０）、の４つのウィンドウで構成される。ユーザは、プログラム選択ウィンドウ１中の画像ブロック５、１７、２５、３１、３８を選択し、配置配線ウィンドウ４４（図２）上にそれぞれ配置する。その詳細な内容について以下に説明する。
【００４９】
ユーザは、プログラム選択ウィンドウ１（図２）から、使用するプログラムの画像ブロックを選択する。ユーザは、キーボード１０５（図１）のカーソルキー押下で、選択枠１０（図２）を所望の画像ブロックに移動する。ユーザは、キーボード１０５（図１）のスペースキー押下で、画像ブロックを選択する。画像ブロックを選択すると、選択枠１０（図２）は、配置配線ウィンドウ４４（図６）に移動する。配置配線ウィンドウ４４（図６）上で選択枠１０（図６）は、行列空間のうち１区画を囲む。ユーザはカーソルキー押下で所望の領域に選択枠１０（図６）を移動し、スペースキー押下によりプログラム選択ウィンドウ１上（図６）で選択した画像ブロック５（図６）を所望の区画に配置する。その際ＣＰＵ９９（図１）は、情報蓄積手段１０２（図１）内に、プログラム配置リストとパラメータリストを作成する。以下にプログラム配置リストの内容について説明し、続いてパラメータリストの内容について説明する。
【００５０】
図１３は実施例１のプログラム配置リストの説明図である。
図に示すように、プログラム配置リスト１９３は５つのフィールドに分けられる。各行の左から一番目のフィールドはプログラムの設定順序の番号（以下、プログラム番号）を示すプログラム番号フィールド１９４であり、画像ブロックを配置配線ウィンドウ４４（図６）に配置する度にプログラム番号を更新する。左から２番目のフィールドは該画像ブロックの配置空間の行番号を示す行番号フィールド１９５である。左から３番目のフィールドは該画像ブロックの配置空間の列番号を示す列番号フィールド１９６である。左から４番目のフィールドは、該画像ブロックが視覚化したプログラムのプログラム名を示すプログラム名フィールド１９７である。左から５番目のフィールドは該画像ブロックに入力ファイルを与える画像ブロックの配置順序番号を示す接続番号フィールド１９８である。
【００５１】
一例として、１番目にスキャンの画像ブロック５を配置配線ウィンドウ４４（図６）の第１行、第１列に配置すると、プログラム配置リスト１行目のプログラム番号フィールド１９４にはプログラムの配置順序の番号である“１”、行番号フィールド１９５にはプログラムを配置した行番号である“１”、列番号フィールド１９６にはプログラムを配置した列番号である“１”、プログラム名フィールド１９７にはプログラム名である“スキャン”を記載し、まとめるとプログラム配置リスト１９３の１行目は“１  １  １  スキャン”となる。また２番目に文字認識の画像ブロック３８を配置配線ウィンドウ４４（図６）の第１行、第２列に配置すると、プログラム配置リスト１９３の２行目は“２  １  ２  文字認識”となる。この時点では画像ブロック間の配線を行っていないため５番目の文字列は入力されない。５番目の文字列については、次の手順２で説明する。
【００５２】
図１４は、実施例１のパラメータリストの説明図である。
図に示すように、パラメータリスト２００の構造は、最初の文字列がプログラム配置リスト１９３（図１３）の配置順序番号を示すプログラム番号フィールド２０１、２番目以降の文字列がパラメータの設定値を表すパラメータフィールド２０２である。パラメータリスト２００の１行目は、配置配線ウィンドウ４４（図６）の第１行、第１列に配置した画像ブロック５のパラメータを設定する。最初の文字列はプログラム配置リスト１９３（図１３）の１行目の配置順序番号である“１”、２番目の文字列は画像ブロック５のパラメータ“ＤＰＩ”の値である“６００”、３番目の文字列は画像ブロック５のパラメータ“ファイル名”の値である“ＸＸＸ”を表す。上記パラメータの順序は、ＦＵＮＣＴＩＯＮブロック１７４（図３）でのパラメータの設定順序に対応する。
【００５３】
尚、手順２では、配置配線ウィンドウ４４（図６）の各行と各列の寸法は個別に設定可能である。ＣＰＵ９９（図１）は図７（ｂ）に示す行列寸法設定リスト１１８の設定内容を読み取り、配置配線ウィンドウ４４（図６）に表示する行列空間を作成する。行列空間の寸法は以下のように自動更新し、手間を省く。配置する画像ブロック群の、行寸法値ＬｙＰ＿Ａが、配置場所の行寸法値Ｌｙｉよりも大きい場合、ＣＰＵ９９（図１）は、配置場所の行寸法値を画像ブロック群の行寸法値ＬｙＰ＿Ａに書き換え、その値に合わせて配置場所の行空間を変更して配置配線ウィンドウ４４の表示を更新する。列寸法も同様にＣＰＵ９９（図１）が書き換える。
【００５４】
手順３（画像ブロック間の配線接続とパラメータ変更）
ユーザは、画像ブロックの配置完了後、画像ブロック間の配線とパラメータ変更処理を行う。ユーザは、カーソルキー押下で選択枠１０（図６）を移動し、スペースキー押下で配置配線ウィンドウ４４（図６）上に配置した画像ブロック群を選択する。画像ブロック群を選択すると選択枠１０（図６）は、画像ブロック群中の出入力端子又はパラメータブロックの１つを囲む。ユーザは、カーソルキー押下で選択枠１０（図６）を出入力端子又はパラメータブロックに移動させ、スペースキー押下で出入力端子又はパラメータブロックを選択する。
【００５５】
以下に、出入力端子間の配線時の動作を説明する。
入力端子を選択すると、入力端子に入力可能なファイル拡張子名と同じファイル拡張子名のファイルを出力可能な出力端子と配線でき、選択枠１０（図６）は該当する出力端子を移動できる。ユーザは、スペースキー押下で、選択した入力端子と出力端子を接続線で配線できる。例として、図６のファイル入力端子４０は、入力ファイル拡張子名がＴＩＦ又はＪＰＧであり、出力ファイル拡張子名がＪＰＧである出力端子９と接続線６０で配線できる。
【００５６】
入力端子と出力端子間を配線した際、ＣＰＵ９９は、図１３に示すプログラム配置リスト１９３上の接続番号フィールド１９８に、ファイルを出力する上流側画像ブロックのプログラム番号を挿入する。例として、図６の画像ブロック５と画像ブロック３８の接続時について説明する。ユーザは、画像ブロック３８のファイル入力端子４０と、画像ブロック５の出力端子９を選択し配線する。その時、画像ブロック３８の配置情報であるプログラム配置リスト１９３（図１３）の２行目の接続番号フィールド１９８に、画像ブロック５の情報であるプログラム配置リスト１９３（図１３）の１行目のプログラム番号フィールド１９４（図１３）の値１を記載することで、ＣＰＵ９９は画像ブロック５と画像ブロック３８の接続を管理する。
【００５７】
以上のように、画像ブロックを行列空間に配置することで、画像ブロック位置がまとまり、見た目にわかりやすく、画像ブロック間のファイルの流れが明確になり、統合プログラムのバグ低減と開発期間短縮が期待できる。続いてパラメータ変更の内容について説明する。ユーザはパラメータブロックを選択し、パラメータ値を変更することができる。パラメータブロックに設定できる値は、ウィンドウ設定リスト記載のＰＣＯＤＥの設定値である。例として、図３のスキャナウィンドウ設定リスト１５０のパラメータ“ＤＰＩ”に設定できる値は、コード１６４“ＰＣＯＤＥ”に設定する“１２００”、“６００”、“３００”のいずれかである。“ＰＣＯＤＥ”に設定する値が“ＩＮＰＵＴ”、“ＮＵＭ”、“ＣＨＡＲＡ”のいずれかの場合、ユーザが対象パラメータを設定でき、後述の操作画面プログラム実行時に操作画面からでも設定できる。“ＩＮＰＵＴ”は、設定値に条件は無い。“ＮＵＭ”は、数字のみ設定可能である。“ＣＨＡＲＡ”は文字と数字を設定可能である。
【００５８】
手順４（操作画面の作成）
以下に、配線とパラメータ変更完了後、ユーザは操作画面を作成する手順ついて説明する。但し、操作画面が不要の場合は手順４を飛ばしても構わない。
ユーザは、キーボード１０５（図１）のエスケープキー押下で選択枠１０をウィンドウ切り替えモードにし、カーソルキー押下で表示部品選択ウィンドウ１２８（図９）に選択枠１０を移動させ、スペースキー押下で選択枠１０を操作画面作成ウィンドウ１３６（図１０）に移動させる。
ユーザは、表示部品選択ウィンドウ１２８（図９）の中から所望の表示部品を選択し、操作画面作成ウィンドウ１３６（図１０）に配置する。ユーザは表示内容選択ウィンドウ１２８上で選択枠１０を移動し表示部品を選択すると、選択枠１０は操作画面作成ウィンドウ１３６（図１０）に移動する。
【００５９】
操作画面作成ウィンドウ１３６（図１０）において、ユーザは所望の位置に選択枠１０を移動させて、スペースキー押下で先程選択した表示部品の左上端を固定する。その後、カーソルキー押下で、表示部品の右下端を移動でき、スペースキー押下で表示部品の右下端を固定する。ＣＰＵ９９（図１０）は、その表示部品の配置情報を、図１１の表示部品配置リスト１８４に記載する。例として、文字ブロック１３７（図１０）配置時の動作を示す。ユーザは、表示部品選択ウィンドウ１２８で文字ブロック１２９（図９）を選択し、操作画面作成ウィンドウ１３６（図１０）で選択した文字ブロック１２９の左上端と右下端を固定し、表示文字“コピー＆文字変換”を入力し、文字ブロック１３７を作成する。この時、表示部品配置リスト１８４（図１１）のコード１８５には左から順に、配置した表示部品が文字ブロックであることを示す“ＣＨＡＲＡ”、表示文字である“コピー＆文字変換”、文字ブロック１３７の左上端部のＸ座標Ｘ１、左上端部のＹ座標Ｙ１、右下端部のＸ座標Ｘ２、右下端部のＹ座標Ｙ２が記載される。これにより、ＣＰＵ９９（図１）は、操作画面作成ウィンドウ１３６（図１０）における表示部品の配置位置と表示内容を管理する。
【００６０】
手順５（操作画面プログラムと統合プログラムの作成）
操作画面プログラムを作成し、上記手順３で作成したプログラム配置リスト１９３（図１３）から統合プログラムを作成する。この手順５でＣＰＵ９９（図１）は、表示部品配置リスト１８４（図１）をコンパイルし、実行形式の操作画面プログラムを作成する。操作画面プログラムを実行することで、図６の操作画面作成ウィンドウ１３６で作成した表示内容のウィンドウがディスプレイ１０８（図１）に表示される。その後ＣＰＵ９９（図１）は、プログラム配置リスト１９３（図１３）から、図１２に示す統合プログラムリスト１７５を作成する。以下に、統合プログラムリスト作成の手順についてフローチャートを用いて説明する。
【００６１】
図１５は、統合プログラムリスト作成のフローチャートである。
ＣＰＵ９９は、最初にＳ１−１〜Ｓ１−４でファイルを出力する最上流のコマンドラインを作成し、その後Ｓ１−５〜Ｓ１−１３で下流のコマンドラインを作成する。作成したコマンドラインを統合して統合プログラムリストとする。以下にステップ順に説明する。
【００６２】
ステップＳ１−１
ＣＰＵ９９（図１）は、プログラム深度を表すＣを１に設定する。プログラム深度Ｃはプログラムの上下流を示す。プログラム深度Ｃが１のプログラムは、最上流に位置し、ファイルを入力せず出力だけ行う。プログラム深度Ｃのプログラムは、プログラム深度“Ｃ＝１”のプログラムの出力ファイルを入力する。Ｒは、プログラム深度Ｃのプログラムの順番である。ここでＣの値は、配置配線ウィンドウ４４（図６）の列の値に該当し、Ｒは、配置配線ウィンドウ４４（図６）の行の値に該当する。
【００６３】
ステップＳ１−２
ＣＰＵ９９（図１）は、プログラム配置リスト１９３（図１３）から、最上流のプログラムを検出する。ＣＰＵ９９（図１）は、検出したプログラムをプログラム番号で管理し、具体的には２次元配列であるプログラム番号（Ｒ、Ｃ）に記憶して管理する。ＣＰＵ９９（図１）は、接続番号フィールド１９８（図１３）に値が無い行のプログラムを、最上流のプログラムとして検出する。このステップＳ１−２でプログラムを検出できた場合（ＹＥＳ）はステップＳ１−３へ進み、プログラムが検出できなかった場合（ＮＯ）、にはステップＳ１−５へ進む。ここでＲは、図６の行番号に該当し、Ｃは、列番号に該当する。
【００６４】
ステップＳ１−３
ＣＰＵ９９（図１）は検出したプログラムのコマンドラインを作成する。コマンドラインの作成フローは後述する。
【００６５】
ステップＳ１−４
ＣＰＵ９９（図１）は、Ｒ値に“１”加算し、Ｓ１−２へ戻る。ＣＰＵ９９（図１）は、Ｓ１−２〜Ｓ１−４のループで、最上流のプログラムのコマンドラインを作成する。
【００６６】
ステップＳ１−５
ＣＰＵ９９は、Ｒを１減算した値をＲＤＭＡＸに代入する。ここでのＲＤＭＡＸは、プログラム深度１のプログラム数である。Ｓ１−５からＳ１−６進む。
【００６７】
ステップＳ１−６
ＣＰＵ９９（図１）は、Ｒ＝１、Ｃ＝２、ＲＤ＝１を代入する。ＲＤは、プログラム深度“Ｃ−１”のプログラムの順番である。
【００６８】
ステップＳ１−７
ＣＰＵ９９（図１）は、プログラム番号（ＲＤ、Ｃ−１）の出力ファイルを入力するプログラム番号（Ｒ、Ｃ）を検出する。ここでプログラム番号（ＲＤ、Ｃ−１）と同じ値を、接続番号フィールド１９８（図１３）に持つ行を検出し、検出した行のプログラム番号をプログラム番号（Ｒ、Ｃ）に代入する。ここでプログラム番号（Ｒ，Ｃ）を検出できた場合（ＹＥＳ）、Ｓ２８に進み、検出できない場合（ＮＯ）、Ｓ１−１０へ進む。
【００６９】
ステップＳ１−８
ＣＰＵ９９（図１）はプログラム番号（Ｒ，Ｃ）のコマンドラインを作成してステップＳ１−９へ進む。
【００７０】
ステップＳ１−９
ＣＰＵ９９（図１）は、Ｒに１加算し、Ｓ１−７へ戻る。Ｓ１−７〜Ｓ１−９のループで、ＣＰＵ９９（図１）は、プログラム番号（ＲＤ、Ｃ−１）の下流に位置するプログラムのコマンドラインを作成する。
【００７１】
ステップＳ１−１０
ＣＰＵ９９（図１）はＲＤとＲＤＭＡＸが等しいか判定し、ＲＤとＲＭＡＸが等しくない場合（ＮＯ）には、プログラム深度Ｃのコマンドラインを全て作成できていないので、Ｓ１−１１へ進み、条件がＹＥＳの場合には、プログラム深度Ｃのコマンドラインが全て作成できたこととなり、ステップＳ１−１２へ進む。
【００７２】
ステップＳ１−１１
ＣＰＵ９９（図１）はＲＤに１加算し、ステップＳ１−７へ戻る。ステップＳ１−７〜ステップＳ１−１１のループで、ＣＰＵ９９（図１）はプログラム深度Ｃのコマンドラインを作成する。
【００７３】
ステップＳ１−１２
ＣＰＵ９９（図１）はＲが１と等しいかを判断し、ＮＯの場合、全てのコマンドラインを作成できていないので、Ｓ１−１３へ進み、ＹＥＳの場合、全てのコマンドラインを作成したと判断し、統合プログラムリストの作成を終了する。
【００７４】
ステップＳ１−１３
ＣＰＵ９９（図１）はＣを１加算、ＲＤから１減算した値をＲＭＡＸに代入し、ＲＤに１を代入し、ステップＳ１−７へ戻る。ステップＳ１−７〜ステップＳ１−１３のループで、最上流以外のプログラムのコマンドラインを作成し、ステップＳ１−１２を経てフローを終了する。
【００７５】
一例として、上記図１２の統合プログラムリスト１７５の作成をに上記フローチャート（図１５）を適用するとフローは以下のように進む。
図１６は、実施例１のプログラム番号（Ｒ、Ｃ）の説明図である。
この図は、Ｒ値とプログラム深度Ｃ値による２次元配列であるプログラム番号（Ｒ、Ｃ）を示す。プログラム番号（Ｒ、Ｃ）は、コマンドライン作成時に用い、プログラム配置リスト１９３（図１３）のプログラム番号を格納する。プログラム番号（Ｒ、Ｃ）はメモリ１００（図１）に格納される。
【００７６】
ステップＳ１−１で、Ｒ＝１、Ｃ＝１とする。ステップＳ１−２でＣＰＵ９９は、接続番号フィールド１９８（図１３）に値が無い行を検索し、１行目を検出する。ＣＰＵ９９は、検出した行のプログラム番号フィールド１９４（図１３）の値１をプログラム番号（１、１）に代入する。プログラム番号（Ｒ、Ｃ）は、図１６のように値が代入される。ステップＳ１−３に進み、統合プログラムリスト（図１２）の１行目にプログラム番号（１、１）のコマンドライン“ＳＣＡＮ  ６００  ＸＸＸ”を記載する。
【００７７】
ステップＳ１−４に進み、Ｒ＝２とする。ステップＳ１−２に進みＣＰＵ９９は、接続番号フィールド１９８に値が無い行が、前に検索した行以外ないことを検出し、ステップＳ１−５に進む。ステップＳ１−５で、ＲＤＭＡＸ＝１とする。ステップＳ１−６で、Ｒ＝１、Ｃ＝２、ＲＤ＝１とする。
ステップＳ１−７でＣＰＵ９９は、プログラム番号（１、１）のプログラムの出力ファイルが、入力されるプログラムを検出する。ＣＰＵ９９は、プログラム番号（１、１）の値１を、接続番号フィールド１９８（図１３）で検索し、プログラム配置リスト１９３（図１３）の２行目を検出する。ＣＰＵ９９はプログラム番号（１、２）に、検出した行のプログラム番号フィールド１９４（図１３）の値２を代入する。
【００７８】
ステップＳ１−８に進み、ＣＰＵ９９は、統合プログラムリスト１７５（図１３）の２行目に、プログラム番号（１、２）のコマンドライン“ＯＣＲ  ＸＸＸ．ＪＰＧ”を記載する。ステップＳ１−９に進み、ＣＰＵ９９はＲ＝２とし、ステップＳ１−７に戻る。２度目のステップＳ１−７で、プログラム番号（１、１）のプログラムの出力ファイルが、入力されるプログラムを再度検出する。この時ＣＰＵ９９は、プログラム配置リスト１９３（図１３）の４行目を検出し、検出した行のプログラム番号フィールド１９４（図１３）の値４を、プログラム番号（２、２）に代入する。ステップＳ１−８に進みＣＰＵ９９は、統合プログラムリスト１７５（図１３）の３行目に、プログラム番号（２、２）のプログラムのコマンドライン“ＰＲＮＴＲＡＮＳ  ６００  ％ＯＰ１％  Ａ４  ＸＸＸ．ＪＰＧ”を記載する。
【００７９】
ステップＳ１−９に進み、ＣＰＵ９９はＲ＝３とし、ステップＳ１−７に戻る。ステップＳ１−７でＣＰＵ９９は、プログラム番号（１、１）のプログラムのファイル出力先のプログラムを検出できず、ステップＳ１−１０に進む。ステップＳ１−１０で、ＣＰＵ９９はＲＤとＲＤＭＡＸが共に１で等しいと判定し、ステップＳ１−１２に進む。ステップＳ１−１２で、ＣＰＵ９９はＲが１でないと判定し、ステップＳ１−１３に進む。ステップＳ１−１３で、ＣＰＵ９９は、Ｒ＝１、Ｃ＝３、ＲＤＭＡＸ＝２、ＲＤ＝１として、ステップＳ１−７に進む。
【００８０】
ステップＳ１−７で、ＣＰＵ９９は、プログラム番号（１、２）が示すプログラムのファイル出力先のプログラムを検出する。この時ＣＰＵ９９は、プログラム配置リスト１９３の３行目を検出し、検出した行のプログラム番号フィールド１９４（図１３）の値３を、プログラム番号（１、３）に代入する。ステップＳ１−８に進みＣＰＵ９９は、統合プログラムリスト１７５の４行目に、プログラム番号（１、３）のプログラムのコマンドライン“ＣＯＰＹ  ＸＸＸ．ＴＸＴ  Ｃ：￥ＴＥＭＰ”を記載する。ステップＳ１−９に進みＣＰＵ９９は、Ｒ＝２とし、ステップＳ１−７に戻る。
【００８１】
ステップＳ１−７でＣＰＵ９９は、プログラム番号（１、２）のプログラムのファイル出力先のプログラムを検出できず、ステップＳ１−１０に進む。
ステップＳ１−１０でＣＰＵ９９は、ＲＤとＲＤＭＡＸが等しくないと判定し、ステップＳ１−１１に進む。ステップＳ１−１１でＣＰＵ９９は、ＲＤ＝２とし、ステップＳ１−７に戻る。ステップＳ１−７でＣＰＵ９９は、プログラム番号（２、２）が示すプログラムのファイルの出力先のプログラムを検出する。この時ＣＰＵ９９は、プログラム配置リスト１９３（図１３）の５行目を検出し、検出した行のプログラム番号フィールド１９４（図１３）の値５を、プログラム番号（２、３）に代入する。
【００８２】
ステップＳ１−８に進みＣＰＵ９９は、統合プログラムリスト１７５の５行目に、プログラム番号（２、３）のプログラムのコマンドライン“ＰＲＩＮＴ  ＸＸＸ．ＰＲＮ”を記載する。ステップＳ１−９に進みＣＰＵ９９は、Ｒ＝３とし、ステップＳ１−７に戻る。ステップＳ１−７でＣＰＵ９９は、プログラム番号（２、２）のプログラムのファイル出力先のプログラムを検出できず、ステップＳ１−１０に進む。ステップＳ１−１０でＣＰＵ９９は、ＲＤとＲＤＭＡＸが共に２で等しいと判定し、ステップＳ１−１２に進む。
ステップＳ１−１２でＣＰＵ９９は、Ｒが１でないと判定し、ステップＳ１−１３に進む。
【００８３】
ステップＳ１−１３でＣＰＵ９９は、Ｒ＝１、Ｃ＝４、ＲＤＭＡＸ＝２、ＲＤ＝１として、ステップＳ１−７に戻る。ステップＳ１−７でＣＰＵ９９は、プログラム番号（１、３）のプログラムのファイル出力先のプログラムを検出できず、ステップＳ１−１０に進む。ステップＳ１−１０でＣＰＵ９９は、ＲＤとＲＤＭＡＸを等しくないと判定し、ステップＳ１−１１に進む。ステップＳ１−１１でＣＰＵ９９は、ＲＤ＝２とし、Ｓ２７に戻る。ステップＳ１−７でＣＰＵ９９は、プログラム番号（２、３）のプログラムのファイル出力先のプログラムを検出できず、ステップＳ１−１０に進む。ステップＳ１−１０でＣＰＵ９９は、ＲＤとＲＤＭＡＸが共に２で等しいと判定し、ステップＳ１−１２に進む。ステップＳ１−１２でＣＰＵ９９は、Ｒが１であると判定し、統合プログラムリストの作成を終了する。その結果図１６に示すように、図６の配置配線ウィンドウ４４に配置されている画像ブロックのプログラム番号フィールド１９４（図１３）の値が、マトリックス化されている。
【００８４】
以下に、統合プログラムリスト１７５（図１３）を構成するコマンドラインの作成手順を示す。
図１７は、実施例１のコマンドライン作成手順のフローチャートである。
ステップＳ１−２１
ＣＰＵ９９（図１）は、コマンドラインの作成対象となるプログラム番号（Ｒ、Ｃ）のプログラム名を、プログラム名フィールド１９７（図１３）から取得し、プログラム名Ａとする。
【００８５】
ステップＳ１−２２
ＣＰＵ９９（図１）は、プログラム名Ａと同じ“ＦＮＡＭＥ”値を持つＦＵＮＣＴＩＯＮブロックＡをスキャナウィンドウ設定リスト１５０（図３）とプリンタウィンドウ設定リスト２２１（図４）とコンピュータウィンドウ設定リスト２２６（図５）から検出する。
【００８６】
ステップＳ１−２３
ＣＰＵ９９（図１）は、ＦＵＮＣＴＩＯＮブロックＡ内の“ＦＣＯＤＥ”値をコマンドラインの一番左側に記載する。
【００８７】
ステップＳ１−２４
ＣＰＵ９９（図１）は、プログラム番号（Ｒ、Ｃ）の値を、パラメータリスト２００（図１４）のプログラム番号フィールド２０１で検索し、検出した行のパラメータフィールド２０２の記載内容を、コマンドライン上で“ＦＣＯＤＥ”値を記載した右横に追加してフローを終了する。
【００８８】
一例として、上記フローチャート図１７に上記図１２のコマンドライン１７６を適用するとフローは以下のように進む。
最初にプログラム番号（１、１）の値は“１”とする。Ｓ１−２１でＣＰＵ９９は、プログラム番号（１、１）と同一なプログラム番号を持つプログラム配置リスト１９３（図１３）の各行を検索する。ここでＣＰＵ９９は、プログラム配置リスト１９３（図１３）の１行目を検出し、１行目のプログラム名“スキャン”を、プログラム名Ａとする。
【００８９】
ＣＰＵ９９は、ステップＳ１−２２でプログラム名“ＦＮＡＭＥ”が“スキャン”となるＦＵＮＣＴＩＯＮブロックＡを、スキャナウィンドウ設定リスト１５０（図３）とプリンタウィンドウ設定リスト２２１（図４）とコンピュータウィンドウ設定リスト２２６（図５）から検索する。この時ＣＰＵ９９は、スキャナウィンドウ設定リスト１５０（図３）のＦＵＮＣＴＩＯＮブロック１７４を検出し、ＦＵＮＣＴＩＯＮブロックＡとする。ステップＳ１−２３でＣＰＵ９９は、ＦＵＮＣＴＩＯＮブロックＡ内記載のプログラムコード“ＦＣＯＤＥ”の値“ＳＣＡＮ”を、コマンドラインの一番左に記載する。
【００９０】
ＣＰＵ９９は、ステップＳ１−２４でパラメータリスト２００（図１４）から、プログラム番号（１、１）と同一なプログラム番号を持つ行を検索する。その時ＣＰＵ９９は、パラメータリスト２００の１行目を検出する。検出した行のパラメータフィールド２０２の内容を、コマンドラインの“ＳＣＡＮ”の後に、記載する。この時記載するのは“６００  ＸＸＸ”であり、まとめると統合プログラムリスト１７５の１行目のコマンドラインは、“ＳＣＡＮ  ６００  ＸＸＸ”となる。以上が、コマンドライン１７６作成時の手順である。
【００９１】
以上説明した手順１〜手順５を経て、統合プログラムが作成される。
以下に、このようにして作成された統合プログラムがどのように動作するかについて、即ち、統合プログラムリスト１７５（図１２）実行時の動作について説明する。
【００９２】
ユーザは情報蓄積手段１０２（図２）に格納されている操作画面プログラムを実行し、ディスプレイ１０８（図１）に、操作画面作成ウィンドウ１３６（図１０）を表示させる。ユーザは操作画面プログラム上で、パラメータ入力ブロック１３９（図１０）の値を設定し、実行ボタン１４０（図１０）を押下する。ＣＰＵ９９（図１）は、パラメータ入力ブロック１３９（図１）の値を、メモリ１００（図１）にＯＰ１値として記憶し、統合プログラムを実行する。
【００９３】
ＣＰＵ９９（図１）は、統合プログラムリスト１７５（図１２）の記載内容に従い、スキャン、文字認識、印刷データ変換、文字認識データ保存、印刷データの印刷の順に実行する。以下は、その詳細を示す。
【００９４】
コマンドライン１７６（図１２）で、ＣＰＵ９９（図１）はインターフェース１０３（図１）を介してスキャナ１０６（図１）に、解像度６００ＤＰＩ、出力ファイル名ＸＸＸ．ＪＰＧの条件で、スキャン命令を送信する。スキャナ１０６（図１）は、ファイルＸＸＸ．ＪＰＧをコンピュータ９８（図１）に送信する。ＣＰＵ９９（図１）はインターフェース１０３（図１）を介して情報蓄積手段１０２（図１）にファイルＸＸＸ．ＪＰＧを記憶する。
【００９５】
コマンドライン１７７（図１２）で、ＣＰＵ９９（図１）は、文字認識プログラムＯＣＲを実行し、ファイルＸＸＸ．ＪＰＧを文字認識し、その結果をファイルＸＸＸ．ＴＸＴとして情報蓄積手段１０２（図１）に記憶する。
【００９６】
コマンドライン１７８（図１２）で、ＣＰＵ９９（図１）は、印刷データ変換プログラムＰＲＮＴＲＡＮＳを実行し、ファイルＸＸＸ．ＪＰＧから、解像度６００ＤＰＩ、印刷枚数ＯＰ１、用紙サイズＡ４の条件で、印刷データのファイルＸＸＸ．ＰＲＮを作成する。ＣＰＵ９９（図１）は、ファイルＸＸＸ．ＰＲＮを情報蓄積手段１０２（図１）に記憶する。
【００９７】
コマンドライン１７９（図１２）で、ＣＰＵ９９（図１）は、ファイルＸＸＸ．ＴＸＴを、情報蓄積手段１０２（図１）のＣ：￥ＴＥＭＰフォルダに記憶する。
【００９８】
コマンドライン１８０（図１２）で、ＣＰＵ９９（図１）は、印刷プログラムコマンドＰＲＩＮＴを実行し、インターフェース１０３（図１）を介してプリンタ１０７（図１）にファイルＸＸＸ．ＰＲＮを送信する。プリンタ１０７（図１）は、ファイルＸＸＸ．ＰＲＮの記載内容に従って印刷する。
以上が、統合プログラムリスト１７５の実行時の動作である。
【００９９】
以上説明したように、本実施例では、複数のプログラムを視覚化した画像ブロックを行列空間に配置接続し、統合プログラムを作成するので、データの枝分かれを表現でき、複数の複合機能を一括して実行できる統合プログラムの作成が容易になるという効果をえる。また行列空間の寸法を自動で画像ブロックの寸法に合わせ変更するので、変更の手間が省け、開発期間短縮できるという効果を得る。また、画像ブロックの位置がまとまり、見た目にわかりやすく、画像ブロック間のファイルの流れが明確になり、統合プログラムのバグ低減が期待できるという効果を得る。また、画像ブロックは、最初からグラフィックで用意するのでは無く、文字列リストから作成するので、ユーザが画像ブロックの作成にかかる期間を短縮できるという効果を得る。更に、画像ブロックには、パラメータの初期値が自動的に与えられる為、ユーザのプログラム知識が少なくても、統合プログラムを開発できるという効果を得る。
【実施例２】
【０１００】
本実施例では、画像ブロックの出力ファイルの拡張子と、次の画像ブロックの入力ファイルの拡張子とが異なるために、両画像ブロックの接続が直接接続できない場合について対応する。本実施例では、直接接続できない画像ブロック間に挿入可能な画像ブロックを情報蓄積手段から検索し、その結果、検出された画像ブロックを両ブロック間に挿入することで対処する。
【０１０１】
図１８は、実施例２の配置配線ウィンドウの説明図（その１）である。
この図には、スキャン機能の画像ブロック５と、印刷機能の画像ブロック１７を接続した配置配線ウィンドウ４４が示されている。配置配線ウィンドウ４４下側には、中継候補ウィンドウ２１５が表示されている。中継候補ウィンドウ２１５には、中継候補ボタン２１６と、キャンセルボタン２１７が表示されている。
【０１０２】
図１９は、実施例２の配置配線ウィンドウの説明図（その２）である。
この図には、図１８において中継候補ボタン２１６を選んだ時の、配置配線ウィンドウ４４を示す。図１８に対し、画像ブロック１７が第３列に移動し、第２列に印刷データ作成機能の画像ブロック群６５が挿入されている。
【０１０３】
図１８の配置配線ウィンドウ４４において、スキャン機能の画像ブロック５を第１行第１列に配置し、印刷機能の画像ブロック１７を第１行第２列に配置し、画像ブロック５と画像ブロック１７を接続する。画像ブロック５の出力ファイルの拡張子は“ＪＰＧ”、画像ブロック１７の入力ファイルの拡張子は“ＰＲＮ”で、接続はできない。かかる場合に、本実施例では、直接は接続できない画像ブロック間に挿入可能な画像ブロックを提示し、更なる開発時間短縮を図る。更にユーザが予想しない組合せを提示でき、統合プログラム開発の幅を広げることが可能になる。
【０１０４】
本実施例では、一例としてスキャナで画像を取り込み、スキャンデータを出力させ、スキャンデータを文字変換しコンピュータに保存する機能と、スキャンデータをプリンタで印刷する機能を統合した統合プログラムの作成手順において、上記手順３が以下のように実施例１とは異なる。本実施例では画像ブロック間を配線する場合に、ＣＰＵ９９（図１）は以下に示す手順で実行する。以下にその手順をフローチャートを用いて説明する。
【０１０５】
図２０は、実施例２の配線動作手順のフローチャートである。
図２１は、実施例２のプログラム配置リストの説明図（その１）である。
図２２は、実施例２のプログラム配置リストの説明図（その２）である
【０１０６】
ステップＳ２−１
上流側画像ブロックの出力ファイル拡張子名Ｅと、下流側画像ブロックの入力ファイル拡張子名Ｆを比較し、一致すればステップＳ２−２に進み、不一致であればステップＳ２−３に進む。
【０１０７】
ステップＳ２−２
ＣＰＵ９９（図１）は、実施例１と同様に、指定の入力端子と出力端子間を接続線で配線し、プログラム配置リスト１９３を更新し、配線を完了する。
【０１０８】
ステップＳ２−３
ＣＰＵ９９（図１）は、出力ファイル拡張子名Ｅと入力ファイル拡張子名Ｆの中間を埋める画像ブロックを検索する。ＣＰＵ９９（図１）は、スキャナウィンドウ設定リスト１５０（図３）、プリンタウィンドウ設定リスト２２１（図４）、コンピュータウィンドウ設定リスト２２６（図５）から、入力ファイル拡張子名“ＩＮＰＵＴ＿ＦＩＬＥ＿ＥＸＴ”が出力ファイル拡張子名Ｅと一致し、出力ファイル拡張子名“ＯＵＴＰＵＴ＿ＦＩＬＥ＿ＥＸＴ”が入力ファイル拡張子名Ｆと一致するＦＵＮＣＴＩＯＮブロックを全て検索する。該当するＦＵＮＣＴＩＯＮブロックが検出できない場合は、ステップＳ２−３をＮＯに示す方向に進み、配線動作を終了する。該当するＦＵＮＣＴＩＯＮブロックを検出できた場合ステップＳ２−４に進む。
【０１０９】
ステップＳ２−４
ＣＰＵ９９（図１）は、該当するＦＵＮＣＴＩＯＮブロックの画像ブロックを、中継候補ウィンドウ２１５に表示する。ユーザは、中継候補ウィンドウ２１５（図１８）から所望の中継画像ブロックを選択する。その後、ステップＳ２−５に進む。
【０１１０】
ステップＳ２−５
ＣＰＵ９９（図１）は、下流側画像ブロックを一列右に移動させる。プログラム配置リスト１９３（図２１、２２）の該当する行の列番号を１加算する。
【０１１１】
ステップＳ２−６
ＣＰＵ９９（図１）は、ステップＳ２−４で選択した中継画像ブロックを配置する。配置時にプログラム配置リスト１９３（図２１、２２）に、中継画像ブロックの情報を記載する。
【０１１２】
ステップＳ２−７
ＣＰＵ９９（図１）は、上流側画像ブロックの出力端子と中継画像ブロックの入力端子間を配線し、中継画像ブロックの出力端子と下流画像ブロックの入力端子を配線し、配線動作を終了する。
【０１１３】
以上が、本実施例の画像ブロック間配線時の動作である。一例として、図１８の実施例２の配置配線ウィンドウの説明図（その１）について説明する。図１８には、スキャン機能の画像ブロック５と、印刷機能の画像ブロック１７を配置した。その時のプログラム配置リストは図２１の通りである。
【０１１４】
図２０の手順に従って、以下のようにフローする。
ステップＳ２−１で、上流側画像ブロック５の出力ファイル拡張子は、図３のＦＵＮＣＴＩＯＮブロック１７４の“ＯＵＴＰＵＴ＿ＦＩＬＥ＿ＥＸＴ”で設定する“ＪＰＧ”であり、“ＪＰＧ”を出力ファイル拡張子名Ｅとする。下流側画像ブロック１７の入力ファイル拡張子は、図４のＦＵＮＣＴＩＯＮブロック２２４の“ＩＮＰＵＴ＿ＦＩＬＥ＿ＥＸＴ”で設定する“ＰＲＮ”であり、“ＰＲＮ”を入力ファイル拡張子名Ｆとする。
【０１１５】
ＣＰＵ９９（図１）は、出力ファイル拡張子名Ｅと入力ファイル拡張子名Ｆが不一致と判定し、ステップＳ２−３に進む。
ステップＳ２−３で、ＣＰＵ９９（図１）は、入力ファイル拡張子名“ＩＮＰＵＴ＿ＦＩＬＥ＿ＥＸＴ”が出力ファイル拡張子名Ｅと一致し、“ＯＵＴＰＵＴ＿ＦＩＬＥ＿ＥＸＴ”が入力ファイル拡張子名Ｆと一致するＦＵＮＣＴＩＯＮブロックを、スキャナウィンドウ設定リスト１５０（図３）、プリンタウィンドウ設定リスト２２１（図４）、コンピュータウィンドウ設定リスト２２６（図５）から検索する。このとき、コンピュータウィンドウ設定リスト２２６のＦＵＮＣＴＩＯＮブロック２２７を検出し、ステップＳ２−４に進む。
【０１１６】
ステップＳ２−４で、ＣＰＵ９９（図１）は、ステップＳ２−３で検出したＦＵＮＣＴＩＯＮブロック２２７から“ＦＮＡＭＥ”だけを取り出した画像ブロック２５を作成し、画像ブロック２５を中継候補として、図１８の中継候補ウィンドウ２１５に表示する。ここでユーザは、中継候補ウィンドウ２１５から画像ブロック２５を選択する。ステップＳ２−５で、ＣＰＵ９９（図１）は、下流側画像ブロック１７を、１列右の第３列に移動する。その際、図２１に示すプログラム配置リスト１９３の２行目の列番号フィールド１９６の値“２”に１加算し、“３”とする。
【０１１７】
ステップＳ２−５でＣＰＵ９９（図１）は、ステップＳ２−４で選択された画像ブロック２５に関連したＦＵＮＣＴＩＯＮブロック２２７の、配置配線ウィンドウ４４上に配置する画像ブロック群６５を、第１行第２列に配置する。そのとき、図２２に示すようにプログラム配置リスト１９３の３行目に、画像ブロック群６５の配置情報を記載する。このとき、図２１のプログラム配置リスト１９３の３行目の接続番号フィールド１９８に値は記載されていない。
【０１１８】
ステップＳ２−７でＣＰＵ９９（図１）は、画像ブロック５の出力端子９と画像ブロック群６５内の画像ブロック２５の入力端子２６間を接続し、画像ブロック群６５内の画像ブロック２５のファイル出力端子２７と、画像ブロック１７のファイル入力端子１９を接続する。その際ＣＰＵ９９（図１）は、図２２に示すように、プログラム配置リスト１９３の２行目の接続番号フィールドの値を３にし、３行目の接続番号フィールドの値を１にする。以上のようでフローを終了する。
【０１１９】
以上説明したように、本実施例では、直接は接続できない画像ブロック間に挿入可能な画像ブロックを提示し、更なる開発時間短縮が期待できるという効果を得る。更に、ユーザが予想しない組合せを提示でき、統合プログラム開発の幅を広げられるという効果を得る。
【産業上の利用可能性】
【０１２０】
以上の説明では、本発明によるエディタプログラムが、情報蓄積手段１０２（図１）に予め格納されている機器操作支援システムとして説明したが、本発明はこの例に限定されるものではない。即ち、本発明によるエディタプログラムを、一例としてフロッピー（登録商標）ディスクなどのプログラム格納媒体に格納し、必要に応じて情報蓄積手段１０２（図１）にインストールするようにしても良い。
【図面の簡単な説明】
【０１２１】
【図１】実施例１のシステム構成を示すブロック図である。
【図２】実施例１のプログラム選択ウィンドウの説明図である。
【図３】スキャナウィンドウ設定リストの説明図である。
【図４】プリンタウィンドウ設定リストの説明図である。
【図５】コンピュータウィンドウ設定リストの説明図である。
【図６】実施例１の配置配線ウィンドウの説明図（その１）である。
【図７】実施例１の配置配線ウィンドウの説明図（その２）である。
【図８】画像ブロック群の行列寸法説明図である。
【図９】表示部品選択ウィンドウの説明図である。
【図１０】操作画面作成ウィンドウの説明図である。
【図１１】表示部品配置リストの説明図である。
【図１２】総合プログラムリストの説明図である。
【図１３】実施例１のプログラム配置リストの説明図である。
【図１４】実施例１のパラメータリストの説明図である。
【図１５】統合プログラムリスト作成のフローチャートである。
【図１６】実施例１のプログラム番号（Ｒ、Ｃ）の説明図である。
【図１７】実施例１のコマンドライン作成手順のフローチャートである。
【図１８】実施例２の配置配線ウィンドウの説明図（その１）である。
【図１９】実施例２の配置配線ウィンドウの説明図（その２）である。
【図２０】実施例２の配線動作手順のフローチャートである。
【図２１】実施例２のプログラム配置リストの説明図（その１）である。
【図２２】実施例２のプログラム配置リストの説明図（その２）である。
【符号の説明】
【０１２２】
５    画像ブロック
７    パラメータ入力端子
８    パラメータ入力端子
９    出力端子
１０    選択枠
１７    画像ブロック
１９    入力端子
２５    画像ブロック
２６    ファイル入力端子
２７    ファイル出力端子
２８    パラメータ入力端子
２９    パラメータ入力端子
３０    パラメータ入力端子
３１    画像ブロック
３３    ファイル入力端子
３４    パラメータ入力端子
３８    画像ブロック
４０    ファイル入力端子
４４    配置配線ウィンドウ
４６    パラメータブロック
４７    接続線
４８    パラメータブロック
４９    接続線
５９    境界線
６０    接続線
６２    接続線
６５    画像ブロック群
６６    パラメータブロック
６７    接続線
６８    パラメータブロック
６９    接続線
７０    パラメータブロック
７１    接続線
７５    接続線
７６    画像ブロック
７７    パラメータブロック
７８    接続線
８２    接続線
９０    空きスペース
９２    空きスペース
９３    空きスペース
【図１】
2007272809.tif 000003
【図２】
2007272809.tif 000004
【図３】
2007272809.tif 000005
【図４】
2007272809.tif 000006
【図５】
2007272809.tif 000007
【図６】
2007272809.tif 000008
【図７】
2007272809.tif 000009
【図８】
2007272809.tif 000010
【図９】
2007272809.tif 000011
【図１０】
2007272809.tif 000012
【図１１】
2007272809.tif 000013
【図１２】
2007272809.tif 000014
【図１３】
2007272809.tif 000015
【図１４】
2007272809.tif 000016
【図１５】
2007272809.tif 000017
【図１６】
2007272809.tif 000018
【図１７】
2007272809.tif 000019
【図１８】
2007272809.tif 000020
【図１９】
2007272809.tif 000021
【図２０】
2007272809.tif 000022
【図２１】
2007272809.tif 000023
【図２２】
2007272809.tif 000024