Technology
μITRON
(μITRON:マイクロアイトロン)
μITRON(マイクロアイトロン)は、マイコンを搭載した組込み機器向けに策定されたリアルタイムOSの仕様です。ITRONは「Industrial TRON」の略で、μITRONは限られたCPU性能やメモリ容量で動作する小規模な組込みシステムを主な対象としています。
μITRON自体は特定メーカーのOS製品名ではありません。タスク管理、時間管理、同期、タスク間通信など、リアルタイムOSが備える機能とインターフェースを定めた仕様であり、複数のメーカーが対応OSを提供しています。
ハカルプラスでは、計測機器や計量制御機器にμITRON系リアルタイムOSを採用し、計測、制御、通信、表示、データ保存を並行して処理する組込みソフトウェアを開発しています。
リアルタイムOSの役割
リアルタイムOSは、処理を単に高速化するものではありません。必要な処理を、決められた時間内に実行しやすくするためのOSです。
組込み機器では、センサの読込み、演算、入出力制御、画面表示、通信、異常監視など、複数の処理を並行して行います。μITRON系OSでは、これらをタスクに分割し、重要度や処理周期に応じて優先順位を設定します。
例えば、重量値の取得や出力制御を高い優先順位にし、表示更新や履歴保存を低い優先順位にすることで、通信や保存に時間がかかった場合でも、計量・制御処理への影響を抑えられます。
μITRONの主な機能
タスク管理
プログラムを複数のタスクに分け、実行、待機、休止などの状態と優先順位を管理します。
同期・排他制御
複数のタスクが同じデータや入出力回路へ同時にアクセスしないよう、セマフォやイベントフラグなどを利用します。
タスク間通信
データキューやメールボックスなどを利用し、計測タスクで取得した値を表示、通信、保存の各タスクへ受け渡します。
時間管理
一定周期での処理、一定時間の待機、通信応答のタイムアウトなどを管理します。センサの定周期読込みや異常監視に利用されます。
割込み処理との連携
タイマー、通信受信、外部入力などの割込みを受け、必要なタスクを起動します。割込み内では短時間の処理だけを行い、演算や通信解析はタスク側で実行します。
μITRONが組込み機器に適している理由
- 限られたメモリ容量で構成しやすい
- 重要な制御処理を優先できる
- 必要な機能に絞って実装しやすい
- 特定のCPUメーカーだけに限定されない
- 既存のμITRON系設計資産を活用しやすい
ただし、μITRONを採用するだけでリアルタイム性が保証されるわけではありません。タスク構成、優先順位、処理時間、割込み設計を含めて評価する必要があります。
μITRONとμITRON系OSの違い
μITRONはOSの仕様であり、製品へ搭載するには、その仕様を基に実装されたOSが必要です。μC3やNORTiなどがμITRON系OSの例です。
同じμITRON系OSでも、対応する仕様、CPU、開発ツール、追加機能、ミドルウェア、ライセンスは異なります。
別のμITRON系OSへ移行する場合は、APIだけでなく、割込み処理、タイマー精度、タスクの起動条件、ドライバー、メモリ構成などを確認します。
計測・計量制御での活用
計測・計量制御機器では、正確な計測と設備制御を継続しながら、表示、通信、記録などを同時に処理します。
- センサ信号・重量値の取得
- 計測値の演算・補正
- 計量シーケンスの制御
- 接点入力・出力の監視
- 表示器・操作画面の更新
- PLC・上位機器との通信
- 異常・警報の監視
- 設定値・実績データの保存
通信異常や記録媒体への書込み遅延が発生した場合でも、中核となる計測処理を継続できるように、タスクの役割と優先順位を分けます。
開発時の注意点
優先順位と処理時間
高優先度タスクの処理が長すぎると、低優先度タスクが実行できなくなります。重要度だけでなく、最悪条件での実行時間も測定します。
共有データの保護
複数タスクが同じ変数や通信バッファを利用する場合は、排他制御やデータ受渡し方法を定め、途中の値を参照しないようにします。
スタック容量
タスクごとのスタックが不足すると、他のメモリ領域を破壊し、原因を特定しにくい異常動作につながります。実機で最大使用量を確認します。
異常時の復旧
通信停止、センサ異常、記録失敗、タスク停止などを想定し、再接続、警報出力、安全停止、ウォッチドッグによる再起動などを設計します。
タスクだけを再起動するか、装置全体を再起動するかは、出力状態やデータの整合性を考慮して決定します。
ハカルプラスのμITRON対応
ハカルプラスでは、μITRON系リアルタイムOSを利用し、計測、計量、入出力、通信、表示、記録を組み合わせた組込みソフトウェアを開発しています。
マイコンとOSの選定、タスク構成、優先順位、計量演算、割込み、PLC通信、異常監視、ウォッチドッグ、メモリ使用量の評価まで対応します。
OS単体ではなく、回路、センサ、マイコン、通信インターフェース、記録媒体を含め、製品全体が安定して動作する構成を設計します。
よくある質問
Q. μITRONを採用すれば処理遅れを防げますか?
A. タスクと優先順位を適切に設計すれば遅れを抑えられますが、処理時間やCPU負荷が大きすぎる場合は対応できません。実機での時間評価が必要です。
Q. 高優先度タスクを増やしても問題ありませんか?
A. 高優先度タスクが増えると、低優先度タスクの実行機会が減ります。周期、締切時間、処理負荷を整理して優先順位を決めます。
Q. 通信中も計測処理を継続できますか?
A. 計測と通信を別タスクに分け、計測処理を優先することで影響を抑えられます。通信バッファやデータ受渡しの設計も必要です。
Q. μITRON系OSを別製品へ変更できますか?
A. 変更できる場合がありますが、API、割込み、タイマー、ドライバー、ミドルウェアの違いを確認し、再試験する必要があります。
Q. μITRONでSDカードへの保存もできますか?
A. 対応するファイルシステムとデバイスドライバーを組み合わせることで可能です。保存処理が計測周期へ影響しないタスク構成が重要です。
関連ワード
同じカテゴリの『ハカル技術辞典』を見る