(57)【特許請求の範囲】
【請求項１】
第１プロセッサ、第２プロセッサ及び優先順位が高いメッセージを貯蔵する第１セクタと優先順位が低いメッセージを貯蔵する第２セクタを含む共用メモリを含むプログラム可能ロジック制御器（ＰＬＣ）の通信モジュールにおける前記第１プロセッサと前記第２プロセッサのメッセージ処理方法において、
前記第１プロセッサが前記第２プロセッサが処理すべき優先順位を決定し、該当優先順位が高い場合は前記共用メモリの第１セクタに、該当優先順位が低い場合は第２セクタに要請メッセージを作成するステップと、
前記第２プロセッサが前記第２セクタに優先して前記第１セクタの要請メッセージに対する通信を処理するステップと、
前記第２プロセッサが前記要請メッセージの優先順位を確認し、該当優先順位が高い場合は前記共用メモリの第１セクタに、該当優先順位が低い場合は第２セクタに応答メッセージを作成するステップと、
前記第１プロセッサが前記第２セクタに優先して前記第１セクタの応答メッセージを読み込み、該当応答メッセージ処理関数アドレスに移動するステップと、を含み、
前記要請メッセージと前記応答メッセージはそれぞれ、メッセージタイプフィールド、メッセージ優先順位フィールド及び応答メッセージ処理関数アドレスフィールドを含み、
前記該当応答メッセージ処理関数アドレスに移動するステップは、
前記共用メモリの前記第１セクタに応答メッセージがある場合、前記第１セクタに作成された応答メッセージの応答メッセージ処理関数アドレスフィールドに指定された関数アドレスに移動するステップと、前記共用メモリの前記第１セクタに応答メッセージがない場合、前記共用メモリの前記第２セクタに応答メッセージがあるのかを確認するステップと、前記第２セクタに作成された応答メッセージの応答メッセージ処理関数アドレスフィールドに指定された関数アドレスに移動するステップと、を含むメッセージ処理方法。
【請求項２】
前記通信を処理するステップは、
前記共用メモリの前記第１セクタに要請メッセージがある場合、該当要請メッセージに対する通信を処理するステップと、
前記共用メモリの前記第１セクタに要請メッセージがない場合、該当共用メモリの前記第２セクタに要請メッセージがあるのかを確認するステップと、
前記第２セクタの該当要請メッセージに対する通信を処理するステップと、を含む請求項１に記載のメッセージ処理方法。
【請求項３】
前記応答メッセージを作成するステップは、
前記要請メッセージのメッセージ優先順位フィールドを確認するステップと、
前記メッセージ優先順位フィールドが高いメッセージ優先順位フィールドの値である場合、前記第１セクタに応答メッセージを作成するステップと、
前記メッセージ優先順位フィールドが低いメッセージ優先順位フィールドの値である場合、前記第２セクタに応答メッセージを作成するステップと、を含む請求項１に記載のメッセージ処理方法。
【請求項４】
第１プロセッサ、第２プロセッサ及び優先順位が高いメッセージを貯蔵する第１セクタと優先順位が低いメッセージを貯蔵する第２セクタを含む共用メモリを含むプログラム可能ロジック制御器（ＰＬＣ）の通信モジュールにおいて、
前記第１プロセッサは前記第２プロセッサが処理すべき優先順位を決定し、該当優先順位が高い場合は前記共用メモリの第１セクタに、該当優先順位が低い場合は第２セクタに要請メッセージを作成し、
前記第２プロセッサは前記第２セクタに優先して前記第１セクタの要請メッセージに対する通信を処理し、
前記第２プロセッサが前記要請メッセージの優先順位を確認し、該当優先順位が高い場合は前記共用メモリの第１セクタに、該当優先順位が低い場合は第２セクタに応答メッセージを作成し、
前記第１プロセッサが前記第２セクタに優先して前記第１セクタの応答メッセージを読み込み、該当応答メッセージ処理関数アドレスに移動し、
前記要請メッセージと前記応答メッセージはそれぞれ、メッセージタイプフィールド、メッセージ優先順位フィールド及び応答メッセージ処理関数アドレスフィールドを含み、
前記第１プロセッサは、
前記共用メモリの前記第１セクタに応答メッセージがある場合、前記第１セクタに作成された応答メッセージの応答メッセージ処理関数アドレスフィールドに指定された関数アドレスに移動し、前記共用メモリの前記第１セクタに応答メッセージがない場合、前記共用メモリの前記第２セクタに応答メッセージがあるのかを確認し、前記第２セクタに作成された応答メッセージの応答メッセージ処理関数アドレスフィールドに指定された関数アドレスに移動するメッセージ処理装置。
【請求項５】
前記第２プロセッサは、前記共用メモリの前記第１セクタに要請メッセージがある場合、該当要請メッセージに対する通信を処理し、前記共用メモリの前記第１セクタに要請メッセージがない場合、前記共用メモリの前記第２セクタに要請メッセージがあるのかを確認し、前記第２セクタの該当要請メッセージに対する通信を処理する請求項４に記載のメッセージ処理装置。
【請求項６】
前記第２プロセッサは、前記要請メッセージのメッセージ優先順位フィールドを確認し、前記メッセージ優先順位フィールドが高いメッセージ優先順位フィールドの値である場合、前記第１セクタに応答メッセージを作成し、前記メッセージ優先順位フィールドが低いメッセージ優先順位フィールドの値である場合、前記第２セクタに応答メッセージを作成する請求項４に記載のメッセージ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はメッセージ処理装置及びその方法に関するものであり、より詳しくは、ＰＬＣ通信モジュールで使用されるメッセージ処理装置及びその方法に関するものである。
【背景技術】
【０００２】
工場自動化における革新機器のうち一つであるプログラム可能ロジック制御器（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｃｏｎｔｒｏｌｌｅｒ；ＰＬＣ）には多様な用途に対応するために各種機能を搭載したモジュールが要求されるが、その中でもＰＬＣの中央処理装置（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ；ＣＰＵ）モジュールでデータを送受信する通信モジュールの重要性が次第に強調されている。
【０００３】
最近、大容量データを処理するために２つのプロセッサが使用される通信モジュールの使用が増えている。
【０００４】
従来ＰＬＣ通信モジュールで２つのプロセッサが互いにメッセージを交換する場合、通信を要請した順に応答メッセージを生成し、メッセージタイプに応じて処理すべき関数を指定する方式を適用していた。
【０００５】
しかし、従来の方式によると通信を要請した順に応答メッセージを生成するため、優先順位が高いメッセージを先に処理することができない問題点がある。
【０００６】
また、応答メッセージを処理する際にメッセージタイプ別に処理すべき関数を指定するため、応答メッセージタイプが多くなると不必要な処理時間が発生する問題点がある。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明が解決しようとする技術的課題は、優先順位に応じてメッセージを処理し、応答インベントが発生する際にメッセージ処理時間を減らすＰＬＣ通信モジュールにおけるメッセージ処理装置及びその方法を提供することである。
【課題を解決するための手段】
【０００８】
本発明の実施例によるメッセージ処理方法は、第１プロセッサ、第２プロセッサ及び優先順位が高いメッセージを貯蔵する第１セクタと優先順位が低いメッセージを貯蔵する第２セクタを含む共用メモリを含むプログラム可能ロジック制御器（ＰＬＣ）の通信モジュールにおける前記第１プロセッサと前記第２プロセッサのメッセージ処理方法において、前記第１プロセッサが前記第２プロセッサが処理すべき優先順位を決定し、該当優先順位に応じて前記共用メモリの第１セクタ又は第２セクタに要請メッセージを作成するステップと、前記第２プロセッサが前記第２セクタに優先して前記第１セクタの要請メッセージに対する通信を処理するステップと、前記第２プロセッサが前記要請メッセージの優先順位を確認し、該当優先順位に応じて前記共用メモリの第１セクタ又は第２セクタに応答メッセージを作成するステップと、前記第１プロセッサが前記第２セクタに優先して前記第１セクタの応答メッセージを読み込み、該当応答メッセージ関数アドレスに移動するステップと、を含む。
【図面の簡単な説明】
【０００９】
【図１】本発明が適用される２つのプロセッサを使用する通信モジュールの構成を説明するための一例示図である。
【図２】従来のメッセージ処理方法を説明するためのフローチャートである。
【図３】図２で使用するメッセージタイプを説明するための例示図である。
【図４】本発明のメッセージ処理方法を説明するための一実施例のフローチャートである。
【図５】本発明における共用メッセージに作成される要請メッセージ及び応答メッセージのフォーマットを説明するための一例示図である。
【図６】本発明の共用メモリを説明するための一例示図である。
【発明を実施するための形態】
【００１０】
本発明は多様な変更を加えることができ、様々な実施例を有することができるため、特定の実施例を図面に例示して発明を実施する形態で詳細に説明する。しかし、これは本発明を特定な実施形態に対して限定するためではなく、本発明の思想及び技術範囲に含まれる全ての変更、均等物乃至代替物を含むと理解されるべきである。
【００１１】
以下、添付の図面を参照して本発明による好ましい一実施例を詳細に説明する。
【００１２】
図１は、本発明が適用される２つのプロセッサを使用する通信モジュールの構成を説明するための一例示図である。
【００１３】
図面に示したように、ＰＬＣ通信モジュールで第１プロセッサ１と第２プロセッサ２は共用メモリ３に連結される。共用メモリ３は第１プロセッサ１と第２プロセッサ２がメッセージを交換するために使用されるメモリである。
【００１４】
第１プロセッサ１は共用メモリ３を介して第２プロセッサ２に通信を要請する。この際、共用メモリ３はアドレス（ａｄｄｒｅｓｓ）バス（ｂｕｓ）ＡＢ３１．．０とデータバスＤＢ３１．．０によって連結され、アドレスバスとデータバスは第１及び第２プロセッサ１，２が同時に占有することができない。アドレスバスは第１プロセッサ１、第２プロセッサ２及び共用メモリ３に連結されており、データバスも同じく第１プロセッサ１、第２プロセッサ２及び共用メモリ３に連結されている。
【００１５】
「ＢＲＥＱ」はバス要請（ｂｕｓ  ｒｅｑｕｅｓｔ）信号であって、第２プロセッサ２が第１プロセッサ１にバス制御権を要請する信号である。バス制御権を有する一つのプロセッサのみバスと送受信することができる。
【００１６】
「ＢＡＣＫ」はバス応答（ｂｕｓ  ａｃｋ）信号であって、第１プロセッサ１が第２プロセッサ２にバス制御権を渡す際に使用する信号である。
【００１７】
第２プロセッサ２は共用メモリ３と送受信するためにＢＲＥＱをロウ（ＬＯＷ）にして第１プロセッサ１にバス制御権を要請する。第１プロセッサ１はＢＲＥＱがロウであることを確認し、ＢＡＣＫをロウにして第２プロセッサ２にバス制御権を渡す。第２プロセッサ２はＢＡＣＫがロウであることを確認し、共用メモリ３と送受信する。
【００１８】
図２は、従来のメッセージ処理方法を説明するためのフローチャートである。
【００１９】
第１プロセッサ１は第２プロセッサ２に通信を要請するために共用メモリ３に要請（ＲＥＱＵＥＳＴ）メッセージを作成する（ｗｒｉｔｅ）Ｓ２１。
【００２０】
第２プロセッサ２は共用メモリ３に要請メッセージがあるのかを確認しＳ２２、要請メッセージが存在すればＳ２３、通信を処理して応答（ＲＥＳＰＯＮＳＥ）メッセージを共用メモリ３に作成するＳ２４。
【００２１】
第１プロセッサ１は共用メモリ３から応答メッセージを読み込み（ｒｅａｄ）、応答メッセージを処理する。この際、応答メッセージの「メッセージタイプ」に応じて処理する関数を呼び出すＳ２５。
【００２２】
図３は図２で使用するメッセージタイプを説明するための例示図であり、（ａ）は要請メッセージフォーマットを示し、（ｂ）は応答メッセージフォーマットを示す。
【００２３】
図面に示したように、要請及び応答メッセージ共に「メッセージタイプ」フィールドと「メッセージボディ（ＢＯＤＹ）」フィールドで構成され、第１プロセッサ１は応答メッセージのメッセージタイプに応じて処理する関数を呼び出す。
【００２４】
しかし、従来の方式によると通信を要請した順に応答メッセージを生成するため優先順位が高いメッセージを先に処理することができない問題点があり、また、応答メッセージを処理する際にメッセージタイプ別に処理すべき関数を指定するため応答メッセージタイプが多くなると不必要な処理時間が発生する問題点があるということは既に説明したようである。
【００２５】
本発明はこのような問題点を解決するためのものであり、優先順位に応じてメッセージを処理し、応答インベントが発生する際にメッセージ処理時間を減らすことができる。
【００２６】
以下、本発明のメッセージ処理装置及びその方法を説明する。
【００２７】
図４は、本発明のメッセージ処理装置及びその方法を説明するための一実施例のフローチャートであり、図１のＰＬＣ通信モジュールに適用されるものである。
【００２８】
図面に示したように、本発明のメッセージ処理装置及びその方法において、第１プロセッサ１は第２プロセッサ２に通信を要請するために共用メモリ３に要請メッセージを作成するＳ４１。この際、第１プロセッサ１は要請メッセージに優先順位を作成し、該当優先順位に応じて共用メモリ３の該当セクタに要請メッセージを作成する。
【００２９】
図５は本発明における共用メッセージに作成される要請メッセージ及び応答メッセージのフォーマットを説明するための一例示図であり、図６は本発明の共用メモリを説明するための一例示図である。
【００３０】
図５において、（ａ）は要請メッセージフォーマットを、（ｂ）は応答メッセージフォーマットを示す。図面に示したように、本発明の第１プロセッサ１が作成する要請メッセージと第２プロセッサ２が作成する応答メッセージは全て「メッセージタイプ」フィールド、「メッセージ優先順位」フィールド及び「応答メッセージ処理関数アドレス」フィールドを含む。例えば、メッセージ優先順位フィールドが１である場合には要請又は応答に対する高い優先順位を与えたことであり、メッセージ優先順位フィールドが０である場合には要請又は応答に対する低い優先順位を与えたことである。
【００３１】
また、図６に示したように、本発明の共用メモリ３は高い優先順位の要請メッセージと応答メッセージを貯蔵するセクタ（第１セクタ）３１と、低い優先順位の要請メッセージと応答メッセージを貯蔵するセクタ（第２セクタ）３２を含む。
【００３２】
また、本発明の共用メモリ３は第１セクタ３１内で要請メッセージと応答メッセージをそれぞれ別々にブロックを指定して貯蔵し、第２セクタ３２内でも要請メッセージと応答メッセージをそれぞれ別々にブロックを指定して貯蔵する。これは従来の図２のような方法で生成された順に応じて要請メッセージと応答メッセージを貯蔵していた方式とは異なる。即ち、図２の方法で共用メモリ３は「要請メッセージ１、応答メッセージ１、要請メッセージ２、応答メッセージ２…要請メッセージＮ、応答メッセージＮ」のような順に要請メッセージと応答メッセージを貯蔵していたが、本発明はそれとは異なって優先順位に応じてセクタを別途に貯蔵し、また、セクタ内でも要請メッセージと応答メッセージのブロックを別に指定して貯蔵する。
【００３３】
言い換えると、Ｓ４１において、第１プロセッサ１は優先順位が高い処理である場合、即ち、第２プロセッサ２が優先的に処理すべきである場合、要請メッセージのメッセージ優先順位フィールドを１に指定し、該当要請メッセージを第１セクタ３１の要請メッセージブロックに作成する。
【００３４】
第２プロセッサ２は共用メモリ３の第１セクタ３１（高い優先順位）に要請メッセージがある場合Ｓ４２には該当要請メッセージに応じて通信を処理し、共用メモリ３の第１セクタ３１（高い優先順位）に要請メッセージがない場合Ｓ４２には共用メモリ３の第２セクタ３２（低い優先順位）に要請メッセージがあるのかを確認して通信を処理するＳ４４。即ち、第２プロセッサ２は共用メモリ３の第２セクタ３２より第１セクタ３１の要請メッセージに対する通信を優先的に処理する。
【００３５】
次に、第２プロセッサ２は要請メッセージのメッセージ優先順位フィールドが１である場合Ｓ４３には応答メッセージを共用メモリ３の第１セクタ３１に作成しＳ４５、要請メッセージのメッセージ優先順位フィールドが１ではない場合Ｓ４３には第２セクタ３２に応答メッセージを作成するＳ４６。
【００３６】
第１プロセッサ１は共用メモリ３の第１セクタ３１（高い優先順位）に応答メッセージがある場合Ｓ４７、該当応答メッセージを読み込んで応答メッセージ処理関数アドレスフィールドが指定する関数アドレスに移動するＳ４９。
【００３７】
また、共用メモリ３の第１セクタ３１（高い優先順位）に応答メッセージがない場合Ｓ４７、第２セクタ３２（低い優先順位）に応答メッセージがあるのかを確認しＳ４８、該当応答メッセージを読み込んで応答メッセージ処理関数アドレスフィールドが指定する関数アドレスに移動するＳ４９。
【００３８】
即ち、第１プロセッサ１も同じく共用メモリ３の第２セクタ３２より第１セクタ３１の応答メッセージに対して優先的に応答メッセージ処理関数アドレスフィールドが指定する関数アドレスに移動するようにする。
【００３９】
このように、本発明はＰＬＣ通信モジュールで２つのプロセッサが互いにメッセージを交換する場合、優先順位に応じて応答メッセージを区分することで優先順位が高いメッセージを先に処理することができるようにする。
【００４０】
また、本発明は要請メッセージに行うべき関数のアドレスを含ませて伝送することで、応答イベントが発生した際にメッセージ処理時間を最小化することができる。
【００４１】
これまで本発明による実施例が説明されたが、これは例示的なものに過ぎず、当該分野における通常の知識を有するものであればこれから多様な変形及び均等な範囲の実施例が可能であることを理解できるはずである。よって、本発明の真の技術的保護範囲は以下の特許請求の範囲によって決められるべきである。
【図１】
0005944969.tif 000002
【図２】
0005944969.tif 000003
【図３】
0005944969.tif 000004
【図４】
0005944969.tif 000005
【図５】
0005944969.tif 000006
【図６】
0005944969.tif 000007