(57)【特許請求の範囲】
【請求項１】
エレベータを制御するソフトウェアが、カスタマイズ可能な部分をモジュール化したソフトウェア部品、およびフレームワークで構成されている場合に、
前記ソフトウェア部品のうち、制御対象となるエレベータの全製品に共通のソフトウェア部品である標準ソフトウェア部品を格納するための標準ソフトウェア格納手段と、
前記ソフトウェア部品のうち、エレベータの製品単位にカスタマイズしたソフトウェア部品であるカスタムソフトウェア部品を格納するためのカスタムソフトウェア格納手段と、
前記カスタムソフトウェア部品のアドレスを登録するための参照テーブルと、
前記参照テーブルに基づいて、前記フレームワークに対応した、前記標準ソフトウェア部品または前記カスタムソフトウェア部品を選択し、当該フレームワークとともに選択したソフトウェア部品を実行してエレベータを制御する制御手段と、
を備え、
前記制御手段は、前記参照テーブルを参照して前記フレームワークに対応したカスタムソフトウェア部品のアドレスが有効かどうかを確認し、アドレスが有効な場合は、前記カスタムソフトウェア格納手段に格納されている当該フレームワークに対応したカスタムソフトウェア部品を選択し、アドレスが無効な場合は、前記標準ソフトウェア格納手段に格納されている当該フレームワークに対応した標準ソフトウェア部品を選択する、
ことを特徴とするエレベータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェアのカスタマイズが可能なエレベータ制御装置に関する。
【背景技術】
【０００２】
従来、下記特許文献１で示されているようなエレベータ制御装置では、エレベータの制御に使用するソフトウェアとして、ユーザ製品毎の要求に応じてベースとなるソフトウェアを変更した、いわゆるカスタマイズしたソフトウェアを用いている。カスタマイズを行う場合、ソフトウェアの設計者は、対象となるベースソフトウェアを複製し、ユーザ製品毎の要求に応じて変更する。これにより、ユーザ製品毎に異なるソフトウェアを作成することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０７−２１５６０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記従来の技術によれば、エレベータ制御装置に組み込まれるソフトウェアは、ベースソフトウェアとユーザ製品毎にカスタマイズしたソフトウェア部分が一体化しているため、カスタマイズしたソフトウェア部分の再利用が困難である。そのため、ベースソフトウェアの更新を既存製品に対して適用する場合、更新したベースソフトウェアを基に、再度、ユーザ製品毎にカスタマイズを実施しなければならない、という問題があった。
【０００５】
本発明は、上記に鑑みてなされたものであって、ユーザ製品毎にカスタマイズしたソフトウェア部分を再利用しつつ、ベースソフトウェア部分を容易に更新可能なエレベータ制御装置を得ることを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明は、エレベータを制御するソフトウェアが、カスタマイズ可能な部分をモジュール化したソフトウェア部品、およびフレームワークで構成されている場合に、前記ソフトウェア部品のうち、制御対象となるエレベータの全製品に共通のソフトウェア部品である標準ソフトウェア部品を格納するための標準ソフトウェア格納手段と、前記ソフトウェア部品のうち、エレベータの製品単位にカスタマイズしたソフトウェア部品であるカスタムソフトウェア部品を格納するためのカスタムソフトウェア格納手段と、前記カスタムソフトウェア部品のアドレスを登録するための参照テーブルと、前記参照テーブルに基づいて、前記フレームワークに対応した、前記標準ソフトウェア部品または前記カスタムソフトウェア部品を選択し、当該フレームワークとともに選択したソフトウェア部品を実行してエレベータを制御する制御手段と、を備えることを特徴とする。
【発明の効果】
【０００７】
この発明によれば、ユーザ製品毎にカスタマイズしたソフトウェア部分を再利用しつつ、ベースソフトウェア部分を容易に更新できる、という効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】図１は、エレベータ制御装置の構成例を示す図である。
【図２】図２は、組み込みソフトウェアの構成例を示す図である。
【図３】図３は、組み込みソフトウェアのロード方法を示す図である。
【図４】図４は、ベースソフトウェア部のロードモジュールの作成処理を示すフローチャートである。
【図５】図５は、カスタムソフトウェア部のロードモジュールの作成処理を示すフローチャートである。
【図６】図６は、アナウンス機能の処理を示す図である。
【発明を実施するための形態】
【０００９】
以下に、本発明にかかるエレベータ制御装置の実施の形態を図面に基づいて詳細に説明する。なお、本実施の形態により本発明が限定されるものではない。
【００１０】
実施の形態．
図１は、エレベータ制御装置の構成例を示す図である。エレベータ制御装置１は、エレベータの各種センサ、ボタン等の入力装置２と、表示パネル、音声アナウンス装置等のアナウンス表示報知装置３と接続する。エレベータ制御装置１は、制御部１１と、ローダ部１２を備える。制御部１１は、エレベータの制御を行う組み込みソフトウェアが格納されたメモリ（不揮発性メモリ）を備え、当該メモリからソフトウェアを読み出し、入力装置２から受け取ったイベント情報に基づいて図示しないエレベータの制御を行い、また、アナウンス表示報知装置３を制御する。ローダ部１２は、組み込みソフトウェアの実行形式であるロードモジュールを制御部１１（不揮発性メモリ）にロードする。
【００１１】
制御部１１は、ベース制御部１００と、カスタム制御部１１０を備える。ベース制御部１００は、エレベータを制御する組み込みソフトウェアのうち、他のエレベータ制御装置において共通に使用可能な部分であるベースソフトウェアを格納し、格納したベースソフトウェアに基づいてエレベータの制御を行う。カスタム制御部１１０は、エレベータを制御する組み込みソフトウェアのうち、ユーザ製品（エレベータ制御装置）毎にカスタマイズしたカスタムソフトウェアを格納し、格納したカスタムソフトウェアに基づいてエレベータの制御を行う。
【００１２】
このように、制御部１１は、格納する組み込みソフトウェアを、ベースソフトウェアと、ベースソフトウェアをユーザ製品毎にカスタマイズしたソフトウェアとの差分であるカスタムソフトウェアとに分割し、異なる領域に格納する。
【００１３】
ベース制御部１００は、フレームワーク部１０１と、ソフトウェア格納部１０２を備える。フレームワーク部１０１は、ソフトウェアの制御構造部分を含み、ソフトウェアのカスタマイズ対象部分でソフトウェア部品を実行するフレームワークを格納し、当該フレームワークを実行してエレベータを制御する。ソフトウェア格納部１０２は、ソフトウェアのカスタマイズ対象部分をモジュール化した複数種類のソフトウェア部品を格納する。
【００１４】
カスタム制御部１１０は、参照テーブル１１１と、カスタムソフトウェア格納部１１２を備える。参照テーブル１１１は、ベースソフトウェアのソフトウェア部品に対応するカスタムソフトウェア部品のアドレスを登録したデーブルを格納する。カスタムソフトウェア格納部１１２は、ベースソフトウェアのソフトウェア部品をユーザ製品毎にカスタマイズした複数種類のカスタムソフトウェア部品を格納する。
【００１５】
ここで、エレベータ制御装置１の制御部１１が備える不揮発性メモリに格納する組み込みソフトウェアの構成について説明する。図２は、組み込みソフトウェアの構成例を示す図である。組み込みソフトウェア２００は、ベースソフトウェア部２１０と、カスタムソフトウェア部２２０から構成される。ベースソフトウェア部２１０は、フレームワーク２１１と、複数種類のソフトウェア部品２１２から構成される。また、カスタムソフトウェア部２２０は、カスタムソフトウェア部品の参照テーブル２２１と、複数種類のカスタムソフトウェア部品２２２から構成される。
【００１６】
制御部１１との関係において、ベースソフトウェア部２１０はベース制御部１００に格納され、カスタムソフトウェア部２２０はカスタム制御部１１０に格納される。詳細には、フレームワーク２１１はフレームワーク部１０１に格納され、複数種類のソフトウェア部品２１２はソフトウェア格納部１０２に格納され、カスタムソフトウェア部品の参照テーブル２２１は参照テーブル１１１に格納され、複数種類のカスタムソフトウェア部品２２２はカスタムソフトウェア格納部１１２に格納される。
【００１７】
図３は、エレベータ制御装置１の制御部１１が備える不揮発性メモリに格納する組み込みソフトウェアのロード方法を示す図である。組み込みソフトウェア２００のロードモジュールは、ベースソフトウェア部のロードモジュール３０１と、カスタムソフトウェア部のロードモジュール３０２に分割され、それぞれベース制御部１００（ベースソフトウェア部の配置領域）、およびカスタム制御部１１０（カスタムソフトウェア部の配置領域）に独立して格納される。
【００１８】
図４は、ベースソフトウェア部のロードモジュール３０１の作成処理を示すフローチャートである。まず、エレベータ制御装置１の管理者等が、ベースソフトウェア部２１０のソースコードを作成する（ステップＳ１）。つぎに、コンパイラを用いてコンパイルを行い、ベースソフトウェアのオブジェクトファイルを作成する（ステップＳ２）。
【００１９】
また、カスタムソフトウェア部２２０のシンボルテーブルを作成する。この際、カスタムソフトウェア部品２２２の参照テーブル等、ベースソフトウェア部２１０から参照するカスタムソフトウェア部２２０のシンボルを固定アドレスに配置するものとする（ステップＳ３）。
【００２０】
そして、作成したベースソフトウェアのオブジェクトファイルおよびシンボルテーブルに基づいて、リンカを用いてリンクを行い、ベースソフトウェア部のロードモジュール３０１を作成する（ステップＳ４）。これにより、ベースソフトウェアのオブジェクトファイルを制御部１１のベース制御部１００（不揮発性メモリのベースソフトウェア部の配置領域）に再配置し、また、ベースソフトウェア部２１０から参照するカスタムソフトウェア部２２０のシンボルのアドレスを解決することができる。
【００２１】
なお、上記ステップＳ３の処理は、上記ステップＳ１、Ｓ２の処理とは独立しているので、実際には、２つの処理を並行して行うことが可能である。
【００２２】
図５は、カスタムソフトウェア部のロードモジュール３０２の作成処理を示すフローチャートである。まず、エレベータ制御装置１の管理者等が、ベースソフトウェア部２１０のソフトウェア部品２１２のうち、ユーザ製品毎にカスタマイズするソフトウェア部品２１２から、カスタムソフトウェア部品２２２を作成する（ステップＳ１１）。つぎに、カスタムソフトウェア部品２２２の参照テーブル２２１を作成する。参照テーブル２２１は、ベースソフトウェア部２１０の全てのソフトウェア部品２１２に対応するカスタムソフトウェア部品２２２のエントリを持つものとし、ステップＳ１１で作成したカスタムソフトウェア部品２２２のアドレスを対応するエントリに登録し、カスタムソフトウェア部品２２２が存在しないエントリは、無効なアドレス（ＮＵＬＬアドレス）を登録する（ステップＳ１２）。つぎに、コンパイラを用いてコンパイルを行い、カスタムソフトウェアのオブジェクトファイルを作成する（ステップＳ１３）。
【００２３】
また、カスタムソフトウェア部２２０から参照するベースソフトウェア部２１０のシンボルテーブル（アドレス情報）を、ベースソフトウェア部２１０のロードモジュールから取得する（ステップＳ１４）。なお、カスタムソフトウェア部２２０から参照するベースソフトウェア部２１０のシンボルは、固定アドレスに配置するものとする。
【００２４】
そして、作成したカスタムソフトウェアのオブジェクトファイルおよび取得したアドレス情報に基づいて、リンカを用いてリンクを行い、カスタムソフトウェア部のロードモジュール３０２を作成する（ステップＳ１５）。これにより、ベースソフトウェア部のオブジェクトファイル３０２を制御部１１のカスタム制御部１１０（不揮発性メモリのカスタムソフトウェア部の配置領域）に再配置し、また、カスタムソフトウェア部２２０から参照するベースソフトウェア部２１０のシンボルのアドレスを解決することができる。
【００２５】
なお、上記ステップＳ１４の処理は、ステップＳ１１〜Ｓ１３の処理とは独立しているので、実際には、２つの処理を並行して行うことが可能である。
【００２６】
つづいて、エレベータ制御装置１における制御の一例として、アナウンス機能を実行する処理について説明する。図６は、アナウンス機能の処理を示す図である。
【００２７】
フレームワーク部１０１は、アナウンス機能を実行するモジュールとして、イベント通知モジュール５１０、アナウンス要求モジュール５２０、アナウンス出力モジュール５３０を備え、アナウンス機能のフレームワークは、この３つのモジュールにより構成される。
【００２８】
また、イベント通知モジュール５１０で判定するアナウンス要求のタイミングと、アナウンス要求モジュール５２０で作成するアナウンス要求の内容は、ユーザ製品毎にカスタマイズする。
【００２９】
ソフトウェア格納部１０２は、アナウンス機能を実行するソフトウェア部品として、イベント通知モジュール５１０のカスタマイズ対象部分をモジュール化した標準イベント通知部品５１１と、アナウンス要求モジュール５２０のカスタマイズ対象部分をモジュール化した標準アナウンス要求部品５２１を備える。
【００３０】
カスタムソフトウェア格納部１１２は、アナウンス機能を実行するカスタムソフトウェア部品として、標準イベント通知部品５１１をユーザ製品毎にカスタマイズしたカスタムイベント通知部品５１２と、標準アナウンス要求部品５２１をユーザ製品毎にカスタマイズしたカスタムアナウンス要求部品５２２を備える。
【００３１】
まず、エレベータ利用者のボタン操作等により入力装置２においてイベント情報が発生し、エレベータ制御装置１の制御部１１がイベント情報を入力する。
【００３２】
制御部１１では、フレームワーク部１０１のイベント通知モジュール５１０がイベント情報を受け取り、アナウンス毎のタイミングを判定して、後段のアナウンス要求モジュール５２０にメッセージを通知する。具体的には、イベント通知モジュール５１０は、自モジュールの処理を実行するとともに、カスタマイズ対象部分のソフトウェアである標準イベント通知部品５１１またはカスタムイベント通知部品５１２のいずれか１つを実行する。いずれか１つを選択するため、イベント通知モジュール５１０は、カスタムソフトウェア部品の参照テーブル１１１からアドレスを取得し、アドレスが有効な場合はカスタムソフトウェア部品であるカスタムイベント通知部品５１２を実行し、アドレスが無効（ＮＵＬＬアドレス）な場合は標準のソフトウェア部品である標準イベント通知部品５１１を実行する。そして、実行した結果をメッセージとしてアナウンス要求モジュール５２０に通知する。
【００３３】
つぎに、フレームワーク部１０１のアナウンス要求モジュール５２０が、イベント通知モジュール５１０からメッセージを受け取り、イベントに対応するアナウンス要求を作成し、後段のアナウンス出力モジュール５３０にメッセージを通知する。具体的には、アナウンス要求モジュール５２０は、自モジュールの処理を実行するとともに、カスタマイズ対象部分のソフトウェアである標準アナウンス要求部品５２１またはカスタムアナウンス要求部品５２２のいずれか１つを実行する。いずれか１つを選択するため、アナウンス要求モジュール５２０は、カスタムソフトウェア部品の参照テーブル１１１からアドレスを取得し、アドレスが有効な場合はカスタムソフトウェア部品であるカスタムアナウンス要求部品５２２を実行し、アドレスが無効（ＮＵＬＬアドレス）な場合は標準のソフトウェア部品である標準アナウンス要求部品５２１を実行する。そして、実行した結果をメッセージとしてアナウンス出力モジュール５３０に通知する。
【００３４】
つぎに、フレームワーク部１０１のアナウンス出力モジュール５３０が、アナウンス要求モジュール５２０からメッセージを受け取り、当該メッセージに基づいて制御信号を出力し、アナウンス要求に対応するアナウンス表示報知装置３を制御する。
【００３５】
このように、エレベータ制御装置１の制御部１１では、エレベータを制御する組み込みソフトウェアを、ベースソフトウェアと、ベースソフトウェアをユーザ製品毎にカスタマイズしたソフトウェアとの差分であるカスタムソフトウェアとに分割し、異なる領域に格納する。しかしながら、制御部１１では、入力したイベント情報に基づいて、参照テーブルを参照し、有効なアドレスがあった場合はカスタマイズしたソフトウェア部品を使用することができるため、組み込みソフトウェアが異なる領域に格納されていても、エレベータの制御を行うことが可能となる。
【００３６】
以上説明したように、本実施の形態では、エレベータ制御装置は、エレベータを制御するソフトウェアを、ベースソフトウェアと、ユーザ製品毎にカスタマイズしたソフトウェアとの差分であるカスタムソフトウェアとに分割し、それぞれを制御部の異なる領域（ベース制御部１００、カスタム制御部１１０）に格納することとした。これにより、ベースソフトウェア、カスタムソフトウェアは、互いに独立して書き換えることが可能となり、ベースソフトウェアの更新を既存のユーザ製品に対して適用する際に、ユーザ製品毎のカスタムソフトウェアは再利用しながら、ベースソフトウェアのみを容易に更新することが可能となる。
【産業上の利用可能性】
【００３７】
以上のように、本発明にかかるエレベータ制御装置は、組み込みソフトウェアによって制御を行う制御装置に有用であり、特に、ユーザ製品毎にソフトウェアのカスタマイズが可能な制御装置に有用である。
【符号の説明】
【００３８】
１  エレベータ制御装置
２  入力装置
３  アナウンス表示報知装置
１１  制御部
１２  ローダ部
１００  ベース制御部
１０１  フレームワーク部
１０２  ソフトウェア格納部
１１０  カスタム制御部
１１１  参照テーブル
１１２  カスタムソフトウェア格納部
２００  組み込みソフトウェア
２１０  ベースソフトウェア部
２１１  フレームワーク
２１２  ソフトウェア部品
２２０  カスタムソフトウェア部
２２１  参照テーブル
２２２  カスタムソフトウェア部品
３０１  ベースソフトウェア部のロードモジュール
３０２  カスタムソフトウェア部のロードモジュール
５１０  イベント通知モジュール
５１１  標準イベント通知部品
５１２  カスタムイベント通知部品
５２０  アナウンス要求モジュール
５２１  標準アナウンス要求部品
５２２  カスタムアナウンス要求部品
５３０  アナウンス出力モジュール
【図１】
0005419675.tif 000002
【図２】
0005419675.tif 000003
【図３】
0005419675.tif 000004
【図４】
0005419675.tif 000005
【図５】
0005419675.tif 000006
【図６】
0005419675.tif 000007