(57)【特許請求の範囲】
【請求項１】
制御装置と、ネットワークに接続されるネットワークモジュールを複数搭載可能であるとともに前記制御装置に接続されるネットワーク装置と、を含み、
前記ネットワーク装置のメモリにおける各ネットワークモジュール毎の記憶領域の割り当てを示す情報を少なくとも含む仕様情報と、前記ネットワーク装置に新たに搭載されたネットワークモジュールを一意に示す識別子を含むシステム定義情報とから、当該新たに搭載されたネットワークモジュールについての前記制御装置のメモリにおける記憶領域の割り当てを示すモジュール固有情報、を生成するモジュール固有情報生成手段を有し、
前記制御装置は、
前記ネットワーク装置に搭載される各ネットワークモジュールを介したデータ通信に共通のメモリアクセス動作を規定するモジュール共通情報を保持しており、
前記モジュール固有情報生成手段により生成されたモジュール固有情報にしたがって前記制御装置の記憶領域の割り当てを行い、前記モジュール固有情報にしたがって割り当てた記憶領域へのアクセス動作を前記モジュール共通情報にしたがって行う
ことを特徴とする制御システム。
【請求項２】
前記ネットワーク装置は、前記モジュール固有情報生成手段を有し、前記モジュール固有情報生成手段により生成されたモジュール固有情報を前記制御装置へ送信する
ことを特徴とする請求項１に記載の制御システム。
【請求項３】
前記システム定義情報には、前記ネットワーク装置に搭載されている各ネットワークモジュールを介したデータ通信におけるデータ送信量および当該データ通信の重みを示す情報が含まれている一方、前記モジュール固有情報にはデータの送信周期を示す情報が含まれており、
前記モジュール固有情報生成手段は、
前記システム定義情報の表すデータ送信量および重みに応じて送信周期を調整しつつ、前記ネットワーク装置に新に搭載されたネットワークモジュールについてのモジュール固有情報を生成するとともに、前記ネットワーク装置に搭載されている他のネットワークモジュールについてのモジュール固有情報を生成し直す
ことを特徴とする請求項１又は請求項２に記載の制御システム。
【請求項４】
ネットワークに接続されるネットワークモジュールを複数搭載可能なネットワーク装置に接続され、
前記ネットワーク装置のメモリにおける各ネットワークモジュール毎の記憶領域の割り当てを示す情報を少なくとも含む仕様情報と、前記ネットワーク装置に新たに搭載されたネットワークモジュールを一意に示す識別子を含むシステム定義情報とから、当該新たに搭載されたネットワークモジュールについての本装置のメモリにおける記憶領域の割り当てを示すモジュール固有情報、を生成するモジュール固有情報生成手段を有し、
前記ネットワーク装置に搭載される各ネットワークモジュールを介したデータ通信に共通のメモリアクセス動作を規定するモジュール共通情報を保持しており、
前記モジュール固有情報にしたがって本装置の記憶領域の割り当てを行い、前記モジュール固有情報にしたがって割り当てた記憶領域へのアクセス動作を前記モジュール共通情報にしたがって行う
ことを特徴とする制御装置。
【請求項５】
ネットワークに接続されるネットワークモジュールを複数搭載可能であるとともに制御装置に接続され、
本装置のメモリにおける各ネットワークモジュール毎の記憶領域の割り当てを示す情報を少なくとも含む仕様情報と、本装置に新たに搭載されたネットワークモジュールを一意に示す識別子を含むシステム定義情報とから、当該新たに搭載されたネットワークモジュールについての前記制御装置のメモリにおける記憶領域の割り当てを示すモジュール固有情報、を生成するモジュール固有情報生成手段と、
前記モジュール固有情報を前記制御装置へ送信する送信手段と、を有し、
前記制御装置は、
本装置に搭載される各ネットワークモジュールを介したデータ通信に共通のメモリアクセス動作を規定するモジュール共通情報を保持しており、
前記送信手段により送信されたモジュール固有情報にしたがって前記制御装置の記憶領域の割り当てを行い、前記送信手段により送信されたモジュール固有情報にしたがって割り当てた記憶領域へのアクセス動作を前記モジュール共通情報にしたがって行う
ことを特徴とするネットワーク装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工場や各種プラント等の産業施設における各種操業を制御するための制御システムに関する。
【背景技術】
【０００２】
この種の制御システムには、一般に、産業施設内に設置されたセンサからの計測データの収集やその収集結果に応じた電動機やサーボ等の駆動制御を行う制御装置と、センサや電動機等と制御装置との間のデータ通信を仲介するネットワーク装置とが含まれている（例えば、特許文献１参照）。ネットワーク装置はネットワーク装置制御装置間バスを介して制御装置に接続される。センサや電動機等はＩＯネットワークと呼ばれるネットワークに接続され、ＩＯネットワークはネットワーク装置に接続される。ネットワーク装置を動作させるための各種情報は、ネットワーク装置制御装置間バスを介して制御装置から当該ネットワーク装置に与えられる。
【０００３】
制御システムには、ＩＯネットワークの他に制御ネットワークと呼ばれるネットワークが含まれている場合がある。制御ネットワークには、電動機やサーボ等の動作状態の監視を行うための監視端末や、計測データ等を記憶しておくためのデータベース等が接続される。ＩＯネットワークと制御ネットワークとではデータ通信の仕様が異なる。このため、ＩＯネットワークと制御ネットワークとが接続されるネットワーク装置のように、各々仕様の異なる複数種のネットワークが接続されるネットワーク装置は、各ネットワークの仕様に準拠した複数種のネットワークモジュールを搭載可能に構成されていることが多い。ネットワークモジュールとは、例えばＮＩＣ（Network Interface Card）等、接続先のネットワークとの間でデータの授受を行うハードウェアである。
【０００４】
また、制御システムには、支援ツールと呼ばれるコンピュータ装置が含まれている場合がある。支援ツールは、システム構成等を表すシステム定義情報や、制御装置上で動作するアプリケーションプログラムを作成するための装置であり、通信線を介して制御装置に接続されていることが多い。支援ツールにて作成されたシステム定義情報やアプリケーションプログラムは、上記通信線を介して制御装置にダウンロードされる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−１４９３７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ネットワーク装置に新たなネットワークを簡便に接続することができれば、制御システムの利便性を向上させることが可能になる。例えば、ＩＯネットワークのみを含んでいた制御システムのネットワーク装置に制御ネットワークを新たに接続し、その制御ネットワークにデータベースを接続することで、操業に伴う計測データの時間変化等を分析することが可能になる、といった具合である。しかし、従来の制御システムでは、ネットワーク装置に新たなネットワークを簡便に接続することはできなかった。その理由は以下の通りである。
【０００７】
ネットワーク装置に新たなネットワークを接続するには、当該新たなネットワークに対応したネットワークモジュールをネットワーク装置に新たに搭載する必要がある。従来、ネットワーク装置に新たなネットワークモジュールを搭載する場合、以下の第１〜第３の開発が必要となる。第１に、ネットワーク装置にて新たなネットワークモジュールを動作させるための開発である。具体的には、当該新たなネットワークモジュールの固有のドライバソフトウェアをそのネットワークモジュールの搭載先のネットワーク装置向けに開発することである。第２に、上記新たなネットワークモジュール固有の定義データや制御データをネットワーク装置との間で送受信できるように、制御装置におけるメモリ配置やデータの更新周期、データ送信周期等を規定することである。そして、第３に、上記新たなネットワークモジュールに関する情報をシステム定義情報に追加する機能を、支援ツールに追加するための開発である。このように、第１〜第３の開発を行う必要があるため、ネットワーク装置に新たなネットワークを接続することを実現するための人的な作業負荷（以下、開発コスト）が高く、簡便には実現できなかったのである。
【０００８】
本発明は以上に説明した課題に鑑みて為されたものであり、制御システムに含まれるネットワーク装置に新たなネットワークモジュールを搭載する際の開発コストを従来よりも低減させることを可能にする技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するために本発明は、制御装置と、当該制御装置に接続されるとともに複数のネットワークの各々に対応するネットワークモジュールを搭載可能なネットワーク装置と、を含む制御システムに、以下のモジュール固有情報生成手段、を設ける。モジュール固有情報生成手段は、ネットワーク装置のメモリにおける各ネットワークモジュール毎の記憶領域の割り当てを示す情報を少なくとも含む仕様情報と、当該ネットワーク装置に新たに搭載されたネットワークモジュールを一意に示す識別子を含むシステム定義情報とから、当該新たに搭載されたネットワークモジュールについての制御装置のメモリにおける記憶領域の割り当てを示すモジュール固有情報、を生成する。制御装置は、モジュール固有情報生成手段により生成されたモジュール固有情報にしたがって当該制御装置の記憶領域の割り当てを行う。
【００１０】
本発明によれば、ネットワーク装置に新たなネットワークモジュールを搭載する際に当該新たなネットワークモジュールに対応するモジュール固有情報の作成、すなわち、制御装置についての開発を行う必要はなく、制御装置についての開発、すなわち、前述した第２の開発、を省略可能な分だけ開発コストが従来の制御システムに比較して低下する。このように、本発明によれば、制御システムに含まれるネットワーク装置に新たなネットワークモジュールを搭載する際の開発コストを、上記第２の開発の分だけ従来よりも低減させることができる。
【００１１】
モジュール固有情報生成手段についてはネットワーク装置が有していても良く、制御装置が有していても良い。また、ネットワーク装置や制御装置以外の装置、例えば支援ツールがモジュール固有情報生成手段を有していても良い。要は、制御システムに含まれる何れかの装置がモジュール固有情報生成手段を有していれば良い。例えば、モジュール固有情報生成手段をネットワーク装置が有する場合には、モジュール固有情報生成手段により生成したモジュール固有情報を制御装置へ送信する処理をネットワーク装置に実行させれば良い。
【００１２】
より好ましい態様においては、制御装置は、ネットワーク装置に搭載される各ネットワークモジュールを介したデータ通信に共通のメモリアクセス動作を規定するモジュール共通情報を保持しており、モジュール固有情報にしたがって割り当てた記憶領域へのアクセス動作を当該モジュール共通情報にしたがって行うことを特徴とする。モジュール共通情報の具体例としては、上記記憶領域へのアクセス、すなわち、上記記憶領域へのデータの書き込み、或いは上記記憶領域に格納されているデータの読出しを制御装置の制御部に行わせるソフトウェアが挙げられる。このような態様によれば、上記ソフトウェアをネットワークモジュール毎に個別に作成する場合に比較してさらに開発コストを低減させることが可能になる。
【００１３】
また、データの送信周期を示す情報を含むモジュール固有情報をモジュール固有情報生成手段に生成させる場合には、ネットワーク装置に搭載されている各ネットワークモジュールを介したデータ通信におけるデータ送信量および当該データ通信の重みを示す情報をシステム定義情報に含めておき、システム定義情報の表すデータ送信量および重みに応じて送信周期を調整しつつ、ネットワーク装置に新たに搭載されたネットワークモジュールについてのモジュール固有情報を生成するとともに、ネットワーク装置に搭載されている他のネットワークモジュール、すなわち、既存のネットワークモジュールについてのモジュール固有情報を生成し直す処理をモジュール固有情報生成手段に実行させるようにしても良い。本態様によれば、ネットワーク装置に新たに搭載されたネットワークモジュールについてのモジュール固有情報の生成に加えて、既存のネットワークモジュールについてもモジュール固有情報を生成し直すことで各ネットワークモジュールを介したデータ通信における送信周期の最適化を自動的に行うことが可能になる。
【００１４】
また、上記課題を解決するために、本発明は、ネットワークに接続されるネットワークモジュールを複数搭載可能なネットワーク装置に接続され、当該ネットワーク装置とともに制御システムを形成する制御装置に前述のモジュール固有情報生成手段を設け、当該制御装置には、当該モジュール固有情報生成手段により生成されたモジュール固有情報にしたがって当該制御装置のメモリについての記憶領域の割り当てを実行させる。
【００１５】
また、上記課題を解決するために本発明は、ネットワークに接続されるネットワークモジュールを複数搭載可能であるとともに、自装置に接続される制御装置とともに制御システムを形成するネットワーク装置に、前述のモジュール固有情報生成手段と、送信手段とを設ける。送信手段は、モジュール固有情報生成手段により生成されたモジュール固有情報を制御装置へ送信する。
【発明の効果】
【００１６】
以上説明したように、本発明によれば、制御システムに含まれるネットワーク装置に新たなネットワークモジュールを搭載する際に制御装置についての開発を行う必要はなく、制御装置についての開発を省略できる分だけ、従来よりも開発コストを低減させることが可能となる。また、本発明によれば、制御装置についての開発を省略できる分だけ、制御システムに含まれるネットワーク装置に新たなネットワークモジュールを搭載する際の開発期間を短縮することが可能になる。
【図面の簡単な説明】
【００１７】
【図１】本発明の一実施形態の制御システム１の構成例を示す図である。
【図２】同制御システム１に含まれる制御装置１０の構成例を示す図である。
【図３】同制御装置１０の揮発性記憶部１４２におけるメモリ配置の一例を示す図である。
【図４】同制御システム１に含まれるネットワーク装置２０の構成例を示す図である。
【図５】ＦＬ＿ｎｅｔにおけるコモンメモリ伝送機能を説明するための図である。
【図６】ネットワーク装置２０にネットワークモジュール２３０Ｂを搭載して制御システム１を再立ち上げする際の立ち上げシーケンスの一例を示す図である。
【図７】同立ち上げシーケンスにおけるデータフローを説明するための図である。
【図８】システム定義情報に含まれる動作定義情報の一例を示す図である。
【図９】ネットワークモジュール２３０Ｂについての仕様情報の一例を示す図である。
【図１０】仕様情報とシステム定義情報とから生成されるモジュール固有情報の一例を示す図である。
【図１１】システム再立ち上げ後の制御装置１０におけるメモリ配置の一例を示す図である。
【発明を実施するための形態】
【００１８】
以下、図面を参照しつつ本発明の実施形態について説明する。
（Ａ：構成）
図１は、本発明の一実施形態の制御システム１の構成例を示す図である。
この制御システム１は、例えば産業施設内に敷設されたＦＡ用のコンピュータシステムである。図１に示すように、制御システム１は、制御装置１０と、ネットワーク装置２０と、を含んでいる。ネットワーク装置２０にはネットワーク３０Ａが接続されている。ネットワーク３０ＡはＩＯネットワークである。図１に示すように、ネットワーク３０Ａにはセンサや電動機等の各種ＩＯ機器が接続されている。ネットワーク装置２０には、新たにネットワークモジュールを搭載することでネットワーク３０Ｂを接続することも可能である。ネットワーク３０Ｂは制御ネットワークである。ネットワーク３０Ｂには監視端末やデータベースが接続される。
【００１９】
ネットワーク装置２０はネットワーク装置制御装置間バスを介して制御装置１０に接続されている。ネットワーク装置２０は、自装置の接続先のネットワークに接続されている各種機器と制御装置１０との間のデータ通信を仲介する中継装置である。本実施形態では、制御装置１０とネットワーク装置２０とを接続するネットワーク装置制御装置間バスとしてＥｔｈｅｒｎｅｔ（登録商標）が用いられているが、ＵＳＢ（Universal Serial Bus）を用いても良く、また、独自規格のバス等を用いても良い。
【００２０】
制御装置１０は、例えばＰＬＣ (Programmable Logic Controller)である。本実施形態では、制御装置１０としてＰＬＣを用いるが、制御システム１がＰＡ（Process Automation）用のシステムである場合には、制御装置１０としてＤＣＳ (Distributed Control System)を用いるようにすれば良い。ＰＡ用のシステムでは、ＦＡ用のシステムに比較して高い信頼性を要求されることが多く、ＤＣＳの信頼性はＰＬＣに比較して高いからである。
【００２１】
図１に示すように、制御装置１０には支援ツール４０が接続されている。本実施形態では、支援ツール４０と制御装置１０を接続する支援ツール接続バスとしてＥｔｈｅｒｎｅｔ（登録商標）が用いられているが、ＵＳＢ、ＲＳ−２３２Ｃ、あるいは独自規格のバス等を用いても良い。支援ツール４０は、制御システム１全体の構成・動作を定義するシステム定義情報や、制御装置１０上で動作するアプリケーションプログラムを作成し、制御装置１０にダウンロードする機能を備えたコンピュータ装置である。支援ツール４０としては、例えばパーソナルコンピュータ等を用いることが考えられる。詳細については後述するが、支援ツール４０から制御装置１０にダウンロードされたシステム定義情報やアプリケーションプログラムは、制御装置１０の不揮発性記憶部に格納される。
【００２２】
本実施形態では、制御装置１０およびネットワーク装置２０の構成を工夫することで、ネットワーク装置２０に新たなネットワークモジュールを追加する際の開発コストを従来よりも低く抑えることが可能になっている。以下、本実施形態の特徴を顕著に示す制御装置１０およびネットワーク装置２０を中心に説明する。
【００２３】
図２は、制御装置１０の構成例を示す図である。
図２に示すように制御装置１０は、制御部１１０、ネットワーク装置通信部１２０、支援ツール通信部１３０、記憶部１４０、およびこれら各構成要素間のデータ授受を仲介するバス１５０を含んでいる。
【００２４】
制御部１１０は例えばＣＰＵ（Central Processing Unit）である。制御部１１０は記憶部１４０に格納されたプログラムにしたがって作動することで制御装置１０の制御中枢の役割を果たす。ネットワーク装置通信部１２０は、Ｅｔｈｅｒｎｅｔ（登録商標）対応のＮＩＣであり、ネットワーク装置制御装置間バスに接続されている。ネットワーク装置通信部１２０は、ネットワーク装置制御装置間バスから受信したデータを制御部１１０に引き渡す一方、制御部１１０から引き渡されたデータをネットワーク装置制御装置間バスへ送出する。支援ツール通信部１３０もＥｔｈｅｒｎｅｔ（登録商標）対応のＮＩＣであり、支援ツール通信部１３０は支援ツール接続バスに接続されている。支援ツール通信部１３０は、支援ツール接続バスから受信したデータを制御部１１０に引き渡す一方、制御部１１０から引き渡されたデータを支援ツール接続バスへ送出する。
【００２５】
記憶部１４０は、図２に示すように、揮発性記憶部１４２と不揮発性記憶部１４４を含んでいる。揮発性記憶部１４２は、例えばＲＡＭ（Random Access Memory）である。揮発性記憶部１４２は、各種プログラムを実行する際のワークエリアとして制御部１１０によって利用される。不揮発性記憶部１４４は、例えばハードディスクである。不揮発性記憶部１４４には、電動機等の作動制御を実現するための各種アプリケーションプログラムや、ネットワーク装置２０を介して各種機器とデータ通信する処理を制御部１１０に実行させるための各種ソフトウェアが予め格納されている。不揮発性記憶部１４４に格納されているソフトウェアの具体例としては、ネットワーク装置２０に接続され得る複数種のネットワークの各々を介したデータ通信を行う際の制御装置１０の機能のうち、ネットワークの種類によらない共通の機能を規定するソフトウェア（以下、モジュール共通情報）が挙げられる。このようなモジュール共通情報を不揮発性記憶部１４４に予め格納しておく点、すなわち、モジュール共通情報を制御装置１０に予め保持させておく点に本実施形態の特徴の一つがある。
【００２６】
ネットワーク装置２０を介してデータ通信を行う際には、そのデータ通信の開始に先立って、システム全体の動作を制御するための情報を格納する記憶領域や、通信相手の機器が接続されるネットワークの仕様、或いは当該ネットワークを接続するネットワークモジュールの仕様、に応じた記憶領域を揮発性記憶部１４２内に割り当てておく必要がある。本明細書では、このような記憶領域の割り当てを「メモリ配置」と呼ぶ。図３は、制御装置１０におけるメモリ配置の一例を示す図である。図３に示すように揮発性記憶部１４２内の記憶領域は、システム全体の動作を制御するための情報が格納されるシステム領域や、アプリケーションプログラムを実行する際に使用されるアプリケーション領域、ネットワーク装置２０に搭載される各ネットワークモジュール用の記憶領域に区分けされる。なお、図３では、ネットワークモジュール用の記憶領域は「ネットワークモジュール用領域１」、「ネットワークモジュール用領域２」と表記されている。
【００２７】
図３に示すように、ネットワークモジュール用の記憶領域はさらに細かく区分けされ、この区分けの仕方、すなわち、ネットワークモジュール用の記憶領域におけるメモリ配置はネットワークモジュールの種類に応じて異なる。図３では、ネットワークモジュール用の記憶領域の具体例として、コモンメモリ伝送機能を有する制御ネットワーク対応のネットワークモジュール用の記憶領域が図示されている。このネットワークモジュール用の記憶領域は、図３に示すように、ネットワーク制御領域、ＲＡＳ（Reliability Availability and Serviceability）情報が書き込まれるＲＡＳ領域、コモンメモリ伝送に用いられるコモンメモリ領域等に区分けされている。図３では詳細な図示を省略したが、ＩＯネットワーク用の領域であれば、入力データ領域や出力データ領域等を含んでいる。
【００２８】
図４は、ネットワーク装置２０の構成例を示す図である。
図４に示すようネットワーク装置２０は、制御部２１０、制御装置通信部２２０、ネットワークモジュール２３０Ａ、記憶部２４０、およびこれら各構成要素間のデータ授受を仲介するバス２５０を含んでいる。本実施形態のネットワーク装置２０は、ネットワーク３０Ｂを接続するためのネットワークモジュール２３０Ｂをバス２５０に装着可能に構成されている。「ネットワーク装置２０にネットワークモジュールを搭載する」とは、「ネットワーク装置２０のバス２５０にネットワークモジュールを装着すること」を言う。
【００２９】
制御部２１０は、制御装置１０における制御部１１０と同様にＣＰＵであり、記憶部２４０に格納されたプログラムにしたがって作動することでネットワーク装置２０の制御中枢の役割を果たす。制御装置通信部２２０は、ネットワーク装置通信部１２０と同様にＮＩＣであり、ネットワーク装置制御装置間バスに接続されている。制御装置通信部２２０は、ネットワーク装置制御装置間バスから受信したデータを制御部２１０に引き渡す一方、制御部２１０から引き渡されたデータをネットワーク装置制御装置間バスへ送出する。
【００３０】
ネットワークモジュール２３０Ａおよびネットワークモジュール２３０Ｂの各々も、例えばＮＩＣであり、バス２５０に対して着脱可能なデータ通信モジュールである。以下では、ネットワークモジュール２３０Ａとネットワークモジュール２３０Ｂの各々を区別する必要がない場合には、「ネットワークモジュール２３０」と表記する。ネットワークモジュール２３０をバス２５０に接続する際の規格としては、ＰＣＩ（Peripheral Component Interconnect）やＰＣＩｅ或いはその他の規格が考えられる。ネットワークモジュール２３０Ａは、ネットワーク３０Ａに接続され、ネットワークモジュール２３０Ｂはネットワーク３０Ｂに接続される。ネットワークモジュール２３０は、接続先のネットワークから受信したデータをバス２５０を介して制御部２１０に引き渡す一方、バス２５０を介して制御部２１０から受け取ったデータを当該ネットワークへ送出する。本実施形態では、ネットワーク装置２０に２つのネットワークモジュール２３０が搭載される場合について説明するが、３つ以上のネットワークモジュールが搭載されても良い。
【００３１】
記憶部２４０は、図４に示すように、揮発性記憶部２４２と不揮発性記憶部２４４を含んでいる。揮発性記憶部２４２は、揮発性記憶部１４２と同様にＲＡＭであり、各種プログラムを実行する際のワークエリアとして制御部２１０によって利用される。不揮発性記憶部２４４は、不揮発性記憶部１４４と同様にハードディスクである。不揮発性記憶部２４４には、自装置の接続先のネットワークに接続されている各機器と制御装置１０との間のデータ通信の中継を実現する中継制御プログラムや、バス２５０に接続されているネットワークモジュール２３０の駆動制御を行うためのドライバソフトウェア、本実施形態の特徴を顕著に示す開発支援プログラムが格納されている。また、不揮発性記憶部２４４には、ネットワーク装置２０に接続され得る各ネットワークの仕様、或いは当該ネットワークを接続するためのネットワークモジュールの仕様、を表す仕様情報が予め格納されており、この点に本実施形態の特徴がある。この仕様情報には、ネットワーク装置２０のメモリ（本実施形態では、揮発性記憶部２４２）におけるネットワーク毎或いはネットワークモジュール毎の記憶領域の割り当てを示す情報、すなわち、ネットワーク装置２０におけるメモリ配置を示す情報が含まれている。
【００３２】
前述したように、従来の制御システムのネットワーク装置に新たなネットワークモジュールを搭載する際には、以下の第１〜第３の開発が必要であった。すなわち、第１に、ネットワーク装置にて新たなネットワークモジュールを動作させるためのドライバソフトウェアの開発である。第２に、当該ネットワークモジュール固有の定義データ等をネットワーク装置との間で送受信できるよう、ネットワーク装置におけるものと同じメモリ配置となるように制御装置側のメモリ配置を規定することである。そして、第３に、上記新たなネットワークモジュールに関する情報をシステム定義情報に追加する機能を支援ツールに追加する開発である。
【００３３】
これに対して、本実施形態の制御システム１では、上記第１〜第３の開発のうち、第２の開発、すなわち、制御装置１０についての開発を省略することができ、当該第２の開発を省略できることに本実施形態の特徴がある。なお、支援ツール４０およびネットワーク装置２０についての開発は、本実施形態においても必要である。その理由は以下の通りである。第１に、新しいネットワークモジュール２３０の追加に伴って、制御システム１全体の構成機器等を表す情報であるシステム定義情報を変更する必要があり、そのためには、支援ツール４０についての開発が必要になるからである。第２に、新たなネットワークモジュール２３０をネットワーク装置２０において動作させるドライバソフトウェアを開発する必要があるからである。
【００３４】
本実施形態において制御装置１０についての開発を省略できる理由は以下の通りである。ネットワーク装置２０に搭載可能なネットワークモジュール２３０は各種存在するが、各ネットワークモジュール２３０の接続先のネットワークにおいてサポートされている機能には共通のものが含まれていることが多い。例えば、制御ネットワークであればコモンメモリ伝送機能やブロードキャスト伝送機能、メッセージ伝送機能等をサポートしていることが多く、ＩＯネットワークであれば入出力伝送機能やメッセージ伝送機能等をサポートしていることが多い、といった具合である。これらの機能の詳細仕様はネットワーク毎、すなわちネットワークモジュールの種類毎に異なるものの、その機能における制御装置１０の基本的な動作は同じである場合が多い。
【００３５】
図５は、制御ネットワークの一種であるＦＬ−ｎｅｔにおけるコモンメモリ伝送機能を説明するための図である。図５におけるノードは、ＦＬ−ｎｅｔに接続された各種機器に対応し、具体的には、監視端末やデータベース、制御装置である。また、図５におけるノード番号は、各ノードを一意に示す識別子である。図５に示すように、ＦＬ−ｎｅｔに接続された各ノードは、各々のメモリ、すなわち、揮発性記憶部の一定領域をコモンメモリに割り当て、そのコモンメモリにおいて各機器が他局と重ならないように自局領域を定義する。図５では、各ノードの自局領域がハッチングで示されている。図５にて矢印で示すように各ノードは自局領域のデータを定期的に他のノードに伝送する一方、他ノードから受信したデータを当該他ノードに対応する領域に格納する。これにより、各ノードのコモンメモリの格納内容が全て同一になる。
【００３６】
ＦＬ−ｎｅｔにおけるコモンメモリ伝送機能は上記の通りであるが、他の種類の制御ネットワークにおけるコモンメモリ伝送機能についてもその枠組みは同一である。すなわち、制御ネットワークに接続された各ノードが各々のメモリの一定領域をコモンメモリに割り当てる機能、そのコモンメモリにおいて各ノードが他のノードと重ならないように自局領域を定義する機能、および各ノードが自局領域の格納データを定期的に他のノードへ伝送する一方、他のノードから受信したデータを当該他のノードに対応する領域に格納する機能により、コモンメモリ伝送機能が実現されることは制御ネットワークの種類によらず共通である。制御ネットワークの種類に応じて異なるのは、コモンメモリ領域内に割り当てる領域の数や各領域のサイズ、自局領域のデータの送信タイミング等であり、これらは制御ネットワークの種類毎に個別の仕様として定められている。
【００３７】
本実施形態の制御装置１０は、ネットワーク装置２０に接続され得る複数種のネットワークの各々を介したデータ通信を行う際の制御装置１０の機能のうち、各記憶領域へのデータの書き込みや各記憶領域からのデータの読出しを行うメモリアクセス機能などのネットワークの種類によらない共通の機能を規定するモジュール共通情報を予め保持している。上記コモンメモリ伝送機能を実現するソフトウェアも上記モジュール共通情報に含まれている。一方、ネットワークモジュール２３０毎の記憶領域の割り当てなどネットワークの固有の仕様を表す仕様情報については、ネットワーク装置２０に保持されている。ネットワーク装置２０の制御部２１０は、前述した開発支援プログラムにしたがって作動することで、制御システム１についてのシステム定義情報と上記仕様情報とから、ネットワーク装置２０に搭載されている各ネットワークモジュール２３０についての揮発性記憶部１４２における記憶領域の割り当て（すなわち、制御装置１０側での記憶領域の割り当て）を示すモジュール固有情報を生成するモジュール固有情報生成手段として機能するとともに、当該モジュール固有情報を制御装置１０へ送信する送信手段として機能する。制御装置１０は、このモジュール固有情報とモジュール共通情報とを用いて、各種ネットワークに固有のデータ通信を実行する。より詳細については、制御装置１０の制御部１１０は、各ネットワークモジュール２３０についての揮発性記憶部１４２における記憶領域の割り当てをモジュール固有情報にしたがって行い、各記憶領域へのアクセス、すなわち、ネットワーク装置２０を介して受信したデータの該当記憶領域への書き込みや各記憶領域に格納されているデータの読出しおよび送信をモジュール共通情報にしたがって行う。このため、本実施形態では、新たなネットワークモジュール２３０をネットワーク装置２０に搭載する場合であっても、制御装置１０についての開発を省略できるのである。
以上が制御システム１の構成である。
【００３８】
（Ｂ：動作）
以下、ネットワーク装置２０にネットワークモジュール２３０Ｂを新たに搭載する場合を例にとって、制御装置１０およびネットワーク装置２０の動作を説明する。新たなネットワークモジュール２３０をネットワーク装置２０に搭載する際には、まず、制御装置１０およびネットワーク装置２０の電源を切断してネットワーク装置２０に新たなネットワークモジュール２３０を搭載した後に、制御装置１０およびネットワーク装置２０を再度立ち上げる必要がある。図６は、この立ち上げ処理における通信シーケンスの一例を示す図であり、図７は同立ち上げ処理におけるデータフローの一例を示す図である。図７では、図６におけるものと同じ処理には同じ符号が付されている。以下、図６および図７を参照しつつ上記立ち上げ処理について説明する。
【００３９】
また、以下に説明する動作例では、上記立ち上げ処理の実行に先立ってネットワーク装置２０についての開発および支援ツール４０についての開発は完了しており、ネットワーク装置２０にはネットワークモジュール２３０Ｂ用のドライバソフトウェアがインストールされているものとする。また、制御装置１０には支援ツール４０から新たなシステム定義情報がダウンロード（図７：ＳＣ１００）されているものとする。制御装置１０の制御部１１０は、上記の要領でダウンロードされたシステム定義情報を支援ツール通信部１３０を介して受信すると、当該システム定義情報を不揮発性記憶部１４４の所定領域に書き込む。このダウンロード終了後は、制御部１１０は、制御装置１０の起動を指示される毎に上記所定領域からシステム定義情報を読み出して使用する。
【００４０】
システム定義情報には以下の情報が含まれている。
（ａ）制御システム１全体の機器構成を示す情報
（ｂ）ネットワーク装置２０に接続されるネットワークモジュール２３０の種別を示す情報
（ｃ）制御装置１０の動作定義情報
（ｄ）ネットワーク装置２０の動作定義情報
（ｅ）ネットワーク装置２０に搭載されている各ネットワークモジュール２３０の動作定義情報
【００４１】
図８は、ネットワークモジュール２３０Ｂについての動作定義情報の一例を示す図である。この動作定義情報には、当該動作定義情報に対応するネットワークモジュール２３０Ｂを一意に示す識別子（図８では、ネットワークモジュール番号）と自局領域のアドレスやサイズ等を表す情報が含まれている。
【００４２】
制御装置１０を再立ち上げするために当該制御装置１０の電源が投入されると、制御部１１０は、揮発性記憶部１４２の格納内容の初期化等の初期化処理を実行する（図６：ＳＡ１００）。この初期化処理を完了すると、制御部１１０は、不揮発性記憶部１４４の所定領域に格納されているシステム定義情報を揮発性記憶部１４２に読み出すとともに、当該システム定義情報をネットワーク装置通信部１２０を介してネットワーク装置２０へ送信する（図７および図６：ＳＡ１１０）。なお、制御装置１０からネットワーク装置２０へシステム定義情報を送信する際には、システム定義情報全体を送信するのではなく、ネットワーク装置２０に関連する情報、すなわち、ネットワーク装置２０の動作定義情報およびネットワーク装置２０に搭載された各ネットワークモジュール２３０の動作定義情報のみを送信するようにしても良い。
【００４３】
ネットワーク装置２０にネットワークモジュール２３０を搭載し、その後、ネットワーク装置２０の電源を投入すると、制御部２１０は初期化処理を実行し（図６：ＳＢ１００）、さらにバス１５０に接続されている各種モジュール、すなわち実装モジュールの検出を行う（図６：ＳＢ１１０）。本動作例では、ネットワーク装置２０の電源投入に先立ってネットワークモジュール２３０Ｂが新たに当該ネットワーク装置２０に搭載されたため、ステップＳＢ１１０ではネットワークモジュール２３０Ａとネットワークモジュール２３０Ｂが検出される。このように新たなネットワークモジュール２３０が検出されると、制御部２１０は開発支援プログラムを不揮発性記憶部２４４から揮発性記憶部２４２に読み出し、その実行を開始する。
【００４４】
開発支援プログラムにしたがって作動している制御部２１０は、システム定義情報の受信を待ち受ける。システム定義情報を受信すると、制御部２１０は、当該システム定義情報に含まれている動作定義情報にしたがってネットワークモジュール２３０Ａおよび２３０Ｂの各々についての初期化処理（以下、実装モジュール初期化処理）を実行する（図６：ＳＢ１２０）。実装モジュール初期化処理には、ネットワークモジュール２３０Ａおよび２３０Ｂの各々に対するメモリ領域の割り当てや当該メモリ領域の初期化が含まれる。そして、実装モジュール初期化処理を完了すると、制御部２１０は、実装モジュールの初期化を完了した旨の初期化完了メッセージを、制御装置通信部２２０を介して制御装置１０へ送信する（図６：ＳＢ１３０）。
【００４５】
初期化完了メッセージの送信完了後、制御部２１０は、不揮発性記憶部２４４に格納されている仕様情報（図９参照）とシステム定義情報とから、実装モジュール毎にモジュール固有情報を生成する（図７および図６：ＳＢ１４０）。なお、本動作例の開始前から搭載されていたモジュール（本動作例ではネットワークモジュール２３０Ａ）についてはモジュール固有情報の生成を省略しても勿論良い。本動作例の開始前から搭載されていたモジュールについてのモジュール固有情報は制御装置１０に既に記憶されているからである。
【００４６】
図１０は、システム定義情報とネットワークモジュール２３０Ｂについての仕様情報とから生成されるモジュール固有情報の一例を示す図である。図１０に示すモジュール固有情報には、以下の（ａ）〜（ｈ）の各種情報が含まれており、そのうち（ｃ）〜（ｈ）はコモンメモリ伝送機能に関する情報である。前述したようにネットワークモジュール２３０Ｂの接続先は、コモンメモリ伝送機能を有する制御ネットワークだからである。図１０に示すモジュール固有情報に含まれる情報のうち、（ａ）ネットワークモジュール番号、（ｇ）自局領域Ｍアドレス、および（ｈ）自局領域Ｍサイズはシステム定義情報から抽出される情報であり、他の情報、すなわち、（ｂ）〜（ｆ）の各情報は仕様情報から抽出される情報である。このように、開発支援プログラムにしたがって作動している制御部２１０は、仕様情報およびシステム定義情報の各々からモジュール固有情報の生成に必要な情報を抽出し、それらをマージすることでモジュール固有情報を生成する。
【００４７】
（ａ）ネットワークモジュール番号：
ネットワークモジュール番号は、該当するネットワークモジュールに関する情報を、メモリ配置上のネットワークモジュール用領域の何番目に配置するかを示す情報である。
（ｂ）各領域先頭アドレス：
各領域先頭アドレスは、該当するネットワークモジュール用のメモリ用領域内で、ネットワーク制御領域、RAS領域、コモンメモリ領域等の各種領域を、どのアドレスに配置するかを示す情報である。
（ｃ）コモンメモリ領域数：
コモンメモリ領域数は、コモンメモリ領域の数を示す情報である。
（ｄ）コモンメモリ領域N先頭アドレス (N：1,2,…)：
コモンメモリ領域N先頭アドレスは、Ｎ番目のコモンメモリ領域の先頭アドレスを示す情報である。
（ｅ）コモンメモリ領域N全体サイズ (N：1,2,…)
コモンメモリ領域N全体サイズは、Ｎ番目のコモンメモリ領域の領域サイズを示す情報である。
（ｆ）コモンメモリ領域N送信周期 (N：1,2,…)
コモンメモリ領域N送信周期は、Ｎ番目のコモンメモリ領域に格納されるデータの送信周期を示す情報である。
（ｇ）自局領域Ｍアドレス（Ｍ：1,2,…)
自局領域Ｍアドレスは、コモンメモリ領域において自局領域として使用するＭ個の領域の各々の先頭アドレスを示す情報である。
（ｈ）自局領域Ｍサイズ (Ｍ：1,2,…)
自局領域Ｍサイズは、コモンメモリ領域において自局領域として使用するＭ個の領域の各々のサイズを示す情報である。
【００４８】
制御部２１０は、モジュール固有情報の生成を完了すると、制御装置通信部２２０を介して当該モジュール固有情報を制御装置１０へ送信する（図７および図６：ＳＢ１５０）。その後、制御部２１０は、開発支援プログラムの実行を終了し、ネットワーク装置としての運転を開始する（図６：ＳＢ１６０）。一方、制御装置１０の制御部１１０は、ネットワーク装置通信部１２０を介して受信したモジュール固有情報にしたがって揮発性記憶部１４２における記憶領域の割り当て、すなわちメモリ配置を行い、運転を開始する（図６：ＳＡ１２０）。具体的には、制御部１１０は、まず、図３に示すようにメモリ配置を行い、ネットワークモジュール２３０についてのコモンメモリ領域を図１１のように割り当てる。以降、制御部１１０は、上記モジュール固有情報の示す送信周期にしたがって自局データの送信、他局データの受信・展開等をモジュール共通情報にしたがって行う（図６：Ｓ１００）。
【００４９】
以上説明したように、本実施形態によれば、ネットワーク装置２０に新しいネットワークモジュール２３０を搭載する際に、開発が必要な機器は支援ツール４０とネットワーク装置２０だけとなり、制御装置１０についての開発を省略できる分だけ従来よりも開発コストを低減させることができる。また、制御装置１０についての開発を省略できる分だけ従来よりも開発期間が短くなる。なお、上記実施形態では、ネットワーク装置２０に搭載されるネットワークモジュール２３０Ｂの接続先がコモンメモリ伝送機能をサポートした制御ネットワークである場合について説明したが、ブロードキャスト伝送機能をサポートした制御ネットワーク、或いは両機能をサポートした制御ネットワークであっても同様であり、また、入出力機能、メッセージ機能等をサポートしたＩＯネットワークであっても同様である。
【００５０】
以上本発明の一実施形態について説明したが、この実施形態を以下のように変形しても勿論良い。
（１）上記実施形態では、システム定義情報を生成する支援ツール４０が制御装置１０に接続されており、支援ツール４０において生成したシステム定義情報を制御装置１０へダウンロードし、さらに、制御装置１０からネットワーク装置２０へシステム定義をダウンロードする場合について説明した。しかし、支援ツール４０が制御装置１０に接続されていることは必須ではなく、例えばスタンドアロンのパーソナルコンピュータにおいて生成したシステム定義情報をＵＳＢメモリ等のコンピュータ装置読み取り可能な記録媒体に書き込み、当該記録媒体をネットワーク装置２０に装着し、ネットワーク装置２０の制御部２１０には当該記録媒体からシステム定義情報を読み出して不揮発性記憶部２４４の所定領域に書き込む処理を実行させても良い。つまり、支援ツール４０は本発明の制御システムの必須構成要素ではなく、省略可能である。
【００５１】
（２）上記実施形態では、開発支援プログラムにしたがって制御部２１０を作動させることで、当該制御部２１０をモジュール固有情報生成手段および送信手段として機能させる場合、換言すれば、ネットワーク装置２０がモジュール固有情報生成手段を有する場合について説明した。しかし、制御装置１０がモジュール固有情報生成手段を有していても良く、また、支援ツール４０がモジュール固有情報生成手段を有していても良い。例えば、制御装置１０がモジュール固有情報生成手段を有する場合は、ネットワーク装置２０から制御装置１０へ仕様情報を送信し、制御装置１０には、ネットワーク装置２０から受信した仕様情報と支援ツール４０から受信したシステム定義情報とからモジュール固有情報を生成させるようにすれば良い。要は、制御システム１に含まれる何れかの機器がモジュール固有情報生成手段を有する態様であれば良い。
【００５２】
（３）上記実施形態では、制御装置１０の不揮発性記憶部１４４にモジュール共通情報が予め格納されていたが、ネットワークモジュール２３０の接続先のネットワーク毎にメモリアクセス動作が異なる等、モジュール共通情報を作成できない場合があり、このような場合には、ネットワーク毎にメモリアクセス動作等を規定するソフトウェアを作成することが必要となる。このような場合であっても、上記ソフトウェアとモジュール固有情報とにしたがって制御装置１０を動作させて当該モジュール固有情報に対応するネットワークモジュール２３０を介したデータ通信を実現させるようにすれば、モジュール固有情報を個別に作成する必要がない分だけ従来よりも開発コストを低減させることができる。
【００５３】
（４）上記実施形態では、ネットワーク装置２０の不揮発性記憶部２４４に予め仕様情報が格納されていた。しかし、ネットワーク装置２０に搭載される各ネットワークモジュール２３０に、そのネットワークモジュール２３０についての仕様情報を予め書き込んだフラッシュＲＯＭ等を設けておき、制御部２１０には、当該フラッシュＲＯＭから仕様情報を読み出させるようにしても良い。
【００５４】
（５）図１に示す制御システム１においてネットワーク装置２０に新たなネットワークが接続されると、ネットワーク装置制御装置間バスに流れるデータ量が増加し、ネットワーク装置制御装置間バスにおける帯域不足等の不具合が生じる場合がある。そこで、このような不具合の発生を避けるため、システム定義情報に、ネットワーク装置２０に接続される各ネットワークを介したデータ通信、或いはネットワーク装置２０に搭載されている各ネットワークモジュールを介したデータ通信の各々のデータ送信量および当該データ通信の重みを示す情報を含ませておき、モジュール固有情報生成手段には、これらの情報に応じて各データ通信における送信周期を調整しつつ、モジュール固有情報を生成する処理を実行させるようにしても良い。
【００５５】
具体的には、ネットワーク装置２０に接続されているＮ個のネットワークの各々におけるデータ送信量Ｄｎ（ｎ＝１〜Ｎ）、重みＷｎ（ｎ＝１〜Ｎ）、ネットワーク装置制御装置間バスの最大伝送速度Ｍ、ネットワーク装置制御装置間バスにおけるネットワークデータ使用率Ｒ（１００分率）を用い、ｎ番目のネットワークを介したデータ通信における送信周期Ｔｎを、以下の数１にしたがって算出する処理をモジュール固有情報生成手段に実行させれば良い。
【数１】
0006645054.tif 000002
【００５６】
例えば、
ネットワーク装置制御装置間バスの最大伝送速度：１０[KByte/ms]
ネットワークデータ使用率：１０％
ネットワーク３０Ａ  データ送信量：１[KByte] 、重み：５
ネットワーク３０Ｂ  データ送信量：１０[KByte]、重み：１
の場合、
ネットワーク装置２０にネットワーク３０Ａのみが接続されているのであれば、モジュール固有情報生成手段は、ネットワーク３０Ａを介したデータ通信における送信周期を１[ms]と算出する。この状況下でネットワーク装置２０にネットワークモジュール２３０Ｂを搭載してネットワーク３０Ｂを接続すると、ネットワーク３０Ａを介したデータ通信における送信周期は３[ms]に更新され、ネットワーク３０Ｂを介したデータ通信における送信周期は１５[ms]に設定される。本態様によれば、ネットワーク装置２０に新たに搭載されたネットワークモジュール２３０についてのモジュール固有情報の生成に加えて、既存のネットワークモジュール２３０についてもモジュール固有情報を生成し直すことで各ネットワークモジュール２３０を介したデータ通信における送信周期の最適化を自動的に行い、ネットワーク装置制御装置間バスにおける帯域不足の発生を回避することができる。
【符号の説明】
【００５７】
１…制御システム、１０…制御装置、１１０…制御部、１２０…ネットワーク装置通信部、１３０…支援ツール通信部、１４０…記憶部、１４２…揮発性記憶部、１４４…不揮発性記憶部、１５０…バス、２０…ネットワーク装置、２１０…制御部、２２０…制御装置通信部、２３０Ａ、２３０Ｂ…ネットワークモジュール、２４０…記憶部、２４２…揮発性記憶部、２４４…不揮発性記憶部、２５０…バス、３０Ａ，３０Ｂ…ネットワーク、４０…支援ツール。
【図１】
0006645054.tif 000003
【図２】
0006645054.tif 000004
【図３】
0006645054.tif 000005
【図４】
0006645054.tif 000006
【図５】
0006645054.tif 000007
【図６】
0006645054.tif 000008
【図７】
0006645054.tif 000009
【図８】
0006645054.tif 000010
【図９】
0006645054.tif 000011
【図１０】
0006645054.tif 000012
【図１１】
0006645054.tif 000013