(57)【要約】【課題】  ネットワークに接続された他のノードから書き込み系のメッセージを受けた場合に、データが誤って書き換えられる可能性を低減し、また、好ましくは、仮に書き替えられてしまった場合でも、後でその原因を特定することのできるＣＰＵユニットを提供するこ【解決手段】  ＣＰＵユニットは、ＭＰＵにフローチャートを実施する書き込みプロテクト機能を備えた。係る機能は、メッセージを受信した際に、そのメッセージが書き込み系であるか否かを判断し、書き込み系であると判断された場合には、そのメッセージに関する情報を履歴情報としてＩＯメモリに格納する。そして、そのメッセージが書き込みを許可されていないネットワークを介して接続された他のノードからのメッセージの場合には、書き込みを行うことなく、「書込プロテクト中のため実行不可」という内容のレスポンスを返信する。【選択図】        図６
2005084843.tif 000002
【特許請求の範囲】
【請求項１】
プログラマブルコントローラを構成するユニットであって、
ネットワークを介して接続された他のノードからのメッセージを受信した際に、そのメッセージが書き込み系であるか否かを判断する判断手段と、
前記判断手段により、書き込み系であると判断された所定のメッセージに基づく書き込みを阻止する機能を備えたことを特徴とするユニット。
【請求項２】
前記書き込み系のメッセージを送信したノードのアドレスを認識し、書込が許可されたノードからの書き込み系のメッセージの場合には、メッセージに応じた書き込みを許可する機能を備えたことを特徴とする請求項１に記載のユニット。
【請求項３】
前記メッセージが、少なくとも書き込みが許可されたノードからの書き込み系の場合、そのメッセージの履歴情報を記憶保持する記憶手段を備えたことを特徴とする請求項２に記載のユニット。
【請求項４】
前記メッセージが、少なくとも書き込み系の場合に、そのメッセージの履歴情報を記憶保持する記憶手段を備えたことを特徴とする請求項１または２に記載のユニット。
【請求項５】
前記ユニットは、ＣＰＵユニットまたは通信ユニットであることを特徴とする請求項１から４のいずれか１項に記載のユニット。
【請求項６】
ネットワークに接続した他のノードとの間でメッセージ通信を行う機能を備えたプログラマブルコントローラであって、
請求項１から５のいずれか１項に記載のユニットを備えたことを特徴とするプログラマブルコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ユニット及びプログラマブルコントローラに関するもので、より具体的には、ネットワークに接続された他のノードから送られてきた書き込み系のメッセージに対する処理の改良に関する。
【背景技術】
【０００２】
生産工場（製造現場）に設置されるファクトリーオートメーション（ＦＡ）の制御装置として、プログラマブルコントローラ（ＰＬＣ）が用いられている。このＰＬＣは、複数のユニットから構成される。すなわち、電源供給源の電源ユニット，ＰＬＣ全体の制御を統率するＣＰＵユニット，ＦＡの生産装置や設備装置の適所に取り付けたスイッチやセンサの信号を入力する入力ユニット，アクチュエータなどに制御出力を出す出力ユニット，通信ネットワークに接続するための通信ユニットなどの各種のユニットを適宜組み合わせて構成される。
【０００３】
ＰＬＣ（ＣＰＵユニット）における制御は、入力ユニットで入力した信号をＣＰＵユニットのＩ／Ｏメモリに取り込み（ＩＮリフレッシュ）、予め登録されたラダー言語で組まれたユーザプログラムに基づき論理演算をし（演算実行）、その演算実行結果をＩ／Ｏメモリに書き込んで出力ユニットに送り出し（ＯＵＴリフレッシュ）、その後、いわゆる周辺処理を行うと言うことをサイクリックに繰り返し処理するようになる。
【０００４】
ところで、実際にシステムを構築し、ＰＬＣを動作している際に、ＣＰＵユニットは、外部からメッセージ通信により所定の命令を受け、その命令に従って所定の処理を実行するようになっている。メッセージの内容としては、例えば、ＣＰＵユニットのＩＯメモリに対する読み書き等がある。
【０００５】
よって、システム実行中に、外部の監視システムからＣＰＵユニットに対してデータの読み出し要求のメッセージを発行し、そのメッセージを受信したＣＰＵユニットは、メッセージに対するレスポンスとしてＩＯメモリに格納されたデータを監視システムに返すようにすることにより、遠隔監視ができる。
【０００６】
なお、上記した従来技術を示した公知文献は、見つからなかったが、ＰＬＣ本体に格納されたユーザプログラムを外部機器から読み出しや書き込みをする場合に制限を設ける技術としては、特許文献１，２などに開示された発明がある。これらの公知技術を実現するためには、ユーザプログラムの開発支援ツールを用いてＰＬＣ本体の所定メモリに制限情報を設定するか、ユーザプログラム作成時に制限情報をユーザプログラムの一部として追加するようになっている。
【０００７】
そして、いずれの公知技術も外部機器からの読み出しや書き込みをする対象がユーザプログラムであり本発明が対象とするＩ／Ｏメモリのデータに対するアクセス制限を設定することはできない。さらに、ＰＬＣ本体のユーザプログラムを読み出しや書き込みをする外部機器としてユーザプログラムの開発支援ツールを想定しているため、その他のアプリケーションからのアクセスについては制限できない。
【特許文献１】特開平１０−１２４３０８号公報
【特許文献２】特開平８−１９４５０４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ところで、上記した従来のＣＰＵユニットでは、メッセージを受信すると、その受信したメッセージに従った処理をするため、受信したメッセージが書き込み系の場合、例えば、ＩＯメモリに格納されたデータの書き替えを行うことになる。従って、ネットワーク上に存在する他のノードから、ユーザの操作ミスやメッセージを発行するアプリケーションプログラムのバグなどにより過って書き込み系のメッセージが発行された場合、ＣＰＵユニットが保持している制御対象の機械装置の動作にかかわるデータが破壊され、機械装置の意図しない動作につながるおそれがある。
【０００９】
特に、最近ではネットワーク上に異なるメーカの機器が連結することがある。上記した場合、ＰＬＣ（ＣＰＵユニット）のメーカと、監視システム（パソコンにインストールする監視アプリケーション）のメーカが異なる。すると、他社のＰＬＣ（ＣＰＵユニット）に対応したメッセージコマンドを作成することになるが、当然のことながら自社製品のものに比べるとコマンドの作成になれておらず、データの読み出しのコマンドを作成するつもりで、誤って書き込みのコマンドを記述してしまうおそれがあり、上記したトラブルの発生確率が高くなる。
【００１０】
そして、係るトラブルを発生した場合、予め保存しておいた正常時のデータで書き換えることで、正しいデータに復帰させることはできるものの、どのような原因で係るトラブルを発生したかを特定することは困難である。そのため、係るトラブルを再発するおそれが残る。
【００１１】
そこで、不用意なデータ破壊の発生等を未然に防止しつつ、読み出しの要求に応えるため、従来は、図１に示すようなシステムを構築することにより対応していた。すなわち、生産システムのための本来の装置制御用ＰＬＣ１に対し、データ開示用ＰＬＣ２を連結し、装置制御用ＰＬＣ１に格納されたデータをデータ開示用ＰＬＣ２に転送する。そして、外部の監視システム３は、ネットワーク４を介してデータ開示用ＰＬＣ２と通信し、データ開示用ＰＬＣ２に格納されたデータを読み出すことにより間接的に装置制御用ＰＬＣ１の状態を監視するようにしていた。
【００１２】
係る構成にすると、装置制御用ＰＬＣ１からデータ開示用ＰＬＣ２に対して片方向データ転送を行うことにより、誤ってデータ開示用ＰＬＣ２のデータが書き換えられて破壊されたとしても、装置制御用ＰＬＣ１には影響を与えないようにすることかできる。しかし、係るシステム構成をとると、データ開示用のＰＬＣが必要となり、システムが大型化しコストアップを招くという問題がある。さらに、装置制御用ＰＬＣ１からデータ開示用ＰＬＣ２へのデータ転送のタイムラグ並びに転送エラーのおそれがあり、必ずしも最新のデータを得られないおそれがある。
【００１３】
この発明は、ネットワークに接続された他のノードから書き込み系のメッセージを受けた場合に、データが誤って書き換えられる可能性を低減し、また、好ましくは、仮に書き替えられてしまった場合でも、後でその原因を特定することのできるユニット及びプログラマブルコントローラを提供することを目的とする。
【課題を解決するための手段】
【００１４】
本発明に係るユニットは、プログラマブルコントローラを構成するユニットであって、ネットワークを介して接続された他のノードからのメッセージを受信した際に、そのメッセージが書き込み系であるか否かを判断する判断手段と、前記判断手段により、書き込み系であると判断された所定のメッセージに基づく書き込みを阻止する機能を備えて構成した。
【００１５】
このようにすると、書き込み系のメッセージを受信した場合には、所定のメッセージに基づく書き込みを阻止することにより、誤って書き込み系のメッセージを送信するようにしてしまった場合でも、ユニット側では書き込みを阻止するため、データが誤って書き替えられてしまうことを未然に防止できる。そして、読み出し系のメッセージについては、メッセージの内容に従って処理をすることができるので、例えば、監視システムがデータを読み出して監視することができる。
【００１６】
そして、前記書き込み系のメッセージを送信したノードのアドレスを認識し、書込が許可されたノードからの書き込み系のメッセージの場合には、メッセージに応じた書き込みを許可する機能を備えるようにしてもよい。このようにすると、特定のノードからは、書き込みをすることができるので、例えば、遠隔地からのデータ更新を伴うメンテナンスや、他のシステムからの書き換え要求に対応できる。なお、書き込みが許可されたノードか否かの判断は、許可するノードのアドレスを記憶保持させておき、該当するアドレスが存在する場合に書き込みを許可するようにしても良いし、書き込みを拒否するノードのアドレスを記憶保持させておき、該当するアドレスが存在しない場合に書き込みを許可するようにしても良い。
【００１７】
もちろん、本発明では、全ての他のノードからの書き込みを阻止するようにしても良い。つまり、本発明で言う所定のメッセージとは、書き込み系と判断された全てのメッセージでも良いし、一定の条件を満たす一部のメッセージでも良い。
【００１８】
また、前記メッセージが、少なくとも書き込みが許可されたノードからの書き込み系の場合、そのメッセージの履歴情報を記憶保持する記憶手段を備えるようにするとなお良い。なおまた、前記メッセージが、少なくとも書き込み系の場合に、そのメッセージの履歴情報を記憶保持する記憶手段を備えるようにすることもできる。このように履歴情報を記憶保持することにより、どのメッセージに基づいてデータが書き換えられたかの特定を行うことが可能となる。
【００１９】
さらにまた、本発明のユニットとしては、ＣＰＵユニットまたは通信ユニットとすることができる。そしてＣＰＵユニットの場合には、書き込みを阻止する機能としては、文字通り、該当する書き込み系のメッセージを受信した場合には書き込みを行わないようにすることである。また、通信ユニットの場合の書き込みを阻止する機能としては、メッセージを転送しないようにすることにより実現できる。もちろん、これ以外の方法をとることもできる。
【００２０】
そして、特にユニットがＣＰＵユニットの場合、さらに複数の通信ユニットが存在するＰＬＣの場合は、ＣＰＵユニットに対して設定を行うだけで、通信ユニットが接続されたネットワークを介したメッセージ通信に対して書込プロテクト機能が有効となり、ネットワーク上に存在する他ノードから誤ってデータが破壊されることはなくなる。よって、ユーザにおいて本要因によるトラブルは完全に排除される。さらに、ＣＰＵユニットに対して設定を行うだけで、本機能は有効になるため、通信ユニット含むその他の機械装置は既存のまま使用でき、既設装置に対しても安価に実施できる。
【００２１】
また本発明にかかるプログラマブルコントローラは、ネットワークに接続した他のノードとの間でメッセージ通信を行う機能を備えたプログラマブルコントローラであって、上記した各種のユニットを備えて構成することである。
【発明の効果】
【００２２】
本発明では、書き込み系のメッセージを拒否することができるので、ネットワークに接続された他のノードから書き込み系のメッセージを受けた場合に、データが誤って書き換えられる可能性を低減することができる。また、履歴情報を格納するようにした場合には、仮に書き替えられてしまった場合でも、後でその原因を特定することができる。
【発明を実施するための最良の形態】
【００２３】
図２は、本発明の好適な一実施の形態を実現するシステム全体を示している。図２に示すように、ＰＬＣ１０が、制御用ネットワーク２０を介して制御対象機器２１と接続され、生産現場に設置されたＦＡシステムが構築される。また、このＰＬＣ１０は、イーサネット（登録商標）等の情報系ネットワーク２２を介して、外部の専用装置或いはパソコンからなる監視システム２５に接続される。
【００２４】
ＰＬＣ１０は、複数のユニットから構成される。すなわち、電源供給源の電源ユニット，ＰＬＣ全体の制御を統率するＣＰＵユニット，ＦＡの生産装置や設備装置の適所に取り付けたスイッチやセンサの信号を入力する入力ユニット，アクチュエータなどに制御出力を出す出力ユニット，通信ネットワークに接続するための通信ユニットなどの各種のユニットを適宜組み合わせて構成される。各ユニットは、それぞれボックスから構成され、側面に形成されたコネクタを介して電気的，機械的に連結する。このコネクタには、バスが接続されており、これにより各ユニットはバス接続され、ユニット間で直接および又はＣＰＵユニットを介して間接的にデータの送受が可能となる。
【００２５】
そして、ＰＬＣ１０を構成するＣＰＵユニット１１の内部構造は、図３に示すように構成されている。すなわち、システムプログラムは、システムＲＯＭ１１ａに格納されており、そのシステムプロクラムは、ＭＰＵ１１ｂに呼び出され、そのＭＰＵ１１ｂにおいて、ワークメモリとしてのシステムＲＡＭ１１ｃを適宜使用しながら、プログラムに従った所定の処理を実行する。また、運転時において、ユーザデータの１つであるユーザプログラムは、ユーザメモリ１１ｄに格納されている。そして、ユーザメモリ１１ｄに格納されたユーザプログラムを構成する各命令が順次ＡＳＩＣ１１ｅに呼び出され、そこにおいて当該命令を実行する。なお、ＡＳＩＣ１１ｅで実行できない命令は、ＭＰＵ１１ｂで実行する。また。ＡＳＩＣ１１ｅは、係るユーザプログラム(命令)実行処理に加え、リフレッシュ処理，バスインターフェイス，メモリ調停を行う機能を持つ。さらに、ユーザプログラムの実行に伴い読み書きがされるＩ／Ｏデータや、各種のパラメータは、ＩＯメモリ１１ｆに格納されている。つまり、このＩＯメモリ１１ｆは、外部Ｉ／Ｏ割付用メモリとユーザプログラムで使用するデータメモリを含み、メッセージ通信で読み出し／書き込みされるデータが格納される。
【００２６】
本発明との関係でいうと、通信ユニットを介してメッセージを取得すると、ＭＰＵ１１ｂは、そのメッセージの内容に従い所定の処理を実行し、レスポンスを返すようになる。そして、メッセージ通信のフレーム構成は、図４に示すようになっている。すなわち、受信したコマンドのフレーム構成としては、ヘッダー部に、相手先アドレスと発信元アドレスを含み、コマンド内容としてはコマンド種別と具体的なデータを含む。ＭＰＵ１１ｂは、相手先アドレスが自己宛（ＣＰＵユニット宛）のもののみ、処理対象とする。また、コマンド種別は、例えば、データの書き込みや読み出しを識別するコード情報が格納される。そして、データには、アクセスすべきデータのアドレスや、書き込みの場合には書き込むデータが格納される。
【００２７】
また、ＭＰＵ１１ｂが発行するレスポンスのフレームとしては、ヘッダー部に相手先アドレスと発信元アドレスを含む。相手先アドレスは、受信したメッセージコマンドの発信元アドレスを格納し、発信元アドレスには自己のアドレスを格納する。そして、受信したメッセージコマンドが読み出しの場合には、レスポンス内容として、該当するアドレスに格納されたデータを格納し返送することになる。また、メッセージコマンドが書き込みの場合には、後述するように書き込みが許容されている場合には、指定された書き込みを行い、レスポンス内容として完了した旨を記述し返送することになり、書き込みが禁止されている場合には、レスポンス内容として所定のエラーメッセージを返すようになる。
【００２８】
すなわち、本実施の形態では、受信したメッセージのコマンド種別が読み出しの場合には、従来と同様に取得したメッセージの内容に従って処理を実行し、レスポンスを返すが、コマンド種別が書き込みの場合には、そのメッセージの要求を拒否し、書き込み処理を行わないようにした。これにより、ＣＰＵユニット１１にて書込プロテクト機能を有効にすることで、情報系ネットワーク２２で接続された先のノード（監視システム２５等）から意図しないメッセージが発行されても、データを破壊されることはなくなる。
【００２９】
さらに本実施の形態では、全ての書き込みメッセージを拒否するのではなく、拒否するノード或いは許可するノードを登録しておき、一部のノードからの書き込みは許可するようにした。なお、書き込み系のメッセージは全て拒否するようにしてももちろん良い。
【００３０】
さらに、本実施の形態では、メッセージ通信の履歴を記録するようにしている。具体的には、図５に示すように、発信元アドレスと、コマンド種別並びにメッセージを受信した日時・時刻情報を関連付けて登録するようにし、係る履歴情報は、ＩＯメモリ１１ｆに格納するようにした。なお、履歴情報としては、全てのメッセージを記憶しても良いし、所定の書き込み系のもののみを記憶するようにしても良い。
【００３１】
このように履歴情報を取ることにより、仮に書き込みを許容したノードからのメッセージで誤ってデータを書き換えてしまいデータを破壊してしまった場合でも、後でどのメッセージによって書き換えられてしまったかを確認することができる。その結果、原因の特定をすることにより、例えば監視システム２５に実装された監視プログラム中のバグであるメッセージを発行するプログラム部分を見つけ、それを削除・修正等することにより、間違ったメッセージの発行を停止することができ、データ破壊の再発を防止できる。
【００３２】
また、書き込み系がメッセージの発行が認められる装置であっても、特定の領域に対してのみ書き込みが認められている場合において、実際にデータ破壊を生じたのが係る特定の領域以外の場合には、操作ミスがあっと認定できる。その他、書き込み系のメッセージを発行したノードはわかるので、当該メッセージの発行された日時情報から、操作ミスをしたノード・オペレータ等を推定する（絞り込む）ことはできる。そして、そのように操作ミスを行なったことを特定・推定できると、当該操作ミスをしたオペレータ等に注意を促すことにより、再発防止をすることができる。
【００３３】
上記したメッセージに対する処理並びに履歴情報の記憶処理は、ＭＰＵ１１ｂが行う。そして、具体的には、図６に示すフローチャートを実施するようにしている。すなわち、まずＭＰＵ１１ｂは、受信したメッセージは、書き込み系か否かを判断する（ＳＴ１）。これは、受信したメッセージのコマンド内容のコマンド種別を認識することにより、判断できる。
【００３４】
そして、受信したメッセージが読み出し系の場合には、この分岐判断はＮｏとなるので、ステップ７に飛び、通常のレスポンス処理を行なう。すなわち、要求されたコマンド種別に応じた内容のレスポンスを返信するものであり、今回の場合には、読み出し要求によりしていされたアドレスに格納されたデータを読み出して、レスポンスとしてメッセージの送信元に返送する。
【００３５】
一方、受信したメッセージが書き込み系の場合、そのメッセージの発信元が他ノードか否かを判断する（ＳＴ２）。すなわち、ＣＰＵユニット１１が取得するメッセージは、ＣＰＵユニット１１が構成するＰＬＣ１０の外部の装置・機器から送られてくる場合と、同一のＰＬＣ１０を構成する他のユニットから送られてくる場合がある。そして、同一のＰＬＣ１０を構成する他のユニットから送られてくる書き込みメッセージは、正常な動作として存在し、そのまま実行して良い。よって、係る他のユニットからのメッセージの場合、自ノードであるので、ステップ２の分岐判断はＮｏとなり、ステップ７に飛び、通常のレスポンス処理を行なう。すなわち、ＩＯメモリ１１ｆの所定アドレスに対する書き込み処理を行なう。
【００３６】
そして、受信したメッセージが他ノードからのものの場合、ステップ３に飛び、メッセージ通信の履歴を格納する（ＳＴ３）。つまり、受信したメッセージから、所定の情報を抽出し、図５に示したようなデータ構造にしてＩＯメモリ１１ｆに格納する。
【００３７】
その後、読出専用（書込プロテクト）の設定があるか否かを判断する（ＳＴ４）。すなわち、本実施の形態では、従前の書き込みも許容する仕様と、書き込みを禁止する仕様のいずれも対応できるようになっている。そして、呼び出し専用の設定がなく、無条件で書き込みを許容する仕様が選択されている場合には、ステップ４の分岐判断はＮｏとなり、ステップ７にて通常のレスポンス処理をする。ここでの通常のレスポンス処理は、読み出し専用の設定がないので、受信したメッセージで指定されるアドレスに対する書き込みを行い、完了通知をレスポンスとして返送するようになる。
【００３８】
また、読出専用の設定がある場合には、ステップ５に飛び、受信したメッセージの発信元アドレスがプロテクト対象外として設定されているか否かを判断する（ＳＴ５）。すなわち、本実施の形態では、全ての他ノードからの書き込みを禁止するのではなく、予め登録したノードからの書き込みはプロテクトすることなく実行するようにしたため、メッセージの発信元アドレスを確認し、プロテクト対象外の設定がある場合には、ステップ７に飛び、通常のレスポンス処理をする。ここでの通常のレスポンス処理は、読み出し専用の設定がないので、受信したメッセージで指定されるアドレスに対する書き込みを行い、完了通知をレスポンスとして返送するようになる。なお、係るプロテクト対象外のノードの設定は、ツールなどを用いて予めＣＰＵユニット１１のＩＯメモリ１１ｆに登録する。
【００３９】
そして、受信したメッセージの発信元アドレスが、プロテクト対象外として設定していないノードの場合、ステップ５の分岐判断はＮｏとなり、ステップ６に飛び、書き込みプロテクト中のレスポンス処理を実行する（ＳＴ６）。具体的には、今回受信したメッセージで要求された書き込み処理を行なわず、「書込プロテクト中のため実行不可」という内容のレスポンスを、返信することになる。
【００４０】
なお、他ノードからの書き込み系のメッセージを全て拒否するような仕様にした場合には、ステップ４，５は設けなくても良い。また、従来のように他ノードから書き込み系のメッセージを受信した場合に全て実行するような仕様を設けない場合には、ステップ４の分岐判断を設けないでよい。さらに、読出専用の設定は、ツールを用いて設定するものの他、ＣＰＵユニット１１に設けた設定スイッチにより、機械的に設定するようにしても良く、各種の方法が採れる。さらにまた、履歴情報は必ずしも記録する必要はない。
【００４１】
このように、本実施の形態によれば、ＣＰＵユニット１１に対して設定を行うだけで、ネットワークを介したメッセージ通信に対して書込プロテクト機能が有効となり、ネットワーク上に存在する他ノードからの書き込み系のメッセージに基づいて誤ってデータが破壊されることはなくなる。よって、ユーザにおいて本要因によるトラブルは完全に排除される。
【００４２】
また、本実施の形態のようにＣＰＵユニット１１に、書き込みプロテクト機能を設けたことにより、通信ユニットを含むその他の機械装置は、既存のものを用いることができる。すなわち、通信ユニットは、他ノードからのメッセージを受信すると、そのコマンド種別に関係なくＣＰＵユニット１１にメッセージを渡しても、ＣＰＵユニット１１側で書き込みを拒否することができ、不用意なデータの破壊の発生を未然に防止できる。よって、既設装置に対しても安価に実施できる。
【００４３】
さらに、本実施の形態では、書込プロテクトをしないノードを予め登録しておくことにより、ネットワーク上の各ノードのアドレスで有効・無効を選択できることから、１つのネットワークだけで安価にシステムを構築できる。
【００４４】
メッセージ通信の履歴を残す機能は、他ノードからの書き込みがあった場合には、設定に関わらず動作するようにしたため、書込プロテクト機能を使用しないユーザにおいて、ネットワーク上に存在する他ノードから誤ってデータが破壊されることがあっても、事後的にその原因を特定することが可能となり、トラブルの早期解決が可能となる。
【００４５】
図７，図８は、本発明の第２の実施の形態を示している。本実施の形態では、第１の実施の形態と相違して、書き込みプロテクトを通信ユニット１２で行なうようにした。すなわち、通信ユニット１２は、図７に示すように、通信ユニット１２全体の動作を司るマイクロプロセッサであるＭＰＵ１２ａと、バスインターフェイス，共有メモリへの転送を行うＡＳＩＣ１２ｂと、ＣＰＵユニット１１との共有メモリとして使用される第１ＲＡＭ１２ｃと、システムファームウェアを格納するＲＯＭ１２ｄと、そのＲＯＭ１２ｄに格納されたシステムファームウェアを実行中にワークメモリとして使用される第２ＲＡＭ１２ｅと、不揮発性メモリ１２ｆを備えている。この不揮発性メモリ１２ｆには、履歴情報と、書き込みプロテクトをしないノードを特定する情報が格納される。そして、この通信ユニット１２は、ＣＰＵユニット等とはバス接続され、係るバスを介してデータの送受を行なうようになっている。
【００４６】
ここで、通信ユニット１２のＭＰＵ１２ａは、通常の通信処理機能に加え、書込プロテクト機能を備えることになる。つまり、読み出し系のメッセージの場合には通常通り受信し、必要に応じて他のユニットに渡すが、他ノードから受信したメッセージが書き込み系であって、プロテクト対象外の設定がされていないノードの場合には、受け取りを拒否する。もちろん、プロテクト対象外の設定がされているノードからの書き込み系のメッセージの場合には、受信し、必要に応じて他のユニットに渡す。さらに、本実施の形態では、書き込み系のメッセージを受信した場合には、不揮発性メモリ１２ｆに履歴情報を登録する。そして、具体的には、図８に示すフローチャートを実施するようにしている。
【００４７】
すなわち、受信したメッセージが、自ノード宛か否かを判断する（ＳＴ１１）。自ノード宛でない場合には、ステップ１７に飛び、通常のルーチング処理を行なう。この場合には、受信したメッセージを相手先アドレスで指定される他のノードのユニットへ転送する。
【００４８】
一方、自ノード宛のメッセージを受信した場合には、ステップ１２に飛び、コマンド種別から受信したメッセージが書き込み系か否かを判断する（ＳＴ１２）。そして、読み出し等書き込み系でない場合には、ステップ１２の分岐判断はＮｏとなり、通常ルーチング処理を行なう。ここでは、受信したメッセージを相手先アドレスのユニット（ＣＰＵユニット等）へ転送する処理を行なう。
【００４９】
また、受信したメッセージが書き込み系の場合には、ステップ１３に飛び、メッセージ通信の履歴を格納する（ＳＴ１３）。つまり、受信したメッセージから、所定の情報を抽出し、図５に示したようなデータ構造にして不揮発性メモリ１２ｆに格納する。
【００５０】
その後、読出専用（書込プロテクト）の設定があるか否かを判断する（ＳＴ１４）。すなわち、本実施の形態では、従前の書き込みも許容する仕様と、書き込みを禁止する仕様のいずれも対応できるようになっている。そして、呼び出し専用の設定がなく、無条件で書き込みを許容する仕様が選択されている場合には、ステップ１４の分岐判断はＮｏとなり、ステップ１７にて通常のルーチング処理をする。ここでの通常のルーチング処理は、読み出し専用の設定がないので、受信したメッセージを相手先アドレスで指定される自ノードのユニットへ転送する。
【００５１】
また、読出専用の設定がある場合には、ステップ１５に飛び、受信したメッセージの発信元アドレスがプロテクト対象外として設定されているか否かを判断する（ＳＴ１５）。すなわち、本実施の形態では、全ての他ノードからの書き込みを禁止するのではなく、予め登録したノードからの書き込みはプロテクトすることなく実行するようにしたため、メッセージの発信元アドレスを確認し、プロテクト対象外の設定がある場合には、ステップ１７に飛び、通常のレスポンス処理をする。ここでの通常のレスポンス処理は、受信したメッセージを転送する処理を行なう。なお、係るプロテクト対象外のノードの設定は、ツールなどを用いて予め通信ユニット１２の不揮発性メモリ１２ｆに登録する。
【００５２】
そして、受信したメッセージの発信元アドレスが、プロテクト対象外として設定していないノードの場合、ステップ１５の分岐判断はＮｏとなるのでステップ１６に飛び、書き込みプロテクト中のレスポンス処理を実行する（ＳＴ１６）。具体的には、今回受信したメッセージで要求された書き込み処理を行なわず、「書込プロテクト中のため実行不可」という内容のレスポンスを、返信することになる。
【００５３】
そして、係る通信ユニットにおいても、第１の実施の形態のＣＰＵユニット１１と同様に、読出専用のプロテクトを必ず設けるようにしたり、履歴情報を登録しないようにしたりするなど、各種の変形実施ができる。
【００５４】
さらに、上記した各実施の形態で、読出専用の設定をし、かつ、書込許可の送信元アドレスを登録する手法としては、例えばツールを用いることができる。一例としては、図９に示すような登録画面をツールの表示装置の表示画面上に出力表示し、「メッセージ通信の書込プロテクト機能を有効にする」にチェックを入れる（画面上の該当箇所をポインティングデバイスを用いてクリックする）ことにより、読出専用の設定をする。そして、具体的にプロテクト対象外のノードアドレスを入力する。そして、係る情報をツールから所定のユニットに対して転送・ダウンロードし、所定の記憶エリアに格納することにより設定できる。
【００５５】
また、上記した実施の形態では、他のノードは、監視システム２５であるが、本発明はこれに限ることはなく、他のＰＬＣ等のネットワークに接続され、メッセージ通信が可能な装置・機器等も他のノードに成り得る。
【図面の簡単な説明】
【００５６】
【図１】従来例のシステム構成の一例を示す図である。
【図２】本発明が適用されるネットワークシステムの一例を示す図である。
【図３】本発明に係るＣＰＵユニットの一実施の形態（第１の実施の形態）を示す内部構造を示す図である。
【図４】メッセージ並びにレスポンスのフレーム構成例を示す図である。
【図５】記憶保持する履歴情報のデータ構造の一例を示す図である。
【図６】本発明に係るＣＰＵユニットの一実施の形態（第１の実施の形態）における要部機能を示すフローチャートである。
【図７】本発明に係る通信ユニットの一実施の形態（第２の実施の形態）を示す内部構造を示す図である。
【図８】本発明に係る通信ユニットの一実施の形態（第２の実施の形態）における要部機能を示すフローチャートである。
【図９】ツールの設定画面の一例を示す図である。
【符号の説明】
【００５７】
１０  ＰＬＣ
１１  ＣＰＵユニット
１１ａ  システムＲＯＭ
１１ｂ  ＭＰＵ
１１ｃ  システムＲＡＭ
１１ｄ  ユーザメモリ
１１ｅ  ＡＳＩＣ
１１ｆ  ＩＯメモリ
１２  通信ユニット
１２ａ  ＭＰＵ
１２ｂ  ＡＳＩＣ
１２ｃ  第１ＲＡＭ
１２ｄ  ＲＯＭ
１２ｅ  第２ＲＡＭ
１２ｆ  不揮発性メモリ
２０  制御系ネットワーク
２１  制御対象機器
２２  情報系ネットワーク
２５  監視システム
【図１】
2005084843.tif 000003
【図２】
2005084843.tif 000004
【図３】
2005084843.tif 000005
【図４】
2005084843.tif 000006
【図５】
2005084843.tif 000007
【図６】
2005084843.tif 000008
【図７】
2005084843.tif 000009
【図８】
2005084843.tif 000010
【図９】
2005084843.tif 000011