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

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

Info

Publication number
JP2008171111A
JP2008171111A JP2007002298A JP2007002298A JP2008171111A JP 2008171111 A JP2008171111 A JP 2008171111A JP 2007002298 A JP2007002298 A JP 2007002298A JP 2007002298 A JP2007002298 A JP 2007002298A JP 2008171111 A JP2008171111 A JP 2008171111A
Authority
JP
Japan
Prior art keywords
measurement control
polling
tick count
cpu
thread
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
Application number
JP2007002298A
Other languages
English (en)
Inventor
Yohei Hoshino
洋平 星野
Yukinori Kobayashi
幸徳 小林
Mitsuaki Nakanishi
光章 中西
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.)
Hokkaido University NUC
Fujikura Composites Inc
Original Assignee
Hokkaido University NUC
Fujikura Rubber Ltd
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 Hokkaido University NUC, Fujikura Rubber Ltd filed Critical Hokkaido University NUC
Priority to JP2007002298A priority Critical patent/JP2008171111A/ja
Publication of JP2008171111A publication Critical patent/JP2008171111A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

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

Claims (10)

  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記載の計測制御プログラムはさらに、前記スレッドの実行優先順位を最高から下げて他の処理を可能にするステップの後、前記ポーリングに戻るときは前記周期生成スレッドの実行優先順位を最高に上げるステップを含む計測制御プログラム。
JP2007002298A 2007-01-10 2007-01-10 コンピュータを用いた計測制御方法およびそのプログラム Pending JP2008171111A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007002298A JP2008171111A (ja) 2007-01-10 2007-01-10 コンピュータを用いた計測制御方法およびそのプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007002298A JP2008171111A (ja) 2007-01-10 2007-01-10 コンピュータを用いた計測制御方法およびそのプログラム

Publications (1)

Publication Number Publication Date
JP2008171111A true JP2008171111A (ja) 2008-07-24

Family

ID=39699158

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007002298A Pending JP2008171111A (ja) 2007-01-10 2007-01-10 コンピュータを用いた計測制御方法およびそのプログラム

Country Status (1)

Country Link
JP (1) JP2008171111A (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04372022A (ja) * 1991-06-20 1992-12-25 Mitsutoyo Corp 測定データ処理システム用タスクスケジューリング方法
JPH09251389A (ja) * 1996-03-14 1997-09-22 Omron Corp データ処理装置
JPH1063514A (ja) * 1996-08-20 1998-03-06 Fuji Xerox Co Ltd 情報処理装置
JP2004199139A (ja) * 2002-12-16 2004-07-15 Matsushita Electric Ind Co Ltd プロセッサシステム、命令列最適化装置、および命令列最適化プログラム
JP2004227635A (ja) * 2003-01-21 2004-08-12 Renesas Technology Corp 不揮発性半導体メモリおよび不揮発性半導体メモリを内蔵したマイクロコンピュータ

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04372022A (ja) * 1991-06-20 1992-12-25 Mitsutoyo Corp 測定データ処理システム用タスクスケジューリング方法
JPH09251389A (ja) * 1996-03-14 1997-09-22 Omron Corp データ処理装置
JPH1063514A (ja) * 1996-08-20 1998-03-06 Fuji Xerox Co Ltd 情報処理装置
JP2004199139A (ja) * 2002-12-16 2004-07-15 Matsushita Electric Ind Co Ltd プロセッサシステム、命令列最適化装置、および命令列最適化プログラム
JP2004227635A (ja) * 2003-01-21 2004-08-12 Renesas Technology Corp 不揮発性半導体メモリおよび不揮発性半導体メモリを内蔵したマイクロコンピュータ

Similar Documents

Publication Publication Date Title
CN109634883B (zh) 主从式系统、指令执行方法与数据存取方法
US10089212B2 (en) Memory system, information processing system, and host device outputting debugging information through a host interface
TWI400652B (zh) Dual operating system parallel processing methods, recording media and computer program products
KR102111741B1 (ko) 임베디드 멀티미디어 카드 및 이의 동작 방법
US9542201B2 (en) Network bios management
JP5270330B2 (ja) マルチコアマイコンシステムのシミュレーション方法及びシミュレーション装置
US20160231935A1 (en) Memory Configuration Operations for a Computing Device
EP2790106A2 (en) Performance measurement unit, processor core including the same and process profiling method
US9239742B2 (en) Embedded systems and methods for threads and buffer management thereof
KR20140083530A (ko) 하드웨어를 디버깅하는 부트 쉘을 포함하는 시스템온칩 및 이의 구동 방법
US20090174718A1 (en) Setting methods and motherboard for display parameters
CN111475432B (zh) 一种从机启动控制装置、单总线系统及其控制方法
US20070038429A1 (en) System simulation method
US6349388B1 (en) Timer processing engine for supporting multiple virtual minimum time timers
JP2008171111A (ja) コンピュータを用いた計測制御方法およびそのプログラム
WO2019001320A1 (zh) 追踪方法、装置、设备和机器可读介质
CN104714806A (zh) 基于人机界面系统的脚本处理方法及装置
US8117427B2 (en) Motherboard, storage device and controller thereof, and booting method
CN108008854B (zh) 一种避免天线载波干扰的方法、装置及终端设备
US9519428B2 (en) Dynamically improving performance of a host memory controller and a memory device
CN113407350A (zh) 指令处理装置、处理器、芯片、计算设备及相应的方法
CN114625677A (zh) 数据访问系统、方法、上位机和工具mcu
CN114765051A (zh) 内存测试方法及装置、可读存储介质、电子设备
US20040103229A1 (en) Bus management techniques
US20100205598A1 (en) Method for installing operating system in computer

Legal Events

Date Code Title Description
A621 Written request for application examination

Effective date: 20081023

Free format text: JAPANESE INTERMEDIATE CODE: A621

A977 Report on retrieval

Effective date: 20100330

Free format text: JAPANESE INTERMEDIATE CODE: A971007

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100420

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100618

A131 Notification of reasons for refusal

Effective date: 20101026

Free format text: JAPANESE INTERMEDIATE CODE: A131

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101227

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110823