| 【発明の名称】 |
モニタリングシステムにおける通信システム |
| 【発明者】 |
【氏名】小池 昌宏
【氏名】芹沢 一明
【氏名】吉川 正
|
| 【要約】 |
【課題】複数のアプリケーションプログラムの内1つからの通信要求で通信手段を占有せず、通信効率が高く、複数の異なる通信プロトコルで通信可能なモニタリングシステムにおける通信システムを提供することである。
【解決手段】複数のアプリケーションプログラムA1〜Anの通信要求に対し通信手段7の共有メモリ10に割当領域を夫々割当て、通信データを設定した割当領域に付けたメモリ番号を通信手段7の待ち行列11にセットする。そして、待ち行列11のメモリ番号の順番に従って通信データをPCとターゲットシステム8,9,PLC1〜PLCn間で授受する際に、通信手段7の対応表17を参照して通信先のターゲットシステム8,9,PLC1〜PLCnの通信プロトコルにより通信手段7が通信データの授受を行う。これにより通信手段が1つのアプリケーションプログラムに占有されず、複数の通信プロトコルに対応した通信を行える。 |
【特許請求の範囲】
【請求項1】 ターゲットシステムとしてのプログラマブルコントローラとモニタ用のコンピュータとを接続し、コンピュータの複数のアプリケーションプログラムとターゲットシステムとの間で通信データを受け渡しする際に、通信データをコンピュータに備えた通信データ格納手段を介して通信手段によりコンピュータとプログラマブルコントローラ間で送受信するモニタリングシステムにおける通信システムにおいて、通信データ格納手段は、2回以上の通信データを格納可能な共有メモリであり、共有メモリに格納される通信データは、通信順序を制御する待ち行列に設定された順序に従って通信手段により送受信されることを特徴とするモニタリングシステムにおける通信システム。 【請求項2】 通信手段は、各ターゲットシステムと各ターゲットシステムに対応する通信プロトコルとの対応表を備えており、その対応表を参照して、アプリケーションプログラムが通信を要求するターゲットシステムとそのターゲットシステムに対応する通信プロトコルにより通信データの送受信を実行することを特徴とする請求項1記載のモニタリングシステムにおける通信システム。 【請求項3】 通信手段はマスタの通信マネージャプログラムと各ターゲットシステムに対応する通信プロトコルを備えた複数のスレーブの通信マネージャプログラムとを含んでおり、マスタの通信マネージャプログラムが共有メモリにセットされた通信データに基づき対応表を参照し、通信を行うターゲットシステムに対応するスレーブの通信マネージャプログラムによって通信データを送受信させることを特徴とする請求項2記載のモニタリングシステムにおける通信システム。 【請求項4】 共有メモリの一部が共有メモリコントロールプログラムにより割当領域として通信を要求する夫々のアプリケーションプログラムに割り当てられ、アプリケーションプログラムとターゲットシステムの間で通信データの受け渡しが不要となると、そのアプリケーションプログラムの割当領域は共有メモリコントロールプログラムにより解除されることを特徴とする請求項1から3何れか1項記載のモニタリングシステムにおける通信システム。 【請求項5】 待ち行列は、アプリケーションプログラムによって通信データがセットされた夫々の割当領域を特定するメモリ番号が各アプリケーションプログラムの通信要求順にセットされることを特徴とする請求項1から4何れか1項記載のモニタリングシステムにおける通信システム。 【請求項6】 共有メモリコントロールプログラムは各アプリケーションプログラムに夫々含まれていることを特徴とする請求項4又は5記載のモニタリングシステムにおける通信システム。 【請求項7】 アプリケーションプログラムは通信手段を介して、ターゲットシステムとしてのコンピュータのハードウェア内部の記憶装置と通信データの受け渡しを行うことを特徴とする請求項1から6何れか1項記載のモニタリングシステムにおける通信システム。
|
【発明の詳細な説明】【0001】 【発明の属する技術分野】この発明は、複数のアプリケーションプログラムとターゲットシステムとの間で通信データを、通信手段を介して、送受信するモニタリングシステムにおける通信システムに関する。 【0002】 【従来の技術】従来の通信システムとして、特開平11−327612号に開示のものが知られている。これは複数のモニタ装置がマルチタスクOS上で処理を行っており、あるモニタ装置がプログラマブルコントローラとの間で通信を行う際には、通信を行いたいモニタ装置は自らのモニタIDをモニタID格納手段に格納し、データ要求を送信データ格納手段に格納する。そして1つの通信手段によりデータ要求をプログラムコントローラに対して送信し、通信手段により受信データ格納手段にセットされたプログラムコントローラからのデータ応答をモニタ装置が受け取ると、そのモニタ装置は、モニタID格納手段に格納したモニタIDをリセットし、他のモニタ装置の通信処理を可能とする。あるモニタ装置が通信処理を行っている間、他のモニタ装置はモニタID格納手段を確認しモニタIDがセットされている場合、データ要求を送信データ格納手段に格納できないので、モニタIDがリセットされるまで、通信処理を次の機会まで待つ。これにより、複数のモニタ装置が非同期で通信を行い、複数のプログラマブルコントローラのデータ表示を実行する。 【0003】 【発明が解決しようとする課題】前記従来の技術に記載のものでは、非同期に複数のモニタ装置(アプリケーションプログラム)が通信を行うことができるが、通信要求を行えるモニタ装置は1つであり、1つのモニタ装置が通信を行っているとき他のモニタ装置はデータ要求(通信データ)をセットすることができず、1つのモニタ装置によって通信処理が完全に占有されてしまう問題があった。また、通信を行いたいモニタ装置は先に通信データをセットしたモニタ装置の通信処理の完了の有無を確認しなければならず、確認処理のため時間がかかると共に通信データをセットしたモニタ手段の通信処理が完了するのを待ち、完了後に通信データをセットするので通信待ちの時間がかかり、通信効率が低い問題があった。また、1つの通信手段により通信が実行されるが、通信手段が複数の通信プロトコルに対応している記載はなく、夫々異なる通信プロトコルにより通信を行うプログラムコントローラ(ターゲットシステム)が混在している場合、通信手段は1つの通信プロトコルに対応しているので同じ種類の通信プロトコルのプログラマブルコントローラとしか通信が行えず、他の通信プロトコルのターゲットシステムと通信を行うことができない問題があった。この発明の課題は、1つのアプリケーションプログラムの1回の通信要求で通信手段を占有することが無いと共に通信の効率が高く、また、複数の異なる通信プロトコルが混在していても通信可能なモニタリングシステムにおける通信システムを提供することである。 【0004】 【課題を解決するための手段】前記課題解決のため本願発明は、ターゲットシステムとしてのプログラマブルコントローラとモニタ用のコンピュータとを接続し、コンピュータの複数のアプリケーションプログラムとターゲットシステムとの間で通信データを受け渡しする際に、通信データをコンピュータに備えた通信データ格納手段を介して通信手段によりコンピュータとプログラマブルコントローラ間で送受信するモニタリングシステムにおける通信システムにおいて、通信データ格納手段は、2回以上の通信データを格納可能な共有メモリであり、共有メモリに格納される通信データは、通信順序を制御する待ち行列に設定された順序に従って通信手段により送受信されることを特徴とする(請求項1)。これによれば、2回(2セット)以上の通信データを格納できる共有メモリを備えているので、1つのアプリケーションプログラムによる通信中にも別のアプリケーションプログラムのデータ要求を共有メモリにセットでき、1つのアプリケーションプログラムによって通信手段が完全に占有されない。 【0005】前記通信手段は、各ターゲットシステムと各ターゲットシステムに対応する通信プロトコルとの対応表を備えており、その対応表を参照して、アプリケーションプログラムが通信を要求するターゲットシステムとそのターゲットシステムに対応する通信プロトコルにより通信データの送受信を実行することを特徴とする(請求項2)。通信手段は対応表に基づいて通信プロトコルが異なる複数のターゲットシステムと通信を行えるので好適である。また、アプリケーションプログラムは通信手段を介して各ターゲットシステムと通信を行うので異なるプロトコルのターゲットシステムでも同様に通信が行える。また、アプリケーションプログラムと通信手段とが独立しているので、アプリケーションプログラムを変更すること無く、通信手段のみを変更すれば対応していない通信プロトコルであっても通信可能となり、また、プログラム製作期間を短縮できて好ましい。 【0006】前記通信手段はマスタの通信マネージャプログラムと各ターゲットシステムに対応する通信プロトコルを備えた複数のスレーブの通信マネージャプログラムとを含んでおり、マスタの通信マネージャプログラムが共有メモリにセットされた通信データに基づき対応表を参照し、通信を行うターゲットシステムに対応するスレーブの通信マネージャプログラムによって通信データを送受信させることを特徴とする(請求項3)。 【0007】前記共有メモリの一部が共有メモリコントロールプログラムにより割当領域として通信を要求する夫々のアプリケーションプログラムに割り当てられ、アプリケーションプログラムとターゲットシステムの間で通信データの受け渡しが不要となると、そのアプリケーションプログラムの割当領域は共有メモリコントロールプログラムにより解除されることを特徴とする(請求項4)。これによれば、共有メモリの一部が、アプリケーションプログラムとターゲットシステムの間での通信データの受け渡しの要、不要(例えば、アプリケーションプログラムの起動、終了)によって割当領域として各アプリケーションプログラムに対して割り当て、解除されるので、あるアプリケーションプログラムが終了し割当領域が解除されると、通信を要求する他のアプリケーションプログラムにその解除された共有メモリの一部を新たな割当領域として割り当て通信要求をセットできるので、共有メモリを有効に利用でき効率が向上する。また、同一のアプリケーションプログラムが共有メモリに複数の割当領域を割り付けることもできる。 【0008】待ち行列は、アプリケーションプログラムによって通信データがセットされた夫々の割当領域を特定するメモリ番号が各アプリケーションプログラムの通信要求順にセットされることを特徴とする(請求項5)。待ち行列に通信要求順にセットされたメモリ番号に従って通信を行うので、通信時に共有メモリを全て調べ通信データにより通信の有無及び通信順序を確認する必要が無く、そのため通信処理時間が短くなり好ましい。 【0009】共有メモリコントロールプログラムは各アプリケーションプログラムに夫々含まれていることを特徴とする(請求項6)。これによれば、同一の共有メモリコントロールプログラムを夫々のアプリケーションプログラムに組み込み可能なプログラムとしているので、アプリケーションプログラムを作成するごとに再利用でき、アプリケーションプログラムの作成の効率が向上する。 【0010】アプリケーションプログラムは通信手段を介して、ターゲットシステムとしてのコンピュータのハードウェア内部の記憶装置と通信データの受け渡しを行うことを特徴とする(請求項7)。これによれば、通信手段を介して記憶装置とも通信データの受け渡しを行うので、アプリケーションプログラムに記憶装置のどの領域とデータの受け渡しを行えば良いかを設定する必要が無いと共に、記憶装置の特定のデータ領域を、特定のアプリケーションプログラムの専用のデータ領域とするのではなく、異なるアプリケーションプログラム夫々が利用可能なデータ領域とすることができる。 【0011】 【発明の実施の形態】本願発明の実施の形態について図1から図8に基づいて説明する。モニタ用のパーソナルコンピュータ(以下PCと記載)とターゲットシステムとしての各プログラマブルコントローラ(以下PLC1〜PLCnと記載)とは、図1に示すように、PC及び各PLC1〜PLCnの夫々の通信インターフェイス(本願実施の形態ではシリアルインターフェイス)1,2を通信ケーブル3により接続してモニタリングシステムを構成している。各PLC1〜PLCnには夫々モニタ対象(例えば工作機械)4が汎用I/O5を介して接続されており、各PLC1〜PLCnはモニタ手段6を備え、夫々のモニタ対象4を制御監視すると共に監視により得られたモニタ情報としての収集データをPCにシリアルインターフェイス1,2経由で送るようになっている。また、PCからは、各PLC1〜PLCnへ、各PLC1〜PLCnに対する設定データをシリアルインターフェイス1,2経由で転送するようになっている。また、PLC1〜PLCm、PLCm+1〜PLCnは夫々異なる通信プロトコルpr1、pr2を備えており、夫々の通信プロトコルに従ってPCとの間で通信処理を行うようになっている。 【0012】PCは、図1に示すように通信手段としての通信コントロール部7と、複数のアプリケーションプログラムA1〜Anから成るモニタプログラムと、ターゲットシステムの1つであるハードディスク8や作業用メモリ9等の記憶装置とを備えている。通信手段7は、共有メモリ10と待ち行列11とマスタの通信マネージャプログラム12とスレーブの通信マネージャプログラム13〜16と通信インターフェイス2と、図2に示す各ターゲットシステム8,9,PLC1〜PLCnと各ターゲットシステム8,9,PLC1〜PLCnに対応する通信プロトコルで実際の通信を行うスレーブの通信マネージャ13〜16との対応表17とを含んでいる。そして、通信手段7とモニタプログラムと通信インターフェイス1と通信ケーブル3とにより通信システムが構成されている。 【0013】共有メモリ10は、後述の共有メモリコントロールプログラム18によって、マスタの通信マネージャプログラム12に対してPCに備えられたメモリの一部が割り当てられると共に、その共有メモリ10は、図3に示すように、通信要求をした夫々のアプリケーションプログラムA1〜Anに対して適宜に割当領域を2回以上の通信データを格納可能に複数割当ることができるようになっており、その各割当領域にはアプリケーションプログラムA1〜Anとターゲットシステム8,9,PLC1〜PLCn間で授受される通信データが設定される。通信データは、例えば図4に示すようにターゲットシステムとの通信の完了、未了を示す”1”、”0”が設定される通信フラグ、ターゲットシステムを指定するターゲット指定番号”PLC1”、ターゲットシステムのデバイス(ターゲットシステムの各種データ格納エリア)を指定するデバイス番号”d001”、データ数”12”、読み書き指定コマンド(RまたはW)、どのアプリケーションプログラムA1〜Anの通信要求か”A1”等からなるコマンドと、PCとターゲットシステム間で授受される授受データとを含んでいる。授受データは、異常情報や工程等の稼動状態を示す収集データ、PCからPLC1〜PLCnへの設定データ、HDD等との読書きデータ等を含んでいる。 【0014】待ち行列11は、夫々のアプリケーションプログラムA1〜Anの通信依頼に対応して共有メモリ10に割り当てられた夫々の割当領域を特定するメモリ番号を割当領域に通信データがセットされた順に記憶し、割当順にマスタの通信マネージャプログラム12に渡す、先入れ先出しシステムであり、例えば順番にメモリ番号”1”、メモリ番号”2”の割当領域に通信データがセットされたとすると、図5(b)に示すように待ち行列11には、順番にメモリ番号”1”、メモリ番号”2”がセットされ、通信の際には、メモリ番号”1”の割当領域の通信データによる通信が行われた後、次にメモリ番号”2”の割当領域の通信データによって通信が行われる。 【0015】マスタの通信マネージャプログラム12とスレーブの通信マネージャプログラム13〜16とは、アプリケーションプログラムA1〜AnとPLC1〜PLCn間及びアプリケーションプログラムA1〜AnとPCのハードウェア内部の記憶装置との通信を処理するものである。マスタの通信マネージャプログラム12は、後述の共有メモリコントロールプログラム18を含み、アプリケーションプログラムA1〜Anからの通信要求に応じ、共有メモリ10に格納されたアプリケーションプログラムA1〜Anからの通信データに基づいてどのターゲットシステム8,9,PLC1〜PLCnと通信を行いたいかを確認し、通信要求先となるターゲットシステム8,9,PLC1〜PLCnと対応する通信プロトコルを備えたスレーブの通信マネージャプログラム13〜16を対応表17を参照して選定し、そのスレーブの通信マネージャプログラム13〜16に通信の指示を出し、コマンドで指定されたターゲットシステム8,9,PLC1〜PLCnとの間で送受信が行われた通信データを共有メモリ10に読書きする。 【0016】各スレーブの通信マネージャプログラム13〜16は、夫々のターゲットシステム8,9,PLC1〜PLCnの通信プロトコルpr1〜pr4に対応しており、マスタの通信マネージャプログラム12からの指令により、実際にコマンドで指定されたターゲットシステム8,9,PLC1〜PLCnとの間でデータ通信を行うものである。スレーブの通信マネージャプログラム13〜16は通信インターフェイス1,2としてシリアルインターフェイスが利用される場合にはシリアルインターフェイスに対応したものが、通信インターフェイス1,2としてLANが利用される場合にはLANに対応したものが夫々通信手段7に組み込まれ、また、同一の通信インターフェイス1,2であっても、例えば、メーカー毎にPLC1〜PLCnの通信プロトコルが異なれば、通信プロトコルの種類だけ通信手段7に組み込まれる。本願実施の形態では、通信手段7には、PLC1〜PLCmの通信プロトコルpr1とPLCm+1〜PLCnの通信プロトコルpr2とハードディスク8の通信プロトコルpr3と作業用メモリ9の通信プロトコルpr4の各通信プロトコルに夫々対応して4つのスレーブの通信マネージャ13〜16が組み込まれている。 【0017】共有メモリコントロールプログラム18は、マスタの通信マネージャプログラム12に組み込まれた場合には、前記のようにマスタの通信マネージャプログラム12に共有メモリ10を割り当てる共有メモリ割当手段として、また、アプリケーションプログラムA1〜Anに組み込まれた場合には、その共有メモリ10を、図3に示すように、通信要求元のアプリケーションプログラムA1〜Anに割当領域として割り当てまたは開放する割当領域操作手段として機能し、更に、これら共有メモリ10と割当領域の位置と大きさを記憶すると共に夫々の割当領域と対応してメモリ番号を記憶し、そのメモリ番号を待ち行列11に格納する。また、共有メモリコントロールプログラム18は、マスタの通信マネージャプログラム12と夫々のアプリケーションプログラムA1〜Anとに組み込み可能なプログラムとして製作されており、マスタの通信マネージャプログラム12及びアプリケーションプログラムA1〜Anを製作する際に再利用でき、プログラム製作の効率を向上できる。 【0018】図6は、マスタの通信マネージャプログラム12のフローチャートを示すものであり、各ステップは機能実現手段を示している。ステップS61は、初期設定として待ち行列11をPCのメモリに設定すると共に共有メモリコントロールプログラム18によって共有メモリ10を確保する初期設定手段である。ステップS63は、待ち行列11を調べ、メモリ番号が格納されているか判別し、メモリ番号が格納されている場合、メモリ番号の格納順によって共有メモリ10に格納された通信データの通信順序を確認する通信順確認手段である。ステップS64は、待ち行列11に格納された通信順序が最先となっているメモリ番号に対応した割当領域の通信データの内容を確認する通信データ確認手段である。ステップS65は、確認した通信データのターゲット指定番号から図2に示す対応表17を参照してターゲットシステム8,9,PLC1〜PLCnに対応するスレーブの通信マネージャプログラム13〜16を選択し、そのスレーブの通信マネージャプログラム13〜16に共有メモリ10から通信データを受け渡し、通信を行わせる通信指令手段である。ステップS66は、スレーブの通信マネージャの通信完了待ち手段であり、ステップS67は、スレーブの通信マネージャプログラム13〜16がターゲットシステム8,9,PLC1〜PLCnとの間で授受した通信データを受取り、通信フラグを通信の未了を示す”0”から通信の完了を示す”1”に変更し、その通信データを共有メモリ10の元の割当領域に再びセットするセット手段である。ステップS68は、ターゲットシステム8,9,PLC1〜PLCnとの間で通信データの送受信が完了すると、通信データに設定されているアプリケーションプログラムA1〜Anに通信完了メッセージを通知する通信完了通知手段である。 【0019】ステップS69は、アプリケーションプログラムA1〜Anが共有メモリ10に割当領域を確保し、その割当領域に通信データをセットしたことを示す割当領域操作用のメッセージがアプリケーションプログラムA1〜Anから通知されると、そのメッセージを受け取りステップS63〜ステップS68の間で割り込みを行う割り込み手段であり、ステップS610は、割当領域操作用のメッセージにより、アプリケーションプログラムA1〜Anにより通信データがセットされた割当領域にメモリ番号を付与し、そのメモリ番号を待ち行列11にセットするメモリ番号セット手段であり、ステップS69、S610は、マスタの通信マネージャプログラム12に含まれる共有メモリコントロールプログラム18により実行される。 【0020】図7は、各スレーブの通信マネージャプログラム13〜16のフローチャートを示すものであり、各ステップは機能実現手段を示している。ステップS71はマスタの通信マネージャプログラム12からの通信指令と共に通信データを受け取る通信データ受取手段であり、ステップS72は通信データに基づいてターゲットシステム8,9,PLC1〜PLCnと対応する通信プロトコルpr1〜pr4で通信を行い、通信データを送受信する通信処理手段であり、ステップS73はターゲットシステム8,9,PLC1〜PLCnとの間で通信データの送受信が完了すると、通信完了メッセージをマスタの通信マネージャプログラム12に送信すると共にその通信が完了した通信データをマスタの通信マネージャプログラム12に渡す通信完了通知手段である。 【0021】図8は、モニタプログラムを構成する各アプリケーションプログラムA1〜Anの概要を示すフローチャートであり、ステップ81は、初期設定手段であり、アプリケーションプログラムがターゲットシステム8,9,PLC1〜PLCnとの間で通信が必要となると、アプリケーションプログラムA1〜Anに組み込まれた共有メモリコントロールプログラム18によって共有メモリ10に割当領域を確保し、その割当領域に通信フラグを”1”に設定した通信データを設定する。ステップS82は、ターゲットシステム8,9,PLC1〜PLCnの設定、収集データを適宜に表示または記録する等の適宜な通常動作を行う通常動作手段である。ステップS83は、アプリケーションプログラムの終了(PLCとの通信データの受け渡しの必要、不要)を判別する手段である。ステップS84は、マスタの通信マネージャプログラム12からの通信完了メッセージを受け取ったかを判断するメッセージ受取判別手段であり、ステップS85は、割当領域の通信データの通信フラグが”1”であるかを判別するフラグ判別手段であり、ステップS86は、割当領域に通信フラグを”0”とした通信データをセットし、割当領域操作用のメッセージ(通信データセットメッセージ)をマスタの通信マネージャプログラム12通知する通信データセット手段である。ステップS87はステップS84でマスタの通信マネージャプログラム12から通信完了メッセージを受け取ると、割当領域にセットされている通信データを受け取る通信データ受取手段である。ステップS88はアプリケーションプログラムの終了設定手段であり、共有メモリコントロールプログラム18によって割当領域を開放して、そのメモリ開放を通知する割当領域操作用のメッセージ(割当領域開放メッセージ)をマスタの通信マネージャプログラム12に通知するメモリ開放手段である。 【0022】次に作用について説明する。PCはマルチタスクオペレーティングシステムを搭載しており、複数のプログラムを常時並列処理することが可能となっている。PC及び各PLC1〜PLCnの起動動作の後、各PLC1〜PLCnではモニタ対象4のデータ収集等が行われ、また、PCでは、マスタ及びスレーブの通信マネージャプログラム12、13〜16と各アプリケーションプログラムA1〜Anが実行される。マスタの通信マネージャプログラム12は、ステップS61で初期設定を行い、共有メモリコントロールプログラム18によって共有メモリ10を確保すると共に待ち行列11を確保し、待ち行列11にメモリ番号を設定するまでステップS62、S63を繰り返し待機している。 【0023】また、夫々のアプリケーションプログラムA1〜Anが実行されると、ステップS81〜S87を実行し、各アプリケーションプログラムA1〜Anが夫々ターゲットシステム8,9,PLC1〜PLCnと通信手段7を介して通信データの授受を行い、その通信データを用いて通常動作を行う。例えば、アプリケーションプログラムA1が実行されると、先ずステップS81で初期設定として共有メモリ10の適宜な範囲(共有メモリ10の空いている領域)に割当領域を確保し、その割当領域に通信フラグが”1”の通信データをセットする。次にステップS82で通常動作が行われ、ターゲットシステムとしてのPLC1との通信を要求すると、ステップS83を介して、ステップS84でマスタの通信マネージャ12から通信完了メッセージが通知されたかを確認し、「NO」なのでステップS85に進む。ステップS85では、通信フラグが”1”なのでステップS86に進み、ステップS81で確保された割当領域に図3のように通信フラグを”0”とした通信データをセットし通信データセットメッセージをマスタの通信マネージャプログラム12に通知する。そして、マスタの通信マネージャ12から通信完了メッセージが通知されるまでステップS82〜S85を繰り返す。 【0024】ステップS86で通信データセットメッセージが出力されると、マスタの通信マネージャプログラム12ではステップS69,S610が実行され、アプリケーションプログラムA1の通信データがセットされた割当領域にマスタの通信マネージャプログラム12によりメモリ番号”1”が付与され、図5(a)のように待ち行列11にメモリ番号”1”がセットされる。マスタの通信マネージャプログラム12は、ステップS63で待ち行列11にメモリ番号がセットされていることを確認すると、ステップS64〜S68を実行する。待ち行列11にセットされたメモリ番号”1”が通信順の先頭となると(図5(b))、ステップS64、S65でメモリ番号”1”の割当領域にセットされた通信データを確認し、対応表17を参照してPLC1の通信プロトコルpr1を備えたスレーブの通信マネージャプログラム13に通信データを渡し、ステップS66でスレーブの通信マネージャプログラム13によるPLC1との通信の完了を待つ。スレーブの通信マネージャプログラム13は、ステップS71〜S73により、マスタの通信マネージャプログラム12から通信データを受け取るとPLC1と通信を行って通信データを送受信し、その通信データをマスタの通信マネージャプログラム12に渡す。マスタの通信マネージャプログラム12は、ステップS67、S68で、そのPLC1との間で授受された通信データの通信フラグを通信の未完を示す”0”から通信の完了を示す”1”に変更してメモリ番号”1”の割当領域にセットし、通信完了メッセージをアプリケーションプログラムA1に通知する。 【0025】するとアプリケーションプログラムA1はステップS84で通信完了メッセージを受け取り、ステップS87に進んで通信データを割当領域から受け取り、ステップS82に戻って通信データを用いて通常動作を行い、再びステップS82〜S87を繰り返し、メモリ番号1の割当領域に新たな通信データをセットしてターゲットシステム8,9,PLC1〜PLCnの何れかと通信を行う。また、ステップS83で、例えばアプリケーションプログラムA1の終了により、アプリケーションプログラムA1とPLC1との間で通信データの受け渡しが不要となると、ステップS88に進み、終了設定を行い、割当領域を開放して割当領域開放メッセージをマスタの通信マネージャプログラム12に通知する。 【0026】また、メモリ番号”1”が待ち行列11にセットされた後、アプリケーションプログラムA3が実行され作業メモリ9との通信を要求すると、前記アプリケーションプログラムA1とPLC1との通信のように、ステップS81で初期設定を行って割当領域を確保し、ステップS82〜S85を介してステップS86で共有メモリ10に割り当てられた割当領域に通信データをセットし、ステップS69、S610で待ち行列11にメモリ番号”2”がメモリ番号”1”の次にセットされる(図5(b))。通信順序が先のメモリ番号”1”の割当領域にセットされた通信データによる通信が行われ、メモリ番号”2”が待ち行列の先頭となると(図5(c))、ステップS64、S65で対応表17が参照され、作業用メモリ9との通信プロトコルpr4を備えたスレーブの通信マネージャプログラム16に通信データが渡され、ステップS71〜S73によりスレーブの通信マネージャプログラム16よって作業メモリ9との間で通信データの授受が行われる。そして、ステップS66を介して、ステップS67、S68及びステップS84、S87によりマスタの通信マネージャプログラム12によってメモリ番号”2”の割当領域にセットされた通信後の通信データをアプリケーションプログラムA3が受け取る。このように複数の通信データを通信手段7にセットできるので、1セットの通信によって通信手段7が占有されない。 【0027】尚、このとき、先のメモリ番号”1”の通信データ、即ちPLC1との間の通信が行われていても、作業用メモリ9との通信はPLC1との通信プロトコルpr1と異なる通信プロトコルpr4のスレーブの通信マネージャプログラム16によって行われるので、同時に通信が実行されるようにしても良い。また、先に行われている通信と次に行われる通信が同じ通信プロトコルのスレーブの通信マネージャプログラムで実行される場合には、本願実施の形態では1つの通信プロトコルに1つのスレーブの通信マネージャプログラムが対応しているので、先の通信が終わった後、次の通信が行われる。また、各アプリケーションプログラムA1〜Anは、共有メモリ10に複数の割当領域を確保することもでき、例えば図3のようにアプリケーションプログラムA1はメモリ番号1,3の割当領域を確保することができ、夫々に通信データをセットすることが可能である。 【0028】前記のように、アプリケーションプログラムとターゲットシステムの間で通信データの受け渡しが不要となると、共有メモリ10から割当領域を開放するので、共有メモリ10の一部が割当領域として割り当てられたアプリケーションプログラムに占有されることが無く、その共有メモリの空き部分にアプリケーションプログラムA1〜Anが新たな割当領域を確保して通信データをセットでき、通信の処理効率が向上する。また、PCとターゲットシステム8,9,PLC1〜PLCn間の通信は、マスタの通信マネージャプログラム12がスレーブの通信マネージャプログラム13〜16に実行させ、アプリケーションプログラムA1〜Anとの通信データの受け渡しは共有メモリ10を介して、マスタの通信マネージャプログラム12が処理するので、アプリケーションプログラムA1〜Anは通信プロトコルpr1〜pr4の違いを意識せずに通信プロトコルの異なるターゲットシステム8,9,PLC1〜PLCnと同じ操作で通信を行える。 【0029】 【発明の効果】以上のように本願発明では、2回(2セット)以上の通信データを格納可能な共用メモリを備え、共用メモリに格納された通信データを通信順序を制御する待ち行列に設定された順序に従って通信手段により送受信するので、PCとPLC間で通信が行われていても共用メモリに通信データをセットできるので、1回の通信によって通信手段が占有されず、通信効率が向上する。また、通信手段は通信プロトコルに対応する対応表を備え、その対応表を参照して通信プロトコルが異なる複数のターゲットシステムとの間で通信データの送受信を実行できる。また、待ち行列にアプリケーションプログラムの通信要求順にセットされるメモリ番号に従って通信が行われるので、待ち行列が無い場合のように通信時に直接共有メモリを調べ、通信データの有無及び通信順序を確認するプロセスが不要となり、通信処理時間が短くなり効率が向上する。
|
| 【出願人】 |
【識別番号】000241588 【氏名又は名称】豊和工業株式会社
|
| 【出願日】 |
平成13年8月30日(2001.8.30) |
| 【代理人】 |
|
| 【公開番号】 |
特開2003−67014(P2003−67014A) |
| 【公開日】 |
平成15年3月7日(2003.3.7) |
| 【出願番号】 |
特願2001−260660(P2001−260660) |
|