(57)【要約】【課題】  上位制御装置のソフトウェアを変更せずに、ネットワークに追加したＩＯモジュールを識別できるようにする。【解決手段】  上位制御装置１と複数のＩＯモジュール２ｉがネットワークで接続され、上位制御装置１が機器構成情報収集部１００と機器番号収集部１１０を備えたマスタ／スレーブ制御システムにおいて、ＩＯモジュール２ｉがＩＯ情報記憶部２０１ｉを備え、上位制御装置１が、全ＩＯモジュールＩＯ情報テーブル生成部１３０と、マッピング情報テーブル生成部１４０とを備える。【選択図】    図２
2007148734.tif 000002
【特許請求の範囲】
【請求項１】
上位制御装置と複数のＩＯモジュールがネットワークで接続され、
前記上位制御装置が、
前記複数のＩＯモジュールの構成情報を収集する機器構成情報収集部と、
前記複数のＩＯモジュールの機器番号を収集する機器番号収集部と、
を備えたマスタ／スレーブ制御システムにおいて、
前記ＩＯモジュールが、
実装されている入出力機能の仕様を示すＩＯ情報を保持するＩＯ情報記憶部を備え、
前記上位制御装置が、
前記ＩＯ情報内のＩＯ種別情報を収集し全ＩＯモジュールＩＯ情報テーブルを生成する全ＩＯモジュールＩＯ情報テーブル生成部と、
前記ＩＯ情報内のマッピング情報を収集しマッピング情報テーブルを生成するマッピング情報テーブル生成部とを備えることを特徴とするマスタ／スレーブ制御システム。
【請求項２】
前記ＩＯ種別情報が、アナログ入出力点数、アナログ入出力ビット数、デジタル入出力点数を示すコードを含むことを特徴とする請求項1記載のマスタ／スレーブ制御システムシステム。
【請求項３】
前記マッピング情報が、マッピング情報数、ＩＯコード、オフセット、ビット数を含むことを特徴とする請求項1記載のマスタ／スレーブ制御システム。
【請求項４】
前記上位制御装置が、アナログ入出力点数判定テーブルと、アナログ入出力ビット数判定テーブルと、デジタル入出力点数判定テーブルと、ＩＯコードテーブルとを備え、
前記全ＩＯモジュールＩＯ情報テーブル生成部が、ＩＯ種別を判定するときに、前記アナログ入出力点数判定テーブルと、前記アナログ入出力ビット数判定テーブルと、前記デジタル入出力点数判定テーブルとを参照し、
前記マッピング情報テーブル生成部が、ＩＯ種類を判定するときに、前記ＩＯコードテーブルを参照することを特徴とする請求項１記載のマスタ／スレーブ制御システム。
【請求項５】
前記ネットワークが、ＩＥＥＥ１３９４であることを特徴とする請求項１に記載のマスタ／スレーブ制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、上位制御装置と複数のＩＯモジュールがネットワークで接続される制御システムに関し、特にＩＯモジュールの識別を容易にするマスタ／スレーブ制御システムに関する。
【背景技術】
【０００２】
従来、上位制御装置と複数のオプションモジュールが接続されたマスタ／スレーブ制御システムにおいて、上位制御装置がオプションモジュールを識別する場合、以下のような方法で処理している。ここで、上位制御装置がマスタに、オプションモジュールがスレーブに、それぞれ対応する。
図１６は、従来例のシステム構成図を示す。
図において、４００は上位制御装置、４０１はオプションモジュール、４０２はベース基板である。上位制御装置４００とオプションモジュール４０１は、図示していないベース基板上のバスで相互に接続されている。
【０００３】
以下、図に従って、動作を説明する。
まず、上位制御装置４００が、特定のオプションモジュール用の識別コードを各オプションモジュール４０１に出力する。
各オプションモジュール４０１では、識別コードを受信しその識別コードと自己に割当てられた固有の識別コードとを比較し、同じ識別コードであるときは上位制御装置に対してモジュール選択信号を出力する。
ここでのモジュール選択信号は、前記識別コードに、オプションモジュール４０１内部の設定スイッチ情報などを付加したものである。設定スイッチ情報は、同種のオプションモジュールが複数あった場合に、何番目かを示す。
上位制御装置４００は、オプションモジュール４０１からモジュール選択信号の応答があるときに、当該オプションモジュール４０１が実装されていると判断し、以後そのオプションモジュール４０１に対する処理を行うようにしている。（例えば、特許文献１参照）
【０００４】
このように、従来の方法では、上位制御装置４００がオプションモジュール４０１に対して固有の識別コードを送り、オプションモジュールからのモジュール選択信号の応答によって該当するオプションモジュールの実装を判断する。これにより、オプションモジュールの実装位置などのハード構成に制約されず、上位制御装置４００のソフトウエア変更によりオプションモジュールの追加が可能となるのである。
【特許文献１】特開平５−１７３６２５号（ｐ４、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来例では、上位制御装置が設定された識別コードを出力し、オプションモジュールからの応答によってオプションモジュールの種別を判断するので、新たな種類のオプションモジュールを追加する場合には、上位制御装置のソフトウェアの変更が必要になるという問題があった。
特にオプションモジュールがＩＯモジュールの場合は、ＩＯモジュールに実装されているＩＯの種別（アナログ入出力点数、アナログ入出力ビット数、デジタル入出力点数および、アナログとデジタルの組合せ）によって識別コードが変わる。このため、ＩＯモジュールに合わせた識別コードを出力する必要があるので、ＩＯモジュールを追加する度に、上位制御装置のソフトウェアを変更する必要があった。
【０００６】
本発明はこのような問題点に鑑みてなされたものであり、種々のＩＯ（入出力機能）が実装されているＩＯモジュールを追加する場合でも、上位制御装置のソフトウェアを変更する必要のないマスタ／スレーブ制御システムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記問題を解決するため、本発明は、次のようにしたのである。
【０００８】
請求項１に記載の発明は、上位制御装置と複数のＩＯモジュールが、ネットワークで接続され、前記上位制御装置が、前記複数のＩＯモジュールの構成情報を収集する機器構成情報収集部と、前記複数のＩＯモジュールの機器番号を収集する機器番号収集部と、を備えたマスタ／スレーブ制御システムにおいて、前記ＩＯモジュールが、実装されている入出力機能の仕様を示すＩＯ情報を保持するＩＯ情報記憶部を備え、前記上位制御装置が、前記ＩＯ情報内のＩＯ種別情報を収集し全ＩＯモジュールＩＯ情報テーブルを生成する全ＩＯモジュールＩＯ情報テーブル生成部と、前記ＩＯ情報内のマッピング情報を収集しマッピング情報テーブルを生成するマッピング情報テーブル生成部とを備えるようにするものである。
請求項２に記載の発明は、前記ＩＯ種別情報が、アナログ入出力点数、アナログ入出力ビット数、デジタル入出力点数を示すコードを含むようにするものである。
請求項３に記載の発明は、前記マッピング情報が、マッピング情報数、ＩＯコード、オフセット、ビット数を含むようにするものである。
請求項４に記載の発明は、前記上位制御装置が、アナログ入出力点数判定テーブルと、アナログ入出力ビット数判定テーブルと、デジタル入出力点数判定テーブルと、ＩＯコードテーブルとを備え、前記全ＩＯモジュールＩＯ情報テーブル生成部が、ＩＯ種別を判定するときに、前記アナログ入出力点数判定テーブルと、前記アナログ入出力ビット数判定テーブルと、前記デジタル入出力点数判定テーブルとを参照し、前記マッピング情報テーブル生成部が、ＩＯ種類を判定するときに、前記ＩＯコードテーブルを参照するようにするものである。
請求項５に記載の発明は、前記ネットワークが、ＩＥＥＥ１３９４となるようにするものである。
【発明の効果】
【０００９】
請求項１ないし４に記載の発明によると、上位制御装置が、起動時に、ネットワーク中のＩＯモジュールが保持するＩＯ情報を収集し、このＩＯ情報からＩＯ種別とＩＯマッピング情報を取得することができるので、上位制御装置のソフトウェアを変更することなく、種々のＩＯを組み合わせたＩＯモジュールをネットワークに追加することができる。
【００１０】
また、請求項５に記載の発明によると、ネットワークとしてＩＥＥＥ１３９４を適用することにより、ＩＥＥＥ１３９４のＡｓｙｎｃｈｒｏｎｏｕｓ通信機能を利用でき、請求項１ないし４に記載の機能を容易に実現することができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施の形態について、図を参照して説明する。
【実施例】
【００１２】
図１は、本発明の実施例を示すマスタ／スレーブ制御システムの構成図である。
図１において、１は上位制御装置、２ｉはＩＯモジュール、３はネットワークである。
従来例は上位制御装置とＩＯモジュール間はＣＰＵバスで接続されているが、本実施例ではシリアル通信にて接続されている。
前記マスタ／スレーブ制御システムにおいて、上位制御装置1がマスタに、ＩＯモジュール２ｉがスレーブに、それぞれ対応する。
【００１３】
図２は、本発明の実施例を示す上位制御装置とＩＯモジュールの機能ブロック図である。
図２において、上位制御装置１は、機能ブロックとして、機器構成情報収集部１００、機器番号収集部１１０、ＩＯ情報収集部１２０、全ＩＯモジュールＩＯ情報テーブル生成部１３０、マッピング情報テーブル生成部１４０を備えている。
また、前記機能ブロックがデータ取得時に参照する判定テーブルとして、アナログ入出力点数判定テーブル１２１、デジタル入出力点数判定テーブル１２２、アナログ入出力ビット数判定テーブル１２３、ＩＯコードテーブル１２６を備えている。
また、取得したデータを記憶する機能ブロックとして、機器構成情報記憶部１０１、機器番号テーブル１２４、全ＩＯモジュールＩＯ情報テーブル１２５、マッピング情報テーブル１２７を備えている。
図３から図１０には、各判定テーブルと作成されたデータテーブルの例を示す。
すなわち、図３はＩＯ情報のデータ構造例、図４はアナログ入出力点数判定テーブル例、図５はデジタル入出力点数判定テーブル例、図６はアナログ入出力ビット数判定テーブル例、図７は機器番号テーブル例、図８は全ＩＯモジュールＩＯ情報テーブル例、図９はＩＯコードテーブル例、図１０はマッピング情報テーブル例、図１１はＩＯ入出力のマッピング例である。
なお、上位制御装置として本来備わっている種々の機能は本発明の説明には直接関係しないため、ここでは図示していない。
一方、ＩＯモジュール２ｉは、ＩＯ情報通知部２００ｉ、ＩＯ情報記憶部２０１ｉを備えている。なお、ＩＯモジュールに実装されている本来機能であるＩＯ（入出力機能）については、ここでは図示していない。このＩＯ（入出力機能）の仕様に関するＩＯ情報は、ＩＯ情報記憶部２０１ｉに記憶されている。
ここで、上位制御装置１とＩＯモジュール２ｉとのデータ授受に関しては、ＩＯ情報収集部１２０がＩＯ情報要求に送信し、ＩＯ情報通知部２００ｉがＩＯ情報応答を返す形をとる。
【００１４】
本実施例では、上位制御装置１とＩＯモジュール２ｉ間のデータ授受については、ＩＥＥＥ１３９４を前提として説明しており、ＩＯ情報要求とＩＯ情報応答のやりとりは、ＩＥＥＥ１３９４のＡｓｙｎｃｈｒｏｎｏｕｓ通信機能で提供されているＣＳＲレジスタＲｅａｄサービスなどで容易に実現可能である。 
【００１５】
図１２は、本発明の実施例を示す初期処理の基本フローチャートである。
また、図１２における各ステップの詳細を、図１３から図１５に示す。
図１３は機器番号テーブル生成の詳細フローチャート、図１４は全ＩＯモジュールＩＯ情報テーブル生成の詳細フローチャート、図１５はマッピング情報テーブル生成の詳細フローチャートである。
以下に、図に従って本発明の動作手順を説明する。
上位制御装置１とＩＯモジュール２ｉとのデータ授受では、すべてＩＯ情報収集部１２０とＩＯ情報通知部２００ｉが関与するが、以下の説明では省略する。
最初に、機器構成情報取得のステップでは、機器構成情報収集部１００が関与する。
ここでは、ＩＥＥＥ１３９４に標準的に備わっている通信機能によりノード数の読み出しが実行され、その結果が機器構成情報記憶部１０１に記憶される。（Ｓ１０００）
次に、上記で得られた結果に基づき、すべてのノードにあるＩＯモジュール２ｉに対して、機器番号テーブル生成（Ｓ１００２）、全ＩＯモジュールＩＯ情報テーブル生成（Ｓ１００３）、マッピング情報テーブル生成（Ｓ１００４）が、実行される。
以下に、Ｓ１００２、Ｓ１００３、Ｓ１００４の各ステップの動作について説明する。
【００１６】
まず、機器番号テーブル生成のステップについて説明する、
ここでは、機器番号収集部１１０が関与し、機器番号テーブル１２４を生成する（Ｓ１００２）。以下、図１３に基づき説明する。
まず、ＩＯモジュール２ｉから機器番号を読み出す。（Ｓ１１１０）次に、機器番号テーブル１２４の対応するノードの機器番号を更新する。（Ｓ１１１１）図７に機器番号テーブル例を示す。
【００１７】
次に、全ＩＯモジュールＩＯ情報テーブル生成のステップについて説明する。
ここでは、全ＩＯモジュールＩＯ情報テーブル生成部１３０が関与し、全ＩＯモジュールＩＯ情報テーブル１２５を生成する。（Ｓ１００３）以下、図１４に基づき説明する。
まず、上位制御装置１が、ＩＯモジュール２ｉにＩＯ情報要求を送信する。（Ｓ１１４０ａ）
これを受信したＩＯモジュール２ｉは、ＩＯ情報記憶部２０１ｉに記憶されているＩＯ情報内のＩＯ種別部分のデータを読み出して，ＩＯ情報応答を返信する。図３に、ＩＯ種別部分のデータの例を示す。（Ｓ１１４２ａ）
続いて、上位制御装置１は、取得したＩＯ種別部分のデータのアナログ入出力点数コードより、アナログ入出力点数判定テーブル１２１を参照し、ＩＯモジュール２ｉが実装しているアナログ入出力点数を取得する。図４に、アナログ入出力点数判定テーブルの例を示す。（Ｓ１１２１）
次に、上位制御装置１は、取得したＩＯ種別部分のデータのデジタル入出力点数コードより、デジタル入出力点数判定テーブル１２２を参照し、ＩＯモジュール２ｉが実装しているデジタル入出力点数を取得する。図５に、デジタル入出力点数判定テーブルの例を示す。（Ｓ１１２２）
次に、上位制御装置１は、取得したＩＯ種別部分のデータのアナログ入出力ビット数コードより、アナログ入出力ビット数判定テーブル１２３を参照して、ＩＯモジュール２ｉが実装しているアナログ入出力ビット数を取得する。図６に、アナログ入出力ビット数判定テーブルの例を示す。（Ｓ１１２３）
上記の各ステップで取得したＩＯ情報と、機器番号テーブルの機器番号とから、全ＩＯモジュールＩＯ情報テーブル１２５を生成する。  図８に、全ＩＯモジュールＩＯ情報テーブル例を示す。（Ｓ１１２４）
【００１８】
ここで、全ＩＯモジュールＩＯ情報テーブル１２５を生成動作を、ノード＃１のＩＯモジュールの機器番号が１の場合で、ＩＯ種別部分のデータが０ｘ２２２１０２０１（１６進数）の場合の例で説明する。
すなわち、ＩＯ種別部分のデータが０ｘ２２２１０２０１（１６進数）は、図３に示すＩＯ種別部分の配列より、デジタル入力点数コードが１、デジタル出力点数コードが２、アナログ入力点数コードが１、アナログ入力ビット数コードが１、アナログ出力点数コードが２、アナログ出力ビット数コードが１である。
これを、図４、図５、図６の判定テーブルを参照してＩＯ情報を取得すると、図８の全ＩＯモジュールＩＯ情報テーブルのようになる。
【００１９】
次に、マッピング情報テーブル生成のステップについて説明する。ここでは、マッピング情報テーブル生成部１４０が関与し、マッピング情報テーブル１２７を生成する。（Ｓ１００４）以下、図１５に基づき説明する。
まず、上位制御装置１が、ＩＯモジュール２ｉにＩＯ情報要求を送信する。（Ｓ１１４０ｂ）
これを受信したＩＯモジュール２ｉは、ＩＯ情報記憶部２０１ｉのマッピング情報部分のマッピング情報数を読み出して、ＩＯ情報応答を上位に返信する。（Ｓ１１４１ｂ）
次に、上位制御装置１が、ＩＯモジュール２ｉにＩＯ情報要求を送信する。（Ｓ１１４０ｃ）
これを受信したノードのＩＯモジュール２ｉは，ＩＯ情報記憶部２０１ｉのＩＯ情報内のマッピング情報部分のマッピング情報を読み出して、ＩＯ情報応答を返信する。（Ｓ１１４２ｃ）
このマッピング情報には、図３に示すように、オフセット、ＩＯコード、ビット数のデータが含まれる。
続いて、上位制御装置１が、取得したマッピング情報内のＩＯコードより、ＩＯコードテーブル１２６を参照してＩＯ種類を抽出し、マッピング情報テーブル１２７を生成する。図９にＩＯコードテーブル例、図１０にマッピング情報テーブル例を示す。（Ｓ１１３２）
ここで、図１０のマッピング情報テーブル例から、入出力の割り付けを行うと、図１1ＩＯ入出力のマッピング例のようになる。ここでは、オフセットをバイト単位としている。
なお、図１０のＩＯ組番号とは、1つのノードのＩＯモジュールに同じＩＯ種別のＩＯが分かれて実装されている場合の識別番号である。
【００２０】
このようにして、機器番号テーブル生成（Ｓ１００２）、全ＩＯモジュールＩＯ情報テーブル生成（Ｓ１００３）、マッピング情報テーブル生成（Ｓ１００４）を、全ノードのＩＯモジュール２ｉに対して実行して、全ＩＯモジュールＩＯ情報テーブル１２５とマッピング情報テーブル１２７を完成させる。
上位制御装置１は、起動時に、ＩＯモジュール２ｉの機器番号からこの全ＩＯモジュールＩＯ情報テーブル１２５を検索することにより、ＩＯモジュール２ｉに実装されているＩＯ種別を判定する。さらに、マッピング情報テーブル１２７を検索することにより、ＩＯモジュール２ｉに実装されている各ＩＯのマッピング情報を取得する。
【００２１】
このように、起動時に、ネットワーク中のＩＯモジュールから、機器番号、ＩＯ種別、マッピング情報を読み出して、全ＩＯモジュールＩＯ情報テーブルおよびマッピング情報テーブルを生成する。次にこれらのテーブルを検索して、実装されているＩＯ種別を判定し、ＩＯのマッピング情報を取得することができる。
これにより、種々のＩＯを組み合わせたＩＯモジュールを追加する際に、上位制御装置のソフトウェアを変更することなく、ＩＯモジュールを識別して、実装されているＩＯの入出力データのマッピングを行うことができるのである。
【図面の簡単な説明】
【００２２】
【図１】本発明の実施例を示すマスタ／スレーブ制御システムの構成図
【図２】本発明の実施例を示す上位制御装置とＩＯモジュールの機能ブロック図
【図３】本発明の実施例を示すＩＯ情報のデータ構造例
【図４】本発明の実施例を示すアナログ入出力点数判定テーブル例
【図５】本発明の実施例を示すデジタル入出力点数判定テーブル例
【図６】本発明の実施例を示すアナログ入出力ビット数判定テーブル例
【図７】本発明の実施例を示す機器番号テーブル例
【図８】本発明の実施例を示す全ＩＯモジュールＩＯ情報テーブル例
【図９】本発明の実施例を示すＩＯコードテーブル例
【図１０】本発明の実施例を示すマッピング情報テーブル例
【図１１】本発明の実施例を示すＩＯ入出力のマッピング例
【図１２】本発明の実施例を示す初期処理の基本フローチャート
【図１３】本発明の実施例を示す機器番号テーブル生成の詳細フローチャート
【図１４】本発明の実施例を示す全ＩＯモジュールＩＯ情報テーブル生成の詳細フローチャート
【図１５】本発明の実施例を示すマッピング情報テーブル生成の詳細フローチャート
【図１６】従来例のシステム構成図
【符号の説明】
【００２３】
１  上位制御装置
２ｉ  ＩＯモジュール（ｉ＝１，２，・・・ｎ）
３  伝送路
１００  機器構成情報収集部
１０１  機器構成情報記憶部
１１０  機器番号収集部
１２０  ＩＯ情報収集部
１２１  アナログ入出力点数判定テーブル
１２２  デジタル入出力点数判定テーブル
１２３  アナログ入出力ビット数判定テーブル
１２４  機器番号テーブル
１２５  全ＩＯモジュールＩＯ情報テーブル
１２６  ＩＯコードテーブル
１２７  マッピング情報テーブル
１３０  全ＩＯモジュールＩＯ情報テーブル生成部
１４０  マッピング情報テーブル生成部
２００ｉ  ＩＯ情報通知部（ｉ＝１，２，・・・ｎ）
２０１ｉ  ＩＯ情報記憶部（ｉ＝１，２，・・・ｎ）
４００  従来例の上位制御装置
４０１  オプションモジュール
４０２  ベース基板
【図１】
2007148734.tif 000003
【図２】
2007148734.tif 000004
【図３】
2007148734.tif 000005
【図４】
2007148734.tif 000006
【図５】
2007148734.tif 000007
【図６】
2007148734.tif 000008
【図７】
2007148734.tif 000009
【図８】
2007148734.tif 000010
【図９】
2007148734.tif 000011
【図１０】
2007148734.tif 000012
【図１１】
2007148734.tif 000013
【図１２】
2007148734.tif 000014
【図１３】
2007148734.tif 000015
【図１４】
2007148734.tif 000016
【図１５】
2007148734.tif 000017
【図１６】
2007148734.tif 000018