機器に搭載され、上書き不可能なメモリに順次発生する複数種類のデータを書き込むデータ書込読取装置において、前記メモリの領域内に複数のブロックを設け、前記複数のブロックの1つを最新ブロックとして設定する最新ブロック設定手段と、前記データが発生する毎に又は所定時間経過する毎に前記最新ブロックの空き領域の先頭から順に当該発生したデータ又は前記機器使用開始からの経過時間データにデータ種類又はデータ長を付加したデータを書き込む書込読取手段と、前記最新ブロックに空き領域があるか否かを判定する空き領域判定手段と、前記空き領域判定手段により空き領域がないと判定された場合、前記最新ブロックを除いた他のブロックの少なくとも一つに格納されたデータを全消去する消去手段と、前記消去手段により全消去された後、種類毎に最新又は最新から所定個前までのデータを前記他のブロックの先頭に順に書き込むデータ書込手段と、を備え、前記最新ブロック設定手段が、前記データ書込手段による書き込み終了後、当該他のブロックを最新ブロックとして設定することを特徴とするデータ書込読取装置。前記データ書込手段が、前記消去手段により全消去された後、前記最新ブロックの後ろから順にデータを読み取り、前記データを付加したデータ種類又はデータ長に基づいて種類毎に一番後ろ又は一番後ろから所定個前までのデータを抽出し、当該抽出したデータを前記他のブロックの先頭から順に書き込むことを特徴とする請求項1に記載のデータ書込読取装置。上書き可能な第2メモリに前記書込読取手段により書き込まれる複数種類のデータのうち少なくとも1つの種類のデータを前記書込読取手段により書き込まれる毎に上書きする上書き手段をさらに備え、前記データ書込手段が、前記消去手段により全消去された後、前記最新ブロックの後ろから順にデータを読み取り、前記データに付加したデータ種類又はデータ長に基づいて、前記第2メモリに上書きされている種類を除いた各種類毎に一番後ろ又は一番後ろから所定個前までのデータを抽出し、前記第2メモリに格納されたデータ及び当該抽出したデータを前記消去手段により全消去された他のブロックの先頭から順に書き込むことを特徴とする請求項1に記載のデータ書込読取装置。前記メモリには、前記経過時間データが書き込まれ、前記各ブロックに格納された前記経過時間データを比較し、最大経過時間が書き込まれているブロックを最新ブロックとして判定する最新ブロック判定手段をさらに備え、前記書込読取手段が、前記最新ブロックの後ろから前に向かって順にデータを読み取り、前記データに付加されたデータ種類又はデータ長に基づいて種類毎に一番後ろ又は一番後ろから所定個前までのデータを読み取ることを特徴とする請求項1~3何れか1項に記載のデータ書込読取装置。前記書込読取手段及び前記データ書込手段が、前記データに付加されているデータ種類からデータ長を判定し、そのデータが書き込まれているエリアを判定することを特徴とする請求項1~4いずれか1項に記載のデータ書込読取装置。機器に搭載され、上書き不可能なメモリに順次発生する複数種類のデータを書き込むデータ書込読取方法において、前記メモリの領域内に複数のブロックを設け、前記複数のブロックの1つを最新ブロックとして設定する最新ブロック設定工程と、前記データが発生する毎に又は所定時間経過する毎に前記最新ブロックの空き領域の先頭から順に当該発生したデータ又は前記機器使用開始からの経過時間データにデータ種類又はデータ長を付加したデータを書き込む書込読取工程と、前記最新ブロックに空き領域があるか否かを判定する空き領域判定工程と、前記空き領域判定工程により空き領域がないと判定された場合、前記最新ブロックを除いた他のブロックの少なくとも一つに格納されたデータを全消去する消去工程と、前記消去工程により全消去された後、種類毎に最新又は最新から所定個前までのデータを前記他のブロックの先頭に順に書き込むデータ書込工程と、を備え、前記最新ブロック設定工程が、前記データ書込工程による書き込み終了後、当該他のブロックを最新ブロックとして設定することを特徴とするデータ書込読取方法。そこで、本発明は、データが発生する毎に、書き込むデータ量を少なくすることにより、消去回数が削減でき、効率良く上書き不可なメモリを使用することができるデータ書込読取装置及びデータ書込読取方法を提供することを課題とする。上述した課題を解決するための請求項1記載の発明は、機器に搭載され、上書き不可能なメモリに順次発生する複数種類のデータを書き込むデータ書込読取装置において、前記メモリの領域内に複数のブロックを設け、前記複数のブロックの1つを最新ブロックとして設定する最新ブロック設定手段と、前記データが発生する毎に又は所定時間経過する毎に前記最新ブロックの空き領域の先頭から順に当該発生したデータ又は前記機器使用開始からの経過時間データにデータ種類又はデータ長を付加したデータを書き込む書込読取手段と、前記最新ブロックに空き領域があるか否かを判定する空き領域判定手段と、前記空き領域判定手段により空き領域がないと判定された場合、前記最新ブロックを除いた他のブロックの少なくとも一つに格納されたデータを全消去する消去手段と、前記消去手段により全消去された後、種類毎に最新又は最新から所定個前までのデータを前記他のブロックの先頭に順に書き込むデータ書込手段と、を備え、前記最新ブロック設定手段が、前記データ書込手段による書き込み終了後、当該他のブロックを最新ブロックとして設定することを特徴とするデータ書込読取装置に存する。請求項2記載の発明は、前記データ書込手段が、前記消去手段により全消去された後、前記最新ブロックの後ろから順にデータを読み取り、前記データを付加したデータ種類又はデータ長に基づいて種類毎に一番後ろ又は一番後ろから所定個前までのデータを抽出し、当該抽出したデータを前記他のブロックの先頭から順に書き込むことを特徴とする請求項1に記載のデータ書込読取装置に存する。請求項3記載の発明は、上書き可能な第2メモリに前記書込読取手段により書き込まれる複数種類のデータのうち少なくとも1つの種類のデータを前記書込読取手段により書き込まれる毎に上書きする上書き手段をさらに備え、前記データ書込手段が、前記消去手段により全消去された後、前記最新ブロックの後ろから順にデータを読み取り、前記データに付加したデータ種類又はデータ長に基づいて、前記第2メモリに上書きされている種類を除いた各種類毎に一番後ろ又は一番後ろから所定個前までのデータを抽出し、前記第2メモリに格納されたデータ及び当該抽出したデータを前記消去手段により全消去された他のブロックの先頭から順に書き込むことを特徴とする請求項1に記載のデータ書込読取装置に存する。請求項4記載の発明は、前記メモリには、前記経過時間データが書き込まれ、前記各ブロックに格納された前記経過時間データを比較し、最大経過時間が書き込まれているブロックを最新ブロックとして判定する最新ブロック判定手段をさらに備え、前記書込読取手段が、前記最新ブロックの後ろから前に向かって順にデータを読み取り、前記データに付加されたデータ種類又はデータ長に基づいて種類毎に一番後ろ又は一番後ろから所定個前までのデータを読み取ることを特徴とする請求項1~3何れか1項に記載のデータ書込読取装置に存する。請求項5記載の発明は、前記書込読取手段及び前記データ書込手段が、前記データに付加されているデータ種類からデータ長を判定し、そのデータが書き込まれているエリアを判定することを特徴とする請求項1~4いずれか1項に記載のデータ書込読取装置に存する。請求項6記載の発明は、機器に搭載され、上書き不可能なメモリに順次発生する複数種類のデータを書き込むデータ書込読取方法において、前記メモリの領域内に複数のブロックを設け、前記複数のブロックの1つを最新ブロックとして設定する最新ブロック設定工程と、前記データが発生する毎に又は所定時間経過する毎に前記最新ブロックの空き領域の先頭から順に当該発生したデータ又は前記機器使用開始からの経過時間データにデータ種類又はデータ長を付加したデータを書き込む書込読取工程と、前記最新ブロックに空き領域があるか否かを判定する空き領域判定工程と、前記空き領域判定工程により空き領域がないと判定された場合、前記最新ブロックを除いた他のブロックの少なくとも一つに格納されたデータを全消去する消去工程と、前記消去工程により全消去された後、種類毎に最新又は最新から所定個前までのデータを前記他のブロックの先頭に順に書き込むデータ書込工程と、を備え、前記最新ブロック設定工程が、前記データ書込工程による書き込み終了後、当該他のブロックを最新ブロックとして設定することを特徴とするデータ書込読取方法に存する。以上説明したように請求項1及び6記載の発明によれば、データにデータ種類又はデータ長を付加することにより、データが発生したり、所定時間経過する毎に、全種類のデータを追記することなく、その発生したデータだけを後ろに追記しても、最新ブロックから種類毎に最新又は最新から所定個前までのデータを読み取ることができる。これにより、データが発生する毎に、書き込むデータ量を少なくすることができ、消去回数が削減でき、効率良く上書き不可なメモリを使用することができる。なお、所定個はデータの種類毎に予め定められ、種類毎に一部異なってもよい。請求項2記載の発明によれば、最新ブロックから種類毎に一番後ろ又は一番後ろから所定個前のデータ、即ち最新又は最新から所定個前までのデータを読み取って、他のブロックの先頭に書き込むことができる。請求項3記載の発明によれば、第2メモリに格納されている種類のデータについては、最新ブロックの後ろから順に読み取ることなく、他のブロックに移動することができる。請求項4記載の発明によれば、最新ブロック判定手段が、各ブロックに格納された経過時間データを比較し、最大経過時間が書き込まれているブロックを最新ブロックとして判定するので、最新ブロックに関する情報を持っていなくても、各ブロックの何れが最新ブロックであるかを判定できる。請求項5記載の発明によれば、書込読取手段及びデータ書込手段が、データに付加されているデータ種類からデータ長を判定し、そのデータが書き込まれているエリアを判定する。従って、各種類のデータのデータ長を同じにしなくても、データを特定することができるので、各種類のデータのデータ長を同じに調整するためのデータ長調整エリアを設ける必要がなく、無駄なデータがメモリに格納されることがない。以下、本発明のデータ書込読取装置及びデータ書込読取方法について図面を参照して説明する。図1は、本発明のデータ書込読取装置を組み込んだ警報器の一実施形態を示すブロック図である。同図に示すように、機器としての警報器1は、警報器1全体の制御を司るマイクロコンピュータ以下μCOM2と、ガス漏れや火災などの異常を検出するセンサ3と、後述する設定器4を接続するための入出力端子5と、を備えている。上記μCOM2は、処理プログラムに従って各種の処理を行うCPU2Aと、CPU2Aが行う処理のプログラムなどを格納したROM2Bと、CPU2Aでの各種の処理過程で利用するワークエリア、各種データを格納するデータ記憶エリアなどを有する上書き可能な第2メモリとしてのRAM2Cと、上書き不可能な不揮発性のメモリであるフラッシュメモリ2Dと、を備えている。上記CPU2Aは、センサ3からの出力に基づいて警報を発生する警報発生処理や、故障を検出する故障検出処理などを行う。上記フラッシュメモリ2Dは、メモリ領域に2つのブロックB1、B2が設けられている。このフラッシュメモリ2Dには、通電時間、設定値データ、警報履歴、故障履歴といったデータが順次書き込まれる。これら通電時間、設定データ、警報履歴、故障履歴といったデータは、図2A~Dに示すように、先頭にチェックサムを書き込む領域、最後尾にデータ種類即ち、通電時間、設定データ、警報履歴、故障履歴の何れであるかを示すデータを書き込む領域、チェックサムとデータ種類との間にデータ自体を書き込む領域が、設けられている。これらデータは、データ種類に応じてデータ長が異なり、設定データが一番長く、その次に警報履歴、故障履歴が長く、通電時間が一番短い。次に、上述した構成のデータ書込読取装置の動作について図3~図8を参照して説明する。図3は、図1に示すデータ書込読取装置を構成するCPU2Aのデータ書込読取処理における処理手順を示すフローチャートである。図4は、図1に示す警報器1の工場出荷時におけるフラッシュメモリ2Dに格納されるデータを示す図である。図5は、図1に示す警報器1の通電時間書き込み時におけるフラッシュメモリ2Dに格納されるデータを示す図である。図6は、図1に示す警報器1の警報発生時におけるフラッシュメモリ2Dに格納されるデータを示す図である。図7は、図1に示す警報器1の故障発生時におけるフラッシュメモリ2Dに格納されるデータを示す図である。図8は、図1に示す警報器1のブロックB1の最後まで書き込んだときのフラッシュメモリ2Dに格納されるデータを示す図である。工場出荷時には、フラッシュメモリ2Dの最新ブロックB1の先頭に通電時間0時間と設定データだけが格納されている。その後、CPU2Aは、電源のオンに応じて上記データ書込読取処理を開始する。なお、CPU2Aは、このデータ書込読取処理と並列に上述した警報発生処理、故障検出処理を行う。ステップS1では、CPU2Aは、空き領域判定手段として働き、最新ブロックが一杯であるか否かを判定する。具体的には、CPU2Aは、最新ブロックの最後尾からデータを読み込んで空データ0が所定バイト以上連続しているか否かを判定する。CPU2Aは、最後尾から空データが所定バイト以上連続していなければ最新ブロックが一杯であると判定し、最後尾から空データが所定バイト以上連続していれば最新ブロックが一杯でないと判定する。このステップS1が請求項中の空き領域判定工程に相当する。最新ブロックが一杯ではないと判定するとステップS1でN、次に、CPU2Aは、電源オンしてから開始させている所定時間毎の計時が終了したか否かを判定するステップS7。所定時間の計時が終了したと判定するとステップS7でY、CPU2Aは、図5に示すように、最新ブロック図5の例ではブロックB1の空き領域の先頭に前の通電時間に所定時間を加算した新たな通電時間2を書き込むと共に、RAM2C内に格納された通電時間に新たな通電時間を上書きしてステップS8、次のステップS9に進む。ステップS8により、RAM2C内には最新の通電時間が常に保存される。所定時間の計時が終了していなければステップS7でN、CPU2Aは、ステップS8に進むことなく、直ちにステップ9に進む。ステップS9において、CPU2Aは、警報や故障、設定器4による設定データの更新要求などが生じて、フラッシュメモリ2Dに格納すべきデータが発生しているか否かを判定する。フラッシュメモリ2Dに格納すべきデータが発生していなければステップS9でN、CPU2Aは、直ちにステップS1に戻る。一方、フラッシュメモリ2Dに格納すべきデータが発生していればステップS9でY、CPU2Aは、発生したデータを最新ブロックの空き領域の先頭に書き込んだ後ステップS10、ステップS1に戻る。ステップS10の詳細について説明すると、例えば、警報が発生すると、CPU2Aは、図6に示すように、新たな警報履歴2を最新ブロック図6に示す例ではブロックB1の空き領域の先頭に書き込む。また、故障が発生すると、CPU2Aは、図7に示すように、新たな故障履歴3を最新ブロック図7に示す例ではブロックB1の空き領域の先頭に書き込む。上述したステップS7~S10において、CPU2Aは書込読取手段として働く。また、ステップS7~S10が請求項中の書込読取工程に相当する。これに対して、最新ブロックが一杯であると判定するとステップS1でY、次に、CPU2Aは、図8Aに示すように、消去手段として働き、最新ブロックを除いた他のブロック図8の例ではブロックB2に格納したデータを全消去して空き領域にするステップS2。このステップS2が請求項中の消去工程に相当する。次に、CPU2Aは、RAM2C内に格納された最新の通電時間を他のブロックの先頭に書き込むステップS3。次に、CPU2Aは、図8Bに示すように、最新ブロックに格納された設定データのうち一番後ろに格納されているものを検索して、通電時間の後ろに書き込むステップS4。その後、CPU2Aは、図8Cに示すように、最新ブロックに格納された警報履歴のうち後ろから3つ前までの警報履歴を検索して、設定データの後ろに書き込み、その後、図8Dに示すように、最新ブロックに格納された故障履歴のうち後ろから3つ前までの故障履歴を検索して、警報履歴の後ろに書き込んだ後ステップS5、ステップS6に進む。上記検索について詳細に説明すると、CPU2Aは、まず最新ブロックブロックB1の最後尾から読み込みを開始する。CPU2Aは、最後尾にはデータの最後に付加されたデータ種類が格納されている。CPU2Aは、このデータ種類からブロックB1の最後に書き込まれたデータの種類を判定する。図8Cに示す例では、CPU2Aは、警報履歴7が最新ブロックの最後に書き込まれていると判定する。CPU2Aは、判定したデータ種類からそのデータのデータ長を判定し、データ種類が書き込まれているエリアから判定したデータ長だけ前までのエリアのデータを、そのデータ種類のデータであると判定する。図8Cに示す例で説明すると、最後尾から警報履歴のデータ長だけ前までのエリアのデータを警報履歴7であると判定する。さらに、CPU2Aは、最新ブロックの先頭に向かってデータを読み込み、警報履歴7よりも前のエリアに格納されているデータ種類から、警報履歴7の前に書き込まれたデータの種類を判定する。図8Cに示す例では、警報履歴6が警報履歴7の前に書き込まれていると判定する。このように、CPU2Aは、後ろから前に向かって順にデータを読み取って最新ブロックに格納された警報履歴のうち後ろから3つ前までを検索する。図8Cに示す例では、警報履歴7、6、5が最新ブロックに格納された警報履歴のうち後ろから3つ前までの警報履歴として検索される。CPU2Aは、これら3つの警報履歴7、6、5のうち一番前から順にブロックB2に書き込んでいく。即ち、警報履歴5を警報履歴1、警報履歴6を警報履歴2、警報履歴7を警報履歴3へ移動して追記する。また、図8Dに示す例では、故障履歴6、5、4が最新ブロックに格納された故障履歴のうち後ろから3つ前までの故障履歴として検索される。CPU2Aは、これら3つの故障履歴6、5、4のうち一番前のものから順にブロックB2に書き込んでいく。即ち、故障履歴4を故障履歴1、故障履歴5を故障履歴2、故障履歴6を故障履歴3へ移動して追記する。上述したステップS3~S5において、CPU2Aは、データ書込手段として働く。また、ステップS3~S5が請求項中のデータ書込工程に相当する。ステップS6において、CPU2Aは、最新ブロック設定手段として働き、上記他のブロック図8に示す例ではブロックB2を最新ブロックに設定し、次のステップS7に進む。このステップS7が請求項中の最新ブロック設定工程に相当する。次に、設定器4により履歴の読み込み要求が行われたときの動作について説明する。まず、CPU2Aは、最新ブロック判定手段として働き、ブロックB1、B2の先頭に書き込まれている通電時間を比較し、最大値が書き込まれているブロックを最新ブロックとして判定する。その後、CPU2Aは、読取手段として働き、最新ブロックの後ろから読み出し、最初に見つかった通電時間を最新通電時間、最初に見つかった設定データを最新設定データ、後ろから3つ前までの警報履歴、故障履歴を最新警報履歴、最新故障履歴として、設定器4に送信する。図9に示す例では、CPU2Aは、ブロックB2を最新ブロックとして判定し、通電時間3を最新通電時間、設定データ2を最新設定データ、警報履歴4、3、2を最新警報履歴、故障履歴3、2、1を最新故障履歴として、設定器4に対して送信する。上述した実施形態によれば、CPU2Aが、フラッシュメモリ2Dの領域に2つのブロックB1、B2を設け、2つのブロックB1、B2の1つを最新ブロックとして設定し、データ設定データ、警報履歴、故障履歴が発生する毎又は所定時間経過する毎に最新ブロックの空き領域の先頭から順に発生したデータ又は通電時間の最後にデータ種類を付加して格納している。また、CPU2Aが、最新ブロックに空き領域があるか判定し、空き領域がないと判定された場合、最新ブロックを除いた他のブロックのデータを消去した後に、最新ブロックの後ろから順にデータを読み取り、データの最後に付加されたデータ種類に基づいて種類毎に一番後ろ、又は、一番後ろから3個前のデータを抽出して、抽出したデータを他のブロックの先頭から順に書き込む。その後、CPU2Aが、書き込み終了後に、その他のブロックを最新ブロックとして設定している。このように、データの最後にデータ種類を付加することにより、データが発生したとき、従来例のように全種類のデータ通電時間、設定データ、警報履歴1~3、故障履歴1~3を追記することなく、その発生したデータだけ後ろに追記しても、最新ブロックから種類毎に最新又は最新から3個前までのデータを読み取ることができる。これにより、データが発生する毎に、書き込むデータ量を少なくすることができ、消去回数が削減でき、効率良く上書き不可なメモリを使用することができる。また、最新ブロックから種類毎に一番後ろ又は一番後ろから3個前のデータを読み取って、他のブロックの先頭に書き込むことができる。また、上述した実施形態によれば、CPU2Aは、通電時間に関してはRAM2Cに上書き保存して、全消去された後、RAM2Cに格納された最新の通電時間を他のブロックの先頭から順に書き込む。これにより、通電時間については最新ブロックの後ろから順に読み取ることなく、最新ブロックに格納されている最新の通電時間を他のブロックの先頭に移動することができる。また、上述した実施形態によれば、CPU2Aが、各ブロックB1、B2の先頭に格納されている通電時間を比較し、最大の通電時間が書き込まれているブロックを最新ブロックとして判定し、最新ブロックの後ろから順にデータを読み取り、データの最後に付加されたデータ種類に基づいて種類毎に一番後ろ通電時間、設定データの場合、又は、一番後ろから3個前まで警報履歴、故障履歴の場合のデータを最新データとして読み取るので、最新ブロックに関する情報を持っていなくても、各ブロックの何れが最新ブロックであるかを判定できる。上述した実施形態によれば、CPU2Aが、データの最後に付加されているデータ種類からデータ長を判定し、そのデータが書き込まれているエリアから判定したデータ長分前までのエリアのデータを、データ種類のデータであると判定する。従って、従来のように、通電時間、警報履歴、故障履歴のデータ長を同じにしなくても、データを特定することができるので、各種類のデータのデータ長を同じに調整するためのデータ長調整用のエリアを設ける必要がなく、無駄なデータがフラッシュメモリ2Dに格納されることがない。なお、上述した実施形態によれば、通電時間をRAM2Cに上書きしていたが、本発明はこれに限ったものではない。RAM2Cに書き込まれるデータとしては、フラッシュメモリ2Dに書き込まれるデータの少なくとも1つであればよく、警報履歴や故障履歴であってもよい。また、最新ブロックが一杯になったときはRAM2Cに書き込まれた通電時間を最新のものとして他のブロックに移動させていたが、本発明はこれに限ったものではない。フラッシュメモリ2Dの最新ブロックから読み込んで、他のブロックに移動させてもよい。また、上述した実施形態によれば、RAM2Cには、通電時間のみを上書きしていたが、本発明はこれに限ったものではない。例えば、RAM2Cにフラッシュメモリ2Dに格納する全種類のデータをRAM2C内に上書きすることにより、RAM2Cに全種類の最新データを保存し、最新ブロックが一杯になったときはRAM2Cに書き込まれた全種類の最新データを他のブロックに移動させるようにしてもよい。この場合、最新ブロックから最新データを読み取る必要がなくなり、処理が簡単になる。また、上述した実施形態によれば、設定器4による読み込み時に、CPU2Aは、各ブロックB1、B2の先頭に格納されている通電時間から最新ブロックを判定していたが、本発明はこれに限ったものではない。例えば、フラッシュメモリ2DのブロックB1、B2とは別の領域に、最新ブロックを示すエリアを設け、そのエリアに格納されたブロックを最新ブロックとして判定するようにしてもよい。この場合、最新ブロックが一杯になったときに、他のブロックの先頭に通電時間を書き込む必要がない。また、上述した実施形態では最後尾にデータ種類を付加していたが、本発明はこれに限ったものではない。データ種類を付加する場所は、最後尾でなくてもよく、例えば、図10に示すように、最後尾にはデータ長を付加するなどして最後尾から予め設定したデータ長分前のエリアにデータ種類を格納するようにしてもよい。また、実施形態では、最後尾に付加したデータ種類により履歴の種類を判別していたが、本発明はこれに限ったものではない。例えば、種類毎にデータ長が異なっていれば、最後尾又は最後尾よりも前にデータ長を付加して、そのデータ長から種類を判別するようにしてもよい。また、上述した実施形態では、最後尾にデータ種類を付加して、そのデータ種類により履歴の種類を判別していたが、本発明はこれに限ったものではない。例えば、図11に示すように、各種類のデータにデータ長を付加し、本実施形態の警報履歴及び故障履歴図2参照のようにデータ長が同じものについては、警報履歴か故障履歴かを区別できるデータ種類をさらに付加する。これにより、各種類のデータに付加されたデータ長を読み取って、読み取ったデータ長のデータが通電時間、設定データのように一種類しかない場合は、そのデータ長に基づいてデータ種類を判別し、読み取ったデータ長のデータが2種類以上ある場合は、さらにデータ種類を読み取って、そのデータ種類を判別するようにしてもよい。また、上述した実施形態によれば、フラッシュメモリ2Dには、2つのブロックB1、B2が設けられていたが、本発明はこれに限ったものではない。ブロックとしては、2つ以上のブロックを設ければよく、3つでも、4つでもよい。また、前述した実施形態は本発明の代表的な形態を示したに過ぎず、本発明は、実施形態に限定されるものではない。即ち、本発明の骨子を逸脱しない範囲で種々変形して実施することができる。