JP2004318315A - データ通信装置 - Google Patents
データ通信装置 Download PDFInfo
- Publication number
- JP2004318315A JP2004318315A JP2003108968A JP2003108968A JP2004318315A JP 2004318315 A JP2004318315 A JP 2004318315A JP 2003108968 A JP2003108968 A JP 2003108968A JP 2003108968 A JP2003108968 A JP 2003108968A JP 2004318315 A JP2004318315 A JP 2004318315A
- Authority
- JP
- Japan
- Prior art keywords
- data
- module
- driver
- transmitted
- priority
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
【課題】手続き型I/Oデータ処理において、全てのデータを平等に扱って定周期処理でI/Oモジュールに送信していたが、重要なデータを高速で送信するために定周期処理の周期を短くすると、制御ステーションの負荷を増大させてしまうという課題を解決する。
【解決手段】I/Oドライバが送信データを一時保管するデータ格納領域を、優先度の高いデータを保管する高速用とその他のデータを保管する標準速用の2つに分けて、高速用データ格納領域のデータ送信周期を短くするようにした。制御ステーションの負荷を増大させることなく、重要なデータを高速で送信できる。
【選択図】 図1
【解決手段】I/Oドライバが送信データを一時保管するデータ格納領域を、優先度の高いデータを保管する高速用とその他のデータを保管する標準速用の2つに分けて、高速用データ格納領域のデータ送信周期を短くするようにした。制御ステーションの負荷を増大させることなく、重要なデータを高速で送信できる。
【選択図】 図1
Description
【発明の属する技術分野】
この発明は、I/Oバスを介して通信を行う制御ステーションとI/Oモジュール間のデータ通信装置において、大量のデータをやりとりするために使用される手続き型データ処理の高速化に関するものである。
【0001】
【従来の技術】
制御ステーションからI/Oモジュールにデータを送信する手法には、ウエイト型I/Oデータ処理と手続き型I/Oデータ処理の2種類がある。ウエイト型I/Oデータ処理は上位タスクがI/Oドライバにデータの出力を要求し、レスポンスがあるまで処理を中断するものである。上位アプリケーションと同期したデータが取得できる反面、データ量を増やすとそれだけ上位アプリケーションが動作できない時間が増え、システム全体の負荷が増大する欠点がある。従って、大量のデータやりとりには手続き型I/Oデータ処理が用いられる。
【0002】
図3に、手続き型I/O要求によるデータ送信の構成とデータの流れを示す。
制御ステーション3内の上位AP(アプリケーション)タスク31はカーネル32にドライバコールを発して、I/Oドライバ33に対してデータ送信を行う。
I/Oドライバ33は自らが管理しているデータ格納領域34に空き領域を探して、送られてきたデータを格納する。
【0003】
この格納されたデータは、I/Oドライバ33が起動する定周期のタイミングでI/Oモジュール4に送信される。また、I/Oドライバ33は一定の周期でI/Oモジュール4からデータを受信する。このデータはカーネル32を経由して、I/Oメールによって上位APタスク31に送信される。
【0004】
図4に、手続き型I/O要求における、上位APタスクからの送信データに対する受付処理と定周期処理の流れのシーケンスを示す。なお、図3と同じ要素には同一符号を付し、説明を省略する。また、I/OモジュールはIOMと略記されている。
【0005】
上位APタスク31はカーネル32を経由してI/Oドライバ33にデータを送信し、I/Oドライバ33は送信されたデータをバッファに格納するとドライバ受付完了通知を上位APタスク31に送信する。従って、上位APタスク31はデータを送信するとすぐに次の処理を行うことができるので、大きなデータを送信することが可能になる。そのため、IOM4のコンフィギュレーション情報や、フィールドバスではIOM4の先に繋がるフィールド機器に対するデータ送信に利用されている。
【0006】
それに対して、IOM4は処理できるデータ量に限界があるので、上流側にあるI/Oドライバ33は一定の周期でIOM4の状態を監視し、送信可能であればデータを分割して、処理できるだけのデータ量を送信する。そのため、カーネル32は一定の周期でI/Oドライバ33を呼び出し、I/Oドライバ33はこの呼び出しに応じてIOM4にデータを分割して送信する。全てのデータがIOM4に送信されると、データ送信完了通知が上位APタスク31に送られる。
【0007】
図5に、I/Oドライバ33におけるデータ送信の定周期処理のフローを示す。I/Oドライバ33は複数のデータバッファを管理している。定周期処理ではこれら複数のバッファを順番にチェックし、未送信のデータをIOM4に送信する。
【0008】
最初にstep1でバッファの番号mを1に初期設定する。そして、step2でデータバッファmに要求されたデータがあるかどうかを調べて、なければstep8に進む。要求されたデータがあればstep3に進んで送信先IOMの情報を取得し、step4で送信先IOMへ送信可能かどうかを調べる。
【0009】
送信可能でなければstep8に進み、送信可能であればstep5でデータバッファmからデータを切り出して通信フレームを作成する。そして、step6で全てのデータの送信が完了したかを調べる。完了していなければstep8に進み、完了していれば送信完了通知を上位APタスク31に送信してstep8に進む。
【0010】
step8で全てのデータバッファの処理が完了しているかを調べて、完了していれば次の定周期処理を開始する。完了していなければmをインクリメントしてstep2に戻り、次のデータバッファの処理を行う。
【0011】
手続き型I/O要求では大量のデータを扱うので、これらのデータを効率的に処理しなければならない。特許文献1には、機能ブロックの内部パラメータを1つの構造体データとしてまとめて返信することにより、効率的にデータを送信する発明が記載されている。また、特許文献2には、I/Oドライバが複数のアプリケーションからの接続情報要求と、回線の使用状態情報を管理する手段を有したデータ通信装置の発明が記載されている。
【特許文献1】
特開2001−313659号公報
【特許文献2】
特開2002−232439号公報
【0012】
【発明が解決しようとする課題】
しかしながら、このようなデータ通信装置には次のような課題があった。
【0013】
近年、I/Oモジュールのインテリジェンスが向上し、また複数の機器と接続されることが多くなったために、制御ステーションとI/Oモジュールとの間で大量のデータを高速で送信しなければならないことが増えてきている。データの送信速度を高速化するためには定周期処理の周期を短くしなければならないが、短くすると制御ステーションの負荷が増大してしまうという課題があった。
【0014】
また、制御ステーションと接続されるI/Oモジュールの枚数が増加したり、高速にデータのやりとりをしなければならないI/Oモジュールがあると定周期処理の周期を短くしなければならず、やはり制御ステーションの負荷増大を招いてしまうという課題もあった。
【0015】
さらに、将来高速でデータのやりとりができる手法が確立されても、バッファに格納されたデータを機械的に送信する現行の方式ではその能力を有効に活用することができないという課題もあった。
【0016】
従って本発明の目的は、送信するデータに優先度を設け、高速で送信しなければならないデータのみ短い周期で送信することにより、制御ステーションの負荷を増大させることなく必要なデータを高速で送信することができるデータ通信装置を提供することにある。
【0017】
【課題を解決するための手段】
このような課題を解決するために、本発明のうち請求項1記載の発明は、アプリケーションおよびI/Oドライバを備えた制御ステーションと、この制御ステーションと通信バスで接続されるI/Oモジュールとを有し、前記アプリケーションは前記I/Oモジュールに送信すべきデータを前記I/Oドライバに出力し、前記I/Oドライバは入力した前記送信すべきデータを分割して、所定の周期で前記分割したデータを順次前記I/Oモジュールに送信するデータ通信装置において、前記I/Oドライバは前記送信すべきデータを前記I/Oモジュールに送信する際に、優先度の高いデータの送信周期を短くし、優先度の低いデータの送信周期を長くするようにしたものである。優先度の高いデータを高速で送信できる。
【0018】
請求項2記載の発明は、請求項1記載の発明において、前記制御ステーションは前記アプリケーションが出力する送信すべきデータを格納する少なくとも2つのデータ格納領域を有し、前記I/Oドライバは前記送信すべきデータの優先度によって前記少なくとも2つのデータ格納領域のうちどのデータ格納領域に格納するかを選択して格納し、優先度が高いデータが格納された前記データ格納領域のデータの送信周期を短くし、優先度が低いデータが格納された前記データ格納領域のデータの送信周期を長くして、前記I/Oモジュールに送信するようにしたものである。優先度の高いデータを高速で送信できる。
【0019】
請求項3記載の発明は、請求項2記載の発明において、前記アプリケーションは、前記送信すべきデータを前記少なくとも2つのデータ格納領域のうち、どのデータ格納領域に格納するかを指定するようにしたものである。効率的な処理ができる。
【0020】
請求項4記載の発明は、請求項2または請求項3記載の発明において、前記データ格納領域の数を2とするようにしたものである。構成が簡単になる。
【0021】
請求項5記載の発明は、アプリケーションおよびI/Oドライバを備えた制御ステーションと、この制御ステーションと通信バスで接続される複数のI/Oモジュールとを有し、前記I/Oドライバは所定の周期で前記I/Oモジュール内部のレジスタを順次参照し、このI/Oモジュールのデータが更新されていればそのデータを読み出す構成のデータ通信装置において、前記複数のI/Oモジュールに優先度を設定し、優先度の高いI/Oモジュールの内部レジスタの参照周期を短くし、優先度の低いI/Oモジュールの内部レジスタの参照周期を長くするようにしたものである。更新周期に応じて読み出せるため、効率がよくなる。
【発明の実施の形態】
以下に、図に基づいて本発明を詳細に説明する。
図1は本発明に係るデータ通信装置の一実施例を示す構成図である。図1において、1は制御ステーション、2はI/Oモジュールである。制御ステーション1は上位APタスク11,カーネル12,I/Oドライバ13,高速データ格納領域14および標準速データ格納領域15で構成される。
【0022】
上位APタスク11はカーネル12にドライバコールを発して、I/Oドライバ13に対してデータ送信を行う。この際、高速データ格納領域14に格納するか、標準速データ格納領域15に格納するかを指定する。I/Oドライバ13は自らが管理している高速データ格納領域14と標準速データ格納領域15のうち、指定されたデータ格納領域に空き領域を探して、送られてきたデータを格納する。
【0023】
この格納されたデータは、I/Oドライバ13が起動する定周期のタイミングでI/Oモジュール2に送信される。また、I/Oドライバ13は一定の周期でI/Oモジュール2からデータを受信する。このデータはカーネル12を経由して、I/Oメールによって上位APタスク11に送信される。
【0024】
このときに、I/Oドライバ13が起動する定周期のタイミングを高速と標準速の2種類とする。例えば、高速の定周期を100mS、標準速の定周期を500mSとする。高速の定周期が起動されたときは、I/Oドライバ13は高速データ格納領域14に格納されているデータのみを送信し、標準速の定周期が起動されたときは標準速データ格納領域15に格納されたデータのみを送信するようにする。このようにすることにより、高速データ格納領域14に格納されたデータは、標準速データ格納領域15に格納されたデータの5倍の早さで送信できる。
【0025】
図2に上位APタスクからの送信データに対する受付処理と定周期処理の流れのシーケンスを示す。なお、図1と同じ要素には同一符号を付し、説明を省略する。また、図4と同様にI/OモジュールはIOMと略記されている。
【0026】
上位APタスク11はカーネル12を経由してI/Oドライバ13にデータを送信する。前述したように、このときに送信データをどのデータ格納領域に格納するかを指定する。I/Oドライバ13は送信されたデータを指定されたデータ格納領域に格納するとドライバ受付完了通知を上位APタスク11に送信する。
従って、上位APタスク31はデータを送信するとすぐに次の処理を行うことができる。
【0027】
カーネル12は一定の周期でI/Oドライバ13に定周期呼び出しを行う。このとき、高速定周期呼び出しと標準速定周期呼び出しの2種類の呼び出しを行う。例えば、高速定周期呼び出しは100mS周期で、標準速定周期呼び出しは500mS周期で行う。
【0028】
I/Oドライバ13は、カーネル12から高速定周期呼び出しを受け取ったときは高速データ格納領域14に格納されているデータを分割してIOM2に送信し、標準速定周期呼び出しを受け取ったときは標準速データ格納領域15に格納されたデータを分割してIOM2に送信する。これにより、高速データ格納領域14に格納されたデータは、標準速データ格納領域15に格納されたデータの5倍の早さで送信することができる。
【0029】
I/Oドライバ13におけるデータ送信の定周期処理のフローは図5とほぼ同じなので説明を書略する。ただ、step5で高速定周期呼び出しか標準速定周期呼び出しかによって、高速データ格納領域14か標準速データ格納領域15のいずれかを選択するようにすればよい。
【0030】
I/Oドライバ13がI/Oモジュール2からデータを読み出す際には、I/Oドライバ13はI/Oモジュール2内のレジスタを順番に参照して、データが更新されていればそのデータを読み出す処理を定周期で繰り返す。すなわち、全てのI/Oモジュール2に対して優先度をつけないで、平等に読み出している。
【0031】
近年、I/Oモジュール2の性能が向上し、多種類のデータを扱うようになっている。これらのデータの中にはデータ処理に時間がかかるために更新周期が長いデータも存在する。すなわち、I/Oモジュール2の中にはデータの更新周期が比較的短いものもあるが、データ処理に時間がかかるために更新周期が長くなってしまうI/Oモジュールも存在する。
【0032】
これらのI/Oモジュール2内のデータを平等に読み出すと、更新周期が長いI/Oモジュール2では無駄にその内部レジスタを参照することになる。そのため、複数あるI/Oモジュール2に優先度を設け、データの更新周期が短いI/Oモジュール2のデータ読み出し頻度を高くするようにすればよい。
【0033】
【発明の効果】
以上説明したことから明らかなように、本発明によれば次の効果が期待できる。
請求項1記載の発明によれば、アプリケーションがI/Oモジュールに送信すべきデータを前記I/Oドライバに出力し、前記I/Oドライバは入力した前記送信すべきデータを分割して所定の周期で前記分割したデータを順次前記I/Oモジュールに送信する、いわゆる手続き型のデータ通信装置において、前記I/Oドライバは前記送信すべきデータを前記I/Oモジュールに送信する際に、優先度の高いデータの送信周期を短くし、優先度の低いデータの送信周期を長くするようにした。また、請求項2記載の発明によれば、2つ以上のデータ格納領域を具備して、データの優先度によって格納領域を選択して格納し、優先度の高いデータが格納されたデータ格納領域のデータを短い周期で送信するようにした。
さらに、請求項3記載の発明では、どのデータ格納領域に格納するかをアプリケーションが指定するようにし、請求項4記載の発明ではデータ格納領域の数を2とした。
【0034】
制御ステーションの負荷を増大させることなく、優先度の高いデータを高速でI/Oモジュールに送信することができるという効果がある。特に、フィールド機器へのデータ設定など定常的に送信しなければならないデータでは、制御ステーションとフィールド機器間の更新遅れを小さくできるという効果もある。
【0035】
また、データの優先度によってデータ格納領域を分けることにより、簡単な構成で優先度によって送信周期を変えることができるという効果もある。通常は高速と標準速の2つに分ければ十分なので、データ格納領域の数を2とすることにより、構成を簡単にできる。さらに、データの優先度はアプリケーションが一番よく知っているので、アプリケーションが格納するデータ領域を選択することにより、効率的な処理ができるという効果もある。
【0036】
請求項5記載の発明によれば、アプリケーションおよびI/Oドライバを備えた制御ステーションと、この制御ステーションと通信バスで接続される複数のI/Oモジュールとを有し、前記I/Oドライバは所定の周期で前記I/Oモジュール内部のレジスタを順次参照し、このI/Oモジュールのデータが更新されていればそのデータを読み出す構成のデータ通信装置において、前記複数のI/Oモジュールに優先度を設定し、優先度の高いI/Oモジュールの内部レジスタの参照周期を短くし、優先度の低いI/Oモジュールの内部レジスタの参照周期を長くするようにした。
【0037】
I/Oモジュールのデータ更新周期に応じた周期でデータを読み出すことができるので、高速かつ効率的にデータを読み出すことができるという効果がある。
【図面の簡単な説明】
【図1】本発明の一実施例を示す構成図である。
【図2】本発明の一実施例の処理の流れを示すシーケンス図である。
【図3】従来のデータ通信装置の構成図である。
【図4】従来のデータ通信装置の処理の流れを示すシーケンス図である。
【図5】定周期の書き込み処理のフローチャートである。
【符号の説明】
1 制御ステーション
11 上位APタスク
12 カーネル
13 I/Oドライバ
14 高速データ格納領域
15 標準速データ格納領域
2 I/Oモジュール
この発明は、I/Oバスを介して通信を行う制御ステーションとI/Oモジュール間のデータ通信装置において、大量のデータをやりとりするために使用される手続き型データ処理の高速化に関するものである。
【0001】
【従来の技術】
制御ステーションからI/Oモジュールにデータを送信する手法には、ウエイト型I/Oデータ処理と手続き型I/Oデータ処理の2種類がある。ウエイト型I/Oデータ処理は上位タスクがI/Oドライバにデータの出力を要求し、レスポンスがあるまで処理を中断するものである。上位アプリケーションと同期したデータが取得できる反面、データ量を増やすとそれだけ上位アプリケーションが動作できない時間が増え、システム全体の負荷が増大する欠点がある。従って、大量のデータやりとりには手続き型I/Oデータ処理が用いられる。
【0002】
図3に、手続き型I/O要求によるデータ送信の構成とデータの流れを示す。
制御ステーション3内の上位AP(アプリケーション)タスク31はカーネル32にドライバコールを発して、I/Oドライバ33に対してデータ送信を行う。
I/Oドライバ33は自らが管理しているデータ格納領域34に空き領域を探して、送られてきたデータを格納する。
【0003】
この格納されたデータは、I/Oドライバ33が起動する定周期のタイミングでI/Oモジュール4に送信される。また、I/Oドライバ33は一定の周期でI/Oモジュール4からデータを受信する。このデータはカーネル32を経由して、I/Oメールによって上位APタスク31に送信される。
【0004】
図4に、手続き型I/O要求における、上位APタスクからの送信データに対する受付処理と定周期処理の流れのシーケンスを示す。なお、図3と同じ要素には同一符号を付し、説明を省略する。また、I/OモジュールはIOMと略記されている。
【0005】
上位APタスク31はカーネル32を経由してI/Oドライバ33にデータを送信し、I/Oドライバ33は送信されたデータをバッファに格納するとドライバ受付完了通知を上位APタスク31に送信する。従って、上位APタスク31はデータを送信するとすぐに次の処理を行うことができるので、大きなデータを送信することが可能になる。そのため、IOM4のコンフィギュレーション情報や、フィールドバスではIOM4の先に繋がるフィールド機器に対するデータ送信に利用されている。
【0006】
それに対して、IOM4は処理できるデータ量に限界があるので、上流側にあるI/Oドライバ33は一定の周期でIOM4の状態を監視し、送信可能であればデータを分割して、処理できるだけのデータ量を送信する。そのため、カーネル32は一定の周期でI/Oドライバ33を呼び出し、I/Oドライバ33はこの呼び出しに応じてIOM4にデータを分割して送信する。全てのデータがIOM4に送信されると、データ送信完了通知が上位APタスク31に送られる。
【0007】
図5に、I/Oドライバ33におけるデータ送信の定周期処理のフローを示す。I/Oドライバ33は複数のデータバッファを管理している。定周期処理ではこれら複数のバッファを順番にチェックし、未送信のデータをIOM4に送信する。
【0008】
最初にstep1でバッファの番号mを1に初期設定する。そして、step2でデータバッファmに要求されたデータがあるかどうかを調べて、なければstep8に進む。要求されたデータがあればstep3に進んで送信先IOMの情報を取得し、step4で送信先IOMへ送信可能かどうかを調べる。
【0009】
送信可能でなければstep8に進み、送信可能であればstep5でデータバッファmからデータを切り出して通信フレームを作成する。そして、step6で全てのデータの送信が完了したかを調べる。完了していなければstep8に進み、完了していれば送信完了通知を上位APタスク31に送信してstep8に進む。
【0010】
step8で全てのデータバッファの処理が完了しているかを調べて、完了していれば次の定周期処理を開始する。完了していなければmをインクリメントしてstep2に戻り、次のデータバッファの処理を行う。
【0011】
手続き型I/O要求では大量のデータを扱うので、これらのデータを効率的に処理しなければならない。特許文献1には、機能ブロックの内部パラメータを1つの構造体データとしてまとめて返信することにより、効率的にデータを送信する発明が記載されている。また、特許文献2には、I/Oドライバが複数のアプリケーションからの接続情報要求と、回線の使用状態情報を管理する手段を有したデータ通信装置の発明が記載されている。
【特許文献1】
特開2001−313659号公報
【特許文献2】
特開2002−232439号公報
【0012】
【発明が解決しようとする課題】
しかしながら、このようなデータ通信装置には次のような課題があった。
【0013】
近年、I/Oモジュールのインテリジェンスが向上し、また複数の機器と接続されることが多くなったために、制御ステーションとI/Oモジュールとの間で大量のデータを高速で送信しなければならないことが増えてきている。データの送信速度を高速化するためには定周期処理の周期を短くしなければならないが、短くすると制御ステーションの負荷が増大してしまうという課題があった。
【0014】
また、制御ステーションと接続されるI/Oモジュールの枚数が増加したり、高速にデータのやりとりをしなければならないI/Oモジュールがあると定周期処理の周期を短くしなければならず、やはり制御ステーションの負荷増大を招いてしまうという課題もあった。
【0015】
さらに、将来高速でデータのやりとりができる手法が確立されても、バッファに格納されたデータを機械的に送信する現行の方式ではその能力を有効に活用することができないという課題もあった。
【0016】
従って本発明の目的は、送信するデータに優先度を設け、高速で送信しなければならないデータのみ短い周期で送信することにより、制御ステーションの負荷を増大させることなく必要なデータを高速で送信することができるデータ通信装置を提供することにある。
【0017】
【課題を解決するための手段】
このような課題を解決するために、本発明のうち請求項1記載の発明は、アプリケーションおよびI/Oドライバを備えた制御ステーションと、この制御ステーションと通信バスで接続されるI/Oモジュールとを有し、前記アプリケーションは前記I/Oモジュールに送信すべきデータを前記I/Oドライバに出力し、前記I/Oドライバは入力した前記送信すべきデータを分割して、所定の周期で前記分割したデータを順次前記I/Oモジュールに送信するデータ通信装置において、前記I/Oドライバは前記送信すべきデータを前記I/Oモジュールに送信する際に、優先度の高いデータの送信周期を短くし、優先度の低いデータの送信周期を長くするようにしたものである。優先度の高いデータを高速で送信できる。
【0018】
請求項2記載の発明は、請求項1記載の発明において、前記制御ステーションは前記アプリケーションが出力する送信すべきデータを格納する少なくとも2つのデータ格納領域を有し、前記I/Oドライバは前記送信すべきデータの優先度によって前記少なくとも2つのデータ格納領域のうちどのデータ格納領域に格納するかを選択して格納し、優先度が高いデータが格納された前記データ格納領域のデータの送信周期を短くし、優先度が低いデータが格納された前記データ格納領域のデータの送信周期を長くして、前記I/Oモジュールに送信するようにしたものである。優先度の高いデータを高速で送信できる。
【0019】
請求項3記載の発明は、請求項2記載の発明において、前記アプリケーションは、前記送信すべきデータを前記少なくとも2つのデータ格納領域のうち、どのデータ格納領域に格納するかを指定するようにしたものである。効率的な処理ができる。
【0020】
請求項4記載の発明は、請求項2または請求項3記載の発明において、前記データ格納領域の数を2とするようにしたものである。構成が簡単になる。
【0021】
請求項5記載の発明は、アプリケーションおよびI/Oドライバを備えた制御ステーションと、この制御ステーションと通信バスで接続される複数のI/Oモジュールとを有し、前記I/Oドライバは所定の周期で前記I/Oモジュール内部のレジスタを順次参照し、このI/Oモジュールのデータが更新されていればそのデータを読み出す構成のデータ通信装置において、前記複数のI/Oモジュールに優先度を設定し、優先度の高いI/Oモジュールの内部レジスタの参照周期を短くし、優先度の低いI/Oモジュールの内部レジスタの参照周期を長くするようにしたものである。更新周期に応じて読み出せるため、効率がよくなる。
【発明の実施の形態】
以下に、図に基づいて本発明を詳細に説明する。
図1は本発明に係るデータ通信装置の一実施例を示す構成図である。図1において、1は制御ステーション、2はI/Oモジュールである。制御ステーション1は上位APタスク11,カーネル12,I/Oドライバ13,高速データ格納領域14および標準速データ格納領域15で構成される。
【0022】
上位APタスク11はカーネル12にドライバコールを発して、I/Oドライバ13に対してデータ送信を行う。この際、高速データ格納領域14に格納するか、標準速データ格納領域15に格納するかを指定する。I/Oドライバ13は自らが管理している高速データ格納領域14と標準速データ格納領域15のうち、指定されたデータ格納領域に空き領域を探して、送られてきたデータを格納する。
【0023】
この格納されたデータは、I/Oドライバ13が起動する定周期のタイミングでI/Oモジュール2に送信される。また、I/Oドライバ13は一定の周期でI/Oモジュール2からデータを受信する。このデータはカーネル12を経由して、I/Oメールによって上位APタスク11に送信される。
【0024】
このときに、I/Oドライバ13が起動する定周期のタイミングを高速と標準速の2種類とする。例えば、高速の定周期を100mS、標準速の定周期を500mSとする。高速の定周期が起動されたときは、I/Oドライバ13は高速データ格納領域14に格納されているデータのみを送信し、標準速の定周期が起動されたときは標準速データ格納領域15に格納されたデータのみを送信するようにする。このようにすることにより、高速データ格納領域14に格納されたデータは、標準速データ格納領域15に格納されたデータの5倍の早さで送信できる。
【0025】
図2に上位APタスクからの送信データに対する受付処理と定周期処理の流れのシーケンスを示す。なお、図1と同じ要素には同一符号を付し、説明を省略する。また、図4と同様にI/OモジュールはIOMと略記されている。
【0026】
上位APタスク11はカーネル12を経由してI/Oドライバ13にデータを送信する。前述したように、このときに送信データをどのデータ格納領域に格納するかを指定する。I/Oドライバ13は送信されたデータを指定されたデータ格納領域に格納するとドライバ受付完了通知を上位APタスク11に送信する。
従って、上位APタスク31はデータを送信するとすぐに次の処理を行うことができる。
【0027】
カーネル12は一定の周期でI/Oドライバ13に定周期呼び出しを行う。このとき、高速定周期呼び出しと標準速定周期呼び出しの2種類の呼び出しを行う。例えば、高速定周期呼び出しは100mS周期で、標準速定周期呼び出しは500mS周期で行う。
【0028】
I/Oドライバ13は、カーネル12から高速定周期呼び出しを受け取ったときは高速データ格納領域14に格納されているデータを分割してIOM2に送信し、標準速定周期呼び出しを受け取ったときは標準速データ格納領域15に格納されたデータを分割してIOM2に送信する。これにより、高速データ格納領域14に格納されたデータは、標準速データ格納領域15に格納されたデータの5倍の早さで送信することができる。
【0029】
I/Oドライバ13におけるデータ送信の定周期処理のフローは図5とほぼ同じなので説明を書略する。ただ、step5で高速定周期呼び出しか標準速定周期呼び出しかによって、高速データ格納領域14か標準速データ格納領域15のいずれかを選択するようにすればよい。
【0030】
I/Oドライバ13がI/Oモジュール2からデータを読み出す際には、I/Oドライバ13はI/Oモジュール2内のレジスタを順番に参照して、データが更新されていればそのデータを読み出す処理を定周期で繰り返す。すなわち、全てのI/Oモジュール2に対して優先度をつけないで、平等に読み出している。
【0031】
近年、I/Oモジュール2の性能が向上し、多種類のデータを扱うようになっている。これらのデータの中にはデータ処理に時間がかかるために更新周期が長いデータも存在する。すなわち、I/Oモジュール2の中にはデータの更新周期が比較的短いものもあるが、データ処理に時間がかかるために更新周期が長くなってしまうI/Oモジュールも存在する。
【0032】
これらのI/Oモジュール2内のデータを平等に読み出すと、更新周期が長いI/Oモジュール2では無駄にその内部レジスタを参照することになる。そのため、複数あるI/Oモジュール2に優先度を設け、データの更新周期が短いI/Oモジュール2のデータ読み出し頻度を高くするようにすればよい。
【0033】
【発明の効果】
以上説明したことから明らかなように、本発明によれば次の効果が期待できる。
請求項1記載の発明によれば、アプリケーションがI/Oモジュールに送信すべきデータを前記I/Oドライバに出力し、前記I/Oドライバは入力した前記送信すべきデータを分割して所定の周期で前記分割したデータを順次前記I/Oモジュールに送信する、いわゆる手続き型のデータ通信装置において、前記I/Oドライバは前記送信すべきデータを前記I/Oモジュールに送信する際に、優先度の高いデータの送信周期を短くし、優先度の低いデータの送信周期を長くするようにした。また、請求項2記載の発明によれば、2つ以上のデータ格納領域を具備して、データの優先度によって格納領域を選択して格納し、優先度の高いデータが格納されたデータ格納領域のデータを短い周期で送信するようにした。
さらに、請求項3記載の発明では、どのデータ格納領域に格納するかをアプリケーションが指定するようにし、請求項4記載の発明ではデータ格納領域の数を2とした。
【0034】
制御ステーションの負荷を増大させることなく、優先度の高いデータを高速でI/Oモジュールに送信することができるという効果がある。特に、フィールド機器へのデータ設定など定常的に送信しなければならないデータでは、制御ステーションとフィールド機器間の更新遅れを小さくできるという効果もある。
【0035】
また、データの優先度によってデータ格納領域を分けることにより、簡単な構成で優先度によって送信周期を変えることができるという効果もある。通常は高速と標準速の2つに分ければ十分なので、データ格納領域の数を2とすることにより、構成を簡単にできる。さらに、データの優先度はアプリケーションが一番よく知っているので、アプリケーションが格納するデータ領域を選択することにより、効率的な処理ができるという効果もある。
【0036】
請求項5記載の発明によれば、アプリケーションおよびI/Oドライバを備えた制御ステーションと、この制御ステーションと通信バスで接続される複数のI/Oモジュールとを有し、前記I/Oドライバは所定の周期で前記I/Oモジュール内部のレジスタを順次参照し、このI/Oモジュールのデータが更新されていればそのデータを読み出す構成のデータ通信装置において、前記複数のI/Oモジュールに優先度を設定し、優先度の高いI/Oモジュールの内部レジスタの参照周期を短くし、優先度の低いI/Oモジュールの内部レジスタの参照周期を長くするようにした。
【0037】
I/Oモジュールのデータ更新周期に応じた周期でデータを読み出すことができるので、高速かつ効率的にデータを読み出すことができるという効果がある。
【図面の簡単な説明】
【図1】本発明の一実施例を示す構成図である。
【図2】本発明の一実施例の処理の流れを示すシーケンス図である。
【図3】従来のデータ通信装置の構成図である。
【図4】従来のデータ通信装置の処理の流れを示すシーケンス図である。
【図5】定周期の書き込み処理のフローチャートである。
【符号の説明】
1 制御ステーション
11 上位APタスク
12 カーネル
13 I/Oドライバ
14 高速データ格納領域
15 標準速データ格納領域
2 I/Oモジュール
Claims (5)
- アプリケーションおよびI/Oドライバを備えた制御ステーションと、この制御ステーションと通信バスで接続されるI/Oモジュールとを有し、前記アプリケーションは前記I/Oモジュールに送信すべきデータを前記I/Oドライバに出力し、前記I/Oドライバは入力した前記送信すべきデータを分割して、所定の周期で前記分割したデータを順次前記I/Oモジュールに送信するデータ通信装置において、
前記I/Oドライバは前記送信すべきデータを前記I/Oモジュールに送信する際に、優先度の高いデータの送信周期を短くし、優先度の低いデータの送信周期を長くするようにしたことを特徴とするデータ通信装置。 - 前記制御ステーションは前記アプリケーションが出力する送信すべきデータを格納する少なくとも2つのデータ格納領域を有し、前記I/Oドライバは前記送信すべきデータの優先度によって前記少なくとも2つのデータ格納領域のうちどのデータ格納領域に格納するかを選択して格納し、優先度が高いデータが格納された前記データ格納領域のデータの送信周期を短くし、優先度が低いデータが格納された前記データ格納領域のデータの送信周期を長くして、前記I/Oモジュールに送信するようにしたことを特徴とする請求項1記載のデータ通信装置。
- 前記アプリケーションは、前記送信すべきデータを前記少なくとも2つのデータ格納領域のうち、どのデータ格納領域に格納するかを指定するようにしたことを特徴とする請求項2記載のデータ通信装置。
- 前記データ格納領域の数を2としたことを特徴とする請求項2または請求項3記載のデータ通信装置。
- アプリケーションおよびI/Oドライバを備えた制御ステーションと、この制御ステーションと通信バスで接続される複数のI/Oモジュールとを有し、前記I/Oドライバは所定の周期で前記I/Oモジュール内部レジスタを順次参照し、このI/Oモジュールのデータが更新されていればそのデータを読み出す構成のデータ通信装置において、
前記複数のI/Oモジュールに優先度を設定し、優先度の高いI/Oモジュールの前記内部レジスタの参照周期を短くし、優先度の低いI/Oモジュールの前記内部レジスタの参照周期を長くするようにしたことを特徴とするデータ通信装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003108968A JP2004318315A (ja) | 2003-04-14 | 2003-04-14 | データ通信装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003108968A JP2004318315A (ja) | 2003-04-14 | 2003-04-14 | データ通信装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004318315A true JP2004318315A (ja) | 2004-11-11 |
Family
ID=33470277
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003108968A Pending JP2004318315A (ja) | 2003-04-14 | 2003-04-14 | データ通信装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004318315A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006332949A (ja) * | 2005-05-25 | 2006-12-07 | Mitsubishi Electric Corp | 通信制御方法および通信制御装置 |
US8573485B2 (en) | 2006-04-05 | 2013-11-05 | Sony Corporation | Information processing apparatus and method and program for mediating applications |
JP2015064262A (ja) * | 2013-09-25 | 2015-04-09 | 横河電機株式会社 | 測定システムおよび測定方法 |
-
2003
- 2003-04-14 JP JP2003108968A patent/JP2004318315A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006332949A (ja) * | 2005-05-25 | 2006-12-07 | Mitsubishi Electric Corp | 通信制御方法および通信制御装置 |
US8573485B2 (en) | 2006-04-05 | 2013-11-05 | Sony Corporation | Information processing apparatus and method and program for mediating applications |
JP2015064262A (ja) * | 2013-09-25 | 2015-04-09 | 横河電機株式会社 | 測定システムおよび測定方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7526593B2 (en) | Packet combiner for a packetized bus with dynamic holdoff time | |
US7640374B2 (en) | Data transfer apparatus by direct memory access controller | |
TW200928769A (en) | Schedule and data caching for wireless transmission | |
CN112084136B (zh) | 队列缓存管理方法、系统、存储介质、计算机设备及应用 | |
EP1870817B1 (en) | Information processing device and information processing method | |
AU2003234641B2 (en) | Inter-chip processor control plane | |
CN112711550A (zh) | Dma自动配置模块和片上系统soc | |
EP2568388B1 (en) | Processor to message-based network interface using speculative techniques | |
GB2377138A (en) | Ring Bus Structure For System On Chip Integrated Circuits | |
US20080147906A1 (en) | DMA Transferring System, DMA Controller, and DMA Transferring Method | |
JP2004318315A (ja) | データ通信装置 | |
EP1780976A1 (en) | Methods and system to offload data processing tasks | |
JPH10228445A (ja) | リングバス入出力制御装置 | |
CN115955441A (zh) | 一种基于tsn队列的管理调度方法、装置 | |
CN109145397A (zh) | 一种支持并行流水访问的外存仲裁结构 | |
US20140281053A1 (en) | I/o device control system and method for controlling i/o device | |
JP2000022728A (ja) | ネットワーク装置 | |
JP4708901B2 (ja) | データ処理モジュール及びそのメッセージの送信準備方法 | |
US9336172B2 (en) | Parallel computer system, data transfer device, and method for controlling parallel computer system for performing arbitration | |
JPH09224066A (ja) | 通信プロトコル並列処理装置 | |
JP3115801B2 (ja) | 並列計算機システム | |
JP7435055B2 (ja) | 通信装置、通信装置の制御方法、および集積回路 | |
JP3230339B2 (ja) | 通信制御装置 | |
JP2002176464A (ja) | ネットワークインタフェース装置 | |
CN117331689A (zh) | 数据处理方法、网卡及计算设备 |