(57)【特許請求の範囲】
【請求項１】
フレームの、他の情報処理装置への送信と他の情報処理装置からの受信を行う通信処理、および前記フレームの送受信を伴わない非通信処理を実行する情報処理装置において、
他の情報処理装置に送信するフレームを生成するとともに、生成したフレームの優先度および前記非通信処理の優先度に応じて、生成したフレームを、そのフレームの優先度に対応する送信キューに登録する第１の登録手段と、
前記送信キューに登録された前記フレームを取り出す取り出し手段と、
前記取り出し手段により取り出された前記フレームを、ネットワークを介して他の情報処理装置に送信する送信手段と、
前記送信手段による前記フレームの送信が、そのフレームの優先度および前記非通信処理の優先度に基づく順番で実行されるように、前記取り出し手段による前記フレームの取り出しを制御する制御手段と、
前記非通信処理を、前記非通信処理の優先度および前記フレームの優先度に基づく順番で実行する第１の実行手段と、
前記ネットワークを介して、他の情報処理装置から送信されてきたフレームを受信する受信手段と、
受信された前記フレームの優先度および前記非通信処理の優先度に応じて、受信されたフレームを、そのフレームの優先度に対応する受信キューに登録する第２の登録手段と、
前記受信キューに登録された前記フレームに対する処理と前記非通信処理を、前記フレームの優先度および前記非通信処理の優先度に基づく順番で実行する第２の実行手段と、
対象物を処理する処理装置を制御する処理装置制御手段と
を備え、
前記フレームは、前記処理装置から入力された信号に応じた制御を前記処理装置に対して行うのに必要な情報を含んで生成され、その優先度は、前記処理装置から入力された信号に基づいて決定される
ことを特徴とする情報処理装置。
【請求項２】
前記処理装置を制御する処理は、前記対象物の加工作業を制御する処理、その加工作業を監視する処理、またはその監視結果に応じて加工作業を停止させる処理である
請求項１に記載の情報処理装置。
【請求項３】
フレームの、他の情報処理装置への送信と他の情報処理装置からの受信を行う通信処理、および前記フレームの送受信を伴わない非通信処理を実行する情報処理装置の情報処理方法において、
他の情報処理装置に送信するフレームを生成するとともに、生成したフレームの優先度および前記非通信処理の優先度に応じて、生成したフレームを、そのフレームの優先度に対応する送信キューに登録する第１の登録ステップと、
前記送信キューに登録された前記フレームを取り出す取り出しステップと、
前記取り出しステップの処理で取り出された前記フレームを、ネットワークを介して他の情報処理装置に送信する送信ステップと、
前記送信ステップの処理での前記フレームの送信が、そのフレームの優先度および前記非通信処理の優先度に基づく順番で実行されるように、前記取り出しステップの処理での前記フレームの取り出しを制御する制御ステップと、
前記非通信処理を、前記非通信処理の優先度および前記フレームの優先度に基づく順番で実行する第１の実行ステップと、
前記ネットワークを介して、他の情報処理装置から送信されてきたフレームを受信する受信ステップと、
受信された前記フレームの優先度および前記非通信処理の優先度に応じて、受信されたフレームを、そのフレームの優先度に対応する受信キューに登録する第２の登録ステップと、
前記受信キューに登録された前記フレームに対する処理と前記非通信処理を、前記フレームの優先度および前記非通信処理の優先度に基づく順番で実行する第２の実行ステップと、
対象物を処理する処理装置を制御する処理装置制御ステップと
を含み、
前記フレームは、前記処理装置から入力された信号に応じた制御を前記処理装置に対して行うのに必要な情報を含んで生成され、その優先度は、前記処理装置から入力された信号に基づいて決定される
ことを特徴とする情報処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報処理装置および方法に関し、特に、優先すべき処理を適切に実行することができるようにした情報処理装置および方法に関する。
【０００２】
【従来の技術】
図１は、マルチタスク処理が可能な従来の情報処理装置１，２の利用例を示している。情報処理装置１および情報処理装置２は、LAN３を介して、互いに送受信し合うフレームの優先度を決定し、決定した優先度に基づいてフレームの送受信を行う。通常、フレームの優先度は、高い優先度と低い優先度の２つであり、高い優先度のフレーム（以下、高優先度フレームと称する）は、低い優先度のフレーム（以下、低優先度フレームと称する）より優先的に送信され、また、送信されてきた高優先度フレームは、送信されてきた低優先度フレームより優先的に処理される。
【０００３】
図２は、送受信されるフレームの構成を示している。
【０００４】
このフレームは、図２（Ａ）に示すように、ヘッダ部、データ部、およびチェック部から構成されており、ヘッダ部には、送信先アドレス（６バイト）、送信元アドレス（６バイト）、タグヘッダ（４バイト）、データ長又は上位プロトコルタイプ（２バイト）が格納されている。データ部には、データ（４６乃至１５００バイト）が、そしてチェック部には、フレームチェックシーケンス（４バイト）がそれぞれ格納されている。
【０００５】
また、ヘッダ部のタグヘッダには、図２（Ｂ）に示すように、タグプロトコルID（この例の場合、0X8100に固定）（２バイト）、ユーザプライオリティ（３ビット）、カノニカルフォーマットインジケータ（１ビット）、VLAN_ID（この例の場合、0に固定））ビット）が格納されている。
【０００６】
ヘッダ部のユーザプライオリティには、データ部に格納されているデータに与えられた優先度（以下、データ優先度と称する）を示す、値０（最も低いデータ優先度を示す値）乃至値８（最も高いデータ優先度を示す値）が設定されている。すなわち、この例では、ユーザプライオリティが値０乃至値３であるフレーム（値０乃至値３のデータ優先度のデータを格納しているフレーム）が、低優先度フレームとされ、ユーザプライオリティが値４乃至値８であるフレーム（値４乃至値８のデータ優先度のデータを格納しているフレーム）が、高優先度フレームとされる。
【０００７】
図３は、情報処理装置１の構成例を示している。CPU２１は、ROM２２またはハードディスク２７に記憶されているプログラムに従って、各種処理を実行する。RAM２３は、CPU２１が各種の処理を実行する上において必要な各種のデータを適宜記憶する。
【０００８】
入力部２４は、CPU２１に所定の指令を入力するときに、ユーザにより操作される。表示部２５は、例えば、液晶ディスプレイ等により構成され、各種情報を表示する。
【０００９】
通信用インタフェース２６は、CPU２１により供給されたフレームをLAN３に出力したり、例えば、情報処理装置２から、LAN３を介して送信されてきたフレーム（高優先度フレームまたは低優先度フレーム）を受信し、CPU２１に供給する。
【００１０】
図４は、情報処理装置１の機能的構成例を示している。
【００１１】
Ｎ個のタスク２−１乃至２−Ｎは、後述する通信処理タスク３以外のタスクであり、通信処理以外の各種の処理を実行する。なお、この例の場合、Ｎ個のタスク２−１乃至２−Ｎを、個々に区別する必要がない場合、これらをまとめて、一般タスク１と称する。
【００１２】
所定の一般タスク１は、他の情報処理装置（例えば、情報処理装置２）に送信すべきデータ（値０乃至値８のデータ優先度を有するデータ）を格納するフレームを生成するとともに、そのフレームの優先度を決定する。一般タスク１はまた、高い優先度のフレーム（高優先度フレーム）を高優先度送信キュー１１にエントリし、また低い優先度のフレーム（低優先度フレーム）を低優先度キュー１２にエントリする。
【００１３】
高優先度送信キュー１１または低優先度送信キュー１２には、エントリされたフレームが記憶されている、例えば、RAM２３のアドレスが、その記憶の順番で蓄積される。なお、以下において、高優先度送信キュー１１および低優先度送信キュー１２を、個々に区別する必要がない場合、これらをまとめて、送信キューと称する。他の場合についても同様である。
【００１４】
所定の一般タスク１は、例えば、情報処理装置２から送信されてきたフレームを処理する。その一般タスク１は、高優先度受信キュー１３または低優先度受信キュー１４にエントリされたフレーム（情報処理装置２から送信されてきたフレーム）を、FIFO規律に従って取り出し、そのフレームを処理する（正確には、それに格納されているデータを処理する）。但し、このとき、この一般タスク１は、高優先度受信キュー１３にエントリされているフレームを、低優先度受信キュー１４にエントリされているフレームより優先的に取り出して処理する。
【００１５】
高優先度受信キュー１３または低優先度受信キュー１４には、エントリされたフレーム（例えば、情報処理装置２から送信されてきたフレーム）が記憶されている、RAM２３のアドレスが、その記憶の順番で蓄積される。なお、以下において、高優先度受信キュー１３および低優先度受信キュー１４を、個々に区別する必要がない場合、これらをまとめて、受信キューと称する。他の場合についても同様である。
【００１６】
通信処理タスク３は、送信タスク４および受信タスク５から構成されている。送信タスク４は、高優先度送信キュー１１または低優先度送信キュー１２にエントリされたフレームを、FIFO規律に従って取り出し、通信用インタフェース２６に書き込む（ライトする）。但し、このとき、送信タスク４は、高優先度送信キュー１１にエントリされているフレームを、低優先度送信キュー１２にエントリされているフレームより優先的に取り出し、通信用インタフェース２６にライトする。通信用インタフェース２６にライトされたフレームは、LAN３を介して、例えば、情報処理装置２に送信される。
【００１７】
なお、送信キューからのフレーム取り出しおよびその通信用インタフェース２６への書き込みは、通信割り込みハンドラ６からの、１フレーム（通信用インタフェース２６にライトされたフレーム）の送信が完了した旨（以下、単に、送信完了と称する）の通知に対応して行われ、送信キューにエントリされているフレームがなくなるまで繰り返される。
【００１８】
受信タスク５は、通信用インターフェース２６から、受信されたフレーム（例えば、情報処理装置２から送信されてきたフレーム）を取り出し、それが、高優先度フレームである場合、高優先度受信キュー１３にエントリし、また低優先度フレームである場合、低優先度受信キュー１４にエントリする。
【００１９】
なお、通信用インタフェース２６からのフレーム取り出しおよび受信キューへのエントリは、通信割り込みハンドラ６からの、例えば、情報処理装置２から送信されてきたフレームの全てが通信用インタフェース２６により受信された旨（以下、単に、受信完了と称する）の通知により開始される。
【００２０】
通信割り込みハンドラ６は、OS７から、通信処理タスク３の送信タスク４により通信用インタフェース２６に書き込まれた１フレームの送信が完了した場合に発生する割り込み（以下、送信完了割り込みと称する）があったとき、送信タスク４に送信完了を通知する。通信割り込みハンドラ６はまた、OS７から、例えば、情報処理装置２から送信されてきたフレームの全てが通信用インタフェース２６により受信された場合に発生する割り込み（以下、受信完了割り込みと称する）があったとき、受信タスク５に受信完了を通知する。
【００２１】
なお、ここでタスク（一般タスク１および通信処理タスク３）とは、並行処理が可能なプログラムの単位で、それぞれ所定の優先度（以下、タスク優先度と称する）が与えられており、その実行（例えば、開始または停止）は、そのタスク優先度に基づいて、OS７により制御される。
【００２２】
また、ハンドラ（通信割り込みハンドラ６）は、タスクと同様に、並行処理が可能なプログラムの単位であり、その実行は、OS７からの割り込み（送信完了割り込みまたは受信完了割り込み）により開始される。すなわち、ハンドラは、どのタスク優先度より高い優先度が与えられており、割り込みがあった場合、どのタスクよりも優先的に実行（開始）される。なお、ハンドラは、タスクと比較して、非常に短い時間でその実行が完了する。
【００２３】
OS７は、一般タスク１（Ｎ個のタスク２−１乃至２−Ｎ）、通信処理タスク３（送信タスク４および受信タスク５）、または通信割り込みハンドラ６を、その優先度に基づいて時分割で切り替える。
【００２４】
次に、情報処理装置１の送信動作を、図５のフローチャートを参照して説明する。
【００２５】
ステップＳ１において、一般タスク１は、生成したフレームの優先度を決定し、その結果に基づいて送信キューにエントリする。すなわち、一般タスク１は、優先度の高いフレーム（高優先度フレーム）を高優先度送信キュー１１に、優先度の低いフレーム（低優先度フレーム）を、低優先度送信キュー１２にエントリする。
【００２６】
ステップＳ２において、一般タスク１は、ステップＳ１でエントリしたフレームの送信を、OS７を介して、通信処理タスク３に要求する。
【００２７】
これにより、通信処理タスク３の送信タスク４の実行が開始され、ステップＳ３において、エントリされたフレームが送信される。この処理の詳細は、図６のフローチャートに示されている。
【００２８】
すなわち、ステップＳ１１において、通信処理タスク３の送信タスク４は、高優先度送信キュー１１にフレーム（高優先度フレーム）がエントリされているか否かを判定し、エントリされていると判定した場合、ステップＳ１２に進み、そこから、FIFO規律に従う順番で、１つの高優先度フレームを読み出す。
【００２９】
一方、ステップＳ１１で、高優先度送信キュー１１にフレーム（高優先度フレーム）がエントリされていないと判定した場合、送信タスク４は、ステップＳ１３に進み、低優先度送信キュー１２にフレーム（低優先度フレーム）がエントリされているか否かを判定し、エントリされていると判定した場合、ステップＳ１４に進み、そこから、FIFO規律に従う順番で、１つの低優先度フレームを取り出す。
【００３０】
ステップＳ１２またはステップＳ１４で１つのフレームが取り出されたとき、ステップＳ１５に進み、通信処理タスク３の送信タスク４は、取り出した１つのフレームを、通信用インタフェース２６に書き込む（ライトする）。これにより、通信用インタフェース２６にライトされたフレームは、LAN３を介して、例えば、情報処理装置２に送信される。
【００３１】
次に、ステップＳ１６において、通信処理タスク３の送信タスク４は、通信割り込みハンドラ６から、送信完了（ステップＳ１５で、通信用インタフェース２６にライトされたフレームの送信が完了した旨）が通知されるまで待機し、すなわち、通信割り込みハンドラ６が、OS７からの送信完了割り込み（通信用インタフェース２６にライトされた１フレームの送信が完了したときに発生する割り込み）があるまで待機し、送信完了が通知されたとき、すなわち、通信完了割り込みがあったとき、ステップＳ１１に戻り、それ以降の処理を実行する。
【００３２】
ステップＳ１３で、低優先度送信キュー１２にもフレーム（低優先度フレーム）がエントリされていないと判定された場合、ここでの処理は、図５の処理とともに終了する。
【００３３】
以上のように送信動作が実行されることより、高優先度フレームが、低優先度フレームより優先的に送信される。
【００３４】
次に、情報処理装置１の受信動作を、図７のフローチャートを参照して説明する。
【００３５】
ステップＳ２１において、受信された、例えば、情報処理装置２からのフレームの取り出しが開始される。この処理の詳細は、図８のフローチャートに示されている。
【００３６】
すなわち、ステップＳ３１において、通信割り込みハンドラ６は、OS７からの受信完了割り込みがあるまで待機し（情報処理装置２からのフレームの全てが通信用インタフェース２６により受信されるまで待機し）、受信完了割り込みがあったとき（フレームの全てが受信されたとき）、ステップＳ３２に進み、受信完了割り込みの禁止をOS７に対して要求する。これにより、通信割り込みハンドラ６に対する受信完了割り込みは、後述するステップＳ３８の処理により、それが解除されるまで行われない。
【００３７】
次に、ステップＳ３３において、通信割り込みハンドラ６は、受信完了（送信されてきた全てのフレームの受信が完了した旨）を、通信処理タスク３に通知する。
【００３８】
これにより、通信処理タスク３の受信タスク５の実行が開始され、ステップＳ３４において、受信タスク５は、通信用インタフェース２６から、受信されたフレームを取り出し、ステップＳ３５において、それが高優先度フレームであるかまたは低優先度フレームであるかを判定する。なお、この判定は、フレームのヘッダ部に格納されているタグヘッダのユーザプライオリティ（図２（Ｂ））を参照することにより行われる。
【００３９】
ステップＳ３５で、高優先度フレームであると判定された場合、ステップＳ３６に進み、通信処理タスク３の受信タスク５は、そのフレーム（高優先度フレーム）を、高優先度受信キュー１３にエントリする。一方、ステップＳ３５で、低優先度フレームであると判定された場合、ステップＳ３７に進み、そのフレーム（低優先度フレーム）は、低優先度受信キュー１４にエントリされる。
【００４０】
ステップＳ３６またはステップＳ３７で、フレームが受信キューにエントリされたとき、ステップＳ３８に進み、通信処理タスク３の受信タスク５は、OS７に対し、ステップＳ３２で設定された受信完了割り込み禁止の解除を要求する。これにより、通信割り込みハンドラ６に対する受信完了割り込みが可能となる。その後、処理は終了し、図７のステップＳ２２に進む。
【００４１】
ステップＳ２２において、一般タスク１は、高優先度受信キュー１３に、フレーム（高優先度フレーム）がエントリされているか否かを判定し、エントリーされていると判定した場合、ステップＳ２３に進み、エントリされている高優先度フレームの全てを、FIFO規律の順番に従って取り出す。
【００４２】
一方、ステップＳ２２で、高優先度受信キュー１３に、フレーム（高優先度フレーム）がエントリーされていないと判定された場合、ステップＳ２４に進み、一般タスク１は、低優先度受信キュー１４にフレーム（低優先度フレーム）がエントリされているか否かを判定し、エントリされていると判定した場合、ステップＳ２５に進み、エントリされている低優先度フレームの全てを、FIFO規律の順番に従って取り出す。
【００４３】
ステップＳ２３またはステップＳ２５で、フレームが取り出されたとき、ステップＳ２６に進み、一般タスク１は、取り出したフレームを処理する（フレームに格納されているデータを処理する）。
【００４４】
ステップＳ２６で処理が実行されたとき、またはステップＳ２４で、低優先度受信キュー１４にもフレームがエントリされていないと判定されたとき、処理は終了する。
【００４５】
以上のように受信動作が実行されることより、高優先度フレームが、低優先度フレームより優先的に処理される。
【００４６】
【発明が解決しようとする課題】
しかしながら、一般タスク１のタスク２−１乃至２−Ｎ、および通信処理タスク３のそれぞれの実行は、上述したように、それらのタスク優先度に基づいて、OS７により制御されている（時分割で切り替えられる）。
【００４７】
例えば、通信処理タスク３のタスク優先度が、一般タスク１のタスク優先度より高い場合、図９に示すように、一般タスク１の実行が、時刻ｔ1から開始され、それが継続している時刻ｔ2において、通信処理タスク３の実行が要求されたとき、タスクの実行は、その時点で、一般タスク１から通信処理タスク３に切り替わり、通信処理タスク３の実行が開始される。これにより、フレームの送受信が開始される。一般タスク１の実行は、通信処理タスク３の実行が完了する時刻ｔ3から再開する（時刻ｔ2から時刻ｔ3まで中断する）。
【００４８】
すなわち、一般タスク１の実行が、通信処理タスク３の実行（例えば、低優先度フレームの送受信）より優先すべきものであっても、一般タスク１の実行は、その通信処理タスク３の実行（低優先度フレームの送受信）により、中断してしまう。
【００４９】
また、逆に、一般タスク１のタスク優先度が、通信処理タスク３のそれよりも高い場合、図１０に示すように、通信処理タスク３の実行が、時刻ｔ11から開始され、それが継続している時刻ｔ12において、一般タスク１の実行が要求されたとき、タスクの実行は、その時点で、通信処理タスク３から一般タスク１に切り替わり、一般タスク１の実行が開始される。通信処理タスク３の実行は、一般タスク１の実行が完了する時刻ｔ13から再開する（時刻ｔ12から時刻ｔ13まで中断する）。
【００５０】
すなわち、通信処理タスク３の実行（例えば、高優先度フレームの送受信）が、一般タスク１の実行より優先すべきものであっても、通信処理タスク３の実行（高優先度フレームの送受信）は、その一般タスク１の実行により、中断してしまう。
【００５１】
以上のように、優先すべきタスク（処理）が適切に行われない課題があった。
【００５２】
以下において、この課題を、より具体的な例に基づいて、説明する。
【００５３】
図１１は、マルチタスク処理が可能な加工装置５１の利用例およびその構成例を表している。加工装置５１は、前工程から、ベルトコンベアにより所定の位置まで搬送されてきた加工対象物に対し、所定の加工を施す。加工装置５１により加工された加工対象物は、ベルコンベアにより次行程に搬送される。
【００５４】
加工装置５１はまた、LAN５２に接続され、同様にLAN５２に接続されている、ベルトコンベア制御装置５３や管理装置５４とフレームの送受信を行う。
【００５５】
ベルトコンベア制御装置５３は、ベルトコンベアのベルト速度等を制御するとともに、加工装置５１からの命令により、ベルトコンベアを停止させる。管理装置５４は、加工装置５１から供給される、例えば、稼働率や加工数などの生産実績を示す情報（以下、生産実績情報と称する）を集計するなどの処理を行う。
【００５６】
加工装置５１は、PLC(Programmable Logic Controller)６１、加工部６２、センサ部６３、緊急停止ボタン６４などから構成されている。加工部６２は、アクチュエータを有しており、加工対象物を加工する。
【００５７】
センサ部６３は、複数のセンサから構成されており、加工対象物の位置を検出したり、ベルトコンベアの動作異常を検出し、その検出結果を、PLC６１に通知する。緊急停止ボタン６４は、例えば、異常発生時に、加工装置５１の作業者により操作されるボタンであり、それが操作された場合、緊急停止ボタン６４は、その旨をPLC６１に通知する。
【００５８】
PLC６１は、加工制御処理、監視処理、実績管理処理、通信処理などを実行する。加工制御処理は、加工部６２による加工を制御する処理である。監視処理は、センサ部６３からの動作異常の通知や緊急停止ボタンからの操作通知を監視し、それらの通知があった場合、例えば、ベルトコンベア制御装置５３に送信する、ベルトコンベアを停止させるための命令（以下、停止命令情報と称する）を生成する処理である。実績管理処理は、管理装置５４に送信される、加工装置５１の生産実績情報を生成する処理である。
【００５９】
通信処理は、例えば、生成された停止命令情報を、ベルトコンベア制御装置５３に送信し、生成された生産実績情報（低優先度フレーム）を、管理装置５４に送信したり、ベルトコンベア制御装置５３や管理装置５４から送信されてきたフレームを受信する処理である。
【００６０】
図１２は、PLC６１の構成例を示している。CPU７１は、ROM７２に記憶されているプログラム（加工タスク、監視タスク、実績管理タスク、通信処理タスクなど）に従って、例えば、上述した、加工制御処理、監視処理、実績管理処理、通信処理などを実行する。RAM７３は、CPU７１が各種の処理を実行する上において必要な各種のデータを適宜記憶する。
【００６１】
制御用インタフェース７４は、加工部６２乃至緊急停止ボタン６４から送信されてくるデータを受信し、CPU７１に出力したり、CPU７１より供給されたデータを、それらに出力する。
【００６２】
通信用インタフェース７５は、LAN５２に接続され、LAN５２を介して送信されてくるフレームを受信し、CPU７１に出力したり、CPU７１から供給されたフレームを、LAN５２に出力する。
【００６３】
図１３は、PLC６１の機能的構成例を示している。すなわち、このPLC６１の機能構成は、図４で示した情報処理装置１の機能的構成の、一般タスク１のタスク２−１、タスク２−２、およびタスク２−３（図示せず）を、加工制御処理を実行する加工タスク２−１、監視処理を実行する監視タスク２−２、および実績管理処理を実行する実績管理タスク２−３としたものであり、他の部分は同様である。
【００６４】
以下において、通信処理タスク３のタスク優先度と、一般タスク１である加工タスク２−１、監視タスク２−２、または実績管理タスク２−３のタスク優先度の大小（高低）関係に基づくPLC６１の動作を説明する。なお、PLC６１の送信動作または受信動作は、図５および図６、並びに図７および図８のフローチャートを参照して説明した場合と基本的に同様であるので、その説明は、以下の説明の中で、対応するステップを示すことで行い、その詳細な説明は省略する。
【００６５】
はじめに、タスク優先度が、通信処理タスク３、監視タスク２−２、そして実績管理タスク２−３の順に高い場合、すなわち、通信処理タスク３のタスク優先度が、他のタスクより高い場合を例として説明する。なお、この例の場合、加工タスク２−１は考慮されない。
【００６６】
例えば、図１４に示すように、最も低いタスク優先度の実績管理タスク２−３の実行が、時刻ｔa0から開始されたものとする。これにより、生産実績情報を格納したフレームが生成され、その優先度が決定される。通常、生産実績の集計は、例えば、異常事態発生時におけるベルトコンベアの停止などと比較して、緊急性を要しないので、生産実績情報のデータ優先度は小さい値とされ、それを格納するフレームの優先度は、低い優先度とされる。すなわち、生産実績情報を格納するフレームは低優先度フレームとなる。そしてこの低優先度フレームが、低優先度送信キュー１２にエントリされた後（図５のステップＳ１）、時刻ｔa1において、そのフレームの送信が通信処理タスク３に要求される（図５のステップＳ２）。
【００６７】
実績管理タスク２−３から、送信要求があると、その時刻ｔa1から、通信処理タスク３（送信タスク４）の実行が開始され、低優先度送信キュー１２にエントリされた低優先度フレームの送信が開始される（図５のステップＳ３）。その結果、生産実績情報が管理装置５４に供給され、生産実績の集計が行われるようになる。
【００６８】
しかしながら、通信処理タスク３の実行（生産実績情報の送信）が継続している時刻ｔa2において、例えば、緊急停止ボタン６４が操作されたものとする。この例の場合、監視タスク２−２のタスク優先度は通信処理タスク３のそれよりも低いので、この時点において、タスクの実行は切り替わらず、監視タスク２−２の実行は、この通信処理タスク３の実行が完了した時刻ｔa3から開始される。
【００６９】
監視タスク２−２が開始されると、停止命令情報を格納するフレームが生成され、その優先度が決定される。上述したように、異常時発生時におけるベルトコンベアの停止は、緊急性を要するので、それに必要な停止命令情報のデータ優先度は大きな値とされ、それを格納するフレームの優先度は、高い優先度とされる。すなわち、停止命令情報を格納するフレームは高優先度フレームとなる。そしてこの高優先度フレームが、高優先度送信キュー１１にエントリされた後、時刻ｔa4において、そのフレームの送信が通信処理タスク３に要求される。
【００７０】
監視タスク２−２から、送信要求があると、通信処理タスク３（送信タスク４）の実行が開始され、時刻ｔa4から、高優先度フレームの送信が開始される。その結果、停止命令情報がベルトコンベア制御装置５３に供給され、ベルトコンベアが停止する。
【００７１】
すなわち、この例の場合、監視タスク２−２が、低優先度フレーム（生産実績情報を格納するフレーム）を送信するための通信処理タスク３の実行により、緊急ボタン６４の操作から時間Ｔaだけ遅れて開始され、その結果、高優先度フレーム（停止命令情報を格納するフレーム）の送信が遅れ、ベルトコンベアの停止が遅れる。
【００７２】
次に、タスク優先度が、通信処理タスク３、加工タスク２−１、そして実績管理タスク２−３の順で高い場合、すなわち、上述の例と同様に、通信処理タスク３のタスク優先度が、他のタスクより高い場合を例として説明する。なお、この例の場合、監視タスク２−２は考慮されない。
【００７３】
例えば、図１５に示すように、最も低いタスク優先度の実績管理タスク２−３の実行が、時刻ｔa0から開始され、そして時刻ｔa1において、低優先度フレーム（生産実績情報を格納するフレーム）の送信が通信処理タスク３に要求されたものとする。これにより、時刻ｔa1から、生産実績情報の送信が開始される。
【００７４】
また、通信処理タスク３の実行（生産実績情報の送信）が継続している時刻ｔ2において、例えば、加工対象物が、加工することができる位置に搬送されてきた（到着した）ものとする。この例の場合、加工タスク２−１のタスク優先度は通信処理タスク３のそれよりも低いので、この時点において、タスクの実行は切り替わらず、加工タスク２−１の実行は、この通信処理タスク３の実行が完了した時刻ｔa3から開始される。
【００７５】
すなわち、この例の場合、加工タスク２−１が、低優先度フレーム（生産実績情報を格納するフレーム）を送信するための通信処理タスク３の実行により、加工対象物が到着してから時間Ｔaだけ遅れて開始され、その結果、例えば、稼働率が低下する。
【００７６】
つまり、図１４の例では、監視タスク２−２、図１５の例では、加工タスク２−１のそれぞれ優先すべきタスクの開始が、低優先度フレームを送信するための通信処理タスク３の実行により遅れてしまう。
【００７７】
次に、タスク優先度が、監視タスク２−２、加工タスク２−１、そして通信処理タスク３の順に高い場合、すなわち、通信処理タスク３のタスク優先度が最も低い場合を例として説明する。なお、この例の場合、実績管理タスク２−３は考慮されない。
【００７８】
例えば、図１６に示すように、時刻ｔb1から開始された加工タスク２−１の実行が継続している時刻ｔb2において、緊急停止ボタン６４が操作されたものとする。この例の場合、監視タスク２−２のタスク優先度は、加工タスク２−１のそれよりも高いので、この時点において、タスクの実行が、加工タスク２−１から監視タスク２−２に切り替わり、監視タスク２−２の実行が開始され、時刻ｔb3において、高優先度フレーム（停止命令情報を格納するフレーム）の送信が通信処理タスク３に要求される。
【００７９】
しかしながら、この例の場合、通信処理タスク３のタスク優先度は、加工タスク２−１のそれよりも低いので、この時点において、タスクの実行は、監視タスク２−２から加工タスク２−１に切り替わる。すなわち、通信処理タスク３の実行は、加工タスク２−１の実行が完了した時刻ｔb4から開始される。
【００８０】
つまり、この例の場合、高優先度フレーム（停止命令情報を格納するフレーム）を送信するための通信処理タスク４の実行が、加工タスク２−１の実行により、その高優先度フレームの送信要求があったときから時間Ｔbだけ遅れて開始され、それに伴いベルトコンベアの停止が遅れる。
【００８１】
本発明はこのような状況に鑑みてなされたものであり、優先すべき一般タスクまた、優先すべき通信処理タスクを適切に実行することができるようにするものである。
【００８２】
【課題を解決するための手段】
本発明の情報処理装置は、フレームの、他の情報処理装置への送信と他の情報処理装置からの受信を行う通信処理、および前記フレームの送受信を伴わない非通信処理を実行する情報処理装置において、他の情報処理装置に送信するフレームを生成するとともに、生成したフレームの優先度および前記非通信処理の優先度に応じて、生成したフレームを、そのフレームの優先度に対応する送信キューに登録する第１の登録手段と、前記送信キューに登録された前記フレームを取り出す取り出し手段と、前記取り出し手段により取り出された前記フレームを、ネットワークを介して他の情報処理装置に送信する送信手段と、前記送信手段による前記フレームの送信が、そのフレームの優先度および前記非通信処理の優先度に基づく順番で実行されるように、前記取り出し手段による前記フレームの取り出しを制御する制御手段と、前記非通信処理を、前記非通信処理の優先度および前記フレームの優先度に基づく順番で実行する第１の実行手段と、前記ネットワークを介して、他の情報処理装置から送信されてきたフレームを受信する受信手段と、受信された前記フレームの優先度および前記非通信処理の優先度に応じて、受信されたフレームを、そのフレームの優先度に対応する受信キューに登録する第２の登録手段と、前記受信キューに登録された前記フレームに対する処理と前記非通信処理を、前記フレームの優先度および前記非通信処理の優先度に基づく順番で実行する第２の実行手段と、対象物を処理する処理装置を制御する処理装置制御手段を備え、前記フレームは、前記処理装置から入力された信号に応じた制御を前記処理装置に対して行うのに必要な情報を含んで生成され、その優先度は、前記処理装置から入力された信号に基づいて決定されることを特徴とする。
【００８３】
前記第１の登録手段は、例えば、図１８，３４の一般タスク１により、前記取り出し手段は、例えば、図１８の高優先度通信処理タスク２０１および低優先度通信処理タスク２０２、並びに図３４の通信処理タスク４０１により、前記送信手段は、例えば、図１８，３４の通信用インタフェース１１６により、前記制御手段は、例えば、図１８，３４の通信割り込みハンドラ６により、前記第１の実行手段は、図１８，３４の一般タスク１により、前記受信手段は、例えば、図１８，３４の通信用インタフェース１１６により、前記第２の登録手段は、図１８の高優先度通信処理タスク２０１および低優先度通信処理タスク２０２、並びに図３４の通信処理タスク４０１により、前記第２の実行手段は、図１８，３４の一般タスク１により、それぞれ構成することができる。
【００８５】
前記処理装置を制御する処理は、前記対象物の加工作業を制御する処理、その加工作業を監視する処理、またはその監視結果に応じて加工作業を停止させる処理であるようにすることができる。
【００８６】
本発明の情報処理方法は、フレームの、他の情報処理装置への送信と他の情報処理装置からの受信を行う通信処理、および前記フレームの送受信を伴わない非通信処理を実行する情報処理方法において、他の情報処理装置に送信するフレームを生成するとともに、生成したフレームの優先度および前記非通信処理の優先度に応じて、生成したフレームを、そのフレームの優先度に対応する送信キューに登録する第１の登録ステップと、前記送信キューに登録された前記フレームを取り出す取り出しステップと、前記取り出しステップの処理で取り出された前記フレームを、ネットワークを介して他の情報処理装置に送信する送信ステップと、前記送信ステップの処理での前記フレームの送信が、そのフレームの優先度および前記非通信処理の優先度に基づく順番で実行されるように、前記取り出しステップの処理での前記フレームの取り出しを制御する制御ステップと、前記非通信処理を、前記非通信処理の優先度および前記フレームの優先度に基づく順番で実行する第１の実行ステップと、前記ネットワークを介して、他の情報処理装置から送信されてきたフレームを受信する受信ステップと、受信された前記フレームの優先度および前記非通信処理の優先度に応じて、受信されたフレームを、そのフレームの優先度に対応する受信キューに登録する第２の登録ステップと、前記受信キューに登録された前記フレームに対する処理と前記非通信処理を、前記フレームの優先度および前記非通信処理の優先度に基づく順番で実行する第２の実行ステップと、対象物を処理する処理装置を制御する処理装置制御ステップとを含み、前記フレームは、前記処理装置から入力された信号に応じた制御を前記処理装置に対して行うのに必要な情報を含んで生成され、その優先度は、前記処理装置から入力された信号に基づいて決定されることを特徴とする。
【００８７】
前記第１の登録ステップは、例えば、図１９のステップＳ１０２，１０４により、前記取り出しステップは、例えば、図２０のステップＳ１１４および図２１のステップＳ１２４により、前記送信ステップは、例えば、図２２のステップＳ１３１により、前記制御ステップは、例えば、図２２のステップＳ１３２により、第１の実行ステップは、図１８，３４の一般タスク１の処理により、前記受信ステップは、例えば、図２３のステップＳ１４１により、前記第２の登録ステップは、図２４のステップＳ１５４および図２５のステップＳ１６４により、前記第２の実行ステップは、図２６のステップＳ１７１乃至Ｓ１７５により、それぞれ構成することができる。
【００８８】
本発明の情報処理装置および情報処理方法においては、他の情報処理装置に送信するフレームが生成されるとともに、生成されたフレームの優先度および前記非通信処理の優先度に応じて、生成されたフレームが、そのフレームの優先度に対応する送信キューに登録され、前記送信キューに登録された前記フレームが取り出され、取り出された前記フレームが、ネットワークを介して他の情報処理装置に送信され、前記フレームの送信が、そのフレームの優先度および前記非通信処理の優先度に基づく順番で実行されるように、前記フレームの取り出しが制御され、前記非通信処理が、前記非通信処理の優先度および前記フレームの優先度に基づく順番で実行され、前記ネットワークを介して、他の情報処理装置から送信されてきたフレームが受信され、受信された前記フレームの優先度および前記非通信処理の優先度に応じて、受信されたフレームが、そのフレームの優先度に対応する受信キューに登録され、前記受信キューに登録された前記フレームに対する処理と前記非通信処理が、前記フレームの優先度および前記非通信処理の優先度に基づく順番で実行され、対象物を処理する処理装置が制御され、前記フレームは、前記処理装置から入力された信号に応じた制御を前記処理装置に対して行うのに必要な情報を含んで生成され、その優先度は、前記処理装置から入力された信号に基づいて決定される。
【００８９】
本発明の情報処理装置および情報処理方法によれば、他の情報処理装置に送信するフレームを生成するとともに、生成したフレームの優先度および前記非通信処理の優先度に応じて、生成したフレームを、そのフレームの優先度に対応する送信キューに登録し、前記送信キューに登録された前記フレームを取り出し、取り出された前記フレームを、ネットワークを介して他の情報処理装置に送信し、前記フレームの送信が、そのフレームの優先度および前記非通信処理の優先度に基づく順番で実行されるように、前記フレームの取り出しを制御し、前記非通信処理を、前記非通信処理の優先度および前記フレームの優先度に基づく順番で実行し、前記ネットワークを介して、他の情報処理装置から送信されてきたフレームを受信し、受信された前記フレームの優先度および前記非通信処理の優先度に応じて、受信されたフレームを、そのフレームの優先度に対応する受信キューに登録し、前記受信キューに登録された前記フレームに対する処理と前記非通信処理を、前記フレームの優先度および前記非通信処理の優先度に基づく順番で実行し、対象物を処理する処理装置を制御し、前記フレームは、前記処理装置から入力された信号に応じた制御を前記処理装置に対して行うのに必要な情報を含んで生成され、その優先度は、前記処理装置から入力された信号に基づいて決定されるようにしたので、優先すべき処理を適切に実行することができる。
【０１１４】
【発明の実施の形態】
図１７は、本発明を適用した情報処理装置１０１の構成例を示している。情報処理装置１０１のCPU１１１乃至ハードディスク１１７は、図３の情報処理装置１のCPU２１乃至ハードディスク２７と基本的に同様な処理を実行するので、その説明は省略する。なお、情報処理装置１０１は、例えば、LAN３（図１）に接続され、送受信するフレームの優先度を決定し、決定した優先度に基づいて、例えば、情報処理装置１，２とフレームの送受信を行う。なお、この例の場合も、フレームの優先度は、高い優先度と低い優先度の２つされ、高優先度フレームと低優先度フレームが送受信される。
【０１１５】
図１８は、情報処理装置１０１の機能的構成例を表している。この情報処理装置には、図４の通信処理タスク３に代えて、高優先度通信処理タスク２０１および低優先度通信処理タスク２０２が設けられ、また送信フレーム種別記憶部２０３、およびヘッダ記憶部２０４がさらに設けられている。
【０１１６】
高優先度通信処理タスク２０１は、低優先度通信処理タスク２０２より高いタスク優先度が与えられている通信処理タスクである。低優先度通信処理タスク２０２は、すなわち、高優先度通信処理タスク２０１より低いタスク優先度が与えられている通信処理タスクである。
【０１１７】
高優先度通信処理タスク２０１は、高優先度送信タスク２１１および高優先度受信タスク２１２から構成されている。
【０１１８】
高優先度送信タスク２１１は、一般タスク１からの送信要求により、高優先度送信キュー１１にエントリされている高優先度フレームを、FIFO規律に従って取り出し、通信用インタフェース１１６にライトする。高優先度送信タスク２１１はこのとき、高優先度フレームを示す情報（以下、高優先度フレーム種別情報と称する）を、送信フレーム種別記憶部２０３に供給し、記憶させる（上書きさせる）。
【０１１９】
高優先度受信タスク２１２は、通信割り込みハンドラ６から、受信完了が通知されたとき、ヘッダ記憶部２０４から、後述する通信割り込みハンドラ６により抽出され記憶されたフレームのヘッダ部を、そして通信用インタフェース１１６から、フレームのそれ以外のデータ部およびチェック部を取り出し、高優先度受信キュー１３にエントリする。
【０１２０】
低優先度通信処理タスク２０２は、低優先度送信タスク２２１および低優先度受信タスク２２２から構成されている。
【０１２１】
低優先度送信タスク２２１は、一般タスク１からの送信要求により、低優先度送信キュー１２にエントリされている低優先度フレームを、FIFO規律に従って取り出し、通信用インタフェース１１６にライトする。低優先度送信タスク２２１はこのとき、低優先度フレームを示す情報（以下、低優先度フレーム種別情報と称する）を、送信フレーム種別記憶部２０３に供給し、上書きさせる。
【０１２２】
低優先度受信タスク２２２は、通信割り込みハンドラ６から、受信完了が通知されたとき、ヘッダ記憶部２０４から、後述する通信割り込みハンドラ６により抽出され記憶されたフレームのヘッダ部を、そして通信用インタフェース１１６から、フレームのそれ以外のデータ部およびチェック部を取り出し、低優先度受信キュー１４にエントリする。
【０１２３】
通信割り込みハンドラ６は、OS７から送信完了割り込みがあった場合、送信フレーム種別記憶部２０３を参照し、そこに高優先度フレーム種別情報が記憶されているかまたは低優先度フレーム種別情報が記憶されているかを判定する。通信割り込みハンドラ６は、送信フレーム種別記憶部２０３に高優先度フレーム種別情報が記憶されていると判定した場合、送信完了を、高優先度通信処理タスク２０１の高優先度送信タスク２１１に通知し、また低優先度フレーム種別情報が記憶されていると判定した場合、送信完了を、低優先度通信処理タスク２０２の低優先度送信タスク２２１に通知する。
【０１２４】
通信割り込みハンドラ６はまた、OS７から受信完了割り込みがあった場合、OS７を介して、通信用インタフェース１１６により受信されたフレームの全てから、そのヘッダ部を抽出するとともに、ヘッダ記憶部２０４に記憶させる。そして通信割り込みハンドラ６は、抽出したヘッダ部のユーザプライオリティに基づいて（図２（Ｂ））、受信されたフレームが高優先度フレームであるかまたは低優先度フレームであるかを判定する。通信割り込みハンドラ６は、高優先度フレームであると判定した場合、受信完了を、高優先度通信処理タスク２０１の高優先度受信タスク２１２に通知し、低優先度フレームであると判定した場合、受信完了を、低優先度通信処理タスク２０２の低優先度受信タスク２２２に通知する。
【０１２５】
送信フレーム種別記憶部２０３は、高優先度通信処理タスク２０１の高優先度送信タスク２１１から供給された高優先度フレーム種別情報を記憶し（上書きし）、また低優先度通信処理タスク２０２の低優先度送信タスク２２１から供給された低優先度フレーム種別情報を上書きする。すなわち、送信フレーム種別記憶部２０３には、通信用インタフェース１１６にライトされたフレームの種別情報が記憶される。
【０１２６】
ヘッダ記憶部２０４は、通信割り込みハンドラ６から供給されたフレームのヘッダ部を記憶する。
【０１２７】
次に、一般タスク１、高優先度通信処理タスク２０１、低優先度通信処理タスク２０２、および通信割り込みハンドラ６の送信動作を、それぞれ説明する。
【０１２８】
はじめに、一般タスク１の送信動作を、図１９のフローチャートを参照して説明する。
【０１２９】
ステップＳ１０１において、一般タスク１は、生成したフレームが高優先度フレームであるか又は低優先度フレームであるかを判定し（決定したフレームの優先度が高い優先度かまたは低い優先度かを判定し）、高優先度フレームである場合、ステップＳ１０２に進み、それを高優先度送信キュー１１にエントリする。
【０１３０】
次に、ステップＳ１０３において、一般タスク１は、高優先度通信処理タスク２０１（高優先度送信タスク２１１）に、ステップＳ１０２でエントリしたフレームの送信を、OS７を介して要求する。
【０１３１】
ステップＳ１０１で、低優先度フレームであると判定された場合、ステップＳ１０４に進み、一般タスク１は、低優先度フレームを、低優先度送信キュー１２にエントリする。
【０１３２】
次に、ステップＳ１０５において、一般タスク１は、低優先度通信処理タスク２０２（低優先度送信タスク２２１）に、ステップＳ１０４でエントリしたフレームの送信を、OS７を介して要求する。
【０１３３】
ステップＳ１０３またはステップＳ１０５でフレームの送信が要求されたとき、処理は終了する。
【０１３４】
次に、高優先度通信処理タスク２０１（高優先度送信タスク２１１）の送信動作を、図２０のフローチャートを参照して説明する。
【０１３５】
ステップＳ１１１において、高優先度通信処理タスク２０１の高優先度送信タスク２１１は、一般タスク１から、フレーム（高優先度フレーム）の送信が要求されるまで待機し、それが要求されたとき（図１９のステップＳ１０３）、ステップＳ１１２に進み、高優先度送信キュー１１にフレーム（高優先度フレーム）がエントリされているか否かを判定する。
【０１３６】
ステップＳ１１２で、エントリされていると判定された場合、ステップＳ１１３に進み、高優先度通信処理タスク２０１の高優先度送信タスク２１１は、低優先度通信処理タスク２０２（低優先度送信タスク２２１）の実行禁止を、OS７に要求する。これにより、後述するステップＳ１１７の処理により、それが解除されるまで、低優先度フレームの送信は行われない。
【０１３７】
次に、ステップＳ１１４において、高優先度通信処理タスク２０１の高優先度送信タスク２１１は、FIFO規律の順序に従って、高優先度送信キュー１１にエントリされている高優先度フレームを１つ取り出し、通信用インタフェース１１６にライトする。
【０１３８】
ステップＳ１１５において、高優先度通信処理タスク２０１の高優先度送信タスク２１１は、高優先度フレーム種別情報を、送信フレーム種別記憶部２０３に供給し、記憶させる。
【０１３９】
次に、ステップＳ１１６において、高優先度通信処理タスク２０１の高優先度送信タスク２１１は、通信割り込みハンドラ６から、送信完了が通知されるまで待機し、それが通知されたとき、ステップＳ１１７に進む。
【０１４０】
ステップＳ１１７において、高優先度通信処理タスク２０１の高優先度送信タスク２１１は、OS７に対して、低優先度通信処理タスク２０２（低優先度送信タスク２２１）の実行禁止の解除を要求する。これにより、低優先度フレームの送信が可能となる。その後、ステップＳ１１２に戻り、それ以降の処理が実行される。
【０１４１】
ステップＳ１１２で、フレームがエントリされていないと判定された場合、ステップＳ１１１に戻り、それ以降の処理が実行される。すなわち、高優先度送信キュー１１にエントリされているフレームがなくなるまで、ステップＳ１１２乃至ステップＳ１１７の処理が繰り返し行われる。
【０１４２】
次に、低優先度通信処理タスク２０２（低優先度送信タスク２２１）の送信動作を、図２１のフローチャートを参照して説明する。
【０１４３】
ステップＳ１２１において、低優先度通信処理タスク２０２の低優先度送信タスク２２１は、一般タスク１から、フレーム（低優先度フレーム）の送信が要求されるまで待機し、それが要求されたとき（図１９のステップＳ１０５）、ステップＳ１２２に進み、低優先度送信キュー１２に低優先度フレームがエントリされているか否かを判定する。
【０１４４】
ステップＳ１２２で、低優先度送信キュー１２にフレーム（低優先度フレーム）がエントリされていると判定された場合、ステップＳ１２３に進み、低優先度通信処理タスク２０２の低優先度送信タスク２２１は、高優先度通信処理タスク２０１（高優先度送信タスク２１１）の実行禁止を、OS７に要求する。これにより、後述するステップＳ１２７の処理により、それが解除がされるまで、高優先度フレームの送信は行われない。
【０１４５】
次に、ステップＳ１２４において、低優先度通信処理タスク２０２の低優先度送信タスク２２１は、FIFO規律の順序に従って、低優先度送信キュー１２にエントリされている低優先度フレームを、１つ取り出し、通信用インタフェース１１６にライトする。
【０１４６】
ステップＳ１２５において、低優先度通信処理タスク２０２の低優先度送信タスク２２１は、低優先度フレーム種別情報を、送信フレーム種別記憶部２０３に供給し、記憶させる。
【０１４７】
次に、ステップＳ１２６において、低優先度通信処理タスク２０２の低優先度送信タスク２２１は、通信割り込みハンドラ６から、送信完了が通知されるまで待機し、それが通知されたとき、ステップＳ１２７に進む。
【０１４８】
ステップＳ１２７において、低優先度通信処理タスク２０２の低優先度送信タスク２２１は、OS７に対して、高優先度通信処理タスク２０１（高優先度送信タスク２１１）の実行禁止の解除を要求する。これにより、高優先度フレームの送信が可能となる。その後、ステップＳ１２２に戻り、それ以降の処理が実行される。
【０１４９】
ステップＳ１２２で、フレームがエントリされていないと判定された場合、ステップＳ１２１に戻り、それ以降の処理が実行される。すなわち、低優先度送信キュー１２にエントリされているフレームがなくなるまで、ステップＳ１２２乃至ステップＳ１２７の処理が繰り返し行われる。
【０１５０】
次に、通信割り込みハンドラ６の送信動作を、図２２のフローチャートを参照して説明する。
【０１５１】
ステップＳ１３１において、通信割り込みハンドラ６は、OS７から送信完了割り込みがあるまで待機し（図２０のステップＳ１１４または図２１のステップＳ１２４で通信用インタフェース１１６にライトされたフレームの送信が完了するまで待機し）、送信完了割り込みがあったとき（その送信が完了したとき）、ステップＳ１３２に進む。
【０１５２】
ステップＳ１３２において、通信割り込みハンドラ６は、送信フレーム種別記憶部２０３を参照し、そこに高優先度フレーム種別情報が記憶されているか（図２０のステップＳ１１５）、または低優先度フレーム種別情報が記憶されているか（図２１のステップＳ１２５）を判定し、高優先度フレーム種別情報が記憶されていると判定した場合、ステップＳ１３３に進む。
【０１５３】
ステップＳ１３３において、通信割り込みハンドラ６は、送信完了を、高優先度通信処理タスク２０１の高優先度送信タスク２１１に通知する。
【０１５４】
ステップＳ１３２で、送信フレーム種別記憶部２０３に低優先度フレーム種別情報が記憶されていると判定された場合、ステップＳ１３４に進み、通信割り込みハンドラ６は、送信完了を、低優先度通信処理タスク２０２の低優先度送信タスク２２１に通知する。
【０１５５】
ステップＳ１３３またはステップＳ１３４で送信完了が通知がされたとき、処理は終了する。
【０１５６】
以上のように、一般タスク１、高優先度通信処理タスク２０１、低優先度通信処理タスク２０２、および通信割り込みハンドラ６が送信動作を実行することより、高優先度フレームが、低優先度フレームより優先的に送信される。
【０１５７】
次に、一般タスク１、高優先度通信処理タスク２０１、低優先度通信処理タスク２０２、および通信割り込みハンドラ６の受信動作を説明する。
【０１５８】
はじめに、通信割り込みハンドラ６の受信動作を、図２３のフローチャートを参照して説明する。
【０１５９】
ステップＳ１４１において、通信割り込みハンドラ６は、OS７から、受信完了割り込みがあるまで待機し（他の情報処理装置から送信されてきたフレームの全てが受信されるまで待機し）、受信完了割り込みがあったとき（フレームの全てが受信されたとき）、ステップＳ１４２に進む。
【０１６０】
ステップＳ１４２において、通信割り込みハンドラ６は、受信完了割り込みの禁止をOS７に対して要求する。これにより、通信割り込みハンドラ６に対する受信完了割り込みは行われない。なお、ここで設定された受信完了割り込みの禁止は、後述する図２４のステップＳ１５５または図２５のステップＳ１６５の処理により解除される。
【０１６１】
次に、ステップＳ１４３において、通信割り込みハンドラ６は、OS７を介して、通信用インタフェース１１６により受信された全てのフレームのヘッダ部を抽出し、ステップＳ１４４において、ヘッダ記憶部２０４に記憶させる。
【０１６２】
ステップＳ１４５において、通信割り込みハンドラ６は、ステップＳ１４３で抽出したヘッダ部のユーザプライオリティに基づいて、受信されたフレームが、高優先度フレームであるかまたは低優先度フレームであるかを判定し、高優先度フレームであると判定した場合、ステップＳ１４６に進み、高優先度通信処理タスク２０１の高優先度受信タスク２１２に対して、受信完了を通知する。
【０１６３】
一方、ステップＳ１４５で、低優先度フレームであると判定された場合、ステップＳ１４７に進み、低優先度通信処理タスク２０２の低優先度受信タスク２２２に対して、受信完了が通知される。
【０１６４】
ステップＳ１４６またはステップＳ１４７において受信完了が通知されたとき、その処理は終了する。
【０１６５】
次に、高優先度通信処理タスク２０１（高優先度受信タスク２１２）の受信動作を、図２４のフローチャートを参照して説明する。
【０１６６】
ステップＳ１５１において、高優先度通信処理タスク２０１の高優先度受信タスク２１２は、通信割り込みハンドラ６から、受信完了が通知されるまで待機し、それが通知されたとき（図２３のステップＳ１４６）、ステップＳ１５２に進む。
【０１６７】
ステップＳ１５２において、高優先度通信処理タスク２０１の高優先度受信タスク２１２は、ヘッダ記憶部２０４に記憶されているフレーム（高優先度フレーム）のヘッダ部（図２３のステップＳ１４４）を取り出し、ステップＳ１５３に、OS７を介して、通信用インタフェース１１６から、フレーム（高優先度フレーム）のそれ以外のデータ部およびチェック部を取り出し、そしてステップＳ１５４において、フレームとして、高優先度受信キュー１３にエントリする。
【０１６８】
ステップＳ１５５において、高優先度通信処理タスク２０１の高優先度受信タスク２１２は、OS７に対し、図２３のステップＳ１４２で設定された、受信完了割り込み禁止の解除を要求する。これにより、通信割り込みハンドラ６に対する受信完了割り込みが可能となる。その後、ステップＳ１５１に戻り、それ以降の処理が実行される。
【０１６９】
次に、低優先度通信処理タスク２０２（低優先度受信タスク２２２）の受信動作を、図２５のフローチャートを参照して説明する。
【０１７０】
ステップＳ１６１において、低優先度通信処理タスク２０２の低優先度受信タスク２２２は、通信割り込みハンドラ６から、受信完了が通知されるまで待機し、それが通知されたとき（図２３のステップＳ１４７）、ステップＳ１６２に進む。
【０１７１】
ステップＳ１６２において、低優先度通信処理タスク２０２の低優先度受信タスク２２２は、ヘッダ記憶部２０４に記憶されているフレーム（低優先度フレーム）のヘッダ部（図２３のステップＳ１４４）を取り出し、ステップＳ１６３に、OS７を介して、通信用インタフェース１１６から、フレーム（低優先度フレーム）のそれ以外のデータ部およびチェック部を取り出し、そしてステップＳ１６４において、フレームとして、低優先度受信キュー１４にエントリする。
【０１７２】
ステップＳ１６５において、低優先度通信処理タスク２０２の低優先度受信タスク２２２は、OS７に対し、図２３のステップＳ１４２で設定された、受信完了割り込み禁止の解除を要求する。これにより、通信割り込みハンドラ６に対する受信完了割り込みが可能となる。その後、ステップＳ１６１に戻り、それ以降の処理が実行される。
【０１７３】
次に、一般タスク１の受信動作を、図２６のフローチャートを参照して説明する。
【０１７４】
ステップＳ１７１において、一般タスク１は、高優先度受信キュー１３にフレーム（高優先度フレーム）がエントリされているか否かを判定し、エントリされていると判定した場合、ステップＳ１７２に進み、そこから、高優先度フレームを取り出す。
【０１７５】
一方、ステップＳ１７１で、高優先度送受信キュー１３にフレームがエントリされていないと判定された場合、ステップＳ１７３に進み、一般タスク１は、低優先度受信キュー１４にフレーム（低優先度フレーム）がエントリされているか否かを判定し、エントリされていると判定した場合、ステップＳ１７４に進み、そこから、低優先度フレームを取り出す。
【０１７６】
ステップＳ１７２またはステップＳ１７４で、フレームが取り出されたとき、ステップＳ１７５に進み、一般タスク１は、取り出したフレームに格納されているデータを処理する。
【０１７７】
ステップＳ１７５で処理が実行されたとき、またはステップＳ１７３で、低優先度受信キュー１４にもフレームがエントリされていないと判定されたとき、処理は終了する。
【０１７８】
以上のように、一般タスク１、高優先度通信処理タスク２０１、低優先度通信処理タスク２０２、および通信割り込みハンドラ６が受信動作を実行することより、高優先度フレームが、低優先度フレームより優先的に処理される。
【０１７９】
次に、タスク優先度が、高優先度通信処理タスク２０１、一般タスク１、そして低優先度通信処理タスク２０２の順で高い場合の情報処理装置１０１の動作を説明する。
【０１８０】
例えば、図２７に示すように、最も低いタスク優先度の低優先度通信処理タスク２０２の実行が、時刻ｔ21から開始され、それが継続している時刻ｔ22において、一般タスク１の実行が要求された場合、一般タスク１のタスク優先度は、低優先度通信処理タスク２０２のそれよりも高いので、この時点において、タスクの実行が、低優先度通信処理タスク２０２から一般タスク１に切り替わり、一般タスク１の実行が開始される。
【０１８１】
また、一般タスク１の実行が継続している時刻ｔ23において、この度は、高優先度通信処理タスク２０１の実行が要求された場合、高優先度通信処理タスク２０１のタスク優先度は、一般タスク１のそれよりも高いので、この時点において、タスクの実行が、一般タスク１から高優先度通信処理タスク２０１に切り替わり、高優先度通信処理タスク２０１の実行が開始される。
【０１８２】
すなわち、一般タスク１の実行は、低優先度通信処理タスク２０２の実行（低優先度フレームの送受信）により中断されず、また高優先度通信処理タスク２０１の実行（高優先度フレームの送受信）は、一般タスク１または低優先度通信処理タスク２０２の実行により中断されない。
【０１８３】
なお、一般タスク１の実行は、高優先度通信処理タスク２０１の実行が完了する時刻ｔ24から再開され、低優先度通信処理タスク２０２の実行は、一般タスク１の実行が完了する時刻ｔ25から再開される。
【０１８４】
次に、この例における動作を、図９の例の場合と比較する。図９では、通信処理タスク３の実行が低優先度フレームを送受信するためのものであっても、一般タスク１は、その通信処理タスク３の実行により、中断されていたが、この例の場合、一般タスク１の実行は、低優先度通信処理タスク２０２の実行（低優先度フレームの送受信）により中断されない。
【０１８５】
また、図１０の例の場合と比較する。図１０では、通信処理タスク３の実行が高優先度フレームを送受信するためのものであっても、その通信処理タスク３の実行は、一般タスク１の実行により、中断されていたが、この例の場合、高優先度通信処理タスク２０１の実行（高優先度フレームを送受信）は、一般タスク１の実行により中断されない。
【０１８６】
以上のように、優先すべきタスク（処理）が適切に実行される。
【０１８７】
なお、高優先度通信処理タスク２０１の実行（高優先度フレームの送受信）より、優先的に実行すべきタスクには、高優先度通信処理タスク２０１のタスク優先度より高いタスク優先度を与え、そのタスクが最優先に実行されるようにすることもできる。また、低優先度通信処理タスク２０２の実行（低優先度フレームの送受信）より、優先的に実行する必要がないタスクには、低優先度通信処理タスク２０２のタスク優先度より低いタスク優先度を与えることもできる。
【０１８８】
以下において、本発明をより具体的な装置に適用した場合について説明する。
【０１８９】
図２８は、本発明を適用した加工装置３０１の利用例およびその構成例を表している。この加工装置には、図１１の加工装置５１のPLC６１に代えてPLC３１１が設けられている。他の部分は、図１１の場合と同様である。
【０１９０】
図２９は、PLC３１１の構成例を表している。PLC３１１のCPU３２１乃至通信用インタフェース３２５は、図１２のCPU７１乃至通信用インタフェース７５と基本的に同様の動作を行うので、その説明は省略する。
【０１９１】
図３０は、PLC３１１の機能的構成例を示している。このPLC３１１の機能構成は、図１８で示した情報処理装置１０１の機能的構成の、一般タスク１のタスク２−１、タスク２−２、およびタスク２−３（図示せず）を、加工タスク２−１、監視タスク２−２、および実績管理タスク２−３としたものであり、他の部分は、同様である。
【０１９２】
PLC３１１の、一般タスク１、高優先度通信処理タスク２０１、低優先度通信処理タスク２０２、および通信割り込みハンドラ６の送信動作および受信動作は、図１９乃至図２６のフローチャートを参照して説明した場合と同様であるので、その説明は省略する。
【０１９３】
以下において、高優先度通信処理タスク２０１、低優先度通信処理タスク２０２、または一般タスク１である加工タスク２−１、監視タスク２−２、若しくは実績管理タスク２−３のタスク優先度の大小関係に基づく、PLC３１１の動作を説明する。
【０１９４】
はじめに、タスク優先度が、監視タスク２−２、高優先度通信処理タスク２０１、低優先度通信処理タスク２０２、そして実績管理タスク２−３の順に高い場合を例として説明する。なお、この例の場合、加工タスク２−１は考慮されない。
【０１９５】
例えば、図３１に示すように、最も低いタスク優先度の実績管理タスク２−３の実行が、時刻ｔA0から開始され、そして時刻ｔA1において、低優先度フレーム（生産実績情報を格納するフレーム）の送信が低優先度通信処理タスク２０２に要求されたものとする。これにより、時刻ｔA1から、低優先度通信処理タスク２０２（低優先度送信タスク２２１）の実行が開始され、生産実績情報の管理装置５４への送信が開始される。
【０１９６】
また、低優先度通信処理タスク２０２の実行（生産実績情報の送信）が継続している時刻ｔA2において、緊急停止ボタン６４が操作されたものとする。この例の場合、監視タスク２−２のタスク優先度は、低優先度通信処理タスク２０２のそれよりも高いので、この時点において、タスクの実行が、低優先度通信処理タスク２０２から監視タスク２−２に切り替わり、監視タスク２−２の実行が開始され、時刻ｔA3において、高優先度フレーム（停止命令情報を格納するフレーム）の送信が高優先度通信処理タスク２０１に供給される。これにより、時刻ｔA3から、高優先度通信処理タスク２０１（高優先度送信タスク２１１）の実行が開始され、停止命令情報のベルトコンベア制御装置５３への送信が開始される。その結果、ベルトコンベアが停止する。
【０１９７】
低優先度通信処理タスク２０２の実行（生産実績情報の送信）は、高優先度通信処理タスク２０１の実行（停止命令情報の送信）が完了した時刻ｔA3から再開される。
【０１９８】
この例における動作を、図１４の例の場合と比較する。図１４の例では、通信処理タスク３のタスク優先度が、監視タスク２−２のそれよりも高いので、通信処理タスク３の実行が低優先度フレームを送受信するためのものであっても、その通信処理タスク３の実行により、監視タスク２−２の実行開始が遅れていたが、この例の場合、監視タスク２−２の実行が遅れることなく開始される。
【０１９９】
次に、タスク優先度が、加工タスク２−１、低優先度通信処理タスク２０２、そして実績管理タスク２−３の順で高い場合を例として説明する。なお、この例の場合、監視タスク２−２および高優先度通信処理タスク２０１は考慮されない。
【０２００】
例えば、図３２に示すように、最も低いタスク優先度の実績管理タスク２−３の実行が、時刻ｔB0から開始され、そして時刻ｔB1において、低優先度フレーム（生産実績情報を格納するフレーム）の送信が低優先度通信処理タスク２０２に要求されたものとする。これにより、生産実績情報の管理装置５４への送信が開始される。
【０２０１】
また、低優先度通信処理タスク２０２の実行（生産実績情報の送信）が継続している時刻ｔB2において、加工対象物が、到着したものとする。この例の場合、加工タスク２−１のタスク優先度は、低優先度通信処理タスク２０２のそれよりも高いので、この時点において、タスクの実行が、低優先度通信処理タスク２０２から加工タスク２−１に切り替わり、加工タスク２−１の実行が開始される。
【０２０２】
低優先度通信処理タスク２０２の実行は、加工タスク２−１の実行が完了した時刻ｔB3から再開される。
【０２０３】
この例における動作を、図１５の例の場合と比較する。図１５の例では、通信処理タスク３のタスク優先度が、加工タスク２−１のそれよりも高いので、通信処理タスク３の実行が低優先度フレームを送受信するためのものであっても、その通信処理タスク３の実行により、加工タスク２−１の実行開始が遅れていたが、この例の場合、加工タスク２−１の実行は遅れることはなく開始される。
【０２０４】
次に、タスク優先度が、監視タスク２−２、高優先度通信処理タスク２０１、そして加工タスク２−１の順で高い場合を例として説明する。なお、この例の場合、実績管理タスク２−３および低優先度通信処理タスク２０２は考慮されない。
【０２０５】
例えば、図３３に示すように、最も低いタスク優先度の加工タスク２−１の実行が、時刻ｔC1から開始され、そして加工タスク２−１の実行が継続している時刻ｔC2において、緊急停止ボタン６４が操作されたものとする。
【０２０６】
この例の場合、監視タスク２−２のタスク優先度が最も高いので、この時点において、タスクの実行が、加工タスク２−１から監視タスク２−２に切り替わり、監視タスク２−２の実行が開始され、時刻ｔC3において、高優先度フレーム（停止命令情報を格納するフレーム）の送信が高優先度通信処理タスク２０１に要求される。これにより、停止命令情報のベルトコンベア制御装置５３への送信が開始され、ベルトコンベアが停止される。
【０２０７】
加工タスク２−１の実行は、高優先度通信処理タスク２０１の実行が完了した時刻ｔC4から再開される。
【０２０８】
以上のように、タスク優先度が異なる複数の通信処理タスクを設けたので、想定される各状態（ベルトコンベアを停止する必要がある異常発生や加工対象物の到着）において、優先すべきタスク（処理）が適切に実行される。
【０２０９】
なお、以上におていは、タスク優先度が異なる通信処理タスクが２個である場合（高優先度通信処理タスク２０１および低優先度通信処理タスク２０２が設けられた場合）を例として説明したが、それ以上の、それぞれタスク優先度が異なる通信処理タスクを設けることができる。
【０２１０】
図３４は、Ｍ個の通信処理タスクを備えた情報処理装置１０１の機能的構成例を示している。この情報処理装置には、図１８の情報処理装置１０１の高優先度通信処理タスク２０１と低優先度通信処理タスク２０２に代えて、Ｍ個の通信処理タスク４０１（送信タスク４１１および受信タスク４１２）が設けられている。また、図１８の高優先度送信キュー１１および低優先度送信キュー１２、並びに高優先度受信キュー１３および低優先度受信キュー１４に代えて、Ｍ個の送信キュー５０１−１乃至５０１−Ｍ、およびＭ個の受信キュー５０２−１乃至５０２−Ｍが設けられている。他の部分は、図１８の場合と同様である。
【０２１１】
Ｍ個の通信処理タスク４０１には、例えば、図３５に示すように、それぞれ異なるタスク優先度が与えられている。すなわち、Ｍ個の送信キュー５０１にエントリされたフレームは対応する通信処理タスク４０１により取り出され、またＭ個の受信キュー５０２には、対応する通信処理タスク４０１によりエントリが登録される。すなわち、この例の場合、フレームの優先度として、Ｍ個の優先度が設けられている。
【０２１２】
フレームを送信する場合、一般タスク１は、生成したフレームの優先度を、Ｍ個の優先度のうちのいずれか１つに決定し、決定した優先度に対応する送信キュー５０１にそのフレームをエントリする。そして通信タスク４０１の通信タスク４１１は、対応する送信キュー５０１にエントリされているフレームを取り出し、通信用インタフェース１１６にライトする。これにより、フレームが送信される。
【０２１３】
フレームを受信する場合、通信割り込みハンドラ６により判定されたフレームの優先度に対応する受信タスク４１２が、そのフレームを、通信用インタフェース１１６から取り出し、対応する受信キュー５０２にエントリする。そして一般タスク１は、より高い優先度に対応する受信キュー５０２にエントリされているフレームから順番に取り出して処理する。
【０２１４】
以上のように、タスク優先度が異なる通信処理タスクを、多く備え、そのタスク優先度に対応させて一般タスク１のタスク優先度を設定することより、より多くの場合において、優先すべき処理を適切に実行することができる。
【０２１５】
図３６は、フレームのヘッダ部に格納されている送信元のアドレスを利用してフレームの優先度を決定する場合の情報処理装置１０１の機能的構成例を示している。この情報処理装置１０１の機能的構成には、図１８に示した情報処理装置１０１の機能的構成の高優先度通信処理タスク２０１および低優先度通信処理タスク２０２に代えて、通信処理タスク６０１が設けられ、また高優先度送信キュー１１および低優先度送信キュー１２に代えて、１つの送信キュー７０１が設けられ、そして送信フレーム種別記憶部２０３に代えて、高優先度記憶部８０１が設けられている。
【０２１６】
通信処理タスク６０１は、送信タスク６１１、および図１８の高優先度通信処理タスク２０１の高優先度受信タスク２１２と低優先度通信処理タスク２０２の低優先度受信タスク２２２から構成されている。
【０２１７】
送信タスク６１１は、高優先度フレームまたは低優先度フレームに関係なく、通信割り込みハンドラ６からの送信完了の通知に対応して、送信キュー７０１にエントリされているフレームを取り出し、通信用インタフェース１１６に書き込む。
【０２１８】
高優先度記憶部８０１は、図３７に示すように、優先的に処理すべきフレームを送信する情報処理装置のアドレスが記憶されている。
【０２１９】
次に、一般タスク１の送信動作を、図３８のフローチャートを参照して説明する。
【０２２０】
ステップＳ２０１において、一般タスク１は、生成したフレームを、送信キュー７０１にエントリし、ステップＳ２０２において、その送信を、OS７を介して通信処理タスク６０１（送信タスク６１１）に要求する。その後、処理は終了する。
【０２２１】
次に、通信処理タスク６０１（送信タスク６１１）の送信動作を、図３９のフローチャートを参照して説明する。
【０２２２】
ステップＳ２１１において、通信処理タスク６０１の送信タスク６１１は、一般タスク１から、フレームの送信が要求されるまで待機し、それが要求されたとき（図３８のステップＳ２０２）、ステップＳ２１２に進み、送信キュー７０１にフレームがエントリされているか否かを判定する。
【０２２３】
ステップＳ２１２で、フレームがエントリされていると判定された場合、ステップＳ２１３に進み、通信処理タスク６０１の送信タスク６１１は、FIFO規律の順序に従って、送信キュー７０１にエントリされているフレームを１つ取り出し、通信用インタフェース１１６にライトする。
【０２２４】
次に、ステップＳ２１５において、通信処理タスク６０１の送信タスク６１１は、通信割り込みハンドラ６から、送信完了が通知されるまで待機し、それが通知されたとき、ステップＳ２１２に戻り、それ以降の処理を実行する。
【０２２５】
ステップＳ２１２で、フレームがエントリされていないと判定された場合、ステップＳ２１１に戻り、それ以降の処理が実行される。すなわち、送信キュー７０１にエントリされたフレームがなくなるまで、ステップＳ２１２乃至ステップＳ２１５の処理が繰り返し実行される。
【０２２６】
次に、通信割り込みハンドラ６の送信動作を、図４０のフローチャートを参照して説明する。
【０２２７】
ステップＳ２２１において、通信割り込みハンドラ６は、OS７から送信完了割り込みがあるまで待機し（図３９のステップＳ２１４で通信用インターフェース１１６にライトされたフレームの送信が完了するまで待機し）、送信割り込みがあったとき（その送信が完了したとき）、ステップＳ２２２に進む。
【０２２８】
ステップＳ２２２において、通信割り込みハンドラ６は、送信完了を、通信処理タスク６０１の送信タスク６１１に通知する。その後、処理は終了する。
【０２２９】
次に、通信割り込みハンドラ６の受信動作を、図４１のフローチャートを参照して説明する。
【０２３０】
ステップＳ２３１乃至ステップＳ２３４における処理は、図２３のステップＳ１４１乃至ステップＳ１４４における場合と同様であるので、その詳細な説明は省略するが、通信割り込みハンドラ６は、ステップＳ２２３において、フレームのヘッダ部を抽出するとともに、それから送信元のアドレス（図２（Ｂ））を取得する。
【０２３１】
ステップＳ２３５において、通信割り込みハンドラ６は、高優先度記憶部８０１を参照し、そしてステップＳ２３６において、ステップＳ２３３で取得した送信元のアドレスが、高優先度記憶部８０１に記憶されているか否かを判定する。
【０２３２】
ステップＳ２３６で、送信元のアドレスが高優先度記憶部８０１に記憶されていると判定された場合、ステップＳ２３７に進み、通信割り込みハンドラ６は、受信完了を、通信処理タスク６０１の高優先度受信タスク２１２に通知する。一方、それが高優先度記憶部８０１に記憶されていないと判定された場合、ステップＳ２３８に進み、受信完了は、通信処理タスク６０１の低優先度受信タスク２２２に通知される。
【０２３３】
ステップＳ２３７およびステップＳ２３８で、受信完了が通知されたとき、処理は終了する。
【０２３４】
通信処理タスク６０１の高優先度受信タスク２１２および低優先度受信タスク２２２の受信動作は、図２４および図２５のフローチャートを参照して説明した場合と同様である。
【０２３５】
次に、タスク優先度が、高優先度受信タスク２１２、一般タスク１、そして低優先度受信タスク２２２の順に高い場合の情報処理装置１０１の受信動作を説明する。
【０２３６】
例えば、図４２に示すように、最も低いタスク優先度の低優先度受信タスク２２２の実行が、時刻ｔ21から開始され、それが継続している時刻ｔ22において、一般タスク１の実行が要求されたものとする。この例の場合、一般タスク１のタスク優先度は、低優先度受信タスク２２２のそれよりも高いので、この時点において、タスクの実行が、低優先度受信タスク２２２から一般タスク１に切り替わり、一般タスク１の実行が開始される。
【０２３７】
また、続いて、一般タスク１の実行が継続している時刻ｔ23において、高優先度受信タスク２１２の実行が要求されたものとする。この例の場合、高優先度受信タスク２１２のタスク優先度は、一般タスク１のそれよりも高いので、この時点において、タスクの実行が、一般タスク１から高優先度受信タスク２１２に切り替わり、高優先度受信タスク２１２の実行が開始される。
【０２３８】
一般タスクの実行は、高優先度受信タスク２１２の実行が完了する時刻ｔ24から再開され、低優先度受信タスク２２２の実行は、一般タスク１の実行が完了する時刻ｔ25から再開される。
【０２３９】
すなわち、この例では、一般タスク１の実行は、低優先度受信タスク２２２の実行により中断されず、また高優先度受信タスク２１２の実行は、一般タスク１または低優先度受信タスク２２２の実行により中断されない。つまり、図２７を参照して説明した、図１８の情報処理装置１０１の受信動作における効果が、実現される。
【０２４０】
図４３は、上述のような情報処理装置１０１または加工装置３０１として機能するコンピュータ５０１の一実施の形態の構成を示すブロック図である。CPU５１１にはバス５１５を介して入出力インタフェース５１６が接続されており、CPU５１１は、入出力インタフェース５１６を介して、ユーザから、キーボード、マウスなどよりなる入力部５１８から指令が入力されると、例えば、ROM５１２、ハードディスク５１４、またはドライブ５２０に装着される磁気ディスク５３１、光ディスク５３２、光磁気ディスク５３３、若しくは半導体メモリ５３４などの記録媒体に格納されているプログラムを、RAM５１３にロードして実行する。これにより、上述した各種の処理（例えば、図１９，２０，２１，２２，２３，２４，２５，３８，３９，４０のフローチャートにより示される処理）が行われる。さらに、CPU５１１は、その処理結果を、例えば、入出力インタフェース５１６を介して、LCDなどよりなる表示部５１７に必要に応じて出力する。なお、プログラムは、ハードディスク５１４やROM５１２に予め記憶しておき、コンピュータ５０１と一体的にユーザに提供したり、磁気ディスク５３１、光ディスク５３２、光磁気ディスク５３３，半導体メモリ５３４等のパッケージメディアとして提供したり、衛星、ネットワーク等から通信部５１９を介してハードディスク５１４に提供することができる。
【０２４１】
なお、本明細書において、媒体により提供されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０２４２】
【発明の効果】
本発明によれば、優先すべき処理を適切に行うことができる。
【図面の簡単な説明】
【図１】従来の情報処理装置１，２の利用例を示す図である。
【図２】フレーム構成を説明する図である。
【図３】情報処理装置１の構成例を示すブロック図である。
【図４】情報処理装置１の機能的構成例を示すブロック図である。
【図５】送信動作を説明するフローチャートである。
【図６】図５のステップＳ３の処理の詳細を説明するフローチャートである。
【図７】受信動作を説明するフローチャートである。
【図８】図７のステップＳ２１の処理の詳細を説明するフローチャートである。
【図９】タスク実行のタイミングを説明する図である。
【図１０】タスク実行のタイミングを説明する他の図である。
【図１１】加工装置５１の利用例およびその構成例を示す図である。
【図１２】図１１のPLC６１の構成例を示すブロック図である。
【図１３】  PLC６１の機能的構成例を示すブロック図である。
【図１４】タスク実行のタイミングを説明する他の図である。
【図１５】タスク実行のタイミングを説明する他の図である。
【図１６】タスク実行のタイミングを説明する他の図である。
【図１７】本発明を適用した情報処理装置１０１の構成例を示すブロック図である。
【図１８】情報処理装置１０１の機能的構成例を示すブロック図である。
【図１９】一般タスク１の送信動作を説明するフローチャートである。
【図２０】高優先度通信処理タスク２０１の送信動作を説明するフローチャートである。
【図２１】低優先度通信処理タスク２０２の送信動作を説明するフローチャートである。
【図２２】通信割り込みハンドラ６の送信動作を説明するフローチャートである。
【図２３】通信割り込みハンドラ６の受信動作を説明するフローチャートである。
【図２４】高優先度通信処理タスク２０１の受信動作を説明するフローチャートである。
【図２５】低優先度通信処理タスク２０２の受信動作を説明するフローチャートである。
【図２６】一般タスク１の受信動作を説明するフローチャートである。
【図２７】タスク実行のタイミングを説明する他の図である。
【図２８】本発明を適用した加工装置３０１の利用例およびその構成例を示す図である。
【図２９】図２８のPLC３１１の構成例を示すブロック図である。
【図３０】  PLC３１１の機能的構成例を示すブロック図である。
【図３１】タスク実行のタイミングを説明する他の図である。
【図３２】タスク実行のタイミングを説明する他の図である。
【図３３】タスク実行のタイミングを説明する他の図である。
【図３４】情報処理装置１０１の他の機能的構成例を示すブロック図である。
【図３５】タスクの優先度を説明する図である。
【図３６】情報処理装置１０１の他の機能的構成例を示すブロック図である。
【図３７】図３６の高優先度記憶部８０１の記憶内容を示す図である。
【図３８】一般タスク１の他の送信動作を説明するフローチャートである。
【図３９】送信タスク６０１の送信動作を説明するフローチャートである。
【図４０】通信割り込みハンドラ６の他の送信動作を説明するフローチャートである。
【図４１】通信割り込みハンドラ６の他の受信動作を説明するフローチャートである。
【図４２】タスク実行のタイミングを説明する他の図である。
【図４３】コンピュータ５０１の構成例を示すブロック図である。
【符号の説明】
１０１  情報処理装置
２０１  高優先度通信処理タスク
２０２  低優先度通信処理タスク
２０３  送信フレーム種別記憶部
２０４  ヘッダ記憶部
３１１  PLC
４０１  通信処理タスク
５０１  送信キュー
５１２  受信キュー
６０１  通信処理タスク
６１１  送信タスク
７０１  送信キュー
８０１  高優先度記憶部
【図１】
0004009809.tif 000002
【図２】
0004009809.tif 000003
【図３】
0004009809.tif 000004
【図４】
0004009809.tif 000005
【図５】
0004009809.tif 000006
【図６】
0004009809.tif 000007
【図７】
0004009809.tif 000008
【図８】
0004009809.tif 000009
【図９】
0004009809.tif 000010
【図１０】
0004009809.tif 000011
【図１１】
0004009809.tif 000012
【図１２】
0004009809.tif 000013
【図１３】
0004009809.tif 000014
【図１４】
0004009809.tif 000015
【図１５】
0004009809.tif 000016
【図１６】
0004009809.tif 000017
【図１７】
0004009809.tif 000018
【図１８】
0004009809.tif 000019
【図１９】
0004009809.tif 000020
【図２０】
0004009809.tif 000021
【図２１】
0004009809.tif 000022
【図２２】
0004009809.tif 000023
【図２３】
0004009809.tif 000024
【図２４】
0004009809.tif 000025
【図２５】
0004009809.tif 000026
【図２６】
0004009809.tif 000027
【図２７】
0004009809.tif 000028
【図２８】
0004009809.tif 000029
【図２９】
0004009809.tif 000030
【図３０】
0004009809.tif 000031
【図３１】
0004009809.tif 000032
【図３２】
0004009809.tif 000033
【図３３】
0004009809.tif 000034
【図３４】
0004009809.tif 000035
【図３５】
0004009809.tif 000036
【図３６】
0004009809.tif 000037
【図３７】
0004009809.tif 000038
【図３８】
0004009809.tif 000039
【図３９】
0004009809.tif 000040
【図４０】
0004009809.tif 000041
【図４１】
0004009809.tif 000042
【図４２】
0004009809.tif 000043
【図４３】
0004009809.tif 000044