(57)【特許請求の範囲】
【請求項１】
自動販売機の使用中のプログラムをバージョンアップされた新プログラムで書き換える自動販売機のプログラム書換装置において、
前記自動販売機に内蔵され、前記使用中のプログラムを格納する第１のメモリと、
前記自動販売機に内蔵され、前記使用中のプログラムに関連したデータ、及びダミー用のデータを格納する第２のメモリと、
前記自動販売機の外部に位置し、前記新プログラムを格納する第３のメモリと、
前記自動販売機の外部に位置し、前記新プログラムに関連したデータを格納する第４のメモリと、
前記自動販売機の外部に位置し、前記使用中のプログラムを前記新プログラムで書き換えるとき、前記第２のメモリに格納された前記関連したデータ、及び前記ダミー用のデータを転送されて格納する第５のメモリと、
前記自動販売機の外部に位置し、前記使用中のプログラムを前記新プログラムで書き換えるとき、前記第５のメモリに格納されている前記ダミー用のデータを前記新プログラムに関連したデータで書き換え、且つ、前記第３のメモリの前記新プログラムを前記第１のメモリへ転送して前記使用中のプログラムを前記新プログラムで書き換え、更に前記第５のメモリの前記新プログラムに関連したデータを前記第２のメモリへ転送する制御手段を備えたことを特徴とする自動販売機のプログラム書換装置。
【請求項２】
前記制御手段は、前記第５のメモリの前記ダミー用のデータの格納領域が前記新プログラムに関連したデータを格納する容量を有しないとき、前記新プログラムに関連するデータに基づいて前記第５のメモリのアドレスを再編成する請求項１記載の自動販売機のプログラム書換装置。
【請求項３】
前記自動販売機、及び前記制御手段は、有線、無線等の通信手段を介して接続されている構成の請求項１記載の自動販売機のプログラム書換装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば、カップ飲料の自動販売機のプログラムを書き換える自動販売機のプログラム書換装置に関し、特に、プログラムの変更に関連したデータの設定を容易、且つ、確実に行えるようにすると共に、プログラムの変更に関連したデータの設定領域が予め割り当てられていた領域を越えてもアドレスの再編成を容易に行えるようにした自動販売機のプログラム書換装置に関する。
【０００２】
【従来の技術】
客先の要望などによって市場に出回っている自動販売機に新しい機能を追加する場合には、自動販売機の制御プログラムの変更を行っている。
【０００３】
従来、自動販売機の制御プログラムの変更は、ＲＯＭを交換することによって行われていたが、制御プログラムを変更する自動販売機の数だけＲＯＭが必要になることから、最近では、例えば、特開平５−８９３２５号公報に開示されるように、電気的に書換え可能なＲＯＭ（例えば、フラッシュメモリ）に制御プログラムを記憶させ、ＲＯＭの制御プログラムを書換えることによって行っている。
【０００４】
ところで、制御プログラムによる制御の実行は、ＲＡＭ等のデータメモリに格納された設定データに基づいて行われるため、機能の追加によって制御プログラムを変更した場合には、新しい機能に関連した設定データをデータメモリに新たに設定する必要がある。
【０００５】
図１４は、例えば、カップ飲料の自動販売機における変更前の旧バージョンの制御プログラムに対応したデータメモリの内容を示す。データメモリには、Ｈミックス飲料１、２等の飲料の仕様に応じた設定データや、売上集計データ等の販売機データが格納され、その設定データの各飲料の記憶領域中のアドレス０１０４Ｈ〜０１０６Ｈ、０１０ＢＨ〜０１０ＤＨ、・・にはそれぞれダミーデータ１〜３が存在している。ダミーデータ１〜３は、機能の追加が生じた場合に新しい機能のデータに割り当てられることにより、アドレスがずれるのを防ぐもので、機能の追加前は、通常、０が設定されている。
【０００６】
図１５は上記カップ飲料の自動販売機における制御プログラムを書き換えて攪拌機能を新たに追加した場合のデータメモリの内容を示す。Ｈミックス飲料１、２の設定データのダミーデータ１の部分が攪拌機能のデータに割り当てられている。
【０００７】
このように新しい機能の追加に伴って制御プログラムを変更してアドレス０１０４Ｈ、及び０１０ＢＨにカクハン時間を割り当てても、データ値が０のままであるため、攪拌時間が０となる。また、バックアップ用電池の不足やプログラムの暴走などで０以外のデータに変化している場合には、攪拌時間が規定値を外れてしまう。このため、プログラム変更後に、キーボードを使用して追加された新しい機能に関連したデータの設定を行う。
【０００８】
【発明が解決しようとする課題】
しかし、従来の自動販売機のプログラム書換装置によると、キーボードを使用して手作業でダミーデータを新しい機能に関連するデータに設定変更しているため、作業が煩雑であると共に設定ミスや設定もれ等が発生する恐れがあり、確実な設定ができないという問題がある。また、当初の予想を越えた新しい機能が追加された場合には、用意したダミーデータのエリアでは不足し、上位互換性のないものになる。このため、売上集計データ等をクリアし、設定データを全て設定し直してアドレスの再編成を行う必要がある。
【０００９】
従って、本発明の目的はプログラムの変更に関連したデータの設定を容易、且つ、確実に行うことができる自動販売機のプログラム書換装置を提供することである。
【００１０】
本発明の他の目的はプログラムの変更に関連したデータの設定領域が予め割り当てられていた領域を越えてもアドレスの再編成を容易に行うことができる自動販売機のプログラム書換装置を提供することである。
【００１１】
【課題を解決するための手段】
本発明は上記問題点に鑑み、プログラムの変更に関連したデータの設定を容易、且つ、確実に行えるようにすると共に、プログラムの変更に関連したデータの設定領域が予め割り当てられていた領域を越えてもアドレスの再編成を容易に行えるようにするため、自動販売機に内蔵され、使用中のプログラムを格納する第１のメモリと、自動販売機に内蔵され、使用中のプログラムに関連したデータ、及びダミー用のデータを格納する第２のメモリと、自動販売機の外部に位置し、新プログラムを格納する第３のメモリと、自動販売機の外部に位置し、新プログラムに関連したデータを格納する第４のメモリと、自動販売機の外部に位置し、使用中のプログラムを新プログラムで書き換えるとき、第２のメモリに格納された関連したデータ、及びダミー用のデータを転送されて格納する第５のメモリと、自動販売機の外部に位置し、使用中のプログラムを新プログラムで書き換えるとき、第５のメモリに格納されているダミー用のデータを新プログラムに関連したデータで書き換え、且つ、第３のメモリの新プログラムを第１のメモリへ転送して使用中のプログラムを新プログラムで書き換え、更に第５のメモリの新プログラムに関連したデータを第２のメモリへ転送する制御手段を備えた自動販売機のプログラム書換装置を提供するものである。
【００１２】
上記制御手段は、第５のメモリのダミー用のデータの格納領域が新プログラムに関連したデータを格納する容量を有しないとき、新プログラムに関連するデータに基づいて第５のメモリのアドレスを再編成するように構成されていることが好ましい。
【００１３】
上記自動販売機、及び前記制御手段は、有線、無線等の通信手段を介して接続されている構成であることが好ましい。
【００１４】
【発明の実施の形態】
以下、本発明の自動販売機のプログラム書換装置を添付図面を参照しながら詳細に説明する。
【００１５】
図１は本発明の第１の実施の形態に係る自動販売機のプログラム書換装置を示す。この自動販売機のプログラム書換装置は、カップ飲料を販売する自動販売機１とパーソナルコンピュータ２を通信回線３を介して接続して構成されている。
【００１６】
自動販売機１は、電気的に書換え可能なＲＯＭ（例えば、フラッシュメモリ）から構成されていると共に自動販売機１の制御プログラムを格納したプログラムメモリ４と、制御プログラムに関連した設定データや、売上集計データ、更には制御プログラムを変更した場合に新しい機能のデータに割り当てられるダミーデータ等を有した販売機データが格納されたＲＡＭ等のデータメモリ５と、プログラムメモリ４の制御プログラムとデータメモリ５の設定データに基づいてコインメカや飲料供給部等の各制御部を総括的に制御する制御部６と、制御部６と通信回線３との間に挿入された送受信部７を有している。
【００１７】
パーソナルコンピュータ２は、自動販売機１の制御プログラムを書き換えるための書換プログラムを格納したプログラムメモリ８と、自動販売機１の新バージョンの制御プログラムを格納した新プログラムメモリ９と、新バージョンの制御プログラムと自動販売機１の販売機データの変更を行うアドレス、及びデータ値の関係を示す変更データテーブルを格納したテーブル格納部１０と、制御プログラムの書き換え時に自動販売機１のデータメモリ５内の販売機データが格納されるデータメモリ１１と、プログラムメモリ８の書換プログラムに基づいて自動販売機１の制御プログラムの書き換え制御を実行する制御部１２と、制御部１２と通信回線３との間に挿入された送受信部１３を有している。
【００１８】
制御部１２は、自動販売機１の制御部６に制御プログラム、及び販売機データの転送を行わせて、自動販売機１の制御プログラムの旧バージョンを判別すると共に、販売機データをデータメモリ１１に記憶させ、制御プログラムの旧バージョンと新バージョン、及びテーブル格納部１０に格納された変更データテーブルに基づいて設定データのダミーデータを新バージョンの制御プログラムに関連したデータで書き換え、且つ、新プログラムメモリ９の新バージョンの制御プログラム、及びデータメモリ１１の販売機データを自動販売機１に転送して、プログラムメモリ４の制御プログラムの書き換え、及びデータメモリ５の販売機データの書き換えを行う。
【００１９】
図２は自動販売機１の制御プログラムの書き換え前の旧バージョン（Ｖｅｒ１０）に対応したデータメモリ５の内容を示す。図１４で前述したように、データメモリ５には、Ｈミックス飲料１、２等の飲料の仕様に応じた設定データや売上集計データ等の販売機データが格納され、その設定データの各飲料の記憶領域中のアドレス０１０４Ｈ〜０１０６Ｈ、０１０ＢＨ〜０１０ＤＨ、・・には、制御プログラムの変更時に新しい機能のデータに割り当てられるダミーデータ１〜３がそれぞれ存在している。
【００２０】
図３はパーソナルコンピュータ２のテーブル格納部１０に格納された変更データテーブルを示し、制御プログラムの新バージョンとデータメモリ５の販売機データの変更を行うアドレス、及びデータ値の関係が示されている。
【００２１】
以下、第１の実施の形態の自動販売機のプログラム書換装置の動作を図４のフローチャートを参照しながら説明する。
【００２２】
(1) Ｖｅｒ１０の制御プログラムを攪拌機能が追加されたＶｅｒ１３の制御プログラムで書き換える場合
【００２３】
まず、パーソナルコンピュータ２の制御部１２は、制御プログラムの転送指令を送受信部１３、通信回線３、及び送受信部７を介して自動販売機１の制御部６に出力する。
【００２４】
自動販売機１の制御部６は、この指令を受けると、プログラムメモリ４に格納された制御プログラムのバージョン（Ｖｅｒ１０）を送受信部７から通信回線３を介して送受信部１３に転送する。
【００２５】
パーソナルコンピュータ２の制御部１２は、転送されてきた制御プログラムの旧バージョン（Ｖｅｒ１０）を取得する（ステップＳ1 ）。旧バージョンを取得すると、販売機データの転送指令を送受信部１３、通信回線３、及び送受信部７を介して自動販売機１の制御部６に出力する。
【００２６】
自動販売機１の制御部６は、販売機データの転送指令を受けると、データメモリ５の販売機データ（設定データ、及び売上集計データ等）を送受信部７、通信回線３、及び送受信部１３を介してパーソナルコンピュータ２の制御部１２に転送する。
【００２７】
パーソナルコンピュータ２の制御部１２は、転送されてきた販売機データをデータメモリ１１に格納する（ステップＳ2 ）。そして、テーブル格納部１０に格納された変更データテーブルのテーブルＮｏ．を初期化（テーブルＮｏ．＝１）し（ステップＳ3 ）、テーブルＮｏ．１のＶｅｒ１３のアドレスが００００Ｈ（終了マーク）か否かを判定する（判定Ｄ1 ）。Ｖｅｒ１３はアドレスが１０４Ｈなので、次の判定Ｄ2 に進み、ここでテーブルＮｏ．１のＶｅｒ１３のアドレスとテーブルＮｏ．１のＶｅｒ１０のアドレスが等しいか否かを判定する。テーブルＮｏ．１のＶｅｒ１３のアドレスは１０４Ｈ、テーブルＮｏ．１のＶｅｒ１０のアドレスは００００Ｈなので、次にテーブルＮｏ．１のＶｅｒ１３のデータ＝５をデータメモリ１１の設定データのアドレス１０４Ｈに相当するアドレスに書き込む（ステップＳ4 ）。書き込みが終了すると、Ｖｅｒ１３のテーブルＮｏ．１に１を加算して、新バージョンのテーブルＮｏ．を２とする（ステップＳ5 ）。そして、テーブルＮｏ．２のＶｅｒ１３のアドレスが００００Ｈか否かを判定する（判定Ｄ1 ）。Ｖｅｒ１３はアドレスが１０ＢＨなので、次の判定Ｄ2 に進み、ここでテーブルＮｏ．２のＶｅｒ１３のアドレスとテーブルＮｏ．１のＶｅｒ１０のアドレスが等しいか否かを判定する。テーブルＮｏ．２のＶｅｒ１３のアドレスは１０ＢＨ、テーブルＮｏ．１のＶｅｒ１０のアドレスは００００Ｈなので、次にテーブルＮｏ．２のＶｅｒ１３のデータ＝５をデータメモリ１１の設定データのアドレス１０ＢＨに相当するアドレスに書き込む（ステップＳ4 ）。書き込みが終了すると、Ｖｅｒ１３のテーブルＮｏ．２に１を加算して、新バージョンのテーブルＮｏ．を３とする（ステップＳ5 ）。そして、テーブルＮｏ．３のＶｅｒ１３のアドレスが００００Ｈか否かを判定する（判定Ｄ1 ）。Ｖｅｒ１３はアドレスが００００Ｈなので、新プログラムメモリ９の制御プログラムを送受信部１３、通信回線３、及び送受信部７を介して自動販売機１に転送して、プログラムメモリ４の制御プログラムをＶｅｒ１３に書き換える（ステップＳ8 ）。また、データメモリ１１の販売機データを送受信部１３、通信回線３、及び送受信部７を介して自動販売機１に転送して、データメモリ５の販売機データをデータメモリ１１の内容で書き換える（ステップＳ9 ）。
【００２８】
図５は自動販売機１の制御プログラムの書き換え後のデータメモリの内容を示す。このように制御プログラムをＶｅｒ１０からＶｅｒ１３に変更すると、アドレス０１０４Ｈ、及び０１０ＢＨにカクハン時間が割り当てられ、パーソナルコンピュータ２のデータメモリ１１内で変更データテーブルに基づいて変更されたデータ＝５が設定される。
【００２９】
(2) Ｖｅｒ１２の制御プログラムをＶｅｒ１３の制御プログラムで書き換える場合（データの変更が不要なとき）
【００３０】
まず、パーソナルコンピュータ２の制御部１２は、制御プログラムの転送指令を送受信部１３、通信回線３、及び送受信部７を介して自動販売機１の制御部６に出力する。
【００３１】
自動販売機１の制御部６は、この指令を受けると、プログラムメモリ４に格納された制御プログラムのバージョン（Ｖｅｒ１２）を送受信部７から通信回線３を介して送受信部１３に転送する。
【００３２】
パーソナルコンピュータ２の制御部１２は、転送されてきた制御プログラムの旧バージョン（Ｖｅｒ１２）を取得する（ステップＳ1 ）。旧バージョンを取得すると、販売機データの転送指令を送受信部１３、通信回線３、及び送受信部７を介して自動販売機１の制御部６に出力する。
【００３３】
自動販売機１の制御部６は、販売機データの転送指令を受けると、データメモリ５の販売機データ（設定データ、及び売上集計データ等）を送受信部７、通信回線３、及び送受信部１３を介してパーソナルコンピュータ２の制御部１２に転送する。
【００３４】
パーソナルコンピュータ２の制御部１２は、転送されてきた販売機データをデータメモリ１１に格納する（ステップＳ2 ）。そして、テーブル格納部１０に格納された変更データテーブルのテーブルＮｏ．を初期化し（ステップＳ3 ）、テーブルＮｏ．１のＶｅｒ１３のアドレスが００００Ｈ（終了マーク）か否かを判定する（判定Ｄ1 ）。Ｖｅｒ１３はアドレスが１０４Ｈなので、次の判定Ｄ2 に進み、ここでテーブルＮｏ．１のＶｅｒ１３のアドレスとテーブルＮｏ．１のＶｅｒ１２のアドレスが等しいか否かを判定する。テーブルＮｏ．１のＶｅｒ１３のアドレスは１０４Ｈ、テーブルＮｏ．１のＶｅｒ１２のアドレスは１０４Ｈなので、次に、Ｖｅｒ１３のテーブルＮｏ．１に１を加算して、新バージョンのテーブルＮｏ．を２とする（ステップＳ6 ）。また、Ｖｅｒ１２のテーブルＮｏ．１に１を加算して、旧バージョンのテーブルＮｏ．を２とする（ステップＳ7 ）。そして、テーブルＮｏ．２のＶｅｒ１３のアドレスが００００Ｈか否かを判定する（判定Ｄ1 ）。Ｖｅｒ１３はアドレスが１０ＢＨなので、次の判定Ｄ2 に進み、ここでテーブルＮｏ．２のＶｅｒ１３のアドレスとテーブルＮｏ．２のＶｅｒ１２のアドレスが等しいか否かを判定する。テーブルＮｏ．２のＶｅｒ１３のアドレスは１０ＢＨ、テーブルＮｏ．２のＶｅｒ１２のアドレスは１０ＢＨなので、次に、Ｖｅｒ１３のテーブルＮｏ．２に１を加算して、新バージョンのテーブルＮｏ．を３とする（ステップＳ6 ）。また、Ｖｅｒ１２のテーブルＮｏ．２に１を加算して、旧バージョンのテーブルＮｏ．を３とする（ステップＳ7 ）。そして、テーブルＮｏ．３のＶｅｒ１３のアドレスが００００Ｈか否かを判定する（判定Ｄ1 ）。Ｖｅｒ１３はアドレスが００００Ｈなので、新プログラムメモリ８の制御プログラムを送受信部１３、通信回線３、及び送受信部７を介して自動販売機１に転送して、プログラムメモリ４の制御プログラムをＶｅｒ１３に書き換える（ステップＳ8 ）。また、データメモリ１１の販売機データを送受信部１３、通信回線３、及び送受信部７を介して自動販売機１に転送して、データメモリ５の販売機データをデータメモリ１１の内容で書き換える（ステップＳ9 ）。このようにして、データの変更が不必要な場合にも対応することができる。
【００３５】
次に、本発明の第２の実施の形態に係る自動販売機のプログラム書換装置を説明する。第２の実施の形態の自動販売機のプログラム書換装置は、第１の実施の形態の構成において、制御プログラムの変更に関連したデータの設定領域が予め割り当てられていた領域より大なるときアドレスの再編成を行うように構成されている。
【００３６】
図６はパーソナルコンピュータ２のデータメモリ１１を示す。データメモリ１１は、自動販売機１のデータメモリ５の販売機データを記憶する旧バージョンデータ記憶領域１１Ａと、旧バージョンデータ記憶領域１１Ａの販売機データに新バージョンの制御プログラムによって新たに追加される販売機データを記憶する新バージョンデータ記憶領域１１Ｂを有している。
【００３７】
図７はテーブル格納部１０に格納された変更データテーブルを示す。変更データテーブルは、新バージョンであるＶｅｒ１３に変更する場合のもので、制御プログラムの旧バージョンと、データメモリ１１の旧バージョンデータ記憶領域１１Ａから新バージョンデータ記憶領域１１Ｂにデータ転送するための旧アドレス、新アドレス、転送するデータ長（以下、単に「長さ」という）、及びデータ書き込み時のデータ値の関係が示されている。
【００３８】
以下、第２の実施の形態の自動販売機のプログラム書換装置の動作を図８、図９、及び図１０のフローチャートを参照しながら説明する。
【００３９】
(1) Ｖｅｒ１０の制御プログラムをＶｅｒ１３の制御プログラムで書き換える場合
【００４０】
まず、パーソナルコンピュータ２の制御部１２は、制御プログラムの転送指令を送受信部１３、通信回線３、及び送受信部７を介して自動販売機１の制御部６に出力する。
【００４１】
自動販売機１の制御部６は、この指令を受けると、プログラムメモリ４に格納された制御プログラムのバージョン（Ｖｅｒ１０）を送受信部７から通信回線３を介して送受信部１３に転送する。
【００４２】
パーソナルコンピュータ２の制御部１２は、転送されてきた制御プログラムの旧バージョン（Ｖｅｒ１０）を取得する（ステップＳ1 ）。旧バージョンを取得すると、販売機データの転送指令を送受信部１３、通信回線３、及び送受信部７を介して自動販売機１の制御部６に出力する。
【００４３】
自動販売機１の制御部６は、販売機データの転送指令を受けると、データメモリ５の販売機データ（設定データ、及び売上集計データ等）を送受信部７から通信回線３を介して送受信部１３に転送する。
【００４４】
パーソナルコンピュータ２の制御部１２は、転送されてきた販売機データをデータメモリ１１の旧バージョンデータ記憶領域１１Ａに格納する（ステップＳ2 ）。図１１はデータメモリ１１の旧バージョンデータ記憶領域１１Ａに記憶された販売機データを示す。
【００４５】
そして、パーソナルコンピュータ２の制御部１２は、テーブル格納部１０に格納された変更データテーブルのテーブルＮｏ．を初期化し（ステップＳ3 ）、テーブルＮｏ．１のＶｅｒ１０のモードが０（終了マーク）か否かを判定する（判定Ｄ1 ）。Ｖｅｒ１０はモードが１なので、次の判定Ｄ2 に進み、ここでテーブルＮｏ．１のＶｅｒ１０のモードが１か否かを判定する。Ｖｅｒ１０のモードは１なので、次にデータ転送モード（コピーモード）に移行する（ステップＳ4 ）。
【００４６】
図９に示すように、データ転送モードでは、長さをテーブルＮｏ．１の長さ１０４Ｈに、読出アドレスをテーブルＮｏ．１の旧アドレス０００Ｈに、書込アドレスをテーブルＮｏ．１の新アドレス０００Ｈに設定し（ステップＳ41）、長さが０か否か判定する（判定Ｄ3 ）。長さは１０４Ｈのため、次に新バージョンデータ記憶領域１１Ｂの先頭アドレス１０００Ｈに書込アドレス０００Ｈを加算したアドレス１０００Ｈに、旧バージョンデータ記憶領域１１Ａの先頭アドレス２０００Ｈに読出アドレス０００Ｈを加算したアドレス２０００Ｈのデータを転送する（ステップＳ42）。転送が終了すると、読出アドレス、及び書込アドレスをインクリメントして、それぞれ００１Ｈにすると共に、長さをデクリメントして、１０３Ｈにする（ステップＳ43）。そして、再び長さが０か否か判定する（判定Ｄ3 ）。長さは１０３Ｈのため、次に新バージョンデータ記憶領域１１Ｂの先頭アドレス１０００Ｈに書込アドレス００１Ｈを加算したアドレス１００１Ｈに、旧バージョンデータ領域１１Ａの先頭アドレス２０００Ｈに読出アドレス００１Ｈを加算したアドレス２００１Ｈのデータを転送する（ステップＳ42）。転送が終了すると、読出アドレス、及び書込アドレスをインクリメントして、それぞれ００２Ｈにすると共に、長さをデクリメントして、１０２Ｈにする（ステップＳ43）。このようにして旧バージョンデータ記憶領域１１Ａから新バージョンデータ記憶領域１１Ｂへの１バイトのデータ転送を長さが０になるまで繰り返し行い、図１１に示す旧バージョンデータ記憶領域１１Ａのアドレス２０００Ｈから２１０３Ｈまでのデータを新バージョン領域１１Ｂのアドレス１０００Ｈから１１０３Ｈに転送する。ここまでの転送が終了すると、テーブルＮｏ．１に１を加算してテーブルＮｏ．を２とする（ステップＳ6 ）。
【００４７】
この後、パーソナルコンピュータ２の制御部１２は、テーブルＮｏ．２のＶｅｒ１０のモードが０か否かを判定する。Ｖｅｒ１０はモードが１なので、次の判定Ｄ2 に進み、ここでテーブルＮｏ．１のＶｅｒ１０のモードが１か否かを判定する。Ｖｅｒ１０のモードは１なので、次にデータ転送モード（コピーモード）に移行する（ステップＳ4 ）。
【００４８】
データ転送モードでは、長さをテーブルＮｏ．２の長さ４に、読出アドレスをテーブルＮｏ．２の旧アドレス１０７Ｈに、書込アドレスをテーブルＮｏ．２の新アドレス１０８Ｈに設定し（ステップＳ41）、テーブルＮｏ．１の転送と同様に長さが０になるまで転送を行って、図１１に示す旧バージョンデータ記憶領域１１Ａのアドレス２１０７Ｈから２１０ＡＨまでのデータを図１２に示す新バージョンデータ記憶領域１１Ｂのアドレス１１０８Ｈから１１０ＢＨに転送する。ここまでの転送が終了すると、テーブルＮｏ．２に１を加算してテーブルＮｏ．を３とする（ステップＳ6 ）。
【００４９】
この後、パーソナルコンピュータ２の制御部１２は、テーブルＮｏ．３のＶｅｒ１０のモードが０か否かを判定する。Ｖｅｒ１０はモードが１なので、次の判定Ｄ2 に進み、ここでテーブルＮｏ．３のＶｅｒ１０のモードが１か否かを判定する。Ｖｅｒ１０のモードは１なので、次にデータ転送モード（コピーモード）に移行する（ステップＳ4 ）。
【００５０】
データ転送モードでは、長さをテーブルＮｏ．３の長さ１ＥＦＨに、読出アドレスをテーブルＮｏ．３の旧アドレス１０ＥＨに、書込アドレスをテーブルＮｏ．３の新アドレス１１０Ｈに設定し（ステップＳ41）、テーブルＮｏ．１の転送と同様に長さが０になるまで転送を行って、図１１に示す旧バージョンデータ記憶領域１１Ａのアドレス２１０ＥＨ移行の長さ１ＥＦＨのデータを新バージョンデータ記憶領域１１Ｂのアドレス１１１０Ｈから長さ１ＥＦＨに応じたアドレスに転送する。ここまでの転送が終了すると、テーブルＮｏ．３に１を加算してテーブルＮｏ．を４とする（ステップＳ6 ）。
【００５１】
この後、パーソナルコンピュータ２の制御部１２は、テーブルＮｏ．４のＶｅｒ１０のモードが０か否かを判定する。Ｖｅｒ１０はモードが２なので、次の判定Ｄ2 に進み、ここでテーブルＮｏ．４のＶｅｒ１０のモードが１か否かを判定する。Ｖｅｒ１０のモードは２なので、次にデータ書込モードに移行する（ステップＳ5 ）。
【００５２】
図１０に示すように、データ書込モードでは、長さをテーブルＮｏ．４の長さ４に、書込アドレスをテーブルＮｏ．４の新アドレス１０４Ｈに、データをテーブルＮｏ．４のデータ０にそれぞれ設定し（ステップＳ51）、次に長さが０か否か判定する（判定Ｄ4 ）。長さは４のため、次に新バージョンデータ記憶領域１１Ｂの先頭アドレス１０００Ｈに書込アドレス１０４Ｈを加算したアドレス１１０４Ｈにデータ０を書き込む（ステップＳ52）。書き込みが終了すると、書込アドレスをインクリメントして、１０５Ｈにすると共に、長さをデクリメントして、３にする（ステップＳ53）。そして、再び長さが０か否か判定する（判定Ｄ4 ）。長さは３のため、次に新バージョンデータ記憶領域１１Ｂの先頭アドレス１０００Ｈに書込アドレス１０５Ｈを加算したアドレス１１０５Ｈにデータ０を書き込む（ステップＳ52）。書き込みが終了すると、書込アドレスをインクリメントして、１０６Ｈにすると共に、長さをデクリメントして、２にする（ステップＳ53）。このようにして長さが０になるまで書込アドレスに１を加算したアドレスに０を書き込み、新バージョンデータ記憶領域１１Ｂのアドレス１１０４Ｈから１１０７Ｈまでのデータを全て０に設定する。ここまでの書き込みが終了すると、テーブルＮｏ．４に１を加算してテーブルＮｏ．を５とする（ステップＳ6 ）。
【００５３】
この後、パーソナルコンピュータ２の制御部１２は、テーブルＮｏ．５のＶｅｒ１０のモードが０か否かを判定する。Ｖｅｒ１０はモードが２なので、次の判定Ｄ2 に進み、ここでテーブルＮｏ．５のＶｅｒ１０のモードが１か否かを判定する。Ｖｅｒ１０のモードは２なので、次にデータ書込モードに移行する（ステップＳ5 ）。
【００５４】
データ書込モードでは、長さをテーブルＮｏ．５の長さ４に、書込アドレスをテーブルＮｏ．５の新アドレス１０ＣＨに、データをテーブルＮｏ．５のデータ０に設定し（ステップＳ51）、テーブルＮｏ．４の書き込みと同様に長さが０になるまで書き込みを行って、新バージョンデータ記憶領域１１Ｂのアドレス１１０ＣＨから１１０ＦＨまでのデータを全て０に設定する。ここまでの書き込みを終了すると、テーブルＮｏ．５に１を加算してテーブルＮｏ．を６とする（ステップＳ6 ）。
【００５５】
この後、パーソナルコンピュータ２の制御部１２は、テーブルＮｏ．６のＶｅｒ１０のモードが０か否かを判定する。Ｖｅｒ１０はモードが０なので、販売機データの変更が終了となる。図１２は新バージョンデータ記憶領域１１Ｂの販売機データを示し、図１１で示す旧バージョンデータ記憶領域１１Ａの販売機データの設定データの各飲料の記憶領域中にダミーデータが１つ追加されている。このようにアドレスの再編成を行うと、第１の実施の形態で前述したように、各ダミーデータに追加された機能に関するデータを設定する。そして、新プログラムメモリ９の制御プログラムを送受信部１３、通信回線３、及び送受信部７を介して自動販売機１に転送して、プログラムメモリ４の制御プログラムをＶｅｒ１３に書き換える（ステップＳ7 ）。また、データメモリ１１の新バージョンデータ記憶領域１１Ｂの販売機データを送受信部１３、通信回線３、及び送受信部７を介して自動販売機１に転送して、データメモリ５の販売機データをデータメモリ１１の新バージョンデータ記憶領域１１Ｂの内容で書き換える（ステップＳ8 ）。
【００５６】
図１３は自動販売機１の制御プログラムの書き換え後のデータメモリの内容を示す。このように制御プログラムをＶｅｒ１０からＶｅｒ１３に変更すると、アドレスの再編成が行われ、Ｈミックス飲料１、及びＨミックス飲料２のデータ領域が増えて、アドレス０１０４Ｈから０１０７Ｈ、及びアドレス０１０ＣＨから０１０ＦＨが割り当てられている。
【００５７】
(2) Ｖｅｒ１２の制御プログラムをＶｅｒ１３の制御プログラムで書き換える場合（データの再編成が不要なとき）
【００５８】
まず、パーソナルコンピュータ２の制御部１２は、制御プログラムの転送指令を送受信部１３、通信回線３、及び送受信部７を介して自動販売機１の制御部６に出力する。
【００５９】
自動販売機１の制御部６は、この指令を受けると、プログラムメモリ４に格納された制御プログラムのバージョン（Ｖｅｒ１２）を送受信部７から通信回線３を介して送受信部１３に転送する。
【００６０】
パーソナルコンピュータ２の制御部１２は、転送されてきた制御プログラムの旧バージョン（Ｖｅｒ１２）を取得する（ステップＳ1 ）。旧バージョンを取得すると、販売機データの転送指令を送受信部１３、通信回線３、及び送受信部７を介して自動販売機１の制御部６に出力する。
【００６１】
自動販売機１の制御部６は、販売機データの転送指令を受けると、データメモリ５の販売機データ（設定データ、及び売上集計データ等）を送受信部７から通信回線３を介して送受信部１３に転送する。
【００６２】
パーソナルコンピュータ２の制御部１２は、転送されてきた販売機データをデータメモリ１１の旧バージョンデータ記憶領域１１Ａに格納する（ステップＳ2 ）。そして、テーブル格納部１０に格納された変更データテーブルのテーブルＮｏ．を初期化し（ステップＳ3 ）、テーブルＮｏ．１のＶｅｒ１２のモードが０（終了マーク）か否かを判定する（判定Ｄ1 ）。Ｖｅｒ１２はモードが１なので、次の判定Ｄ2 に進み、ここでテーブルＮｏ．１のＶｅｒ１２のモードが１か否かを判定する。Ｖｅｒ１２のモードは１なので、次にデータ転送モード（コピーモード）に移行する（ステップＳ4 ）。
【００６３】
データ転送モードでは、長さをテーブルＮｏ．１の長さ２ＦＦＨに、読出アドレスをテーブルＮｏ．１の旧アドレス０００Ｈに、書込アドレスをテーブルＮｏ．１の新アドレス０００Ｈに設定し（ステップＳ41）、長さが０か否か判定する（判定Ｄ3 ）。長さは２ＦＦＨのため、次に新バージョンデータ記憶領域１１Ｂの先頭アドレス１０００Ｈに書込アドレス０００Ｈを加算したアドレス１０００Ｈに、旧バージョンデータ記憶領域１１Ａの先頭アドレス２０００Ｈに読出アドレス０００Ｈを加算したアドレス２０００Ｈのデータを転送する（ステップＳ42）。この転送を前述した方法と同様に長さが０になるまで繰り返し行い、長さが０になるとテーブルＮｏ．１に１を加算してテーブルＮｏ．を２とする（ステップＳ6 ）。
【００６４】
この後、パーソナルコンピュータ２の制御部１２は、テーブルＮｏ．２のＶｅｒ１２のモードが０か否かを判定する。Ｖｅｒ１２はモードが０なので、販売機データの変更が終了となる。この後、新プログラムメモリ８の制御プログラムを送受信部１３、通信回線３、及び送受信部７を介して自動販売機１に転送して、プログラムメモリ４の制御プログラムをＶｅｒ１３に書き換える（ステップＳ7 ）。また、データメモリ１１の新バージョンデータ記憶領域１１Ｂの販売機データを送受信部１３、通信回線３、及び送受信部７を介して自動販売機１に転送して、データメモリ５の販売機データをデータメモリ１１の新バージョンデータ記憶領域１１Ｂの内容で書き換える（ステップＳ8 ）。
【００６５】
なお、以上述べた実施の形態では、自動販売機１とパーソナルコンピュータ２を通信回線３を介して接続して制御プログラム、及び販売機データの転送を行ったが、この他に光通信等の無線通信手段で行っても良い。また、通信回線３として電話回線を使用しても良い。更に、新プログラムメモリ９、テーブル格納部１０、及びデータメモリ１１は、複数のメモリによって構成されても良く、或いは１つのメモリの複数の領域から構成されても良い。
【００６６】
【発明の効果】
以上説明したように、本発明の自動販売機のプログラム書換装置によると、使用中のプログラムを新プログラムで書き換えるとき、新プログラムに関連したデータへの設定変更を書き換え用プログラムで自動的に行うようにしたため、プログラムの変更に関連したデータの設定を容易、且つ、確実に行うことができる。また、ダミー用のデータの格納領域が新プログラムに関連したデータを格納する容量を有しないときでも、書き換え用プログラムがアドレスの再編成を自動的に行うので、設定データを全て設定し直す必要がなく、アドレスの再編成を容易に行うことができる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態に係る自動販売機のプログラム書換装置を示す説明図。
【図２】第１の実施の形態に係る制御プログラム変更前の自動販売機のデータメモリの内容を示す説明図。
【図３】第１の実施の形態に係るテーブル格納部の変更データテーブルを示す説明図。
【図４】第１の実施の形態に係る制御フローを示すフローチャート。
【図５】第１の実施の形態に係る制御プログラム変更後の自動販売機のデータメモリの内容を示す説明図。
【図６】本発明の第２の実施の形態に係る自動販売機のプログラム書換装置のパーソナルコンピュータのデータメモリを示す説明図。
【図７】第２の実施の形態に係るテーブル格納部の変更データテーブルを示す説明図。
【図８】第２の実施の形態に係る制御フローを示すフローチャート。
【図９】第２の実施の形態に係るデータ転送モード時の制御フローを示すフローチャート。
【図１０】第２の実施の形態に係るデータ書込モード時の制御フローを示すフローチャート。
【図１１】第２の実施の形態に係る旧バージョンデータ記憶領域の内容を示す説明図。
【図１２】第２の実施の形態に係る新バージョンデータ記憶領域の内容を示す説明図。
【図１３】第２の実施の形態に係る制御プログラム変更後の自動販売機のデータメモリの内容を示す説明図。
【図１４】従来の自動販売機における変更前の旧バージョンの制御プログラムに対応したデータメモリの内容を示す説明図。
【図１５】従来の自動販売機における制御プログラム変更後のデータメモリの内容を示す説明図。
【符号の説明】
１      自動販売機
２      パーソナルコンピュータ
３      通信回線
４      プログラムメモリ
５      データメモリ
６      制御部
７      送受信部
８      プログラムメモリ
９      新プログラムメモリ
１０    テーブル格納部
１１    データメモリ
１１Ａ  旧バージョンデータ記憶領域
１１Ｂ  新バージョンデータ記憶領域
１２    制御部
１３    送受信部
【図１】
0003763180.tif 000002
【図２】
0003763180.tif 000003
【図３】
0003763180.tif 000004
【図４】
0003763180.tif 000005
【図５】
0003763180.tif 000006
【図６】
0003763180.tif 000007
【図７】
0003763180.tif 000008
【図８】
0003763180.tif 000009
【図９】
0003763180.tif 000010
【図１０】
0003763180.tif 000011
【図１１】
0003763180.tif 000012
【図１２】
0003763180.tif 000013
【図１３】
0003763180.tif 000014
【図１４】
0003763180.tif 000015
【図１５】
0003763180.tif 000016