(57)【要約】【課題】サイクリック通信を使用したデータ転送の高速性が得られる分散ＰＩＯシステムを得る。【解決手段】ＰＩＯプログラム６ａを作成または変更したメンテナンス装置１は、ＰＩＯプログラム６ａをサイクリック通信に適するように複数のブロックデータに分割し、各ブロックデータにブロックデータの開始及び終了を示す開始カウンタ及び終了カウンタを付加して、トークンパシング通信インタフェース８を介して統括ＰＬＣユニット２ａに送信し、これを受信した統括ＰＬＣユニット２ａでは、サイクリック通信５により、パラレル入出力を行うＰＩＯカードが実装されたリモートＰＩＯユニット３ａにＰＩＯプログラム６ｂを送信し、リモートＰＩＯユニット３ａでは、受信したＰＩＯプログラム６ｂを実行することによりＰＩＯカードの制御を行うようにした。【選択図】        図１
2005004394.tif 000002
【特許請求の範囲】
【請求項１】
制御プログラムを作成または変更し、上記制御プログラムを光通信ネットワークを介して送信するメンテナンス装置、このメンテナンス装置に上記光通信ネットワークを介して接続され、上記メンテナンス装置により送信された制御プログラムを受信し、上記受信した制御プログラムをサイクリック通信により送信する統括ＰＬＣユニット、及びパラレル入出力を行うＰＩＯカードが実装され、上記統括ＰＬＣユニットからサイクリック通信により送信された制御プログラムを受信して、上記制御プログラムを実行することにより、上記ＰＩＯカードの制御を行うリモートＰＩＯユニットを備え、上記メンテナンス装置は、上記統括ＰＬＣユニットによる上記リモートＰＩＯユニットへのサイクリック通信に適するように、上記制御プログラムを複数のブロックデータに分割すると共に上記分割された各ブロックデータに、上記ブロックデータの開始及び終了を示す開始カウンタ及び終了カウンタを付加して上記統括ＰＬＣユニットに送信することを特徴とする分散ＰＩＯシステム。
【請求項２】
上記リモートＰＩＯユニットは、上記制御プログラムの受信を示す受信フラグデータを上記統括ＰＬＣユニットを経由して上記メンテナンス装置に送信することを特徴とする請求項１記載の分散ＰＩＯシステム。
【請求項３】
上記リモートＰＩＯユニットは、受信したブロックデータをそのまま上記統括ＰＬＣユニットを経由して上記メンテナンス装置に返信することを特徴とする請求項１記載の分散ＰＩＯシステム。
【請求項４】
上記リモートＰＩＯユニットは、受信したブロックデータに基づく処理結果を示すデータを作成し、上記処理結果を示すデータに、このデータの開始及び終了を示す開始カウンタ及び終了カウンタを付加して上記統括ＰＬＣユニットを経由して上記メンテナンス装置に送信することを特徴とする請求項１記載の分散ＰＩＯシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、パラレル入出力を用いて、プラントを制御・監視する分散ＰＩＯ（Ｐａｒａｌｌｅｌ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）システムに関するものである。
【０００２】
【従来の技術】
従来の分散処理システムは、特許文献１のように、複数のＣＰＵを用いて、システム全体を統括するメインＣＰＵシステムから、各機能を分担するサブＣＰＵシステムへ、プログラムやデータをブロック転送していた。このため、メインＣＰＵシステム及びサブＣＰＵシステムは、コミュニケーションレジスタとバスコントローラを介して結合されている。
【０００３】
【特許文献１】
特開平４−２６２４５１号公報（第３〜４頁、図１）
【０００４】
【発明が解決しようとする課題】
特許文献１の従来の分散処理システムでは、バスコントローラは、転送に当たってサブＣＰＵシステムを停止させて、メインＣＰＵシステムからサブＣＰＵシステムのメモリへアクセスさせていたので、サブＣＰＵシステムをリセット状態にする必要があった。この方法では、メインＣＰＵシステムに負担が集中するため、大量のデータ転送を行うには問題があった。
【０００５】
このため、最近では、大量のデータ転送を行うプラントの制御・監視においては、分散ＰＩＯシステムが用いられるようになってきている。これは、パラレル入出力を用いて、入出力要求が集中するのを防き、通信負荷を分散させるようにしたものである。
従来の分散ＰＩＯシステムは、パラレル入出力カードの制御プログラムであるＰＩＯプログラムをメンテナンスするメンテナンス装置と、このメンテナンス装置からのＰＩＯプログラムを受信し、それを実行することにより、実装されているパラレル入出力カードを制御するリモートＰＩＯユニットと、リモートＰＩＯユニットを統括し、メンテナンス装置からのＰＩＯプログラムのリモートＰＩＯユニットへの送信を中継する統括ＰＬＣユニットにより構成され、統括ＰＬＣユニットとリモートＰＩＯユニット間は、サイクリック通信により、ＰＩＯプログラムをブロックデータに分割して送信する。このとき、転送が完了したかどうかを判定するため、従来では転送完了を示すために出力フラグを設けている。
【０００６】
従来の分散ＰＩＯシステムでは、メンテナンス装置からリモートＰＩＯユニットへの転送データ出力が発生した場合に、出力フラグをＯＮにする。リモートＰＩＯユニット側では出力フラグがＯＮになったことで、データが転送されてくることを検知する。メンテナンス装置側は、転送データの出力が完了した時点で出力フラグをＯＦＦにする。リモートＰＩＯ側は出力フラグがＯＦＦになったことで転送データを有効、同時性確保とみなし取り込みを行う。なお、出力フラグもサイクリック伝送されるデータの１つである。
【０００７】
従来の分散ＰＩＯシステムのサイクリック通信における転送方式は、以上のように行われ、統括ＰＬＣユニットからサイクリック通信により転送されてきたＰＩＯプログラムのブロックは、出力フラグのＯＮ／ＯＦＦの変化を判断するので、サイクリック通信の１サイクル目で出力フラグがＯＮになったことを検知した場合に、次の１サイクルで出力フラグがＯＦＦになったことを検知してデータを取り込むため、最低でも２サイクル周期（１００ｍｓ周期×２）以上で１ブロックのデータが転送完了する。従って、転送に時間がかかるという問題点があった。
【０００８】
この発明は、上記のような問題点を解決するためになされたものであり、サイクリック通信を使用したデータ転送の高速性を得るようにした分散ＰＩＯシステムを得ることを目的としている。
【０００９】
【課題を解決するための手段】
この発明に係わる分散ＰＩＯシステムにおいては、制御プログラムを作成または変更し、制御プログラムを光通信ネットワークを介して送信するメンテナンス装置、このメンテナンス装置に光通信ネットワークを介して接続され、メンテナンス装置により送信された制御プログラムを受信し、受信した制御プログラムをサイクリック通信により送信する統括ＰＬＣユニット、及びパラレル入出力を行うＰＩＯカードが実装され、統括ＰＬＣユニットからサイクリック通信により送信された制御プログラムを受信して、制御プログラムを実行することにより、ＰＩＯカードの制御を行うリモートＰＩＯユニットを備え、メンテナンス装置は、統括ＰＬＣユニットによるリモートＰＩＯユニットへのサイクリック通信に適するように、制御プログラムを複数のブロックデータに分割すると共に分割された各ブロックデータに、ブロックデータの開始及び終了を示す開始カウンタ及び終了カウンタを付加して統括ＰＬＣユニットに送信するものである。
【００１０】
【発明の実施の形態】
実施の形態１．
以下、この発明の実施の形態１を図に基づいて説明する。
図１は、この発明の実施の形態１による分散ＰＩＯシステムを示すシステム構成図である。
図１において、メンテナンス装置１は、ＰＩＯプログラムをメンテナンスし、リモートＰＩＯユニット３ａ〜３ｄへ転送する。統括ＰＬＣユニット２ａ、２ｂは、リモートＰＩＯ分散システムを統括するもので、リモートＰＩＯユニット３ａ、３ｂは、この統括ＰＬＣユニット２ａに接続され、リモートＰＩＯユニット３ｃ、３ｄは、統括ＰＬＣユニット２ｂに接続され、パラレル入出力を行うＰＩＯカードがそれぞれに実装されている。メンテナンス装置１と統括ＰＬＣユニット２ａ、２ｂとは、光通信ネットワーク４により接続されている。サイクリック通信５は、統括ＰＬＣユニット２ａとリモートＰＩＯユニット３ａ、３ｂを接続する。ＰＩＯプログラム６ａ、６ｂは、リモートＰＩＯユニット３ａ〜３ｄ上で動作する。メンテナンス装置１の転送プログラム７は、ＰＩＯプログラム６ａをトークンパッシング通信インタフェース８を使用し、統括ＰＬＣユニット２ａ、２ｂへ送信する。この送信には、ネットワークの各ノードをトークンというネットワーク制御データが巡回し、トークンを持っているノードのみが送信可能になるトークンパッシング通信を用いている。
【００１１】
統括ＰＬＣユニット２ａの転送デバイス９には、メンテナンス装置１からトークンパッシング通信インタフェース１０を経由したデータが書き込まれる。サイクリック通信インタフェース１１によって、転送デバイス９に書き込まれたデータをサイクリック通信５で、リモートＰＩＯユニット３ａへ送信される。
リモートＰＩＯユニット３ａのＣＰＵ１２は、ＰＩＯプログラム６ｂを動作させる。ＲＡＭ１３には、ＰＩＯプログラム６ｂ及び受信プログラム１４が動作時に格納される。受信プログラム１４は、メンテナンス装置１から統括ＰＬＣユニット２ａを経由して受信したＰＩＯプログラム６ｂを、フラッシュメモリであるＦ−ＲＯＭ１５に格納する。Ｆ−ＲＯＭ１５には、サイクリック通信インタフェース２０を経由して受信プログラム１４により受信されたＰＩＯプログラム６ｂが格納される。
サイクリック通信に用いられるブロックデータ１６は、転送データをブロックに区切ったものであり、メンテナンス装置１から統括ＰＬＣユニット２ａを経由してリモートＰＩＯユニット３ａ、３ｂへ送信されるＰＩＯプログラム６ａを送信データ長に応じたデータ長に分割した転送データ１８、及びこの転送データを１ブロックと認識させるためのブロックの開始を示す値である開始カウンタ１７及びブロックの終了を示す値である終了カウンタ１９が付加されている。
【００１２】
次に、動作について説明する。
メンテナンス装置１にトークンパッシング通信インタフェース８を使用した転送プログラム７を追加し、リモートＰＩＯユニット３ａにメンテナンス装置１から統括ＰＬＣユニット２ａを介して転送されてきたＰＩＯプログラム６ｂをサイクリック通信インタフェース２０を経由してＦ−ＲＯＭ１５へ書き込む受信プログラム１４を追加する。そして、転送プログラム７と受信プログラム１４の間で送受信される転送データにブロックの開始を示す開始カウンタ１７及びブロックの終了を示す終了カウンタ１９を追加する。
【００１３】
リモートＰＩＯユニット３ａのＣＰＵ１２は、Ｆ−ＲＯＭ１５に格納されたＰＩＯプログラム６ｂをＲＡＭ１３に展開し、実行することで、リモートＰＩＯユニット３ａ内に実装されたＰＩＯカードの制御を行う。
ＰＩＯカードの制御を行うＰＩＯプログラムを作成・変更した場合、メンテナンス装置１の転送プログラム７では、リモートＰＩＯユニット３ａへ送信するＰＩＯプログラム６ａをサイクリック通信が１回に送信可能なブロックに分割し、統括ＰＬＣユニット２ａへトークンパッシング通信により送信し、統括ＰＬＣユニット２ａを経由して、統括ＰＬＣユニット２ａとリモートＰＩＯユニット３ａ間のサイクリック通信により、リモートＰＩＯユニット３ａのＦ−ＲＯＭ１５に転送する。
【００１４】
統括ＰＬＣユニット２ａとリモートＰＩＯユニット３ａ間のサイクリック通信は、サイクリック通信インターフェース１１により、サイクリック通信メモリ上にあるデータをサイクリック通信メモリの先頭から順にリモートＰＩＯユニット３ａのサイクリック通信メモリへ定周期（１００ｍｓ周期）で順次転送が行われる。サイクリック通信では，データ構成に関係なく定周期でサイクリック通信メモリ間の通信が行われる。このとき、受信した各ブロックデータを確認するために、開始カウンタと終了カウンタが付加されている。
【００１５】
なお、上述の実施の形態１では、転送データ１８に開始カウンタ１７及び終了カウンタ１９を追加することで、転送データ受信側であるリモートＰＩＯユニット３ａの受信プログラム１４が開始カウンタ１７と終了カウンタ１９の一致により、転送データのサイクリック伝送における同時性が確認できる。受信プログラム１４の周期で開始カウンタ１７、終了カウンタ１９を含めた転送データを読み込み、開始カウンタ１７と終了カウンタ１９が一致していれば有効データとするため、最低１サイクルで有効な転送データであることが認識でき、転送速度向上と信頼性の高い転送データを得ることができる。
また、開始カウンタ１７と終了カウンタ１９は、１回の転送データの同時性を確保するために設けるもので、前回転送したカウンタ値と異なる値であれば特に規定はしない。実施の形態１では初期値が０で始まり、転送ごとに１カウントずつカウントアップしていく値で説明する。
【００１６】
図２は、この発明の実施の形態１による分散ＰＩＯシステムの転送プログラムの動作を示すフローチャートである。
図３は、この発明の実施の形態１による分散ＰＩＯシステムの受信プログラムの動作を示すフローチャートである。
【００１７】
以下、図２及び図３に基づいてＰＩＯプログラム転送時の動作を説明する。
図２では、メンテナンス装置１内の転送プログラム７は、ＰＩＯプログラム６ａが変更となった場合に、メンテナンス装置１のコンソールやメンテナンスプログラムから起動される。
リモートＰＩＯユニット３ａ内の受信プログラム１４は、リモートＰＩＯユニット３ａ起動直後から定周期で繰り返し実行される。サイクリック転送の周期とは非同期で実行される。
メンテナンス装置１内の転送プログラム７が起動されると、初期処理として開始カウンタ１７と終了カウンタ１９を０クリアする（ステップＳＴ１）。
次に、ステップＳＴ２のＰＩＯプログラムを全て転送完了したかどうかの判定へ進む。ステップＳＴ２の判定処理へ進むと、最初はＰＩＯプログラムの転送が完了していないので、ステップＳＴ２からステップＳＴ３へ進む。
【００１８】
転送するＰＩＯプログラム６ａをサイクリック通信インタフェース１１で１度に転送が可能なデータ長分のブロックへ分割する。前回送信したブロック位置を記憶して置き、転送が終了した次のブロックを取り出し（ステップＳＴ３）、開始カウンタ１７と終了カウンタ１９をステップＳＴ３で切り出した１ブロックの転送データ１８の前後に付加し（ステップＳＴ４）、トークンパッシング通信インタフェース８を使用して統括ＰＬＣユニット２ａへ送信する（ステップＳＴ５）。
１ブロックの転送が完了した後に開始カウンタ１７、終了カウンタ１９を１カウント加算し（ステップＳＴ６）、ステップＳＴ２へ戻る。ステップＳＴ２では全てのＰＩＯプログラムが転送完了したことを確認できた時点で転送プログラム７の処理を終了する。
【００１９】
次に、図３の受信プラグラムの動作について説明する。
リモートＰＩＯユニット３ａ内で定周期実行（サイクリック通信とは別周期）を繰り返している受信プログラム１４では、開始カウンタ１７を前回値と比較し（ステップＳＴ７）、変化が確認されるとステップＳＴ８へ進む。
ステップＳＴ８では開始カウンタ１７と終了カウンタ１９が一致するか確認し一致すると、次のステップＳＴ９へ進む。
開始カウンタ１７と終了カウンタ１９が一致した場合、即ち転送データ１８の同時性が確保できた（サイクリック通信のサイクリック処理の途中でない）ので、開始カウンタ１７と終了カウンタ１９に挟まれた転送データ１８のみをＦ−ＲＯＭ１５へ書き込む。
【００２０】
実施の形態１によれば、転送データ１８に開始カウンタ１７及び終了カウンタ１９を追加することで、転送データ受信側であるリモートＰＩＯユニット３ａの受信プログラムが開始カウンタと終了カウンタの一致により、転送データのサイクリック伝送における同時性が確認できる。
また、受信プログラムの周期で開始カウンタ、終了カウンタを含めた転送データを読み込み、開始カウンタと終了カウンタが一致していれば有効データとするため、最低１サイクルで有効な転送データであることが認識でき、転送速度向上と信頼性の高い転送データを得ることができる。
【００２１】
実施の形態２．
図４は、この発明の実施の形態２による分散ＰＩＯシステムの転送プログラムの動作を示すフローチャートである。
図４では、図２のステップＳＴ５の次にステップＳＴ１０を追加したものである。
図５は、この発明の実施の形態２による分散ＰＩＯシステムの受信プログラムの動作を示すフローチャートである。
図５では、図３のステップＳＴ９の次にステップＳＴ１１を追加したものである。
【００２２】
実施の形態１では、転送データを開始カウンタ及び終了カウンタでパッキングして送信する方法を述べたが、実施の形態２は、転送プログラム７側へ図４に示すようにリモートＰＩＯユニットの転送データ受信が完了したことを確認するためのステップＳＴ１０を追加し、リモートＰＩＯユニット側で１ブロックの受信が完了したことを検知できるようにし、受信プログラム１４側へ図５に示すように１ブロック受信完了時点で受信フラグデータを‘ＯＮ’にする処理を追加するようにした。
この受信フラグデータは、リモートＰＩＯユニットから、メンテナンス装置１に、統括ＰＬＣユニットを経由して、それぞれの通信方式により送信され、メンテナンス装置１で、転送データ受信が完了したことが確認される。これにより、受信プログラム１４側が確実に受信できたことを転送プログラム７側で確認できるようになり、より信頼性と転送速度を向上させることができる。
【００２３】
実施の形態２によれば、リモートＰＩＯユニット側でＰＩＯプログラムのブロック受信完了時に受信フラグデータを送信することにより、メンテナンス装置側で余分な待ち時間を設ける必要がなくなり、転送速度を向上させることができる。
【００２４】
実施の形態３．
図６は、この発明の実施の形態３による分散ＰＩＯシステムのデータの流れを示す図である。
図６において、１、２ａ、３ａ、１６〜１９は図１におけるものと同一のものである。
実施の形態１では、メンテナンス装置からの転送データを開始カウンタ及び終了カウンタでパッキングして送信する方法を述べたが、実施の形態３は、図６に示すように、メンテナンス装置１から転送されたデータを、リモートＰＩＯユニット３ａ側からメンテナンス装置１に統括ＰＬＣユニットを経由して、それぞれの通信方式により、そのまま折り返し、送信するようにした。
【００２５】
実施の形態３によれば、これにより、メンテナンス装置１は、リモートＰＩＯユニット３ａによる転送データの受信が確認できるため、より信頼性を向上させることができる。
【００２６】
実施の形態４．
図７は、この発明の実施の形態４による分散ＰＩＯシステムのデータの流れを示す図である。
図７において、１、２ａ、３ａ、１６〜１９は図１におけるものと同一のものである。
【００２７】
実施の形態１では、メンテナンス装置からの転送データを開始カウンタ及び終了カウンタでパッキングして送信する方法を述べたが、実施の形態４は、図７に示すように、処理結果データ２１も開始カウンタ１７及び終了カウンタ１９でパッキングし、折り返し、リモートＰＩＯユニット３ａ側からメンテナンス装置１に統括ＰＬＣユニットを経由して、それぞれの通信方式により、送信するようにした。
実施の形態３では、リモートＰＩＯユニットから転送データをそのまま折り返すため、メンテナンス装置では、リモートＰＩＯユニット側の処理結果をリアルタイムに検知することができない問題があったが、実施の形態４では、折り返し転送データの代わりに、リモートＰＩＯユニットからの応答の処理結果データ２１を開始カウンタ１７、終了カウンタ１９でパッキングしたブロックデータ１６として送り返すことにより、メンテナンス装置側では、処理結果をリアルタイムに得ることができる。
【００２８】
実施の形態４によれば、これにより、リモートＰＩＯユニット側の処理結果をリアルタイムにメンテナンス装置に通知することができる。
【００２９】
【発明の効果】
この発明は、以上説明したように、制御プログラムを作成または変更し、制御プログラムを光通信ネットワークを介して送信するメンテナンス装置、このメンテナンス装置に光通信ネットワークを介して接続され、メンテナンス装置により送信された制御プログラムを受信し、受信した制御プログラムをサイクリック通信により送信する統括ＰＬＣユニット、及びパラレル入出力を行うＰＩＯカードが実装され、統括ＰＬＣユニットからサイクリック通信により送信された制御プログラムを受信して、制御プログラムを実行することにより、ＰＩＯカードの制御を行うリモートＰＩＯユニットを備え、メンテナンス装置は、統括ＰＬＣユニットによるリモートＰＩＯユニットへのサイクリック通信に適するように、制御プログラムを複数のブロックデータに分割すると共に分割された各ブロックデータに、ブロックデータの開始及び終了を示す開始カウンタ及び終了カウンタを付加して統括ＰＬＣユニットに送信するので、受信側のリモートＰＩＯユニットでは、ブロックデータに付加された開始カウンタと終了カウンタにより、即座にブロックデータを確認でき、転送速度向上と信頼性の高いサイクリック通信を行うことができる。
【図面の簡単な説明】
【図１】この発明の実施の形態１による分散ＰＩＯシステムを示すシステム構成図である。
【図２】この発明の実施の形態１による分散ＰＩＯシステムの転送プログラムの動作を示すフローチャートである。
【図３】この発明の実施の形態１による分散ＰＩＯシステムの受信プログラムの動作を示すフローチャートである。
【図４】この発明の実施の形態２による分散ＰＩＯシステムの転送プログラムの動作を示すフローチャートである。
【図５】この発明の実施の形態２による分散ＰＩＯシステムの受信プログラムの動作を示すフローチャートである。
【図６】この発明の実施の形態３による分散ＰＩＯシステムのデータの流れを示す図である。
【図７】この発明の実施の形態４による分散ＰＩＯシステムのデータの流れを示す図である。
【符号の説明】
１  メンテナンス装置、２ａ，２ｂ  統括ＰＬＣユニット、
３ａ〜３ｄ  リモートＰＩＯユニット、４  光通信ネットワーク、
５  サイクリック通信、６ａ，６ｂ  ＰＩＯプログラム、７  転送プログラム、
８  トークンパッシング通信インタフェース、９  転送デバイス、
１０  トークンパッシング通信インタフェース、
１１  サイクリック通信インタフェース、１２  ＣＰＵ、１３  ＲＡＭ、
１４  受信プログラム、１５  Ｆ−ＲＯＭ、１６  ブロックデータ、
１７  開始カウンタ、１８  転送データ、１９  終了カウンタ、
２０  サイクリック通信インタフェース、２１  処理結果データ。
【図１】
2005004394.tif 000003
【図２】
2005004394.tif 000004
【図３】
2005004394.tif 000005
【図４】
2005004394.tif 000006
【図５】
2005004394.tif 000007
【図６】
2005004394.tif 000008
【図７】
2005004394.tif 000009