以下、図を参照して本発明の実施の形態を詳細に説明する。なお、この発明にはこの実施の形態に限定されるものではない。また、この発明の実施の形態は、発明の最も好ましい形態を示すものであり、この発明の用語はこれに限定されない。
以下、図を参照して本発明の実施の形態を詳細に説明する。
まず、構成を説明する。
図1に、本実施の形態におけるロッカー制御装置Aの概略構成図を示す。
図1に示すように、ロッカー制御装置Aは、ICタグ端末1と、ICタグ端末1と非接触で通信可能な複数のロッカー装置2と、複数のロッカー装置2とネットワークN1を介して接続されたロッカー管理装置3とを備えて構成されている。
ICタグ端末1は、当該ICタグ端末1を識別するための識別情報を記憶したメモリを有するICチップとアンテナコイルとを備えており、後述するロッカー装置2の各ロッカーに設けられた電子錠装置から供給される誘導電磁界又は電波により生じる電力供給に応じて、メモリに記憶されている識別情報を送信する。なお、ICタグ端末1は、無電池型のパッシブタグであることが好ましい。また、ICタグという表現は、無線ICタグの一例を示すものであり、電子タグ、RFID(Radio Frequency Identification)タグ、無線ICチップという表現と同じ意味であり、更に形状は問わない。
ICタグ端末1のICチップに記憶されている識別情報は、ICタグ端末1毎に異なることから、当該ICタグ端末1を使用する利用者を識別することができるため、以下、ICタグ端末1のICチップに記憶されている識別情報を利用者IDという。
図2に、ロッカー装置2の概略構成を示す。
図2に示すように、ロッカー装置2は、サイズが全て同じ又はサイズが異なっている複数のロッカー2aを備えており、各ロッカー2aにはICタグ端末1から利用者IDを読み取り施解錠を行う電子錠装置21が設けられている。また、ネットワークN1を介して接続されるロッカー管理装置3との通信を行うロッカー通信制御装置22が設けられている。複数の電子錠装置21とロッカー通信制御装置22とは、バスN2を介して電気的に接続されている。
図3に、電子錠装置21の制御ブロック図を示す。
図3に示すように、電子錠装置21は、制御部210、記憶部211、ICタグリーダ212、通信部213、表示部214、機構部215を備えて構成されており、各部は電気的に接続されている。
制御部210は、CPU(Central Processing Unit)等を備え、記憶部211に記憶されている各種プログラム、各種テーブルやデータの中から指定されたプログラム、テーブルやデータを読み出し、制御部210又は記憶部211内のワークエリアに展開し、上記プログラムとの協働によって各種処理を実行し、その処理結果を記憶部211の所定の領域に格納するとともに、電子錠装置21内の各部に指示して、電子錠装置21の動作全般を統括的に制御する。
また、制御部210は、ICタグリーダ212により利用者IDが読み取られ入力されると、ICタグリーダ212により読み取られた利用者IDと、当該利用者IDを読み取ったICタグリーダ212が備えられた電子錠装置21が設けられたロッカーを識別する識別情報(以下、ロッカーIDという。)と、を通信部213によりロッカー通信制御装置22に送信させる。
また制御部210は、ロッカー通信制御装置22を介してロッカー管理装置3から送信された指示に応じて機構部215を駆動させてロッカーを施解錠させる。
記憶部211は、制御部210により実行される各種プログラム及びこれらプログラムで使用される各種テーブルやデータ、ロッカーID等が予め記憶されている領域と、当該プログラムや各種テーブルやデータ等が展開される領域とを有する記録媒体である。記憶部211は、磁気的、光学的記録媒体又は半導体等の電気的に消去及び書き換えが可能な不揮発性メモリで構成されており、電子錠装置21に固定的に設けられたもの又は着脱自在に装着されるものである。
ICタグリーダ212は、ICタグ端末1に対して誘導電磁界又は電波を供給すると共にICタグ端末1から識別情報(利用者ID)を読み取り、読み取った利用者IDを制御部210に出力する。
通信部213は、ロッカー通信制御装置22とバスN2を介して通信を行うための通信制御を行うI/F(InterFace)である。
表示部214は、LED(Light Emitting Diode)等を備え、制御部210から入力される信号に従ってLEDの点滅、点灯制御を行う。
機構部215は、ロッカーの施錠・解錠を行う機械的な機構であり、制御部210から入力される信号に従って施錠・解錠の動作を行う。
図4に、ロッカー通信制御装置22の制御ブロック図を示す。
図4に示すように、ロッカー通信制御装置22は、制御部220、記憶部221、通信部222等を備えて構成されており、各部は電気的に接続されている。
制御部220は、CPU等を備え、記憶部221に記憶されている各種プログラム、各種テーブルやデータの中から指定されたプログラム、テーブルやデータを読み出し、制御部220又は記憶部221内のワークエリアに展開し、上記プログラムとの協働によって各種処理を実行し、その処理結果を記憶部221の所定の領域に格納するとともに、ロッカー通信制御装置22内の各部に指示して、ロッカー通信制御装置22の動作全般を統括的に制御する。
また、制御部220は、ネットワークN1に接続されたロッカー管理装置3から送信される指示を各電子錠装置21に送信すると共に、バスN2に接続された各電子錠装置21から送信される指示をロッカー管理装置3に送信する。特に、バスN2に接続され通信部222を介して接続された電子錠装置21により利用者IDが読み取られ、電子錠装置21から利用者ID及びロッカーIDを受信した場合、当該利用者ID及びロッカーIDと、当該利用者ID及びロッカーIDを受信したロッカー通信制御装置22が備えられたロッカー装置2(即ち、自装置)を識別する識別情報(以下、ロッカー装置IDという。)と、を通信部222によりネットワークN1に接続されたロッカー管理装置3に送信させる情報送信手段としての機能を実現する。
記憶部221は、制御部220により実行される各種プログラム及びこれらプログラムで使用される各種テーブルやデータ、ロッカー装置ID等が予め記憶されている領域と、当該プログラムや各種テーブルやデータ等が展開される領域とを有する記録媒体である。記憶部221は、磁気的、光学的記録媒体又は半導体等の電気的に消去及び書き換えが可能な不揮発性メモリで構成されており、ロッカー通信制御装置22に固定的に設けられたもの又は着脱自在に装着されるものである。
通信部222は、バスN2を介して接続された複数の電子錠装置21と通信を行うための通信制御を行うI/Fであり、また、ネットワークN1を介して接続されたロッカー管理装置3と通信を行うための通信制御を行うI/Fでもある。
図5に、ロッカー管理装置3の制御ブロック図を示す。
図5に示すように、ロッカー管理装置3は、制御部300、記憶部310、ICタグリーダ320、通信部330、表示部340、入力部350を備えて構成されており、各部は電気的に接続されている。
制御部300は、CPU等を備え、記憶部310に記憶されている各種プログラム、各種テーブルやデータの中から指定されたプログラム、テーブルやデータを読み出し、制御部300又は記憶部310内のワークエリアに展開し、上記プログラムとの協働によって各種処理を実行し、その処理結果を記憶部310の所定の領域に格納するとともに、ロッカー管理装置3内の各部に指示して、ロッカー管理装置3の動作全般及びロッカー装置2を統括的に制御する。
また、制御部300は、ロッカー装置2から通信部330を介して受信したロッカーIDに基づいて、ロッカーIDに対応するロッカーは使用可能か否かを判別する使用判別手段(図11参照)、使用不可であると判別された場合にロッカーIDに対応するロッカーに替わる使用可能なロッカーを入力部350により受け付けられた選出条件の優先順位に応じて、ロッカーIDに対応するロッカーに替わる使用可能なロッカーを選出し、選出したロッカーの情報をロッカー装置2に送信させると共に選出したロッカーの解錠をロッカー装置2に指示するロッカー選出手段(図13参照)、としての機能を実現する。
制御部300は、ロッカーIDに対応するロッカーに替わる使用可能なロッカーを選出する際の選出条件としては、ロッカーIDに対応するロッカーと同一サイズのロッカー、ロッカーIDに対応するロッカーと床面からの設置高さが同一高さのロッカー、ロッカーIDに対応するロッカーとの距離が最も近いロッカー、であり、これらの選出条件(サイズ、高さ、近さ)の優先順位が入力部350により予め設定されている。
更に、制御部300は、ロッカー装置2から受信した利用者IDに基づいて、当該利用者IDはロッカーを清掃する清掃員を示す清掃員IDか否かを判別する使用者判別手段(図10参照)、清掃員IDであると判別した場合、ロッカー装置2から受信したロッカー装置IDに対応するロッカー装置の各ロッカーの使用回数を記憶部310から取得し、当該取得した使用回数が予め設定された使用回数よりも大きいか否かを判別して、当該判別結果が予め設定された使用回数よりも大きいと判別したロッカーを選出し、選出したロッカー及び選出したロッカーの解錠指示をロッカー装置2に送信する清掃ロッカー選出手段(図18参照)、としての機能を実現する。
記憶部310は、制御部220により実行される各種プログラム及びこれらプログラムで使用される各種テーブルやデータ等が予め記憶されている領域と、当該プログラムや各種テーブルやデータ等が展開される領域や各種レジスタとして機能する領域とを有する記録媒体である。記憶部221は、磁気的、光学的記録媒体又は半導体等の電気的に消去及び書き換えが可能な不揮発性メモリで構成されており、ロッカー通信制御装置22に固定的に設けられたもの又は着脱自在に装着されるものである。
また、記憶部310は、本実施の形態を実現するための各処理を実行するためのプログラムやデータ等を記憶していると共に、複数のロッカー装置2夫々を管理するロッカー装置テーブル、各ロッカー装置に設けられた各ロッカーを管理するロッカー管理テーブル、ロッカー制御装置Aを使用する利用者の情報を管理する会員テーブル、各利用者のロッカーの使用状況(使用履歴)を管理する利用状況テーブルを記憶している。
図6に、ロッカー装置テーブル311の例を示す。
図6に示すように、ロッカー装置テーブル311は、ロッカー制御装置Aに存在するロッカー装置2の数分存在している。
各ロッカー装置テーブル311は、ロッカー装置2の識別情報を示すロッカー装置ID(LSID)、当該ロッカー装置2に設けられたロッカーの総数を示すロッカー数(Lnum)、ロッカーの配列において床面から天井面の方向に配置されているロッカーの数を示すロッカー行数(Hnum)、ロッカーの配列において床面と平行な方向に配置されているロッカーの数を示すロッカー列数(Vunm)、当該ロッカー装置に設けられたロッカーに関するロッカー管理テーブルへの参照ポインタを示すロッカー管理テーブルポインタ(Linfo−P)、次のロッカー装置のロッカー装置テーブル311への参照ポインタを示す次ロッカー装置テーブルポインタ(NS−P)を夫々格納する領域を有している。
このように、各ロッカー装置テーブル311は、次ロッカー装置テーブルポインタ(NS−P)によりリスト構造で結ばれていると共に、各ロッカー装置テーブル311は、ロッカー管理テーブルポインタ(Linfo−P)によりロッカー管理テーブルとリスト構造で結ばれている。
図7に、ロッカー管理テーブル312の例を示す。
図7に示すように、ロッカー管理テーブル312は、ロッカー装置2に存在するロッカーの数分存在しており、ロッカー装置2毎にロッカー管理テーブル312が記憶されている。
各ロッカー管理テーブル312は、ロッカーの識別情報を示すロッカーID(LID)、当該ロッカーが床面から天井面の方向に配置されているロッカーのうちのどの位置に配置されているか(即ち、ロッカーの床面からの高さ)を示す行番号(L−Hi)、当該ロッカーが床面と平行な方向に配置されているロッカーのうちのどの位置に配置されているかを示す列番号(L−CLM)、ロッカーのサイズを示すサイズ(L−Size)、当該ロッカーを使用している利用者のIDを示す利用者ID(UID)、当該ロッカーが利用者によって使用中(利用中)であれば1、利用中でなければ0を示してロッカーの利用状況を示す利用状況判定フラグ(U−Flag)、当該ロッカーの総利用回数を計数して記憶している利用回数カウンタ(U−Count)、ロッカーが利用者によって使用(利用)された直近の利用開始日時を示す利用開始日時(U−Start)、利用開始日時が経過後のロッカーの利用が終了された日時を示す利用終了日時(U−End)、ロッカーが清掃された最も新しい日時を示す前回清掃日時(C−Date)、前回清掃日時からの利用者数を示す清掃後利用者数(U−Num)、前回清掃日時にロッカーを清掃した清掃員の識別情報を示す清掃員ID(CID)、次のロッカーのロッカー管理テーブル312への参照ポインタを示す次ロッカー管理テーブルポインタ(NL−P)を夫々格納する領域を有している。
このように、各ロッカー管理テーブル312は、次ロッカー管理テーブルポインタ(NL−P)によりリスト構造で結ばれていると共に、サイズ(Size)がロッカーのサイズ、行番号(L−Hi)が床面からの高さを示し、行番号(C−Hi)及び列番号(L−CLM)によりロッカーの配置位置が示されることとなるため、ロッカー管理テーブル312を記憶している記憶部310は記憶手段としての機能を実現する。
また、清掃後利用者数(U−Num)は、各ロッカーの清掃後からの利用者の数、即ち、使用回数を計数して記憶していることとなるため、ロッカー管理テーブル312を記憶している記憶部310は使用回数計数記憶手段としての機能を実現する。
図8に、会員テーブル313の例を示す。
図8に示すように、会員テーブル313は、ロッカー制御装置Aを利用する際に登録された利用者の数分存在しており、利用者(会員)毎に会員テーブル313が記憶されている。
各会員テーブル313は、会員となった利用者の氏名を示す会員名(M−Nane)、会員の識別情報としての会員ID(MID)、会員住所(M−Add)、会員電話番号(M−Tel)、会員メールアドレス(M−Mail)、当該会員の利用状況テーブルへの参照ポインタを示す利用状況テーブルポインタ(L−Info)、次の会員の会員テーブルへの参照ポインタを示す次会員テーブルポインタ(NM−P)を夫々格納する領域を有している。
このように、各会員テーブル313は、次会員テーブルポインタ(NM−P)によりリスト構造で結ばれていると共に、各会員テーブル313は、利用状況テーブルポインタ(L−Info)により利用状況テーブルとリスト構造で結ばれている。
図9に、利用状況テーブル314の例を示す。
図9に示すように、利用状況テーブル314は、リスト構造で結ばれている会員テーブルが示す会員がロッカーの利用を開始した日時を示す利用開始日時(Start−T)、利用開始日時(Start−T)からロッカーの利用を終了した日時を示す利用終了日時(End−T)、当該会員が利用したロッカー装置2の識別情報を示すロッカー装置ID(LSID)、当該会員が利用したロッカーの識別情報を示すロッカーID(LID)、次の利用状況テーブル314への参照ポインタを示す次利用状況テーブルポインタ(NR−P)を夫々格納する領域を有している。
このように、各利用状況テーブル314は、会員がロッカーを利用する度に記憶され、次利用状況テーブルポインタ(NR−P)によりリスト構造で結ばれている。
なお、利用状況テーブル314は、利用開始日時(Start−T)から予め定められた期間記憶され、当該期間経過後に削除されるものであったり、会員毎に予め定められた数の利用状況テーブル314が記憶され、予め定められた数の利用状況テーブル314よりも多くの利用状況テーブル314が保存される場合には、利用開始日時が最も古い利用状況テーブル314が削除されて新しい利用状況テーブル314が記憶されるものであってもよく、記憶部310の使用効率化を図ることが好ましい。
また、各種テーブルがリスト構造の最後尾に該当する場合は、次のテーブルへの参照ポインタを示す領域(次ロッカー装置テーブルポインタ(NS−P)、次ロッカー管理テーブルポインタ(NL−P)、次会員テーブルポインタ(NM−P)、次利用状況テーブルポインタ(NR−P))にその旨を示すポインタ「NILL」が格納される。
ICタグリーダ320は、ICタグ端末1に対して誘導電磁界又は電波を供給すると共にICタグ端末1から識別情報(利用者ID)を読み取り、読み取った利用者IDを制御部300に出力する。
通信部330は、ネットワークN1を介して接続された複数のロッカー装置2の各ロッカー通信制御装置22と通信を行うための通信制御を行うI/Fである。
表示部340は、CRT(Cathode Ray Tube)、LCD(Liquid Crystal Display)又は有機EL(Electronic Luminescent)素子を用いた等の表示画面を備え、制御部300から入力される信号に従って所要の表示処理を行う。
入力部350は、表示部340の表示画面を覆うように設けられたタッチパネルや、テンキー、メニューキー、十字キー、決定キー及び各種機能キー等のハードキーを有し、タッチパネルやハードキーが押下されることにより生じる信号を制御部300に出力する。
また、入力部350は、使用可能なロッカーを選出する際の選出条件(サイズ、高さ、近さ)の優先順位の指示を受け付ける入力手段としての機能を実現すると共に、清掃対象となるロッカーの使用回数の設定指示を受け付ける。
次に、本実施の形態の動作を説明する。
図10に、本実施の形態におけるメインフローチャートを示す。
なお、図10に示す処理は、ロッカー管理装置3内の制御部300と記憶部310との協働により実現されるソフトウェア処理である。
まず、ロッカー装置2内の電子錠装置21により、ICタグ端末1から利用者IDが取得され、取得された利用者IDと当該電子錠装置21が設けられたロッカーのロッカーIDとが当該ロッカー装置2のロッカー通信制御装置22に出力される。そして、当該ロッカー通信制御装置22により、電子錠装置21から入力された利用者ID及びロッカーIDと、当該ロッカー通信制御装置22が設けられたロッカー装置2のロッカー装置IDと、がロッカー管理装置3に送信される。
ロッカー管理装置3の制御部300は、ロッカー装置2から受信した利用者ID(UID)、ロッカーID(LID)、ロッカー装置ID(LSID)を取得して記憶部310内のレジスタに格納する(ステップS1)。
制御部300は、レジスタに格納した利用者ID(UID)は、清掃員を示す利用者IDか否かを判別する(ステップS2)。清掃員か否かの判別は、例えば、予め設定されている清掃員を示す利用者IDとレジスタに格納されている利用者IDとを比較することにより判別することができる。
制御部300は、清掃員を示す利用者IDでないと判別した場合(ステップS2;No)、利用者に対するロッカーの利用処理(ステップS3)を実行し、本処理を終了する。
制御部300は、清掃員を示す利用者IDであると判別した場合(ステップS2;Yes)、清掃員に対するロッカーの利用処理(ステップS4)を実行し、本処理を終了する。
図11に、図10に示したステップS3において実行される利用者に対するロッカー利用処理のフローチャートを示す。なお、図11に示す処理は、ロッカー管理装置3内の制御部300と記憶部310との協働により実現されるソフトウェア処理である。
制御部300は、記憶部310内の第1レジスタR1に、ロッカー装置テーブル311の先頭アドレスをセットし(ステップS11)、第1レジスタR1は「NILL」でないか否かを判別する(ステップS12)。
制御部300は、第1レジスタR1は「NILL」であると判別した場合(ステップS12;No)、不正なICタグ端末1を使用したロッカー制御装置Aの利用である恐れがある等の異常が発生した旨をロッカー制御装置Aの上位システムや当該ロッカー管理装置3を操作しているオペレータに報知し(ステップS13)、本処理を終了する。
制御部300は、第1レジスタR1は「NILL」でないと判別した場合(ステップS12;Yes)、第1レジスタR1にセットされたアドレスが示すロッカー装置テーブル311のロッカー装置ID(LSID)は、図10のステップS1において格納されたロッカー装置ID(LSID)と同一か否かを判別する(ステップS14)。
制御部300は、第1レジスタR1にセットされたアドレスが示すロッカー装置テーブル311のロッカー装置ID(LSID)は、図10のステップS1において格納されたロッカー装置ID(LSID)と同一でないと判別した場合(ステップS14;No)、第1レジスタR1を、第1レジスタR1にセットされたアドレスが示すロッカー装置テーブル311の次ロッカー装置テーブルポインタ(NS−P)が示すアドレスにセットし(ステップS15)、ステップS12に戻る。
制御部300は、第1レジスタR1にセットされたアドレスが示すロッカー装置テーブル311のロッカー装置ID(LSID)は、図10のステップS1において格納されたロッカー装置ID(LSID)と同一であると判別した場合(ステップS14;Yes)、記憶部310内の第2レジスタR2に、第1レジスタR1にセットされたアドレスが示すロッカー装置テーブル311のロッカー管理テーブルポインタ(Linfo−P)が示すアドレスをセットする(ステップS16)。
制御部300は、第2レジスタR2は「NILL」でないか否かを判別し(ステップS17)、第2レジスタR2は「NILL」であると判別した場合(ステップS17;No)、ステップS13に進み、本処理を終了する。
制御部300は、第2レジスタR2は「NILL」でないと判別した場合(ステップS17;Yes)、第2レジスタR2にセットされたアドレスが示すロッカー管理テーブル312のロッカーID(LID)は、図10のステップS1において格納されたロッカーID(LID)と同一か否かを判別する(ステップS18)。
制御部300は、第2レジスタR2にセットされたアドレスが示すロッカー管理テーブル312のロッカーID(LID)は、図10のステップS1において格納されたロッカーID(LID)と同一でないと判別した場合(ステップS18;No)、第2レジスタR2を、第2レジスタR2にセットされたアドレスが示すロッカー管理テーブル312の次ロッカー管理テーブルポインタ(NL−P)が示すアドレスにセットし(ステップS19)、ステップS17に戻る。
制御部300は、第2レジスタR2にセットされたアドレスが示すロッカー管理テーブル312のロッカーID(LID)は、図10のステップS1において格納されたロッカーID(LID)と同一であると判別した場合(ステップS18;Yes)、第2レジスタR2にセットされたアドレスが示すロッカー管理テーブル312の利用者ID(UID)は、「NULL」であるか否かを判別する(ステップS20)。
制御部300は、第2レジスタR2にセットされたアドレスが示すロッカー管理テーブル312の利用者ID(UID)は、「NULL」であると判別した場合(ステップS20;Yes)、当該ロッカー管理テーブルのロッカーは空きロッカーであると判別して、ロッカーの利用手続き処理を実行し(ステップS21)、本処理を終了する。
制御部300は、第2レジスタR2にセットされたアドレスが示すロッカー管理テーブル312の利用者ID(UID)は、「NULL」でないと判別した場合(ステップS20;No)、当該ロッカー管理テーブルのロッカーは空きロッカーではないと判別して、代替のロッカーを選出して割り当てる代替ロッカー割当処理(ステップS22)を実行する。
制御部300は、代替ロッカー割当処理の実行後、代替ロッカーは未検出か否かを示す未検出フラグがON(代替ロッカーは未検出)か否かを判別し(ステップS23)、未検出フラグがONでない(代替ロッカーを検出)と判別した場合(ステップS23;No)、本処理を終了する。
制御部300は、未検出フラグがONであると判別した場合(ステップS23;Yes)、第1レジスタR1にセットされたアドレスが示すロッカー装置2に設けられたロッカーは全て使用中である、即ち空きロッカー無しの旨の報知指示、第1レジスタR1にセットされたアドレスが示すロッカー装置テーブル311のロッカー装置ID(LSID)、第2レジスタR2にセットされたアドレスが示すロッカー管理テーブル312のロッカーID(LID)を、第1レジスタR1にセットされたアドレスが示すロッカー装置テーブル311のロッカー装置ID(LSID)に対応するロッカー装置2に設けられたロッカー通信制御装置22に送信し(ステップS24)、本処理を終了する。
なお、ロッカー通信制御装置22は、ロッカー管理装置3からステップS24に示す指示を受信した場合、受信したロッカーID(LID)に設けられた電子錠装置21に対して当該ロッカー装置2の全てのロッカーは使用中(空きロッカー無し)である旨を報知する指示を出力する。そして、電子錠装置21は、ロッカー通信制御装置22からの指示に応じて、表示部214の表示制御を行って、ロッカー装置2の全てのロッカーは使用中である旨を報知する。
図12に、図11に示したステップS21において実行されるロッカーの利用手続き処理のフローチャートを示す。なお、図12に示す処理は、ロッカー管理装置3内の制御部300と記憶部310との協働により実現されるソフトウェア処理である。
制御部300は、第2レジスタR2にセットされたアドレスが示すロッカー管理テーブル312のロッカーID(LID)に対応するロッカーの解錠指示を、第1レジスタR1にセットされたアドレスが示すロッカー装置テーブル311のロッカー装置ID(LSID)に対応するロッカー装置2に設けられたロッカー通信制御装置22に送信する(ステップS31)。
ステップS31において、ロッカー通信制御装置22は、ロッカー管理装置3からステップS31に示す解錠指示を受信した場合、解錠が指示されたロッカーID(LID)に設けられた電子錠装置21に対して解錠指示を出力する。そして、電子錠装置21は、ロッカー通信制御装置22からの指示に応じて、機構部215の動作制御を行って解錠する。
制御部300は、ステップS31後、第2レジスタR2にセットされたアドレスが示すロッカー管理テーブル312の各領域に各種情報をセットする。具体的には、第2レジスタR2にセットされたアドレスが示すロッカー管理テーブル312の利用者ID(UID)に図10のステップS1において格納された利用者ID(UID)をセット、利用情報判定フラグ(U−Flag)を使用中を示す1にセット、利用開始日時(U−Start)を現日時にセット、利用終了日時(U−End)を0にリセット、清掃後利用者数(U−Num)に1を加算、利用回数カウンタ(U−Count)をインクリメントする。
制御部300は、記憶部310の第3レジスタR3に、第2レジスタR2にセットされたアドレスが示すロッカー管理テーブル312の利用者ID(UID)に対応する会員ID(MID)を有する会員テーブル313のアドレスをセットする(ステップS33)。
制御部300は、記憶部310の第4レジスタR4に、第3レジスタR3にセットされたアドレスが示す会員テーブル313の利用状況テーブルポインタ(L−Info)をセットする(ステップS34)。
制御部300は、第4レジスタR4は「NILL」であるか否かを判別する(ステップS35)。
制御部300は、第4レジスタR4は「NILL」でないと判別した場合(ステップS35;No)、第4レジスタR4を、第4レジスタR4にセットされたアドレスが示す利用状況テーブル314の次利用状況テーブルポインタ(NR−P)が示すアドレスにセットし(ステップS36)、ステップS35に戻る。
制御部300は、第4レジスタR4は「NILL」であると判別した場合(ステップS35;Yes)、利用状況テーブル314を格納する領域を新たに確保し、第4レジスタR4にセットされた利用状況テーブル314の次利用状況テーブルポインタを、新たに確保した利用状況テーブル314の領域のアドレスに割り当てる(ステップS37)。
制御部300は、第4レジスタR4にセットされたアドレスが示す利用状況テーブル314の各領域に各種情報をセットする。具体的には、第4レジスタR4にセットされたアドレスが示す利用状況テーブル314の利用開始日時(Start−T)に現日時をセット、利用終了日時(End−T)を0にリセット、ロッカー装置ID(LSID)を図10のステップS1において格納されたロッカー装置ID(LSID)にセット、ロッカーID(LID)を図10のステップS1において格納されたロッカーID(LID)にセット、次利用状況テーブルポインタ(NR−P)をNILLにセットする(ステップS38)。制御部300は、ステップS38後、本処理を終了する。
図13に、図11に示したステップS22において実行される代替ロッカー割当処理のフローチャートを示す。なお、図13に示す処理は、ロッカー管理装置3内の制御部300と記憶部310との協働により実現されるソフトウェア処理である。
制御部300は、図10に示す処理の実行開始時に利用者が選択したロッカーのサイズ、高さ、配置位置の情報を取得する(ステップS41)。ステップS41では、第2レジスタR2にセットされたアドレスが示すロッカー管理テーブル312のサイズ(L−Size)を選択したロッカーのサイズを格納するレジスタ(Size)にセット、第2レジスタR2にセットされたアドレスが示すロッカー管理テーブル312の行番号(L−Hi)を選択したロッカーの高さ(行番号)を格納するレジスタ(Height)にセット、第2レジスタR2にセットされたアドレスが示すロッカー管理テーブル312の列番号(L−CLM)を選択したロッカーの横位置(列番号)を格納するレジスタ(Column)にセットする。
制御部300は、代替のロッカーの選出条件として、最も優先順位の高い選出条件として、ロッカーのサイズが設定されているか否かを判別する(ステップS42)。
制御部300は、最も優先順位の高い選出条件としてロッカーのサイズが設定されていると判別された場合(ステップS42:Yes)、利用者が選択したロッカーと同一サイズのロッカーを代替のロッカーとして選出する処理(同一サイズ代替ロッカー選出処理)を実行し(ステップS43)、未検出フラグがOFF(代替ロッカーを検出)か否かを判別する(ステップS44)。
制御部300は、未検出フラグがOFFであると判別した場合(ステップS44;Yes)本処理を終了し、未検出フラグがOFFでない(代替ロッカーは未検出)と判別した場合(ステップS44;No)ステップS45に進む。
制御部300は、最も優先順位の高い選出条件としてロッカーのサイズが設定されていないと判別された場合(ステップS42:No)又はステップS44;No後、最も優先順位の高い選出条件として利用者が選択したロッカーとの距離が最も近いロッカーを選出すると設定されているか否かを判別する(ステップS45)。
制御部300は、最も優先順位の高い選出条件として利用者が選択したロッカーとの距離が最も近いロッカーを選出すると設定されていると判別した場合(ステップS45;Yes)、利用者が選択したロッカーとの距離が最も近いロッカーを代替のロッカーとして選出する処理(直近代替ロッカー選出処理)を実行し(ステップS46)、未検出フラグがOFF(代替ロッカーを検出)か否かを判別する(ステップS47)。
制御部300は、未検出フラグがOFFであると判別した場合(ステップS47;Yes)、本処理を終了し、未検出フラグがOFFでない(代替ロッカーは未検出)と判別した場合(ステップS47;No)、ステップS48に進む。
制御部300は、最も優先順位の高い選出条件として利用者が選択したロッカーとの距離が最も近いロッカーを選出すると設定されていないと判別された場合(ステップS45:No)又はステップS47;No後、利用者が選択したロッカーと床面から同じ高さに配置されたロッカーを代替のロッカーとして選出する処理(同一高さ代替ロッカー選出処理)を実行し(ステップS48)、本処理を終了する。
なお、本実施の形態における代替ロッカー割当処理は、代替のロッカーの選出条件の優先順位として、優先順位の高い方から、サイズ、近さ、高さに予め設定されているものとして説明したが、この優先順位に限らず適宜変更可能である。優先順位が変更された場合には、最も優先順位の高い選出条件がステップS42、次に優先順位が高い選出条件がステップS45、最も優先順位が低い選出条件がステップS48となる。更に、本実施の形態における選出条件としては、高さ、近さ、サイズの3つの選出条件を挙げているが、これに限らず他の選出条件であってもよく、また、選出条件の数は限定されない。
図14に、図13に示したステップS43において実行される同一サイズ代替ロッカー選出処理のフローチャートを示す。なお、図14に示す処理は、ロッカー管理装置3内の制御部300と記憶部310との協働により実現されるソフトウェア処理である。
制御部300は、第2レジスタR2に、第1レジスタR1にセットされたアドレスが示すロッカー装置テーブル311のロッカー管理テーブルポインタ(Linfo−P)が示すアドレスをセットする(ステップS51)。
制御部300は、第2レジスタR2は「NILL」でないか否かを判別し(ステップS52)、第2レジスタR2は「NILL」であると判別した場合(ステップS52;No)、未検出フラグをONに設定し(ステップS53)、本処理を終了する。
制御部300は、第2レジスタR2は「NILL」でないと判別した場合(ステップS52;Yes)、第2レジスタR2にセットされたアドレスが示すロッカー管理テーブル312の利用者ID(UID)は、「NULL」であるか否かを判別する(ステップS54)。
制御部300は、第2レジスタR2にセットされたアドレスが示すロッカー管理テーブル312の利用者ID(UID)は、「NULL」でないと判別した場合(ステップS54;No)、当該ロッカー管理テーブル312のロッカーは空きロッカーではないと判別して、第2レジスタR2を、第2レジスタR2にセットされたアドレスが示すロッカー管理テーブル312の次ロッカー管理テーブルポインタ(NL−P)が示すアドレスにセットし(ステップS55)、ステップS52に戻る。
制御部300は、第2レジスタR2にセットされたアドレスが示すロッカー管理テーブル312の利用者ID(UID)は、「NULL」であると判別した場合(ステップS54;Yes)、当該ロッカー管理テーブル312のロッカーは空きロッカーであると判別して、第2レジスタR2にセットされたアドレスが示すロッカー管理テーブル312のサイズ(L−Size)は、図13のステップS41において取得したサイズ(Size)と同一か否かを判別する(ステップS56)。
制御部300は、第2レジスタR2にセットされたアドレスが示すロッカー管理テーブル312のサイズ(L−Size)は、図13のステップS41において取得したサイズ(Size)と同一でないと判別した場合(ステップS56;No)、ステップS55に進む。
制御部300は、第2レジスタR2にセットされたアドレスが示すロッカー管理テーブル312のサイズ(L−Size)は、図13のステップS41において取得したサイズ(Size)と同一であると判別した場合(ステップS56;Yes)、第2レジスタR2にセットされたアドレスが示すロッカー管理テーブル312のロッカーID(LID)に対応するロッカーの解錠指示を、第1レジスタR1にセットされたアドレスが示すロッカー装置テーブル311のロッカー装置ID(LSID)に対応するロッカー装置1に設けられたロッカー通信制御装置22に送信する(ステップS57)。
ステップS57において、ロッカー通信制御装置22は、ロッカー管理装置3からステップS57に示す解錠指示を受信した場合、解錠が指示されたロッカーID(LID)に設けられた電子錠装置21に対して解錠指示を出力する。そして、電子錠装置21は、ロッカー通信制御装置22からの指示に応じて、機構部215の動作制御を行って解錠する。
制御部300は、ステップS57後、未検出フラグをOFFに設定し(ステップS58)、本処理を終了する。
図15に、図13に示したステップS46において実行される直近代替ロッカー選出処理のフローチャートを示す。なお、図15に示す処理は、ロッカー管理装置3内の制御部300と記憶部310との協働により実現されるソフトウェア処理である。
制御部300は、第2レジスタR2に、第1レジスタR1にセットされたアドレスが示すロッカー装置テーブル311のロッカー管理テーブルポインタ(Linfo−P)が示すアドレスをセットする(ステップS61)。
制御部300は、第1カウンタCNTをリセットし(ステップS62)、利用者が選択したロッカーが設けられたロッカー装置2内の空きロッカーのロッカー管理テーブル312のアドレスを格納するため、第1レジスタR1にセットされたアドレスが示すロッカー数(Lnum)個のアドレスを格納するためのメモリ領域ETBLを記憶部310内に確保する(ステップS63)。
制御部300は、第2レジスタR2は「NILL」でないか否かを判別し(ステップS64)、制御部300は、第2レジスタR2は「NILL」でないと判別した場合(ステップS64;Yes)、第2レジスタR2にセットされたアドレスが示すロッカー管理テーブル312の利用者ID(UID)は、「NULL」であるか否かを判別する(ステップS65)。
制御部300は、第2レジスタR2にセットされたアドレスが示すロッカー管理テーブル312の利用者ID(UID)は、「NULL」でないと判別した場合(ステップS56;No)、当該ロッカー管理テーブル312のロッカーは空きロッカーではないと判別して、第2レジスタR2を、第2レジスタR2にセットされたアドレスが示すロッカー管理テーブル312の次ロッカー管理テーブルポインタ(NL−P)が示すアドレスにセットし(ステップS66)、ステップS64に戻る。
制御部300は、第2レジスタR2にセットされたアドレスが示すロッカー管理テーブル312の利用者ID(UID)は、「NULL」であると判別した場合(ステップS65;Yes)、当該ロッカー管理テーブル312のロッカーは空きロッカーであると判別して、ステップS63において確保したメモリ領域ETBLの第1カウンタCNTが示す領域に第2レジスタR2にセットされたアドレスを格納し、格納した後に第1カウンタCNTをインクリメントし(ステップS67)、ステップS66に進む。
制御部300は、第2レジスタR2は「NILL」であると判別した場合(ステップS64;No)、第1カウンタCNTは0か否かを判別する(ステップS68)。
制御部300は、第1カウンタCNTは0であると判別した場合(ステップS68;Yes)、未検出フラグをONに設定し(ステップS69)、本処理を終了する。
制御部300は、第1カウンタCNTは0でないと判別した場合(ステップS68;No)、ステップS63において確保したメモリ領域ETBLに格納されたアドレスが示す空きロッカーのうち、最も利用者が選択したロッカーに近い距離に配置されたロッカーを選出する直近ロッカー検出処理を実行し(ステップS70)、未検出フラグをOFFに設定して(ステップS71)、本処理を終了する。
図16に、図15に示したステップS70において実行される直近ロッカー検出処理のフローチャートを示す。なお、図16に示す処理は、ロッカー管理装置3内の制御部300と記憶部310との協働により実現されるソフトウェア処理である。
制御部300は、第1カウンタCNTのループカウンタとしての第2カウンタCをリセットし(ステップS81)、また、本処理を実行している中で利用者が選択したロッカーと当該ロッカーに最も近い距離に配置されたロッカーとの距離を示す直近距離(D1)をリセットする(ステップS82)。
制御部300は、第1カウンタCNTは第2カウンタCよりも大きいか否かを判別し(ステップS83)、第1カウンタCNTは第2カウンタCよりも大きいと判別した場合(ステップS83;Yes)、記憶部310内の第5レジスタR5に、メモリ領域ETBLの第2カウンタCが示す領域に格納されたアドレスをセットする(ステップS84)。
制御部300は、利用者が選択したロッカーと、第5レジスタにセットされたアドレスが示す空きロッカーとの距離(算出距離D2)を算出する(ステップS85)。
ステップS85における算出距離D2は、第5レジスタR5にセットされたアドレスが示すロッカー管理テーブル312の行番号(L−Hi)と第2レジスタR2にセットされたアドレスが示すロッカー管理テーブル312の行番号(L−Hi)との差分の絶対値と、第5レジスタR5にセットされたアドレスが示すロッカー管理テーブル312の列番号(L−CLM)と第2レジスタR2にセットされたアドレスが示すロッカー管理テーブル312の列番号(L−CLM)との差分の絶対値と、を加算した値である。
制御部300は、算出距離D2を算出した後(ステップS85後)、直近距離D1は0又は直近距離D1は算出距離D2よりも大きいか否かを判別する(ステップS86)。
制御部300は、直近距離D1は0又は直近距離D1は算出距離D2よりも大きいと判別した場合(ステップS86;Yes)、直近距離D1を算出距離D2にセットし、記憶部310内の第6レジスタR6に第5レジスタR5にセットされたアドレスをセットする(ステップS87)。第6レジスタR6には、利用者が選択したロッカーに最も近い距離に配置された空きロッカーのロッカー管理アドレスが格納されることとなる。
制御部300は、直近距離D1は0又は直近距離D1は算出距離D2以下であると判別した場合(ステップS86;No)、又はステップS87後、第2カウンタCに1を加算して(ステップS88)、ステップS83に戻る。
制御部300は、第1カウンタCNTは第2カウンタC以下であると判別した場合(ステップS83;No)、第6レジスタR6にセットされたアドレスが示すロッカー管理テーブル312のロッカーID(LID)に対応するロッカーの解錠指示を、第1レジスタR1にセットされたアドレスが示すロッカー装置テーブル311のロッカー装置ID(LSID)に対応するロッカー装置2に設けられたロッカー通信制御装置22に送信し(ステップS89)、本処理を終了する。
ステップS89において、ロッカー通信制御装置22は、ロッカー管理装置3からステップS89に示す解錠指示を受信した場合、解錠が指示されたロッカーID(LID)に設けられた電子錠装置21に対して解錠指示を出力する。そして、電子錠装置21は、ロッカー通信制御装置22からの指示に応じて、機構部215の動作制御を行って解錠する。
図17に、図13に示したステップS48において実行される同一高さ代替ロッカー選出処理のフローチャートを示す。なお、図17に示す処理は、ロッカー管理装置3内の制御部300と記憶部310との協働により実現されるソフトウェア処理である。
制御部300は、第2レジスタR2に、第1レジスタR1にセットされたアドレスが示すロッカー装置テーブル311のロッカー管理テーブルポインタ(Linfo−P)が示すアドレスをセットする(ステップS91)。
制御部300は、第2レジスタR2は「NILL」でないか否かを判別し(ステップS92)、第2レジスタR2は「NILL」であると判別した場合(ステップS92;No)、未検出フラグをONに設定し(ステップS93)、本処理を終了する。
制御部300は、第2レジスタR2は「NILL」でないと判別した場合(ステップS92;Yes)、第2レジスタR2にセットされたアドレスが示すロッカー管理テーブル312の利用者ID(UID)は、「NULL」であるか否かを判別する(ステップS94)。
制御部300は、第2レジスタR2にセットされたアドレスが示すロッカー管理テーブル312の利用者ID(UID)は、「NULL」でないと判別した場合(ステップS94;No)、当該ロッカー管理テーブル312のロッカーは空きロッカーではないと判別して、第2レジスタR2を、第2レジスタR2にセットされたアドレスが示すロッカー管理テーブル312の次ロッカー管理テーブルポインタ(NL−P)が示すアドレスにセットし(ステップS95)、ステップS92に戻る。
制御部300は、第2レジスタR2にセットされたアドレスが示すロッカー管理テーブル312の利用者ID(UID)は、「NULL」であると判別した場合(ステップS94;Yes)、当該ロッカー管理テーブル312のロッカーは空きロッカーであると判別して、第2レジスタR2にセットされたアドレスが示すロッカー管理テーブル312の行番号(L−Hi)は、図13のステップS41において取得した行番号(Height)と同一か否かを判別する(ステップS96)。
制御部300は、第2レジスタR2にセットされたアドレスが示すロッカー管理テーブル312の行番号(L−Hi)は、図13のステップS41において取得した行番号(Height)と同一でないと判別した場合(ステップS96;No)、ステップS95に進む。
制御部300は、第2レジスタR2にセットされたアドレスが示すロッカー管理テーブル312の行番号(L−Hi)は、図13のステップS41において取得した行番号(Height)と同一であると判別した場合(ステップS96;Yes)、第2レジスタR2にセットされたアドレスが示すロッカー管理テーブル312のロッカーID(LID)に対応するロッカーの解錠指示を、第1レジスタR1にセットされたアドレスが示すロッカー装置テーブル311のロッカー装置ID(LSID)に対応するロッカー装置2に設けられたロッカー通信制御装置22に送信する(ステップS97)。
ステップS97において、ロッカー通信制御装置22は、ロッカー管理装置3からステップS97に示す解錠指示を受信した場合、解錠が指示されたロッカーID(LID)に設けられた電子錠装置21に対して解錠指示を出力する。そして、電子錠装置21は、ロッカー通信制御装置22からの指示に応じて、機構部215の動作制御を行って解錠する。
制御部300は、ステップS97後、未検出フラグをOFFに設定し(ステップS98)、本処理を終了する。
図18に、図10に示したステップS4において実行される清掃員に対するロッカーの利用処理のフローチャートを示す。なお、図18に示す処理は、ロッカー管理装置3内の制御部300と記憶部310との協働により実現されるソフトウェア処理である。
制御部300は、図10のステップS1において格納した利用者IDを清掃員ID(CID)としてセットする(ステップS101)。
また、制御部300は、第1レジスタR1に、ロッカー装置テーブル311の先頭アドレスをセットし(ステップS102)、第1レジスタR1は「NILL」でないか否かを判別する(ステップS103)。
制御部300は、第1レジスタR1は「NILL」でないと判別した場合(ステップS103;Yes)、第2レジスタR2に、第1レジスタR1にセットされたアドレスが示すロッカー装置テーブル311のロッカー管理テーブルポインタ(Linfo−P)が示すアドレスをセットする(ステップS104)。
制御部300は、第2レジスタR2は「NILL」でないか否かを判別し(ステップS105)、第2レジスタR2は「NILL」であると判別した場合(ステップS105;No)、第1レジスタR1を、第1レジスタR1にセットされたアドレスが示すロッカー装置テーブル311の次ロッカー装置テーブルポインタ(NS−P)が示すアドレスにセットし(ステップS106)、ステップS103に戻る。
制御部300は、第2レジスタR2は「NILL」でないと判別した場合(ステップS105;Yes)、第2レジスタR2にセットされたアドレスが示すロッカー管理テーブル312の清掃後利用者数(U−Num)は、予め設定された使用回数よりも大きいか否かを判別する(ステップS107)。
制御部300は、第2レジスタR2にセットされたアドレスが示すロッカー管理テーブル312の清掃後利用者数(U−Num)は、予め設定された使用回数以下であると判別した場合(ステップS107;No)、ステップS112に進む。
制御部300は、第2レジスタR2にセットされたアドレスが示すロッカー管理テーブル312の清掃後利用者数(U−Num)は、予め設定された使用回数よりも大きいと判別した場合(ステップS107;Yes)、第2レジスタR2にセットされたアドレスが示すロッカー管理テーブル312のロッカーID(LID)に対応するロッカーの解錠指示を、第1レジスタR1にセットされたアドレスが示すロッカー装置テーブル311のロッカー装置ID(LSID)に対応するロッカー装置2に設けられたロッカー通信制御装置22に送信する(ステップS108)。
ステップS108において、ロッカー通信制御装置22は、ロッカー管理装置3からステップS108に示す解錠指示を受信した場合、解錠が指示されたロッカーID(LID)に設けられた電子錠装置21に対して解錠指示を出力する。そして、電子錠装置21は、ロッカー通信制御装置22からの指示に応じて、機構部215の動作制御を行って解錠する。
また制御部300は、第2レジスタR2にセットされたアドレスが示すロッカー管理テーブル312の前回清掃日時(C−Date)を現在の日時にセット(ステップS109)し、第2レジスタR2にセットされたアドレスが示すロッカー管理テーブル312の清掃員ID(CID)をステップS101にセットした清掃員IDにセット(ステップS110)する。
更に、制御部300は、第2レジスタR2にセットされたアドレスが示すロッカー管理テーブル312の清掃後利用者数(N−Num)をリセットする(ステップS111)。
制御部300は、ステップS107;No後、又はステップS111後、第2レジスタR2を、第2レジスタR2にセットされたアドレスが示すロッカー管理テーブル312の次ロッカー管理テーブルポインタ(NL−P)が示すアドレスにセットし(ステップS112)、ステップS105に戻る。
制御部300は、第1レジスタR1は「NILL」であると判別した場合(ステップS103;No)、本処理を終了する。
本実施の形態によれば、使用不可であるロッカーに替わる代替ロッカーを選出することができるため、利用者自身が他のロッカーを一つ一つ視認して確認しながら利用可能なロッカーを探す手間を省くことができ、ロッカーの利便性を向上させることができる。
また、選出された代替ロッカーを解錠するため、常にロッカーは施錠した状態にしておけることから、不審者による危険物の設置を防ぐことができる。
更に、使用不可であるロッカーと同一サイズのロッカーを代替ロッカーとして選出することができるため、様々なサイズのロッカーが用意されているロッカー装置2において、利用者がロッカーに収納する荷物を格納するのに適したサイズのロッカーを選出することができ、利用者にとって使いやすいロッカーを選出することができる。
使用不可であるロッカーと床面からの高さが同一のロッカーを代替ロッカーとして選出することができるため、様々な高さのロッカーが用意されているロッカー装置2において、利用者の背丈に応じた高さのロッカーを選出することができ、利用者にとって使いやすいロッカーを選出することができる。
使用不可であるロッカーとの距離が最も近いロッカーを代替ロッカーとして選出することができるため、利用者から近いロッカーを選出することができ、利用者が使用可能なロッカーを探し回る必要がなくなる。
設定されたロッカーの選出条件(高さ、サイズ、近さ)の優先順位に応じて代替ロッカーを選出することができるため、利用者の要望により合致し易いロッカーを選出することができる。
また、予め設定された利用回数よりも大きい利用回数のロッカーを選出することができるため、前回利用されてから1度も利用されていないロッカー等の清掃が必要でないロッカーの清掃をする手間を省くことができるため、清掃員の労力の無駄を低減することができ、清掃員に対するロッカーの利便性を向上させることができる。
更に、予め設定された利用回数よりも大きい利用回数のロッカーを解錠するため、清掃が必要とされるロッカーのみを解錠することができ、清掃員によるロッカーの解錠の手間を省くことができると共に、常にロッカーは施錠した状態にしておけることから、不審者による危険物の設置を防ぐことができる。
清掃員であると判別された場合のみ、清掃が必要とされるロッカーを選出することができるため、ロッカーに荷物を格納するためにロッカーを使用する利用者とロッカーを清掃する清掃員とのロッカーの選出動作を異ならせることができる。