JP2005004394A - 分散pioシステム - Google Patents
分散pioシステム Download PDFInfo
- Publication number
- JP2005004394A JP2005004394A JP2003165863A JP2003165863A JP2005004394A JP 2005004394 A JP2005004394 A JP 2005004394A JP 2003165863 A JP2003165863 A JP 2003165863A JP 2003165863 A JP2003165863 A JP 2003165863A JP 2005004394 A JP2005004394 A JP 2005004394A
- Authority
- JP
- Japan
- Prior art keywords
- pio
- unit
- program
- data
- maintenance device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
- Programmable Controllers (AREA)
Abstract
【課題】サイクリック通信を使用したデータ転送の高速性が得られる分散PIOシステムを得る。
【解決手段】PIOプログラム6aを作成または変更したメンテナンス装置1は、PIOプログラム6aをサイクリック通信に適するように複数のブロックデータに分割し、各ブロックデータにブロックデータの開始及び終了を示す開始カウンタ及び終了カウンタを付加して、トークンパシング通信インタフェース8を介して統括PLCユニット2aに送信し、これを受信した統括PLCユニット2aでは、サイクリック通信5により、パラレル入出力を行うPIOカードが実装されたリモートPIOユニット3aにPIOプログラム6bを送信し、リモートPIOユニット3aでは、受信したPIOプログラム6bを実行することによりPIOカードの制御を行うようにした。
【選択図】 図1
【解決手段】PIOプログラム6aを作成または変更したメンテナンス装置1は、PIOプログラム6aをサイクリック通信に適するように複数のブロックデータに分割し、各ブロックデータにブロックデータの開始及び終了を示す開始カウンタ及び終了カウンタを付加して、トークンパシング通信インタフェース8を介して統括PLCユニット2aに送信し、これを受信した統括PLCユニット2aでは、サイクリック通信5により、パラレル入出力を行うPIOカードが実装されたリモートPIOユニット3aにPIOプログラム6bを送信し、リモートPIOユニット3aでは、受信したPIOプログラム6bを実行することによりPIOカードの制御を行うようにした。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
この発明は、パラレル入出力を用いて、プラントを制御・監視する分散PIO(Parallel Input/Output)システムに関するものである。
【0002】
【従来の技術】
従来の分散処理システムは、特許文献1のように、複数のCPUを用いて、システム全体を統括するメインCPUシステムから、各機能を分担するサブCPUシステムへ、プログラムやデータをブロック転送していた。このため、メインCPUシステム及びサブCPUシステムは、コミュニケーションレジスタとバスコントローラを介して結合されている。
【0003】
【特許文献1】
特開平4−262451号公報(第3〜4頁、図1)
【0004】
【発明が解決しようとする課題】
特許文献1の従来の分散処理システムでは、バスコントローラは、転送に当たってサブCPUシステムを停止させて、メインCPUシステムからサブCPUシステムのメモリへアクセスさせていたので、サブCPUシステムをリセット状態にする必要があった。この方法では、メインCPUシステムに負担が集中するため、大量のデータ転送を行うには問題があった。
【0005】
このため、最近では、大量のデータ転送を行うプラントの制御・監視においては、分散PIOシステムが用いられるようになってきている。これは、パラレル入出力を用いて、入出力要求が集中するのを防き、通信負荷を分散させるようにしたものである。
従来の分散PIOシステムは、パラレル入出力カードの制御プログラムであるPIOプログラムをメンテナンスするメンテナンス装置と、このメンテナンス装置からのPIOプログラムを受信し、それを実行することにより、実装されているパラレル入出力カードを制御するリモートPIOユニットと、リモートPIOユニットを統括し、メンテナンス装置からのPIOプログラムのリモートPIOユニットへの送信を中継する統括PLCユニットにより構成され、統括PLCユニットとリモートPIOユニット間は、サイクリック通信により、PIOプログラムをブロックデータに分割して送信する。このとき、転送が完了したかどうかを判定するため、従来では転送完了を示すために出力フラグを設けている。
【0006】
従来の分散PIOシステムでは、メンテナンス装置からリモートPIOユニットへの転送データ出力が発生した場合に、出力フラグをONにする。リモートPIOユニット側では出力フラグがONになったことで、データが転送されてくることを検知する。メンテナンス装置側は、転送データの出力が完了した時点で出力フラグをOFFにする。リモートPIO側は出力フラグがOFFになったことで転送データを有効、同時性確保とみなし取り込みを行う。なお、出力フラグもサイクリック伝送されるデータの1つである。
【0007】
従来の分散PIOシステムのサイクリック通信における転送方式は、以上のように行われ、統括PLCユニットからサイクリック通信により転送されてきたPIOプログラムのブロックは、出力フラグのON/OFFの変化を判断するので、サイクリック通信の1サイクル目で出力フラグがONになったことを検知した場合に、次の1サイクルで出力フラグがOFFになったことを検知してデータを取り込むため、最低でも2サイクル周期(100ms周期×2)以上で1ブロックのデータが転送完了する。従って、転送に時間がかかるという問題点があった。
【0008】
この発明は、上記のような問題点を解決するためになされたものであり、サイクリック通信を使用したデータ転送の高速性を得るようにした分散PIOシステムを得ることを目的としている。
【0009】
【課題を解決するための手段】
この発明に係わる分散PIOシステムにおいては、制御プログラムを作成または変更し、制御プログラムを光通信ネットワークを介して送信するメンテナンス装置、このメンテナンス装置に光通信ネットワークを介して接続され、メンテナンス装置により送信された制御プログラムを受信し、受信した制御プログラムをサイクリック通信により送信する統括PLCユニット、及びパラレル入出力を行うPIOカードが実装され、統括PLCユニットからサイクリック通信により送信された制御プログラムを受信して、制御プログラムを実行することにより、PIOカードの制御を行うリモートPIOユニットを備え、メンテナンス装置は、統括PLCユニットによるリモートPIOユニットへのサイクリック通信に適するように、制御プログラムを複数のブロックデータに分割すると共に分割された各ブロックデータに、ブロックデータの開始及び終了を示す開始カウンタ及び終了カウンタを付加して統括PLCユニットに送信するものである。
【0010】
【発明の実施の形態】
実施の形態1.
以下、この発明の実施の形態1を図に基づいて説明する。
図1は、この発明の実施の形態1による分散PIOシステムを示すシステム構成図である。
図1において、メンテナンス装置1は、PIOプログラムをメンテナンスし、リモートPIOユニット3a〜3dへ転送する。統括PLCユニット2a、2bは、リモートPIO分散システムを統括するもので、リモートPIOユニット3a、3bは、この統括PLCユニット2aに接続され、リモートPIOユニット3c、3dは、統括PLCユニット2bに接続され、パラレル入出力を行うPIOカードがそれぞれに実装されている。メンテナンス装置1と統括PLCユニット2a、2bとは、光通信ネットワーク4により接続されている。サイクリック通信5は、統括PLCユニット2aとリモートPIOユニット3a、3bを接続する。PIOプログラム6a、6bは、リモートPIOユニット3a〜3d上で動作する。メンテナンス装置1の転送プログラム7は、PIOプログラム6aをトークンパッシング通信インタフェース8を使用し、統括PLCユニット2a、2bへ送信する。この送信には、ネットワークの各ノードをトークンというネットワーク制御データが巡回し、トークンを持っているノードのみが送信可能になるトークンパッシング通信を用いている。
【0011】
統括PLCユニット2aの転送デバイス9には、メンテナンス装置1からトークンパッシング通信インタフェース10を経由したデータが書き込まれる。サイクリック通信インタフェース11によって、転送デバイス9に書き込まれたデータをサイクリック通信5で、リモートPIOユニット3aへ送信される。
リモートPIOユニット3aのCPU12は、PIOプログラム6bを動作させる。RAM13には、PIOプログラム6b及び受信プログラム14が動作時に格納される。受信プログラム14は、メンテナンス装置1から統括PLCユニット2aを経由して受信したPIOプログラム6bを、フラッシュメモリであるF−ROM15に格納する。F−ROM15には、サイクリック通信インタフェース20を経由して受信プログラム14により受信されたPIOプログラム6bが格納される。
サイクリック通信に用いられるブロックデータ16は、転送データをブロックに区切ったものであり、メンテナンス装置1から統括PLCユニット2aを経由してリモートPIOユニット3a、3bへ送信されるPIOプログラム6aを送信データ長に応じたデータ長に分割した転送データ18、及びこの転送データを1ブロックと認識させるためのブロックの開始を示す値である開始カウンタ17及びブロックの終了を示す値である終了カウンタ19が付加されている。
【0012】
次に、動作について説明する。
メンテナンス装置1にトークンパッシング通信インタフェース8を使用した転送プログラム7を追加し、リモートPIOユニット3aにメンテナンス装置1から統括PLCユニット2aを介して転送されてきたPIOプログラム6bをサイクリック通信インタフェース20を経由してF−ROM15へ書き込む受信プログラム14を追加する。そして、転送プログラム7と受信プログラム14の間で送受信される転送データにブロックの開始を示す開始カウンタ17及びブロックの終了を示す終了カウンタ19を追加する。
【0013】
リモートPIOユニット3aのCPU12は、F−ROM15に格納されたPIOプログラム6bをRAM13に展開し、実行することで、リモートPIOユニット3a内に実装されたPIOカードの制御を行う。
PIOカードの制御を行うPIOプログラムを作成・変更した場合、メンテナンス装置1の転送プログラム7では、リモートPIOユニット3aへ送信するPIOプログラム6aをサイクリック通信が1回に送信可能なブロックに分割し、統括PLCユニット2aへトークンパッシング通信により送信し、統括PLCユニット2aを経由して、統括PLCユニット2aとリモートPIOユニット3a間のサイクリック通信により、リモートPIOユニット3aのF−ROM15に転送する。
【0014】
統括PLCユニット2aとリモートPIOユニット3a間のサイクリック通信は、サイクリック通信インターフェース11により、サイクリック通信メモリ上にあるデータをサイクリック通信メモリの先頭から順にリモートPIOユニット3aのサイクリック通信メモリへ定周期(100ms周期)で順次転送が行われる。サイクリック通信では,データ構成に関係なく定周期でサイクリック通信メモリ間の通信が行われる。このとき、受信した各ブロックデータを確認するために、開始カウンタと終了カウンタが付加されている。
【0015】
なお、上述の実施の形態1では、転送データ18に開始カウンタ17及び終了カウンタ19を追加することで、転送データ受信側であるリモートPIOユニット3aの受信プログラム14が開始カウンタ17と終了カウンタ19の一致により、転送データのサイクリック伝送における同時性が確認できる。受信プログラム14の周期で開始カウンタ17、終了カウンタ19を含めた転送データを読み込み、開始カウンタ17と終了カウンタ19が一致していれば有効データとするため、最低1サイクルで有効な転送データであることが認識でき、転送速度向上と信頼性の高い転送データを得ることができる。
また、開始カウンタ17と終了カウンタ19は、1回の転送データの同時性を確保するために設けるもので、前回転送したカウンタ値と異なる値であれば特に規定はしない。実施の形態1では初期値が0で始まり、転送ごとに1カウントずつカウントアップしていく値で説明する。
【0016】
図2は、この発明の実施の形態1による分散PIOシステムの転送プログラムの動作を示すフローチャートである。
図3は、この発明の実施の形態1による分散PIOシステムの受信プログラムの動作を示すフローチャートである。
【0017】
以下、図2及び図3に基づいてPIOプログラム転送時の動作を説明する。
図2では、メンテナンス装置1内の転送プログラム7は、PIOプログラム6aが変更となった場合に、メンテナンス装置1のコンソールやメンテナンスプログラムから起動される。
リモートPIOユニット3a内の受信プログラム14は、リモートPIOユニット3a起動直後から定周期で繰り返し実行される。サイクリック転送の周期とは非同期で実行される。
メンテナンス装置1内の転送プログラム7が起動されると、初期処理として開始カウンタ17と終了カウンタ19を0クリアする(ステップST1)。
次に、ステップST2のPIOプログラムを全て転送完了したかどうかの判定へ進む。ステップST2の判定処理へ進むと、最初はPIOプログラムの転送が完了していないので、ステップST2からステップST3へ進む。
【0018】
転送するPIOプログラム6aをサイクリック通信インタフェース11で1度に転送が可能なデータ長分のブロックへ分割する。前回送信したブロック位置を記憶して置き、転送が終了した次のブロックを取り出し(ステップST3)、開始カウンタ17と終了カウンタ19をステップST3で切り出した1ブロックの転送データ18の前後に付加し(ステップST4)、トークンパッシング通信インタフェース8を使用して統括PLCユニット2aへ送信する(ステップST5)。
1ブロックの転送が完了した後に開始カウンタ17、終了カウンタ19を1カウント加算し(ステップST6)、ステップST2へ戻る。ステップST2では全てのPIOプログラムが転送完了したことを確認できた時点で転送プログラム7の処理を終了する。
【0019】
次に、図3の受信プラグラムの動作について説明する。
リモートPIOユニット3a内で定周期実行(サイクリック通信とは別周期)を繰り返している受信プログラム14では、開始カウンタ17を前回値と比較し(ステップST7)、変化が確認されるとステップST8へ進む。
ステップST8では開始カウンタ17と終了カウンタ19が一致するか確認し一致すると、次のステップST9へ進む。
開始カウンタ17と終了カウンタ19が一致した場合、即ち転送データ18の同時性が確保できた(サイクリック通信のサイクリック処理の途中でない)ので、開始カウンタ17と終了カウンタ19に挟まれた転送データ18のみをF−ROM15へ書き込む。
【0020】
実施の形態1によれば、転送データ18に開始カウンタ17及び終了カウンタ19を追加することで、転送データ受信側であるリモートPIOユニット3aの受信プログラムが開始カウンタと終了カウンタの一致により、転送データのサイクリック伝送における同時性が確認できる。
また、受信プログラムの周期で開始カウンタ、終了カウンタを含めた転送データを読み込み、開始カウンタと終了カウンタが一致していれば有効データとするため、最低1サイクルで有効な転送データであることが認識でき、転送速度向上と信頼性の高い転送データを得ることができる。
【0021】
実施の形態2.
図4は、この発明の実施の形態2による分散PIOシステムの転送プログラムの動作を示すフローチャートである。
図4では、図2のステップST5の次にステップST10を追加したものである。
図5は、この発明の実施の形態2による分散PIOシステムの受信プログラムの動作を示すフローチャートである。
図5では、図3のステップST9の次にステップST11を追加したものである。
【0022】
実施の形態1では、転送データを開始カウンタ及び終了カウンタでパッキングして送信する方法を述べたが、実施の形態2は、転送プログラム7側へ図4に示すようにリモートPIOユニットの転送データ受信が完了したことを確認するためのステップST10を追加し、リモートPIOユニット側で1ブロックの受信が完了したことを検知できるようにし、受信プログラム14側へ図5に示すように1ブロック受信完了時点で受信フラグデータを‘ON’にする処理を追加するようにした。
この受信フラグデータは、リモートPIOユニットから、メンテナンス装置1に、統括PLCユニットを経由して、それぞれの通信方式により送信され、メンテナンス装置1で、転送データ受信が完了したことが確認される。これにより、受信プログラム14側が確実に受信できたことを転送プログラム7側で確認できるようになり、より信頼性と転送速度を向上させることができる。
【0023】
実施の形態2によれば、リモートPIOユニット側でPIOプログラムのブロック受信完了時に受信フラグデータを送信することにより、メンテナンス装置側で余分な待ち時間を設ける必要がなくなり、転送速度を向上させることができる。
【0024】
実施の形態3.
図6は、この発明の実施の形態3による分散PIOシステムのデータの流れを示す図である。
図6において、1、2a、3a、16〜19は図1におけるものと同一のものである。
実施の形態1では、メンテナンス装置からの転送データを開始カウンタ及び終了カウンタでパッキングして送信する方法を述べたが、実施の形態3は、図6に示すように、メンテナンス装置1から転送されたデータを、リモートPIOユニット3a側からメンテナンス装置1に統括PLCユニットを経由して、それぞれの通信方式により、そのまま折り返し、送信するようにした。
【0025】
実施の形態3によれば、これにより、メンテナンス装置1は、リモートPIOユニット3aによる転送データの受信が確認できるため、より信頼性を向上させることができる。
【0026】
実施の形態4.
図7は、この発明の実施の形態4による分散PIOシステムのデータの流れを示す図である。
図7において、1、2a、3a、16〜19は図1におけるものと同一のものである。
【0027】
実施の形態1では、メンテナンス装置からの転送データを開始カウンタ及び終了カウンタでパッキングして送信する方法を述べたが、実施の形態4は、図7に示すように、処理結果データ21も開始カウンタ17及び終了カウンタ19でパッキングし、折り返し、リモートPIOユニット3a側からメンテナンス装置1に統括PLCユニットを経由して、それぞれの通信方式により、送信するようにした。
実施の形態3では、リモートPIOユニットから転送データをそのまま折り返すため、メンテナンス装置では、リモートPIOユニット側の処理結果をリアルタイムに検知することができない問題があったが、実施の形態4では、折り返し転送データの代わりに、リモートPIOユニットからの応答の処理結果データ21を開始カウンタ17、終了カウンタ19でパッキングしたブロックデータ16として送り返すことにより、メンテナンス装置側では、処理結果をリアルタイムに得ることができる。
【0028】
実施の形態4によれば、これにより、リモートPIOユニット側の処理結果をリアルタイムにメンテナンス装置に通知することができる。
【0029】
【発明の効果】
この発明は、以上説明したように、制御プログラムを作成または変更し、制御プログラムを光通信ネットワークを介して送信するメンテナンス装置、このメンテナンス装置に光通信ネットワークを介して接続され、メンテナンス装置により送信された制御プログラムを受信し、受信した制御プログラムをサイクリック通信により送信する統括PLCユニット、及びパラレル入出力を行うPIOカードが実装され、統括PLCユニットからサイクリック通信により送信された制御プログラムを受信して、制御プログラムを実行することにより、PIOカードの制御を行うリモートPIOユニットを備え、メンテナンス装置は、統括PLCユニットによるリモートPIOユニットへのサイクリック通信に適するように、制御プログラムを複数のブロックデータに分割すると共に分割された各ブロックデータに、ブロックデータの開始及び終了を示す開始カウンタ及び終了カウンタを付加して統括PLCユニットに送信するので、受信側のリモートPIOユニットでは、ブロックデータに付加された開始カウンタと終了カウンタにより、即座にブロックデータを確認でき、転送速度向上と信頼性の高いサイクリック通信を行うことができる。
【図面の簡単な説明】
【図1】この発明の実施の形態1による分散PIOシステムを示すシステム構成図である。
【図2】この発明の実施の形態1による分散PIOシステムの転送プログラムの動作を示すフローチャートである。
【図3】この発明の実施の形態1による分散PIOシステムの受信プログラムの動作を示すフローチャートである。
【図4】この発明の実施の形態2による分散PIOシステムの転送プログラムの動作を示すフローチャートである。
【図5】この発明の実施の形態2による分散PIOシステムの受信プログラムの動作を示すフローチャートである。
【図6】この発明の実施の形態3による分散PIOシステムのデータの流れを示す図である。
【図7】この発明の実施の形態4による分散PIOシステムのデータの流れを示す図である。
【符号の説明】
1 メンテナンス装置、2a,2b 統括PLCユニット、
3a〜3d リモートPIOユニット、4 光通信ネットワーク、
5 サイクリック通信、6a,6b PIOプログラム、7 転送プログラム、
8 トークンパッシング通信インタフェース、9 転送デバイス、
10 トークンパッシング通信インタフェース、
11 サイクリック通信インタフェース、12 CPU、13 RAM、
14 受信プログラム、15 F−ROM、16 ブロックデータ、
17 開始カウンタ、18 転送データ、19 終了カウンタ、
20 サイクリック通信インタフェース、21 処理結果データ。
【発明の属する技術分野】
この発明は、パラレル入出力を用いて、プラントを制御・監視する分散PIO(Parallel Input/Output)システムに関するものである。
【0002】
【従来の技術】
従来の分散処理システムは、特許文献1のように、複数のCPUを用いて、システム全体を統括するメインCPUシステムから、各機能を分担するサブCPUシステムへ、プログラムやデータをブロック転送していた。このため、メインCPUシステム及びサブCPUシステムは、コミュニケーションレジスタとバスコントローラを介して結合されている。
【0003】
【特許文献1】
特開平4−262451号公報(第3〜4頁、図1)
【0004】
【発明が解決しようとする課題】
特許文献1の従来の分散処理システムでは、バスコントローラは、転送に当たってサブCPUシステムを停止させて、メインCPUシステムからサブCPUシステムのメモリへアクセスさせていたので、サブCPUシステムをリセット状態にする必要があった。この方法では、メインCPUシステムに負担が集中するため、大量のデータ転送を行うには問題があった。
【0005】
このため、最近では、大量のデータ転送を行うプラントの制御・監視においては、分散PIOシステムが用いられるようになってきている。これは、パラレル入出力を用いて、入出力要求が集中するのを防き、通信負荷を分散させるようにしたものである。
従来の分散PIOシステムは、パラレル入出力カードの制御プログラムであるPIOプログラムをメンテナンスするメンテナンス装置と、このメンテナンス装置からのPIOプログラムを受信し、それを実行することにより、実装されているパラレル入出力カードを制御するリモートPIOユニットと、リモートPIOユニットを統括し、メンテナンス装置からのPIOプログラムのリモートPIOユニットへの送信を中継する統括PLCユニットにより構成され、統括PLCユニットとリモートPIOユニット間は、サイクリック通信により、PIOプログラムをブロックデータに分割して送信する。このとき、転送が完了したかどうかを判定するため、従来では転送完了を示すために出力フラグを設けている。
【0006】
従来の分散PIOシステムでは、メンテナンス装置からリモートPIOユニットへの転送データ出力が発生した場合に、出力フラグをONにする。リモートPIOユニット側では出力フラグがONになったことで、データが転送されてくることを検知する。メンテナンス装置側は、転送データの出力が完了した時点で出力フラグをOFFにする。リモートPIO側は出力フラグがOFFになったことで転送データを有効、同時性確保とみなし取り込みを行う。なお、出力フラグもサイクリック伝送されるデータの1つである。
【0007】
従来の分散PIOシステムのサイクリック通信における転送方式は、以上のように行われ、統括PLCユニットからサイクリック通信により転送されてきたPIOプログラムのブロックは、出力フラグのON/OFFの変化を判断するので、サイクリック通信の1サイクル目で出力フラグがONになったことを検知した場合に、次の1サイクルで出力フラグがOFFになったことを検知してデータを取り込むため、最低でも2サイクル周期(100ms周期×2)以上で1ブロックのデータが転送完了する。従って、転送に時間がかかるという問題点があった。
【0008】
この発明は、上記のような問題点を解決するためになされたものであり、サイクリック通信を使用したデータ転送の高速性を得るようにした分散PIOシステムを得ることを目的としている。
【0009】
【課題を解決するための手段】
この発明に係わる分散PIOシステムにおいては、制御プログラムを作成または変更し、制御プログラムを光通信ネットワークを介して送信するメンテナンス装置、このメンテナンス装置に光通信ネットワークを介して接続され、メンテナンス装置により送信された制御プログラムを受信し、受信した制御プログラムをサイクリック通信により送信する統括PLCユニット、及びパラレル入出力を行うPIOカードが実装され、統括PLCユニットからサイクリック通信により送信された制御プログラムを受信して、制御プログラムを実行することにより、PIOカードの制御を行うリモートPIOユニットを備え、メンテナンス装置は、統括PLCユニットによるリモートPIOユニットへのサイクリック通信に適するように、制御プログラムを複数のブロックデータに分割すると共に分割された各ブロックデータに、ブロックデータの開始及び終了を示す開始カウンタ及び終了カウンタを付加して統括PLCユニットに送信するものである。
【0010】
【発明の実施の形態】
実施の形態1.
以下、この発明の実施の形態1を図に基づいて説明する。
図1は、この発明の実施の形態1による分散PIOシステムを示すシステム構成図である。
図1において、メンテナンス装置1は、PIOプログラムをメンテナンスし、リモートPIOユニット3a〜3dへ転送する。統括PLCユニット2a、2bは、リモートPIO分散システムを統括するもので、リモートPIOユニット3a、3bは、この統括PLCユニット2aに接続され、リモートPIOユニット3c、3dは、統括PLCユニット2bに接続され、パラレル入出力を行うPIOカードがそれぞれに実装されている。メンテナンス装置1と統括PLCユニット2a、2bとは、光通信ネットワーク4により接続されている。サイクリック通信5は、統括PLCユニット2aとリモートPIOユニット3a、3bを接続する。PIOプログラム6a、6bは、リモートPIOユニット3a〜3d上で動作する。メンテナンス装置1の転送プログラム7は、PIOプログラム6aをトークンパッシング通信インタフェース8を使用し、統括PLCユニット2a、2bへ送信する。この送信には、ネットワークの各ノードをトークンというネットワーク制御データが巡回し、トークンを持っているノードのみが送信可能になるトークンパッシング通信を用いている。
【0011】
統括PLCユニット2aの転送デバイス9には、メンテナンス装置1からトークンパッシング通信インタフェース10を経由したデータが書き込まれる。サイクリック通信インタフェース11によって、転送デバイス9に書き込まれたデータをサイクリック通信5で、リモートPIOユニット3aへ送信される。
リモートPIOユニット3aのCPU12は、PIOプログラム6bを動作させる。RAM13には、PIOプログラム6b及び受信プログラム14が動作時に格納される。受信プログラム14は、メンテナンス装置1から統括PLCユニット2aを経由して受信したPIOプログラム6bを、フラッシュメモリであるF−ROM15に格納する。F−ROM15には、サイクリック通信インタフェース20を経由して受信プログラム14により受信されたPIOプログラム6bが格納される。
サイクリック通信に用いられるブロックデータ16は、転送データをブロックに区切ったものであり、メンテナンス装置1から統括PLCユニット2aを経由してリモートPIOユニット3a、3bへ送信されるPIOプログラム6aを送信データ長に応じたデータ長に分割した転送データ18、及びこの転送データを1ブロックと認識させるためのブロックの開始を示す値である開始カウンタ17及びブロックの終了を示す値である終了カウンタ19が付加されている。
【0012】
次に、動作について説明する。
メンテナンス装置1にトークンパッシング通信インタフェース8を使用した転送プログラム7を追加し、リモートPIOユニット3aにメンテナンス装置1から統括PLCユニット2aを介して転送されてきたPIOプログラム6bをサイクリック通信インタフェース20を経由してF−ROM15へ書き込む受信プログラム14を追加する。そして、転送プログラム7と受信プログラム14の間で送受信される転送データにブロックの開始を示す開始カウンタ17及びブロックの終了を示す終了カウンタ19を追加する。
【0013】
リモートPIOユニット3aのCPU12は、F−ROM15に格納されたPIOプログラム6bをRAM13に展開し、実行することで、リモートPIOユニット3a内に実装されたPIOカードの制御を行う。
PIOカードの制御を行うPIOプログラムを作成・変更した場合、メンテナンス装置1の転送プログラム7では、リモートPIOユニット3aへ送信するPIOプログラム6aをサイクリック通信が1回に送信可能なブロックに分割し、統括PLCユニット2aへトークンパッシング通信により送信し、統括PLCユニット2aを経由して、統括PLCユニット2aとリモートPIOユニット3a間のサイクリック通信により、リモートPIOユニット3aのF−ROM15に転送する。
【0014】
統括PLCユニット2aとリモートPIOユニット3a間のサイクリック通信は、サイクリック通信インターフェース11により、サイクリック通信メモリ上にあるデータをサイクリック通信メモリの先頭から順にリモートPIOユニット3aのサイクリック通信メモリへ定周期(100ms周期)で順次転送が行われる。サイクリック通信では,データ構成に関係なく定周期でサイクリック通信メモリ間の通信が行われる。このとき、受信した各ブロックデータを確認するために、開始カウンタと終了カウンタが付加されている。
【0015】
なお、上述の実施の形態1では、転送データ18に開始カウンタ17及び終了カウンタ19を追加することで、転送データ受信側であるリモートPIOユニット3aの受信プログラム14が開始カウンタ17と終了カウンタ19の一致により、転送データのサイクリック伝送における同時性が確認できる。受信プログラム14の周期で開始カウンタ17、終了カウンタ19を含めた転送データを読み込み、開始カウンタ17と終了カウンタ19が一致していれば有効データとするため、最低1サイクルで有効な転送データであることが認識でき、転送速度向上と信頼性の高い転送データを得ることができる。
また、開始カウンタ17と終了カウンタ19は、1回の転送データの同時性を確保するために設けるもので、前回転送したカウンタ値と異なる値であれば特に規定はしない。実施の形態1では初期値が0で始まり、転送ごとに1カウントずつカウントアップしていく値で説明する。
【0016】
図2は、この発明の実施の形態1による分散PIOシステムの転送プログラムの動作を示すフローチャートである。
図3は、この発明の実施の形態1による分散PIOシステムの受信プログラムの動作を示すフローチャートである。
【0017】
以下、図2及び図3に基づいてPIOプログラム転送時の動作を説明する。
図2では、メンテナンス装置1内の転送プログラム7は、PIOプログラム6aが変更となった場合に、メンテナンス装置1のコンソールやメンテナンスプログラムから起動される。
リモートPIOユニット3a内の受信プログラム14は、リモートPIOユニット3a起動直後から定周期で繰り返し実行される。サイクリック転送の周期とは非同期で実行される。
メンテナンス装置1内の転送プログラム7が起動されると、初期処理として開始カウンタ17と終了カウンタ19を0クリアする(ステップST1)。
次に、ステップST2のPIOプログラムを全て転送完了したかどうかの判定へ進む。ステップST2の判定処理へ進むと、最初はPIOプログラムの転送が完了していないので、ステップST2からステップST3へ進む。
【0018】
転送するPIOプログラム6aをサイクリック通信インタフェース11で1度に転送が可能なデータ長分のブロックへ分割する。前回送信したブロック位置を記憶して置き、転送が終了した次のブロックを取り出し(ステップST3)、開始カウンタ17と終了カウンタ19をステップST3で切り出した1ブロックの転送データ18の前後に付加し(ステップST4)、トークンパッシング通信インタフェース8を使用して統括PLCユニット2aへ送信する(ステップST5)。
1ブロックの転送が完了した後に開始カウンタ17、終了カウンタ19を1カウント加算し(ステップST6)、ステップST2へ戻る。ステップST2では全てのPIOプログラムが転送完了したことを確認できた時点で転送プログラム7の処理を終了する。
【0019】
次に、図3の受信プラグラムの動作について説明する。
リモートPIOユニット3a内で定周期実行(サイクリック通信とは別周期)を繰り返している受信プログラム14では、開始カウンタ17を前回値と比較し(ステップST7)、変化が確認されるとステップST8へ進む。
ステップST8では開始カウンタ17と終了カウンタ19が一致するか確認し一致すると、次のステップST9へ進む。
開始カウンタ17と終了カウンタ19が一致した場合、即ち転送データ18の同時性が確保できた(サイクリック通信のサイクリック処理の途中でない)ので、開始カウンタ17と終了カウンタ19に挟まれた転送データ18のみをF−ROM15へ書き込む。
【0020】
実施の形態1によれば、転送データ18に開始カウンタ17及び終了カウンタ19を追加することで、転送データ受信側であるリモートPIOユニット3aの受信プログラムが開始カウンタと終了カウンタの一致により、転送データのサイクリック伝送における同時性が確認できる。
また、受信プログラムの周期で開始カウンタ、終了カウンタを含めた転送データを読み込み、開始カウンタと終了カウンタが一致していれば有効データとするため、最低1サイクルで有効な転送データであることが認識でき、転送速度向上と信頼性の高い転送データを得ることができる。
【0021】
実施の形態2.
図4は、この発明の実施の形態2による分散PIOシステムの転送プログラムの動作を示すフローチャートである。
図4では、図2のステップST5の次にステップST10を追加したものである。
図5は、この発明の実施の形態2による分散PIOシステムの受信プログラムの動作を示すフローチャートである。
図5では、図3のステップST9の次にステップST11を追加したものである。
【0022】
実施の形態1では、転送データを開始カウンタ及び終了カウンタでパッキングして送信する方法を述べたが、実施の形態2は、転送プログラム7側へ図4に示すようにリモートPIOユニットの転送データ受信が完了したことを確認するためのステップST10を追加し、リモートPIOユニット側で1ブロックの受信が完了したことを検知できるようにし、受信プログラム14側へ図5に示すように1ブロック受信完了時点で受信フラグデータを‘ON’にする処理を追加するようにした。
この受信フラグデータは、リモートPIOユニットから、メンテナンス装置1に、統括PLCユニットを経由して、それぞれの通信方式により送信され、メンテナンス装置1で、転送データ受信が完了したことが確認される。これにより、受信プログラム14側が確実に受信できたことを転送プログラム7側で確認できるようになり、より信頼性と転送速度を向上させることができる。
【0023】
実施の形態2によれば、リモートPIOユニット側でPIOプログラムのブロック受信完了時に受信フラグデータを送信することにより、メンテナンス装置側で余分な待ち時間を設ける必要がなくなり、転送速度を向上させることができる。
【0024】
実施の形態3.
図6は、この発明の実施の形態3による分散PIOシステムのデータの流れを示す図である。
図6において、1、2a、3a、16〜19は図1におけるものと同一のものである。
実施の形態1では、メンテナンス装置からの転送データを開始カウンタ及び終了カウンタでパッキングして送信する方法を述べたが、実施の形態3は、図6に示すように、メンテナンス装置1から転送されたデータを、リモートPIOユニット3a側からメンテナンス装置1に統括PLCユニットを経由して、それぞれの通信方式により、そのまま折り返し、送信するようにした。
【0025】
実施の形態3によれば、これにより、メンテナンス装置1は、リモートPIOユニット3aによる転送データの受信が確認できるため、より信頼性を向上させることができる。
【0026】
実施の形態4.
図7は、この発明の実施の形態4による分散PIOシステムのデータの流れを示す図である。
図7において、1、2a、3a、16〜19は図1におけるものと同一のものである。
【0027】
実施の形態1では、メンテナンス装置からの転送データを開始カウンタ及び終了カウンタでパッキングして送信する方法を述べたが、実施の形態4は、図7に示すように、処理結果データ21も開始カウンタ17及び終了カウンタ19でパッキングし、折り返し、リモートPIOユニット3a側からメンテナンス装置1に統括PLCユニットを経由して、それぞれの通信方式により、送信するようにした。
実施の形態3では、リモートPIOユニットから転送データをそのまま折り返すため、メンテナンス装置では、リモートPIOユニット側の処理結果をリアルタイムに検知することができない問題があったが、実施の形態4では、折り返し転送データの代わりに、リモートPIOユニットからの応答の処理結果データ21を開始カウンタ17、終了カウンタ19でパッキングしたブロックデータ16として送り返すことにより、メンテナンス装置側では、処理結果をリアルタイムに得ることができる。
【0028】
実施の形態4によれば、これにより、リモートPIOユニット側の処理結果をリアルタイムにメンテナンス装置に通知することができる。
【0029】
【発明の効果】
この発明は、以上説明したように、制御プログラムを作成または変更し、制御プログラムを光通信ネットワークを介して送信するメンテナンス装置、このメンテナンス装置に光通信ネットワークを介して接続され、メンテナンス装置により送信された制御プログラムを受信し、受信した制御プログラムをサイクリック通信により送信する統括PLCユニット、及びパラレル入出力を行うPIOカードが実装され、統括PLCユニットからサイクリック通信により送信された制御プログラムを受信して、制御プログラムを実行することにより、PIOカードの制御を行うリモートPIOユニットを備え、メンテナンス装置は、統括PLCユニットによるリモートPIOユニットへのサイクリック通信に適するように、制御プログラムを複数のブロックデータに分割すると共に分割された各ブロックデータに、ブロックデータの開始及び終了を示す開始カウンタ及び終了カウンタを付加して統括PLCユニットに送信するので、受信側のリモートPIOユニットでは、ブロックデータに付加された開始カウンタと終了カウンタにより、即座にブロックデータを確認でき、転送速度向上と信頼性の高いサイクリック通信を行うことができる。
【図面の簡単な説明】
【図1】この発明の実施の形態1による分散PIOシステムを示すシステム構成図である。
【図2】この発明の実施の形態1による分散PIOシステムの転送プログラムの動作を示すフローチャートである。
【図3】この発明の実施の形態1による分散PIOシステムの受信プログラムの動作を示すフローチャートである。
【図4】この発明の実施の形態2による分散PIOシステムの転送プログラムの動作を示すフローチャートである。
【図5】この発明の実施の形態2による分散PIOシステムの受信プログラムの動作を示すフローチャートである。
【図6】この発明の実施の形態3による分散PIOシステムのデータの流れを示す図である。
【図7】この発明の実施の形態4による分散PIOシステムのデータの流れを示す図である。
【符号の説明】
1 メンテナンス装置、2a,2b 統括PLCユニット、
3a〜3d リモートPIOユニット、4 光通信ネットワーク、
5 サイクリック通信、6a,6b PIOプログラム、7 転送プログラム、
8 トークンパッシング通信インタフェース、9 転送デバイス、
10 トークンパッシング通信インタフェース、
11 サイクリック通信インタフェース、12 CPU、13 RAM、
14 受信プログラム、15 F−ROM、16 ブロックデータ、
17 開始カウンタ、18 転送データ、19 終了カウンタ、
20 サイクリック通信インタフェース、21 処理結果データ。
Claims (4)
- 制御プログラムを作成または変更し、上記制御プログラムを光通信ネットワークを介して送信するメンテナンス装置、このメンテナンス装置に上記光通信ネットワークを介して接続され、上記メンテナンス装置により送信された制御プログラムを受信し、上記受信した制御プログラムをサイクリック通信により送信する統括PLCユニット、及びパラレル入出力を行うPIOカードが実装され、上記統括PLCユニットからサイクリック通信により送信された制御プログラムを受信して、上記制御プログラムを実行することにより、上記PIOカードの制御を行うリモートPIOユニットを備え、上記メンテナンス装置は、上記統括PLCユニットによる上記リモートPIOユニットへのサイクリック通信に適するように、上記制御プログラムを複数のブロックデータに分割すると共に上記分割された各ブロックデータに、上記ブロックデータの開始及び終了を示す開始カウンタ及び終了カウンタを付加して上記統括PLCユニットに送信することを特徴とする分散PIOシステム。
- 上記リモートPIOユニットは、上記制御プログラムの受信を示す受信フラグデータを上記統括PLCユニットを経由して上記メンテナンス装置に送信することを特徴とする請求項1記載の分散PIOシステム。
- 上記リモートPIOユニットは、受信したブロックデータをそのまま上記統括PLCユニットを経由して上記メンテナンス装置に返信することを特徴とする請求項1記載の分散PIOシステム。
- 上記リモートPIOユニットは、受信したブロックデータに基づく処理結果を示すデータを作成し、上記処理結果を示すデータに、このデータの開始及び終了を示す開始カウンタ及び終了カウンタを付加して上記統括PLCユニットを経由して上記メンテナンス装置に送信することを特徴とする請求項1記載の分散PIOシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003165863A JP2005004394A (ja) | 2003-06-11 | 2003-06-11 | 分散pioシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003165863A JP2005004394A (ja) | 2003-06-11 | 2003-06-11 | 分散pioシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005004394A true JP2005004394A (ja) | 2005-01-06 |
Family
ID=34092173
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003165863A Pending JP2005004394A (ja) | 2003-06-11 | 2003-06-11 | 分散pioシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005004394A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100375080C (zh) * | 2005-04-15 | 2008-03-12 | 中国人民解放军国防科学技术大学 | 大规模分布共享系统中的输入输出分组节流方法 |
-
2003
- 2003-06-11 JP JP2003165863A patent/JP2005004394A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100375080C (zh) * | 2005-04-15 | 2008-03-12 | 中国人民解放军国防科学技术大学 | 大规模分布共享系统中的输入输出分组节流方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108595353B (zh) | 一种基于PCIe总线的控制数据传输的方法及装置 | |
US9043804B2 (en) | Parallel computer system and program | |
JP2019153305A5 (ja) | ||
EP2455832B1 (en) | Programmable controller | |
CN102165739B (zh) | 使用散列对经由rdma写入的消息的可靠接收 | |
CN103403692B (zh) | 数据传输装置 | |
US8190941B2 (en) | Field control system | |
US20100058361A1 (en) | Networked Isochronous USB Communication | |
EP2446606A1 (en) | Method for the recovery of a clock and system for the transmission of data between data memories by remote direct memory access, and network station set up to operate in the method as a transmitting or, respectively, receiving station | |
US7139848B1 (en) | DMA protocol extension for packet-based transfer | |
JP2005004394A (ja) | 分散pioシステム | |
JP3891994B2 (ja) | 順番のある(in−order)キューをドレインする(drain)システムおよび方法 | |
CN114257492B (zh) | 智能网卡的故障处理方法、装置、计算机设备和介质 | |
US7302508B2 (en) | Apparatus and method for high speed data transfer | |
JP2003345638A5 (ja) | ||
CN116319822A (zh) | 共识算法的切换方法、装置、计算机设备及介质 | |
JP4247791B2 (ja) | 複雑なまたは分散式の安全および/または非安全システムの最大反応時間の保証 | |
CN110687854B (zh) | 一种pa总线控制器以及一种pa总线控制系统 | |
CN106850818B (zh) | 数据实时同步方法及系统 | |
CN111984409A (zh) | 一种提高系统资源利用率的方法及装置 | |
US20020065973A1 (en) | Method and a apparatus for transmitting data on a can data link | |
JPH11265297A (ja) | 分散シミュレータシステム | |
JP3293089B2 (ja) | Plcのリモートi/oシステム及びplcのリモートi/oシステムの実行方法 | |
US11734206B2 (en) | Information processing device | |
JP2000227803A (ja) | プログラマブルコントローラのデータリンクシステムの伝送制御方法および伝送制御システム |