(57)【特許請求の範囲】
【請求項１】
再書込みが可能なフラッシュメモリを備え、このフラッシュメモリの内容をランダムアクセスメモリに書込み、このランダムアクセスメモリに書き込まれたデータ内容にしたがって動作するデータ処理装置において、
動作に係るデータを所定単位毎に前記フラッシュメモリに順次書き込む書込手段と、
この書込手段によって前記フラッシュメモリに書き込まれた所定単位のデータの先頭位置および終了位置に書込み開始を示す識別子および書込み終了を示す識別子を付加する付加手段と、
前記ランダムアクセスメモリに書き込まれたデータ内容にしたがって動作するために、所定単位のデータをその先頭位置および終了位置に付加されている各識別子と共に前記フラッシュメモリから読み出す読出手段と、
前記読出手段によって前記フラッシュメモリから読み出された所定単位のデータに付加されている書込み開始および書込み終了の各識別子が一致するか否かを検出して、各識別子が一致する場合にはその読み出された所定単位のデータを前記ランダムアクセスメモリに書込み、各識別子が一致しない場合にはその読み出された所定単位のデータを不良と判定する検出手段と、
を具備したことを特徴とするデータ処理装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
この発明は、再書き込みが可能なフラッシュメモリを備え、このフラッシュメモリに書き込まれたデータ内容にしたがって動作する電子式キャッシュレジスタ等のデータ処理装置に関する。
【０００２】
【従来の技術】
一般に、フラッシュメモリは予め決められている書き込み可能回数の範囲内において任意に再書き込みができるＥＰＲＯＭやＥＥＰＲＯＭによって構成されており、紫外線や電気的にデータを消去することにより再書き込みを行うようにしている。
ところで、ＥＥＰＲＯＭ内蔵型のデータ処理装置において、ＥＥＰＲＯＭ内にプログラムファイルやシステムプリセットデータを初期設定する場合、製品出荷時にリードオンリメモリから各種のアプリケーションプログラムや通信速度等を示すシステムプリセットデータを所定単位毎に読み出してＥＥＰＲＯＭに書き込むようにしている。このようにしてＥＥＰＲＯＭ内にリードオンリメモリの内容をコピーした初期設定後において、データ処理装置はＥＥＰＲＯＭの内容にしたがって動作するが、その動作内容を一部変更する必要が生じた場合にはＥＥＰＲＯＭの内容をそれに応じて修正するようにしている。
【０００３】
【発明が解決しようとする課題】
ところで、ＥＥＰＲＯＭに対する初期設定時やその設定内容の修正時において、ＥＥＰＲＯＭへのデータ書き込み中に停電が一時的にでも発生すると、書き込み不良となってＥＥＰＲＯＭ内のデータが破壊されてしまうおそれがあり、データ処理装置の誤動作の原因となるという重大な欠点があった。このようなことはノイズの発生時でも同様であった。
この発明の課題は、フラッシュメモリへのデータ書き込み中において瞬時停電等の影響を受けて書き込み不良が発生したとしてもフラッシュメモリの内容を読み出す際に、データが正しく書き込まれているか否かを確認できるようにすることである。
【０００４】
【課題を解決するための手段】
請求項１記載の発明の手段は次の通りである。
再書込みが可能なフラッシュメモリ（実施例においては、ＥＥＰＲＯＭ２）を備え、このフラッシュメモリの内容をランダムアクセスメモリ（実施例においては、ＲＡＭ３）に書込み、このランダムアクセスメモリに書き込まれたデータ内容にしたがって動作（実施例においては、ＰＯＳ（ポイント・オブ・セールス）ターミナルの動作）するデータ処理装置において、
（１）書込手段（実施例においては、ＣＰＵ５）は、動作に係るデータ（実施例においては、アプリケーションプログラム等のプログラムファイルのほか、通信速度、データ長、プッシュ回線等のデータ）を所定単位（実施例においては、１ブロック）毎にフラッシュメモリに順次書き込む。
（２）付加手段（実施例においては、ＣＰＵ５）は、この書込手段によってフラッシュメモリに書き込まれた所定単位のデータの先頭位置および終了位置に書込み開始を示す識別子（実施例においては、スタートコード「Ｓ」の番号）および書込み終了を示す識別子（実施例においては、エンドコード「Ｅ」の番号）を付加する。
（３）読出手段（実施例においては、ＣＰＵ５）は、ランダムアクセスメモリに書き込まれたデータ内容にしたがって動作するために、所定単位のデータをその先頭位置および終了位置に付加されている各識別子と共にフラッシュメモリから読み出す。
（４）検出手段（実施例においては、ＣＰＵ５）は、読出手段によってフラッシュメモリから読み出された所定単位のデータに付加されている書込み開始および書込み終了の各識別子が一致するか否かを検出して、各識別子が一致する場合にはその読み出された所定単位のデータをランダムアクセスメモリに書込み、各識別子が一致しない場合にはその読み出された所定単位のデータを不良と判定する。
【０００５】
【作用】
請求項１記載の発明の作用は次の通りである。
所定単位のデータがフラッシュメモリに書き込まれる際に、その所定単位のデータの先頭位置および終了位置に書込み開始を示す識別子および書込み終了を示す識別子が付加される。
ランダムアクセスメモリに書き込まれたデータ内容にしたがって、このデータ処理装置が動作するために、フラッシュメモリからデータ読み出し時においては、所定単位のデータが読み出される毎に、その先頭位置および終了位置に付加されている各識別子が一致するか否かに応じてそのデータの書き込み不良の有無が検出される。
したがって、フラッシュメモリへのデータ書き込み中において、瞬時停電等の影響を受けて書き込み不良が発生したとしても、このデータ処理装置が動作するために、ランダムアクセスメモリに書き込むデータをフラッシュメモリから読み出す際に、そのデータが正しく書き込まれているか否かを確認することができる。
【０００６】
【実施例】
以下、図１〜図６を参照して一実施例を説明する。
図１はＥＥＰＲＯＭ内蔵型のデータ処理装置を示したブロック図である。
このデータ処理装置はＰＯＳ（ポイント・オブ・セールス）システムを構成するＰＯＳターミナルとしての電子式キャッシュレジスタ（ＥＣＲ）で、その内部メモリとしてＲＯＭ１、ＥＥＰＲＯＭ２、ＲＡＭ３を有する構成となっている。
ＲＯＭ１は予め設定されている各種のプログラムファイル（オペレーティングシステム等の基本プログラムの他、アプリケーションプログラム）や通信速度等を示すプリセットデータを固定的に記憶するリードオンリメモリで、その内容は製品出荷時において、メイン電源投入後、ＭＡＣ（メモリオールクリア）スイッチ４が操作されると、ＥＥＰＲＯＭ２にコピーされる。ここで、ＲＯＭ１からＥＥＰＲＯＭ２にコピーされるプログラムファイルはアプリケーションプログラムであり、オペレーティングシステム等の基本プログラムはＥＥＰＲＯＭ２にコピーされず、ＣＰＵ５はＲＯＭ１をアクセスして入出力動作等をＲＯＭ１内の基本プログラムにしたがって制御する。
【０００７】
ＥＥＰＲＯＭ２は予め決められた書き込み可能回数の範囲内において任意に再書き込み可能なフラッシュメモリで、その設定内容は必要に応じて修正される。このＥＥＰＲＯＭ２の内容はメイン電源投入時にＲＡＭ３にコピーされる。このＲＡＭ３は任意にリード／ライドが可能なランダムアクセスメモリで、その設定内容にしたがってＣＰＵ５は売上データの登録処理や通信処理等を実行する。このようにＥＥＰＲＯＭ２の内容をメイン電源投入毎にＲＡＭ３にコピーするようにしたのは、本実施例において、１ビットづつシリアルにデータをＥＥＰＲＯＭ２から読み出すようにしたためであり、処理効率の向上を図る上で電源投入時にＥＥＰＲＯＭ２の内容を一括してＲＡＭ３にコピーするようにしている。
【０００８】
ＣＰＵ５はＲＯＭ１やＲＡＭ３をアクセスしてデータ処理装置の全体動作を制御する中央演算処理装置であり、キー入力部６から入力された売上データを表示部７から表示出力させたり、ＲＡＭ３内の各種合計器に登録し、また、ＲＡＭ３内に登録された売上データを通信制御部８を介してマスタＥＣＲ等に送信する。
【０００９】
図２はＲＯＭ１、ＥＥＰＲＯＭ２、ＲＡＭ３のメモリ内容を示したもので、ＲＯＭ１はオペレーティングシステム、アプリケーションプログラム等のプログラムファイルの他、通信速度、通信データのブロック長等を示すシステムプリセットデータを固定的に記憶するもので、その内容は基本プログラムを除き、ＥＥＰＲＯＭ２にコピーされる。ＥＥＰＲＯＭ２はＲＯＭ１からコピーされたアプリケーションプログラムやシステムプリセットデータを記憶するもので、その内容はＲＡＭ３内のシステムエリアにコピーされる。ＲＡＭ３はユーザーエリア、システムエリアを有する構成で、ユーザーエリアには各種合計器やワークメモリを有し、システムエリアにはＲＡＭ３からコピーされたアプリケーションプログラムやシステムプリセットデータを記憶する領域と、チェックＮｏカウンタ３−１を有する構成となっている。このチェックＮｏカウンタ３−１はＲＯＭ１からＲＡＭ３を介してＥＥＰＲＯＭ２へデータが所定単位毎に書き込まれる毎に、その値がプラス「１」づつ更新されるカウンタで、ＥＥＰＲＯＭ２に書き込まれたデータの先頭位置と終了位置にそのカウンタ値が書き込まれる。つまり、このチェックＮｏカウンタ３−１の値はデータの書き込み開始／終了を示す識別子で、図２（Ｄ）に示すようにＥＥＰＲＯＭ２内にデータが書き込まれる毎に同一カウンタ値がデータ書き込みの開始／終了を示す識別子としてＥＥＰＲＯＭ２内に付加される。したがって、ＥＥＰＲＯＭ２内に書き込まれた各データはチェックＮｏカウンタ３−１の値によって挾まれた状態で格納される。以下、データの書き込み開始位置に付された識別子をスタートコード「Ｓ」、書き込み終了位置に付された識別子をエンドコード「Ｅ」と称する。
【００１０】
次に、本実施例の動作を図３〜図６に示すフローチャートにしたがって説明する。
図３はメイン電源投入に伴って実行開始される全体動作の概要を示したゼネラルフローチャートである。
先ず、メイン電源が投入されると、ＣＰＵ５はＭＡＣスイッチ４が操作されたかをチェックする（ステップＡ１）。ここで、例えば、製品出荷時や製品納入後の初期電源等投入時等において、ＭＡＣスイッチ４が操作されると、ＣＰＵ５はＲＯＭ→ＲＡＭ→ＥＥＰＲＯＭ設定処理を行う（ステップＡ２）。
【００１１】
図４はこの設定処理を示したフローチャートで、この設定処理に入ると、ＣＰＵ５はＲＡＭ３内のチェックＮｏカウンタ３−１に初期値「０」をセットしてチェックＮｏカウンタ３−１の内容をクリアすると共に（ステップＢ１）、ＲＡＭ３内のシステムエリアおよびＥＥＰＲＯＭ２の内容を全て消去する（ステップＢ２）。次にＲＯＭ１から１ブロック分のデータをリードしてＲＡＭ３のシステムエリアにコピーする。この場合、オペレーティングシステム等の基本プログラムを除くＲＯＭ１内の全データをＲＡＭ３内のシステムエリアにコピーし終るまで（ステップＢ４）、次のブロックを指定しながら（ステップＢ５）、１ブロックづつコピーしてゆく。
【００１２】
このようにしてＲＯＭ１内のアプリケーションプログラムやシステムプリセットデータをＲＡＭ３内のシステムエリアに全てコピーし終ると、ＣＰＵ５はＲＡＭ３内のチェックＮｏカウンタ３−１に「１」を加算してその値をインクリメントする（ステップＢ６）。そして、このチェックＮｏカウンタ３−１の値をＥＥＰＲＯＭ２内にスタートコードとしてセットしておく（ステップＢ７）。その後、ＣＰＵ５はＲＡＭ３内のシステムエリアをアクセスし、その先頭１ブロック分のデータをリードしてＥＥＰＲＯＭ２にコピーすると共に（ステップＢ８）、このデータの末尾にチェックＮｏカウンタ３−１の値をエンドコードとしてＥＥＰＲＯＭ２にセットする（ステップＢ９）。これによってＲＡＭ３にコピーされた先頭ブロックのデータはスタートコード「１」、エンドコード「１」によって挾まれた状態となる。そして、ＲＡＭ３内のシステムエリアの内容を全てＥＥＰＲＯＭ２にコピーし終るまで（ステップＢ１０）、次ブロックを指定しながら（ステップＢ１１）、チェックＮｏカウンタ３−１の値をインクリメントしてゆき（ステップＢ６）、以下、ステップＢ７〜Ｂ９の動作を繰り返す。これによって、ＥＥＰＲＯＭ２内には１ブロック毎にスタートコード、エンドコードで挾まれたデータが書き込まれてゆく。この場合、１ブロック目のスタートコード、エンドコードはそれぞれ「１」、２ブロック目のスタートコード、エンドコードはそれぞれ「２」、３ブロック目のスタートコード、エンドコードはそれぞれ「３」……となる。つまり、ブロック順にスタートコード、エンドコードはシークェンシャルの数値データ「１」、「２」、「３」……となるが、同一ブロックについては同じ数値データとなる。
【００１３】
このようなＲＯＭ→ＲＡＭ→ＥＥＰＲＯＭ設定処理が終ると、図３のステップＡ３に進み、システム設定フラグをＥＥＰＲＯＭ２にセットする。なお、このシステム設定フラグはＲＯＭ→ＲＡＭ→ＥＥＰＲＯＭ設定処理が終ったことを示すフラグである。その後、通常のＭＡＣ処理に移る（ステップＡ４）。このように製品出荷時や製品納入後の初期電源投入時において、ＭＡＣスイッチ４が操作されると、ステップＡ２〜Ａ４の処理が実行されるが、ＭＡＣスイッチ４の操作は上述の場合に限らず、必要に応じて適宜操作されるが、この場合においても上述のステップＡ２〜Ａ４が実行されることは勿論である。
【００１４】
次に、一日の営業始め等において、メイン電源の投入時にはＭＡＣスイッチ４は操作されないので、ステップＡ５に進み、ＥＥＰＲＯＭ２内にシステム設定フラグがセットされているか否かをチェックする。ここで、ＭＡＣスイッチ４の操作後においては上述のようにシステム設定フラグがセットされているので、ステップＡ７に進み、ＥＥＰＲＯＭ→ＲＡＭ設定処理が行われる。一方、ＥＥＰＲＯＭ２内にシステム設定フラグがセットされていなければ、ＭＡＣスイッチ４が操作されなくても上述と同様にＲＯＭ→ＲＡＭ→ＥＥＰＲＯＭ設定処理（ステップＡ６）を行ったのち、ＥＥＰＲＯＭ２にシステム設定フラグをセットする処理（ステップＡ８）が行われる。
【００１５】
図５はＥＥＰＲＯＭ→ＲＡＭ設定処理を示したフローチャートである。
先ず、ＥＥＰＲＯＭ２の先頭から１ビットづつシリアルに読み出されたデータを取り込むことにより１ブロック分のデータが揃うと（ステップＣ１）、ＣＰＵ５はそのスタートコードとエンドコードとを比較し（ステップＣ２）、両者が一致するか否かをチェックする（ステップＣ３）。ここで、スタートコードとエンドコードとが同一数値であれば、上述したＲＯＭ→ＲＡＭ→ＥＥＰＲＯＭ設定処理において、ＥＥＰＲＯＭ２にデータが正常に書き込まれたものと認識するが、同一数値でなければ、瞬時停電等の影響を受けて書き込み不良を起したものと認識する。つまり、ＥＥＰＲＯＭ２へのデータ書き込み中において、停電が発生して書き込み不良が起きると、そのデータを挾むスタートコードとエンドコードとが一致しなくなるので、このスタートコードとエンドコードとの整合をチェックすることによってＥＥＰＲＯＭ２へのデータ書き込み中に停電等が発生して書き込み不良が起きたか否かを認識するようにしている。
【００１６】
いま、書き込みが正常に行われたことを認識すると、ＣＰＵ５はＥＥＰＲＯＭ２から読み出した１ブロック分のデータをＲＡＭ３のシステムエリアに書き込む（ステップＣ４）。そして、次のステップＣ５で、ＥＥＰＲＯＭ２内の全データをＲＡＭ３にコピーしたか否かをチェックし、全データをコピーし終るまで次のブロックを指定し（ステップＣ６）、指定ブロックのデータをＥＥＰＲＯＭ２から読み込む処理に戻る（ステップＣ１）。このようにして１ブロックづつＥＥＰＲＯＭ２内のデータが正常に書き込まれたものであるか否かをそのスタートコードとエンドコードとを比較することによってチェックしてゆき、全ブロック分のデータが正常であれば、ＥＥＰＲＯＭ２の内容を全てＲＡＭ３のシステムエリアにコピーした時点で、このＥＥＰＲＯＭ→ＲＡＭ設定処理は終了する。
【００１７】
一方、ＥＥＰＲＯＭ２からＲＡＭ３へ１ブロックづつデータを書き込む過程において、１ブロックでもそのスタートコードとエンドコードとが一致せず、書き込み不良が検出されると、上述したＲＯＭ→ＲＡＭ→ＥＥＰＲＯＭ設定処理が再び行われる（ステップＣ７）。この場合、ＥＥＰＲＯＭ２の内容が製品出荷時の初期システム設定状態に戻ったことをブザーや警報ランプの点滅表示によって報知する（ステップＣ８）。つまり、ＥＥＰＲＯＭ２の内容は任意に修正可能であり、ＥＥＰＲＯＭ２の内容を修正したのちにおいて、ＥＥＰＲＯＭ２内にＲＯＭ１の内容を強制的に設定して出荷時の初期状態に戻されるためその旨を報知するようにしている。
【００１８】
このようなＥＥＰＲＯＭ→ＲＡＭ設定処理が終ると、図２のステップＡ９に進み、入力待ち状態となる。いま、通常のキー操作手順にしたがってあるファンクションキーが操作されたものとすると、次のステップＡ１０ではＥＥＰＲＯＭ２に対する修正指令が入力されたか否かを調べ、その他の入力指令であれば、それに応じてＲＡＭ３内のシステムエリアをアクセスして通常処理（売上データの登録処理や通信処理等）を実行する（ステップＡ１２）。一方、ＥＥＰＲＯＭ２に対する修正指令が入力されたものとすると、ステップＡ１１に進み、ＥＥＰＲＯＭ修正処理に移る。
【００１９】
図６はこのＥＥＰＲＯＭ修正処理を示したフローチャートである。
先ず、ＣＰＵ５はＥＥＰＲＯＭ２の内容を全て消去すると共に（ステップＤ１）、ＲＡＭ３内のチェックＮｏカウンタ３−１に「０」をセットする（ステップＤ２）。このようなイニシャライズ処理が終ると、入力された修正データに基づいてＲＡＭ３内のシステムエリアの内容を修正する（ステップＤ３）。この場合、ＲＡＭ３内のシステムエリアの内容を一部修正する場合には、修正部分のデータのみを入力してその内容を修正データに書き替える。そして、修正終了が指示されるまで（ステップＤ４）、ＲＡＭ３の内容を修正する処理が行われる（ステップＤ３）。このようにしてＲＡＭ３の内容を修正すると、ＣＰＵ５はチェックＮｏカウンタ３−１の値をインクリメントし（ステップＤ５）、この値をＥＥＰＲＯＭ２内にスタートコードしてセットする（ステップＤ６）。そして、ＲＡＭ３内のシステムエリアの先頭から１ブロック分のデータをリードしてＥＥＰＲＯＭ２にコピーすると共に（ステップＤ７）、チェックＮｏカウンタ３−１の値をＥＥＰＲＯＭ２内にエンドコードとしてセットする（ステップＤ８）。このような処理ステップＤ５〜Ｄ８は全データをコピーし終るまで（ステップＤ９）、次ブロックを指定しながら（ステップＤ１０）、１ブロックづつ繰り返される。これによってＥＥＰＲＯＭ２内に初期設定された内容が任意に修正される。
【００２０】
そして、図２のステップＡ１３に進み、ＥＥＰＲＯＭ２にシステム設定フラグがセットされる。このため、次の電源投入時には修正された後のＥＥＰＲＯＭ２の内容がＲＡＭ３にコピーされるため（ステップＡ７）、ＣＰＵ５は修正後の内容にしたがって通常処理を行う（ステップＡ１２）。このようにＲＯＭ１の他にＥＥＰＲＯＭ２が内蔵されているので、製品出荷時に初期設定された処理内容を後で任意に変更することができる。
【００２１】
以上のように本実施例においては、ＲＯＭ→ＲＡＭ→ＥＥＰＲＯＭ設定処理およびＥＥＰＲＯＭ修正処理において、ＥＥＰＲＯＭ２へデータを１ブロックづつ書き込む際に、スタートコードとエンドコードとでデータを挾んでＥＥＰＲＯＭ２に書き込んでおき、その後、ＥＥＰＲＯＭ→ＲＡＭ設定処理において、ＥＥＰＲＯＭ２からデータを読み出す際に、１ブロック毎にスタートコードとエンドコードとが一致するか否かをチェックすることによってＥＥＰＲＯＭ２内のデータの書き込み不良を検出するようにしたから、ＥＥＰＲＯＭ２への書き込み中に停電等の異常があったか否かをＥＥＰＲＯＭ２からデータを読み出す毎に確認することができる。
【００２２】
この場合、書き込み不良が検出されると、ＥＥＰＲＯＭ２の内容は製品出荷時の初期状態に戻される。つまり、ＥＥＰＲＯＭ２への書き込み中に停電等の異常が発生したとしてもその後、ＥＥＰＲＯＭ２の内容は少なくとも製品出荷時の初期状態に戻されるので、書き込み不良に伴う誤動作を防止することができる。この場合、ＥＥＰＲＯＭ２の内容が修正されていれば、再度、その内容を修正すればよい。
また、電源投入毎に、ＥＥＰＲＯＭ２の内容をＲＡＭ３にコピーしたのちこのＲＡＭ３の内容にしたがって通常処理を行うようにしたから、１ビットづつシリアルにデータを読み出す方式のＥＥＰＲＯＭ２を処理毎に直接アクセスするよりも処理効率を大幅に向上させることが可能となる。また、メモリバックアップ用の二次電池も不良となり、バックアップ時間を気にする必要もなくなる。
【００２３】
なお、上記実施例はＲＯＭ→ＲＡＭ→ＥＥＰＲＯＭ設定処理において、チェックＮｏカウンタ３−１の値を「０」に戻すようにしたが、必ずしもチェックＮｏカウンタ３−１の内容をクリアする必要はない。また、上記実施例はスタートコードとエンドコードとを同一のチェックＮｏカウンタ３−１の値としたが、例えば、１ブロック目のスタートコードを「１」、そのエンドコードを「２」、次のブロックのスタートコードを「３」……のようにシークェンシャル番号としてもよい。
また、上記実施例はフラッシュメモリとしてＥＥＰＲＯＭを内蔵したが、ＥＰＲＯＭであってもよい。
【００２４】
【発明の効果】
この発明によれば、フラッシュメモリへのデータ書き込み中において瞬時停電等の影響を受けて書き込み不良が発生したとしてもフラッシュメモリの内容を読み出す際に、データが正しく書き込まれているか否かを確認することが可能となり、しかも、データが正しく書き込まれていれば直ちに通常処理が行え、データが正しく書き込まれていなければ書き込み不良を解消したうえで通常処理を行なわせることができる。
【図面の簡単な説明】
【図１】実施例に係るＰＯＳターミナルとしての電子式キャッシュレジスタを示したブロック構成図。
【図２】ＲＯＭ１、ＥＥＰＲＯＭ２、ＲＡＭ３の内容を説明するための図。
【図３】電源投入に伴って実行開始される全体動作の概要を示したゼネラルフローチャート。
【図４】図３のステップＡ２、Ａ６（ＲＯＭ→ＲＡＭ→ＥＥＰＲＯＭ設定処理）を説明するためのフローチャート。
【図５】図３のステップＡ７（ＥＥＰＲＯＭ→ＲＡＭ設定処理）を説明するためのフローチャート。
【図６】図３のステップＡ１１（ＥＥＰＲＯＭ修正処理）を説明するためのフローチャート。
【符号の説明】
１  ＲＯＭ
２  ＥＥＰＲＯＭ
３  ＲＡＭ
３−１  チェックＮｏカウンタ
４  ＭＡＣスイッチ
５  ＣＰＵ
【図１】
0003603333.tif 000002
【図２】
0003603333.tif 000003
【図３】
0003603333.tif 000004
【図４】
0003603333.tif 000005
【図５】
0003603333.tif 000006
【図６】
0003603333.tif 000007