説明

プログラマブルコントローラステーション

【課題】 電源、CPU等に故障が発生しても停止することなく稼動できるプログラマブルコントローラを有するシステムを提供すること。
【解決手段】 異なるベース上でケーブル接続された制御系CPUと待機系CPUと、制御系CPUと同一ベース上に配置された第1通信モジュールと、待機系CPUと同一ベース上に配置された第2通信モジュールとから成る一対のプログラマブルコントローラを一ステーションとした複数のステーションがリング状に接続された二重化ネットワークシステムであって、ステーション内ではCPUの演算結果などの制御情報を制御系CPUと待機系CPUとで定期的にやり取りするデータ授受機能を有し、CPUは同一ベース上に配置された通信モジュールとのデータ授受機能を有して、通信モジュールはネットワーク接続された通信相手の状態に関するデータ取得機能を有するプログラマブルコントローラを用いた二重化ネットワークシステムとする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラマブルコントローラに関する。
【背景技術】
【0002】
本技術分野の背景技術として、特開2005−94505(特許文献1)がある。この公報には、「[課題] ネットワークシステムの種類に依存しないネットワークシステム二重化を実現するプログラマブルコントローラを提供すること
[解決手段] CPUユニット12と、別系統の伝送路30,31に接続される第1通信ユニット13,第2通信ユニット14を備え、第1,第2通信ユニットは、それぞれ第1,第2伝送路30,31に接続されたノードの加入状態を収集する。CPUユニットは、メッセージ送信をするに際し、まず第1通信ユニットに依頼する。第1通信ユニットは、メッセージの送信依頼を受けると、第1伝送路に接続されるネットワークの加入状態に基づき送信先のノードに対して送信可能か否かを判断し、送信可能であればそのまま送信し、送信不可であれば、第2通信ユニットで送信すべくCPUユニットに依頼する。CPUユニットは、その依頼に基づき第2通信ユニットに送信依頼をし、第2通信ユニットは第2伝送路のノード加入状態から送信可能な場合に当該メッセージを送信する。」と記載されている(要約参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2005−94505号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
前記特許文献1には、ネットワークを二重化したPLCの構成が記載されている。しかし、特許文献1の構成では通信モジュールの故障やケーブルの断線といった通信路の異常が発生した場合においては通信を継続させることが可能となるが、その他の構成要素、特に電源モジュール、CPUモジュール、ベースが故障した際には通信を継続させることはできない。
設備の安全性を確保するためには、システム全体の安全性、信頼性をいかに向上させるかが課題となっている。
【課題を解決するための手段】
【0005】
上記課題を解決するために、例えば特許請求の範囲に記載の構成を採用する。
本願は上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、それぞれ異なるベース上にあってケーブル接続された制御系CPUと待機系CPUと、制御系CPUと同一ベース上に配置された第1通信モジュールと、待機系CPUと同一ベース上に配置された第2通信モジュールとから成る一対のプログラマブルコントローラを一ステーションとした複数のステーションがリング状に接続された二重化ネットワークシステムであって、ステーション内ではCPUの演算結果などといった制御情報を制御系CPUと待機系CPUとで定期的にやり取りするデータ授受機能を有し、また、CPUは同一ベース上に配置された通信モジュールとのデータ授受機能を有して、さらに、通信モジュールはネットワーク接続された通信相手の状態に関するデータ取得機能を有するプログラマブルコントローラを用いた二重化ネットワークシステムを特徴とする。
【0006】
また、本発明を更に異なる表現にて、以下に説明する。
【0007】
メモリを含む記憶部とプログラムの演算を行う演算部とを有する第1のCPUモジュールと、前記第1のCPUモジュールから入出力される出力信号、または入力信号を通信手段を介して通信する第1の通信モジュールと、少なくとも前記第1のCPUモジュール、前記第1の通信モジュールに電源を供給する第1の電源モジュールとを有し、前記第1のCPUモジュール、前記第1の通信モジュールに前記第1の電源モジュールからの電力を供給する電源接続部、及び前記第1のCPUモジュール、前記第1の通信モジュール、前記第1の電源モジュールを支持、固定する筐体を有する第1のベースを備えた構成を第1のプログラマブルコントローラとし、前記第1のCPUモジュールと前記第2のCPUモジュールとを接続線で接続し、第2のCPUモジュールと、第2の通信モジュールと、第2の電源モジュール、第2のベースとを備えた構成を第2のプログラマブルコントローラとし、前記第1のプログラマブルコントローラと前記第2のプログラマブルコントローラとを一対として動作させるプログラマブルコントローラステーションにおいて、前記第1の通信モジュールが第1の通信手段に接続され、前記第2の通信モジュールが第2の通信手段に接続され、前記第1のプログラマブルコントローラの前記第1のCPUモジュールが正常動作している場合には、前記プログラマブルコントローラステーションに接続された機器に対して、前記第1のCPUモジュールからの入力信号、出力信号を入力、または出力処理し、前記第1のCPUモジュールが正常動作しなくなった場合には、前記第2のプログラマブルコントローラの前記第2のCPUモジュールに切り換えて、前記第2のCPUモジュールからの入力信号、出力信号を入力、または出力処理するようにする。
【0008】
また、前記第1のCPUモジュールは、前記第1のCPUモジュールから前記接続線を介して前記第2のCPUモジュールにデータを転送する第1のデータ転送手段と、前記第1のデータ転送手段によってデータが前記第1のCPUモジュールから前記接続線を介して前記第2のCPUモジュールに転送後に、始動される第1のタイマーとを有し、前記第1のタイマーの始動後に、前記第2のCPUモジュールから前記接続線を介して前記第1のCPUモジュールにデータが転送されると、前記第1のタイマーを停止し、前記第1のタイマーの値が所定の値よりも大きくなった場合に、前記第2のCPUモジュールの動作の異常を検出するようにする。
【0009】
また、前記第2のCPUモジュールは、前記第1のCPUモジュールから前記接続線を介して前記第2のCPUモジュールにデータが転送されると、停止される第2のタイマーと、前記第2のCPUモジュールから前記接続線を介して前記第1のCPUモジュールにデータを転送する第2のデータ転送手段とを有し、前記第2のタイマーの始動後に、前記第1のCPUモジュールから前記接続線を介して前記第2のCPUモジュールにデータが転送されると、前記第2のタイマーを停止し、前記第2のタイマーの値が所定の値よりも大きくなった場合に、前記第1のCPUモジュールの動作の異常を検出するようにする。
【0010】
また、メモリを含む記憶部とプログラムの演算を行う演算部とを有する第1のCPUモジュールと、前記第1のCPUモジュールから入出力される出力信号、または入力信号を通信手段を介して通信する第1の通信モジュールと、少なくとも前記第1のCPUモジュール、前記第1の通信モジュールに電源を供給する第1の電源モジュールとを有し、前記第1のCPUモジュール、前記第1の通信モジュールに前記第1の電源モジュールからの電力を供給する電源接続部、及び前記第1のCPUモジュール、前記第1の通信モジュール、前記第1の電源モジュールを支持、固定する筐体を有する第1のベースを備えた構成を第1のプログラマブルコントローラとし、第2のCPUモジュールと、第2の通信モジュールと、第2の電源モジュール、第2のベースとを備えた構成を第2のプログラマブルコントローラとし、前記第1のCPUモジュールと前記第2のCPUモジュールとを接続線で接続し、前記第1のプログラマブルコントローラと前記第2のプログラマブルコントローラとを一対として動作させるプログラマブルコントローラステーションにおいて、前記第1の通信モジュールが第1の通信手段に接続され、前記第2の通信モジュールが第2の通信手段に接続され、前記第1のプログラマブルコントローラの前記第1の通信モジュールが正常動作している場合には、前記プログラマブルコントローラステーションに接続された機器に対して、前記第1の通信モジュールによって通信し、前記第1の通信モジュールが正常動作しなくなった場合には、前記第1のCPUモジュールと前記第2のCPUモジュールとの間で前記接続線を介して出力信号、または入力信号を通信し、前記第2のプログラマブルコントローラの前記第2の通信モジュールに切り換えて、前記第2のCPUモジュールからの入力信号、出力信号を前記第2の通信モジュールによって通信するようにする。
【0011】
また、前記第1の通信モジュール、前記第2の通信モジュールに他のプログラマブルコントローラステーションの状態を管理する管理テーブルを設け、前記管理テーブルには、
前記第1の通信モジュール、前記第2の通信モジュールからデータを送信する送信先の動作状態を識別する識別情報を記憶し、また、前記第1の通信モジュール、前記第2の通信モジュールへデータを送信する送信元の動作状態を識別する識別情報を記憶するようにする。
【0012】
また、メモリを含む記憶部とプログラムの演算を行う演算部とを有する第1のCPUモジュールと、前記第1のCPUモジュールから入出力される出力信号、または入力信号を通信手段を介して通信する第1の通信モジュールと、少なくとも前記第1のCPUモジュール、前記第1の通信モジュールに電源を供給する第1の電源モジュールとを有し、前記第1のCPUモジュール、前記第1の通信モジュールに前記第1の電源モジュールからの電力を供給する電源接続部、及び前記第1のCPUモジュール、前記第1の通信モジュール、前記第1の電源モジュールを支持、固定する筐体を有する第1のベースを備えた構成を第1のプログラマブルコントローラとし、第2のCPUモジュールと、第2の通信モジュールと、第2の電源モジュール、第2のベースとを備えた構成を第2のプログラマブルコントローラとし、前記第1のCPUモジュールと前記第2のCPUモジュールとを接続線で接続し、前記第1のプログラマブルコントローラと前記第2のプログラマブルコントローラとを一対として動作させるプログラマブルコントローラステーションにおいて、前記第1の通信モジュールが第1の通信手段に接続され、前記第2の通信モジュールが第2の通信手段に接続され、前記第1の通信手段が正常動作している場合には、前記プログラマブルコントローラステーションに接続された機器に対して、前記第1の通信モジュールによって前記第1の通信手段を介して通信し、前記第1の通信手段が正常動作しなくなった場合には、前記第1のCPUモジュールと前記第2のCPUモジュールとの間で前記接続線を介して出力信号、または入力信号を通信し、前記第2のプログラマブルコントローラの前記第2の通信モジュールによって前記第2の通信手段も介して通信するようにする。
【0013】
また、前記第1の通信手段によって前記第1の通信モジュールが送信することが出来ない場合は、前記第1のCPUモジュールと前記第2のCPUモジュールとの間で前記接続線を介して出力信号、または入力信号を通信し、前記第2の通信手段によって前記第2の通信モジュールから送信するようにする。
【0014】
また、前記第1の通信手段によって前記第1の通信モジュールが受信することが出来ない場合は、前記第2の通信手段によって前記第2の通信モジュールから受信し、前記第1のCPUモジュールと前記第2のCPUモジュールとの間で前記接続線を介して出力信号、または入力信号を通信し、前記第1のCPUモジュールが前記第2の通信モジュールから受信した入力信号を得るようにする。
【0015】
また、メモリを含む記憶部とプログラムの演算を行う演算部とを有する第1のCPUモジュールと、前記第1のCPUモジュールから入出力される出力信号、または入力信号を通信手段を介して通信する第1の通信モジュールと、少なくとも前記第1のCPUモジュール、前記第1の通信モジュールに電源を供給する第1の電源モジュールとを有し、前記第1のCPUモジュール、前記第1の通信モジュールに前記第1の電源モジュールからの電力を供給する電源接続部、及び前記第1のCPUモジュール、前記第1の通信モジュール、前記第1の電源モジュールを支持、固定する筐体を有する第1のベースを備えた構成を第1のプログラマブルコントローラとし、前記第1のCPUモジュールと前記第2のCPUモジュールとを接続線で接続し、第2のCPUモジュールと、第2の通信モジュールと、第2の電源モジュール、第2のベースとを備えた構成を第2のプログラマブルコントローラとし、前記第1のプログラマブルコントローラと前記第2のプログラマブルコントローラとを一対として動作させるプログラマブルコントローラステーションを複数備え、
各々のプログラマブルコントローラステーションの前記第1の通信モジュール同士が第1の通信手段にリング状に接続され、各々のプログラマブルコントローラステーションの前記第2の通信モジュール同士が第2の通信手段にリング状に接続して、二重化ネットワークシステムを構成するようにする。
【発明の効果】
【0016】
本発明によれば、通信モジュールおよび通信路に異常が発生した場合だけでなく、電源モジュール、CPUモジュール、ベースに故障が発生した場合においても構成されるシステムは停止することなく稼動し続けることができ、従来よりもより安全性、信頼性の高いプログラマブルコントローラを有するシステムが構築される。
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【0017】
【図1】本発明の実施例におけるプログラマブルコントローラを用いたネットワークシステムの構成例の図である。
【図2】本発明の実施例における制御系CPUと待機系CPUとで行われる通信シーケンス図の例である。
【図3】本発明の実施例における通信モジュールが保持する管理テーブルの例である。
【図4】本発明の実施例においてCPUが実行する通信モジュールの状態読出し処理のフローチャート例である。
【図5】本発明の実施例におけるCPU系切り替え後のネットワーク通信経路の例である。
【図6】本発明の実施例においてすべてのステーションで系切り替えを実行した際のネットワーク通信経路の例である。
【図7】本発明の実施例2における通信モジュールに異常が発生した場合のネットワーク通信経路の例である。
【図8】本発明の実施例3における通信路に異常が発生した場合のネットワーク通信経路の例である。
【図9】図2中の同期シーケンスS1における制御系CPUでの処理のフローチャート例である。
【図10】図2中の同期シーケンスS1における待機系CPUでの処理のフローチャート例である。
【発明を実施するための形態】
【0018】
以下、実施例を図面を用いて説明する。
【実施例1】
【0019】
本実施例では、CPUモジュール(以下、CPU)および電源モジュール(以下、電源)、ベースに異常が発生した場合の例、特にCPU異常を例として説明する。
【0020】
図1は、本実施例におけるプログラマブルコントローラ(以下、PLC)を用いたネットワークシステムの構成図の例である。
PLC1は電源モジュール2とCPUモジュール3と入出力モジュール4と通信モジュール5と上記モジュールを接続したり、上記モジュールを支持、固定するベース6とで構成される。
【0021】
ここで、CPUモジュールは、各種メモリと、シーケンスプログラムなどの演算を行なう演算部であるマイクロプロセッサユニット(MPU)を少なくとも備えたモジュールである。
【0022】
また、通信モジュールは、通信線などの通信手段が接続されて、外部のプログラミングツールと通信を行なう周辺装置インタフェースと、外部からの入力信号の取込みと演算結果の外部への出力を行なう外部バスとのインタフェースを実施する外部バスインタフェースを備えたモジュールである。
【0023】
また、入出力モジュールは、外部機器からの入力信号を前記CPUモジュールに伝える外部入力信号処理部と、前記CPUモジュールでの演算結果などの出力データを保持して外部機器に出力する外部出力信号処理部とを備えたモジュールである。
【0024】
本実施例ではプログラマブルコントローラであるPLCを制御系用、待機系用として、2つ用いるものとする。そして、前記PLCに対応するように、CPUモジュールとして、制御系CPU3aと待機系CPU3bとを用いて、制御系には第1通信モジュール5aを、待機系には第2通信モジュール5bを配置する。
【0025】
制御系CPU3aと待機系CPU3bとはベース6aとベース6bの異なるベース上に配置されるため、制御系CPU3aと待機系CPU3bとを接続する接続線、通信線として、ケーブル7で接続することによって、互いの状態を監視することが可能となる。上記ケーブル7は専用線、LAN、シリアル、USBなどの接続が考えられる。上記制御系CPU3aを含むPLC1aと待機系CPU3bを含むPLC1bの対をステーションと呼ぶ。
【0026】
従って、ステーションには、2つのPLCで構成されるので、各々のPLCは単独であっても動作、処理出来るように、I/O、電源等も備わっている。例えば、I/Oは、図1では、インターフェース4で例示され、電源は、図1では、電源1aで例示されている。
【0027】
ステーションを構成する2台のCPUに対する系の決定方法としては、システム立上げ時に予めユーザからそれぞれのCPUに対して系を指定する方法が考えられる。ユーザからの設定を受けて、各々のCPUは内部ステータスとして制御系あるいは待機系の動作モードを記憶する。その後の処理においては、各々のCPUは自分が記憶している内部ステータスを参照して、制御系あるいは待機系の動作を行う。前記内部ステータスとしては、制御系あるいは待機系を判断、識別可能とするステータス情報、フラグ情報、識別情報、識別子であってよい。
【0028】
なお、図1の構成ではステーション数は3であるが、このステーション数は必要に応じて増減させることも可能である。
【0029】
ステーション間は通信ケーブル8によって各ステーション内の第1通信モジュール同士が接続される第1通信系統と、通信ケーブル9によって各ステーション内の第2通信モジュール同士が接続される第2通信系統との2系統でネットワーク接続される。このとき上記通信ケーブル8および9としては光ケーブルや同軸ケーブル、LANケーブルなどがある。
【0030】
このような特徴を備えた本発明の実施例における制御系CPUと待機系CPUの作動について、図2のシーケンス図を用いて詳細を説明する。
【0031】
図2に示すように、各ステーションにおいて正常稼動時は制御系・待機系ともにCPUは各種演算処理P1、P’1を実行するが、ここではその結果は制御系のものを優先するものとする。したがって入出力処理P2は制御系CPUのみが実行する処理となる。
【0032】
制御系CPUからの演算結果などのデータは同期シーケンスS1のデータ授受の処理によって周期的に制御系から待機系へ転送される。これによって両者CPUの内部処理の同期をとることができ、さらに互いの状態を監視することが可能となる。
【0033】
同期シーケンスS1では待機系CPUは演算処理P’1実行後に通信モジュール状態読出しR’1を行い、生存確認用のタイマT’1を起動し、制御系CPUからのデータ転送D1を受信するとタイマT’1を停止し、制御系CPUに対してデータ転送D’1を実行して演算処理P’1を再開する。
【0034】
上記同期シーケンスS1における待機系CPU内の処理を図10のフローチャートを用いて説明する。
【0035】
まず、同期シーケンス処理を開始(ST200)すると、待機系CPUは演算処理P’1実行後に通信モジュール状態読出しR’1を行い、生存確認用のタイマT’1を始動、起動し、制御系CPUからのデータ転送D1受信待ち(ST210)とする。ここでデータ転送D1を受信すると(ST210−YES)、タイマT’1を停止し、制御系CPUに対してデータ転送D’1を実行後、受信データD1に系の切り替え要求が付加されていた場合(ST260−YES)には、制御系動作を開始する(ST250)。これによって、系切り替え前には制御系CPUにて実行されていた入出力処理P2は待機系CPUにて実行されるようになる。このとき、通信も第1通信モジュールから第2通信モジュールへと移行される。また、ST260にて受信データD1に系の切り替え要求が付加されていなかった場合(ST260−NO)には演算処理P’1を再開する。
【0036】
一方、データ転送D1受信待ち(ST210)において、データ転送D1を受信しなかった場合(ST210−NO)には、タイマT’1がタイムアウトしたかを判定し、タイムアウトしていない場合(ST220−NO)には、再度データ転送D1受信待ち(ST210)とする。
【0037】
一方、タイマT’1がタイムアウトした場合(ST220−YES)には、待機系CPUは制御系CPUに異常が発生したものと判断し、内部ステータスを待機系から制御系に自ら変更する(ST230)。制御系CPUの異常により系の切り替えが実行されるとシステムの二重化が崩れるため、エラー表示などのユーザ報知を行い(ST240)、ユーザにシステムの復旧を促した上で、それまで待機系であったCPUは制御系動作を開始する(ST250)。
【0038】
タイマT’1にタイムアウトが発生する要因としては、制御系CPU自体の異常の他、制御系を構成する電源およびベースに異常が発生した場合が挙げられる。
【0039】
一方、制御系CPUは演算処理P1実行後、入出力処理P2と通信モジュール状態読出しR1を行い、待機系CPUに対してデータ転送D1し、生存確認用タイマT1を起動する。待機系CPUからのデータ転送D’1を受信するとタイマT1を停止し、演算処理P1を再開する。
【0040】
上記同期シーケンスS1における制御系CPU内の処理を図9のフローチャートを用いて説明する。
【0041】
上記の通り同期シーケンス処理を開始(ST100)すると、制御系CPUは演算処理P1実行後に入出力処理P2を行い、通信モジュール状態読出しR1を実行してデータ転送D1を行った後に、生存確認用のタイマT1を起動し、待機系CPUからのデータ転送D’1受信待ち(ST110)とする。
【0042】
ここでデータ転送D’1を受信すると(ST110−YES)、タイマT1を停止した後に、送信データD1に系の切り替え要求を付加した場合(ST140−YES)には、制御系CPUが待機系動作を開始する(ST150)。送信データD1に系の切り替え要求を付加しなかった場合(ST140−NO)には、制御系CPUは演算処理P1を再開する。
【0043】
なお、ST140の判定内容としては、系の切り替え要求が付加されたデータD1を受信した待機系CPUが返信D’1にて系の切り替え要求受付を付加するものとした場合、D’1に系の切り替え要求受付が付加されているか否かを判定する方法も考えられる。
【0044】
一方、データ転送D’1受信待ち(ST110)において、データ転送D’1を受信しなかった場合(ST110−NO)には、タイマT1がタイムアウトしたかを判定し、タイムアウトしていない場合(ST120−NO)には、再度データ転送D’1受信待ち(ST110)とする。
【0045】
一方、タイマT1がタイムアウトした場合(ST120−YES)には、制御系CPUは待機系CPUに異常が発生したものと判断し、エラー表示などのユーザ報知を行い(ST130)、ユーザにシステムの復旧を促した上で演算処理P1を再開する。
【0046】
タイマT1にタイムアウトが発生する要因としては、待機系CPU自体の異常の他、待機系を構成する電源およびベースに異常が発生した場合が挙げられる。
【0047】
ここで、第1通信モジュールから第2通信モジュールへの移行について説明する。
【0048】
各々の通信モジュールは自身が接続するネットワーク内における他の通信モジュールの動作状態、動作状況をステータスとして内部メモリ内に保持しており、このデータは逐次最新の状態に更新されている。前記ステータスを示すステータスデータは、たとえばテーブルで管理する方法などが考えられる。通信モジュールが管理するステータスデータテーブルの例として図3を説明する。
【0049】
自局状態21と自局アドレス22には本テーブルを保持する通信モジュール自体の情報が格納される。自局状態21にはエラーが発生している場合にそのエラー内容が格納される。自局アドレス22にはステーション番号やIPアドレスといったユニークなIDが格納される。
【0050】
受信元局状態23と受信元局アドレス24には本テーブルを保持する通信モジュールに対してデータを送信してくる通信モジュールの情報が格納される。受信元局状態23にはエラー情報が、受信元局アドレス24にはユニークなIDが格納される。
【0051】
送信先局状態25と送信先局26には本テーブルを保持する通信モジュールがデータを送信する相手となる通信モジュールの情報が格納される。送信先局状態25にはエラー情報が、送信先局アドレス26にはユニークなIDが格納される。
【0052】
CPUは通信モジュール状態読出しR1またはR’1にて図3の管理テーブル20を参照することによって同一ベース上に配置された通信モジュールとその通信相手の状態を管理することができ、いずれかに発生した異常を検知することが可能となる。
【0053】
制御系CPUにおける通信モジュール状態の読出し結果によって使用する通信モジュールの変更を実行するための処理を図4のフローチャートで説明する。
【0054】
まず、図3の管理テーブル20を参照することによって、自局状態21にて異常の有無を参照する(ST10)。自局状態21のステータスデータの参照によって、異常があると判断された場合(ST10−YES)には、データ転送D1に系切り替え要求を追加して(ST20)、入出力処理P2の後、系切り替え要求付きのデータ転送D1を送信し、D’1受信待ちとする。
【0055】
一方、自局状態21のステータスデータの参照によって、異常がないと判断された場合(ST10−NO)には、次に受信元局状態23のステータスデータを参照する(ST−30)。ここで異常があった場合(ST30−YES)には、データ転送D1に第2通信モジュールの受信データ要求を追加する(ST40)。
【0056】
ここで、受信元局状態23に異常がないと判断された場合(ST30−NO)には上記ST40の処理は実行しない。次に送信先局状態25を参照し、異常があると判断された場合(ST50−YES)には、データ転送D1に第2通信モジュールから送信するデータを追加する(ST60)。
【0057】
ここでも、送信先局状態25に異常がないと判断された場合(ST50−NO)には、上記ST60の処理は実行しない。
【0058】
以上の処理の後に入出力処理P2を行い、ST30およびST50の判定結果に従って第2通信モジュールの受信データ要求および(または)第2通信モジュールから送信するデータ付きのデータ転送D1を送信し、データ転送D’1受信待ちとする。
【0059】
したがって、自局、受信元局、送信先局のすべてが正常である場合(ST−10かつST30−NOかつST50−NO)には使用する通信モジュールに変更はない。
【0060】
このように自局通信モジュールの接続相手の状態によっても使用する通信モジュールを変更することによって、システム内の特定のPLCにて系の切り替えが実行された後も、システム全体の通信は継続することができる。
【0061】
以上の系の切り替え処理によって変更されるネットワークの通信経路について図5を用いて説明する。
【0062】
図5はステーション100の制御系CPUに異常が発生した場合に、新たに使用されるネットワークの通信経路を示している。ここで通信データはステーション100→ステーション200→ステーション300→ステーション100の順で伝播されるものとする。
【0063】
まず、ステーション100の制御系CPU103aに異常が生じると、演算処理は待機系CPU103bに引き継がれ、ステーション100の第1通信モジュール105aはアクティブでなくなり、第2通信モジュール105bがアクティブとなる。
【0064】
したがってステーション100からステーション200への通信は通信路109にて行われ、ステーション200の第2通信モジュール205bが受信したデータは待機系CPU203bからケーブル207を介して制御系CPU203aへと転送される。
【0065】
次に、ステーション200からステーション300への通信は切り替え前と変わらず、ステーション200の第1通信モジュール205aから通信路208を通ってステーション300の第1通信モジュール305aの間で行われる。
【0066】
最後にステーション300からステーション100への通信は第2通信モジュールを使用するため、ステーション300の第1通信モジュール305aで受信したデータは制御系CPU303aからケーブル307を介して待機系CPU303bへと転送され、通信路309を介して、ステーション300の第2通信モジュール305bからステーション100の第2通信モジュール105bへと伝播される。
【0067】
さらに、ネットワーク経路の変更については、図4ではST30およびST50にて異常があった場合にST40およびST60にて使用する通信モジュールを変更するための処理を実行しているが、これをST20同様に系を切り替える処理にすることによって、図6のようにすべてのステーションでCPUの系を切り替えることも可能である。
また、図5および図6では制御系CPUに異常が発生した場合を例にとっているが、この切り替え動作は上述の通り、電源およびベースに異常が発生した場合においても同様である。
【0068】
なお、図3の管理テーブル20は、前記通信モジュールが保持するものであって良いし、前記制御系CPU、待機系CPUにおいても、保持するものとしても良い。
【実施例2】
【0069】
本実施例では、通信モジュールに異常が発生した場合の例を説明する。
【0070】
本実施例におけるネットワークシステムの構成例は図1と同様であるとし、本実施例における制御系CPUと待機系CPUの作動については図2および図4のフローチャートに従うものとする。
【0071】
実施例1は、CPUモジュールに異常が発生した場合の例であったが、本実施例では、CPUモジュールは正常であるが、通信モジュールが異常である場合である。
【0072】
自局の通信モジュールに異常が発生した場合には、図4のフローチャート中ST10にて、自局異常を検出し(ST10−YES)、データ転送D1に系切り替え要求を追加する(ST20)ことによってCPUの系の切り替えが実行されるため、本動作によって変更されるネットワークの通信経路については、実施例1に示した図5と同様となる。
【0073】
ただし、このとき制御系CPU自体は動作可能であることから、図4のST20にて系の切り替え要求ではなく通信の送受信に第2通信モジュールを使用することを待機系CPUに報知するための処理(ST40およびST60に相当)とすることによって、演算処理は制御系CPUが実行し、通信は第2通信モジュールを介して行うという場合もある。
【0074】
その際のネットワーク経路について図7を用いて説明する。図7はステーション100の第1通信モジュールに異常が発生した場合に、新たに使用されるネットワークの通信経路を示している。ここでも図5同様、通信データはステーション100→ステーション200→ステーション300→ステーション100の順で伝播されるものとする。
【0075】
図7では通信モジュールが使用する通信経路は図5と同様に109、208、309であるが、ステーション100内でのデータの流れが異なる。
【0076】
第2通信モジュール105bが受信したデータはケーブル107を介して待機系CPU103bから制御系CPU103aに転送され、そのデータを用いて制御系CPU103aは演算処理を実行する。さらにその演算結果はケーブル107を介して待機系CPU105bへ転送され、第2通信モジュール105bから通信路109を経由してステーション200へと伝播される。ステーション200からステーション300へは、通信路208を経由してデータが流れ、ステーション300からステーション100へは、通信路309を経由してデータが流れる。
【0077】
さらに、実施例1と同様に、図4のST40およびST60の処理内容を系の切替要求(ST20に相当)に変更することによって、図6のようにすべてのステーションでCPUの系を切り替えることも可能である。
【0078】
以上のように通信モジュールに異常が発生した場合においても通信を継続することが可能となる。
【実施例3】
【0079】
本実施例では、通信経路に異常が発生した場合の例を説明する。
【0080】
本実施例におけるネットワークシステムの構成例は図1と同様であるとし、本実施例における制御系CPUと待機系CPUの作動については、図2および図4のフローチャートに従うこととする。
【0081】
各ステーションの通信モジュールが接続される通信経路に断線のような異常が発生した場合、断線箇所の両端に配置された二つの通信モジュールは互いに接続先がなくなったことを検出し、図3の管理テーブル20にて一方は受信元局状態23が他方は送信先局常態25が異常となる。
【0082】
断線箇所の両端に配置された二つの通信モジュールと同一ベース上に配置された各々のCPUは図4のフローチャート中のST30またはST50にて通信モジュールの受信元局または送信先局の異常を検出し(ST30−YESまたはST50−YES)、データ受信に使用する通信モジュールまたはデータ送信に使用する通信モジュールを変更する(ST40およびST60)。
【0083】
その際のネットワーク経路について図8を用いて説明する。図8はステーション100の第1通信モジュールとステーション200の第1通信モジュールを接続する通信路108に断線が生じた場合に、新たに使用されるネットワークの通信経路を示している。ここでも図5同様、通信データはステーション100→ステーション200→ステーション300→ステーション100の順で伝播されるものとする。
【0084】
図8では通信モジュールが使用する通信経路は109、208、308となる。ステーション100の第1通信モジュール105aは通信路308での受信は可能であるが、通信路108での送信は不能となる。
【0085】
従って第1通信モジュール105aの受信データはケーブル107を介して制御系CPU103aから待機系CPU103bへ転送され、第2通信モジュール105bからステーション200の第2通信モジュール205bへ、通信路109を経由して伝播される。
【0086】
第2通信モジュール205bが受信したデータはケーブル207を介して待機系CPU203bから制御系CPU203aへと転送され、そのデータを用いて制御系CPU203aは演算処理を実行する。ステーション200の第1通信モジュール205aは、通信路108での受信が不能で、通信路208での送信は可能であるので、ステーション300へのデータ送信は第1通信モジュール205aから通信路208を介してステーション300の第1通信モジュール305aへと伝播されることとなる。ステーション300からステーション100へのデータは第1通信モジュール間で、通信路308を経由して行うことができる。
【0087】
さらに、実施例1、2同様に、図4のST40およびST60の処理内容を系の切替要求(ST20に相当)に変更することによって、図6のようにすべてのステーションでCPUの系を切り替えることも可能である。
【0088】
図8では、通信路108が断線した為に、ステーション100の第1通信モジュール105aは通信路308での受信は可能であるが、通信路108での送信は不能となる場合の実施例を例示している。
【0089】
そして、第1通信モジュール105aでデータを受信し、データの送信は、第2通信モジュール105bからステーション200の第2通信モジュール205bへ、通信路109を経由して送信する実施例としている。
【0090】
しかしながら、この実施例に限定されるものではない。
【0091】
例えば、通信路308が断線した為に、ステーション100の第1通信モジュール105aは通信路108での送信は可能であるが、通信路308での受信は不能となる場合であっても、本実施例は有効である。
【0092】
その場合には、通信路309からの第2通信モジュール105bの受信データはケーブル107を介して待機系CPU103bから制御系CPU103aへ転送され(図8では、このデータの流れを矢印では図示していない)、第1通信モジュール105aからステーション200の第1通信モジュール205aへ、通信路108を経由して伝播されるようにする。
【0093】
以上のように通信路に断線といった異常が発生した場合においても通信を継続することが可能となる。
【実施例4】
【0094】
本実施例では、手動による系の切り替えを行う場合の例を説明する。
【0095】
実施例1、2および3においてはシステムを構成する装置のいずれかに異常が発生した場合に継続稼動するための例を示したが、設備保守のためにユーザが意図的に特定ステーションの系を切り替える必要に迫られる場合が考えられる。
【0096】
この場合においても、ユーザ操作を受けて図2のデータ転送D1にて系の切り替え要求を発行させることによって、設備を停止することなくPLCの運転および通信を継続稼動させることが可能である。
【0097】
本動作によって変更されるネットワークの通信経路については、実施例1に示した図5と同様となり、実施例1、2および3同様、図6のようにすべてのステーションでCPUの系を切り替えることも可能である。
【0098】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。
【0099】
例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【0100】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。
【0101】
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
【0102】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。例えば、殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【0103】
1 プログラマブルコントローラ
2 電源モジュール
3 CPUモジュール
4 入出力モジュール
5 通信モジュール
6 ベース
7 CPU接続ケーブル
8 第1系統通信ケーブル
9 第2系統通信ケーブル
10 ステーション
11 ステーション
12 ステーション
20 管理テーブル
21 自局状態
22 自局アドレス
23 受信元局状態
24 受信元局アドレス
25 送信先局状態
26 送信先局アドレス
100 ステーション
101 ステーション100プログラマブルコントローラ
102 ステーション100電源モジュール
103 ステーション100CPUモジュール
104 ステーション100入出力モジュール
105 ステーション100通信モジュール
106 ステーション100ベース
107 ステーション100CPU接続ケーブル
108 ステーション100第1系統通信ケーブル
109 ステーション100第2系統通信ケーブル
200 ステーション
201 ステーション200プログラマブルコントローラ
202 ステーション200電源モジュール
203 ステーション200CPUモジュール
204 ステーション200入出力モジュール
205 ステーション200通信モジュール
206 ステーション200ベース
207 ステーション200CPU接続ケーブル
208 ステーション200第1系統通信ケーブル
209 ステーション200第2系統通信ケーブル
300 ステーション
301 ステーション300プログラマブルコントローラ
302 ステーション300電源モジュール
303 ステーション300CPUモジュール
304 ステーション300入出力モジュール
305 ステーション300通信モジュール
306 ステーション300ベース
307 ステーション300CPU接続ケーブル
308 ステーション300第1系統通信ケーブル
309 ステーション300第2系統通信ケーブル

【特許請求の範囲】
【請求項1】
メモリを含む記憶部とプログラムの演算を行う演算部とを有する第1のCPUモジュールと、
前記第1のCPUモジュールから入出力される出力信号、または入力信号を通信手段を介して通信する第1の通信モジュールと、
少なくとも前記第1のCPUモジュール、前記第1の通信モジュールに電力を供給する第1の電源モジュールと
を有し、
前記第1のCPUモジュール、前記第1の通信モジュールに前記第1の電源モジュールからの電力を供給する電源接続部、及び前記第1のCPUモジュール、前記第1の通信モジュール、前記第1の電源モジュールを支持、固定する筐体を有する第1のベースを備えた構成を第1のプログラマブルコントローラとし、
前記第1のCPUモジュールと前記第2のCPUモジュールとを接続線で接続し、
第2のCPUモジュールと、第2の通信モジュールと、第2の電源モジュール、第2のベースとを備えた構成を第2のプログラマブルコントローラとし、
前記第1のプログラマブルコントローラと前記第2のプログラマブルコントローラとを一対として動作させるプログラマブルコントローラステーションにおいて、
前記第1の通信モジュールが第1の通信手段に接続され、
前記第2の通信モジュールが第2の通信手段に接続され、
前記第1のプログラマブルコントローラの前記第1のCPUモジュールが正常動作している場合には、前記プログラマブルコントローラステーションに接続された機器に対して、前記第1のCPUモジュールからの入力信号、出力信号を入力、または出力処理し、
前記第1のCPUモジュールが正常動作しなくなった場合には、前記第2のプログラマブルコントローラの前記第2のCPUモジュールに切り換えて、前記第2のCPUモジュールからの入力信号、出力信号を入力、または出力処理する
ことを特徴とするプログラマブルコントローラステーション。
【請求項2】
請求項1記載のプログラマブルコントローラステーションにおいて、
前記第1のCPUモジュールは、
前記第1のCPUモジュールから前記接続線を介して前記第2のCPUモジュールにデータを転送する第1のデータ転送手段と、
前記第1のデータ転送手段によってデータが前記第1のCPUモジュールから前記接続線を介して前記第2のCPUモジュールに転送後に、始動される第1のタイマーと
を有し、
前記第1のタイマーの始動後に、前記第2のCPUモジュールから前記接続線を介して前記第1のCPUモジュールにデータが転送されると、前記第1のタイマーを停止し、
前記第1のタイマーの値が所定の値よりも大きくなった場合に、
前記第2のCPUモジュールの動作の異常を検出する
ことを特徴とするプログラマブルコントローラステーション。
【請求項3】
請求項1記載のプログラマブルコントローラステーションにおいて、
前記第2のCPUモジュールは、
前記第1のCPUモジュールから前記接続線を介して前記第2のCPUモジュールにデータが転送されると、停止される第2のタイマーと、
前記第2のCPUモジュールから前記接続線を介して前記第1のCPUモジュールにデータを転送する第2のデータ転送手段と、
を有し、
前記第2のタイマーの始動後に、前記第1のCPUモジュールから前記接続線を介して前記第2のCPUモジュールにデータが転送されると、前記第2のタイマーを停止し、
前記第2のタイマーの値が所定の値よりも大きくなった場合に、
前記第1のCPUモジュールの動作の異常を検出する
ことを特徴とするプログラマブルコントローラステーション。
【請求項4】
メモリを含む記憶部とプログラムの演算を行う演算部とを有する第1のCPUモジュールと、
前記第1のCPUモジュールから入出力される出力信号、または入力信号を通信手段を介して通信する第1の通信モジュールと、
少なくとも前記第1のCPUモジュール、前記第1の通信モジュールに電力を供給する第1の電源モジュールと
を有し、
前記第1のCPUモジュール、前記第1の通信モジュールに前記第1の電源モジュールからの電力を供給する電源接続部、及び前記第1のCPUモジュール、前記第1の通信モジュール、前記第1の電源モジュールを支持、固定する筐体を有する第1のベースを備えた構成を第1のプログラマブルコントローラとし、
第2のCPUモジュールと、第2の通信モジュールと、第2の電源モジュール、第2のベースとを備えた構成を第2のプログラマブルコントローラとし、
前記第1のCPUモジュールと前記第2のCPUモジュールとを接続線で接続し、
前記第1のプログラマブルコントローラと前記第2のプログラマブルコントローラとを一対として動作させるプログラマブルコントローラステーションにおいて、
前記第1の通信モジュールが第1の通信手段に接続され、
前記第2の通信モジュールが第2の通信手段に接続され、
前記第1のプログラマブルコントローラの前記第1の通信モジュールが正常動作している場合には、前記プログラマブルコントローラステーションに接続された機器に対して、前記第1の通信モジュールによって通信し、
前記第1の通信モジュールが正常動作しなくなった場合には、
前記第1のCPUモジュールと前記第2のCPUモジュールとの間で前記接続線を介して出力信号、または入力信号を通信し、
前記第2のプログラマブルコントローラの前記第2の通信モジュールに切り換えて、前記第2のCPUモジュールからの入力信号、出力信号を前記第2の通信モジュールによって通信する
ことを特徴とするプログラマブルコントローラステーション。
【請求項5】
請求項1記載のプログラマブルコントローラステーションにおいて、
前記第1の通信モジュール、前記第2の通信モジュールに他のプログラマブルコントローラステーションの状態を管理する管理テーブルを設け、
前記管理テーブルには、
前記第1の通信モジュール、前記第2の通信モジュールからデータを送信する送信先の動作状態を識別する識別情報を記憶し、
また、前記第1の通信モジュール、前記第2の通信モジュールへデータを送信する送信元の動作状態を識別する識別情報を記憶する
ことを特徴とするプログラマブルコントローラステーション。
【請求項6】
メモリを含む記憶部とプログラムの演算を行う演算部とを有する第1のCPUモジュールと、
前記第1のCPUモジュールから入出力される出力信号、または入力信号を通信手段を介して通信する第1の通信モジュールと、
少なくとも前記第1のCPUモジュール、前記第1の通信モジュールに電力を供給する第1の電源モジュールと
を有し、
前記第1のCPUモジュール、前記第1の通信モジュールに前記第1の電源モジュールからの電力を供給する電源接続部、及び前記第1のCPUモジュール、前記第1の通信モジュール、前記第1の電源モジュールを支持、固定する筐体を有する第1のベースを備えた構成を第1のプログラマブルコントローラとし、
第2のCPUモジュールと、第2の通信モジュールと、第2の電源モジュール、第2のベースとを備えた構成を第2のプログラマブルコントローラとし、
前記第1のCPUモジュールと前記第2のCPUモジュールとを接続線で接続し、
前記第1のプログラマブルコントローラと前記第2のプログラマブルコントローラとを一対として動作させるプログラマブルコントローラステーションにおいて、
前記第1の通信モジュールが第1の通信手段に接続され、
前記第2の通信モジュールが第2の通信手段に接続され、
前記第1の通信手段が正常動作している場合には、前記プログラマブルコントローラステーションに接続された機器に対して、前記第1の通信モジュールによって前記第1の通信手段を介して通信し、
前記第1の通信手段が正常動作しなくなった場合には、
前記第1のCPUモジュールと前記第2のCPUモジュールとの間で前記接続線を介して出力信号、または入力信号を通信し、
前記第2のプログラマブルコントローラの前記第2の通信モジュールによって前記第2の通信手段も介して通信する
ことを特徴とするプログラマブルコントローラステーション。
【請求項7】
請求項6記載のプログラマブルコントローラステーションにおいて、
前記第1の通信手段によって前記第1の通信モジュールが送信することが出来ない場合は、前記第1のCPUモジュールと前記第2のCPUモジュールとの間で前記接続線を介して出力信号、または入力信号を通信し、
前記第2の通信手段によって前記第2の通信モジュールから送信する
ことを特徴とするプログラマブルコントローラステーション。
【請求項8】
請求項6記載のプログラマブルコントローラステーションにおいて、
前記第1の通信手段によって前記第1の通信モジュールが受信することが出来ない場合は、前記第2の通信手段によって前記第2の通信モジュールから受信し、
前記第1のCPUモジュールと前記第2のCPUモジュールとの間で前記接続線を介して出力信号、または入力信号を通信し、前記第1のCPUモジュールが前記第2の通信モジュールから受信した入力信号を得る
ことを特徴とするプログラマブルコントローラステーション。
【請求項9】
メモリを含む記憶部とプログラムの演算を行う演算部とを有する第1のCPUモジュールと、
前記第1のCPUモジュールから入出力される出力信号、または入力信号を通信手段を介して通信する第1の通信モジュールと、
少なくとも前記第1のCPUモジュール、前記第1の通信モジュールに電力を供給する第1の電源モジュールと
を有し、
前記第1のCPUモジュール、前記第1の通信モジュールに前記第1の電源モジュールからの電力を供給する電源接続部、及び前記第1のCPUモジュール、前記第1の通信モジュール、前記第1の電源モジュールを支持、固定する筐体を有する第1のベースを備えた構成を第1のプログラマブルコントローラとし、
前記第1のCPUモジュールと前記第2のCPUモジュールとを接続線で接続し、
第2のCPUモジュールと、第2の通信モジュールと、第2の電源モジュール、第2のベースとを備えた構成を第2のプログラマブルコントローラとし、
前記第1のプログラマブルコントローラと前記第2のプログラマブルコントローラとを一対として動作させるプログラマブルコントローラステーションを複数備え、
各々のプログラマブルコントローラステーションの前記第1の通信モジュール同士が第1の通信手段にリング状に接続され、
各々のプログラマブルコントローラステーションの前記第2の通信モジュール同士が第2の通信手段にリング状に接続される
ことを特徴とする二重化ネットワークシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2012−230446(P2012−230446A)
【公開日】平成24年11月22日(2012.11.22)
【国際特許分類】
【出願番号】特願2011−96691(P2011−96691)
【出願日】平成23年4月25日(2011.4.25)
【出願人】(502129933)株式会社日立産機システム (1,140)
【Fターム(参考)】