JP2005293333A - リアルタイム制御システム - Google Patents

リアルタイム制御システム Download PDF

Info

Publication number
JP2005293333A
JP2005293333A JP2004108735A JP2004108735A JP2005293333A JP 2005293333 A JP2005293333 A JP 2005293333A JP 2004108735 A JP2004108735 A JP 2004108735A JP 2004108735 A JP2004108735 A JP 2004108735A JP 2005293333 A JP2005293333 A JP 2005293333A
Authority
JP
Japan
Prior art keywords
real
host computer
control system
device controller
time control
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.)
Granted
Application number
JP2004108735A
Other languages
English (en)
Other versions
JP4418283B2 (ja
Inventor
Yuichi Hagino
祐一 萩野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi High Tech Corp
Original Assignee
Hitachi High Technologies Corp
Hitachi High Tech Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi High Technologies Corp, Hitachi High Tech Corp filed Critical Hitachi High Technologies Corp
Priority to JP2004108735A priority Critical patent/JP4418283B2/ja
Publication of JP2005293333A publication Critical patent/JP2005293333A/ja
Application granted granted Critical
Publication of JP4418283B2 publication Critical patent/JP4418283B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Programmable Controllers (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

システム全体としてリソースを有効活用し、開発から生産終了までの製品コストを削減できるリアルタイム制御システムを提供することにある。
【課題】
【解決手段】
ホストコンピュータ10と、フィールドデバイスDSの制御を行う複数のデバイスコントローラが接続され、フィールドデバイスDSをリアルタイムで制御する。ホストコンピュータ10は、デバイスコントローラ100への制御内容を、一定時間で処理可能なファンクションに分割して転送し、デバイスコントローラ100は、ホストコンピュータ10から転送されたファンクションに基づいて、フィールドデバイスDSをリアルタイムで制御する。デバイスコントローラ100は、それぞれ、共通な部品で構成される標準部110と、接続されるフィールドデバイスによって異なる構成を持つ拡張部150とから分割して構成され、標準部110と拡張部150とは、コネクタC10,C20を介してバス接続される。
【選択図】 図1


Description

本発明は、ホストコンピュータにより、複数のフィールドデバイスの制御を行う複数のデバイスコントローラをリアルタイムで制御するリアルタイム制御システムに係り、特に、部品改廃や装置構成の変更などにより、制御コントローラや、I/Oなどのデバイスを、頻繁に変更する必要のあるシステムに用いるに好適なリアルタイム制御システムに関する。
医療の分野で使われている自動分析装置や、成分分析や質量分析などの理化学機器などの装置においては、ユーザインタフェイスとなるパーソナルコンピュータ(ホストコンピュータ)と、フィールドデバイスの制御を行う制御コントローラとI/Oを制御するI/Oボードとからなるデバイスコントローラとによって、制御システムを構成する方法がよく用いられている。これは、パーソナルコンピュータでコマンドの発行や測定データの表示を行い、制御コントローラによりユーザの入力したコマンドを解してリアルタイム制御を行い、I/Oボードによりモータ,バルブ,センサなどのフィールドデバイスを制御するものである。
ここで、制御コントローラとI/Oボードは同一のラックに格納され、バスによって互いにデータのやり取りができるよう接続されている。このバスとしては、たとえばVME(IEEE1014標準の非同期バス)やコンパクトPCIバスなどが用いられ、ラック内に基板が複数挿入できるように配置された接続スロットを介して、制御コントローラと複数のI/Oボードをバス接続する形態の制御システムが広く用いられている。
このような制御システムは、例えば、特開2003−229760号公報等に、大規模装置に適用した場合のシステム概略が記載されている。
装置の制御においては、モータ,バルブ,センサといったフィールドデバイスをシステム設計時に作成したタイムチャートに従って手順どおりに動作させていく必要がある。これは、デバイスを動作する順序が異なってしまったり、必要な時間までにデバイスを動作できなければ、機構系が期待通りの動作をとらなかったり、測定性能が未達となる。よって、制御システムにおいては、上述のタイムチャートを実現できるよう、ある決まった最小時間間隔ごとに処理を実行するリアルタイム性が要求される。
特開2003−229760号公報
近年、パーソナルコンピュータの高速化/低価格化は年々劇的に進行しており、以前に比べて高速なCPU,容量の大きいメモリやハードディスクを搭載したモデルが安価に入手することができる。また、OSについても、RT−Linuxなど、以前はパーソナルコンピュータでは不得手とされてきたリアルタイム性に特化したものが開発されてきている。同様に制御に用いるマイクロプロセッサにおいても動作クロックの高速化が顕著に進行している。また、PCMCIAやCFカードなど、記憶媒体とのインタフェイスやUSB/LANといった通信インタフェイスなどの付帯機能が充実してきている。
一方、装置においては競合製品との競争力を強化するためにも、製品出荷までの開発費,生産コスト,メインテナンスやバージョンアップなどの出荷後のサポート費の削減が強く望まれている。これに対して従来技術によるリアルタイム制御システムのアーキテクチャを今後とも踏襲し続けてゆくとすると、以下の3点の問題が発生する。
第1は、マイクロプロセッサの付帯機能の充実化によりデバイスコントローラに機能が集中し、上位のパーソナルコンピュータにおいてはある程度までのリアルタイム性を許容するにもかかわらず、あまり使用されず機能分担のバランスの悪いシステムとなってしまうことである。すなわち、デバイスコントローラとパーソナルコンピュータにおいてリソースが重複するため、コスト高となる。
第2は、デバイスコントローラにおいては制御プログラムはオンボードのフラッシュメモリなどを利用し格納するのが一般的である。これに対してパーソナルコンピュータにおいても、ハードディスクやメモリカード、光学式ドライブなどを不揮発性のデータ保存手段をもっている。すなわちここにおいてもリソースの重複が発生している。また、フラッシュメモリの書き込みにおいては、書き込み用のパーソナルコンピュータから書きこみデータをダウンロードしてフラッシュメモリに書き込みを行う方法や、ロムライターを使用して書き込み用のパソコンからフラッシュメモリに書き込みを行う方法などが一般的である。このような書きこみ作業は非効率的であり、分散制御システムなど複数のデバイスコントローラを用いる場合は多数の不揮発性メモリに書き込みを行わなくてはならないため、特に、生産コスト高となる。
第3は、部品改廃の問題である。デバイスコントローラに使用される電子部品のうち、特にメモリは改廃のサイクルが短い。この理由は、揮発性メモリ/不揮発性メモリともにアプリケーションやユーザの要求する容量は年々増加の一途をたどっており、半導体メーカとしてもこの需要に応えるために日々、メモリの高速化大容量化に注力しているためである。一方、I/Oボードは改廃のサイクルが長いものである。デバイスコントローラとしては、この改廃の影響をできるだけ小さくしなくては、開発から生産終了までの製品ライフサイクルにおけるコスト増大となる。
本発明の目的は、システム全体としてリソースを有効活用し、開発から生産終了までの製品コストを削減できるリアルタイム制御システムを提供することにある。
(1)上記目的を達成するために、本発明は、ホストコンピュータと、このホストコンピュータに接続され、フィールドデバイスの制御を行う複数のデバイスコントローラとからなり、前記フィールドデバイスをリアルタイムで制御するリアルタイム制御システムにおいて、前記ホストコンピュータは、前記デバイスコントローラへの制御内容を、一定時間で処理可能なファンクションに分割して転送し、前記デバイスコントローラは、前記ホストコンピュータから転送されたファンクションに基づいて、前記フィールドデバイスをリアルタイムで制御するようにしたものである。
かかる構成により、システム全体としてリソースを有効活用し、開発から生産終了までの製品コストを削減し得るものとなる。
(2)上記(1)において、好ましくは、前記デバイスコントローラは、それぞれ、共通な部品で構成される標準部と、接続されるフィールドデバイスによって異なる構成を持つ拡張部とから分割して構成され、前記標準部と前記拡張部とは、コネクタを介してバス接続されるものである。
(3)上記(2)において、好ましくは、前記デバイスコントローラは、前記拡張部で保持している識別子を読み出し、前記ホストコンピュータに伝送し、前記ホストコンピュータは、前記デバイスコントローラから転送された識別子に基づいて、複数の前記デバイスコントローラを識別するようにしたものである。
(4)上記(1)において、好ましくは、前記デバイスコントローラは、前記ホストコンピュータから転送されたファンクションを格納する揮発性メモリを備えるようにしたものである。
(5)上記(1)において、好ましくは、前記ホストコンピュータは、前記デバイスコントローラに対し、前記ファンクションを一定周期で送付するようにしたものである。
(6)上記(5)において、好ましくは、前記ホストコンピュータは、USB(Universal Serial Bus)を用いて、前記デバイスコントローラに前記ファンクションを転送するようにしたものである。
(7)上記(1)において、好ましくは、前記デバイスコントローラは、前記ファンクションを実行した結果を、返値として前記ホストコンピュータに送信するようにしたものである。
(8)上記(1)において、好ましくは、前記ホストコンピュータ及び複数の前記デバイスコントローラは、ツリー型にネットワークにより接続されたものである。
本発明によれば、システム全体としてリソースを有効活用し、開発から生産終了までの製品コストを削減できる。
以下、図1〜図9を用いて、本発明の一実施形態によるリアルタイム制御システムの構成について説明する。
最初に、図1を用いて、本実施形態によるリアルタイム制御システムを適用した理化学装置の全体構成について説明する。
図1は、本発明の一実施形態によるリアルタイム制御システムを適用した理化学装置の全体構成を示す概略斜視図である。
理化学装置とは、医療の分野で使われている自動分析装置や、成分分析や質量分析などの理化学機器などの装置である。装置内には多数のI/Oを有し、計測,分析などの処理を行うための搬送制御や、センサやアクチュエータの制御が行われている。
ホストコンピュータ10は、例えば、パーソナルコンピュータを使用している。理化学装置の操作者は、装置20A,20Bに対する計測,分析などの処理開始を指示する。理化学装置が、例えば、高速液体クロマトグラフ装置の場合、装置400Aはポンプやオートサンプラーであり、装置400Bはカラムオーブンや検出器である。なお、ポンプ,オートサンプラー,カラムオーブン,検出器を、それぞれ独立した装置として構成することもできる。
ホストコンピュータ10と装置20A,20Bは、USB伝送線30Cによって接続されている。装置20A,20B側のインタフェイスとしては、USBハブ30Hを用いている。USB伝送線30Cは、USBハブ30Hによって分配され、ホストコンピュータ10は、装置20A,20Bのデバイスコントローラ100A,100Bに接続される。
デバイスコントローラ100A,100Bは、それぞれ、標準部110A,110Bと、拡張部150A,150Bとから構成される。デバイスコントローラ100A,100Bの詳細については、図4を用いて後述するが、標準部110A,110Bは、マイコンやメモリからなり、上述の制御コントローラの機能を有し、拡張部150A,150Bは、モータ,バルブ,センサなどのフィールドデバイスを制御する上述のI/Oボードの機能を有する。ホストコンピュータ10に接続されたUSB伝送線30Cは、USBハブ30Hによって分配され、デバイスコントローラ100A,100Bの標準部110A,110Bに接続される。デバイスコントローラ標準部110A,110Bは、コネクタを介して、拡張部150A,150Bと接続され、拡張部150A,150Bに内蔵されるDI/DOやモータドライバを介してモータやセンサなど複数のフィールドデバイスDA1,DA2,DA3,DB1,DB2を制御する。
拡張部150A,150Bに内蔵されている機能としては、フォトトランジスタや赤外線センサなど、出力値として1または0を取るものを接続するためのDIや、スイッチなど1または0の入力を必要とするデバイスを接続するためのDOなどが挙げられる。また、バルブや流量計などある程度の段階的な設定の必要なもので、インタフェイスとしてLONやDeviceNet、I2C等を持つフィールドデバイスを接続するためのフィールドネットワークインタフェイス、モータやアクチュエータといった、動作にある程度の電力が必要なものを接続するためのドライバなどを実装する場合もある。このように、拡張部150A,150Bは、装置20A,20Bに実装される位置や機能に従って異なる基板とすることができる。
一方、標準部110A,110Bは、マイコンやメモリからなり、標準部110Aと標準部110Bは、共通のハード構成となっている。そして、メモリ等が改廃された場合には、標準部110A,110Bのみを新たな基板として、拡張部150A,150Bについては、以前からの基板をそのまま使用することができる。標準部110Aと、標準部110Bとは、異なる制御内容となると、その制御内容については、ホストコンピュータ10から制御プログラムとしてそれぞれ個別にダウンロードすることにより、個別の制御内容を実行できる構成となっている。その詳細については、図8及び図9を用いて後述する。
ここで、図2を用いて、本実施形態によるリアルタイム制御システムに用いるUSB伝送路30Cのバストポロジーについて説明する。
図2(A),(B)は、本発明の一実施形態によるリアルタイム制御システムに用いるUSB伝送路30Cのバストポロジーの説明図である。
本実施形態では、ホストコンピュータ10と装置20A,20B内の通信手段として、USB伝送路30Cを使用しており、ここでUSBについて説明する。USBは、マウスやキーボード,外付けハードディスクや光学式ドライブ,あるいはプリンタやスキャナといった周辺機器とパーソナルコンピュータを接続するための汎用シリアルバスインタフェイスであり、業界標準として多くのパーソナルコンピュータにあらかじめ装備されている。
USBのバストポロジーは、図2(A)に示すように、唯一のホストコンピュータ10を頂点としたツリー構造となっており、ハブ30H1において分岐し、ハブ30H2やデバイス110A,110Bが接続され、ツリー型に接続される。ルートハブ12,ハブ30H1,30H2,30H3や、デバイス110A,110B,110C,110D,110Eの間のUSB伝送路長については、規格では遅延などの電気的仕様を満たせればよいことになっているが、一般的に最大5mほどとされている。また、ハブは5段までチェインすることができる。
また、図2(B)に示すように、ハブ30H1からスター型にデバイス110A,…,110E503を配置することもできる。これらのツリー型やスター型の接続により、配線の自由度を確保している。
次に、図3を用いて、本実施形態によるリアルタイム制御システムに用いるUSBデバイスの伝送線について説明する。
図3は、本発明の一実施形態によるリアルタイム制御システムに用いるUSBデバイスの伝送線伝送路の説明図である。
USBによるデータ転送は、D+信号線D10,D−信号線D12の対からなる差動信号線によって実現され、USBケーブルには他にも電源線D14,GND線D16が内蔵されており、合計4本の電線にて構成されている。
USBPHY(D)は、差動データレシーバD20と、データドライバD30とを備えている。ホスト側から送られてきた差動信号は、差動データレシーバD20にて受信され、逆にホスト側へデータを送信する場合にはデータドライバD30を用いて差動信号を生成する。また、ホスト側にデバイスが接続されたことを認識させるには、プルアップ抵抗D40を用いてD+信号線D10をプルアップし、これによりホストに通知することができる。なお、USBについての詳細技術資料としては、USB Implementers Forum,Inc.(www.usb.org)から発行されているUniversal Serial Bus Revision 2.0 Specificationなどがある。USBにおけるデータ転送は、1ms毎に周期的に行われる。一方、後述するように、本実施形態におけるリアルタイム制御システムにおいては、1ms毎に、この時間内で処理可能なファンクションを実行するようにしており、リアルタイム制御が可能となっている。
次に、図4を用いて、本実施形態によるリアルタイム制御システムに用いるデバイスコントローラ100の構成について説明する。
図4は、本発明の一実施形態によるリアルタイム制御システムに用いるデバイスコントローラの構成を示すブロック図である。なお、図1と同一符号は、同一部分を示している。
前述したように、デバイスコントローラ100A,100Bは、標準部110A,110Bは同じハード構成を有し、拡張部150A,150Bはそれぞれ異なるハード構成となっっている。図8で説明するデバイスコントローラ100は、デバイスコントローラ100A,100Bのいずれにも適用できるものである。
デバイスコントローラ100は、標準部110と、拡張部150とから構成されている。標準部110において、ホストコンピュータとの接続を行うUSBケーブル30Cは、USBPHY(D)に接続される。USBPHY(D)は、USBケーブル30Cによってデータ転送される差動信号の送受信を行う。USBプロトコル処理部112は、受信されたデータから、USBプロトコルに従った手順を生成する。受信したデータはシリアルデータであるのでシリアルパラレル変換回路114にて内部バスIBに出力可能となり、DMA転送を用いてキャッシュメモリ116に格納される。ここで、従来のデバイスコントローラでは、制御プログラムはオンボードのフラッシュメモリなどを利用し格納されているが、本実施形態では、制御プログラムは、ホストコンピュータ10からデータとして送信される構成となっている。
ここで、ホストコンピュータから送信されるデータは、装置の制御をある一定時間で処理可能なファンクションという単位である。ファンクションの詳細については、図9を用いて後述する。ホストコンピュータから送信されるデータ(ファンクション)は、一定期間内にCPU118で実行し、拡張部150に接続されたデバイスを制御する必要がある。このため、プログラムカウンタコントローラ120はCPU118の動作を制限し、ファンクションがキャッシュメモリ116へDMA転送が完了するとともに、プログラムカウンタ122をファンクションのプログラム先頭に設定する。以降、プログラムカウンタ122は順にインクリメントされ、プログラムに記述された動作をCPU118に実行させる。ファンクションに含まれる動作が終了するとプログラムカウンタ122はキャッシュメモリ116の無限ループが含まれる領域へジャンプする。この領域へプログラムカウンタ122が移行すると、比較器124により、無限ループ領域に達したことをプログラムカウンタコントローラ120へ通知することができる。リセット回路126は、CPU118の初期化時、CPU118をリセットする。
デバイスコントローラ100の拡張部150は、標準部110と、標準部コネクタC10及び拡張部コネクタC20とによって接続されている。コネクタC10,C20は、標準部110の内部バスIBを延長するものである。拡張部150には、DI152,DO154,フィールドネットワークインタフェイス156,モータコントローラ158,モータドライバ160などが内蔵されており、センサDB−S1,DB−S2,アクチュエータDB−A,スイッチDB−SW,バルブDB−V,流量計DB−FM,モータDB−Mなどのフィールドデバイスが接続されており、これらの制御を行う。アクチュエータDB−Aは、例えば、開位置と閉位置の2位置においてオンオフ(開閉)制御されるバルブなどである。バルブDB−Vは、バルブの開度が連続的に制御可能なバルブである。また、拡張部150には、基板識別子162が接続されており、内部バスIBを介して標準部110より読み出し、拡張部150の種別を判別することができる。読み出された基板識別子は、ホストコンピュータ10に伝送することで、ホストコンピュータ10は、複数のデバイスコントローラを識別することができる。
次に、図5を用いて、本実施形態によるリアルタイム制御システムに用いるデバイスコントローラ標準部と拡張部の接続コネクタの構成について説明する。
図5は、本発明の一実施形態によるリアルタイム制御システムに用いるデバイスコントローラ標準部と拡張部の接続コネクタの構成を示すブロック図である。なお、図4と同一符号は、同一部分を示している。
標準部コネクタC10と拡張部コネクタC20により、標準部110の内部バスIBと拡張部150の内部バスIBとは、電気的に接続される。ここで接続される信号線は、一般的なマイクロプロセッサのメモリバスと同様な構成となっており、アドレスバス,データバス,リードやライトを示すストローブ信号,チップセレクト信号,割込み信号,バスマスタとなっているCPUに対してバス使用を要求するDMA要求信号,DMA許可信号,そして拡張部の基板識別子を伝達するための、基板識別信号からなっている。これにより、標準部に接続されているキャッシュメモリなどと同様に、拡張部の機能にバスアクセスを行うことができる。
次に、図6を用いて、本実施形態によるリアルタイム制御システムに用いるデバイスコントローラの初期化処理について説明する。
図6は、本発明の一実施形態によるリアルタイム制御システムに用いるデバイスコントローラの初期化処理の内容を示すフローチャートである。図6において、図6(A)は、ホストコンピュータ10の初期化処理の内容を示し、図6(B)は、デバイスコントローラ100の初期化処理の内容を示している。
ステップs100において、ホストコンピュータ10の電源がONし、ステップs200において、デバイスコントローラ100の電源がONする。次に、ステップs105において、ホストコンピュータ10は、自己診断チェックなどのシステム初期化を行い、次に、ステップs110において、ディスクリプタセットアップを行う。同様にして、ステップs205において、デバイスコントローラ100は、自己診断チェックなどのシステム初期化を行い、次に、ステップs210において、ディスクリプタセットアップを行う。ディスクリプタセットアップは、USB通信の初期化で、ホストコンピュータ10とデバイスコントローラ100の間で通信を行うための初期設定などを行う。
次に、ステップs115において、ホストコンピュータ10は、デバイスコントローラ100に対して、CPU初期化プログラムを転送し、ステップs120において、Ack受信待ちとなる。
一方、ステップs215において、デバイスコントローラ100のプロトコル処理部112は、ホストコンピュータ10から転送されたCPU初期化プログラムをダウンロードする。CPU初期化プログラムとは、デバイスコントローラ100のCPU初期化を行うためのプログラムで、CPU118の内蔵レジスタの設定を行う。ダウンロードしたプログラムは、ステップs220において、シリアルパラレル変換回路114は、ダウンロードした初期化プログラムをパラレルデータに変換して、キャッシュメモリ116にDMA転送する。次に、ステップs225において、プログラムカウンタコントローラ120は、CPUリセットを解除し、0番地に格納されているCPU初期化プログラムを実行する。なお、電源オンとなった時点で、リセット回路126は、CPU118をリセットしている。
初期化が終了すると、ステップs230において、プログラムカウンタコントローラ120は、プログラムカウンタ122を「Loop」にセットする。
ここで、図7を用いて、本実施形態によるリアルタイム制御システムに用いるデバイスコントローラのキャッシュメモリ116の構成について説明する。
図7は、本発明の一実施形態によるリアルタイム制御システムに用いるデバイスコントローラのキャッシュメモリの構成を示すメモリマップである。
キャッシュメモリ118の内容は、ファンクションエリアM10と、ワークエリアM30と、無限ループM40とが含まれている。ファンクションエリアM10の最後には無限ループへのジャンプ命令M20が書き込まれており、これにより無限ループM40へとジャンプし、ファンクションM10の処理が完了となる。
図6のステップs230の処理により、プログラムカウンタ122が「Loop」に設定されると、比較器124は、「Loop」に設定されたことを、プログラムカウンタコントローラ120に通知する。これを元に、ステップs235において、USBプロトコル処理部112は、ホストコンピュータ10にAckを送信する。
ステップs120で説明したように、このとき、ホストコンピュータ10ではAck受信待ちとなっており、このAckを受信すると、ステップs125において、ホストコンピュータ10は、デバイスコントローラ100に対して、基板識別ファンクションを転送し、ステップs130において、Ack受信待ちとなる。
一方、ステップs240において、デバイスコントローラ100のプロトコル処理部112は、ホストコンピュータ10から転送された基板識別ファンクションをダウンロードする。基板識別ファンクションとは、デバイスコントローラの拡張部に実装されている基板識別子を読み込むためのものである。ダウンロードしたプログラムは、ステップs245において、シリアルパラレル変換回路114は、ダウンロードした初期化プログラムをパラレルデータに変換して、キャッシュメモリ116にDMA転送する。次に、ステップs250において、プログラムカウンタコントローラ120は、プログラムカウンタ122を「Start」にセットする。そして、ステップs255において、USBプロトコル処理部112は、ホストコンピュータ10にAckを返答する。
ステップs130で説明したように、このとき、ホストコンピュータ10ではAck受信待ちとなっており、Ackを受信すると、ステップs135において、返値アップロード要求を開始し、次に、ステップs140で返値アップロード待ちとなる。返値アップロード要求は、一定時間ごとに連続して送信され、デバイスコントローラ側で返値の準備ができていなければNACKを返信し、返値の準備ができれば返値とともにAck返答する。
デバイスコントローラ側では、基板識別ファンクションをCPU118にて実行し、終了するとプログラムカウンタ122は「Loop」状態となる。そして、ステップs260において、プログラムカウンタコントローラ120は、「Loop」状態となったことを判別し、「Loop」状態となると、ステップs265において、シリアルパラレル変換回路114は、基板識別信号をシリアル変換し、ステップs270において、返値をホストコンピュータ10にアップロードする。
ホストコンピュータ10は返値を受け取ると、ステップs145において、デバイスコントローラ100にAckを送信し、ステップs150において、初期化完了となる。デバイスコントローラ100は、ステップs275において、Ack受信待ちとなっており、Ackを受信すると、ステップs280において、初期化完了となる。初期化が完了すると、デバイスコントローラ100は、ファンクション受付状態となる。
次に、図8及び図9を用いて、本実施形態によるリアルタイム制御システムにおけるファンクションの実行処理の内容について説明する。
図8は、本発明の一実施形態によるリアルタイム制御システムにおけるファンクションの実行処理の内容を示すフローチャートであり、図9は、本発明の一実施形態によるリアルタイム制御システムで用いられるファンクションの説明図である。図8において、図8(A)は、ホストコンピュータ10のファンクション転送処理の内容を示し、図8(B)は、デバイスコントローラ100のファンクション実行処理の内容を示している。
ファンクション実行には、ステップs160において、ホストコンピュータ10は、デバイスコントローラ100に対して、ファンクションを転送し、ステップs165において、Ack受信待ちとなる。
一方、ステップs300において、デバイスコントローラ100のプロトコル処理部112は、ホストコンピュータ10から転送されたファンクションをダウンロードする。
ここで、図9を用いて、ファンクションの内容について説明する。本実施形態では、装置の制御をある一定時間で処理可能なファンクションに分割し、これをホストコンピュータ10からデバイスコントローラ100に送付することにより、システム全体としてリアルタイム性をもった制御システムを実現するようにしている。ここで、一定時間とは、例えば、1msである。リアルタイム制御を実行するためには、1ms程度で処理を完了する必要がある。一方、USBのデータ転送は、1ms周期で行われるため、ファンクションの実行時間を1msとすると、このデータ転送周期ともマッチングがとれる。
ホストコンピュータ側でリアルタイム制御可能な最小時間に収まる処理として、図9に示すように、初期化処理F10,バルブ開放処理7F20,アクチュエータ起動処理F30などがあり、これら一つ一つがファンクションとなる。ファンクションの処理内容としては、さらに時間の短いリアルタイム性が必要なI/O制御などが含まれ、デバイスコントローラ100で実行される。
例えば、バルブ開放処理F20をダウンロードしたデバイスコントローラ100は、処理f21において、流量計測定値をリードし、処理f22において、リードされた流量計測定値が正常値であるか否かを判断する。正常値でない場合には、処理f23において、返値=2として、終了する。
正常値の場合には、処理f24において、次のDOライト(例えば、バルブ開放)処理を実行する。そして、処理f25において、DIリード(バルブ開放確認)処理を実行する。処理f26では、リードされたDIリード値が正常値か否かを判断する。正常値でない場合には、処理f27において、返値=3として、終了する。正常値の場合には、返値=1として、終了する。
これらの返値(=1,2,3)は、ホストコンピュータ10に送信され、ファンクションF20の実行結果がホストコンピュータ10に送信される。また、ADC(Analog Digital Converter)など、測定結果がある桁数の数値を取る場合などは、この値が返値としてホストコンピュータに送信される。
ファンクションを作成するにあたっては、装置のシステム設計段階において、ホストコンピュータにてリアルタイム制御可能な最小時間を1ファンクションタイムとし、これを基準として装置の処理を分割してゆく必要がある。なお、1ファンクションタイムを超える処理がある場合は動作開始と動作終了を二つのファンクションに分けるなどしてホストコンピュータにて実行管理を行う。
再び、図8において、デバイスコントローラ100は、s300の処理によりファンクションをダウンロードすると、ダウンロードしたファンクションは、ステップs310において、シリアルパラレル変換回路114は、ダウンロードしたファンクションをパラレルデータに変換して、キャッシュメモリ116にDMA転送する。次に、ステップs315において、プログラムカウンタコントローラ120は、プログラムカウンタ122を「Start」にセットする。そして、ステップs320において、USBプロトコル処理部112は、ホストコンピュータ10にAckを返答する。
ステップs165で説明したように、このとき、ホストコンピュータ10ではAck受信待ちとなっており、Ackを受信すると、ステップs170において、返値アップロード要求を開始し、次に、ステップs175で返値アップロード待ちとなる。返値アップロード要求は、一定時間ごとに連続して送信され、デバイスコントローラ側で返値の準備ができていなければNACKを返信し、返値の準備ができれば返値とともにAck返答する。
デバイスコントローラ側では、ファンクションをCPU118にて実行し、終了するとプログラムカウンタ122は「Loop」状態となる。そして、ステップs325において、プログラムカウンタコントローラ120は、「Loop」状態となったことを判別し、「Loop」状態となると、ステップs330において、シリアルパラレル変換回路114は、返値をシリアル変換し、ステップs335において、返値をホストコンピュータ10にアップロードする。
ホストコンピュータ10は返値を受け取ると、ステップs180において、デバイスコントローラ100にAckを送信する。デバイスコントローラ100は、ステップs340において、Ack受信待ちとなっており、Ackを受信すると、デバイスコントローラ100は、次のファンクション受付状態となる。
ホストコンピュータ10は、全てのファンクションが終了したか否かを判定して、終了すると、ステップs190において、シャットダウンする。
以上説明したように、本実施形態によれば、パーソナルコンピュータにおいて許容されているリアルタイム性を引き出し、下位のデバイスコントローラとバランスのよいリアルタイム制御システムを構築することができる。これにより双方でリソースが重複していた不揮発性メモリを減らすことができ、低コスト化を図ることができる。また、以前は生産時にロムライターやCPUのJTAG機能を用いていた不揮発性メモリ書き込みが不要となり、生産コストの低減を図れる。
また、デバイスコントローラを標準部と拡張部に分けたことにより、改廃のサイクルの短い部品を有する標準部については改廃するが、拡張部はそのまま利用することにより、デバイスコントローラをすべて作り直すといった作業量を減らすことができる。これにより、リアルタイム制御システムの開発から生産終了までの製品ライフサイクルにおけるコストの削減できる。
本発明の一実施形態によるリアルタイム制御システムを適用した理化学装置の全体構成を示す概略斜視図である。 本発明の一実施形態によるリアルタイム制御システムに用いるUSB伝送路30Cのバストポロジーの説明図である。 本発明の一実施形態によるリアルタイム制御システムに用いるUSBデバイスの伝送線伝送路の説明図である。 本発明の一実施形態によるリアルタイム制御システムに用いるデバイスコントローラの構成を示すブロック図である。 本発明の一実施形態によるリアルタイム制御システムに用いるデバイスコントローラ標準部と拡張部の接続コネクタの構成を示すブロック図である。 本発明の一実施形態によるリアルタイム制御システムに用いるデバイスコントローラの初期化処理の内容を示すフローチャートである。 本発明の一実施形態によるリアルタイム制御システムに用いるデバイスコントローラのキャッシュメモリの構成を示すメモリマップである。 本発明の一実施形態によるリアルタイム制御システムにおけるファンクションの実行処理の内容を示すフローチャートである。 本発明の一実施形態によるリアルタイム制御システムで用いられるファンクションの説明図である。
符号の説明
10…ホストコンピュータ
30C…USB伝送線
100…デバイスコントローラ
110…デバイスコントローラ標準部
112…USBプロトコル処理部
114…シリアルパラレル変換回路
116…キャッシュメモリ
118…デバイスコントローラCPU
120…プログラムカウンタコントローラ
122…プログラムカウンタ
124…比較器
150…デバイスコントローラ拡張部
152…DI
154…DO
156…フィールドネットワークインタフェイス
158…モータコントローラ
160…モータドライバ
C10…標準部コネクタ
C20…拡張部コネクタ

Claims (8)

  1. ホストコンピュータと、このホストコンピュータに接続され、フィールドデバイスの制御を行う複数のデバイスコントローラとからなり、前記フィールドデバイスをリアルタイムで制御するリアルタイム制御システムにおいて、
    前記ホストコンピュータは、前記デバイスコントローラへの制御内容を、一定時間で処理可能なファンクションに分割して転送し、
    前記デバイスコントローラは、前記ホストコンピュータから転送されたファンクションに基づいて、前記フィールドデバイスをリアルタイムで制御することを特徴とするリアルタイム制御システム。
  2. 請求項1記載のリアルタイム制御システムにおいて、
    前記デバイスコントローラは、それぞれ、共通な部品で構成される標準部と、接続されるフィールドデバイスによって異なる構成を持つ拡張部とから分割して構成され、前記標準部と前記拡張部とは、コネクタを介してバス接続されることを特徴とするリアルタイム制御システム。
  3. 請求項2記載のリアルタイム制御システムにおいて、
    前記デバイスコントローラは、前記拡張部で保持している識別子を読み出し、前記ホストコンピュータに伝送し、
    前記ホストコンピュータは、前記デバイスコントローラから転送された識別子に基づいて、複数の前記デバイスコントローラを識別することを特徴とするリアルタイム制御システム。
  4. 請求項1記載のリアルタイム制御システムにおいて、
    前記デバイスコントローラは、前記ホストコンピュータから転送されたファンクションを格納する揮発性メモリを備えたことを特徴とするリアルタイム制御システム。
  5. 請求項1記載のリアルタイム制御システムにおいて、
    前記ホストコンピュータは、前記デバイスコントローラに対し、前記ファンクションを一定周期で送付することを特徴とするリアルタイム制御システム。
  6. 請求項5記載のリアルタイム制御システムにおいて、
    前記ホストコンピュータは、USB(Universal Serial Bus)を用いて、前記デバイスコントローラに前記ファンクションを転送することを特徴とするリアルタイム制御システム。
  7. 請求項1記載のリアルタイム制御システムにおいて、
    前記デバイスコントローラは、前記ファンクションを実行した結果を、返値として前記ホストコンピュータに送信することを特徴とするリアルタイム制御システム。
  8. 請求項1記載のリアルタイム制御システムにおいて、
    前記ホストコンピュータ及び複数の前記デバイスコントローラは、ツリー型にネットワークにより接続されたことを特徴とするリアルタイム制御システム。

JP2004108735A 2004-04-01 2004-04-01 リアルタイム制御システム Expired - Fee Related JP4418283B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004108735A JP4418283B2 (ja) 2004-04-01 2004-04-01 リアルタイム制御システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004108735A JP4418283B2 (ja) 2004-04-01 2004-04-01 リアルタイム制御システム

Publications (2)

Publication Number Publication Date
JP2005293333A true JP2005293333A (ja) 2005-10-20
JP4418283B2 JP4418283B2 (ja) 2010-02-17

Family

ID=35326182

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004108735A Expired - Fee Related JP4418283B2 (ja) 2004-04-01 2004-04-01 リアルタイム制御システム

Country Status (1)

Country Link
JP (1) JP4418283B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009201245A (ja) * 2008-02-21 2009-09-03 Toshiba Corp ディジタル保護継電器
JP2009258790A (ja) * 2008-04-11 2009-11-05 Nst:Kk 制御装置及び制御装置の制御方法
US7786453B2 (en) 2006-07-26 2010-08-31 Nuflare Technology, Inc. Charged-particle beam pattern writing method and apparatus with a pipeline process to transfer data

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7786453B2 (en) 2006-07-26 2010-08-31 Nuflare Technology, Inc. Charged-particle beam pattern writing method and apparatus with a pipeline process to transfer data
JP2009201245A (ja) * 2008-02-21 2009-09-03 Toshiba Corp ディジタル保護継電器
JP2009258790A (ja) * 2008-04-11 2009-11-05 Nst:Kk 制御装置及び制御装置の制御方法

Also Published As

Publication number Publication date
JP4418283B2 (ja) 2010-02-17

Similar Documents

Publication Publication Date Title
CN113872796B (zh) 服务器及其节点设备信息获取方法、装置、设备、介质
US4622633A (en) Object building method for self configuring computer network
US4635192A (en) Self configuring bus structure for computer network
JPH05158511A (ja) 着脱式ファンクション・カード付きプログラマブル・コントローラ・プロセッサ
US8543976B1 (en) Generation of multi-domain code from a graphical program
CN102902650A (zh) 数据共享及传输的系统及方法
US20140359189A1 (en) Systems and methods for providing connections to an information handling system
US20170039151A1 (en) Universal intelligent platform management interface (ipmi) host to baseboard management controller (bmc) communication for non-x86 and legacy free systems
CN106598898A (zh) 共享总线端口的系统及共享总线端口的方法
US10963406B2 (en) Persistent universal serial bus (USB) device enumeration
JP4418283B2 (ja) リアルタイム制御システム
EP3382567B1 (en) Multiple storage devices implemented using a common connector
KR20070108410A (ko) 호스트 제어기 상에서의 독립적이면서 동시적인 데이터전달을 위한 방법 및 장치
JPH03196225A (ja) プログラマブル割込みコントローラ
JP4359618B2 (ja) コンフィグレーション・レジスター・アクセス方法、設定方法、集積回路部品、コンピューター・システム、製品
KR950008229B1 (ko) 퍼스널 컴퓨터 시스템
EP4675454A1 (en) Processor platform, circuit board, and server
CN113824741A (zh) 一种iic设备的通信方法、装置、设备、系统及介质
TWI749658B (zh) 具自動更新韌體功能的usb集線裝置及具有該usb集線裝置的主機系統
JP2940841B2 (ja) プログラマブル制御装置用プロセッサ・モジュール
JP2002342256A (ja) データプロセッサ及びデータテーブルの更新方法
JP2582504B2 (ja) パーソナル・コンピュータ・システム
CN113806282A (zh) 异构控制系统及异构控制系统的加载方法
CN202615386U (zh) 一种单板及数据处理系统
CN112416832B (zh) 基于mips架构处理器的通信系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060525

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090623

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090701

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: 20091124

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091127

R150 Certificate of patent or registration of utility model

Ref document number: 4418283

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121204

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131204

Year of fee payment: 4

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees