説明

コンピュータを用いた計測制御方法およびそのプログラム

【課題】リアルタイム性の無いOSを使用して、計測および制御におけるサンプリング周期精度を向上させる計測制御方法およびそのプログラムを提供する。
【解決手段】単位時間当たりのCPUチックカウント数を計測するステップと、前記所定サンプリング周期をCPUチックカウント数に変換するステップと、前記所定サンプリング周期とCPUチックカウント数を比較するステップを含む周期生成スレッドを立ち上げるステップと、この周期生成スレッドによりCPUチックカウント数を計測しつつポーリングを実行し、ポーリング中にCPUチックカウント数が前記所定サンプリング周期相当のCPUチックカウント数と等しくなったときに前記所定の処理を実行するステップとを備え、前記周期生成スレッドは、該周期生成スレッドの実行優先順位を最高に上げるステップと、前記所定の処理を実行した後に前記周期生成スレッドの実行優先順位を最高から下げる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、リアルタイムに実行する機能の無い(所定サンプリング周期ごとのサンプリング動作機能を有しない)オペレーティングシステム(以下「OS」という)で動作するコンピュータにおいて、計測および制御におけるサンプリング周期精度を向上させることができる計測制御方法およびそのプログラムに関する。
【背景技術】
【0002】
Windows(登録商標) CE、 Embedded Windowsを除くWindows 98、 2000、 XPといったWindows系OS(Operating System/オペレーティングシステム)は元来計測制御用には設計されておらず、計測・制御に必須の機能であるリアルタイム性(ここでは一定周期ごとのサンプリング動作をさすものとする)に関する機能を備えていない。そのため、正確なサンプリング周期を発生することができず、正確もしくは短いサンプリング周期が要求されるような計測制御分野においてWindows OSを使用することはほとんど無かった。このような計測制御分野では一般的に、専用のハードウエアであるDSP(Digital Signal Processor)を用いたり、あらかじめリアルタイム性に関する機能を重視して設計されたOSであるTron、VxWorks(登録商標)、 Windows CE、 Embedded Windowsなどの組込み系OSやRT-Linux(登録商標)が用いられている。
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、DSPなどの専用ハードウエアは、Windows OSで動作するPC(パーソナルコンピュータ)と比較して、搭載されているCPUの計算能力は低く、搭載されているメモリ容量も少なく、しかも性能と価格を比較すると高価である。また、専用ハードウエアは、新たにAD/DA変換やUSB(Universal Serial Bus)ポートなどハードウエアを拡張する際に、それぞれのハードウエアについての高度な専門知識を必要とする。
【0004】
USBやPCI(Peripheral Components Interconnect bus)バス上で動作する一般的なハードウエアの多くはWindows OS上で動作することでハードウエアが有する機能を最大限発揮するよう設計されているものが多い。Windows OS以外の組み込み系OSやRT-Linux OSなどのリアルタイムOSを用いる場合は、OS自体が拡張用ハードウエアに対応しない場合や機能が限定される場合があり、簡単にはハードウエアを拡張することはできない。また、標準で提供されるドライバソフトウエアはWindows OS用のソフトウエアのみの場合も多い。さらに、Windows 系OS以外のOSで動作するハードウエアではメモリの使用量に制限があって計測、制御ソフト、機器を使用できない場合もある。
【0005】
DSPを用いる場合は、リアルタイム性を得るために、割り込みを利用する。しかしながら、プログラムにバグが存在するなどによりプログラムが暴走すると、システム全体に影響を及ぼしてしまうおそれがある。組み込み系のOSではタスクのスケジューリングを厳密に行うことでリアルタイム性を実現しているが、ユーザープログラムの実行がカーネル領域で行われるため、こちらもプログラムのバグなどによって容易にシステム全体が停止してしまうなどの問題がある。また、カーネル領域からアクセスすることのできるメモリ容量には制約があるので、大容量のプログラムは実行できないことがある。
【0006】
リアルタイム性の無いOSを計測制御に用いた場合は、リアルタイム性に関する性能、精度が低い。例えば、Windows OSの標準的なWM_TIMERメッセージによる定周期動作は、高速なCPUを用いた場合でも精度が確保される周期は最大限に良く見積もっても数ミリ秒程度である。実際にはWindows OSのタイマー処理の精度はCPUの使用状況に依存するので、使用状況によって精度はさらに低下してしまうおそれがある。
【0007】
Windows OSのカーネル領域にリアルタイム性を確保するためのモジュールを組み込んで、リアルタイム機能を付加する製品も発売されているが、リアルタイム性を確保するためにカーネル領域でプログラムを実行するため、バグなどによってシステム全体が停止するおそれがある。
【0008】
しかし、広く普及したOS(Windows OS)を計測制御用のプラットフォームとして利用することができれば、高性能CPUを活用でき、拡張ハードウエアとの親和性が向上し、大容量のメモリを利用できる。さらに、Windows OSの特徴である高度なユーザーインターフェースを利用でき、既存のコンパイラの機能を拡張することなくそのまま使用することでプログラミングが可能であるなど、すでにあるWindows OS用の豊富なソフトウエア資源やハードウエア資源をそのまま使用することができる。しかもWindows OS用のPCは性能と比較して低価格で入手が可能であり、コストパフォーマンスの高い柔軟な計測制御システムを構築することが可能となる。
【0009】
本発明は、かかる従来技術の課題を解決するためになされたものであって、広く普及したリアルタイム性の無いOSを使用して、計測および制御におけるサンプリング周期精度を向上させることができるコンピュータを使用した計測制御方法およびそのプログラムを提供することを目的とする。
【課題を解決するための手段】
【0010】
かかる課題を解決する本発明は、コンピュータに接続された計測制御装置との間で所定サンプリング周期ごとに所定の処理を実行する計測制御方法であって、単位時間当たりのCPUチックカウント数を計測するステップと、前記所定サンプリング周期をCPUチックカウント数に変換するステップと、前記所定サンプリング周期とCPUチックカウント数を比較するステップを含む周期生成スレッドを立ち上げるステップと、この周期生成スレッドによりCPUチックカウント数を計測しつつポーリングを実行し、ポーリング中にCPUチックカウント数が前記所定サンプリング周期相当のCPUチックカウント数と等しくなったときにポーリングを抜けて前記所定の処理を実行するステップとを備え、前記周期生成スレッドは、前記ポーリングを実行する前に、該周期生成スレッドの実行優先順位を最高に上げるステップと、前記ポーリングを抜けて前記所定の処理を実行した後に前記周期生成スレッドの実行優先順位を最高から下げて他の処理を可能にするステップを含むことに特徴を有する。
【0011】
前記他の処理を終了した後に前記ポーリングに戻るときは、前記実行優先順位を最高に上げるステップを経て戻る。
前記他の処理は、前記コンピュータに接続された入出力手段の入出力処理、ディスプレイの描画処理を含み、前記最高から下げた実行優先順位は、これらの処理の実行優先順位よりも高く設定する。
前記計測制御装置との間における所定の処理は、データ、コマンドの入出力処理を含む。
【0012】
実際的には、前記コンピュータは、Windows OSで動作する。
前記単位時間当たりのCPUチックカウント数を計測するステップではQueryPerformanceFrequency()API関数を用い、前記周期生成スレッドによりCPUチックカウント数を計測しつつポーリングを実行し、ポーリング中にCPUチックカウント数が前記所定サンプリング周期相当のCPUチックカウント数と等しくなったときにポーリングを抜けて前記所定の処理を実行するステップにおけるCPUチックカウント数の計測にはQueryPerformanceCounter()API関数を用いる。前記最高の実行優先順位は、「THREAD_PRIORITY_TIME_CRITICAL」とし、前記最高の実行優先順位よりも低い実行優先順位は、「THREAD_PRIORITY_HIGHEST」とする。
【0013】
別の観点からなる本発明は、コンピュータに接続された計測制御装置との間で所定サンプリング周期ごとに所定の処理を実行するプログラムであって、単位時間当たりのCPUチックカウント数を計測するステップと、前記所定サンプリング周期をCPUチックカウント数に変換するステップと、前記所定サンプリング周期とCPUチックカウント数を比較するステップを含む周期生成スレッドを立ち上げるステップと、この周期生成スレッドによりCPUチックカウント数を計測しつつポーリングを実行し、ポーリング中にCPUチックカウント数が前記所定サンプリング周期相当のCPUチックカウント数と等しくなったときにポーリングを抜けて前記所定の処理を実行するステップとを備え、前記周期生成スレッドは、前記ポーリングを実行する前に、この周期生成スレッドの実行優先順位を最高に上げるステップと、前記ポーリングを抜けて前記所定の処理を実行した後に前記スレッドの実行優先順位を最高から下げて他の処理を可能にするステップとを含むことに特徴を有する。
さらに実際的には、前記スレッドの実行優先順位を最高から下げて他の処理を可能にするステップの後、前記ポーリングに戻るときは、前記周期生成スレッドの実行優先順位を最高に上げるステップを含める。
【発明の効果】
【0014】
本発明によれば、非リアルタイム性のオペレーティングシステムの持つ入出力処理、画面の描画処理、拡張性などの機能を損なうことなく、精度の高いマイクロ秒オーダーのサンプリング周期の実現が可能になる。
本発明は、機能の実現をすべてアプリケーション領域において、マルチスレッド機能によって実現しているため、カーネルが暴走してシステム全体が停止してしまうおそれがほとんどない。
【0015】
本発明のソフトウエアをWindows OS上で動作させることにより、Windows OSを用いて簡便にハードウエアの拡張性の高い、コストパフォーマンスの高い計測制御システムの構築を可能とする。
【発明を実施するための最良の形態】
【0016】
本発明の計測・制御方法およびそのプログラムを実行するコンピュータの概要を図1に示した。このパーソナルコンピュータ10は、Windows OSによって動作するパーソナルコンピュータであって、全体を統括的に制御するCPU11を、周辺回路、バスなどを有するチップセット(マザーボード)13上に備えている。CPU11は、チップセット13を介してRAM15、磁気ディスクドライブ17との間でプログラム、データ等の読み込み、書き込みを行い、所定の表示をディスプレイ19に行う。さらにチップセット13には、このパーソナルコンピュータ10への入力手段としてキーボード21、マウス23が接続されている。また、本発明のプログラムが書き込まれた記憶媒体の読み込みを可能にする光学ドライブ25が接続されている。
【0017】
さらにこのパーソナルコンピュータ10には、PCIタイプの計測制御機器31がチップセット13に備えられたPCIバスに装着され、あるいは、チップセット13に備えられたUSBポート、IEEE(Institute of Electrical and Electronics Engineers)1394ポート等に計測制御機器33が接続される。これらの計測制御機器31、33は、このパーソナルコンピュータ10によって制御される。また、本発明の計測制御方法およびそのプログラムは記憶手段、通常は磁気ディスクドライブ17にインストールされていて、使用者は必要に応じて読み出すことができる。
【0018】
次に、本発明の計測制御方法およびそのプログラムについて、図2(A)、(B)に示したフローチャートを参照して説明する。図2(A)のフローチャートは、図1に示した計測制御システムの計測制御処理に関するルーチンである。図2(B)のフローチャートは、計測制御周期生成処理に関するルーチンである。この実施形態では、これらの計測制御処理Aおよび計測制御周期生成処理Bを、マルチスレッド化して実行する。
【0019】
計測制御処理スレッドに入ると、先ず、メッセージループ処理を開始して、必要な情報、入力項目等をディスプレイ19に表示する(ステップS101)。次に使用者は、ディスプレイ19の表示を見ながら、キーボード21、マウス23を操作してサンプリング周期等の入力、選択等を行い、CPU11は、その入力操作に対応する処理を施し、その結果をディスプレイ19に表示する描画処理などを行う(ステップS102)。そうして、計測制御開始の入力の判定を行う(ステップS103)。計測制御開始で無ければ(ステップS103:NO)、計測制御終了か否かチェックするが(ステップS108)、まだ計測制御を開始していない場合は計測制御を終了することも無いので(ステップS108:NO)ステップS102に戻り、入出力処理、描画処理を実行しながら計測制御開始コマンド等が入力されるのを待つ。なお、ステップS101、102の表示処理、入力処理の実行優先順位は、デフォルトで「THREAD_PRIORITY_NORMAL」に設定されているので、PC上で実行されるほかのプログラムに対して、この実施形態の計測制御処理自体の優先順位を上げるため、実行優先順位を「THREAD_PRIORITY_ABOVE_NORMAL」に設定する。
【0020】
計測制御開始の場合(ステップS103:YES)は、先ず、サンプリング周期設定および計測制御開始処理を実行する(ステップS104)。サンプリング周期設定処理では、単位時間当たりのCPUチックカウント数を計測し、サンプリング周期当たりのCPUチックカウント数を演算してメモリする。そうして、計測制御開始処理として、計測制御機器31、33の初期化等を実行する。
【0021】
次に、メモリしたサンプリング周期当たりのCPUチックカウント数に基づいて、計測制御周期生成用スレッドをサスペンド状態で作成する(ステップS105)。つまり、サンプリング周期当たりのCPUチックカウント数をサンプリング周期として設定した後、図2(B)の計測制御周期生成フローチャート(プログラム)を実行待ち状態で起動して実行の準備を行う。
【0022】
これらの準備が完了したら、計測制御開始処理を実行する(ステップS106)。そうして、計測制御周期生成用スレッドに対して計測制御周期生成開始命令を出して、計測制御周期生成用スレッドを実行状態に変更する(ステップS107)。この実行状態への変更により、計測制御周期生成用スレッドが実行される。この実施形態では計測制御周期生成用スレッドがマルチスレッド化されているので、計測制御処理と並行して計測制御周期生成用スレッドが実行される。
【0023】
続いて、計測制御終了か否かをチェックし(ステップS108)、終了でなければ(ステップS108:NO)、ステップS102に戻る。その後、通常は計測制御が終了するまでステップS102、ステップS103:NO、ステップS108:NO、ステップS102のループ処理を繰り返す。
【0024】
計測制御が終了すると(ステップS108:YES)、計測制御周期生成終了命令を出し(ステップS109)、計測制御終了処理を実行して(ステップS110)、ステップS102に戻る。ステップ109の計測制御周期生成終了命令では、計測制御周期生成用スレッドを停止状態に変更し、破棄する。ステップS110の計測制御終了処理では計測制御機器31、33を停止させる。
【0025】
以上の計測制御スレッドは、計測制御に関するメイン動作である。次に、サンプリング周期設定処理および計測制御周期生成用スレッドの動作について、図2の(B)に示した計測制御周期生成用スレッドのフローチャートを参照して説明する。
【0026】
この計測制御周期生成用スレッドは、計測制御スレッドのステップS105においてサスペンド状態で生成される。計測制御周期生成用スレッドでは、アプリケーション領域において、サンプリング周期ごとに処理が進行するように、ポーリングを行う。このとき、標準的には時間計測用のAPI(Application Programming Interface)関数として、ミリ秒オーダーの精度を持つAPI関数(「timeGetTime」、「timeGetSystemTime」)が使用される。しかしながら、これらのAPI関数を使用する方法では、サンプリング周期にミリ秒オーダーの誤差が生じる可能性がある。
【0027】
そこで本発明では、最も時間的な精度の高い、CPUクロック(チックカウント)相当の精度を持つAPI関数、この実施形態ではQueryPerformanceCounter()API関数を使用する。つまり、ステップS104のサンプリング周期設定処理では、QueryPerformanceFrequency()API関数によって単位時間(1秒)当たりのCPUチックカウント数を計測し、計測結果に基づいて、指定されたサンプリング周期をCPUチックカウント数に変換してセットする。
【0028】
以上の処理を含む計測制御周期生成処理の詳細について、さらに図2(B)を参照して説明する。計測制御処理のステップS107において計測制御周期生成開始命令が出されると、ステップS202において計測制御周期生成用スレッドが実行状態に設定される。すると、まず、スレッドの実行優先順位を「最高」に上げる(ステップS203)。Windows OSでは、実行優先順位を最高の「THREAD_PRIORITY_TIME_CRITICAL」に設定する。これにより、以下のポーリングに関するスレッドの実行優先順位が「最高」になる。
【0029】
次に、QueryPerformanceCounter()API関数によってCPUチックカウント数を計測して(ステップS204)、設定したサンプリング周期と比較してCPUチックカウント数が設定したサンプリング周期相当のチックカウント数に達したか否かチェックする(ステップS205)。このポーリングを繰り返して、CPUチックカウント数がサンプリング周期相当のチックカウント数を超えるのを待つ(ステップS205:NO、ステップS204)。
【0030】
CPUチックカウント数がサンプリング周期相当のチックカウント数に達すると(ステップS205:YES)、所定の処理である一定周期計測制御処理を行い(ステップS206)、スレッドの実行優先順位を下げて(ステップS207)、その後ステップS203に戻る。ステップS203に戻るとスレッドの実行優先順位を最高に上げて、ステップS204、ステップS205のポーリングを繰り返す。なお、一定周期計測制御処理(ステップS206)では、所定の処理として例えば、計測制御機器31、33から計測データを入力し、所定の制御に関する演算を実行してコマンド、制御データを計測制御機器31、33に出力する入出力処理や、通信処理を実行する。
【0031】
以上のようにこの実施形態では、プログラムをマルチスレッド化し、CPUチックカウント数を計測しつつポーリングを行う部分(ステップS204、ステップS205)に単一のスレッドを割り当て、さらにこのポーリングに関するスレッド(ステップS204、ステップS205)の実行優先順位を、ポーリングを実行する際には「最高」の実行優先順位(「THREAD_PRIORITY_TIME_CRITICAL」)に変更してCPUチックカウント数の比較を最優先で行うことにより、サンプリング周期の精度が向上した。
【0032】
実行優先順位が最高のスレッドでポーリングを行った場合、他のスレッドにCPU時間が割り当てられずに、実行優先順位が高よりも低い画面の描画、ファイルの操作、マウス、キーボード入力処理等の通常の処理ができなくなる。しかし本発明の実施形態では、ポーリングを抜けて計測制御処理を行った後に実行優先順位を「最高」から「高」に、この実施形態では(「THREAD_PRIORITY_HIGHEST」)に下げる。このように計測制御周期生成スレッドの実行優先順位を下げることで、計測制御処理を行いつつ、キーボード21、マウス23などの入力手段からの入力、メモリなどへのアクセス、ディスプレイ19への描画処理など、実行優先順位が「高」よりも低いスレッドとの並列処理を可能にした。
【0033】
一方、計測制御周期生成スレッドの実行優先順位は常にこれらの入出力、描画処理を行う計測制御スレッドの実行優先順位よりも高いので、確実にステップS203に戻ってポーリング処理を繰り返すことを可能にした。さらに、ステップS203では実行優先順位を「最高」に設定し、かつQueryPerformanceCounter()API関数によってCPUチックカウント数を計測するので、CPUクロック(チックカウント)オーダーでのサンプリング周期設定が可能になる。
【0034】
本実施形態において、計測制御機器、または計測制御機器に接続される装置としては、例えばアクティブ制振装置がある。アクティブ制振装置に適用した場合は、ステップS206の一定周期計測制御処理において、アクティブ制振装置からセンサ信号を入力し、アクティブ装置を駆動制御する信号を出力する。本実施形態によれば、この入出力を正確なサンプリング周期で実行できるので、安定した制振制御が可能になる。
【0035】
このように本発明の計測制御方法によれば、Windows OSが備えた入出力処理、画面の描画、拡張性などの機能を犠牲にすることなく、精度の高いマイクロ秒オーダーのサンプリング周期が実現された。
さらに本発明の実施形態ではプログラムの実行が通常のソフトウエアが実行されるアプリケーション領域で行われるため、計測用ハードウエアをプログラム上から利用する際にハードウエアメーカーからWindows OS用として提供されるドライバをそのまま使用することができ、USBフラッシュメモリなどのハードウエアなどもWindows OSの機能を利用してそのまま利用でき、大容量のメモリ(RAM15、磁気ディスクドライブ17など)も使用可能である。
【図面の簡単な説明】
【0036】
【図1】本発明のコンピュータを用いた計測制御方法を実施するための計測制御システムの実施形態をブロックで示す図である。
【図2】コンピュータを用いた計測制御方法、そのプログラムの実施形態をフローチャートで示す図である。
【符号の説明】
【0037】
10 パーソナルコンピュータ
11 CPU
13 チップセット
15 RAM
17 磁気ディスクドライブ
19 ディスプレイ
21 キーボード
23 マウス
25 光学ドライブ
31 33 計測制御機器

