JP4009809B2 - 情報処理装置および方法 - Google Patents
情報処理装置および方法 Download PDFInfo
- Publication number
- JP4009809B2 JP4009809B2 JP2000092789A JP2000092789A JP4009809B2 JP 4009809 B2 JP4009809 B2 JP 4009809B2 JP 2000092789 A JP2000092789 A JP 2000092789A JP 2000092789 A JP2000092789 A JP 2000092789A JP 4009809 B2 JP4009809 B2 JP 4009809B2
- Authority
- JP
- Japan
- Prior art keywords
- frame
- priority
- task
- transmission
- processing
- 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.)
- Expired - Lifetime
Links
Images
Landscapes
- Small-Scale Networks (AREA)
- Communication Control (AREA)
Description
【発明の属する技術分野】
本発明は、情報処理装置および方法に関し、特に、優先すべき処理を適切に実行することができるようにした情報処理装置および方法に関する。
【0002】
【従来の技術】
図1は、マルチタスク処理が可能な従来の情報処理装置1,2の利用例を示している。情報処理装置1および情報処理装置2は、LAN3を介して、互いに送受信し合うフレームの優先度を決定し、決定した優先度に基づいてフレームの送受信を行う。通常、フレームの優先度は、高い優先度と低い優先度の2つであり、高い優先度のフレーム(以下、高優先度フレームと称する)は、低い優先度のフレーム(以下、低優先度フレームと称する)より優先的に送信され、また、送信されてきた高優先度フレームは、送信されてきた低優先度フレームより優先的に処理される。
【0003】
図2は、送受信されるフレームの構成を示している。
【0004】
このフレームは、図2(A)に示すように、ヘッダ部、データ部、およびチェック部から構成されており、ヘッダ部には、送信先アドレス(6バイト)、送信元アドレス(6バイト)、タグヘッダ(4バイト)、データ長又は上位プロトコルタイプ(2バイト)が格納されている。データ部には、データ(46乃至1500バイト)が、そしてチェック部には、フレームチェックシーケンス(4バイト)がそれぞれ格納されている。
【0005】
また、ヘッダ部のタグヘッダには、図2(B)に示すように、タグプロトコルID(この例の場合、0X8100に固定)(2バイト)、ユーザプライオリティ(3ビット)、カノニカルフォーマットインジケータ(1ビット)、VLAN_ID(この例の場合、0に固定))ビット)が格納されている。
【0006】
ヘッダ部のユーザプライオリティには、データ部に格納されているデータに与えられた優先度(以下、データ優先度と称する)を示す、値0(最も低いデータ優先度を示す値)乃至値8(最も高いデータ優先度を示す値)が設定されている。すなわち、この例では、ユーザプライオリティが値0乃至値3であるフレーム(値0乃至値3のデータ優先度のデータを格納しているフレーム)が、低優先度フレームとされ、ユーザプライオリティが値4乃至値8であるフレーム(値4乃至値8のデータ優先度のデータを格納しているフレーム)が、高優先度フレームとされる。
【0007】
図3は、情報処理装置1の構成例を示している。CPU21は、ROM22またはハードディスク27に記憶されているプログラムに従って、各種処理を実行する。RAM23は、CPU21が各種の処理を実行する上において必要な各種のデータを適宜記憶する。
【0008】
入力部24は、CPU21に所定の指令を入力するときに、ユーザにより操作される。表示部25は、例えば、液晶ディスプレイ等により構成され、各種情報を表示する。
【0009】
通信用インタフェース26は、CPU21により供給されたフレームをLAN3に出力したり、例えば、情報処理装置2から、LAN3を介して送信されてきたフレーム(高優先度フレームまたは低優先度フレーム)を受信し、CPU21に供給する。
【0010】
図4は、情報処理装置1の機能的構成例を示している。
【0011】
N個のタスク2−1乃至2−Nは、後述する通信処理タスク3以外のタスクであり、通信処理以外の各種の処理を実行する。なお、この例の場合、N個のタスク2−1乃至2−Nを、個々に区別する必要がない場合、これらをまとめて、一般タスク1と称する。
【0012】
所定の一般タスク1は、他の情報処理装置(例えば、情報処理装置2)に送信すべきデータ(値0乃至値8のデータ優先度を有するデータ)を格納するフレームを生成するとともに、そのフレームの優先度を決定する。一般タスク1はまた、高い優先度のフレーム(高優先度フレーム)を高優先度送信キュー11にエントリし、また低い優先度のフレーム(低優先度フレーム)を低優先度キュー12にエントリする。
【0013】
高優先度送信キュー11または低優先度送信キュー12には、エントリされたフレームが記憶されている、例えば、RAM23のアドレスが、その記憶の順番で蓄積される。なお、以下において、高優先度送信キュー11および低優先度送信キュー12を、個々に区別する必要がない場合、これらをまとめて、送信キューと称する。他の場合についても同様である。
【0014】
所定の一般タスク1は、例えば、情報処理装置2から送信されてきたフレームを処理する。その一般タスク1は、高優先度受信キュー13または低優先度受信キュー14にエントリされたフレーム(情報処理装置2から送信されてきたフレーム)を、FIFO規律に従って取り出し、そのフレームを処理する(正確には、それに格納されているデータを処理する)。但し、このとき、この一般タスク1は、高優先度受信キュー13にエントリされているフレームを、低優先度受信キュー14にエントリされているフレームより優先的に取り出して処理する。
【0015】
高優先度受信キュー13または低優先度受信キュー14には、エントリされたフレーム(例えば、情報処理装置2から送信されてきたフレーム)が記憶されている、RAM23のアドレスが、その記憶の順番で蓄積される。なお、以下において、高優先度受信キュー13および低優先度受信キュー14を、個々に区別する必要がない場合、これらをまとめて、受信キューと称する。他の場合についても同様である。
【0016】
通信処理タスク3は、送信タスク4および受信タスク5から構成されている。送信タスク4は、高優先度送信キュー11または低優先度送信キュー12にエントリされたフレームを、FIFO規律に従って取り出し、通信用インタフェース26に書き込む(ライトする)。但し、このとき、送信タスク4は、高優先度送信キュー11にエントリされているフレームを、低優先度送信キュー12にエントリされているフレームより優先的に取り出し、通信用インタフェース26にライトする。通信用インタフェース26にライトされたフレームは、LAN3を介して、例えば、情報処理装置2に送信される。
【0017】
なお、送信キューからのフレーム取り出しおよびその通信用インタフェース26への書き込みは、通信割り込みハンドラ6からの、1フレーム(通信用インタフェース26にライトされたフレーム)の送信が完了した旨(以下、単に、送信完了と称する)の通知に対応して行われ、送信キューにエントリされているフレームがなくなるまで繰り返される。
【0018】
受信タスク5は、通信用インターフェース26から、受信されたフレーム(例えば、情報処理装置2から送信されてきたフレーム)を取り出し、それが、高優先度フレームである場合、高優先度受信キュー13にエントリし、また低優先度フレームである場合、低優先度受信キュー14にエントリする。
【0019】
なお、通信用インタフェース26からのフレーム取り出しおよび受信キューへのエントリは、通信割り込みハンドラ6からの、例えば、情報処理装置2から送信されてきたフレームの全てが通信用インタフェース26により受信された旨(以下、単に、受信完了と称する)の通知により開始される。
【0020】
通信割り込みハンドラ6は、OS7から、通信処理タスク3の送信タスク4により通信用インタフェース26に書き込まれた1フレームの送信が完了した場合に発生する割り込み(以下、送信完了割り込みと称する)があったとき、送信タスク4に送信完了を通知する。通信割り込みハンドラ6はまた、OS7から、例えば、情報処理装置2から送信されてきたフレームの全てが通信用インタフェース26により受信された場合に発生する割り込み(以下、受信完了割り込みと称する)があったとき、受信タスク5に受信完了を通知する。
【0021】
なお、ここでタスク(一般タスク1および通信処理タスク3)とは、並行処理が可能なプログラムの単位で、それぞれ所定の優先度(以下、タスク優先度と称する)が与えられており、その実行(例えば、開始または停止)は、そのタスク優先度に基づいて、OS7により制御される。
【0022】
また、ハンドラ(通信割り込みハンドラ6)は、タスクと同様に、並行処理が可能なプログラムの単位であり、その実行は、OS7からの割り込み(送信完了割り込みまたは受信完了割り込み)により開始される。すなわち、ハンドラは、どのタスク優先度より高い優先度が与えられており、割り込みがあった場合、どのタスクよりも優先的に実行(開始)される。なお、ハンドラは、タスクと比較して、非常に短い時間でその実行が完了する。
【0023】
OS7は、一般タスク1(N個のタスク2−1乃至2−N)、通信処理タスク3(送信タスク4および受信タスク5)、または通信割り込みハンドラ6を、その優先度に基づいて時分割で切り替える。
【0024】
次に、情報処理装置1の送信動作を、図5のフローチャートを参照して説明する。
【0025】
ステップS1において、一般タスク1は、生成したフレームの優先度を決定し、その結果に基づいて送信キューにエントリする。すなわち、一般タスク1は、優先度の高いフレーム(高優先度フレーム)を高優先度送信キュー11に、優先度の低いフレーム(低優先度フレーム)を、低優先度送信キュー12にエントリする。
【0026】
ステップS2において、一般タスク1は、ステップS1でエントリしたフレームの送信を、OS7を介して、通信処理タスク3に要求する。
【0027】
これにより、通信処理タスク3の送信タスク4の実行が開始され、ステップS3において、エントリされたフレームが送信される。この処理の詳細は、図6のフローチャートに示されている。
【0028】
すなわち、ステップS11において、通信処理タスク3の送信タスク4は、高優先度送信キュー11にフレーム(高優先度フレーム)がエントリされているか否かを判定し、エントリされていると判定した場合、ステップS12に進み、そこから、FIFO規律に従う順番で、1つの高優先度フレームを読み出す。
【0029】
一方、ステップS11で、高優先度送信キュー11にフレーム(高優先度フレーム)がエントリされていないと判定した場合、送信タスク4は、ステップS13に進み、低優先度送信キュー12にフレーム(低優先度フレーム)がエントリされているか否かを判定し、エントリされていると判定した場合、ステップS14に進み、そこから、FIFO規律に従う順番で、1つの低優先度フレームを取り出す。
【0030】
ステップS12またはステップS14で1つのフレームが取り出されたとき、ステップS15に進み、通信処理タスク3の送信タスク4は、取り出した1つのフレームを、通信用インタフェース26に書き込む(ライトする)。これにより、通信用インタフェース26にライトされたフレームは、LAN3を介して、例えば、情報処理装置2に送信される。
【0031】
次に、ステップS16において、通信処理タスク3の送信タスク4は、通信割り込みハンドラ6から、送信完了(ステップS15で、通信用インタフェース26にライトされたフレームの送信が完了した旨)が通知されるまで待機し、すなわち、通信割り込みハンドラ6が、OS7からの送信完了割り込み(通信用インタフェース26にライトされた1フレームの送信が完了したときに発生する割り込み)があるまで待機し、送信完了が通知されたとき、すなわち、通信完了割り込みがあったとき、ステップS11に戻り、それ以降の処理を実行する。
【0032】
ステップS13で、低優先度送信キュー12にもフレーム(低優先度フレーム)がエントリされていないと判定された場合、ここでの処理は、図5の処理とともに終了する。
【0033】
以上のように送信動作が実行されることより、高優先度フレームが、低優先度フレームより優先的に送信される。
【0034】
次に、情報処理装置1の受信動作を、図7のフローチャートを参照して説明する。
【0035】
ステップS21において、受信された、例えば、情報処理装置2からのフレームの取り出しが開始される。この処理の詳細は、図8のフローチャートに示されている。
【0036】
すなわち、ステップS31において、通信割り込みハンドラ6は、OS7からの受信完了割り込みがあるまで待機し(情報処理装置2からのフレームの全てが通信用インタフェース26により受信されるまで待機し)、受信完了割り込みがあったとき(フレームの全てが受信されたとき)、ステップS32に進み、受信完了割り込みの禁止をOS7に対して要求する。これにより、通信割り込みハンドラ6に対する受信完了割り込みは、後述するステップS38の処理により、それが解除されるまで行われない。
【0037】
次に、ステップS33において、通信割り込みハンドラ6は、受信完了(送信されてきた全てのフレームの受信が完了した旨)を、通信処理タスク3に通知する。
【0038】
これにより、通信処理タスク3の受信タスク5の実行が開始され、ステップS34において、受信タスク5は、通信用インタフェース26から、受信されたフレームを取り出し、ステップS35において、それが高優先度フレームであるかまたは低優先度フレームであるかを判定する。なお、この判定は、フレームのヘッダ部に格納されているタグヘッダのユーザプライオリティ(図2(B))を参照することにより行われる。
【0039】
ステップS35で、高優先度フレームであると判定された場合、ステップS36に進み、通信処理タスク3の受信タスク5は、そのフレーム(高優先度フレーム)を、高優先度受信キュー13にエントリする。一方、ステップS35で、低優先度フレームであると判定された場合、ステップS37に進み、そのフレーム(低優先度フレーム)は、低優先度受信キュー14にエントリされる。
【0040】
ステップS36またはステップS37で、フレームが受信キューにエントリされたとき、ステップS38に進み、通信処理タスク3の受信タスク5は、OS7に対し、ステップS32で設定された受信完了割り込み禁止の解除を要求する。これにより、通信割り込みハンドラ6に対する受信完了割り込みが可能となる。その後、処理は終了し、図7のステップS22に進む。
【0041】
ステップS22において、一般タスク1は、高優先度受信キュー13に、フレーム(高優先度フレーム)がエントリされているか否かを判定し、エントリーされていると判定した場合、ステップS23に進み、エントリされている高優先度フレームの全てを、FIFO規律の順番に従って取り出す。
【0042】
一方、ステップS22で、高優先度受信キュー13に、フレーム(高優先度フレーム)がエントリーされていないと判定された場合、ステップS24に進み、一般タスク1は、低優先度受信キュー14にフレーム(低優先度フレーム)がエントリされているか否かを判定し、エントリされていると判定した場合、ステップS25に進み、エントリされている低優先度フレームの全てを、FIFO規律の順番に従って取り出す。
【0043】
ステップS23またはステップS25で、フレームが取り出されたとき、ステップS26に進み、一般タスク1は、取り出したフレームを処理する(フレームに格納されているデータを処理する)。
【0044】
ステップS26で処理が実行されたとき、またはステップS24で、低優先度受信キュー14にもフレームがエントリされていないと判定されたとき、処理は終了する。
【0045】
以上のように受信動作が実行されることより、高優先度フレームが、低優先度フレームより優先的に処理される。
【0046】
【発明が解決しようとする課題】
しかしながら、一般タスク1のタスク2−1乃至2−N、および通信処理タスク3のそれぞれの実行は、上述したように、それらのタスク優先度に基づいて、OS7により制御されている(時分割で切り替えられる)。
【0047】
例えば、通信処理タスク3のタスク優先度が、一般タスク1のタスク優先度より高い場合、図9に示すように、一般タスク1の実行が、時刻t1から開始され、それが継続している時刻t2において、通信処理タスク3の実行が要求されたとき、タスクの実行は、その時点で、一般タスク1から通信処理タスク3に切り替わり、通信処理タスク3の実行が開始される。これにより、フレームの送受信が開始される。一般タスク1の実行は、通信処理タスク3の実行が完了する時刻t3から再開する(時刻t2から時刻t3まで中断する)。
【0048】
すなわち、一般タスク1の実行が、通信処理タスク3の実行(例えば、低優先度フレームの送受信)より優先すべきものであっても、一般タスク1の実行は、その通信処理タスク3の実行(低優先度フレームの送受信)により、中断してしまう。
【0049】
また、逆に、一般タスク1のタスク優先度が、通信処理タスク3のそれよりも高い場合、図10に示すように、通信処理タスク3の実行が、時刻t11から開始され、それが継続している時刻t12において、一般タスク1の実行が要求されたとき、タスクの実行は、その時点で、通信処理タスク3から一般タスク1に切り替わり、一般タスク1の実行が開始される。通信処理タスク3の実行は、一般タスク1の実行が完了する時刻t13から再開する(時刻t12から時刻t13まで中断する)。
【0050】
すなわち、通信処理タスク3の実行(例えば、高優先度フレームの送受信)が、一般タスク1の実行より優先すべきものであっても、通信処理タスク3の実行(高優先度フレームの送受信)は、その一般タスク1の実行により、中断してしまう。
【0051】
以上のように、優先すべきタスク(処理)が適切に行われない課題があった。
【0052】
以下において、この課題を、より具体的な例に基づいて、説明する。
【0053】
図11は、マルチタスク処理が可能な加工装置51の利用例およびその構成例を表している。加工装置51は、前工程から、ベルトコンベアにより所定の位置まで搬送されてきた加工対象物に対し、所定の加工を施す。加工装置51により加工された加工対象物は、ベルコンベアにより次行程に搬送される。
【0054】
加工装置51はまた、LAN52に接続され、同様にLAN52に接続されている、ベルトコンベア制御装置53や管理装置54とフレームの送受信を行う。
【0055】
ベルトコンベア制御装置53は、ベルトコンベアのベルト速度等を制御するとともに、加工装置51からの命令により、ベルトコンベアを停止させる。管理装置54は、加工装置51から供給される、例えば、稼働率や加工数などの生産実績を示す情報(以下、生産実績情報と称する)を集計するなどの処理を行う。
【0056】
加工装置51は、PLC(Programmable Logic Controller)61、加工部62、センサ部63、緊急停止ボタン64などから構成されている。加工部62は、アクチュエータを有しており、加工対象物を加工する。
【0057】
センサ部63は、複数のセンサから構成されており、加工対象物の位置を検出したり、ベルトコンベアの動作異常を検出し、その検出結果を、PLC61に通知する。緊急停止ボタン64は、例えば、異常発生時に、加工装置51の作業者により操作されるボタンであり、それが操作された場合、緊急停止ボタン64は、その旨をPLC61に通知する。
【0058】
PLC61は、加工制御処理、監視処理、実績管理処理、通信処理などを実行する。加工制御処理は、加工部62による加工を制御する処理である。監視処理は、センサ部63からの動作異常の通知や緊急停止ボタンからの操作通知を監視し、それらの通知があった場合、例えば、ベルトコンベア制御装置53に送信する、ベルトコンベアを停止させるための命令(以下、停止命令情報と称する)を生成する処理である。実績管理処理は、管理装置54に送信される、加工装置51の生産実績情報を生成する処理である。
【0059】
通信処理は、例えば、生成された停止命令情報を、ベルトコンベア制御装置53に送信し、生成された生産実績情報(低優先度フレーム)を、管理装置54に送信したり、ベルトコンベア制御装置53や管理装置54から送信されてきたフレームを受信する処理である。
【0060】
図12は、PLC61の構成例を示している。CPU71は、ROM72に記憶されているプログラム(加工タスク、監視タスク、実績管理タスク、通信処理タスクなど)に従って、例えば、上述した、加工制御処理、監視処理、実績管理処理、通信処理などを実行する。RAM73は、CPU71が各種の処理を実行する上において必要な各種のデータを適宜記憶する。
【0061】
制御用インタフェース74は、加工部62乃至緊急停止ボタン64から送信されてくるデータを受信し、CPU71に出力したり、CPU71より供給されたデータを、それらに出力する。
【0062】
通信用インタフェース75は、LAN52に接続され、LAN52を介して送信されてくるフレームを受信し、CPU71に出力したり、CPU71から供給されたフレームを、LAN52に出力する。
【0063】
図13は、PLC61の機能的構成例を示している。すなわち、このPLC61の機能構成は、図4で示した情報処理装置1の機能的構成の、一般タスク1のタスク2−1、タスク2−2、およびタスク2−3(図示せず)を、加工制御処理を実行する加工タスク2−1、監視処理を実行する監視タスク2−2、および実績管理処理を実行する実績管理タスク2−3としたものであり、他の部分は同様である。
【0064】
以下において、通信処理タスク3のタスク優先度と、一般タスク1である加工タスク2−1、監視タスク2−2、または実績管理タスク2−3のタスク優先度の大小(高低)関係に基づくPLC61の動作を説明する。なお、PLC61の送信動作または受信動作は、図5および図6、並びに図7および図8のフローチャートを参照して説明した場合と基本的に同様であるので、その説明は、以下の説明の中で、対応するステップを示すことで行い、その詳細な説明は省略する。
【0065】
はじめに、タスク優先度が、通信処理タスク3、監視タスク2−2、そして実績管理タスク2−3の順に高い場合、すなわち、通信処理タスク3のタスク優先度が、他のタスクより高い場合を例として説明する。なお、この例の場合、加工タスク2−1は考慮されない。
【0066】
例えば、図14に示すように、最も低いタスク優先度の実績管理タスク2−3の実行が、時刻ta0から開始されたものとする。これにより、生産実績情報を格納したフレームが生成され、その優先度が決定される。通常、生産実績の集計は、例えば、異常事態発生時におけるベルトコンベアの停止などと比較して、緊急性を要しないので、生産実績情報のデータ優先度は小さい値とされ、それを格納するフレームの優先度は、低い優先度とされる。すなわち、生産実績情報を格納するフレームは低優先度フレームとなる。そしてこの低優先度フレームが、低優先度送信キュー12にエントリされた後(図5のステップS1)、時刻ta1において、そのフレームの送信が通信処理タスク3に要求される(図5のステップS2)。
【0067】
実績管理タスク2−3から、送信要求があると、その時刻ta1から、通信処理タスク3(送信タスク4)の実行が開始され、低優先度送信キュー12にエントリされた低優先度フレームの送信が開始される(図5のステップS3)。その結果、生産実績情報が管理装置54に供給され、生産実績の集計が行われるようになる。
【0068】
しかしながら、通信処理タスク3の実行(生産実績情報の送信)が継続している時刻ta2において、例えば、緊急停止ボタン64が操作されたものとする。この例の場合、監視タスク2−2のタスク優先度は通信処理タスク3のそれよりも低いので、この時点において、タスクの実行は切り替わらず、監視タスク2−2の実行は、この通信処理タスク3の実行が完了した時刻ta3から開始される。
【0069】
監視タスク2−2が開始されると、停止命令情報を格納するフレームが生成され、その優先度が決定される。上述したように、異常時発生時におけるベルトコンベアの停止は、緊急性を要するので、それに必要な停止命令情報のデータ優先度は大きな値とされ、それを格納するフレームの優先度は、高い優先度とされる。すなわち、停止命令情報を格納するフレームは高優先度フレームとなる。そしてこの高優先度フレームが、高優先度送信キュー11にエントリされた後、時刻ta4において、そのフレームの送信が通信処理タスク3に要求される。
【0070】
監視タスク2−2から、送信要求があると、通信処理タスク3(送信タスク4)の実行が開始され、時刻ta4から、高優先度フレームの送信が開始される。その結果、停止命令情報がベルトコンベア制御装置53に供給され、ベルトコンベアが停止する。
【0071】
すなわち、この例の場合、監視タスク2−2が、低優先度フレーム(生産実績情報を格納するフレーム)を送信するための通信処理タスク3の実行により、緊急ボタン64の操作から時間Taだけ遅れて開始され、その結果、高優先度フレーム(停止命令情報を格納するフレーム)の送信が遅れ、ベルトコンベアの停止が遅れる。
【0072】
次に、タスク優先度が、通信処理タスク3、加工タスク2−1、そして実績管理タスク2−3の順で高い場合、すなわち、上述の例と同様に、通信処理タスク3のタスク優先度が、他のタスクより高い場合を例として説明する。なお、この例の場合、監視タスク2−2は考慮されない。
【0073】
例えば、図15に示すように、最も低いタスク優先度の実績管理タスク2−3の実行が、時刻ta0から開始され、そして時刻ta1において、低優先度フレーム(生産実績情報を格納するフレーム)の送信が通信処理タスク3に要求されたものとする。これにより、時刻ta1から、生産実績情報の送信が開始される。
【0074】
また、通信処理タスク3の実行(生産実績情報の送信)が継続している時刻t2において、例えば、加工対象物が、加工することができる位置に搬送されてきた(到着した)ものとする。この例の場合、加工タスク2−1のタスク優先度は通信処理タスク3のそれよりも低いので、この時点において、タスクの実行は切り替わらず、加工タスク2−1の実行は、この通信処理タスク3の実行が完了した時刻ta3から開始される。
【0075】
すなわち、この例の場合、加工タスク2−1が、低優先度フレーム(生産実績情報を格納するフレーム)を送信するための通信処理タスク3の実行により、加工対象物が到着してから時間Taだけ遅れて開始され、その結果、例えば、稼働率が低下する。
【0076】
つまり、図14の例では、監視タスク2−2、図15の例では、加工タスク2−1のそれぞれ優先すべきタスクの開始が、低優先度フレームを送信するための通信処理タスク3の実行により遅れてしまう。
【0077】
次に、タスク優先度が、監視タスク2−2、加工タスク2−1、そして通信処理タスク3の順に高い場合、すなわち、通信処理タスク3のタスク優先度が最も低い場合を例として説明する。なお、この例の場合、実績管理タスク2−3は考慮されない。
【0078】
例えば、図16に示すように、時刻tb1から開始された加工タスク2−1の実行が継続している時刻tb2において、緊急停止ボタン64が操作されたものとする。この例の場合、監視タスク2−2のタスク優先度は、加工タスク2−1のそれよりも高いので、この時点において、タスクの実行が、加工タスク2−1から監視タスク2−2に切り替わり、監視タスク2−2の実行が開始され、時刻tb3において、高優先度フレーム(停止命令情報を格納するフレーム)の送信が通信処理タスク3に要求される。
【0079】
しかしながら、この例の場合、通信処理タスク3のタスク優先度は、加工タスク2−1のそれよりも低いので、この時点において、タスクの実行は、監視タスク2−2から加工タスク2−1に切り替わる。すなわち、通信処理タスク3の実行は、加工タスク2−1の実行が完了した時刻tb4から開始される。
【0080】
つまり、この例の場合、高優先度フレーム(停止命令情報を格納するフレーム)を送信するための通信処理タスク4の実行が、加工タスク2−1の実行により、その高優先度フレームの送信要求があったときから時間Tbだけ遅れて開始され、それに伴いベルトコンベアの停止が遅れる。
【0081】
本発明はこのような状況に鑑みてなされたものであり、優先すべき一般タスクまた、優先すべき通信処理タスクを適切に実行することができるようにするものである。
【0082】
【課題を解決するための手段】
本発明の情報処理装置は、フレームの、他の情報処理装置への送信と他の情報処理装置からの受信を行う通信処理、および前記フレームの送受信を伴わない非通信処理を実行する情報処理装置において、他の情報処理装置に送信するフレームを生成するとともに、生成したフレームの優先度および前記非通信処理の優先度に応じて、生成したフレームを、そのフレームの優先度に対応する送信キューに登録する第1の登録手段と、前記送信キューに登録された前記フレームを取り出す取り出し手段と、前記取り出し手段により取り出された前記フレームを、ネットワークを介して他の情報処理装置に送信する送信手段と、前記送信手段による前記フレームの送信が、そのフレームの優先度および前記非通信処理の優先度に基づく順番で実行されるように、前記取り出し手段による前記フレームの取り出しを制御する制御手段と、前記非通信処理を、前記非通信処理の優先度および前記フレームの優先度に基づく順番で実行する第1の実行手段と、前記ネットワークを介して、他の情報処理装置から送信されてきたフレームを受信する受信手段と、受信された前記フレームの優先度および前記非通信処理の優先度に応じて、受信されたフレームを、そのフレームの優先度に対応する受信キューに登録する第2の登録手段と、前記受信キューに登録された前記フレームに対する処理と前記非通信処理を、前記フレームの優先度および前記非通信処理の優先度に基づく順番で実行する第2の実行手段と、対象物を処理する処理装置を制御する処理装置制御手段を備え、前記フレームは、前記処理装置から入力された信号に応じた制御を前記処理装置に対して行うのに必要な情報を含んで生成され、その優先度は、前記処理装置から入力された信号に基づいて決定されることを特徴とする。
【0083】
前記第1の登録手段は、例えば、図18,34の一般タスク1により、前記取り出し手段は、例えば、図18の高優先度通信処理タスク201および低優先度通信処理タスク202、並びに図34の通信処理タスク401により、前記送信手段は、例えば、図18,34の通信用インタフェース116により、前記制御手段は、例えば、図18,34の通信割り込みハンドラ6により、前記第1の実行手段は、図18,34の一般タスク1により、前記受信手段は、例えば、図18,34の通信用インタフェース116により、前記第2の登録手段は、図18の高優先度通信処理タスク201および低優先度通信処理タスク202、並びに図34の通信処理タスク401により、前記第2の実行手段は、図18,34の一般タスク1により、それぞれ構成することができる。
【0085】
前記処理装置を制御する処理は、前記対象物の加工作業を制御する処理、その加工作業を監視する処理、またはその監視結果に応じて加工作業を停止させる処理であるようにすることができる。
【0086】
本発明の情報処理方法は、フレームの、他の情報処理装置への送信と他の情報処理装置からの受信を行う通信処理、および前記フレームの送受信を伴わない非通信処理を実行する情報処理方法において、他の情報処理装置に送信するフレームを生成するとともに、生成したフレームの優先度および前記非通信処理の優先度に応じて、生成したフレームを、そのフレームの優先度に対応する送信キューに登録する第1の登録ステップと、前記送信キューに登録された前記フレームを取り出す取り出しステップと、前記取り出しステップの処理で取り出された前記フレームを、ネットワークを介して他の情報処理装置に送信する送信ステップと、前記送信ステップの処理での前記フレームの送信が、そのフレームの優先度および前記非通信処理の優先度に基づく順番で実行されるように、前記取り出しステップの処理での前記フレームの取り出しを制御する制御ステップと、前記非通信処理を、前記非通信処理の優先度および前記フレームの優先度に基づく順番で実行する第1の実行ステップと、前記ネットワークを介して、他の情報処理装置から送信されてきたフレームを受信する受信ステップと、受信された前記フレームの優先度および前記非通信処理の優先度に応じて、受信されたフレームを、そのフレームの優先度に対応する受信キューに登録する第2の登録ステップと、前記受信キューに登録された前記フレームに対する処理と前記非通信処理を、前記フレームの優先度および前記非通信処理の優先度に基づく順番で実行する第2の実行ステップと、対象物を処理する処理装置を制御する処理装置制御ステップとを含み、前記フレームは、前記処理装置から入力された信号に応じた制御を前記処理装置に対して行うのに必要な情報を含んで生成され、その優先度は、前記処理装置から入力された信号に基づいて決定されることを特徴とする。
【0087】
前記第1の登録ステップは、例えば、図19のステップS102,104により、前記取り出しステップは、例えば、図20のステップS114および図21のステップS124により、前記送信ステップは、例えば、図22のステップS131により、前記制御ステップは、例えば、図22のステップS132により、第1の実行ステップは、図18,34の一般タスク1の処理により、前記受信ステップは、例えば、図23のステップS141により、前記第2の登録ステップは、図24のステップS154および図25のステップS164により、前記第2の実行ステップは、図26のステップS171乃至S175により、それぞれ構成することができる。
【0088】
本発明の情報処理装置および情報処理方法においては、他の情報処理装置に送信するフレームが生成されるとともに、生成されたフレームの優先度および前記非通信処理の優先度に応じて、生成されたフレームが、そのフレームの優先度に対応する送信キューに登録され、前記送信キューに登録された前記フレームが取り出され、取り出された前記フレームが、ネットワークを介して他の情報処理装置に送信され、前記フレームの送信が、そのフレームの優先度および前記非通信処理の優先度に基づく順番で実行されるように、前記フレームの取り出しが制御され、前記非通信処理が、前記非通信処理の優先度および前記フレームの優先度に基づく順番で実行され、前記ネットワークを介して、他の情報処理装置から送信されてきたフレームが受信され、受信された前記フレームの優先度および前記非通信処理の優先度に応じて、受信されたフレームが、そのフレームの優先度に対応する受信キューに登録され、前記受信キューに登録された前記フレームに対する処理と前記非通信処理が、前記フレームの優先度および前記非通信処理の優先度に基づく順番で実行され、対象物を処理する処理装置が制御され、前記フレームは、前記処理装置から入力された信号に応じた制御を前記処理装置に対して行うのに必要な情報を含んで生成され、その優先度は、前記処理装置から入力された信号に基づいて決定される。
【0089】
本発明の情報処理装置および情報処理方法によれば、他の情報処理装置に送信するフレームを生成するとともに、生成したフレームの優先度および前記非通信処理の優先度に応じて、生成したフレームを、そのフレームの優先度に対応する送信キューに登録し、前記送信キューに登録された前記フレームを取り出し、取り出された前記フレームを、ネットワークを介して他の情報処理装置に送信し、前記フレームの送信が、そのフレームの優先度および前記非通信処理の優先度に基づく順番で実行されるように、前記フレームの取り出しを制御し、前記非通信処理を、前記非通信処理の優先度および前記フレームの優先度に基づく順番で実行し、前記ネットワークを介して、他の情報処理装置から送信されてきたフレームを受信し、受信された前記フレームの優先度および前記非通信処理の優先度に応じて、受信されたフレームを、そのフレームの優先度に対応する受信キューに登録し、前記受信キューに登録された前記フレームに対する処理と前記非通信処理を、前記フレームの優先度および前記非通信処理の優先度に基づく順番で実行し、対象物を処理する処理装置を制御し、前記フレームは、前記処理装置から入力された信号に応じた制御を前記処理装置に対して行うのに必要な情報を含んで生成され、その優先度は、前記処理装置から入力された信号に基づいて決定されるようにしたので、優先すべき処理を適切に実行することができる。
【0114】
【発明の実施の形態】
図17は、本発明を適用した情報処理装置101の構成例を示している。情報処理装置101のCPU111乃至ハードディスク117は、図3の情報処理装置1のCPU21乃至ハードディスク27と基本的に同様な処理を実行するので、その説明は省略する。なお、情報処理装置101は、例えば、LAN3(図1)に接続され、送受信するフレームの優先度を決定し、決定した優先度に基づいて、例えば、情報処理装置1,2とフレームの送受信を行う。なお、この例の場合も、フレームの優先度は、高い優先度と低い優先度の2つされ、高優先度フレームと低優先度フレームが送受信される。
【0115】
図18は、情報処理装置101の機能的構成例を表している。この情報処理装置には、図4の通信処理タスク3に代えて、高優先度通信処理タスク201および低優先度通信処理タスク202が設けられ、また送信フレーム種別記憶部203、およびヘッダ記憶部204がさらに設けられている。
【0116】
高優先度通信処理タスク201は、低優先度通信処理タスク202より高いタスク優先度が与えられている通信処理タスクである。低優先度通信処理タスク202は、すなわち、高優先度通信処理タスク201より低いタスク優先度が与えられている通信処理タスクである。
【0117】
高優先度通信処理タスク201は、高優先度送信タスク211および高優先度受信タスク212から構成されている。
【0118】
高優先度送信タスク211は、一般タスク1からの送信要求により、高優先度送信キュー11にエントリされている高優先度フレームを、FIFO規律に従って取り出し、通信用インタフェース116にライトする。高優先度送信タスク211はこのとき、高優先度フレームを示す情報(以下、高優先度フレーム種別情報と称する)を、送信フレーム種別記憶部203に供給し、記憶させる(上書きさせる)。
【0119】
高優先度受信タスク212は、通信割り込みハンドラ6から、受信完了が通知されたとき、ヘッダ記憶部204から、後述する通信割り込みハンドラ6により抽出され記憶されたフレームのヘッダ部を、そして通信用インタフェース116から、フレームのそれ以外のデータ部およびチェック部を取り出し、高優先度受信キュー13にエントリする。
【0120】
低優先度通信処理タスク202は、低優先度送信タスク221および低優先度受信タスク222から構成されている。
【0121】
低優先度送信タスク221は、一般タスク1からの送信要求により、低優先度送信キュー12にエントリされている低優先度フレームを、FIFO規律に従って取り出し、通信用インタフェース116にライトする。低優先度送信タスク221はこのとき、低優先度フレームを示す情報(以下、低優先度フレーム種別情報と称する)を、送信フレーム種別記憶部203に供給し、上書きさせる。
【0122】
低優先度受信タスク222は、通信割り込みハンドラ6から、受信完了が通知されたとき、ヘッダ記憶部204から、後述する通信割り込みハンドラ6により抽出され記憶されたフレームのヘッダ部を、そして通信用インタフェース116から、フレームのそれ以外のデータ部およびチェック部を取り出し、低優先度受信キュー14にエントリする。
【0123】
通信割り込みハンドラ6は、OS7から送信完了割り込みがあった場合、送信フレーム種別記憶部203を参照し、そこに高優先度フレーム種別情報が記憶されているかまたは低優先度フレーム種別情報が記憶されているかを判定する。通信割り込みハンドラ6は、送信フレーム種別記憶部203に高優先度フレーム種別情報が記憶されていると判定した場合、送信完了を、高優先度通信処理タスク201の高優先度送信タスク211に通知し、また低優先度フレーム種別情報が記憶されていると判定した場合、送信完了を、低優先度通信処理タスク202の低優先度送信タスク221に通知する。
【0124】
通信割り込みハンドラ6はまた、OS7から受信完了割り込みがあった場合、OS7を介して、通信用インタフェース116により受信されたフレームの全てから、そのヘッダ部を抽出するとともに、ヘッダ記憶部204に記憶させる。そして通信割り込みハンドラ6は、抽出したヘッダ部のユーザプライオリティに基づいて(図2(B))、受信されたフレームが高優先度フレームであるかまたは低優先度フレームであるかを判定する。通信割り込みハンドラ6は、高優先度フレームであると判定した場合、受信完了を、高優先度通信処理タスク201の高優先度受信タスク212に通知し、低優先度フレームであると判定した場合、受信完了を、低優先度通信処理タスク202の低優先度受信タスク222に通知する。
【0125】
送信フレーム種別記憶部203は、高優先度通信処理タスク201の高優先度送信タスク211から供給された高優先度フレーム種別情報を記憶し(上書きし)、また低優先度通信処理タスク202の低優先度送信タスク221から供給された低優先度フレーム種別情報を上書きする。すなわち、送信フレーム種別記憶部203には、通信用インタフェース116にライトされたフレームの種別情報が記憶される。
【0126】
ヘッダ記憶部204は、通信割り込みハンドラ6から供給されたフレームのヘッダ部を記憶する。
【0127】
次に、一般タスク1、高優先度通信処理タスク201、低優先度通信処理タスク202、および通信割り込みハンドラ6の送信動作を、それぞれ説明する。
【0128】
はじめに、一般タスク1の送信動作を、図19のフローチャートを参照して説明する。
【0129】
ステップS101において、一般タスク1は、生成したフレームが高優先度フレームであるか又は低優先度フレームであるかを判定し(決定したフレームの優先度が高い優先度かまたは低い優先度かを判定し)、高優先度フレームである場合、ステップS102に進み、それを高優先度送信キュー11にエントリする。
【0130】
次に、ステップS103において、一般タスク1は、高優先度通信処理タスク201(高優先度送信タスク211)に、ステップS102でエントリしたフレームの送信を、OS7を介して要求する。
【0131】
ステップS101で、低優先度フレームであると判定された場合、ステップS104に進み、一般タスク1は、低優先度フレームを、低優先度送信キュー12にエントリする。
【0132】
次に、ステップS105において、一般タスク1は、低優先度通信処理タスク202(低優先度送信タスク221)に、ステップS104でエントリしたフレームの送信を、OS7を介して要求する。
【0133】
ステップS103またはステップS105でフレームの送信が要求されたとき、処理は終了する。
【0134】
次に、高優先度通信処理タスク201(高優先度送信タスク211)の送信動作を、図20のフローチャートを参照して説明する。
【0135】
ステップS111において、高優先度通信処理タスク201の高優先度送信タスク211は、一般タスク1から、フレーム(高優先度フレーム)の送信が要求されるまで待機し、それが要求されたとき(図19のステップS103)、ステップS112に進み、高優先度送信キュー11にフレーム(高優先度フレーム)がエントリされているか否かを判定する。
【0136】
ステップS112で、エントリされていると判定された場合、ステップS113に進み、高優先度通信処理タスク201の高優先度送信タスク211は、低優先度通信処理タスク202(低優先度送信タスク221)の実行禁止を、OS7に要求する。これにより、後述するステップS117の処理により、それが解除されるまで、低優先度フレームの送信は行われない。
【0137】
次に、ステップS114において、高優先度通信処理タスク201の高優先度送信タスク211は、FIFO規律の順序に従って、高優先度送信キュー11にエントリされている高優先度フレームを1つ取り出し、通信用インタフェース116にライトする。
【0138】
ステップS115において、高優先度通信処理タスク201の高優先度送信タスク211は、高優先度フレーム種別情報を、送信フレーム種別記憶部203に供給し、記憶させる。
【0139】
次に、ステップS116において、高優先度通信処理タスク201の高優先度送信タスク211は、通信割り込みハンドラ6から、送信完了が通知されるまで待機し、それが通知されたとき、ステップS117に進む。
【0140】
ステップS117において、高優先度通信処理タスク201の高優先度送信タスク211は、OS7に対して、低優先度通信処理タスク202(低優先度送信タスク221)の実行禁止の解除を要求する。これにより、低優先度フレームの送信が可能となる。その後、ステップS112に戻り、それ以降の処理が実行される。
【0141】
ステップS112で、フレームがエントリされていないと判定された場合、ステップS111に戻り、それ以降の処理が実行される。すなわち、高優先度送信キュー11にエントリされているフレームがなくなるまで、ステップS112乃至ステップS117の処理が繰り返し行われる。
【0142】
次に、低優先度通信処理タスク202(低優先度送信タスク221)の送信動作を、図21のフローチャートを参照して説明する。
【0143】
ステップS121において、低優先度通信処理タスク202の低優先度送信タスク221は、一般タスク1から、フレーム(低優先度フレーム)の送信が要求されるまで待機し、それが要求されたとき(図19のステップS105)、ステップS122に進み、低優先度送信キュー12に低優先度フレームがエントリされているか否かを判定する。
【0144】
ステップS122で、低優先度送信キュー12にフレーム(低優先度フレーム)がエントリされていると判定された場合、ステップS123に進み、低優先度通信処理タスク202の低優先度送信タスク221は、高優先度通信処理タスク201(高優先度送信タスク211)の実行禁止を、OS7に要求する。これにより、後述するステップS127の処理により、それが解除がされるまで、高優先度フレームの送信は行われない。
【0145】
次に、ステップS124において、低優先度通信処理タスク202の低優先度送信タスク221は、FIFO規律の順序に従って、低優先度送信キュー12にエントリされている低優先度フレームを、1つ取り出し、通信用インタフェース116にライトする。
【0146】
ステップS125において、低優先度通信処理タスク202の低優先度送信タスク221は、低優先度フレーム種別情報を、送信フレーム種別記憶部203に供給し、記憶させる。
【0147】
次に、ステップS126において、低優先度通信処理タスク202の低優先度送信タスク221は、通信割り込みハンドラ6から、送信完了が通知されるまで待機し、それが通知されたとき、ステップS127に進む。
【0148】
ステップS127において、低優先度通信処理タスク202の低優先度送信タスク221は、OS7に対して、高優先度通信処理タスク201(高優先度送信タスク211)の実行禁止の解除を要求する。これにより、高優先度フレームの送信が可能となる。その後、ステップS122に戻り、それ以降の処理が実行される。
【0149】
ステップS122で、フレームがエントリされていないと判定された場合、ステップS121に戻り、それ以降の処理が実行される。すなわち、低優先度送信キュー12にエントリされているフレームがなくなるまで、ステップS122乃至ステップS127の処理が繰り返し行われる。
【0150】
次に、通信割り込みハンドラ6の送信動作を、図22のフローチャートを参照して説明する。
【0151】
ステップS131において、通信割り込みハンドラ6は、OS7から送信完了割り込みがあるまで待機し(図20のステップS114または図21のステップS124で通信用インタフェース116にライトされたフレームの送信が完了するまで待機し)、送信完了割り込みがあったとき(その送信が完了したとき)、ステップS132に進む。
【0152】
ステップS132において、通信割り込みハンドラ6は、送信フレーム種別記憶部203を参照し、そこに高優先度フレーム種別情報が記憶されているか(図20のステップS115)、または低優先度フレーム種別情報が記憶されているか(図21のステップS125)を判定し、高優先度フレーム種別情報が記憶されていると判定した場合、ステップS133に進む。
【0153】
ステップS133において、通信割り込みハンドラ6は、送信完了を、高優先度通信処理タスク201の高優先度送信タスク211に通知する。
【0154】
ステップS132で、送信フレーム種別記憶部203に低優先度フレーム種別情報が記憶されていると判定された場合、ステップS134に進み、通信割り込みハンドラ6は、送信完了を、低優先度通信処理タスク202の低優先度送信タスク221に通知する。
【0155】
ステップS133またはステップS134で送信完了が通知がされたとき、処理は終了する。
【0156】
以上のように、一般タスク1、高優先度通信処理タスク201、低優先度通信処理タスク202、および通信割り込みハンドラ6が送信動作を実行することより、高優先度フレームが、低優先度フレームより優先的に送信される。
【0157】
次に、一般タスク1、高優先度通信処理タスク201、低優先度通信処理タスク202、および通信割り込みハンドラ6の受信動作を説明する。
【0158】
はじめに、通信割り込みハンドラ6の受信動作を、図23のフローチャートを参照して説明する。
【0159】
ステップS141において、通信割り込みハンドラ6は、OS7から、受信完了割り込みがあるまで待機し(他の情報処理装置から送信されてきたフレームの全てが受信されるまで待機し)、受信完了割り込みがあったとき(フレームの全てが受信されたとき)、ステップS142に進む。
【0160】
ステップS142において、通信割り込みハンドラ6は、受信完了割り込みの禁止をOS7に対して要求する。これにより、通信割り込みハンドラ6に対する受信完了割り込みは行われない。なお、ここで設定された受信完了割り込みの禁止は、後述する図24のステップS155または図25のステップS165の処理により解除される。
【0161】
次に、ステップS143において、通信割り込みハンドラ6は、OS7を介して、通信用インタフェース116により受信された全てのフレームのヘッダ部を抽出し、ステップS144において、ヘッダ記憶部204に記憶させる。
【0162】
ステップS145において、通信割り込みハンドラ6は、ステップS143で抽出したヘッダ部のユーザプライオリティに基づいて、受信されたフレームが、高優先度フレームであるかまたは低優先度フレームであるかを判定し、高優先度フレームであると判定した場合、ステップS146に進み、高優先度通信処理タスク201の高優先度受信タスク212に対して、受信完了を通知する。
【0163】
一方、ステップS145で、低優先度フレームであると判定された場合、ステップS147に進み、低優先度通信処理タスク202の低優先度受信タスク222に対して、受信完了が通知される。
【0164】
ステップS146またはステップS147において受信完了が通知されたとき、その処理は終了する。
【0165】
次に、高優先度通信処理タスク201(高優先度受信タスク212)の受信動作を、図24のフローチャートを参照して説明する。
【0166】
ステップS151において、高優先度通信処理タスク201の高優先度受信タスク212は、通信割り込みハンドラ6から、受信完了が通知されるまで待機し、それが通知されたとき(図23のステップS146)、ステップS152に進む。
【0167】
ステップS152において、高優先度通信処理タスク201の高優先度受信タスク212は、ヘッダ記憶部204に記憶されているフレーム(高優先度フレーム)のヘッダ部(図23のステップS144)を取り出し、ステップS153に、OS7を介して、通信用インタフェース116から、フレーム(高優先度フレーム)のそれ以外のデータ部およびチェック部を取り出し、そしてステップS154において、フレームとして、高優先度受信キュー13にエントリする。
【0168】
ステップS155において、高優先度通信処理タスク201の高優先度受信タスク212は、OS7に対し、図23のステップS142で設定された、受信完了割り込み禁止の解除を要求する。これにより、通信割り込みハンドラ6に対する受信完了割り込みが可能となる。その後、ステップS151に戻り、それ以降の処理が実行される。
【0169】
次に、低優先度通信処理タスク202(低優先度受信タスク222)の受信動作を、図25のフローチャートを参照して説明する。
【0170】
ステップS161において、低優先度通信処理タスク202の低優先度受信タスク222は、通信割り込みハンドラ6から、受信完了が通知されるまで待機し、それが通知されたとき(図23のステップS147)、ステップS162に進む。
【0171】
ステップS162において、低優先度通信処理タスク202の低優先度受信タスク222は、ヘッダ記憶部204に記憶されているフレーム(低優先度フレーム)のヘッダ部(図23のステップS144)を取り出し、ステップS163に、OS7を介して、通信用インタフェース116から、フレーム(低優先度フレーム)のそれ以外のデータ部およびチェック部を取り出し、そしてステップS164において、フレームとして、低優先度受信キュー14にエントリする。
【0172】
ステップS165において、低優先度通信処理タスク202の低優先度受信タスク222は、OS7に対し、図23のステップS142で設定された、受信完了割り込み禁止の解除を要求する。これにより、通信割り込みハンドラ6に対する受信完了割り込みが可能となる。その後、ステップS161に戻り、それ以降の処理が実行される。
【0173】
次に、一般タスク1の受信動作を、図26のフローチャートを参照して説明する。
【0174】
ステップS171において、一般タスク1は、高優先度受信キュー13にフレーム(高優先度フレーム)がエントリされているか否かを判定し、エントリされていると判定した場合、ステップS172に進み、そこから、高優先度フレームを取り出す。
【0175】
一方、ステップS171で、高優先度送受信キュー13にフレームがエントリされていないと判定された場合、ステップS173に進み、一般タスク1は、低優先度受信キュー14にフレーム(低優先度フレーム)がエントリされているか否かを判定し、エントリされていると判定した場合、ステップS174に進み、そこから、低優先度フレームを取り出す。
【0176】
ステップS172またはステップS174で、フレームが取り出されたとき、ステップS175に進み、一般タスク1は、取り出したフレームに格納されているデータを処理する。
【0177】
ステップS175で処理が実行されたとき、またはステップS173で、低優先度受信キュー14にもフレームがエントリされていないと判定されたとき、処理は終了する。
【0178】
以上のように、一般タスク1、高優先度通信処理タスク201、低優先度通信処理タスク202、および通信割り込みハンドラ6が受信動作を実行することより、高優先度フレームが、低優先度フレームより優先的に処理される。
【0179】
次に、タスク優先度が、高優先度通信処理タスク201、一般タスク1、そして低優先度通信処理タスク202の順で高い場合の情報処理装置101の動作を説明する。
【0180】
例えば、図27に示すように、最も低いタスク優先度の低優先度通信処理タスク202の実行が、時刻t21から開始され、それが継続している時刻t22において、一般タスク1の実行が要求された場合、一般タスク1のタスク優先度は、低優先度通信処理タスク202のそれよりも高いので、この時点において、タスクの実行が、低優先度通信処理タスク202から一般タスク1に切り替わり、一般タスク1の実行が開始される。
【0181】
また、一般タスク1の実行が継続している時刻t23において、この度は、高優先度通信処理タスク201の実行が要求された場合、高優先度通信処理タスク201のタスク優先度は、一般タスク1のそれよりも高いので、この時点において、タスクの実行が、一般タスク1から高優先度通信処理タスク201に切り替わり、高優先度通信処理タスク201の実行が開始される。
【0182】
すなわち、一般タスク1の実行は、低優先度通信処理タスク202の実行(低優先度フレームの送受信)により中断されず、また高優先度通信処理タスク201の実行(高優先度フレームの送受信)は、一般タスク1または低優先度通信処理タスク202の実行により中断されない。
【0183】
なお、一般タスク1の実行は、高優先度通信処理タスク201の実行が完了する時刻t24から再開され、低優先度通信処理タスク202の実行は、一般タスク1の実行が完了する時刻t25から再開される。
【0184】
次に、この例における動作を、図9の例の場合と比較する。図9では、通信処理タスク3の実行が低優先度フレームを送受信するためのものであっても、一般タスク1は、その通信処理タスク3の実行により、中断されていたが、この例の場合、一般タスク1の実行は、低優先度通信処理タスク202の実行(低優先度フレームの送受信)により中断されない。
【0185】
また、図10の例の場合と比較する。図10では、通信処理タスク3の実行が高優先度フレームを送受信するためのものであっても、その通信処理タスク3の実行は、一般タスク1の実行により、中断されていたが、この例の場合、高優先度通信処理タスク201の実行(高優先度フレームを送受信)は、一般タスク1の実行により中断されない。
【0186】
以上のように、優先すべきタスク(処理)が適切に実行される。
【0187】
なお、高優先度通信処理タスク201の実行(高優先度フレームの送受信)より、優先的に実行すべきタスクには、高優先度通信処理タスク201のタスク優先度より高いタスク優先度を与え、そのタスクが最優先に実行されるようにすることもできる。また、低優先度通信処理タスク202の実行(低優先度フレームの送受信)より、優先的に実行する必要がないタスクには、低優先度通信処理タスク202のタスク優先度より低いタスク優先度を与えることもできる。
【0188】
以下において、本発明をより具体的な装置に適用した場合について説明する。
【0189】
図28は、本発明を適用した加工装置301の利用例およびその構成例を表している。この加工装置には、図11の加工装置51のPLC61に代えてPLC311が設けられている。他の部分は、図11の場合と同様である。
【0190】
図29は、PLC311の構成例を表している。PLC311のCPU321乃至通信用インタフェース325は、図12のCPU71乃至通信用インタフェース75と基本的に同様の動作を行うので、その説明は省略する。
【0191】
図30は、PLC311の機能的構成例を示している。このPLC311の機能構成は、図18で示した情報処理装置101の機能的構成の、一般タスク1のタスク2−1、タスク2−2、およびタスク2−3(図示せず)を、加工タスク2−1、監視タスク2−2、および実績管理タスク2−3としたものであり、他の部分は、同様である。
【0192】
PLC311の、一般タスク1、高優先度通信処理タスク201、低優先度通信処理タスク202、および通信割り込みハンドラ6の送信動作および受信動作は、図19乃至図26のフローチャートを参照して説明した場合と同様であるので、その説明は省略する。
【0193】
以下において、高優先度通信処理タスク201、低優先度通信処理タスク202、または一般タスク1である加工タスク2−1、監視タスク2−2、若しくは実績管理タスク2−3のタスク優先度の大小関係に基づく、PLC311の動作を説明する。
【0194】
はじめに、タスク優先度が、監視タスク2−2、高優先度通信処理タスク201、低優先度通信処理タスク202、そして実績管理タスク2−3の順に高い場合を例として説明する。なお、この例の場合、加工タスク2−1は考慮されない。
【0195】
例えば、図31に示すように、最も低いタスク優先度の実績管理タスク2−3の実行が、時刻tA0から開始され、そして時刻tA1において、低優先度フレーム(生産実績情報を格納するフレーム)の送信が低優先度通信処理タスク202に要求されたものとする。これにより、時刻tA1から、低優先度通信処理タスク202(低優先度送信タスク221)の実行が開始され、生産実績情報の管理装置54への送信が開始される。
【0196】
また、低優先度通信処理タスク202の実行(生産実績情報の送信)が継続している時刻tA2において、緊急停止ボタン64が操作されたものとする。この例の場合、監視タスク2−2のタスク優先度は、低優先度通信処理タスク202のそれよりも高いので、この時点において、タスクの実行が、低優先度通信処理タスク202から監視タスク2−2に切り替わり、監視タスク2−2の実行が開始され、時刻tA3において、高優先度フレーム(停止命令情報を格納するフレーム)の送信が高優先度通信処理タスク201に供給される。これにより、時刻tA3から、高優先度通信処理タスク201(高優先度送信タスク211)の実行が開始され、停止命令情報のベルトコンベア制御装置53への送信が開始される。その結果、ベルトコンベアが停止する。
【0197】
低優先度通信処理タスク202の実行(生産実績情報の送信)は、高優先度通信処理タスク201の実行(停止命令情報の送信)が完了した時刻tA3から再開される。
【0198】
この例における動作を、図14の例の場合と比較する。図14の例では、通信処理タスク3のタスク優先度が、監視タスク2−2のそれよりも高いので、通信処理タスク3の実行が低優先度フレームを送受信するためのものであっても、その通信処理タスク3の実行により、監視タスク2−2の実行開始が遅れていたが、この例の場合、監視タスク2−2の実行が遅れることなく開始される。
【0199】
次に、タスク優先度が、加工タスク2−1、低優先度通信処理タスク202、そして実績管理タスク2−3の順で高い場合を例として説明する。なお、この例の場合、監視タスク2−2および高優先度通信処理タスク201は考慮されない。
【0200】
例えば、図32に示すように、最も低いタスク優先度の実績管理タスク2−3の実行が、時刻tB0から開始され、そして時刻tB1において、低優先度フレーム(生産実績情報を格納するフレーム)の送信が低優先度通信処理タスク202に要求されたものとする。これにより、生産実績情報の管理装置54への送信が開始される。
【0201】
また、低優先度通信処理タスク202の実行(生産実績情報の送信)が継続している時刻tB2において、加工対象物が、到着したものとする。この例の場合、加工タスク2−1のタスク優先度は、低優先度通信処理タスク202のそれよりも高いので、この時点において、タスクの実行が、低優先度通信処理タスク202から加工タスク2−1に切り替わり、加工タスク2−1の実行が開始される。
【0202】
低優先度通信処理タスク202の実行は、加工タスク2−1の実行が完了した時刻tB3から再開される。
【0203】
この例における動作を、図15の例の場合と比較する。図15の例では、通信処理タスク3のタスク優先度が、加工タスク2−1のそれよりも高いので、通信処理タスク3の実行が低優先度フレームを送受信するためのものであっても、その通信処理タスク3の実行により、加工タスク2−1の実行開始が遅れていたが、この例の場合、加工タスク2−1の実行は遅れることはなく開始される。
【0204】
次に、タスク優先度が、監視タスク2−2、高優先度通信処理タスク201、そして加工タスク2−1の順で高い場合を例として説明する。なお、この例の場合、実績管理タスク2−3および低優先度通信処理タスク202は考慮されない。
【0205】
例えば、図33に示すように、最も低いタスク優先度の加工タスク2−1の実行が、時刻tC1から開始され、そして加工タスク2−1の実行が継続している時刻tC2において、緊急停止ボタン64が操作されたものとする。
【0206】
この例の場合、監視タスク2−2のタスク優先度が最も高いので、この時点において、タスクの実行が、加工タスク2−1から監視タスク2−2に切り替わり、監視タスク2−2の実行が開始され、時刻tC3において、高優先度フレーム(停止命令情報を格納するフレーム)の送信が高優先度通信処理タスク201に要求される。これにより、停止命令情報のベルトコンベア制御装置53への送信が開始され、ベルトコンベアが停止される。
【0207】
加工タスク2−1の実行は、高優先度通信処理タスク201の実行が完了した時刻tC4から再開される。
【0208】
以上のように、タスク優先度が異なる複数の通信処理タスクを設けたので、想定される各状態(ベルトコンベアを停止する必要がある異常発生や加工対象物の到着)において、優先すべきタスク(処理)が適切に実行される。
【0209】
なお、以上におていは、タスク優先度が異なる通信処理タスクが2個である場合(高優先度通信処理タスク201および低優先度通信処理タスク202が設けられた場合)を例として説明したが、それ以上の、それぞれタスク優先度が異なる通信処理タスクを設けることができる。
【0210】
図34は、M個の通信処理タスクを備えた情報処理装置101の機能的構成例を示している。この情報処理装置には、図18の情報処理装置101の高優先度通信処理タスク201と低優先度通信処理タスク202に代えて、M個の通信処理タスク401(送信タスク411および受信タスク412)が設けられている。また、図18の高優先度送信キュー11および低優先度送信キュー12、並びに高優先度受信キュー13および低優先度受信キュー14に代えて、M個の送信キュー501−1乃至501−M、およびM個の受信キュー502−1乃至502−Mが設けられている。他の部分は、図18の場合と同様である。
【0211】
M個の通信処理タスク401には、例えば、図35に示すように、それぞれ異なるタスク優先度が与えられている。すなわち、M個の送信キュー501にエントリされたフレームは対応する通信処理タスク401により取り出され、またM個の受信キュー502には、対応する通信処理タスク401によりエントリが登録される。すなわち、この例の場合、フレームの優先度として、M個の優先度が設けられている。
【0212】
フレームを送信する場合、一般タスク1は、生成したフレームの優先度を、M個の優先度のうちのいずれか1つに決定し、決定した優先度に対応する送信キュー501にそのフレームをエントリする。そして通信タスク401の通信タスク411は、対応する送信キュー501にエントリされているフレームを取り出し、通信用インタフェース116にライトする。これにより、フレームが送信される。
【0213】
フレームを受信する場合、通信割り込みハンドラ6により判定されたフレームの優先度に対応する受信タスク412が、そのフレームを、通信用インタフェース116から取り出し、対応する受信キュー502にエントリする。そして一般タスク1は、より高い優先度に対応する受信キュー502にエントリされているフレームから順番に取り出して処理する。
【0214】
以上のように、タスク優先度が異なる通信処理タスクを、多く備え、そのタスク優先度に対応させて一般タスク1のタスク優先度を設定することより、より多くの場合において、優先すべき処理を適切に実行することができる。
【0215】
図36は、フレームのヘッダ部に格納されている送信元のアドレスを利用してフレームの優先度を決定する場合の情報処理装置101の機能的構成例を示している。この情報処理装置101の機能的構成には、図18に示した情報処理装置101の機能的構成の高優先度通信処理タスク201および低優先度通信処理タスク202に代えて、通信処理タスク601が設けられ、また高優先度送信キュー11および低優先度送信キュー12に代えて、1つの送信キュー701が設けられ、そして送信フレーム種別記憶部203に代えて、高優先度記憶部801が設けられている。
【0216】
通信処理タスク601は、送信タスク611、および図18の高優先度通信処理タスク201の高優先度受信タスク212と低優先度通信処理タスク202の低優先度受信タスク222から構成されている。
【0217】
送信タスク611は、高優先度フレームまたは低優先度フレームに関係なく、通信割り込みハンドラ6からの送信完了の通知に対応して、送信キュー701にエントリされているフレームを取り出し、通信用インタフェース116に書き込む。
【0218】
高優先度記憶部801は、図37に示すように、優先的に処理すべきフレームを送信する情報処理装置のアドレスが記憶されている。
【0219】
次に、一般タスク1の送信動作を、図38のフローチャートを参照して説明する。
【0220】
ステップS201において、一般タスク1は、生成したフレームを、送信キュー701にエントリし、ステップS202において、その送信を、OS7を介して通信処理タスク601(送信タスク611)に要求する。その後、処理は終了する。
【0221】
次に、通信処理タスク601(送信タスク611)の送信動作を、図39のフローチャートを参照して説明する。
【0222】
ステップS211において、通信処理タスク601の送信タスク611は、一般タスク1から、フレームの送信が要求されるまで待機し、それが要求されたとき(図38のステップS202)、ステップS212に進み、送信キュー701にフレームがエントリされているか否かを判定する。
【0223】
ステップS212で、フレームがエントリされていると判定された場合、ステップS213に進み、通信処理タスク601の送信タスク611は、FIFO規律の順序に従って、送信キュー701にエントリされているフレームを1つ取り出し、通信用インタフェース116にライトする。
【0224】
次に、ステップS215において、通信処理タスク601の送信タスク611は、通信割り込みハンドラ6から、送信完了が通知されるまで待機し、それが通知されたとき、ステップS212に戻り、それ以降の処理を実行する。
【0225】
ステップS212で、フレームがエントリされていないと判定された場合、ステップS211に戻り、それ以降の処理が実行される。すなわち、送信キュー701にエントリされたフレームがなくなるまで、ステップS212乃至ステップS215の処理が繰り返し実行される。
【0226】
次に、通信割り込みハンドラ6の送信動作を、図40のフローチャートを参照して説明する。
【0227】
ステップS221において、通信割り込みハンドラ6は、OS7から送信完了割り込みがあるまで待機し(図39のステップS214で通信用インターフェース116にライトされたフレームの送信が完了するまで待機し)、送信割り込みがあったとき(その送信が完了したとき)、ステップS222に進む。
【0228】
ステップS222において、通信割り込みハンドラ6は、送信完了を、通信処理タスク601の送信タスク611に通知する。その後、処理は終了する。
【0229】
次に、通信割り込みハンドラ6の受信動作を、図41のフローチャートを参照して説明する。
【0230】
ステップS231乃至ステップS234における処理は、図23のステップS141乃至ステップS144における場合と同様であるので、その詳細な説明は省略するが、通信割り込みハンドラ6は、ステップS223において、フレームのヘッダ部を抽出するとともに、それから送信元のアドレス(図2(B))を取得する。
【0231】
ステップS235において、通信割り込みハンドラ6は、高優先度記憶部801を参照し、そしてステップS236において、ステップS233で取得した送信元のアドレスが、高優先度記憶部801に記憶されているか否かを判定する。
【0232】
ステップS236で、送信元のアドレスが高優先度記憶部801に記憶されていると判定された場合、ステップS237に進み、通信割り込みハンドラ6は、受信完了を、通信処理タスク601の高優先度受信タスク212に通知する。一方、それが高優先度記憶部801に記憶されていないと判定された場合、ステップS238に進み、受信完了は、通信処理タスク601の低優先度受信タスク222に通知される。
【0233】
ステップS237およびステップS238で、受信完了が通知されたとき、処理は終了する。
【0234】
通信処理タスク601の高優先度受信タスク212および低優先度受信タスク222の受信動作は、図24および図25のフローチャートを参照して説明した場合と同様である。
【0235】
次に、タスク優先度が、高優先度受信タスク212、一般タスク1、そして低優先度受信タスク222の順に高い場合の情報処理装置101の受信動作を説明する。
【0236】
例えば、図42に示すように、最も低いタスク優先度の低優先度受信タスク222の実行が、時刻t21から開始され、それが継続している時刻t22において、一般タスク1の実行が要求されたものとする。この例の場合、一般タスク1のタスク優先度は、低優先度受信タスク222のそれよりも高いので、この時点において、タスクの実行が、低優先度受信タスク222から一般タスク1に切り替わり、一般タスク1の実行が開始される。
【0237】
また、続いて、一般タスク1の実行が継続している時刻t23において、高優先度受信タスク212の実行が要求されたものとする。この例の場合、高優先度受信タスク212のタスク優先度は、一般タスク1のそれよりも高いので、この時点において、タスクの実行が、一般タスク1から高優先度受信タスク212に切り替わり、高優先度受信タスク212の実行が開始される。
【0238】
一般タスクの実行は、高優先度受信タスク212の実行が完了する時刻t24から再開され、低優先度受信タスク222の実行は、一般タスク1の実行が完了する時刻t25から再開される。
【0239】
すなわち、この例では、一般タスク1の実行は、低優先度受信タスク222の実行により中断されず、また高優先度受信タスク212の実行は、一般タスク1または低優先度受信タスク222の実行により中断されない。つまり、図27を参照して説明した、図18の情報処理装置101の受信動作における効果が、実現される。
【0240】
図43は、上述のような情報処理装置101または加工装置301として機能するコンピュータ501の一実施の形態の構成を示すブロック図である。CPU511にはバス515を介して入出力インタフェース516が接続されており、CPU511は、入出力インタフェース516を介して、ユーザから、キーボード、マウスなどよりなる入力部518から指令が入力されると、例えば、ROM512、ハードディスク514、またはドライブ520に装着される磁気ディスク531、光ディスク532、光磁気ディスク533、若しくは半導体メモリ534などの記録媒体に格納されているプログラムを、RAM513にロードして実行する。これにより、上述した各種の処理(例えば、図19,20,21,22,23,24,25,38,39,40のフローチャートにより示される処理)が行われる。さらに、CPU511は、その処理結果を、例えば、入出力インタフェース516を介して、LCDなどよりなる表示部517に必要に応じて出力する。なお、プログラムは、ハードディスク514やROM512に予め記憶しておき、コンピュータ501と一体的にユーザに提供したり、磁気ディスク531、光ディスク532、光磁気ディスク533,半導体メモリ534等のパッケージメディアとして提供したり、衛星、ネットワーク等から通信部519を介してハードディスク514に提供することができる。
【0241】
なお、本明細書において、媒体により提供されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0242】
【発明の効果】
本発明によれば、優先すべき処理を適切に行うことができる。
【図面の簡単な説明】
【図1】従来の情報処理装置1,2の利用例を示す図である。
【図2】フレーム構成を説明する図である。
【図3】情報処理装置1の構成例を示すブロック図である。
【図4】情報処理装置1の機能的構成例を示すブロック図である。
【図5】送信動作を説明するフローチャートである。
【図6】図5のステップS3の処理の詳細を説明するフローチャートである。
【図7】受信動作を説明するフローチャートである。
【図8】図7のステップS21の処理の詳細を説明するフローチャートである。
【図9】タスク実行のタイミングを説明する図である。
【図10】タスク実行のタイミングを説明する他の図である。
【図11】加工装置51の利用例およびその構成例を示す図である。
【図12】図11のPLC61の構成例を示すブロック図である。
【図13】 PLC61の機能的構成例を示すブロック図である。
【図14】タスク実行のタイミングを説明する他の図である。
【図15】タスク実行のタイミングを説明する他の図である。
【図16】タスク実行のタイミングを説明する他の図である。
【図17】本発明を適用した情報処理装置101の構成例を示すブロック図である。
【図18】情報処理装置101の機能的構成例を示すブロック図である。
【図19】一般タスク1の送信動作を説明するフローチャートである。
【図20】高優先度通信処理タスク201の送信動作を説明するフローチャートである。
【図21】低優先度通信処理タスク202の送信動作を説明するフローチャートである。
【図22】通信割り込みハンドラ6の送信動作を説明するフローチャートである。
【図23】通信割り込みハンドラ6の受信動作を説明するフローチャートである。
【図24】高優先度通信処理タスク201の受信動作を説明するフローチャートである。
【図25】低優先度通信処理タスク202の受信動作を説明するフローチャートである。
【図26】一般タスク1の受信動作を説明するフローチャートである。
【図27】タスク実行のタイミングを説明する他の図である。
【図28】本発明を適用した加工装置301の利用例およびその構成例を示す図である。
【図29】図28のPLC311の構成例を示すブロック図である。
【図30】 PLC311の機能的構成例を示すブロック図である。
【図31】タスク実行のタイミングを説明する他の図である。
【図32】タスク実行のタイミングを説明する他の図である。
【図33】タスク実行のタイミングを説明する他の図である。
【図34】情報処理装置101の他の機能的構成例を示すブロック図である。
【図35】タスクの優先度を説明する図である。
【図36】情報処理装置101の他の機能的構成例を示すブロック図である。
【図37】図36の高優先度記憶部801の記憶内容を示す図である。
【図38】一般タスク1の他の送信動作を説明するフローチャートである。
【図39】送信タスク601の送信動作を説明するフローチャートである。
【図40】通信割り込みハンドラ6の他の送信動作を説明するフローチャートである。
【図41】通信割り込みハンドラ6の他の受信動作を説明するフローチャートである。
【図42】タスク実行のタイミングを説明する他の図である。
【図43】コンピュータ501の構成例を示すブロック図である。
【符号の説明】
101 情報処理装置
201 高優先度通信処理タスク
202 低優先度通信処理タスク
203 送信フレーム種別記憶部
204 ヘッダ記憶部
311 PLC
401 通信処理タスク
501 送信キュー
512 受信キュー
601 通信処理タスク
611 送信タスク
701 送信キュー
801 高優先度記憶部
Claims (3)
- フレームの、他の情報処理装置への送信と他の情報処理装置からの受信を行う通信処理、および前記フレームの送受信を伴わない非通信処理を実行する情報処理装置において、
他の情報処理装置に送信するフレームを生成するとともに、生成したフレームの優先度および前記非通信処理の優先度に応じて、生成したフレームを、そのフレームの優先度に対応する送信キューに登録する第1の登録手段と、
前記送信キューに登録された前記フレームを取り出す取り出し手段と、
前記取り出し手段により取り出された前記フレームを、ネットワークを介して他の情報処理装置に送信する送信手段と、
前記送信手段による前記フレームの送信が、そのフレームの優先度および前記非通信処理の優先度に基づく順番で実行されるように、前記取り出し手段による前記フレームの取り出しを制御する制御手段と、
前記非通信処理を、前記非通信処理の優先度および前記フレームの優先度に基づく順番で実行する第1の実行手段と、
前記ネットワークを介して、他の情報処理装置から送信されてきたフレームを受信する受信手段と、
受信された前記フレームの優先度および前記非通信処理の優先度に応じて、受信されたフレームを、そのフレームの優先度に対応する受信キューに登録する第2の登録手段と、
前記受信キューに登録された前記フレームに対する処理と前記非通信処理を、前記フレームの優先度および前記非通信処理の優先度に基づく順番で実行する第2の実行手段と、
対象物を処理する処理装置を制御する処理装置制御手段と
を備え、
前記フレームは、前記処理装置から入力された信号に応じた制御を前記処理装置に対して行うのに必要な情報を含んで生成され、その優先度は、前記処理装置から入力された信号に基づいて決定される
ことを特徴とする情報処理装置。 - 前記処理装置を制御する処理は、前記対象物の加工作業を制御する処理、その加工作業を監視する処理、またはその監視結果に応じて加工作業を停止させる処理である
請求項1に記載の情報処理装置。 - フレームの、他の情報処理装置への送信と他の情報処理装置からの受信を行う通信処理、および前記フレームの送受信を伴わない非通信処理を実行する情報処理装置の情報処理方法において、
他の情報処理装置に送信するフレームを生成するとともに、生成したフレームの優先度および前記非通信処理の優先度に応じて、生成したフレームを、そのフレームの優先度に対応する送信キューに登録する第1の登録ステップと、
前記送信キューに登録された前記フレームを取り出す取り出しステップと、
前記取り出しステップの処理で取り出された前記フレームを、ネットワークを介して他の情報処理装置に送信する送信ステップと、
前記送信ステップの処理での前記フレームの送信が、そのフレームの優先度および前記非通信処理の優先度に基づく順番で実行されるように、前記取り出しステップの処理での前記フレームの取り出しを制御する制御ステップと、
前記非通信処理を、前記非通信処理の優先度および前記フレームの優先度に基づく順番で実行する第1の実行ステップと、
前記ネットワークを介して、他の情報処理装置から送信されてきたフレームを受信する受信ステップと、
受信された前記フレームの優先度および前記非通信処理の優先度に応じて、受信されたフレームを、そのフレームの優先度に対応する受信キューに登録する第2の登録ステップと、
前記受信キューに登録された前記フレームに対する処理と前記非通信処理を、前記フレームの優先度および前記非通信処理の優先度に基づく順番で実行する第2の実行ステップと、
対象物を処理する処理装置を制御する処理装置制御ステップと
を含み、
前記フレームは、前記処理装置から入力された信号に応じた制御を前記処理装置に対して行うのに必要な情報を含んで生成され、その優先度は、前記処理装置から入力された信号に基づいて決定される
ことを特徴とする情報処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000092789A JP4009809B2 (ja) | 2000-03-30 | 2000-03-30 | 情報処理装置および方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000092789A JP4009809B2 (ja) | 2000-03-30 | 2000-03-30 | 情報処理装置および方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001285394A JP2001285394A (ja) | 2001-10-12 |
JP4009809B2 true JP4009809B2 (ja) | 2007-11-21 |
Family
ID=18608062
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000092789A Expired - Lifetime JP4009809B2 (ja) | 2000-03-30 | 2000-03-30 | 情報処理装置および方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4009809B2 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3723980B2 (ja) | 2003-12-22 | 2005-12-07 | 横河電機株式会社 | 通信制御システム |
JP4919015B2 (ja) * | 2006-07-27 | 2012-04-18 | 横河電機株式会社 | 通信制御装置および通信制御方法 |
JP2008199432A (ja) * | 2007-02-15 | 2008-08-28 | Fujitsu Ltd | データ転送装置及びヘルスチェックデータ処理方法 |
JP5224964B2 (ja) * | 2008-07-31 | 2013-07-03 | キヤノン株式会社 | 受信装置の受信方法及び受信装置並びにプログラム |
JP5458681B2 (ja) * | 2009-06-05 | 2014-04-02 | 横河電機株式会社 | データ送信装置、データ送信方法 |
US8842985B2 (en) | 2010-07-01 | 2014-09-23 | Hokuyo Automatic Co., Ltd | Optical data transmission device, optical communication device, and automatic conveyance device |
JP5303593B2 (ja) * | 2011-03-16 | 2013-10-02 | 株式会社コア | パケット送信制御装置及びパケット送信制御方法 |
JP6192388B2 (ja) * | 2013-07-04 | 2017-09-06 | 三菱電機株式会社 | 光伝送システム |
WO2020039538A1 (ja) | 2018-08-23 | 2020-02-27 | 三菱電機株式会社 | 通信装置、通信方法及び通信プログラム |
JP7110911B2 (ja) * | 2018-10-29 | 2022-08-02 | オムロン株式会社 | コントローラおよびコントローラの備える通信制御部の制御方法 |
-
2000
- 2000-03-30 JP JP2000092789A patent/JP4009809B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2001285394A (ja) | 2001-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9921868B2 (en) | Cooperated interrupt moderation for a virtualization environment | |
US5247671A (en) | Scalable schedules for serial communications controller in data processing systems | |
US7676610B2 (en) | Device and method for optimization of target host device process handling according to the status and the priority of the target host device process | |
JP4009809B2 (ja) | 情報処理装置および方法 | |
JP2002189640A (ja) | 端末装置の送信制御装置及びその送信制御方法 | |
JPH03126158A (ja) | スケジユーリング方法及び装置 | |
CN108701055B (zh) | 车辆控制装置和车辆系统 | |
EP1199641B1 (en) | Data processing device used in serial communication system | |
JP6808090B1 (ja) | 制御装置および分散処理方法 | |
US7743376B2 (en) | Method and apparatus for managing tasks in a multiprocessor system | |
US4602341A (en) | Shared data logger controller and method | |
CN114928511A (zh) | 数据处理设备及数据处理系统 | |
JPH10334037A (ja) | 通信dma装置 | |
JP5262418B2 (ja) | タスクスケジューリング装置およびタスクスケジューリング方法 | |
JP4218034B2 (ja) | データ通信システムおよびデータ通信方法、データ通信プログラム | |
JPH08202566A (ja) | プロセス間通信システム | |
JP6540294B2 (ja) | 制御装置、制御方法及びプログラム | |
JP2007214981A (ja) | データ転送回路、それを利用したマルチプロセッサシステム、及びデータ転送方法 | |
JPH0458646A (ja) | バッファ管理方式 | |
JP2001022718A (ja) | 並列処理装置 | |
JP2000040057A (ja) | 計算機システム、バッファ制御装置及び転送方法 | |
CN117176667A (zh) | 流量控制的方法、设备、计算机设备和存储介质 | |
JP2710219B2 (ja) | Dma制御装置 | |
JP2809169B2 (ja) | 磁気ディスク装置の制御処理方法 | |
JP2002091625A (ja) | バスリセット処理方法、情報処理装置および記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050303 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060928 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061127 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070522 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070723 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070808 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070821 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4009809 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100914 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100914 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110914 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110914 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120914 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130914 Year of fee payment: 6 |
|
EXPY | Cancellation because of completion of term |