(57)【要約】【課題】  安全系と非安全系をうまく混在した状態でコントローラを実現し、安全系と非安全系とで共通処理として扱える部分は共通するとともに、安全系の安全機能は保証できるコントローラシステムを提供すること【解決手段】  ＣＰＵユニット１ａを含む複数のユニット１ｂ，１ｃを連結して構成される非安全コントローラに、安全機能処理を実行する安全ユニット１ｄから１ｆを連結する。安全ユニットには、ＣＰＵユニットに連係するためのＣＰＵバス１０と、安全ユニット同士が相互に連係するための安全用専用バス１１を備える。安全用専用バスは、非安全系から分離されているので、安全機能の信頼性は確保できる。ＣＰＵユニットは、ＣＰＵバスを経由して安全ユニット，非安全ユニットを問わず、データの読み出しができる。【選択図】        図１
2007242036.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵユニットを含む複数の非安全ユニットを連結して構成される非安全コントローラに対して接続可能で、安全機能処理を実行する安全ユニットであって、
前記ＣＰＵユニットに連係するためのＣＰＵバスと、
他の安全ユニットに連係するための安全用専用バスを備えたことを特徴とする安全ユニット。
【請求項２】
ＣＰＵユニットを含む複数の非安全ユニットを連結して構成される非安全コントローラに接続可能な安全ユニットであって、
前記ＣＰＵユニットに連係するためのＣＰＵバスと、
安全機能処理を実行する処理部とを備え、
前記ＣＰＵバスを介して前記ＣＰＵユニットとの間でデータの送受を行うことを特徴とする安全ユニット。
【請求項３】
安全系構成管理情報を記憶する安全系構成管理情報記憶手段を備え、
全ての安全ユニットを管理・照合するマスタ機能を備えたことを特徴とする請求の範囲第２項に記載の安全ユニット。
【請求項４】
ツールインタフェースを備え、
接続されたツールからの要求に従い、前記ＣＰＵバスを介して前記他の安全ユニット或いは前記非安全ユニットに保有された情報を取得する機能を備えたことを特徴とする請求の範囲第１項に記載の安全ユニット。
【請求項５】
複数の安全ユニットの中で、安全系を制御する主となる安全ユニットか否かを設定する設定手段を備えたことを特徴とする請求の範囲第１項に記載の安全ユニット。
【請求項６】
ＣＰＵユニットを含む複数のユニットをバスにより連結して構成される非安全コントローラと、
安全機能を有するＣＰＵユニットを含む複数の安全ユニットを前記バスとは別の独立バスにより連結して構成される安全コントローラと、を有し
前記非安全コントローラの前記バスを、前記安全コントローラのＣＰＵユニットにも連結して、前記非安全コントローラにおける制御に用いるＩ／Ｏ情報を、前記バスを介して非安全コントローラの各ユニットに対して入力または出力情報を受け渡しするとともに、前記安全ユニットからも入力情報を受けるようにし、
前記安全コントローラにおける安全機能制御に用いるＩ／Ｏ情報を、前記独立バスを介して、前記各安全ユニットに対して入力または出力情報を受け渡しするとともに、前記バスを介して前記非安全コントローラのユニットから入力情報を受けないようにしたことを特徴とするコントローラシステム。
【請求項７】
前記非安全ユニットのＣＰＵユニットはツール装置を接続可能であり、前記バスを経由して前記安全ユニット，前記非安全ユニットを問わず、データ読み出しを可能としたことを特徴とする請求の範囲第６項に記載のコントローラシステム。
【請求項８】
ＣＰＵユニットを含む複数のユニットをＣＰＵバスにより連結して構成されるコントローラと、安全機能を有するＣＰＵユニットを含む複数の安全ユニットを独立バスにより連結して構成される安全コントローラとを、連結する方法であって、
安全コントローラの複数安全ユニットそれぞれを、前記コントローラのＣＰＵバスを延長して、その延長したＣＰＵバスにより連結し、
前記ＣＰＵバスを介して前記ＣＰＵユニットと安全ユニットとの間でデータの送受を行うようにしたことを特徴とするコントローラの連結方法。
【請求項９】
ＣＰＵユニットを含む複数のユニットをＣＰＵバスにより連結して構成される非安全コントローラと、安全機能を有するＣＰＵユニットを含む複数の安全ユニットを前記バスとは別の独立バスにより連結して構成される安全コントローラと、を有し、前記非安全コントローラのＣＰＵバスを前記安全コントローラのＣＰＵユニットまで延長して連結したコントローラシステムの制御方法であって、
前記非安全コントローラにおける制御は、前記ＣＰＵバスを介して非安全コントローラの各ユニットに対してＩ／Ｏ情報を受け渡しするとともに、必要に応じて前記ＣＰＵバスを介して安全コントローラから入力情報を受けることで行い、
前記安全コントローラにおける安全機能制御は、前記独立バスを介して各安全ユニットに対してＩ／Ｏ情報を受け渡しすることで行うとともに、前記非安全コントローラの制御による情報を用いないようにしたことを特徴とするコントローラシステムの制御方法。
【請求項１０】
ＣＰＵユニットを含む複数のユニットをＣＰＵバスにより連結して構成される非安全コントローラと、安全機能を有するＣＰＵユニットを含む複数の安全ユニットを連結して構成される安全コントローラと、を有し、前記非安全コントローラのＣＰＵバスを前記安全コントローラまで延長して連結したコントローラシステムにおいて、
前記非安全コントローラのＣＰＵユニットにツールインタフェースを備えて、ツールを接続し、
接続されたツールからの要求に従い、ＣＰＵユニットの処理により前記ＣＰＵバスを介して前記安全コントローラに保有された情報を取得し、
取得した情報を非安全コントローラのＣＰＵユニットのツールインタフェースを介して外部のツールへ送信することを特徴とするコントローラシステムのモニタ方法。
【請求項１１】
ＣＰＵユニットを含む複数のユニットをＣＰＵバスにより連結して構成される非安全コントローラと、安全機能を有するＣＰＵユニットを含む複数の安全ユニットを連結して構成される安全コントローラと、を有し、前記非安全コントローラのＣＰＵバスを前記安全コントローラまで延長して連結したコントローラシステムにおいて、
前記非安全コントローラのＣＰＵユニットにツールインタフェースを備えて、ツールを接続し、
接続されたツールからの命令に従い、ＣＰＵユニットの処理により前記ＣＰＵバスを介して前記安全コントローラに対して所定の設定をすることを特徴とするコントローラシステムの設定方法。
【請求項１２】
ＣＰＵユニットを含む複数のユニットをＣＰＵバスにより連結して構成される非安全コントローラと、安全機能を有するＣＰＵユニットを含む複数の安全ユニットを連結して構成される安全コントローラと、を有し、前記非安全コントローラのＣＰＵバスを前記安全コントローラまで延長して連結したコントローラシステムにおいて、
前記安全コントローラのＣＰＵユニットにツールインタフェースを備えて、ツールを接続し、
接続されたツールからの要求に従い、安全コントローラのＣＰＵユニットの処理により前記ＣＰＵバスを介して、少なくとも前記非安全コントローラに保有された情報を取得し、
取得した情報を安全コントローラのＣＰＵユニットのツールインタフェースを介して外部のツールへ送信することを特徴とするコントローラシステムのモニタ方法。
【請求項１３】
ＣＰＵユニットを含む複数のユニットをＣＰＵバスにより連結して構成される非安全コントローラと、安全機能を有するＣＰＵユニットを含む複数の安全ユニットを連結して構成される安全コントローラと、を有し、前記非安全コントローラのＣＰＵバスを前記安全コントローラまで延長して連結したコントローラシステムにおいて、
前記安全コントローラのＣＰＵユニットにツールインタフェースを備えて、ツールを接続し、
接続されたツールからの命令に従い、安全コントローラのＣＰＵユニットの処理により、前記ＣＰＵバスを介して、少なくとも前記非安全コントローラに対して所定の設定をすることを特徴とするコントローラシステムの設定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、安全ユニット及びコントローラシステム並びにコントローラの連結方法及びコントローラシステムの制御方法並びにコントローラシステムのモニタ方法に関するものである。
【背景技術】
【０００２】
ＦＡ（ファクトリーオートメーション）で用いられるプログラマブルコントローラ（以下、「ＰＬＣ」と称する）は、ＰＬＣにつながれたスイッチやセンサなどの入力機器からＯＮ／ＯＦＦ情報を入力し、ラダー言語などで書かれたシーケンスプログラム（ユーザプログラム）に沿って論理演算を実行して、その演算結果により、ＰＬＣにつながれたリレー出力に向けてＯＮ／ＯＦＦ情報を出力、またはバルブやアクチュエーターなどの出力機器に向けて駆動／停止情報の信号を出力することで制御が実行される。このようなＰＬＣの制御は、いわゆるサイクリック処理を繰り返すことで実行される。
【０００３】
ところで、ＰＬＣと、入力機器並びに出力機器との接続形態は、ＰＬＣの端子やＩ／Ｏユニットの端子に接続する場合もあれば、ネットワークを介して接続する場合もある。係るネットワークで接続されたネットワークシステムを構築する場合には、上記ＯＮ／ＯＦＦ情報の送受をネットワークを経由して行うことになる。このとき、通常、ＰＬＣ側がマスタとなり、機器側がスレーブとなるマスタスレーブ方式で情報の伝送が行われる。このマスタスレーブ方式は、リモートＩ／Ｏ方式とも呼ばれるもので、ＰＬＣに取り付けた通信マスタユニットと、ネットワーク回線を介してその通信マスタユニットと接続させた通信スレーブユニットと用いる。そして、通信スレーブユニットの端子に複数の入力機器または出力機器を接続する。マスタとスレーブ間の通信は、所定の周期でシリアル通信伝送で行われる。その伝送は、マスタがスレーブに対してデータ要求をし、スレーブはその要求を受けてスレーブにつながる各入力または各出力機器のＯＮ／ＯＦＦ情報（Ｉ／Ｏ情報）をシリアル信号にして返信する。つまりマスタはネットワークの通信権を制御し、スレーブはその通信権の制御に従ってネットワークに向けて伝送処理をする。
【０００４】
なお、マスタとスレーブ間の通信は、ＰＬＣのサイクリック処理と同期するように行うようにしてもよいし、非同期で行うようにしてもよい。また、ＰＬＣのＣＰＵとマスタ間の情報のやりとりは、ＰＬＣのＩ／Ｏリフレッシュ処理で行うことでも、周辺処理で行うことでもどちらでもよい。また１台のマスタに対して複数のスレーブが接続して、互いに通信することもできる。
【０００５】
一方、最近ではＰＬＣによる制御においても、ロボット機械や、プレス機、切断機などの安全性の要求が高いところでの用途を想定したものがある。例えば、ロボット制御では、制御系の異常や故障でロボットアームが人体と接触して人身事故に至らないようにすべく、安全システムや安全ネットシステムと呼ばれるところに導入されつつある。その場合には、制御系の要素としてのＰＬＣや各機器自体、そしてネットワークにも安全機能を組み込まれたもので構成される。ここで「安全機能」とは、安全であることを確認し、出力を行う機能を言う。また、「安全システム」は、例えばＣＰＵその他の各処理部等を二重化して、両者の不一致を検知して処理部が異常と判断した場合、何らかの原因でネットワークに異常（正常な通信ができない）が生じた場合や、機械システムの緊急停止スイッチが押下されたり、ライトカーテンなどの多光軸光電センサにより危険領域に人（身体の一部）の進入を検出したときなどの危険状態になった場合に、確実に機械システムを安全な状態に動作する機能、またはフェイルセーフが働いて機械システムが安全な状態で動作を強制的に停止するようにする機能である。換言すると、安全機能により、安全であることが格納されたときのみ出力し、機械を動かすシステムである。よって、安全が確認できない場合には、機械が停止する。
【０００６】
上記した安全機能を備えた安全システムや安全ネットワークシステムを構築する場合、ネットワークに接続される装置（ＰＬＣ，スレーブ並びにスレーブに接続される機器等）は全て安全機能を備えたものを用いる必要があった。これは、１つでも安全機能のない装置が組み込まれていると、その装置を含む制御やその装置とのデータ通信にフェイルセーフが働かないこととなり、システム全体の安全機能を保証できないためである。
【０００７】
ところでＰＬＣによる制御において、必ずしもシステム全体に安全機能が必要であるとは限らない。しかし、一部でも安全機能の保証が必要ならば安全システムを用いることとなるので、その中に安全機能のない装置を含めることができない。そうなると、本来安全機能の必要のない箇所にも安全ＰＬＣや安全機器が使われることになる。安全機能付きの装置は、通常の装置に比べて高価であることから、システム全体でコスト高となってしまう。
【０００８】
また、既に安全機能のない従来ＰＬＣに基づくネットワークシステムを構築している環境に、あとから部分的に安全機能をもつ装置や安全ＰＬＣを追加導入しようとした場合、既存の従来設備に安全機能を備えた装置を混在させようとしても、うまくできなかった。つまり、安全機能のない既存部分と安全機能をもつ部分とを完全に分離する必要があり、同一環境で両者を混在させることができなかった。もちろん、既存の設備を廃棄し、新たに安全ネットワークシステムを設置することは考えられるが、多大な置き換え工数が必要となってしまう。
【０００９】
一方、上記した点に鑑み、安全機能が必要な箇所についてのみ安全ネットワークを構築したいという考えもある。しかし、前述のように安全系と非安全系を分離することになり、両者の間でのデータの受け渡しが困難となる。さらに、安全系と非安全系のネットワークシステムを独立して併設することになるので設定・管理ツールも２種類必要となるばかりでなく、係る２種類のツールを使い分けなければならず、煩雑となる。
【００１０】
この発明は、上記の課題を解決するべく、安全系と非安全系をうまく混在した状態でコントローラを実現し、安全系と非安全系とで共通処理として扱える部分は共通するとともに、安全系の安全機能は保証できる安全ユニット及びコントローラシステム並びにコントローラの連結方法及びコントローラシステムの制御方法並びにコントローラシステムのモニタ方法を提供することを目的とする。
【発明の開示】
【課題を解決するための手段】
【００１１】
上記した目的を達成するため、この発明による安全ユニットは、ＣＰＵユニットを含む複数の非安全ユニットを連結して構成される非安全コントローラに接続可能で、安全機能処理を実行するものである。そして、前記ＣＰＵユニットに連係するためのＣＰＵバスと、他の安全ユニットに連係するための安全用専用バスを備えている。
【００１２】
また、別の解決手段としては、ＣＰＵユニットを含む複数の非安全ユニットを連結して構成される非安全コントローラに接続可能な安全ユニットであって、前記ＣＰＵユニットに連係するためのＣＰＵバスと、安全機能処理を実行する処理部とを備え、前記ＣＰＵバスを介して前記ＣＰＵユニットとの間でデータの送受を行うように構成することもできる。
【００１３】
なお、安全ユニットは、例えば安全コントローラ，安全バスマスタ，安全Ｉ／Ｏ及びそれら機能の複合などがある。また、安全用専用バスは、実施の形態では安全用専用バス１１に対応する。つまり、「安全用専用バス」とは、安全機能処理を実現するための情報（データ）の送受を行うためのバスであり、安全ユニットのみが接続される。但し、安全ユニット内でクローズな世界を構築できていれば、他の非安全情報を送受するのに用いてもよい。あくまでも非安全ユニットから直接アクセスできなければよい。また、「安全機能」とは、いわゆるフェールセーフ機能のことであり、コントローラなどの制御で異常が生じた場合や通信異常が生じた場合に制御停止させるともに、コントローラの停止により出力対処の機器や制御機器が安全な状態を維持するようにする機能である。また制御自体が暴走しないようにしている。制御停止が必要な場合の例としては、コントローラのＣＰＵその他の各処理部等を二重化して両者の不一致を検知した場合、何らかの原因でネットワークに異常が生じた場合、機械システムの緊急停止スイッチが押下された場合、ライトカーテンなどの多光軸光電センサにより危険領域に人（身体の一部）の進入を検出したときなどの危険状態になった場合などがある。そして、上記の場合には、安全機能により、確実に制御対象の機械システムを安全な状態に動作させる、またはその動作に加えて安全な状態で停止させる、またはフェイルセーフが働いて機械システムが安全な状態で動作を強制的に停止させる。
【００１４】
この発明によれば、安全用専用バスを設けたため、安全系の信頼性が確保できる。つまり、非安全系を構成する非安全ユニットと安全ユニットを連結し、非安全系と安全系とを混在させたとしても、少なくとも安全機能処理をするためのデータは安全用専用バスを用いることにより、信頼性が得られる。
【００１５】
これにより、非安全系と安全系を混在したコントローラを形成することができる。よって、省スペース化が図れるとともに、安全ユニットを非安全系のコントローラ（ＰＬＣ）の高機能ユニットとして管理できる。
【００１６】
また、安全機能が必要な箇所と必要でない箇所に対し、それぞれ適切なユニット（安全ユニット）を用意し、それらを連結することにより、適材適所な設置となり、不必要にコストが高くなることが抑制される。そして、既に非安全系のコントローラが設置されている場合には、既設のコントローラに、本発明の安全ユニットを接続することにより、安全機能が必要な箇所のみシステムを置き換えることができ、既存の設備・資源の有効利用が図れる。よって、既に非安全系のコントローラ（ＰＬＣ）を使用している環境に、安全システムを容易に増設できる。
【００１７】
また、安全系構成管理情報を記憶する安全系構成管理情報記憶手段を備え、全ての安全ユニットを管理・照合するマスタ機能を備えるとよい。マスタ機能は、実施の形態では、安全ユニット１ｄのＭＰＵ１２により実現される。この安全ユニットが、安全ユニットを複数連結する場合における安全ユニット間でのデータの送受の管理をするマスタとなる。そして、複数の安全ユニットの中で、安全系を制御する主となる安全ユニット（マスタ）か否かを設定する設定手段を備えるとよい。設定手段は、実施の形態では、ユーザインタフェース２１に対応する。このように設定手段を設けることにより、ユーザがどの安全ユニットがマスタであるかを設定したり、後で確認することが容易にできる。
【００１８】
更に、ツールインタフェースを備え、接続されたツールからの要求に従い、前記ＣＰＵバスを介して前記他の安全ユニット或いは前記非安全ユニットに保有された情報を取得する機能を備えることができる。
【００１９】
また、この発明のコントローラシステムでは、ＣＰＵユニットを含む複数の非安全ユニットを連結して構成される非安全コントローラに、上記した各発明の安全ユニットを連結することにより構成できる。この場合に、ＣＰＵユニットは、前記ＣＰＵバスを経由して前記安全ユニット，前記非安全ユニットを問わず、データ読み出しを可能とするとよい。
【００２０】
この発明によれば、安全ユニットの全てにＣＰＵユニットが制御するＣＰＵバスを持たせているので、ＣＰＵユニットは、そのＣＰＵバスを経由して安全ユニット，非安全ユニットを問わず、全てのユニットのデータ読み出しが可能となる。逆に、安全ユニットは、ＣＰＵユニット経由で非安全ユニットのデータ読み出しが可能となる。
【００２１】
従って、ＣＰＵユニットにツールを接続すると、非安全系はもちろんのこと安全系のユニットの構成情報を取得することができる。同様に、安全ユニットにツールを接続すると、安全系はもちろんのこと非安全系のユニットの構成情報を取得することができる。
【００２２】
またこの発明における非安全コントローラと安全コントローラとの連結方法について説明すると、安全コントローラを構成する複数の安全ユニットのそれぞれは安全用専用バスで連結して、各安全ユニット間で情報のやりとりができるようにしているが、それに加えて、非安全コントローラのＣＰＵバスを安全コントローラの各安全ユニットに対して接続する。このときＣＰＵバスが各安全ユニットに対して分岐するようにしている（いわゆるマルチドロップ）。つまり、ＣＰＵバスを安全コントローラまで延長して連結しているわけである。そしてこのＣＰＵバスを介して非安全コントローラのＣＰＵユニットと安全ユニットとの間でデータの送受や情報のやりとりを行うようにしている。
【００２３】
またこの発明における制御方法として、非安全コントローラと安全コントローラとをコントローラシステムとして構成し、非安全コントローラのＣＰＵバスを安全コントローラのＣＰＵユニットまで延長して連結する。このとき安全コントローラのＣＰＵユニット以外の安全ユニットを含めてＣＰＵバスで連結しても良い。そして、非安全コントローラの制御として、ＣＰＵバスを介して非安全コントローラの各ユニットに対してＩ／Ｏ情報を受け渡しすることに加えて、ＣＰＵバスを介して安全コントローラが扱う安全制御用のＩ／Ｏ情報を非安全コントローラが入力するようにしている。さらに、安全コントローラの安全機能制御として、安全用専用バスを介して各安全ユニットに対してＩ／Ｏ情報を受け渡しすることでコントローラシステムの制御が行われる。
【００２４】
なお、非安全コントローラが安全制御用Ｉ／Ｏ情報を入力する場合には、安全コントローラのＣＰＵユニットのシステムメモリ（実施の形態のシステムＲＡＭ１４に相当）のＩ／Ｏ情報格納領域や、ネットワーク経由のＩ／Ｏ情報記憶部（実施の形態のＩ／Ｏ情報記憶部２２に相当）から取り込むようにすればよい。なお、それに替えて、ＣＰＵバスを他の安全ユニットに連結して、安全ＣＰＵユニットを経由せずに安全ユニットから直接、そのユニットに接続された機器のＩ／Ｏ情報やそのユニットが格納しているＩ／Ｏ情報を取り込むようにしてもよい。また、安全コントローラにおいて、非安全コントローラ用のＩ／Ｏ情報を取り込んで、それを制御に利用すると安全機能が保証できなくなることから、前記非安全コントローラの制御による情報を取り込まないようにしている。これは安全系のユニット（ＣＰＵユニットまたは各ユニット）が非安全系のユニット（コントローラ、ＣＰＵユニット）からの制御情報の入力を拒否するようにしてもよいし、非安全系のユニットが安全系ユニットに向けて制御情報を出力しないようにしてもよい。つまり非安全コントローラが構成管理情報に基づいて制御情報やＩ／Ｏ情報を安全系ユニット向けた送信を禁止するようにしてもよい。
【００２５】
また、この発明におけるモニタ方法として、非安全コントローラと安全コントローラとを連結したコントローラシステムにて、非安全コントローラのＣＰＵユニットにツールを接続し、非安全コントローラのＣＰＵユニットがそのツールから要求を受けることで、そのＣＰＵユニットが要求に応じた処理をすることで、安全コントローラに保有された情報を取得し、取得情報を外部ツールへ送信するようにしている。もちろん、非安全系の制御情報も同様に外部ツールへ送信することができる。その後、ツール側で送信情報を受取り、付属のモニタ画面で情報を表示したり、送信情報をロギング記録したりする。こうすることで、非安全系と安全系とで共通のツールにより、制御情報やコントローラの状態をモニタをすることができる。
【００２６】
また、この発明には、非安全コントローラと安全コントローラとの両方の設定を共通のツールで行う方法がある。それは非安全コントローラと安全コントローラとを有し、非安全コントローラのＣＰＵバスを安全コントローラまで延長して連結したコントローラシステムにおいて、非安全コントローラのＣＰＵユニットにツールインタフェースを備えて、そのインタフェースにツールを接続し、そのツールからの命令に従って非安全コントローラのＣＰＵユニットが処理をすることで、ＣＰＵバスを介して安全コントローラに所定の設定をするというものである。
【００２７】
またこの発明におけるモニタ方法として、ツールを安全コントローラのＣＰＵユニットにつなげて、接続されたツールからの要求に従って安全ＣＰＵユニットが処理を行い、ＣＰＵバスを介して非安全コントローラに保有された情報を取得し、その取得情報を安全ＣＰＵユニットのツールインタフェースを介して外部のツールへ送信するようにしている。なお、接続されたツールからの要求に従って安全ＣＰＵユニットが処理を行い、安全コントローラまたは安全ユニットに保有された情報を取得して、ツールに送信することを加えても良い。
【００２８】
さらにまた、この発明では、コントローラシステムの設定方法として、安全コントローラのＣＰＵユニットにツールを接続し、そのツールからの命令に従って安全コントローラのＣＰＵユニットが処理することにより、ＣＰＵバスを介して非安全コントローラに対して所定の設定をするようにしている。このとき、安全コントローラのＣＰＵユニットが処理することにより、ＣＰＵバスまたは安全用専用バスを介して安全コントローラまたは安全ユニットに対して所定の設定をするようにしてもよい。
【発明の効果】
【００２９】
以上のように、この発明では、ＣＰＵバスと安全用専用バスを設け、安全用専用バスは安全ユニットのみアクセス可能としたため、安全系と非安全系を混在したコントローラを実現することができる。また、安全系と非安全系間のデータの送受もＣＰＵバスを用いて容易に行うことができる。一体化することにより省スペース化が図れる。
【発明を実施するための最良の形態】
【００３０】
本発明をより詳細に説明するにあたり、添付の図面に従ってこれを説明する。図１は、本発明が適用されるネットワークシステムの一例を示しており、図２はコントローラたるＰＬＣ１の内部構造の一例を示している。図１並びに図２に示すように、本実施の形態では、複数（本例では６個）のユニット１ａ，１ｂ，１ｃ，１ｄ，…を連結してＰＬＣ１が構成されている。本実施の形態のＰＬＣ１は、従来と異なり安全機能のない非安全系のネットワークシステムを構築するためのユニット（非安全ユニット）と、安全ネットワークシステムを構築するための機能を有するユニット（安全ユニット）を混在状態で連結することによって形成されている。
【００３１】
具体的には、３つの非安全ユニット１ａから１ｃと、３つの安全ユニット１ｄから１ｆを備えている。非安全ユニット１ａはいわゆるＣＰＵユニット、１ｂはＩ／Ｏユニット、１ｃは通信マスタユニットである。通信マスタユニット１ｃには、非安全系のネットワーク３が接続されるとともに、そのネットワーク３には入力機器或いは出力機器などの各種の機器２が接続される。これにより、ＰＬＣ１は、機器２とともに通常の従来から一般に用いられている非安全のネットワークシステムを構築する。機器２は通信マスタユニット１ｃとシリアル通信するものであり、スレーブユニットと呼ばれるものである。ＣＰＵユニット１ａはいわゆるサイクリック処理を行うものである。サイクリック処理は、Ｉ／Ｏリフレッシュ処理，ユーザープログラム実行処理，周辺処理を繰り返し行う処理である。Ｉ／Ｏリフレッシュ処理は、入力機器のＯＮ／ＯＦＦ情報をＰＬＣのＣＰＵ部のメモリに取込む処理と、前のサイクルにてユーザープログラムが実行処理された結果を出力機器へ信号出力する処理である。入出力機器は、Ｉ／Ｏユニット１ｂまたは機器２に接続されている。ユーザープログラム実行処理は、入力機器からの入力情報に基づいてユーザープログラムの条件に照らして演算実行する処理である。周辺処理は、ＰＬＣにつながれたネットワーク回線で通信を行う処理である。通信相手としては、ツールや上位コンピュータ端末や、リモートＩ／Ｏのスレーブなどがある。
【００３２】
安全ユニット１ｄは、安全機能を持ったユニット１ｄ〜１ｆを統括することができるＣＰＵユニット相当であり、ＣＰＵユニット１ａと同様にサイクリック処理を行うことに加えて、安全機能を実現できる構成になっている。また、安全ユニット１ｄには安全ネットワーク７が接続されるとともに、その安全ネットワーク７には安全機器６が接続される。安全機器６の具体例としては、ライトカーテンセンサ，安全スイッチ，安全用途アクチュエータなどの入力機器または出力機器を含む。また、安全ユニット１ｄが通信マスタ機能を持ったものである場合には、安全機器６をスレーブユニット相当としたり、Ｉ／Ｏターミナル相当としてもよく、安全ネットワークでリモートＩ／Ｏを構築できる。安全機器６は、入力機器、出力機器または入出力機器が複数個接続されることになり、マスタとはシリアル通信でＩ／Ｏ情報をやりとりする。安全ユニット１ｅは、安全Ｉ／Ｏユニット相当であり、ネットワーク経由なしに直接的に安全機器（入力機器または出力機器）を接続でき、安全ＣＰＵユニット１ｄのＩ／Ｏリフレッシュ処理のタイミングで入力信号を取り込むとともに出力信号を出力する。安全ユニット１ｆは安全ユニットのひとつとして機能するものであり、例えば安全高機能ユニット、安全アナログユニット、安全モーションコントロールユニットなどがある。
【００３３】
そして、図示のようにＣＰＵバス１０が全てのユニット１ａから１ｆにまたがって設けられている。ＣＰＵバス１０は、各ユニット間でデータの送受を可能とする通信バスラインである。そのＣＰＵバス１０におけるデータの送受の制御は、非安全系のＣＰＵユニット１ａが管理する。つまり、バス権を受け渡しするアービタ制御をＣＰＵユニット１ａが行う。また、安全ユニット１ｄから１ｆには、上記ＣＰＵバス１０とは独立した別の安全用専用バス１１がまたがって設けられていて、安全ユニット同士がバスにより接続されている。そして、安全ユニット１ｄから１ｆ間での安全データの送受は、その安全用専用バス１１を介して行われる。この安全用専用バス１１のバス権の制御は、ＣＰＵユニット１ａからはできず、安全ユニット１ｄから１ｆの中のいずれかのユニットが行う。なお、いずれかのユニットのうち一つがバスマスタ機能をもつようにしてもよい。
【００３４】
つまり、全てのユニット１ａから１ｆを接続するＣＰＵバス１０と、安全ユニット１ｄから１ｆを接続する安全用専用バス１１とを別々に設けたので、一連のＰＬＣのなかで、非安全系のユニットが持つデータと安全系のユニットが持つデータとを相互に交換したい場合にはＣＰＵバス１０を利用して通信をすることができる。例えば、安全ユニット１ｄが持つＩ／Ｏ情報をＣＰＵユニット１ａに渡すことや、安全ユニット１ｄが持つ安全ユニット群の各種設定情報をＣＰＵユニット１ａに渡すことや、ＣＰＵユニット１ａから安全ユニット１ｄ〜１ｆに対して各種設定情報を渡すことができる。なお、ＣＰＵユニット１ａのＩ／Ｏ情報を安全ユニットに渡すことはしないほうが良い。それは安全機能を有さないＩ／Ｏ情報が安全装置に混入すると、安全装置側で安全機能を確保できなくなるおそれが生じるからである。
【００３５】
一方、安全機能を確保したい安全関連のデータについては、安全用専用バス１１によるクローズな世界で通信することができる。すなわち、安全機能を実施するためのデータの送受は、安全ユニット１ｄから１ｆ内で確実に行うことができるようになり、フェイルセーフなどの安全機能を確実に実現できる。要するに、一連のＰＬＣで安全系と非安全系とを混在させつつ、互いに独立関係をも持たせる構成としているのである。
【００３６】
また、ＰＬＣ１にはツール５が接続可能となっていて、ツール５によってユーザプログラムを作成または編集してＰＬＣ１へダウンロードしたり、ＰＬＣ１に格納されたネットワークシステムの情報を収集したりできる。収集情報としては他に、ＰＬＣの構成管理情報や、Ｉ／Ｏ情報（各接点の制御状態など）、各ユニットのＩ／Ｏ情報、各入力接点の状態、出力接点の状態、ＣＰＵユニットのＩ／Ｏデータ、Ｉ／Ｏユニットのバッファメモリの情報など）、各ユニットの設定情報（初期設定情報、ノード番号、通信ユニットの通信設定など）、安全情報（安全ユニットのＩ／Ｏ情報、各ユニットの動作時間情報、寿命情報、異常履歴情報など）、各ユニットの構成管理情報などがある。
【００３７】
次に、各ユニットの具体的な構成を説明する。まず、非安全ユニット１ａは、本形態ではＣＰＵユニット１ａとなり、非安全系に対する制御、つまりラダーなどで作成されたユーザプログラムを実行したり、ＣＰＵバス１０のマスタとなったり、ＰＬＣ１の全体構成の管理をしたりする。前述のように、このＣＰＵユニット１ａはいわゆるサイクリック処理を行うもので、Ｉ／Ｏリフレッシュ処理、ユーザープログラム実行処理、周辺処理を繰り返し行う。
【００３８】
係る処理は、ＭＰＵ１２が、システムＲＯＭ１３に格納されたシステムプログラム、さらにはユーザプログラム記憶部１５に格納されたユーザプログラムを読み出し、システムＲＡＭ１４のメモリ領域（Ｉ／Ｏ情報格納エリア）を適宜使用して実行する。更に、構成管理情報記憶部１６を有し、ＰＬＣ１を構成する全ユニットについての情報（構成管理情報）が格納され、この格納された構成管理情報に基づき全体構成の管理をする。構成管理情報記憶部１６のデータ構造としては、例えば図３に示すように、スロットＮｏ，ＩＤ，製品型式，シリアルＮｏを関連づけたテーブルとしている。スロットＮｏは、接続した各ユニットに順に付与される番号であり、ＩＤは種類を特定する情報である。図から明らかなように、このスロットＮｏは、安全系，非安全系を問わず、全てのユニット１ａから１ｆに付与される。この構成管理情報は、ツール５から各ユニット１ａ〜１ｆに対して諸事項を設定するときなどに利用されるものである。
【００３９】
さらに、ツールインタフェース１７を有しており、このツールインタフェース１７にツール５を接続することにより、ユーザプログラムのダウンロード等をしたり、情報を収集したり、ＰＬＣ１に対して設定をすることができる。また、ツールインタフェース１７と内部バスでつながるＭＰＵ１２は、インタフェース１８を介してＣＰＵバス１０に連携されていて、ツール５と各ユニット１ｂ〜１ｆとが信号送受信できるようになっている。例えば、ツール５側でスロットＮｏ（ユニット番号に相当）により設定対象のユニットを特定し、ツール５側でその特定したユニットの設定情報を入力し、特定したユニットへ設定情報をダウンロードする。このダウンロードは、ツール５，ツールインタフェース１７，ＭＰＵ１２，インタフェース１８，ＣＰＵバス１０の経路を経て各ユニットへ至る。
【００４０】
非安全ユニット１ｂ，１ｃは、非安全機能の実行をするもので、ＭＰＵ１２がインタフェース１８を介してＣＰＵバス１０に接続され、ＣＰＵユニット１ａ等との間でデータの送受を行う。ＭＰＵ１２は、システムＲＯＭ１３，システムＲＡＭ１４にアクセスし、各ユニットの機能を実現するための所定の処理を実行する。
【００４１】
本形態では、非安全ユニット１ｂは、Ｉ／Ｏインタフェース１９を備えた非安全系のＩ／Ｏユニットであり、このＩ／Ｏインタフェースに直接所定のＩ／Ｏ機器を接続する。また、非安全ユニット１ｃは通信インタフェース２０を備えた非安全系の通信ユニットである。従って、この非安全ユニット１ｃ（通信ユニット）の通信インタフェース２０がネットワーク３に接続され、その非安全系ネットワーク３に接続された機器２とともに、非安全系のネットワークシステムを構築する。
【００４２】
なお、この非安全系のネットワークシステムは、従来から一般に用いられているＰＬＣによるネットワークシステムであり、「非安全系」と称しているもののその内容は従来公知のものである。また、既設の設備の場合もある。
【００４３】
一方、安全ユニット１ｄから１ｆは、安全機能の実行をするもので、安全用専用バス１１に接続される。この安全用専用バス１１は、安全ユニット１ｄから１ｆのみが接続され、安全機能を実現するのに適していて、従来のＣＰＵバス１０とは独立して設けられている。更に、この安全ユニット１ｄから１ｆは、ＣＰＵバス１０にも接続されており、このＣＰＵバス１０を介して非安全ユニットとの間で必要なデータの送受をできるようにしている。そして、図示のように各安全ユニット１ｄから１ｆにも、各機能を実行するために、ＭＰＵ１２と、その実行するためのプログラムを格納したシステムＲＯＭ１３並びに演算実行時に使用するシステムＲＡＭ１４を備えている。各ＭＰＵ１２は、インタフェース１８を介してＣＰＵバス１０に接続されるとともに、安全用インタフェース２４を介して安全用専用バス１１に接続される。
【００４４】
更に、複数の安全ユニット１ｄから１ｆの中の１つは、安全用専用バス１１のマスタとなり（図の例では符号１ｄ）、安全系構成管理情報記憶部２５に、安全ユニット１ｄから１ｆの構成管理情報を格納する。安全系構成管理情報記憶部２５のデータ構造としては、例えば図４に示すようになっている。
【００４５】
この図４と図３を比較すると明らかなように、格納する情報の種類は同じ（スロットＮｏ，ＩＤ，製品型式，シリアルＮｏ）であるが、図３の構成管理情報記憶部１６に格納するのは全てのユニットについての構成管理情報であったが、図４に示す安全系構成管理情報は、安全系を構成する安全ユニット１ｄから１ｆについてのみとしている点で相違する。そして、スロットＮｏ．（安全スロットＮｏ．）も新たに振り直す。つまり、安全ユニット１ｄは、スロットＮｏ．は「４」となり安全スロットＮｏは「１」となる。同様に、安全ユニット１ｅ，１ｆは、それぞれスロットＮｏ．は「５」，「６」となり安全スロットＮｏは「２」，「３」となる。
【００４６】
更にまた、安全ユニット１ｄには、ツールインタフェース１７と通信インタフェース２０を備えており、これらのインタフェースを介してツール５や安全ネットワーク７に接続できるようになっている。また、この安全ネットワーク７に接続される安全機器６との間でシリアル通信をすることで、各安全機器６のＩ／Ｏ情報を取り込んでＩ／Ｏ情報記憶部２２に記憶保持する。このＩ／Ｏ情報記憶部２２のデータ構造としては、図５に示すようになる。つまり、安全ユニット１ｄがリモートＩ／Ｏの通信マスタユニット相当になって、安全機器６が通信スレーブ相当として動作することで、安全ネットワークを介して離れた場所にある機器（スイッチやセンサなどの入力機器、アクチュエータなどの出力機器）とやりとりができる。なお、安全機器６自体が、一つ一つの入力機器や出力機器になっていて、それぞれの機器がネットワーク７に直接出力するインターフェース手段を持っていても良い。また、一つの安全機器６が、複数の入力または出力機器を接続するもので、いわゆるスレーブユニットやターミナルユニットであってもよい。この場合には複数の機器のＩ／Ｏ情報をパラレル／シリアル相互変換してネットワークに信号送信または受信する。
【００４７】
さらに、安全ユニット１ｄには、ユーザインタフェース２１を設けている。このユーザインタフェース２１は、各種スイッチからなり、各種の設定を行うようになっている。一例を示すと、マスタユニットであるか否かの設定をすることに用いる。なお、安全ユニット１ｄは、安全系のマスタであるとともに、通信ユニットも構成しているが、それらの機能を分けて別々のユニットとして構成してももちろん良い。
【００４８】
安全ユニット１ｅ並びに安全ユニット１ｆも、ＣＰＵバス１０並びに安全用専用バス１１を有し、ＭＰＵ１２は、インタフェース１８並びに安全用インタフェース２４を介して各バス１０，１１に接続される。さらに、安全ユニット１ｅは、Ｉ／Ｏユニットを構成する。すなわち、Ｉ／Ｏインタフェース１９を備え、このＩ／Ｏインタフェース１９に接続されたＩ／Ｏ安全機器の安全情報を取得し、Ｉ／Ｏ情報記憶部２３に格納する。Ｉ／Ｏ情報記憶部２３におけるデータ構造の一例を示すと、図６に示すようになっている。また、これら安全機器とのデータの送受や、Ｉ／Ｏ情報記憶部２３への格納その他の処理は、システムＲＯＭ１３，システムＲＡＭ１４にアクセスしながらＭＰＵ１２が行う。
【００４９】
次に、非安全系のマスタとなるＣＰＵユニット１ａに設けられたＭＰＵ１２の機能について説明する。まず、電源が投入されると（ＳＴ１）、構成管理情報と実際のユニットをチェックし、一致しているか否かを判断する（ＳＴ２）。つまり、ＣＰＵバス１０に接続された各ユニット（安全系，非安全系）が、正しく接続されているか否か等を判断する。そして、一致していない場合には、構成異常となり、動作を停止する（ＳＴ３，ＳＴ４）。
【００５０】
一方、構成チェックでＯＫとなると運転開始命令を待ち（ＳＴ５）、開始命令を受けると通常のサイクリック制御動作に移行する。つまり、まずＣＰＵバスのリフレッシュ処理を実行する（ＳＴ６）。これはＩ／Ｏリフレッシュと呼ばれるもので、ＣＰＵユニット１ａのシステムＲＡＭ１４と他のユニット１ｂ，１ｃ（必要に応じて１ｄ〜１ｆ）のシステムＲＡＭ１４とに格納されているＩ／Ｏデータを書き換えして、最新のＩ／Ｏデータに更新する処理である。そして、このＩ／Ｏリフレッシュ処理で得た最新の入力データに基づいてユーザプログラムを実行する（ＳＴ７）。その実行結果は最新出力データとしてシステムＲＡＭ１４に書き込みされる。この実行結果は、次回のＩ／Ｏリフレッシュ処理時に他のユニットへ出力データとして送られる。そして、ＣＰＵユニット１ａのツールインタフェースからの処理要求の有無を判断し（ＳＴ８）、要求がない場合には、リフレッシュ処理とユーザプログラムの実行を繰り返し行う。そして、ＣＰＵユニット１ａに接続されたツール５から処理要求があった場合（ＳＴ８でＹｅｓ）には、ツール処理を実行する。この処理は前述の周辺処理のことである。この周辺処理を終えるか、所定時間だけ周辺処理を行った後、ステップ６に戻る。その後は通常のサイクリック実行処理を繰り返し行われる。周辺処理として例えば、Ｉ／Ｏ情報のモニタ（読み出し）や、Ｉ／Ｏ情報の書き換えを行う処理ができる。Ｉ／Ｏ情報の読み出しについては非安全系でも安全系でも良いが、書き込みについては安全系に対してできないようにしている。他にユーザプログラムの取り出しや、構成管理情報の読み出しや更新をできるようにしても良い。なお周辺処理については後述もしている。
【００５１】
この非安全系のＰＬＣ処理をＣＰＵユニット１ａで行う際に、必要に応じて安全系のＩ／Ｏ情報を利用してもよい。その場合には、どの安全ユニットにつながれたどの安全機器のＩ／Ｏ情報を利用するかを、構成管理情報をもとにＩ／Ｏ割付をする。Ｉ／Ｏ割付けは、システムＲＡＭ１４の中のＩ／Ｏ情報エリアと先の安全機器との対応付けをすることである。この割付けをしておくことでＣＰＵユニット１ａのＭＰＵ１２がＣＰＵバス１０を経由して、特定の安全ユニットの安全機器のＩ／Ｏ情報を獲得する。具体的なやりかたとしては、安全ユニット１ｄ（ＣＰＵユニット相当）に備えられたシステムＲＡＭ１４に格納された各安全ユニットのＩ／Ｏ情報またはネットワーク上の機器のＩ／Ｏ情報記憶部２３に格納されたデータを、ＣＰＵユニット１ａのＭＰＵ１２の処理により、ＣＰＵバス１０を経由して獲得する方法がある。それに限らず、安全ユニット１ｅ、１ｆからＩ／Ｏ情報を獲得してもよい。
【００５２】
次に、安全ユニット１ｄから１ｆのＭＰＵ１２の機能について説明する。図８に示すように、電源が投入されると（ＳＴ１１）、安全系マスタであるか否かを判断する（ＳＴ１２）。この判断は、ユーザインタフェース２１の設定に基づき行う。なお、安全系マスタか否かの設定がユーザインタフェース２１を用いるのではなく、例えば、安全系マスタを安全ユニットＮｏ．が「１」に設定するようにすると、ステップ１２の分岐判断は、安全系ユニットＮｏ．をチェックすることにより行うことになる。
【００５３】
安全系マスタの場合には、ステップ１２でＹｅｓとなりステップ１３に進み、安全バスマスタと認識し、安全系構成管理情報と実際のユニット構成をチェックし、一致しているか否かを判断する（ＳＴ１４）。つまり、安全用専用バス１１に接続された各安全ユニット１ｄから１ｆが、正しく接続されているか否か等を判断する。そして、一致していない場合には、構成異常となり、動作を停止する（ＳＴ２３，ＳＴ２４）。
【００５４】
一方、安全系のバス構成がＯＫとなると、通常のサイクリック制御動作に移行する。つまり、安全用専用バス１１のリフレッシュ処理を実行する（ＳＴ１５）。この実行は、安全マスタ１ｄのシステムＲＡＭ１４と他ユニット１ｅ、１ｆのシステムＲＡＭ１４とで双方格納されているＩ／Ｏデータを交換して、最新のＩ／Ｏデータに更新する処理である。この処理によって安全マスタ１ｄにとっては、他ユニット１ｅ、１ｆからの入力情報を取り込んで入力情報を最新のものに更新することと、出力情報を他ユニットに渡して他ユニット側の出力情報を最新のものに更新することになる。次に、このＩ／Ｏリフレッシュ処理で得た最新の入力データに基づいて、安全機能処理を実行する（ＳＴ１６）。この安全機能処理とは、安全マスタ１ｄにおけるユーザプログラム実行のことであり、入力情報に伴って予め決まった論理演算を処理し、その演算結果を安全機器を動作させるための出力情報として得る処理をいう。その後、ＣＰＵバス１０を介して或いは安全ユニット１ｄのツールインタフェースからツール５の処理要求の有無を判断する（ＳＴ１７）。そして、要求がない場合には、ステップ１５のリフレッシュ処理に戻り、通常のサイクリック処理を繰り返し行うことになる。一方、ＣＰＵユニット１ａ或いは安全ユニット１ｄに接続されツール５から処理要求があった場合（ＳＴ１７でＹｅｓ）には、周辺処理としてのツール処理を実行後、ステップ１５に戻り通常のサイクリック処理を行う。なお、ツール処理として例えば、安全機器また安全装置全体の状態モニタを行うことがある。もちろんツールを介して安全マスタ１ｄのシステムＲＡＭ１４中のＩ／Ｏ情報を書き換えることをできるようにしても良いが、その場合にはパスワード管理をする必要がある。またＣＰＵバス１０を介して行うツール処理はモニタなどに限定され、安全機器情報や安全装置に関わる制御情報を書き換えることはできないようにするのが好ましい。その理由は、安全機能処理をするうえで非安全経路から情報を取り込んで、その取り込んだ情報を安全用途に使ってしまうと安全機能が確保できなくなるからである。
【００５５】
安全系のデータやりとりについて説明する。安全用専用バス１１を介して各ユニット１ｄ〜１ｆ同士でデータ送受信が行われるわけだが、そのときの安全機能として、データ送信の２重化を行っている。例えば、送信側の安全ユニットは安全用専用バス１１に２回同一データを送信し、受信側の安全ユニットにて受信した２つのデータが一致をしたことを条件にしてデータを取り込みを有効化するとよい。他の方法としては、送信側安全ユニットが、一つのフレーム中に実データ情報とそれを加工した信号（例えばデジタル的に反転させた信号）とを含めて安全用専用バス１１に流し、受信側安全ユニットで受けたフレームの中から実データ部分と、加工信号を復元した信号（例では再びデジタル反転して、反転前の状態に戻した信号）との一致を確認して、一致を条件にして受信データを有効とみなすようにしてもよい。
【００５６】
一方、自己が安全系マスタでない場合（ステップ１２でＮｏ）には、安全バススレーブと認識し（ＳＴ１９）、安全バスインタフェース処理要求の有無を判断する（ＳＴ２０）。そして、要求があった場合には安全バスリフレッシュ処理を行い、所定のデータを安全系のマスタに応答した後、安全機能処理を実行する（ＳＴ２２）。また、要求がない場合には、そのまま安全機能処理を実行する。
【００５７】
次に、ツール処理、つまり、異なるユニットに格納されたデータの呼び出し（取得）処理について説明する。まず、図９は、ＣＰＵユニット１ａに接続したツール５から安全ユニットが保有する情報を読み出す場合の処理手順を示している。ここで読み出す情報としては、安全系のマスタである安全ユニット１ｄからは、安全系構成管理情報記憶部２５，Ｉ／Ｏ情報記憶部２２に格納された安全系構成管理情報並びにネットワーク上機器Ｉ／Ｏ情報であり、安全系のＩ／Ｏユニットである安全ユニット１ｅからは、Ｉ／Ｏ情報記憶部２３に格納されたＩ／Ｏ情報である。
【００５８】
まず、ツール５が読み出し要求をする（ＳＴ３０）。ＣＰＵユニット１ａのＭＰＵ１２は、係るツール５からの要求を待ち（ＳＴ３１）、ツールインタフェース１７を介して要求を受け付けると、その要求の内容を解析し、読み出すデータを保有する安全ユニットに対して読み出し要求をする（ＳＴ３２）。この読み出し要求はＣＰＵバス１０を介して行われる。
【００５９】
一方、安全ユニットのＭＰＵ１２も、ＣＰＵバス１０を介して送られてくる要求を待ち（ＳＴ３３）、要求を受け付けると、内部バスを介して自己が管理・保有する情報（データＢ＆Ｃ，データＤ）を読み出し、読み出した情報（データＢ＆Ｃ，データＤ）をＣＰＵバス１０を介してＣＰＵユニット１ａのＭＰＵ１２に向けて送信する（ＳＴ３４）。
【００６０】
ＣＰＵユニット１ａのＭＰＵ１２は、要求を出した安全ユニットからの応答を受信すると、その受け取ったデータ（Ｂ＆Ｃ，Ｄ）を、内部バス→ツールインタフェース１７を介してツール５に送る（ＳＴ３５）。これにより、ツール５は、データ（Ｂ＆Ｃ，Ｄ）を受信することができるので（ＳＴ３６）、受信したデータをツール５のモニタに表示する（ＳＴ３７）。
【００６１】
これにより、非安全系であるＣＰＵユニット１ａ側から、安全系の安全ユニットが保有するデータを収集することができる。なお、具体的な図示は省略するが、従来と同様にＣＰＵユニット１ａに接続されたツール５は、ＣＰＵユニット１ａが保有するデータをモニタリングできるのはいうまでもない。
【００６２】
次に、安全系のマスタである安全ユニット１ｄに接続したツール５から、非安全系のＣＰＵユニット１ａが保有する情報（構成管理情報記憶部１６に格納された管理構成情報：データＡ）を読み出す場合の処理手順を説明する。図１０に示すように、ツール５が読み出し要求をする（ＳＴ４０）。安全ユニット１ｄのＭＰＵ１２は、係るツール５からの要求を待ち（ＳＴ４１）、ツールインタフェース１７を介して要求（読み出すデータを特定する）を受け付けると、その要求の内容を解析し、ＣＰＵユニット１ａに対して読み出し要求をする（ＳＴ４２）。この読み出し要求はＣＰＵバス１０を介して行われる。
【００６３】
一方、ＣＰＵユニット１ａのＭＰＵ１２も、ＣＰＵバス１０を介して送られてくる要求を待ち（ＳＴ４３）、要求を受け付けると、その要求内容を解析し、自己が保有する構成管理情報（データＡ）についての読み出し要求と判断すると、内部バスを介して自己が管理・保有する情報（データＡ）を読み出し、読み出した情報（構成管理情報）をＣＰＵバス１０を介して安全ユニット１ｄのＭＰＵ１２に向けて送信する（ＳＴ４４）。
【００６４】
安全ユニット１ｄのＭＰＵ１２は、要求を出したＣＰＵユニット１ａからの応答を受信すると、その受け取ったデータを、内部バス→ツールインタフェース１７を介してツール５に送る（ＳＴ４５）。これにより、ツール５は、情報（データＡ）を受信することができるので（ＳＴ４６）、受信したデータをツール５のモニタに表示する（ＳＴ４７）。
【００６５】
これにより、安全系である安全ユニット１ｄ側から、非安全系のＣＰＵユニットが保有するデータを収集することができる。なお、具体的な図示は省略するが、従来と同様に安全ユニット１ｄに接続されたツール５は、安全ユニット１ｄが保有するデータＢ＆Ｃをモニタリングできるのはいうまでもない。
【００６６】
さらに、安全ユニット１ｄに接続したツールから、同じ安全系の他の安全ユニットが保有するデータを読み出す場合の手順を説明する。図１１，図１２に示すように、まず、ツール５が読み出し要求をする（ＳＴ５０）。安全ユニット１ｄのＭＰＵ１２は、係るツール５からの要求を待ち（ＳＴ５１）、ツールインタフェース１７を介して要求を受け付けると、ＣＰＵユニット１ａに対して読み出し要求をする（ＳＴ５２）。この読み出し要求はＣＰＵバス１０を介して行われる。
【００６７】
一方、ＣＰＵユニット１ａのＭＰＵ１２も、ＣＰＵバス１０を介して送られてくる要求を待ち（ＳＴ５３）、要求を受け付けると、その要求内容を解析し、ユニットＮｏ．５の安全ユニット１ｅが保有するＩ／Ｏ情報（データＤ）についての読み出し要求と判断すると、ＣＰＵバス１０を介して安全ユニット１ｅに対してデータＤの読み出し要求をする（ＳＴ５４）。
【００６８】
安全ユニット１ｅのＭＰＵ１２は、上記したＣＰＵユニット１ａに接続されたツールからの読み出しと同様に、ＣＰＵバス１０を介して送られてくる要求を待ち（ＳＴ５５）、要求を受け付けると、内部バスを介して自己が管理・保有する情報（データＤ）を読み出し、読み出した情報（データＤ）をＣＰＵバス１０を介してＣＰＵユニット１ａのＭＰＵ１２に向けて送信する（ＳＴ５６）。なお、安全ユニット１ｅのＭＰＵ１２にとっては、要求もとのツールがどこかは関係がなく、ＣＰＵユニット１ａからの要求を受け、必要なデータを返す処理を行うだけである。
【００６９】
そして、ＣＰＵユニット１ａのＭＰＵ１２は、ＣＰＵバス１０を介して受信したデータＤをＣＰＵバス１０を介して基の読み出し要求を発した安全ユニット１ｄのＭＰＵ１２に向けて送信する（ＳＴ５８）。
【００７０】
安全ユニット１ｄのＭＰＵ１２は、ＣＰＵユニット１ａからの応答を受信すると、その受け取ったデータを、内部バス→ツールインタフェース１７を介してツール５に送る（ＳＴ５９）。これにより、ツール５は、情報（データＤ）を受信することができるので（ＳＴ６０）、受信したデータをツール５のモニタに表示する（ＳＴ６１）。
【００７１】
もちろん、安全ユニット１ｄのＭＰＵ１２は、直接安全用専用バス１１を介して安全ユニット１ｅからデータＤを取得することもできる。但し、上記した処理手順によれば、ユニット間でのデータの送受をＣＰＵバス１０を介して行うことができ、安全用専用バス１１は、安全処理機能のための情報の送受に専有化できるので好ましい。
【００７２】
上記した構成をとることにより、安全ユニット１ｄから１ｆを従来のＰＬＣの高機能として管理できる。また、従来の非安全系のＰＬＣと一体化できるので、例えば電源ユニットなど共通化できるものは１つで済むため、省スペース化を図ることができる。さらに、既に非安全系のＰＬＣを使用している環境に安全システムを容易に増設できる。
【００７３】
また、非安全ユニット１ａから１ｃと、安全ユニット１ｄから１ｆを連結し、バス接続を図ることにより、電気的，機械的に接続され一体化されるので、省配線となる。しかも、安全用の専用バスを持たせることにより、安全系、非安全系の処理が最適（高速）になるばかりでなく、安全用の専用バスを持たせることにより、安全系の信頼性が確保できる。よって、比較的安価に安全システムを構築することができる。
【００７４】
さらに、安全ユニット１ｄから１ｆの全てにＰＬＣのＣＰＵ（ＣＰＵユニット１ａのＭＰＵ１２）が制御できるＣＰＵバス１０を設けたため、ＣＰＵユニット１ａのＭＰＵ１２は、そのＣＰＵバスを経由して安全ユニット，非安全ユニットを問わず、全てのユニットのデータ読み出しが可能となる。また、安全ユニットは、ＣＰＵユニット経由で非安全ユニットのデータを読み出すことができる。
【図面の簡単な説明】
【００７５】
【図１】本発明に係る安全ネットワークシステムの好適な一実施の形態を示す図である。
【図２】本発明に係るコントローラ（ＰＬＣ）の好適な一実施の形態の要部を示す図である。
【図３】構成管理情報記憶部１６のデータ構造の一例を示す図である。
【図４】安全系構成管理情報記憶部２５のデータ構造の一例を示す図である。
【図５】／Ｏ情報記憶部２２のデータ構造の一例を示す図である。
【図６】Ｉ／Ｏ情報記憶部２３のデータ構造の一例を示す図である。
【図７】ＣＰＵユニット１ａのＭＰＵの機能を説明するフローチャートである。
【図８】、安全系のマスタである安全ユニット１ｄのＭＰＵの機能を説明するフローチャートである。
【図９】ＣＰＵユニットのＭＰＵが、安全ユニットが保有する情報を収集する、作用を説明するフローチャートである。
【図１０】安全ユニットのＭＰＵが、ＣＰＵユニットが保有する情報を収集する作用を説明するフローチャートである。
【図１１】安全系のマスタである安全マスタユニットのＭＰＵが、他の安全ユニットが保有する情報を収集する作用を説明するフローチャートの一部である。
【図１２】安全系のマスタである安全マスタユニットのＭＰＵが、他の安全ユニットが保有する情報を収集する作用を説明するフローチャートの一部である。
【符号の説明】
【００７６】
１ａ  ＣＰＵユニット
１ｂ，１ｃ  ユニット（非安全ユニット）
１ｄ，１ｅ，１ｆ  ユニット（安全ユニット）
１０  ＣＰＵバス
１１  安全用専用バス
【図１】
2007242036.tif 000003
【図２】
2007242036.tif 000004
【図３】
2007242036.tif 000005
【図４】
2007242036.tif 000006
【図５】
2007242036.tif 000007
【図６】
2007242036.tif 000008
【図７】
2007242036.tif 000009
【図８】
2007242036.tif 000010
【図９】
2007242036.tif 000011
【図１０】
2007242036.tif 000012
【図１１】
2007242036.tif 000013
【図１２】
2007242036.tif 000014
【手続補正書】
【提出日】平成19年5月7日(2007.5.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ＣＰＵユニットを含む複数のユニットをＣＰＵバスにより連結して構成される非安全コントローラと、安全機能を有するＣＰＵユニットを含む複数の安全ユニットを連結して構成される安全コントローラと、を有し、前記非安全コントローラのＣＰＵバスを前記安全コントローラまで延長して連結したコントローラシステムにおいて、
前記非安全コントローラのＣＰＵユニットにツールインタフェースを備えて、ツールを接続し、
接続されたツールからの要求に従い、ＣＰＵユニットの処理により前記ＣＰＵバスを介して前記安全コントローラに保有された情報を取得し、
取得した情報を非安全コントローラのＣＰＵユニットのツールインタフェースを介して外部のツールへ送信することを特徴とするコントローラシステムのモニタ方法。
【請求項２】
ＣＰＵユニットを含む複数のユニットをＣＰＵバスにより連結して構成される非安全コントローラと、安全機能を有するＣＰＵユニットを含む複数の安全ユニットを連結して構成される安全コントローラと、を有し、前記非安全コントローラのＣＰＵバスを前記安全コントローラまで延長して連結したコントローラシステムにおいて、
前記非安全コントローラのＣＰＵユニットにツールインタフェースを備えて、ツールを接続し、
接続されたツールからの命令に従い、ＣＰＵユニットの処理により前記ＣＰＵバスを介して前記安全コントローラに対して所定の設定をすることを特徴とするコントローラシステムの設定方法。
【請求項３】
ＣＰＵユニットを含む複数のユニットをＣＰＵバスにより連結して構成される非安全コントローラと、安全機能を有するＣＰＵユニットを含む複数の安全ユニットを連結して構成される安全コントローラと、を有し、前記非安全コントローラのＣＰＵバスを前記安全コントローラまで延長して連結したコントローラシステムにおいて、
前記安全コントローラのＣＰＵユニットにツールインタフェースを備えて、ツールを接続し、
接続されたツールからの要求に従い、安全コントローラのＣＰＵユニットの処理により前記ＣＰＵバスを介して、少なくとも前記非安全コントローラに保有された情報を取得し、
取得した情報を安全コントローラのＣＰＵユニットのツールインタフェースを介して外部のツールへ送信することを特徴とするコントローラシステムのモニタ方法。
【請求項４】
ＣＰＵユニットを含む複数のユニットをＣＰＵバスにより連結して構成される非安全コントローラと、安全機能を有するＣＰＵユニットを含む複数の安全ユニットを連結して構成される安全コントローラと、を有し、前記非安全コントローラのＣＰＵバスを前記安全コントローラまで延長して連結したコントローラシステムにおいて、
前記安全コントローラのＣＰＵユニットにツールインタフェースを備えて、ツールを接続し、
接続されたツールからの命令に従い、安全コントローラのＣＰＵユニットの処理により、前記ＣＰＵバスを介して、少なくとも前記非安全コントローラに対して所定の設定をすることを特徴とするコントローラシステムの設定方法。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
この発明は、コントローラシステムの設定方法並びにコントローラシステムのモニタ方法に関するものである。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
この発明は、安全系と非安全系が混在したコントローラシステムに対し、非安全系と安全系とで共通のツールにより、制御情報やコントローラの状態をモニタしたり、非安全コントローラと安全コントローラとの両方の設定を共通のツールで行うことができるコントローラシステムの設定方法並びにコントローラシステムのモニタ方法を提供することを目的とする。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
本発明が適用されるコントローラシステムを構成する安全ユニットの一例としては、ＣＰＵユニットを含む複数の非安全ユニットを連結して構成される非安全コントローラに接続可能で、安全機能処理を実行するものである。そして、前記ＣＰＵユニットに連係するためのＣＰＵバスと、他の安全ユニットに連係するための安全用専用バスを備えている。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】変更
【補正の内容】
【００１２】
また、別の例としては、ＣＰＵユニットを含む複数の非安全ユニットを連結して構成される非安全コントローラに接続可能な安全ユニットであって、前記ＣＰＵユニットに連係するためのＣＰＵバスと、安全機能処理を実行する処理部とを備え、前記ＣＰＵバスを介して前記ＣＰＵユニットとの間でデータの送受を行うように構成することもできる。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００２５
【補正方法】変更
【補正の内容】
【００２５】
ここで、本発明に係るコントローラシステムのモニタ方法は、非安全コントローラと安全コントローラとを連結したコントローラシステムにて、非安全コントローラのＣＰＵユニットにツールを接続し、非安全コントローラのＣＰＵユニットがそのツールから要求を受けることで、そのＣＰＵユニットが要求に応じた処理をすることで、安全コントローラに保有された情報を取得し、取得情報を外部ツールへ送信するようにしている。もちろん、非安全系の制御情報も同様に外部ツールへ送信することができる。その後、ツール側で送信情報を受取り、付属のモニタ画面で情報を表示したり、送信情報をロギング記録したりする。こうすることで、非安全系と安全系とで共通のツールにより、制御情報やコントローラの状態をモニタをすることができる。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００２９
【補正方法】変更
【補正の内容】
【００２９】
以上のように、この発明では、非安全系と安全系とで共通のツールにより、制御情報やコントローラの状態をモニタしたり、非安全コントローラと安全コントローラとの両方の設定を共通のツールで行うことができる。