« MOSBenchで実行行表示されない | トップページ | 事業所全体を2カ月休みにした »

2009年5月25日

MOSプロセスのスイッチング時間

Windowsで手軽にリアルタイムIO制御「MOS Bench(モスベンチ)」のプロセスのスイッチング時間を評価した。

すべてのMOSプロセスに適用できるタイマーは、ログに記録されるタイマーしかないので、そのタイマーを利用する。

Printf文を含む2つのプロセスを起動して、そのPrintf文で出力されたログのタイムスタンプを比較する。

Printf文の処理時間も含まれてしまい、その分、大きめの数値になるがやむなしとする。

結果は、平均12us(Print文、変数インクリメント、等MOS言語処理含む)

この時間は、保証されません。1つの例として、見てください。

Mos

途中に90usとか82usがあるが、これは、モーションコントローラで使用している最優先の1ms割り込み処理が間に入っているためである。

CPU: Celeron D 3GHz

メモリ: 256MB (実使用時は512MB以上にしてください)

Windows XP Pro. SP2

Interval社 RTX 6.5.1 Runtime Evaluation版

以下の画面は、2つのプロセスを割り当てた状態を示す。

Photo  

5番目と6番目にプロセスを割りつけている。

5番目のプロセスを起動すると、5番目のプログラム中の

  ProcStartInitial(6);

という命令で、6番目のプロセスが起動する。

5番目のプロセスと6番目のプロセスの中にPrintf1文がある。

5番目のプロセスのプログラム:

「time_10000_3.mos.c」をダウンロード

6番目のプロセスのプログラム:

「time_10000b3.mos.c」をダウンロード

2つのプロセスを実行した時のログファイル:

「log.txt」をダウンロード

そのログファイルを加工して、スイッチング時間をわかりやすく整理したエクセルのファイル:

「1us.xls」をダウンロード

Link:

プライムモーション社(Windowsで手軽にリアルタイムIO制御)

プライムモーション(Windowsで手軽にリアルタイムIO制御)

|

« MOSBenchで実行行表示されない | トップページ | 事業所全体を2カ月休みにした »

技術Windowsでリアルタイム制御」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



« MOSBenchで実行行表示されない | トップページ | 事業所全体を2カ月休みにした »