(57)【特許請求の範囲】
【請求項１】
ネットワークを介したデータ送受信用の通信手段と、
中央処理装置及び主記憶装置により構成されるコンピュータと、
電気的に書換え可能な不揮発性メモリを有し、この不揮発性メモリで複数のデータテーブルを記憶している他、ファームウエアを記憶している記憶手段と
を備え、
前記ファームウエアは、前記コンピュータをファームウエア制御手段として機能させ、このファームウエア制御手段は、前記複数のデータテーブルの各々に複数のセマフォを割り当てる一方、前記複数のデータテーブルのいずれかに割り当てられた複数のセマフォの全てが当該データテーブル更新用に前記ネットワークを介して取得されると、これらセマフォの全てを取得した取得相手に対して、取得されたセマフォに対応する更新すべきデータテーブルを占有させる
データテーブルアクセス制御装置において、
前記記憶手段は、前記コンピュータをアプリケーション制御手段として機能させるアプリケーションプログラムと、前記コンピュータをオペレーション制御手段として機能させるオペレーションシステムプログラムとを記憶し、
前記オペレーション制御手段は、前記アプリケーション制御手段が前記複数のデータテーブルに対して読出アクセスを行うと、この読出アクセスのあったデータテーブルに対する可能な限り多くのセマフォの取得要求を前記ファームウエア制御手段に行うとともに、このファームウエア制御手段からの取得結果に応じて前記読出アクセスのあったデータテーブルに対する使用可能時間を求め、この使用可能時間及び前記取得結果の双方を前記アプリケーション制御手段に返す
ことを特徴とするデータテーブルアクセス制御装置。
【請求項２】
ネットワークを介したデータ送受信用の通信手段と、
中央処理装置及び主記憶装置により構成されるコンピュータと、
電気的に書換え可能な不揮発性メモリを有し、この不揮発性メモリで複数のデータテーブルを記憶している他、ファームウエアを記憶している記憶手段と
を備え、
前記ファームウエアは、前記コンピュータをファームウエア制御手段として機能させ、このファームウエア制御手段は、前記複数のデータテーブルの各々に複数のセマフォを割り当てる一方、前記複数のデータテーブルのいずれかに割り当てられた複数のセマフォの全てが当該データテーブル更新用に前記ネットワークを介して取得されると、これらセマフォの全てを取得した取得相手に対して、取得されたセマフォに対応する更新すべきデータテーブルを占有させる
データテーブルアクセス制御装置において、
前記記憶手段は、前記コンピュータをアプリケーション制御手段として機能させるアプリケーションプログラムと、前記コンピュータをオペレーション制御手段として機能させるオペレーションシステムプログラムとを記憶し、
前記オペレーション制御手段は、前記複数のデータテーブルのうち、一のデータテーブル及び少なくとも１つの他のデータテーブルの各々からセマフォを選択し、この選択された複数のセマフォを示す排他制御用のエイリアスを作成する一方、前記アプリケーション制御手段が前記エイリアスに対応する複数のデータテーブルに対して同時期に読出アクセスを行うと、当該エイリアスにより示される複数のセマフォの全ての取得要求を前記ファームウエア制御手段に行うとともに、このファームウエア制御手段からの取得結果を当該エイリアス単位で前記アプリケーション制御手段に返す
ことを特徴とするデータテーブルアクセス制御装置。
【請求項３】
ネットワークを介したデータ送受信用の通信手段と、
中央処理装置及び主記憶装置により構成されるコンピュータと、
電気的に書換え可能な不揮発性メモリを有し、この不揮発性メモリで複数のデータテーブルを記憶している他、ファームウエアを記憶している記憶手段と
を備え、
前記ファームウエアは、前記コンピュータをファームウエア制御手段として機能させ、このファームウエア制御手段は、前記複数のデータテーブルの各々に複数のセマフォを割り当てる一方、前記複数のデータテーブルのいずれかに割り当てられた複数のセマフォの全てが当該データテーブル更新用に前記ネットワークを介して取得されると、これらセマフォの全てを取得した取得相手に対して、取得されたセマフォに対応する更新すべきデータテーブルを占有させる
データテーブルアクセス制御装置において、
前記記憶手段は、前記コンピュータをアプリケーション制御手段として機能させるアプリケーションプログラムと、前記コンピュータをオペレーション制御手段として機能させるオペレーションシステムプログラムと、前記コンピュータを前記アプリケーション制御手段に対するインターフェース手段として機能させるアプリケーションインターフェースプログラムとを記憶し、
前記インターフェース手段は、前記複数のデータテーブルのうち、一のデータテーブル及び少なくとも１つの他のデータテーブルに対する読出アクセスが同時期に行われた場合の当該読出アクセス回数の履歴を取るとともに、この履歴の読出アクセス回数が所定回数以上になった各データテーブルのセマフォを選択し、この選択された複数のセマフォを示す排他制御用のエイリアスを作成する一方、前記アプリケーション制御手段が前記エイリアスに対応する複数のデータテーブルに対して同時期に読出アクセスを行うと、当該エイリアスにより示される複数のセマフォの全ての取得要求を前記オペレーション制御手段に行うとともに、このオペレーション制御手段からの取得結果を当該エイリアス単位でアプリケーション制御手段に返す
ことを特徴とするデータテーブルアクセス制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、排他制御用にセマフォを利用してデータテーブルのアクセス制御を行うデータテーブルアクセス制御装置に関するものである。
【０００２】
【従来の技術】
従来、排他制御を行う方法として、テストアンドセット（ＴＡＳ）命令やセマフォ（Semaphore ）等が利用されている。
例えば、フラッシュＲＯＭに使用されるセマフォでは、各デバイス毎に１つのセマフォが割り当てられ、この場合、フラッシュＲＯＭに対する同時期の読み書きは行われない。
【０００３】
また、メモリに記憶された複数のデータテーブル（テーブル形式のデータ）に使用されるセマフォでは、一般に、データテーブルの全てのセマフォを取得したときに当該データテーブルに対する書込みを可能にする一方、データテーブルのいずれかのセマフォを取得したときに当該データテーブルに対する読出しを可能にしている。
【０００４】
なお、この種のデータテーブルアクセス制御方法では、あるタスクがセマフォを取得した状態のまま停止すると、このセマフォを他のタスクが取得することができなかった。
また、複数のデータテーブルの各セマフォを同時期に取得する場合、例えば最後の１つが取得できないために、この１つを取得するまで他のセマフォを取得した状態のまま無限ループに入ってしまう場合があった。
【０００５】
なお、上記セマフォによるデータテーブルアクセス制御に関するものではないが、特開平８−１９４６２１号公報には、ファームウエア更新中におけるシステムの停止時間を短くしたダウンロード装置が開示されている。
【０００６】
【発明が解決しようとする課題】
データテーブルを記憶する不揮発性メモリと、主記憶装置（読み書き可能の揮発性メモリ）及び中央処理装置（ＣＰＵ）により構成されるコンピュータとが組み込まれた設備が導入された場合、この導入後、コンピュータがアクセスする不揮発性メモリにおけるデータテーブルの更新が必要になる場合が多い。
【０００７】
このような場合、上記不揮発性メモリは通常書換え不可であることから、データテーブルを更新するには、不揮発性メモリを更新されたデータテーブルを記憶するものと交換する必要があった。
これに対して、データテーブルが書換え可能の不揮発性メモリに記憶されている場合には、データテーブルの更新は、所定の処理を実行させるために記述されたいわゆるアプリケーションプログラムが動作中であれば、この動作を停止させた上で実行されていた。
【０００８】
本発明は、上記事情に鑑みてなされたものであり、データテーブル更新のためのメモリ交換を不要にすることが可能で、アプリケーションプログラムが動作中でもデータテーブルの更新が可能なデータテーブルアクセス制御装置を提供することを目的とする。
【０００９】
【課題を解決するための手段】
上記課題を解決するための本発明は、ネットワークを介したデータ送受信用の通信手段と、中央処理装置及び主記憶装置により構成されるコンピュータと、電気的に書換え可能な不揮発性メモリを有し、この不揮発性メモリで複数のデータテーブルを記憶している他、ファームウエアを記憶している記憶手段とを備え、前記ファームウエアは、前記コンピュータをファームウエア制御手段として機能させ、このファームウエア制御手段は、前記複数のデータテーブルの各々に複数のセマフォを割り当てる一方、前記複数のデータテーブルのいずれかに割り当てられた複数のセマフォの全てが当該データテーブル更新用に前記ネットワークを介して取得されると、これらセマフォの全てを取得した取得相手に対して、取得されたセマフォに対応する更新すべきデータテーブルを占有させる構成（以下「基本構成」という）を持つ。この基本構成によれば、データテーブル更新のためのメモリ交換が不要になるとともに、アプリケーションプログラムが動作中でもデータテーブルの更新が可能になる。
【００１０】
請求項１記載の発明は、上記基本構成を持つデータテーブルアクセス制御装置において、前記記憶手段は、前記コンピュータをアプリケーション制御手段として機能させるアプリケーションプログラムと、前記コンピュータをオペレーション制御手段として機能させるオペレーションシステムプログラムとを記憶し、前記オペレーション制御手段は、前記アプリケーション制御手段が前記複数のデータテーブルに対して読出アクセスを行うと、この読出アクセスのあったデータテーブルに対する可能な限り多くのセマフォの取得要求を前記ファームウエア制御手段に行うとともに、このファームウエア制御手段からの取得結果に応じて前記読出アクセスのあったデータテーブルに対する使用可能時間を求め、この使用可能時間及び前記取得結果の双方を前記アプリケーション制御手段に返すことを特徴とする。この構成によれば、セマフォを取得できないためにループに入ってしまったり、あるタスクがセマフォを取得した状態のまま停止して、このセマフォを他のタスクが取得することができいといった不具合が防止されるようになる。
【００１１】
請求項２記載の発明は、上記基本構成を持つデータテーブルアクセス制御装置において、前記記憶手段は、前記コンピュータをアプリケーション制御手段として機能させるアプリケーションプログラムと、前記コンピュータをオペレーション制御手段として機能させるオペレーションシステムプログラムとを記憶し、前記オペレーション制御手段は、前記複数のデータテーブルのうち、一のデータテーブル及び少なくとも１つの他のデータテーブルの各々からセマフォを選択し、この選択された複数のセマフォを示す排他制御用のエイリアスを作成する一方、前記アプリケーション制御手段が前記エイリアスに対応する複数のデータテーブルに対して同時期に読出アクセスを行うと、当該エイリアスにより示される複数のセマフォの全ての取得要求を前記ファームウエア制御手段に行うとともに、このファームウエア制御手段からの取得結果を当該エイリアス単位で前記アプリケーション制御手段に返すことを特徴とする。この構成によれば、複数のデータテーブルの各セマフォを同時期に取得する場合に、複数のセマフォの全てを取得できないために取得するまで取得した他のセマフォを保持したままとなって生じる不具合が防止されるようになる。
【００１２】
請求項３記載の発明は、上記基本構成を持つデータテーブルアクセス制御装置において、前記記憶手段は、前記コンピュータをアプリケーション制御手段として機能させるアプリケーションプログラムと、前記コンピュータをオペレーション制御手段として機能させるオペレーションシステムプログラムと、前記コンピュータを前記アプリケーション制御手段に対するインターフェース手段として機能させるアプリケーションインターフェースプログラムとを記憶し、前記インターフェース手段は、前記複数のデータテーブルのうち、一のデータテーブル及び少なくとも１つの他のデータテーブルに対する読出アクセスが同時期に行われた場合の当該読出アクセス回数の履歴を取るとともに、この履歴の読出アクセス回数が所定回数以上になった各データテーブルのセマフォを選択し、この選択された複数のセマフォを示す排他制御用のエイリアスを作成する一方、前記アプリケーション制御手段が前記エイリアスに対応する複数のデータテーブルに対して同時期に読出アクセスを行うと、当該エイリアスにより示される複数のセマフォの全ての取得要求を前記オペレーション制御手段に行うとともに、このオペレーション制御手段からの取得結果を当該エイリアス単位でアプリケーション制御手段に返すことを特徴とする。この構成によれば、エイリアスが自動的に生成され登録されるようになって、複数のデータテーブルの各セマフォを同時期に取得する場合に、複数のセマフォの全てを取得できないために取得するまで取得した他のセマフォを保持したままとなって生じる不具合が防止されるようになる。
【００１３】
【発明の実施の形態】
図１（ａ）は、本発明の第１実施形態に係るデータテーブルアクセス制御装置を適用した設備の概略構成図、図１（ｂ）は各装置内のコンピュータを示す図、図２は、データテーブル更新装置から更新対象となる装置のハードウエアのメモリ領域への更新すべきデータテーブルのダウンロードの様子を示す図で、以下これらの図を用いて第１実施形態について説明する。
【００１４】
本設備は、図１（ａ）に示すように、複数の装置ＴがネットワークＮＷを介して互いに接続されて構成され、各装置Ｔは、後述するデータテーブルに対するアクセス制御を行うとともに所定の制御を行うデータテーブルアクセス制御装置１０が組み込まれている。なお、上記所定の制御は、設備に対して設定されるもので、ここでの説明は省略する。
【００１５】
データテーブルアクセス制御装置１０は、ネットワークＮＷを介したデータ送受信用の通信インターフェース（通信手段）１１と、ＣＰＵ１２及びＲＡＭ（主記憶装置）１３により構成されるコンピュータ１４と、ファームウエア、オペレーションシステム（ＯＳ）プログラム及び複数のデータテーブルを記憶しているフラッシュＲＯＭ（記憶手段、不揮発性メモリ）１５とを備え、図１（ｂ）に示すように、上記ファームウエアは、コンピュータ１４をファームウエア制御部１４１として機能させる一方、上記ＯＳプログラムは、コンピュータ１４をオペレーション制御部１４２として機能させる。なお、フラッシュＲＯＭ１５は、チップ的には複数個でもよいことはいうまでもない。
【００１６】
ファームウエア制御部１４１は、フラッシュＲＯＭ１５における複数のデータテーブルの各々に３つのセマフォを割り当てる一方、複数のデータテーブルのいずれかに割り当てられた３つのセマフォの全てが当該データテーブル更新用にネットワークＮＷを介して取得されると、これら３つのセマフォの全てを取得したデータテーブル更新装置（取得相手）１に対して（図２参照）、取得されたセマフォに対応する更新すべきデータテーブルを占有させるものである。
【００１７】
また、ファームウエア制御部１４１は、オペレーション制御部１４２から読出アクセスに応じたデータテーブルのセマフォ取得の要求があると、この要求に応じてセマフォを取得し、少なくとも１つのセマフォを取得することができれば、取得できたセマフォのデータテーブルに対する読出許可を示す取得結果を返し、そうでなければ読出禁止を示す取得結果を返す。
【００１８】
オペレーション制御部１４２は、本装置Ｔの全般を制御するもので、例えばネットワークＮＷを介してデータテーブル更新装置１から、フラッシュＲＯＭ１５における複数のデータテーブルのいずれかに対する更新要求を受けると、この更新要求のあったデータテーブルに割り当てられた３つのセマフォの全ての取得要求をファームウエア制御部１４１に行い、このファームウエア制御部１４１から取得結果を受け取り、３つのセマフォの全てを取得できれば、更新用のデータテーブルをダウンロードして、取得したセマフォに対応する更新すべきデータテーブルを更新する処理を進め、更新後は取得中のセマフォを開放する一方、３つのセマフォの全てを取得できなければ更新要求に対して更新不可を返す。なお、更新不可の場合、データテーブル更新装置１は、同一の更新要求を再度行うことになる。
【００１９】
図３は、コンピュータ１４の動作説明図で、以下この図を用いてコンピュータ１４の動作について説明する。
データテーブル更新装置１から、フラッシュＲＯＭ１５における複数のデータテーブルのうちのデータテーブルＤＴ２に対する更新要求を受けると、このデータテーブルＤＴ２に割り当てられた３つのセマフォＳ４〜Ｓ６の全ての取得が試みられる。
【００２０】
セマフォＳ４〜Ｓ６の全てが取得されると、これら３つのセマフォに対応するデータテーブルＤＴ２は、データテーブル更新装置１に占有され、他のタスクによる読み出しが禁止される。このように、更新すべきデータテーブルの使用が禁止されるので、例えばアプリケーションプログラムが動作中でも更新が可能になる。
【００２１】
次いで、更新用のデータテーブルＤＴ２’がダウンロードされ（図２）、このダウンロードされたデータテーブルＤＴ２’で更新すべきデータテーブルＤＴ２が更新される。この後、セマフォＳ４〜Ｓ６は開放される。
一方、セマフォＳ４〜Ｓ６の全てが取得されなければ、この旨がデータテーブル更新装置１に返され、更新すべきデータテーブルＤＴ２の更新は行われない。このとき、取得中のセマフォがあれば直ちに開放される。
【００２２】
以上、第１実施形態によれば、データテーブルの更新のためのメモリ交換を不要にすることが可能で、アプリケーションプログラムが動作中でもデータテーブルを更新することが可能になる。
図４は、本発明の第２実施形態に係るデータテーブルアクセス制御装置内のコンピュータ及びフラッシュＲＯＭを示す図で、以下この図を用いて第２実施形態について説明する。
【００２３】
第２実施形態のデータテーブルアクセス制御装置は、第１実施形態と同様に通信インターフェース１１を備えている他、第１実施形態とは異なる動作のＣＰＵ１２及びＲＡＭ１３により構成されるコンピュータ２４と、第１実施形態とは異なる情報、すなわちファームウエア、ＯＳプログラム、アプリケーション（ＡＰＬ）プログラム及び複数のデータテーブルを記憶しているフラッシュＲＯＭ２５とを備え、図４に示すように、上記ファームウエアは、コンピュータ２４をファームウエア制御部１４１として機能させ、上記ＯＳプログラムは、コンピュータ２４をオペレーション制御部２４２として機能させ、上記ＡＰＬプログラムは、コンピュータ２４をアプリケーション制御部２４３として機能させる。
【００２４】
なお、ファームウエア制御部１４１は、第１実施形態と同様に動作する。
オペレーション制御部２４２は、アプリケーション制御部２４３がフラッシュＲＯＭ２５における複数のデータテーブルに対して読出アクセスを行うと、この読出アクセスのあったデータテーブルに対する可能な限り多くのセマフォ取得要求をファームウエア制御部１４１に行うとともに、このファームウエア制御部１４１からの取得結果に応じて読出アクセスのあったデータテーブルに対する使用可能時間を求め、この使用可能時間及び取得結果の双方をアプリケーション制御部２４３に返すものである。
【００２５】
なお、使用可能時間は、最大使用可能時間であって、取得されたセマフォの数に応じて長くなるように設定される。なお、セマフォが取得できない場合は、使用可能時間はゼロに設定される。
アプリケーション制御部２４３は、設備に対する種々の制御を行うもので、例えば制御過程でフラッシュＲＯＭ２５における複数のデータテーブルに対して読出アクセスを行い、この読出アクセスに応じてオペレーション制御部２４２から返される使用可能時間及び取得結果を受け取り、受け取った使用可能時間がゼロでなければ、その使用可能時間内で取得結果に対応するデータテーブルの読出処理を進め、読出処理終了後は取得中のセマフォを開放する。
【００２６】
このとき、アプリケーション制御部２４３は、使用可能時間を過ぎてもセマフォが取得状態であれば、タスクが停止したと考えられることから、取得中のセマフォを強制的に開放する。
これにより、セマフォを取得できないためにループに入ってしまうという問題や、あるタスクがセマフォを取得した状態のまま停止し、このセマフォを他のタスクが取得することができないといった問題が発生しなくなる。
【００２７】
図５は、コンピュータ２４の動作説明図で、以下この図を用いてコンピュータ２４の動作について説明する。
アプリケーション制御部２４３が、動作中にフラッシュＲＯＭ２５における複数のデータテーブルのうちのデータテーブルＤＴ２に読出アクセスを行うと、このデータテーブルＤＴ２に割り当てられた３つのセマフォＳ４〜Ｓ６の全ての取得が試みられる。
【００２８】
３つのセマフォＳ４〜Ｓ６のうち、少なくとも１つ以上のセマフォが取得されると、取得したセマフォの数に応じた使用可能時間が求められ、この使用可能時間とともに取得結果が返される。
次いで、使用可能時間内で取得結果に対応するデータテーブルが読み出され、読出終了後に取得中のセマフォが開放される。このとき、使用可能時間を過ぎてもセマフォが取得状態であれば、取得中のセマフォは強制的に開放される。
【００２９】
一方、３つのセマフォＳ４〜Ｓ６のうち、いずれのセマフォも取得されなければ、データテーブルＤＴ２の読出しが禁止される。この後、データテーブルＤＴ２に対する読出アクセスが再度行われる。
以上、第２実施形態によれば、セマフォを取得できないためにループに入ってしまったり、あるタスクがセマフォを取得した状態のまま停止して、このセマフォを他のタスクが取得することができいといった不具合を防止することが可能になる。
【００３０】
図６は、本発明の第３実施形態に係るデータテーブルアクセス制御装置内のコンピュータ及びフラッシュＲＯＭを示す図で、以下この図を用いて第３実施形態について説明する。
第３実施形態のデータテーブルアクセス制御装置は、第１実施形態と同様に通信インターフェース１１を備えている他、第１実施形態とは異なる動作のＣＰＵ１２及びＲＡＭ１３により構成されるコンピュータ３４と、第１実施形態とは異なる情報、すなわちファームウエア、ＯＳプログラム、ＡＰＬプログラム及び複数のデータテーブルを記憶しているフラッシュＲＯＭ３５とを備え、図６に示すように、上記ファームウエアは、コンピュータ３４をファームウエア制御部１４１として機能させ、上記ＯＳプログラムは、コンピュータ３４をオペレーション制御部３４２として機能させ、上記ＡＰＬプログラムは、コンピュータ３４をアプリケーション制御部３４３として機能させる。
【００３１】
なお、ファームウエア制御部１４１は、第１実施形態と同様に動作する。
オペレーション制御部３４２は、フラッシュＲＯＭ３５における複数のデータテーブルのうち、一のデータテーブル及び少なくとも１つの他のデータテーブルの各々からセマフォを選択し、この選択された複数のセマフォを示す排他制御用のエイリアスを作成する一方、アプリケーション制御部３４３がそのエイリアスに対応する複数のデータテーブルに対して同時期に読出アクセスを行うと、当該エイリアスにより示される複数のセマフォの全ての取得要求をファームウエア制御部１４１に行うとともに、このファームウエア制御部１４１からの取得結果をエイリアス単位でアプリケーション制御部３４３に返すものである。
【００３２】
ここで、上記エイリアスについて図７を用いて説明すると、アプリケーション制御部３４３による一のタスクがデータテーブルＤＴ１（Ｓ２），ＤＴ２（Ｓ４），ＤＴ５（Ｓ１４）に読出アクセスを行う一方、別のタスクがデータテーブルＤＴ２（Ｓ６），ＤＴ４（Ｓ１１），ＤＴ５（Ｓ１３）に読出アクセスを行うと、オペレーション制御部３４２は、各データテーブルには３つのセマフォが用意されているので、ファームウエア制御部１４１からデータテーブルＤＴ１（Ｓ２），ＤＴ２（Ｓ４），ＤＴ５（Ｓ１４）の各セマフォを同時に取得することができるとともに、データテーブルＤＴ２（Ｓ６），ＤＴ４（Ｓ１１），ＤＴ５（Ｓ１３）の各セマフォを同時に取得することができる。このように、各データテーブルに３つのセマフォを割り当てることでマルチタスクが実現される。
【００３３】
一方、例えばデータテーブルＤＴ５のセマフォが異なるタスクにより２つ取得されていれば、上記データテーブルＤＴ１（Ｓ２），ＤＴ２（Ｓ４），ＤＴ５（Ｓ１４）及びデータテーブルＤＴ２（Ｓ６），ＤＴ４（Ｓ１１），ＤＴ５（Ｓ１３）のどちらか一方の組しか各セマフォの同時期取得ができない。このように、複数のセマフォを同時期に取得する場合、これらセマフォの全てを取得できないために、取得するまで取得済の他のセマフォを保持したままとなり、これが無限ループに入ってしまう不具合の原因となる。
【００３４】
そこで、上記不具合を防止すべく、上記のような状況で読出アクセスが行われる複数のデータテーブルよりなる組を、予め選定して排他制御用のエイリアスＡ１，Ａ２，…を作成し、エイリアス単位でセマフォの取得が行われるようにしている。すなわち、エイリアスの各セマフォの全てが取得できた場合には読出許可の取得結果が返され、そうでなければ読出禁止の取得結果が返される。
【００３５】
なお、上記エイリアスは、アプリケーション制御部３４３の起動時に複数作成される。
アプリケーション制御部３４３は、設備に対する種々の制御を行うもので、例えば制御過程でフラッシュＲＯＭ３５における複数のデータテーブルに対して読出アクセスを行い、この読出アクセスに応じてオペレーション制御部３４２から返される取得結果が、セマフォを取得できた旨の結果（読出許可）であれば読出アクセスに対応するデータテーブルの読出処理を進める一方、そうでなければ待ちに入ってその読出アクセスを再度行うか、或いはこの読出アクセスを後回しにする。
【００３６】
次に、コンピュータ３４の動作について説明する。
アプリケーション制御部３４３が、動作中にフラッシュＲＯＭ３５におけるデータテーブルＤＴ１（Ｓ２），ＤＴ２（Ｓ４），ＤＴ５（Ｓ１４）及びデータテーブルＤＴ２（Ｓ６），ＤＴ４（Ｓ１１），ＤＴ５（Ｓ１３）に読出アクセスを行うと、これらの組がそれぞれエイリアスＡ１，Ａ２に対応するものであるので、これらエイリアスＡ１，Ａ２の各々についてセマフォの取得が試みられる。
【００３７】
エイリアスＡ１，Ａ２の各々の全てのセマフォが取得できた場合には、データテーブルＤＴ１（Ｓ２），ＤＴ２（Ｓ４），ＤＴ５（Ｓ１４）の各セマフォの取得ができた旨の取得結果が返されるとともに、データテーブルＤＴ２（Ｓ６），ＤＴ４（Ｓ１１），ＤＴ５（Ｓ１３）の各セマフォの取得ができた旨の取得結果が返される。次いで、読出処理が行われた後、全てのセマフォが開放される。
【００３８】
エイリアスＡ１，Ａ２のうち、一方は全てのセマフォが取得でき、他方は全てのセマフォが取得できなかった場合には、一方に対しては全てのセマフォの取得ができた旨の取得結果が返され、また、他方に対しては、いずれのセマフォも取得ができなかった旨の取得結果が返されるとともに、取得中のセマフォがあれば開放される。次いで、一方は読出処理を進めた後に取得した全てのセマフォを開放し、他方はセマフォを取得しないまま、待ちに入ってその読出アクセスを再度行うか、或いはこの読出アクセスを後回しにする。
【００３９】
エイリアスＡ１，Ａ２の各々の全てのセマフォが取得できなかった場合には、双方に対して、いずれのセマフォも取得できなかった旨の取得結果が返されるとともに、取得中のセマフォがあれば開放される。次いで、双方は、セマフォを取得しないまま、待ちに入ってその読出アクセスを再度行うか、或いはこの読出アクセスを後回しにする。
【００４０】
以上、第３実施形態によれば、複数のデータテーブルの各セマフォを同時期に取得する場合に、複数のセマフォの全てを取得できないために取得するまで取得した他のセマフォを保持したままとなって生じる不具合を防止することが可能になる。
図８は、本発明の第４実施形態に係るデータテーブルアクセス制御装置内のコンピュータ及びフラッシュＲＯＭを示す図で、以下この図を用いて第４実施形態について説明する。
【００４１】
第４実施形態のデータテーブルアクセス制御装置は、第１実施形態と同様に通信インターフェース１１を備えている他、第１実施形態とは異なる動作のＣＰＵ１２及びＲＡＭ１３により構成されるコンピュータ４４と、第１実施形態とは異なる情報、すなわちファームウエア、ＯＳプログラム、ＡＰＬプログラム、アプリケーションインターフェース（ＡＰＩ）プログラム及び複数のデータテーブルを記憶しているフラッシュＲＯＭ４５とを備え、図８に示すように、上記ファームウエアは、コンピュータ４４をファームウエア制御部１４１として機能させ、上記ＯＳプログラムは、コンピュータ４４をオペレーション制御部４４２として機能させ、上記ＡＰＬプログラムは、コンピュータ４４をアプリケーション制御部４４３として機能させ、上記ＡＰＩプログラムは、コンピュータ４４をインターフェース部４４４として機能させる。
【００４２】
なお、ファームウエア制御部１４１は、第１実施形態と同様に動作する。
オペレーション制御部４４２は、インターフェース部４４４から読出アクセスに応じたフラッシュＲＯＭ４５における複数のデータテーブルに対するセマフォの取得要求があると、この取得要求に応じてセマフォの取得要求をファームウエア制御部１４１に行い、このファームウエア制御部１４１から取得結果を得てインターフェース部４４４に返すものである。
【００４３】
アプリケーション制御部４４３は、設備に対する種々の制御を行うもので、例えば制御過程でフラッシュＲＯＭ４５における複数のデータテーブルに対して読出アクセスを行い、この読出アクセスに応じてインターフェース部４４４から返される取得結果が、セマフォを取得できた旨の結果（読出許可）であれば読出アクセスに対応するデータテーブルの読出処理を進める一方、そうでなければ（読出禁止であれば）待ちに入ってその読出アクセスを再度行うか、或いはこの読出アクセスを後回しにする。
【００４４】
インターフェース部４４４は、フラッシュＲＯＭ４５における複数のデータテーブルのうち、一のデータテーブル及び少なくとも１つの他のデータテーブルに対する読出アクセスが同時期に行われた場合の当該読出アクセス回数の履歴を取るとともに、この履歴の読出アクセス回数が所定回数以上になった各データテーブルのセマフォを選択し、この選択された複数のセマフォを示す排他制御用のエイリアスを作成する一方、アプリケーション制御部４４３が上記エイリアスに対応する複数のデータテーブルに対して読出アクセスを行うと、当該エイリアスにより示される複数のセマフォの取得要求をオペレーション制御部４４２に行うとともに、このオペレーション制御部４４２からの取得結果を当該エイリアス単位でアプリケーション制御部４４３に返すものである。
【００４５】
このように、第４実施形態では、第３実施形態で説明したエイリアスが自動的に生成登録されるようにしている。
図９は、コンピュータ４４の概念図で、ＣＰＵ１２及びＲＡＭ１３がハードウエア（図ではＨ／Ｗ（メモリ））として最下位に位置し、この上にファームウエア制御部１４１としてのドライバ及びオペレーション制御部４４２としてのＯＳが位置し、さらにその上にインターフェース部４４４としてのＡＰＩ及びアプリケーション制御部４４３としてのＡＰＬが位置している。
【００４６】
図１０は、コンピュータ４４の主要動作を示すフローチャートで、以下この図を用いてコンピュータ４４の動作について説明する。
アプリケーション制御部４４３が、動作中にフラッシュＲＯＭ４５における複数のデータテーブルに対して読出アクセスを行うと、この読出アクセスに対応するタスクが実行される（ＳＴ５）。
【００４７】
このタスクが実行されると読出アクセスに対応するデータテーブルのセマフォ取得が要求される（ＳＴ１０）。
このセマフォ取得の要求があると、このセマフォがエイリアスに対応するものであるか否かの確認が行われる（ＳＴ１５）。
セマフォがエイリアスに対応するものでなければ、ステップＳＴ２０に進み、そうでなければステップＳＴ３５に進む（ＳＴ１５）。
【００４８】
ステップＳＴ２０に進むと（ＳＴ１５でＮＯ）、読出アクセスが、一のデータテーブル及び少なくとも１つの他のデータテーブルに対する同時期読出アクセス（エイリアス候補）であるか否かの確認が行われ、エイリアス候補でなければ或いはエイリアス候補であっても読出アクセスの回数が所定回数以上でなければステップＳＴ２５に進む一方、エイリアス候補であって読出アクセスの回数が所定回数以上であればステップＳＴ５０に進む。
【００４９】
ステップＳＴ２５に進むと、各データテーブルに対するセマフォが個別に取得され、取得されなければ（ＳＴ２５でＮＯ）、再度取得される。
ステップＳＴ２５でセマフォが取得されると、このセマフォに対応するデータテーブルの読出処理が実行される（ＳＴ３０）。
一方、ステップＳＴ１５でセマフォがエイリアスに対応するものであれば（ＹＥＳ）、当該エイリアス単位でセマフォの取得が試みられる（ＳＴ３５）。
【００５０】
エイリアスの各セマフォの全てが取得されると（ＳＴ３５でＹＥＳ）、各セマフォに対応するデータテーブルの読出処理が実行される（ＳＴ４０）。
エイリアスの各セマフォの全てが取得されなければ（ＳＴ３５でＮＯ）、取得中のセマフォがあればその開放処理を行った後、ステップＳＴ４５に進み、待ちに入って同一の読出アクセスを再度行う場合にはステップＳＴ１０に戻り、読出処理が実行されなかった読出アクセスを後回しにする場合にはステップＳＴ５に戻る。
【００５１】
一方、ステップＳＴ２０でエイリアス候補であって読出アクセスの回数が所定回数以上であれば（ＮＯ）、当該読出アクセスに対応するデータテーブルの各セマフォがエイリアスとして登録される（ＳＴ５０）。この後、ステップＳＴ３５に進む。
以上、第４実施形態によれば、エイリアスを自動的に生成登録することが可能になって、第３実施形態と同様の効果を奏することが可能になる。
【００５２】
なお、第４実施形態では、ＯＳプログラム、ＡＰＬプログラム及びＡＰＩプログラムは、フラッシュＲＯＭ４５に記憶されているが、これに限らず、ハードディスクや光磁気ディスク等の記録媒体或いはＩＣメモリに情報を記憶させる記憶装置を備え、この記憶装置にＯＳプログラム、ＡＰＬプログラム及びＡＰＩプログラムを記憶させる構成でもよい。要するに、本発明の記憶手段は、上記記憶装置を具備し、この具備した記憶装置にＯＳプログラム、ＡＰＬプログラム及びＡＰＩプログラムを記憶させるものでもよい。なお、第１〜第３実施形態も同様である。
【００５３】
また、フャームウエアは、電気的に書換え可能な不揮発性メモリに記憶されてもよく、或いはＲＯＭに記憶されてもよい。
【００５４】
【発明の効果】
以上のことから明らかなように、上記基本構成によれば、データテーブル更新のためのメモリ交換を不要にすることが可能になるとともに、アプリケーションプログラムが動作中でもデータテーブルを更新することが可能になる。
請求項１記載の発明によれば、セマフォを取得できないためにループに入ってしまったり、あるタスクがセマフォを取得した状態のまま停止して、このセマフォを他のタスクが取得することができいといった不具合を防止することが可能になる。
【００５５】
請求項２記載の発明によれば、複数のデータテーブルの各セマフォを同時期に取得する場合に、複数のセマフォの全てを取得できないために取得するまで取得した他のセマフォを保持したままとなって生じる不具合を防止することが可能になる。
請求項３記載の発明によれば、エイリアスを自動的に生成して登録することが可能になり、これにより、複数のデータテーブルの各セマフォを同時期に取得する場合に、複数のセマフォの全てを取得できないために取得するまで取得した他のセマフォを保持したままとなって生じる不具合を防止することが可能になる。
【図面の簡単な説明】
【図１】（ａ）は、本発明の第１実施形態に係るデータテーブルアクセス制御装置を適用した設備の概略構成図、（ｂ）は各装置内のコンピュータを示す図である。
【図２】データテーブル更新装置から更新対象となる装置のハードウエアのメモリ領域への更新すべきデータテーブルのダウンロードの様子を示す図である。
【図３】コンピュータの動作説明図である。
【図４】本発明の第２実施形態に係るデータテーブルアクセス制御装置内のコンピュータ及びフラッシュＲＯＭを示す図である。
【図５】コンピュータの動作説明図である。
【図６】本発明の第３実施形態に係るデータテーブルアクセス制御装置内のコンピュータ及びフラッシュＲＯＭを示す図である。
【図７】エイリアスの説明図である。
【図８】本発明の第４実施形態に係るデータテーブルアクセス制御装置内のコンピュータ及びフラッシュＲＯＭを示す図である。
【図９】コンピュータの概念図である。
【図１０】コンピュータの主要動作を示すフローチャートである。
【符号の説明】
１０  データテーブルアクセス制御装置
１１  通信インターフェース
１２  ＣＰＵ
１３  ＲＡＭ
１４  コンピュータ
１５，２５，３５，４５  フラッシュＲＯＭ
１４１  ファームウエア制御部
１４２，２４２，３４２，４４２  オペレーション制御部
２４３，３４３，４４３  アプリケーション制御部
４４５  インターフェース部
【図１】
0003978848.tif 000002
【図２】
0003978848.tif 000003
【図３】
0003978848.tif 000004
【図４】
0003978848.tif 000005
【図５】
0003978848.tif 000006
【図６】
0003978848.tif 000007
【図７】
0003978848.tif 000008
【図８】
0003978848.tif 000009
【図９】
0003978848.tif 000010
【図１０】
0003978848.tif 000011