【特許請求の範囲】
【請求項1】
コンピュータに接続された計測制御装置との間で所定サンプリング周期ごとに所定の処理を実行する計測制御方法であって、
単位時間当たりのCPUチックカウント数を計測するステップと、
前記所定サンプリング周期をCPUチックカウント数に変換するステップと、
前記所定サンプリング周期とCPUチックカウント数を比較するステップを含む周期生成スレッドを立ち上げるステップと、
この周期生成スレッドによりCPUチックカウント数を計測しつつポーリングを実行し、ポーリング中にCPUチックカウント数が前記所定サンプリング周期相当のCPUチックカウント数と等しくなったときにポーリングを抜けて前記所定の処理を実行するステップとを備え、
前記周期生成スレッドは、前記ポーリングを実行する前に、該周期生成スレッドの実行優先順位を最高に上げるステップと、
前記ポーリングを抜けて前記所定の処理を実行した後に前記周期生成スレッドの実行優先順位を最高から下げて他の処理を可能にするステップとを含むことを特徴とするコンピュータを用いた計測制御方法。
【請求項2】
請求項1記載のコンピュータを用いた計測制御方法において、前記他の処理を可能にした後に前記ポーリングに戻るときは、前記実行優先順位を最高に上げるステップを経て戻るコンピュータを用いた計測制御方法。
【請求項3】
請求項1または2記載のコンピュータを用いた計測制御方法において、前記他の処理は、前記コンピュータに接続された入出力手段の入出力処理、ディスプレイの描画処理を含み、前記最高から下げた実行優先順位は、これらの処理の実行優先順位よりも高いコンピュータを用いた計測制御方法。
【請求項4】
請求項1乃至3記載のコンピュータを用いた計測制御方法において、前記計測制御装置との間における所定の処理は、データ、コマンドの入出力処理を含むコンピュータを用いた計測制御方法。
【請求項5】
請求項1乃至4のいずれか一項記載のコンピュータを用いた計測制御方法において、前記コンピュータは、Windows(登録商標)オペレーティングシステムで動作するコンピュータを用いた計測制御方法。
【請求項6】
請求項5記載のコンピュータを用いた計測制御方法において、前記単位時間当たりのCPUチックカウント数を計測するステップではQueryPerformanceFrequency()API関数を用い、前記周期生成スレッドによりCPUチックカウント数を計測しつつポーリングを実行し、ポーリング中にCPUチックカウント数が前記所定サンプリング周期相当のCPUチックカウント数と等しくなったときにポーリングを抜けて前記所定の処理を実行するステップにおけるCPUチックカウント数の計測にはQueryPerformanceCounter()API関数を用いるコンピュータを用いた計測制御方法。
【請求項7】
請求項5または6記載のコンピュータを用いた計測制御方法において、前記最高の実行優先順位は、「THREAD_PRIORITY_TIME_CRITICAL」であるコンピュータを用いた計測制御方法。
【請求項8】
請求項5乃至7のいずれか一項記載のコンピュータを用いた計測制御方法において、前記最高の実行優先順位よりも低い実行優先順位は、「THREAD_PRIORITY_HIGHEST」であるコンピュータを用いた計測制御方法。
【請求項9】
コンピュータに接続された計測制御装置との間で所定サンプリング周期ごとに所定の処理を実行するプログラムであって、
単位時間当たりのCPUチックカウント数を計測するステップと、
前記所定サンプリング周期をCPUチックカウント数に変換するステップと、
前記所定サンプリング周期とCPUチックカウント数を比較するステップを含む周期生成スレッドを立ち上げるステップと、
この周期生成スレッドによりCPUチックカウント数を計測しつつポーリングを実行し、ポーリング中にCPUチックカウント数が前記所定サンプリング周期相当のCPUチックカウント数と等しくなったときにポーリングを抜けて前記所定の処理を実行するステップとを備え、
前記周期生成スレッドは、前記ポーリングを実行する前に、この周期生成スレッドの実行優先順位を最高に上げるステップと、
前記ポーリングを抜けて前記所定の処理を実行した後に前記スレッドの実行優先順位を最高から下げて他の処理を可能にするステップとを含むことを特徴とする計測制御プログラム。
【請求項10】
請求項9記載の計測制御プログラムはさらに、前記スレッドの実行優先順位を最高から下げて他の処理を可能にするステップの後、前記ポーリングに戻るときは前記周期生成スレッドの実行優先順位を最高に上げるステップを含む計測制御プログラム。

【図1】
image rotate

【図2】
image rotate


【公開番号】特開2008−171111(P2008−171111A)
【公開日】平成20年7月24日(2008.7.24)
【国際特許分類】
【出願番号】特願2007−2298(P2007−2298)
【出願日】平成19年1月10日(2007.1.10)
【出願人】(504173471)国立大学法人 北海道大学 (971)
【出願人】(000005175)藤倉ゴム工業株式会社 (120)