(57)【特許請求の範囲】
【請求項１】
データを電気的に書き換えできる不揮発性メモリが記憶するプログラムデータに従って自動販売機の機能を実行するための制御を行う制御部を、備えた自動販売機の制御装置において、
自動販売機の拡張機能を実行するための拡張プログラムデータ、及び前記制御部が前記拡張プログラムデータを処理できるように、前記拡張プログラムデータと対応する修正プログラムデータが記憶されたメモリを有するカード手段と、
前記制御部と前記カード手段とを電気接続する接続手段と、を備え、
前記制御部は、前記カード手段と電気接続されると、前記不揮発性メモリの内容を前記プログラムデータから前記修正プログラムデータへ書き換え可能とし、前記カード手段から前記拡張プログラムデータが供給されると、自動販売機の拡張機能を実行するための制御を行うことを特徴とする自動販売機の制御装置。
【請求項２】
前記制御部は、前記カード手段と電気接続された後に書き換えのための信号を受け取ると、前記不揮発性メモリの内容を書き換えることを特徴とする請求項１記載の自動販売機の制御装置。
【請求項３】
前記不揮発性メモリおよび前記メモリが記憶するプログラムデータは、それぞれの形式を識別するための識別情報を含み、前記制御部は、前記不揮発性メモリおよび前記メモリが記憶するプログラムデータの識別情報が一致しないとき、前記カード手段が対応しないものと判別することを特徴とする請求項１または２記載の自動販売機の制御装置。
【請求項４】
前記制御部は、前記カード手段が対応しないことを警告する第１警告信号を出力することを特徴とする請求項３記載の自動販売機の制御装置。
【請求項５】
前記第１警告信号が供給され、前記カード手段が対応しないことを表示する表示部を、備えたことを特徴とする請求項４記載の自動販売機の制御装置。
【請求項６】
前記表示部は、前記カード手段が対応しないことの表示として、前記不揮発性メモリの内容を書き換えること、または、前記カード手段を交換することを促す表示を行うことを特徴とする請求項５記載の自動販売機の制御装置。
【請求項７】
前記不揮発性メモリが記憶するプログラムデータは、拡張プログラムデータの要否と、要となる拡張プログラムデータの形式とを識別するための識別情報を含むとともに、前記メモリが記憶する拡張プログラムデータは、それ自体の形式を識別するための識別情報を含み、
前記制御部は、要となる拡張プログラムデータの形式のための識別情報と一致するものがないとき、前記カード手段が対応しないものと判別することを特徴とする請求項１乃至２の何れかに記載の自動販売機の制御装置。
【請求項８】
前記制御部は、前記カード手段が対応しないことを警告する第２警告信号を出力することを特徴とする請求項７記載の自動販売機の制御装置。
【請求項９】
前記第２警告信号が供給され、前記カード手段が対応しないことを表示する表示部を、備えたことを特徴とする請求項８記載の自動販売機の制御装置。
【請求項１０】
前記表示部は、前記カード手段が対応しないことの表示として、前記カード手段を交換することを促す表示を行うことを特徴とする請求項９記載の自動販売機の制御装置。
【請求項１１】
前記不揮発性メモリは、マスクROMであることを特徴とする請求項１に記載の自動販売機の制御装置。
【請求項１２】
前記不揮発性メモリは、フラッシュメモリであることを特徴とする請求項１乃至１０の何れかに記載の自動販売機の制御装置。
【請求項１３】
前記メモリは、フラッシュメモリであることを特徴とする請求項１乃至１２の何れかに記載の自動販売機の制御装置。
【請求項１４】
前記不揮発性メモリおよび前記メモリが記憶するプログラムデータは、それぞれの形式を識別するための識別情報を含み、
前記制御部は、前記不揮発性メモリおよび前記メモリが記憶するプログラムデータの識別情報が一致しないとき、前記不揮発性メモリの内容が修正プログラムデータに書き換えられていないものと判別することを特徴とする請求項１または２記載の自動販売機の制御装置。
【請求項１５】
前記不揮発性メモリが記憶するプログラムデータは、拡張プログラムデータの要否と、要となる拡張プログラムデータの形式とを識別するための識別情報を含むとともに、前記メモリが記憶する拡張プログラムデータは、それ自体の形式を識別するための識別情報を含み、
前記制御部は、要となる拡張プログラムデータの形式のための識別情報と一致するものがないとき、前記カード手段と接続されていないものと判別することを特徴とする請求項１乃至２の何れかに記載の自動販売機の制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、外部カードを用いて拡張機能を実行する自動販売機の制御装置に関する。
【０００２】
【従来の技術】
図６は自動販売機の前面ドアを閉じた状態を示す正面図であり、例えば缶飲料を販売するものとする。図６において、前面ドア１０１は、自動販売機の左側面端を支軸として開閉するものであり、コラム設定、缶飲料補充等を行うときは開錠して開き、通常販売を行うときは施錠して閉じておくものである。パネル１０２は、透明な樹脂板であり、内部に陳列されている複数種類の缶飲料サンプル１０３を確認するためのものである。つまり、利用者は、パネル１０２を通して複数種類の缶飲料サンプル１０３を見渡すことにより、購入したい缶飲料を選択できる。硬貨投入口１０４は、利用者が硬貨を投入する部分であり、投入硬貨は自動販売機内部のコインメカに供給される。紙幣挿入口１０５は、利用者が紙幣を挿入する部分であり、挿入紙幣は自動販売機内部のビルバリに供給される。表示部１０６は、投入硬貨金額、挿入紙幣金額等を表示するものである。商品選択釦１０７は、販売可ランプおよび売り切れランプを内蔵し、缶飲料サンプル１０３それぞれに対応してパネル１０２に設けられるものである。販売可ランプは、利用者が少なくとも１本の缶飲料を購入できる硬貨投入または紙幣挿入を行うと、自動販売機内部のコラムに缶飲料が収容されている場合のみ、この缶飲料に対応するものが点灯する。売り切れランプは、自動販売機内部の所定コラムが空になると、この缶飲料に対応するものが常時点灯する。販売可ランプが点灯している商品選択釦１０７を押下すると、この缶飲料サンプル１０３に対応する缶飲料が商品取出口１０８まで搬出される。返却レバー１０９は、投入硬貨を返却口１１０から返却したり、投入硬貨または挿入紙幣から缶飲料購入金額を差し引いた釣銭を返却口１１０から返却したりするためのものである。
【０００３】
図７は、図６の自動販売機の動作を説明するためのブロック図である。
【０００４】
図７において、主制御部２０１は、自動販売機の制御を統括するものであり、ＲＯＭ、ＣＰＵ、ＲＡＭ、周辺回路（タイマ等）を内蔵するマイクロコンピュータから成るものである。詳しくは、ＲＯＭは、後述する複数の従制御部を統括制御するためのプログラムデータが予め格納されたものであり、ＣＰＵは、ＲＯＭから読み出されたプログラムデータの解読結果に従って複数の従制御部を統括制御するものであり、ＲＡＭは、ＣＰＵによる演算結果、複数の従制御部からの各種データ等の書き込みまたは読み出しを行うものである。ハードウエア面では、ＲＯＭは、データを製造工程で焼き付け固定するマスクＲＯＭ、データを紫外線消去することによりデータを繰り返し書き込み読み出しできるＥＰＲＯＭ、またはデータを電気消去することによりデータを繰り返し書き込み読み出しできるＥＥＰＲＯＭ（フラッシュメモリを含む）等の不揮発性メモリである。ＣＰＵは、ＲＯＭの実行アドレスを指定するプログラムカウンタ、ＲＯＭからの読み出し内容を解読するインストラクションデコーダ、論理演算を行う演算論理ユニット、演算データを一時格納するアキュムレータ等を内蔵する。ＲＡＭは、ＳＲＡＭ等の揮発性メモリであり、記憶内容を保持するためのバックアップ電源（電池）を有する。硬貨処理制御部２０２、紙幣処理制御部２０３、接客制御部２０４、販売制御部２０５は、複数の従制御部に相当し、ハードウエア面において、主制御部２０１と同様のＲＯＭ、ＣＰＵ、ＲＡＭを内蔵する。コインメカ２０６は、釣銭切れを検出する釣銭切れセンサを備え、硬貨投入口１０４からの投入硬貨を受け取り、必要に応じて釣銭を返却口１１０から返却するものである。硬貨処理制御部２０２は、コインメカ２０６を制御し、投入硬貨の金種、正偽等の判別、金種別枚数の計算、金庫への余剰硬貨の収容、釣銭払い出し等を行わせるものである。ビルバリ２０７は、コインメカ２０６と同様に、釣札切れを検出する釣札切れセンサを備え、紙幣挿入口１０５からの挿入紙幣を受け取り、必要に応じて釣札を紙幣挿入口１０５から返却するものである。紙幣処理制御部２０３は、ビルバリ２０７を制御し、挿入紙幣の金種、正偽等の判別、金種別枚数の計算、釣札払い出し等を行わせるものである。尚、硬貨処理制御部２０２および紙幣処理制御部２０３は、硬貨投入および紙幣挿入が行われるその都度、処理動作を実行する。接客部２０８は、表示部１０６と、複数種類の缶飲料サンプル１０３に対応して設けられた複数の商品選択釦１０７と、販売中、販売中止、釣銭切れを表すランプと、を備えたものである。接客制御部２０４は、接客部２０８を制御する。つまり、接客制御部２０４は、主制御部２０１からの缶飲料販売に関する接客指示に従って、販売中、販売中止、釣銭切れを表すランプを点灯させたり、販売飲料別の販売可ランプまたは売り切れランプを点灯させたり、更には、複数の商品選択釦１０７の何れが押下されたのかを検出し、このときの検出信号を主制御部２０１に送信したりする。販売機構２０９は、利用者が希望する缶飲料を商品取出口１０８まで搬出させるものである。販売制御部２０５は、販売機構２０９を制御し、接客制御部２０４からの前記検出信号に応答した主制御部２０１からの販売指示に従って、利用者の希望商品を商品取出口１０８まで搬出させる。
【０００５】
さて、既存の自動販売機の機能を拡張するとき、主制御部２０１または従制御部（硬貨処理制御部２０２、紙幣処理制御部２０３、接客制御部２０４、販売制御部２０５等）に内蔵される不揮発性メモリのプログラムデータを変更しなければならない。この際、上記不揮発性メモリとしてマスクＲＯＭを用いていると、各制御部内部の基板そのものを交換しなければならず、材料費および人件費が高くなるとともに作業効率も悪いので、最近では上記不揮発性メモリとして繰り返し書き換えできるＥＥＰＲＯＭを用いる傾向が高くなっている（例えば特開平５−８９３２５号）。
【０００６】
従来は、自動販売機を製造するとき、将来の拡張機能を予測し、通常機能および拡張機能を実行できるだけの従来より記憶容量の大きいＥＥＰＲＯＭを基板に実装したり、或いは、通常機能および拡張機能を実行するための全プログラムデータを外部カード内部のメモリに予め記憶させたりすることにより、拡張機能に対応していた。
【０００７】
【発明が解決しようとする課題】
しかし、前者の場合、予測上における将来の拡張機能と実際の拡張機能とは必ずしも一致しない。従って、実際必要となる拡張機能に対してＥＥＰＲＯＭの記憶容量が足らないという不都合を生じる問題があった。また、後者の場合、外部カードを制御部内部の基板と電気接続しなければならないので、外部カードから制御部へデータ転送する際に必要となる多段のゲートバッファ、拡張バス、配線容量等の要因によって、データ転送速度が遅くなる問題があった。
【０００８】
そこで、本発明は、拡張機能を確実に実行できる自動販売機の制御装置を提供することを目的とする。
【０００９】
【課題を解決するための手段】
本発明は、前記問題点を解決するために創作されたものである。
【００１０】
請求項１は、データを電気的に書き換えできる不揮発性メモリが記憶するプログラムデータに従って自動販売機の機能を実行するための制御を行う制御部を、備えた自動販売機の制御装置において、自動販売機の拡張機能を実行するための拡張プログラムデータ、及び前記制御部が前記拡張プログラムデータを処理できるように、前記拡張プログラムデータと対応する修正プログラムデータが記憶されたメモリを有するカード手段と、前記制御部と前記カード手段とを電気接続する接続手段と、を備え、前記制御部は、前記カード手段と電気接続されると、前記不揮発性メモリの内容を前記プログラムデータから前記修正プログラムデータへ書き換え可能とし、前記カード手段から前記拡張プログラムデータが供給されると、自動販売機の拡張機能を実行するための制御を行うものである。
【００１３】
請求項２は、請求項１に従属し、前記制御部は、前記カード手段と電気接続された後に書き換えのための信号を受け取ると、前記不揮発性メモリの内容を書き換えるものである。
【００１４】
請求項３は、請求項１または２に従属し、前記不揮発性メモリおよび前記メモリが記憶するプログラムデータは、それぞれの形式を識別するための識別情報を含み、前記制御部は、前記不揮発性メモリおよび前記メモリが記憶するプログラムデータの識別情報が一致しないとき、前記カード手段が対応しないものと判別するものである。
【００１５】
請求項４は、請求項３に従属し、前記制御部は、前記カード手段が対応しないことを警告する第１警告信号を出力するものである。
【００１６】
請求項５は、請求項４に従属し、前記第１警告信号が供給され、前記カード手段が対応しないことを表示する表示部を、備えたものである。
【００１７】
請求項６は、請求項５に従属し、前記表示部は、前記カード手段が対応しないことの表示として、前記不揮発性メモリの内容を書き換えること、または、前記カード手段を交換することを促す表示を行うものである。
【００１８】
請求項７は、請求項１乃至２の何れかに従属し、前記不揮発性メモリが記憶するプログラムデータは、拡張プログラムデータの要否と、要となる拡張プログラムデータの形式とを識別するための識別情報を含むとともに、前記メモリが記憶する拡張プログラムデータは、それ自体の形式を識別するための識別情報を含み、 前記制御部は、要となる拡張プログラムデータの形式のための識別情報と一致するものがないとき、前記カード手段が対応しないものと判別するものである。
【００１９】
請求項８は、請求項７に従属し、前記制御部は、前記カード手段が対応しないことを警告する第２警告信号を出力するものである。
【００２０】
請求項９は、請求項８に従属し、前記第２警告信号が供給され、前記カード手段が対応しないことを表示する表示部を、備えたものである。
【００２１】
請求項１０は、請求項９に従属し、前記表示部は、前記カード手段が対応しないことの表示として、前記カード手段を交換することを促す表示を行うものである。
【００２２】
請求項１１は、請求項１に従属し、前記不揮発性メモリをマスクＲＯＭとしたものである。
【００２３】
請求項１２は、請求項１乃至１１の何れかに従属し、前記不揮発性メモリをフラッシュメモリとしたものである。
【００２４】
請求項１３は、請求項１乃至１２の何れかに従属し、前記メモリをフラッシュメモリとしたものである。
【００２５】
請求項１４は、請求項１または２に従属し、前記不揮発性メモリおよび前記メモリが記憶するプログラムデータは、それぞれの形式を識別するための識別情報を含み、前記制御部は、前記不揮発性メモリおよび前記メモリが記憶するプログラムデータの識別情報が一致しないとき、前記不揮発性メモリの内容が修正プログラムデータに書き換えられていないものと判別するものである。
【００２６】
請求項１５は、請求項１乃至２の何れかに従属し、前記不揮発性メモリが記憶するプログラムデータは、拡張プログラムデータの要否と、要となる拡張プログラムデータの形式とを識別するための識別情報を含むとともに、前記メモリが記憶する拡張プログラムデータは、それ自体の形式を識別するための識別情報を含み、前記制御部は、要となる拡張プログラムデータの形式のための識別情報と一致するものがないとき、前記カード手段と接続されていないものと判別するものである。
【００２７】
従って、本発明によれば、拡張機能のみカード手段を用いて実行するようにしたので、拡張機能に依存しない一定記憶容量の不揮発性メモリを基板に実装するだけで済み、種々の拡張機能に柔軟に対応できる汎用性の高い自動販売機を提供できる。また、拡張機能以外の通常機能の実行速度が遅くなるのを防止できる。更に、不揮発性メモリの内容をメモリの内容と整合させるので、拡張機能を実行する際のプログラム暴走を未然に防止できる。
【００２８】
【発明の実施の形態】
本発明の詳細を図面に従って具体的に説明する。
【００２９】
図１は本発明を適用する主制御部の基板と外部カードとを示す図である。尚、主制御部の基板上における周辺回路は図示していない。
【００３０】
図１において、主制御部１は、図７の主制御部２０１と同様に、自動販売機の動作を統括制御するものである。主制御部１内部において、フラッシュメモリＦＲＯＭ２（不揮発性メモリ）は、自動販売機の通常機能を実行するためのプログラムデータＡが記憶されている。詳細すると、このプログラムデータＡは、それ自体の形式（バージョン）を識別するための識別情報ａ１、拡張プログラムデータの要否を識別するための識別情報ａ２、要となる拡張プログラムデータの形式を識別するための識別情報ａ３を含む。 ＦＲＯＭ３は、ＦＲＯＭ２の内容を書き換えるためのプログラムデータＢが記憶されている。ＣＰＵ４は、ＦＲＯＭ２、３のプログラムデータＡ、Ｂの解読結果に従って各種の論理演算を実行するものである。ＲＡＭ５は、 ＣＰＵ４による演算結果、複数の従制御部からの各種データ等の書き込みまたは読み出しを行うものである。主制御部１の基板６は、上記のＦＲＯＭ２、３、ＣＰＵ４、ＲＡＭ５、および周辺回路がデータ処理可能な状態で実装されるとともに、外部カード８（カード手段）を電気接続するための差込口７（接続手段）を備えている。
【００３１】
外部カード８は、主制御部１の差込口７に装着することによって、拡張機能を実行可能とするものである。外部カード８内部において、ＲＯＭ９（メモリ）は、自動販売機の拡張機能を実行するための拡張プログラムデータＣと、主制御部１が拡張プログラムデータＣを正常処理できるように、自動販売機の通常機能を実行するためのプログラムデータＡに対応する修正プログラムデータＤとが記憶されている。詳細すると、拡張プログラムデータＣは、それ自体の形式を識別するための識別情報ｃ１を含む。また、修正プログラムデータＤは、プログラムデータＡと同様に、それ自体の形式を識別するための識別情報ｄ１、拡張プログラムデータの要否を識別するための識別情報ｄ２、要となる拡張プログラムデータの形式を識別するための識別情報ｄ３を含む。尚、ＲＯＭ９はＦＲＯＭでもよい。ＲＡＭ１０は、主制御部１および外部カード８が電気接続された状態で、ＲＡＭ５と同様の書き込みまたは読み出しを行うものである。ゲートバッファ１１は、主制御部１および外部カード８の間のデータ入出力を行うものである。
【００３２】
図２は、本発明を適用する主制御部と外部カードとを電気接続したときのメモリ空間を示す図である。メモリ空間は、例えば０００００Ｈ〜ＦＦＦＦＦＨ（Ｈはヘキサデシマル）の１Ｍバイトである。主制御部１の差込口７に外部カード８を装着すると、ＦＲＯＭ２、ＦＲＯＭ３、ＲＡＭ５、ＲＯＭ９、ＲＡＭ１０それぞれのアドレスは、主制御部１内部のハードウエアで決定する領域に割り当てられる。例えば、ＦＲＯＭ２、ＦＲＯＭ３、ＲＡＭ５、ＲＯＭ９、ＲＡＭ１０それぞれのアドレスは、 ｈ〜ｉ、ｊ〜ｋ、 ａ〜ｂ、ｅ〜ｇ、ｃ〜ｄとなる。この状態で、ｈ〜ｉのプログラムデータＡをｆ〜ｇの修正プログラムデータＤに書き換え可能となる。尚、ａ〜ｋはメモリ空間を仕切るための単なる記号である。
【００３３】
図３は、本発明の自動販売機の制御装置を説明するためのブロック図である。尚、図３は、主制御部１および外部カード８を電気接続した状態を表すものであり、図１と同一のものには同一番号を記すとともにその説明を省略する。
【００３４】
図３において、発振回路１２は、発振振動子（例えば水晶振動子、セラミック振動子等）の発振周波数に基づいて自走発振するものである。クロックジェネレータ１３は、発振回路１２からの発振クロックを所定分周し、主制御部１の内部回路を動作させるためのシステムクロックを出力するとともに、計時用の１秒信号を出力するものである。尚、クロックジェネレータ１３に供給される発振クロックは、自走発振に限らず、外部からの発振クロックをそのまま使用する他走発振であってもよい。データバス１４は、主制御部１および外部カード８の内部回路の周辺に配置され、アドレスデータ、プログラムデータ、テーブルデータ、演算データ等の転送を行うものである。プログラムカウンタ１５（ＰＣ）は、ＦＲＯＭ２、ＦＲＯＭ３、ＲＯＭ９の実行アドレスを指定するものである。インストラクションレジスタ１６（ＩＲ）は、ＦＲＯＭ２、ＦＲＯＭ３、ＲＯＭ９から読み出されるプログラムデータ、テーブルデータ等を保持するものである。インストラクションデコーダ１７（ＩＤＥＣ）は、インストラクションレジスタ１６が保持する命令内容を解読し、各部を制御するための制御信号を出力するものである。演算論理ユニット１８（ＡＬＵ）は、２個の入力データを加減算し、このときの演算結果をデータバス１４を介して要求先に出力するものである。アキュムレータ１９（ＡＣＣ）は、演算論理ユニット１８の演算データを一時保持するものである。ＩＸレジスタ２０は、ＦＲＯＭ２の内容をプログラムデータＡから修正プログラムデータＤへ書き換えるとき、ＲＯＭ９のアドレスｆ〜ｇを順次指定するものである。ＩＹレジスタ２１は、 ＦＲＯＭ２の内容をプログラムデータＡから修正プログラムデータＤへ書き換えるとき、ＦＲＯＭ２のアドレスｈ〜ｉを順次指定するものである。レジスタ２２は、 ＲＯＭ９から読み出される修正プログラムデータＤを一時保持するものである。タイマ２３は、リセットされて１秒信号を所定回数（例えば２回）計数すると、計数終了信号を出力するものである。カウンタ２４は、ＲＯＭ９のアドレスｆ〜ｇの総数が初期設定され、ＦＲＯＭ２の内容が１アドレス単位で書き換えられる毎に、この初期設定値を−１ずつ減算するものである。昇圧回路２５は、ＦＲＯＭ２のデータ消去およびデータ書き込みのための高電圧（例えば１２ボルト）を発生するものである。尚、昇圧回路２５は、ＦＲＯＭ２内部に設けてもよい。割込制御回路２６は、 ＦＲＯＭ２の内容を書き換えるためのスイッチ（図示せず）をオンしたときの割り込み要求が供給されるものである。
【００３５】
以下、図３の動作を図４および図５のフローチャートを用いて説明する。
【００３６】
先ず、自動販売機に電源を投入すると、プログラムカウンタ１５は、主制御部１内部のＣＰＵ４によってアドレス値ｌを初期値に設定され、ＦＲＯＭ３のアドレスｌを指定する。尚、ＦＲＯＭ３のアドレスｌは、ＦＲＯＭ３の先頭アドレスｊにジャンプするためのプログラムデータが記憶される領域である。これより、ＦＲＯＭ３から読み出される先頭アドレスｊ以降のプログラムデータの解読結果に従って、主制御部１全体は初期化される。その後、プログラムカウンタ１５は、外部カード８に関する判別を行うためのアドレス値に設定される（Ａ１）。
【００３７】
主制御部１は、外部カード８が差込口７に装着されているかどうかを判別する。詳細すると、主制御部１は、外部カード８を差込口７に装着した際の特定の端子接触点の電圧状態を検出するものであり、この端子接触点が論理値“０”（例えば０ボルト）のとき、外部カード８が差込口７に装着されているものと判別し、この端子接触点が論理値“１”（例えば５ボルト）のとき、外部カード８が差込口７に装着されていないものと判別する（Ａ２）。
【００３８】
主制御部１は、外部カード８が差込口７に装着されていないものと判別すると（Ａ２：ＮＯ）、更に、ＦＲＯＭ２が主制御部１内部で実行可能なプログラムデータ（例えばプログラムデータＡ）を記憶しているかどうかを判別する。詳細すると、主制御部１は、プログラムデータ自体の形式を識別するための識別情報（例えば識別情報ａ１）が予め用意されているテーブル内に存在するかどうかを検出する（Ａ３）。主制御部１は、テーブル内の如何なる識別情報も存在しないことを検出し、ＦＲＯＭ２が必要なプログラムデータを記憶していないものと判別すると（Ａ３：ＮＯ）、ステップＡ２を再度実行し、外部カード８が差込口７に装着されるまで待機する。
【００３９】
主制御部１は、識別情報がテーブル内に存在することを検出し、ＦＲＯＭ２が必要なプログラムデータを記憶しているものと判別すると（Ａ３：ＹＥＳ）、更に、拡張プログラムデータの要否を判別する。詳細すると、主制御部１は、ＦＲＯＭ２内の拡張プログラムデータの要否を識別するための識別情報（例えば識別情報ａ２）を検出するものであり、この識別情報が論理値“０”のとき、拡張プログラムデータを不要と判別し、この識別情報が論理値“１”のとき、拡張プログラムデータを要と判別する（Ａ４）。主制御部１は、拡張プログラムデータを不要と判別すると（Ａ４：ＮＯ）、外部カード８を必要としないので、その後はＦＲＯＭ２のプログラムデータに基づく演算処理を実行する（Ａ５）。
【００４０】
主制御部１は、拡張プログラムデータを要と判別すると（Ａ４：ＹＥＳ）、更に、ステップＡ２と同様の方法で、外部カード８が差込口７に装着されているかどうかを判別する（Ａ６）。主制御部１は、外部カード８が差込口７に装着されているものと判別すると（Ａ６：ＹＥＳ）、更に、外部カード８内部のＲＯＭ９の拡張プログラムデータがＦＲＯＭ２のプログラムデータに対応するかどうかを判別する。詳細すると、主制御部１は、ＦＲＯＭ２内における拡張プログラムデータの形式を識別するための識別情報（例えば識別情報ａ３）とＲＯＭ９内における拡張プログラムデータ自体の形式を識別するための識別情報（例えば識別情報ｃ１）とを比較し、両方の識別情報が一致したとき、ＲＯＭ９の拡張プログラムデータがＦＲＯＭ２のプログラムデータに対応するものと判別し、両方の識別情報が異なるとき、ＲＯＭ９の拡張プログラムデータがＦＲＯＭ２のプログラムデータに対応しないものと判別する（Ａ７）。
【００４１】
主制御部１は、ＲＯＭ９の拡張プログラムデータがＦＲＯＭ２のプログラムデータに対応するものと判別すると（Ａ７：ＹＥＳ）、 ＦＲＯＭ２のプログラムデータおよびＲＯＭ９の拡張プログラムデータに基づく通常処理を実行する（Ａ５）。
【００４２】
主制御部１は、 ＲＯＭ９の拡張プログラムデータがＦＲＯＭ２のプログラムデータに対応しないものと判別すると（Ａ７：ＮＯ）、接客制御部２０４に警告信号Ｘ（第２警告信号）を供給する。接客制御部２０４は、この警告信号Ｘに従って、表示部１０６に外部カード８を交換することを促すメッセージ（例えば「カードヲ  コウカンシテクダサイ」等）を表示させる。尚、警告専用ランプを設け、当該警告専用ランプを点灯または点滅させるようにしてもよい。これより、プログラムが暴走するのを未然に防止できる（Ａ８）。
【００４３】
ステップＡ２に戻り、主制御部１は、外部カード８が差込口７に装着されているものと判別すると（Ａ２：ＹＥＳ）、更に、ＦＲＯＭ２の内容を書き換えるためのスイッチがオンしたかどうかを判別する。詳細すると、主制御部１は、スイッチのオンを表す割り込み要求が発生したかどうかを判別する（Ａ９）。
【００４４】
主制御部１は、割り込み要求が発生しないものと判別すると（Ａ９：ＮＯ）、更に、ステップＡ３と同様の方法で、 ＦＲＯＭ２が主制御部１内部で実行可能なプログラムデータを記憶しているかどうかを判別する（Ａ１０）。
【００４５】
主制御部１は、 ＦＲＯＭ２が主制御部１内部で実行可能なプログラムデータを記憶しているものと判別すると（Ａ１０：ＹＥＳ）、更に、ステップＡ７と同様の方法で、ＦＲＯＭ２のプログラムデータがＲＯＭ９の修正プログラムデータに書き換えられているかどうかを判別する。詳細すると、主制御部１は、 ＦＲＯＭ２内におけるプログラムデータ自体の形式を識別するための識別情報（例えば識別情報ａ１）とＲＯＭ９内における修正プログラムデータ自体の形式を識別するための識別情報（例えば識別情報ｄ１）とを比較し、両方の識別情報が一致したとき、ＦＲＯＭ２のプログラムデータが修正プログラムデータであるものと判別し、両方の識別情報が異なるとき、 ＦＲＯＭ２のプログラムデータが修正プログラムデータではないものと判別する（Ａ１１）。
【００４６】
主制御部１は、 ＦＲＯＭ２のプログラムデータが修正プログラムデータであるものと判別すると（Ａ１１：ＹＥＳ）、ＲＯＭ９の拡張プログラムデータがＦＲＯＭ２のプログラムデータに対応するので、 ＦＲＯＭ２のプログラムデータおよびＲＯＭ９の拡張プログラムデータに基づく演算処理を実行する（Ａ５）。
【００４７】
主制御部１は、 ＦＲＯＭ２のプログラムデータが修正プログラムデータではないものと判別すると（Ａ１１：ＮＯ）、接客制御部２０４に警告信号Ｙ（第１警告信号）を供給する。接客制御部２０４は、この警告信号Ｙに従って、表示部１０６にＦＲＯＭ２のプログラムデータを書き換えることを促すメッセージ（例えば「プログラムヲ  カキカエテクダサイ」等）と、外部カード８を交換することを促すメッセージ（例えば「カードヲ  コウカンシテクダサイ」等）とを表示させる。作業員は、表示部１０６のメッセージを確認することにより、ＦＲＯＭ２のプログラムデータを書き換える作業と、外部カード８を交換する作業とを、適宜選択して行えばよい。尚、警告専用ランプを設け、当該警告専用ランプを点灯または点滅させるようにしてもよい。これより、ステップＡ８と同様に、プログラムが暴走するのを未然に防止できる（Ａ１２）。
【００４８】
ステップＡ９に戻り、主制御部１は、割り込み要求が発生したものと判別すると（Ａ９：ＹＥＳ）、図５のフローチャートを実行する。尚、図２に示すように、主制御部１の基板６上のＦＲＯＭ２、３それぞれにはプログラムデータＡ、Ｂが記憶され、外部カード８内のＲＯＭ９には拡張プログラムデータＣおよび修正プログラムデータＤが記憶されていることを前提とする。
【００４９】
先ず、割込制御回路２６は、書き換え用スイッチのオンを表す割り込み要求が供給されると、プログラムカウンタ１５の値を、ＦＲＯＭ３のプログラムデータＢの中でＦＲＯＭ２の内容を書き換えるためのアドレス値に設定する。これより、ＦＲＯＭ３から読み出されるプログラムデータの解読結果に従って、ＦＲＯＭ２は、それ自体の各メモリセルを構成するＭＯＳトランジスタのフローティングゲートに昇圧回路２５の高電圧が供給され、全メモリセルのデータが一括消去される（Ｂ１）。
【００５０】
カウンタ２４は、ＦＲＯＭ２の全アドレス数と等しい値が設定される（Ｂ２）。
【００５１】
ＩＸレジスタ２０は、ＲＯＭ９の中で修正プログラムデータＤが記憶されている領域の先頭アドレス値ｆが設定される（Ｂ３）。
【００５２】
ＩＹレジスタ２１は、ＦＲＯＭ２の先頭アドレス値ｈが設定される（Ｂ４）。
【００５３】
ＲＯＭ９は、読み出し可能状態に設定され、ＩＸレジスタ２０で指定される先頭アドレスｆの記憶内容を読み出す。レジスタ２２は、この先頭アドレスｆの記憶内容を一時保持する（Ｂ５）。
【００５４】
ＦＲＯＭ２は、書き込み可能状態に設定され、ＩＹレジスタ２１で指定される先頭アドレスｈに、レジスタ２２が一時保持している記憶内容を昇圧回路２５の高電圧を用いて書き込む。これより、ＲＯＭ９の修正プログラムデータＤの１アドレス分をＦＲＯＭ２に書き込んだことになる（Ｂ６）。
【００５５】
カウンタ２４の値を−１減算する（Ｂ７）。
【００５６】
カウンタ２４の値が０であるかどうかを判別する（Ｂ８）。
【００５７】
カウンタ２４の値が０でないものと判別したとき（Ｂ８：ＮＯ）、ＦＲＯＭ２の全内容の書き換えが終了していないものとして、ＩＸレジスタ２０の先頭アドレス値ｆを＋１加算する。詳細すると、ＩＸレジスタ２０の先頭アドレス値ｆを演算論理ユニット１８に供給する。演算論理ユニット１８は、先頭アドレス値ｆを＋１加算して得られたアドレス値ｆ＋１をＩＸレジスタ２０に再度設定する（Ｂ９）。同様に、ＩＹレジスタ２１の先頭アドレス値ｈも＋１加算する。詳細すると、 ＩＹレジスタ２１の先頭アドレス値ｈを演算論理ユニット１８に供給する。演算論理ユニット１８は、先頭アドレス値ｈを＋１加算して得られたアドレス値ｈ＋１をＩＹレジスタ２１に再度設定する（Ｂ１０）。以上のステップＢ５〜Ｂ１０をカウンタ２４の値が０になるまで繰り返す。
【００５８】
カウンタ２４の値が０であるものと判別したとき（Ｂ８：ＹＥＳ）、ＦＲＯＭ２の全内容の書き換えが終了したものとして、警告信号Ｚ（制御信号の１つ）を出力する。接客制御部２０４は、この警告信号Ｚに従って、表示部１０６にＦＲＯＭ２のプログラムデータを書き換えたことを告知するメッセージ（例えば「プログラムヲ  カキカエマシタ」等）を表示させる。尚、警告専用ランプを設け、当該警告専用ランプを点灯または点滅させるようにしてもよい。（Ｂ１１）。
【００５９】
タイマ２３がリセットされてクロックジェネレータ１３の１秒信号を計数開始する（Ｂ１２）。タイマ２３が２秒を計数すると（Ｂ１３：ＹＥＳ）、プログラムカウンタ１５の値は、タイマ２３の計数終了信号に従ってＦＲＯＭ３の先頭アドレス値ｊに設定され、図４の動作を再度実行する（Ｂ１４）。
【００６０】
以下、図３の動作を図４に代わる図８のフローチャートを用いて説明する。
【００６１】
先ず、自動販売機に電源を投入すると、プログラムカウンタ１５は、主制御部１内部のＣＰＵ４によってアドレス値ｌを初期値に設定され、ＦＲＯＭ３のアドレスｌを指定する。尚、ＦＲＯＭ３のアドレスｌは、ＦＲＯＭ３の先頭アドレスｊにジャンプするためのプログラムデータが記憶される領域である。これより、ＦＲＯＭ３から読み出される先頭アドレスｊ以降のプログラムデータの解読結果に従って、主制御部１全体は初期化される。その後、プログラムカウンタ１５は、外部カード８に関する判別を行うためのアドレス値に設定される（Ｃ１）。
【００６２】
主制御部１は、外部カード８が差込口７に装着されているかどうかを判別する。詳細すると、主制御部１は、外部カード８を差込口７に装着した際の特定の端子接触点の電圧状態を検出するものであり、この端子接触点が論理値“０”（例えば０ボルト）のとき、外部カード８が差込口７に装着されているものと判別し、この端子接触点が論理値“１”（例えば５ボルト）のとき、外部カード８が差込口７に装着されていないものと判別する（Ｃ２）。
【００６３】
主制御部１は、外部カード８が差込口７に装着されているものと判別すると（Ｃ２：ＹＥＳ）、更に、ＦＲＯＭ２の内容を書き換えるためのスイッチがオンしたかどうかを判別する。詳細すると、主制御部１は、スイッチのオンを表す割り込み要求が発生したかどうかを判別する（Ｃ３）。
【００６４】
主制御部１は、割り込み要求が発生したものと判別すると（Ｃ３：ＹＥＳ）、図５のフローチャートのステップＢ１〜Ｂ１４を引き続き実行する。一方、主制御部１は、割り込み要求が発生しないものと判別すると（Ｃ３：ＮＯ）、更に、ＦＲＯＭ２が主制御部１内部で実行可能なプログラムデータ（例えばプログラムデータＡ）を記憶しているかどうかを判別する。詳細すると、主制御部１は、プログラムデータ自体の形式を識別するための識別情報（例えば識別情報ａ１）が予め用意されているテーブル内に存在するかどうかを検出する（Ｃ４）。主制御部１は、テーブル内の如何なる識別情報も存在しないことを検出し、ＦＲＯＭ２が必要なプログラムデータを記憶していないものと判別すると（Ｃ４：ＮＯ）、ステップＣ３を再度実行し、スイッチのオンを表す割り込み要求が発生するまで待機する。
【００６５】
主制御部１は、 ＦＲＯＭ２が主制御部１内部で実行可能なプログラムデータを記憶しているものと判別すると（Ｃ４：ＹＥＳ）、更に、ＦＲＯＭ２のプログラムデータがＲＯＭ９の修正プログラムデータに書き換えられているかどうかを判別する。詳細すると、主制御部１は、 ＦＲＯＭ２内におけるプログラムデータ自体の形式を識別するための識別情報（例えば識別情報ａ１）とＲＯＭ９内における修正プログラムデータ自体の形式を識別するための識別情報（例えば識別情報ｄ１）とを比較し、両方の識別情報が一致したとき、ＦＲＯＭ２のプログラムデータが修正プログラムデータであるものと判別し、両方の識別情報が異なるとき、 ＦＲＯＭ２のプログラムデータが修正プログラムデータではないものと判別する（Ｃ５）。
【００６６】
主制御部１は、 ＦＲＯＭ２のプログラムデータが修正プログラムデータであるものと判別すると（Ｃ５：ＹＥＳ）、ＲＯＭ９の拡張プログラムデータがＦＲＯＭ２のプログラムデータに対応するので、 ＦＲＯＭ２のプログラムデータおよびＲＯＭ９の拡張プログラムデータに基づく演算処理を実行する（Ｃ６）。一方、主制御部１は、 ＦＲＯＭ２のプログラムデータが修正プログラムデータではないものと判別すると（Ｃ５：ＮＯ）、ステップＣ３を再度実行し、スイッチのオンを表す割り込み要求が発生するまで待機する。
【００６７】
ステップＣ２に戻り、主制御部１は、外部カード８が差込口７に装着されていないものと判別すると（Ｃ２：ＮＯ）、更に、ステップＣ４と同様の方法で、ＦＲＯＭ２が主制御部１内部で実行可能なプログラムデータ（例えばプログラムデータＡ）を記憶しているかどうかを判別する。詳細すると、主制御部１は、プログラムデータ自体の形式を識別するための識別情報（例えば識別情報ａ１）が予め用意されているテーブル内に存在するかどうかを検出する（Ｃ７）。主制御部１は、テーブル内の如何なる識別情報も存在しないことを検出し、ＦＲＯＭ２が必要なプログラムデータを記憶していないものと判別すると（Ｃ７：ＮＯ）、ステップＣ２を再度実行し、外部カード８が差込口７に装着されるまで待機する。
【００６８】
主制御部１は、識別情報がテーブル内に存在することを検出し、ＦＲＯＭ２が必要なプログラムデータを記憶しているものと判別すると（Ｃ７：ＹＥＳ）、更に、拡張プログラムデータの要否を判別する。詳細すると、主制御部１は、ＦＲＯＭ２内の拡張プログラムデータの要否を識別するための識別情報（例えば識別情報ａ２）を検出するものであり、この識別情報が論理値“０”のとき、拡張プログラムデータを不要と判別し、この識別情報が論理値“１”のとき、拡張プログラムデータを要と判別する（Ｃ８）。主制御部１は、拡張プログラムデータを不要と判別すると（Ｃ８：ＮＯ）、外部カード８を必要としないので、その後はＦＲＯＭ２のプログラムデータに基づく演算処理を実行する（Ｃ９）。一方、主制御部１は、拡張プログラムデータを要と判別すると（Ｃ８：ＹＥＳ）、更に、ステップＡ２を再度実行し、外部カード８が差込口７に装着されているかどうかを判別する。
【００６９】
図８のステップ数は、図４のステップ数より少ないので、主制御部１におけるプログラム処理の負担を軽減することができる。
【００７０】
以上より、主制御部１は、拡張機能を必要とするとき、基板６上のＦＲＯＭ３の修正プログラムデータＤと外部カード８内のＲＯＭ９の拡張プログラムデータＣとに基づいて演算処理を実行することになる。尚、機能拡張は、主制御部１に限らず、従制御部で実行してもよい。また、ＦＲＯＭ２をマスクＲＯＭに変更しても、外部カード８を用いて拡張機能を実行できる。
【００７１】
【発明の効果】
本発明によれば、拡張機能のみカード手段を用いて実行するようにしたので、拡張機能に依存しない一定記憶容量の不揮発性メモリを基板に実装するだけで済み、種々の拡張機能に柔軟に対応できる汎用性の高い自動販売機を提供することができる。また、拡張機能以外の通常機能の実行速度が遅くなるのを防止することができる。更に、不揮発性メモリの内容をメモリの内容と整合させるので、拡張機能を実行する際のプログラム暴走を未然に防止することができる。
【図面の簡単な説明】
【図１】本発明を適用する主制御部の基板と外部カードとを示す図である。
【図２】図１の主制御部と外部カードとを電気接続したときのメモリ空間を示す図である。
【図３】本発明の自動販売機の制御装置を説明するためのブロック図である。
【図４】図３の動作を説明するためのフローチャートである。
【図５】図３の動作を説明するための他のフローチャートである。
【図６】一般的な自動販売機の正面図である。
【図７】図６の動作を説明するためのブロック図である。
【図８】図４に代わるフローチャートである。
【符号の説明】
１  主制御部
２  ＦＲＯＭ
４  ＣＰＵ
７  差込口
８  外部カード
９  ＲＯＭ
【図１】
0004595188.tif 000002
【図２】
0004595188.tif 000003
【図３】
0004595188.tif 000004
【図４】
0004595188.tif 000005
【図５】
0004595188.tif 000006
【図６】
0004595188.tif 000007
【図７】
0004595188.tif 000008
【図８】
0004595188.tif 000009