μ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. 対応するファイルシステムとデバイスドライバーを組み合わせることで可能です。保存処理が計測周期へ影響しないタスク構成が重要です。
関連ワード
Linuxは、コンピュータや組込み機器を動作させるために使用される、オープンソースのOS基盤です。
厳密には、LinuxはOS全体ではなく、CPU、メモリ、ストレージ、通信機器などのハードウェアを管理する中核部分であるLinuxカーネルを指します。実際の製品では、Linuxカーネルにライブラリ、コマンド、デバイスドライバー、設定ツール、アプリケーションなどを組み合わせたLinuxディストリビューションが使用されます。
Linuxは、一般的なサーバーやパソコンだけでなく、通信機器、表示器、計測機器、ゲートウェイ、産業用端末などにも採用されています。組込み機器では、必要な機能に絞った構成とし、専用ハードウェア上で動作させます。
Linuxが担う主な役割
- CPU、メモリ、ストレージなどのハードウェア管理
- 複数のプログラムや処理の実行管理
- Ethernet、無線LAN、USB、シリアル通信などの制御
- ファイル、設定値、計測データ、ログの保存
- ディスプレイやタッチパネルの制御
- ユーザー、権限、認証の管理
- 時刻同期、ログ管理、遠隔保守
組込み製品では、Linux上で製品固有のアプリケーションを動作させ、計測、表示、通信、データ保存、外部システムとの連携などを実現します。
Linuxディストリビューションとは
Linuxカーネルに、ライブラリ、コマンド、設定機能、アプリケーションなどを組み合わせ、OSとして利用できるようにしたものをLinuxディストリビューションと呼びます。
ディストリビューションによって、標準搭載されるソフトウェア、設定方法、パッケージ管理、更新方法、サポート期間、対応CPU、商用サポートなどが異なります。
組込み製品では、一般的なパソコン向けディストリビューションをそのまま使用するとは限りません。製品に必要な機能を選び、専用基板やSBCに合わせてブートローダー、カーネル、ドライバー、ルートファイルシステムを構成します。
組込みLinux
通信機器、表示器、計測機器など、特定の用途を持つ専用機器へ組み込むLinuxは、組込みLinuxと呼ばれます。
組込みLinuxでは、ストレージ容量、メモリ容量、起動時間、消費電力、セキュリティ、更新方法などを考慮し、不要な機能やサービスを減らします。製品を長期間安定して使用するためには、動作することだけでなく、異常時の復旧、ログの取得、更新後の確認、将来の部品変更まで見据えた設計が必要です。
Linuxを採用する主な利点
通信・ネットワーク機能を構築しやすい
LinuxにはTCP/IPを中心としたネットワーク機能があり、Ethernet、無線LAN、Webサーバー、遠隔監視、データ送信などを実装しやすいことが特長です。
複数の通信方式や上位システムとの接続が必要な場合にも、既存のライブラリやミドルウェアを活用できます。
データ管理機能を持たせやすい
計測結果、警報履歴、設定情報、通信履歴などをファイルやデータベースへ保存し、検索、集計、送信、バックアップできます。
ただし、保存量や書き込み頻度が増える場合は、ストレージの寿命、ファイルシステム、保存領域の構成、ログの削除方法まで検討します。
幅広いハードウェアへ対応できる
一般的なパソコン向けCPUだけでなく、ARM系をはじめとする組込み向けCPUにも対応しています。対応するデバイスドライバーがあれば、表示器、タッチパネル、USB機器、通信回路、ストレージなどを利用できます。
オープンソース資産を活用できる
通信、暗号化、データベース、画像処理、Web表示など、多くのオープンソースソフトウェアを活用できます。
一方で、オープンソースは無条件で自由に使用できるという意味ではありません。採用するソフトウェアごとにライセンス条件を確認し、ソースコード開示、著作権表示、再配布条件などへ対応します。
LinuxとリアルタイムOSの使い分け
一般的なLinuxは、通信、画面表示、データ保存、データベース、Web機能など、多機能な処理をまとめて実行する用途に適しています。
NORTi、μITRON、μC3などのリアルタイムOSは、決められた時間内に処理を完了することが重要なセンサ読み取り、周期演算、モーター制御、入出力制御などに適しています。
Linuxでもリアルタイム性を高める構成は可能ですが、すべての処理をLinuxだけで行うことが適切とは限りません。製品によっては、時間精度が重要な制御をマイコンとリアルタイムOS、通信、表示、データ管理をLinuxで分担します。
Linuxシステムの基本構成
ブートローダー
電源投入後に最初に動作し、ハードウェアの初期化を行ったうえで、ストレージからLinuxカーネルを読み込みます。更新失敗時に予備領域から起動する仕組みを持たせる場合もあります。
Linuxカーネル
CPU、メモリ、通信、ストレージなどを管理し、アプリケーションがハードウェアを利用するための基盤を提供します。
デバイスドライバー
通信回路、表示器、タッチパネル、センサ、USB機器などをLinuxから利用するためのソフトウェアです。基板や周辺部品を変更する場合は、ドライバーの対応状況を確認します。
ルートファイルシステム
Linuxを動作させるためのライブラリ、設定ファイル、コマンド、サービス、アプリケーションなどを格納します。
製品アプリケーション
計測、制御、表示、通信、データ保存、異常監視など、製品固有の機能を実行します。OS起動後に自動起動し、異常終了時には再起動や警報出力を行う構成も検討します。
Linuxを採用する際の設計上の注意点
ハードウェアとドライバーの適合性
CPUやメモリ容量だけでなく、Ethernet、無線通信、表示器、タッチパネル、USB、シリアル通信などに対応するデバイスドライバーが必要です。
既存のドライバーがあっても、使用するカーネルのバージョンや基板構成によっては、そのまま動作しない場合があります。
電源断とデータ破損
ファイルやデータを書き込んでいる途中で電源が切れると、保存中のデータだけでなく、ファイルシステムが破損して起動できなくなる場合があります。
対策として、システム領域の読み取り専用化、設定・ログ領域の分離、ジャーナリング機能を持つファイルシステム、無停電電源、電源断検出、書き込み抑制などを検討します。
ただし、読み取り専用化すればすべて解決するわけではありません。設定変更、ログ保存、証明書更新、アプリケーション更新など、書き換えが必要な領域をどのように管理するかが重要です。
ストレージ寿命
SDカード、eMMC、SSDなどのフラッシュメモリには書き換え寿命があります。短周期のログ保存や同じファイルの頻繁な更新によって、特定領域の劣化が進む場合があります。
保存周期、書き込み量、ログのローテーション、データベースの更新頻度、空き容量監視などを設計します。
セキュリティ
不要なサービスや通信ポートの無効化、利用者権限の制限、認証、暗号化通信、ログ管理、ネットワーク分離などが必要です。
ネットワークへ接続する製品では、出荷時の初期設定だけでなく、脆弱性が見つかった後にどのように更新するか、更新できない場合にどのように隔離するかまで検討します。
ソフトウェア更新と復旧
Linuxシステムでは、カーネル、デバイスドライバー、ライブラリ、アプリケーションが互いに依存しています。単独で一部を更新すると、互換性の問題が発生する場合があります。
更新前後のバージョン管理、更新中の電源断、更新失敗時の復旧、設定値の引き継ぎ、旧バージョンへの切り戻しなどを設計します。
時刻管理
計測データや警報履歴を扱う製品では、時刻の正確性が重要です。RTC、NTP、GPS/GNSSなどを利用して時刻を合わせ、ネットワーク切断中や電源断中の時刻保持方法も検討します。
長期供給と保守
産業用製品は長期間使用されるため、Linuxディストリビューション、カーネル、CPU、基板、ライブラリのサポート終了が問題になることがあります。
ソースコードだけでなく、クロスコンパイラ、ビルド手順、設定ファイル、パッチ、ライセンス情報、使用部品のバージョンを管理し、開発担当者が変わっても再構築できる状態を保ちます。
異常時の動作設計
Linux搭載機器では、アプリケーションが停止した場合と、OSそのものが停止した場合を分けて考えます。
アプリケーション異常に対しては、プロセス監視、自動再起動、ウォッチドッグ、エラーログ保存などを設けます。OS停止や起動不能に対しては、ハードウェアウォッチドッグ、予備起動領域、復旧用媒体、保守端子などを検討します。
自動再起動を行う場合も、再起動を繰り返すだけでは原因を把握できません。再起動回数、異常発生時刻、直前の処理、通信状態、ストレージ状態などを記録し、保守時に確認できるようにします。
ハカルプラスにおけるLinuxの活用
ハカルプラスでは、一部の製品またはシステムにおいて、LinuxベースのOSを用いた開発実績があります。
SBCなどのコンピュータ基板を組み込み、通信、画面表示、データ保存、外部システム連携などの機能を持たせる場合、ハードウェアとソフトウェアを一体として設計します。
Linux搭載基板の選定、メモリ・ストレージ容量、センサや外部機器との接続、通信、表示器、起動時間、データ保存、電源断対策、異常時復旧、ソフトウェア更新、長期保守などを、製品の運用条件に応じて検討します。
よくある質問
Q. Linux搭載機器の電源を主電源と同時に切っても問題ありませんか?
A. 書き込み処理中に電源が切れると、データやファイルシステムが破損する可能性があります。読み取り専用化、電源断検出、終了処理用の電源保持など、製品構成に応じた対策が必要です。
Q. Linux機器の起動時間を短くできますか?
A. 不要なサービスやドライバーを減らす、初期化処理を見直す、アプリケーションの起動順序を調整するなどの方法があります。必要機能と保守性を維持しながら最適化します。
Q. Linuxを使用すれば制御用マイコンは不要になりますか?
A. 必ずしも不要にはなりません。厳密な周期処理や安全に関わる入出力制御はマイコンやPLCへ任せ、Linuxは通信、表示、保存などを担当する構成があります。
Q. ソフトウェア更新に失敗した場合でも復旧できますか?
A. 更新前の領域を残す、二つの起動領域を切り替える、復旧用媒体を用意するなどの構成を事前に設計していれば、復旧できる可能性が高まります。
Q. Linuxのサポートが終了した場合はどうなりますか?
A. 直ちに動作しなくなるとは限りませんが、セキュリティ修正や新しい部品への対応が受けられなくなる場合があります。製品寿命、ネットワーク接続の有無、更新可能性を踏まえて移行計画を検討します。
関連ワード
NORTiは、株式会社ミスポが開発・提供する、組込みシステム向けのリアルタイムOSです。
μITRON仕様に基づいて設計されており、マイコンを搭載した計測機器、制御機器、通信機器などで、複数の処理を決められたタイミングで実行するために使用されます。
ハカルプラスでは、計測事業に関連する一部の製品でNORTiを使用した開発実績があります。
リアルタイムOSとは
リアルタイムOSは、必要な処理を定められた時間内に実行することを重視したOSです。RTOS(Real-Time Operating System)とも呼ばれます。
組込み機器では、センサの読み取り、計測値の演算、出力制御、通信、表示、データ保存などを並行して行います。リアルタイムOSを使用すると、これらを役割ごとの「タスク」に分け、優先順位や実行タイミングを管理できます。
例えば、周期計測や異常監視を高い優先順位で実行し、表示更新や履歴保存をそれより低い優先順位で動作させる構成が考えられます。
μITRON仕様とNORTi
μITRONは、組込みシステム向けリアルタイムOSの標準的な仕様です。タスク管理、同期・通信、時間管理、割り込み処理などに関するAPIが定められています。
NORTi Professionalは、μITRON 4.0仕様とμITRON 3.0仕様に対応しています。ただし、μITRONは共通仕様であり、すべてのリアルタイムOS製品が同じ機能や性能を持つわけではありません。対応CPU、コンパイラ、拡張機能、ミドルウェアなどは製品ごとに異なります。
NORTiの主な機能
タスクと優先順位の管理
計測、通信、表示、保存などの処理を別々のタスクとして構成し、重要度に応じて優先順位を設定します。
高い優先順位の処理を増やしすぎると、低い優先順位のタスクが実行できなくなることがあります。各処理の周期、最大実行時間、応答期限を整理して優先順位を決める必要があります。
タスク間の同期・通信
複数のタスクがデータやハードウェアを共有する場合は、同時アクセスによる不整合を防ぐ必要があります。セマフォ、イベントフラグ、データキューなどを利用し、処理の順序やデータの受け渡しを管理します。
時間管理
一定周期で処理を起動する、指定時間だけ待機する、通信応答がない場合にタイムアウトとするなど、時間に関する処理を管理します。
割り込み処理
タイマーや通信回路、外部入力などから割り込みが発生したときに、必要な処理を速やかに開始します。
割り込み処理内で長時間の演算や通信を行うと、他の処理へ影響します。そのため、割り込み内では状態取得などの必要最小限の処理を行い、その後の演算や保存をタスクへ引き渡す構成が基本です。
リアルタイム性を確保する設計
NORTiを採用するだけで、すべての処理が自動的に所定時間内へ収まるわけではありません。
タスクの実行時間、割り込み処理時間、優先順位、排他制御、通信待ち、使用するミドルウェア、CPU性能などを確認し、最も負荷が高い状態でも必要な処理が完了するように設計します。
特に、低優先度タスクが保持している共有資源を高優先度タスクが待つ「優先度逆転」や、複数の処理が互いの資源解放を待ち続ける「デッドロック」に注意が必要です。
TCP/IP通信への対応
NORTi Professionalには、組込み機器向けのTCP/IPスタックが用意されています。Ethernetを利用して、計測データの送信、設定値の受信、時刻同期、ファイル転送などの機能を構築できます。
通信処理を組み込む際は、正常時の送受信だけでなく、ケーブル断、相手機器の停止、応答遅延、通信データの欠損などを想定します。タイムアウト、再接続、再送回数、異常履歴、復旧条件をあらかじめ設計します。
通信処理を高い優先順位で長時間動作させると、周期計測へ影響する場合があります。通信とリアルタイム制御のタスクを分離し、通信異常が制御全体の停止へ直結しない構成を検討します。
ミドルウェアとの組み合わせ
用途に応じて、ファイルシステム、SSL・TLS、HTTPサーバーなどのミドルウェアを組み合わせることができます。
SDカードやフラッシュメモリへデータを保存する場合は、記録媒体用のドライバーとファイルシステムが必要です。暗号化通信を行う場合は、通信処理だけでなく、証明書、暗号鍵、時刻、更新方法も管理します。
ミドルウェアを追加すると、ROM・RAMの使用量や処理負荷が増加します。APIの適合性、スレッドセーフ、割り込みとの関係、ライセンス条件も確認する必要があります。
NORTiとLinuxの使い分け
NORTiは、限られたCPU・メモリ上で、周期計測や入出力制御などを決められた時間内に実行する用途に適しています。
Linuxは、画面表示、データベース、Web機能、大容量ストレージ、複数のネットワーク機能などを構築しやすい一方、一般的な構成では厳密な応答時間を必要とする制御に適さない場合があります。
製品によっては、NORTiを搭載したマイコンで計測とリアルタイム制御を行い、LinuxやWindowsを搭載したSBC・FAパソコンで画面表示、データ保存、上位通信を行うように役割を分担します。
既存NORTi製品を更新する際の注意点
既存製品を更新する場合は、NORTiのソースコードだけでなく、対象マイコン、コンパイラ、デバッガ、スタートアップ処理、割り込み設定、デバイスドライバー、通信スタック、ミドルウェアを確認します。
ソースコードが残っていても、使用していた開発環境やライセンス、書き込み装置などが失われていると、同じプログラムを再構築できないことがあります。
マイコンを変更する場合は、CPU性能やメモリ容量だけでなく、割り込み構成、タイマー、通信周辺回路、エンディアン、データ型の違いなどを確認し、実機で周期処理と異常時動作を再評価します。
ハカルプラスにおけるNORTiの活用
ハカルプラスでは、計測事業に関連する一部の製品でNORTiを使用した開発実績があります。
NORTiを搭載した組込み機器では、センサ信号の周期的な取得、計測値の演算・補正、操作入力、表示制御、異常監視、シリアル通信、Ethernet通信、設定値や計測値の保存などを構成できます。
ソフトウェアだけでなく、マイコン、計測回路、電源回路、通信回路、プリント基板、記録媒体、筐体、外部機器との接続まで含めて製品全体を検討します。
よくある質問
Q. 古いNORTi製品のソースコードがあれば、そのまま再構築できますか?
A. ソースコードだけでは再構築できない場合があります。NORTiのパッケージ、ライセンス、コンパイラ、リンカ設定、デバイスドライバー、書き込み環境なども確認する必要があります。
Q. マイコンの生産終了に伴い、別のCPUへ移植できますか?
A. 移植できる場合がありますが、NORTiの対応状況、割り込み、タイマー、周辺回路、ドライバー、処理時間などを確認し、ソフトウェアとハードウェアの両方を再評価します。
Q. 通信処理が増えると周期計測へ影響しますか?
A. 通信タスクの優先順位や処理時間によっては影響します。受信処理、データ解析、再送、暗号化などを分離し、計測タスクの応答時間を妨げないように設計します。
Q. タスクが停止した場合、自動復旧できますか?
A. タスク監視やウォッチドッグを設けることで、異常検出や再起動を行える場合があります。ただし、単に再起動するだけでなく、出力を安全な状態へ移す処理や異常原因を残す仕組みが必要です。
Q. NORTi製品をLinuxへ置き換えた方がよいですか?
A. 必ずしも置き換える必要はありません。厳密な周期処理が必要な部分はNORTiに残し、画面やデータ管理だけをLinuxへ分担する構成もあります。製品の要求仕様と保守方針を基に判断します。
関連ワード
NORTi Professionalの詳細は、株式会社ミスポの公式サイトをご確認ください。
WES2009は、「Windows Embedded Standard 2009」の略称で、Microsoftが提供していた組込み機器向けのオペレーティングシステムです。
Windows XP Professional Service Pack 3を基盤としており、一般的なWindowsの機能から、装置に必要な機能を選択して構成できることが特長です。
Windows用に開発されたソフトウェアや周辺機器を活用しやすいため、産業用端末、表示装置、監視システム、計量制御盤などで利用されてきました。
ハカルプラスでも、仕様が複雑化した一部の計量制御盤において、従来のWindows用ソフトウェア資産を活用し、開発期間を短縮する目的でWES2009を採用した実績があります。
WES2009の主な特長
Windows XP系ソフトウェアを活用しやすい
WES2009はWindows XP Professional SP3を基盤としているため、当時のWindows向けアプリケーション、通信ライブラリ、デバイスドライバーなどを利用しやすいOSです。
既存ソフトウェアを流用できれば、専用の組込みOS向けに一から開発する場合と比べて、開発期間を短縮できることがあります。
ただし、すべてのWindows XP用ソフトウェアがそのまま動作するわけではありません。WES2009に組み込んだ機能、使用するドライバー、外部ライブラリなどを確認する必要があります。
必要な機能を選んで構成できる
一般的なパソコン用Windowsには多くの機能が含まれますが、WES2009では用途に必要な機能を選択してOSを構成できます。
- 画面表示・タッチ操作
- Ethernet・シリアル通信
- USB機器・記録媒体への対応
- データベース接続
- プリンター・帳票出力
- .NET Frameworkを利用するアプリケーション
不要な機能を省くことで、ストレージ容量や管理対象を抑え、特定用途に限定した専用端末を構築できます。
専用端末として運用できる
起動後に計量・監視ソフトウェアを自動的に立ち上げ、利用者がWindowsのデスクトップを操作しない構成にできます。
OSや設定の変更を制限し、決められたアプリケーションだけを使用することで、計量制御盤や表示端末として運用できます。
計量制御盤での利用
計量制御盤では、PLCや計量コントローラによる設備制御に加えて、パソコン側で多くの情報を扱うことがあります。
- 計量設定値・配合情報の管理
- 計量値・設備状態の表示
- 品種・原料・ロット情報の管理
- 製造実績・計量実績の保存
- 日報・月報・帳票の作成
- PLCや計測機器との通信
- 生産管理・基幹システムとの連携
機能が複雑になると、PLCやタッチパネルだけで処理するよりも、Windows上で動作する専用ソフトウェアを組み合わせる方が適する場合があります。
WES2009を利用することで、従来のWindows向けソフトウェアや通信部品を活用しながら、制御盤へ組み込む専用端末を構築できました。
PLC・計量コントローラとの役割分担
WES2009端末は、設備の安全制御を直接担当するものではありません。一般的には、次のように役割を分担します。
- PLCが設備の順序制御とインターロックを行う
- 計量コントローラが重量演算と計量動作を行う
- WES2009端末が設定・表示・実績保存を行う
- 端末が帳票作成や上位システム連携を行う
端末やアプリケーションが停止した場合でも、設備を安全に停止できるよう、制御と情報処理を分離して設計します。
書込み保護と電源断対策
WES2009では、ストレージへの書込みを一時領域へ転送し、OS領域の変更を抑える書込み保護機能を利用できる構成があります。
専用端末では、不意の電源断や誤操作によるOS破損を防ぐために有効ですが、すべてのデータを書込み禁止にすると、設定や実績も保存できません。
そのため、OS、アプリケーション、設定、実績データの保存領域を分け、どの情報を電源再投入後も保持するかを設計します。
WES2009のサポート終了による課題
WES2009はすでにMicrosoftのサポートが終了しており、新しいセキュリティ更新や不具合修正は提供されません。
既設設備で動作を継続できる場合でも、次のような課題があります。
- 新たな脆弱性が修正されない
- 交換用端末を入手しにくい
- 新しい周辺機器用ドライバーがない
- 新しい通信方式や暗号化方式に対応できない
- 現行のデータベースや上位システムと接続できない
- 故障後に同じ環境を再構築できない可能性がある
現在は新規設備へ採用するOSではなく、既設設備の保守と更新を計画する対象として扱います。
継続使用する場合の対策
設備更新までWES2009を使用する場合は、外部からの脅威を減らし、故障時に復旧できる状態を整えます。
- インターネットへ直接接続しない
- 設備ネットワークと社内ネットワークを分離する
- 通信先と使用ポートを制限する
- 不要なサービスを停止する
- 私物のUSBメモリを接続しない
- ストレージの複製を保管する
- 設定ファイル・ソースコード・復旧手順を管理する
- 交換用端末や代替機を検討する
ネットワークから隔離していても、USBメモリや保守用パソコンを介してマルウェアが侵入する可能性があります。可搬媒体の管理も必要です。
新しい環境へ移行する際の調査
WES2009端末の更新では、OSだけを交換すればよいとは限りません。既存のアプリケーションと周辺機器を含めて調査します。
- 端末のCPU・メモリ・ストレージ
- 計量・監視アプリケーション
- 開発言語とソースコード
- ActiveXや外部ライブラリ
- PLC・計量コントローラとの通信
- USB機器・通信カードのドライバー
- データベースと保存形式
- プリンター・帳票・バーコード機器
- 上位システムとの連携仕様
旧ソフトウェアで使用している部品やドライバーが新しいOSに対応していない場合は、アプリケーションの改修や再構築が必要です。
移行方法の選択
更新先には、現行のWindows IoT系OSを搭載した産業用端末、Linuxを搭載したSBC、産業用コンピュータなどがあります。
既存のWindowsアプリケーションや周辺機器を活用する場合はWindows系、データ収集やWeb画面を中心に再構築する場合はLinux系が候補になります。
移行時は、従来機能を再現するだけでなく、画面操作性、データベース、ネットワークセキュリティ、遠隔監視、バックアップ方法などの改善も検討します。
更新時の動作確認
新しい端末では、アプリケーションが起動することだけでなく、設備全体として正しく動作することを確認します。
- PLC・計量コントローラとの通信
- 設定値の送受信
- 計量実績の保存と検索
- 警報・通信異常時の処理
- 帳票・CSVの出力内容
- プリンターやUSB機器の動作
- 停電・再起動後の復旧
設備停止時間を短縮するため、事前に模擬機器を使って検証し、旧端末へ戻す切り戻し手順も準備します。
ハカルプラスのWES2009対応
ハカルプラスでは、一部の計量制御盤でWES2009を搭載したシステムを開発した実績があります。
既設システムでは、端末構成、計量・監視ソフトウェア、PLC通信、データベース、周辺機器を確認し、保守継続、新しいWindows環境への移行、システム再構築などを検討します。
OSだけでなく、制御盤、PLC、計量コントローラ、通信、実績管理まで含め、設備全体として更新方法を設計します。
よくある質問
Q. WES2009端末はすぐに交換する必要がありますか?
A. 稼働状況やネットワーク構成によって緊急度は異なります。ただし、故障や部品入手不能に備え、バックアップと更新計画を早めに準備する必要があります。
Q. WES2009端末をインターネットへ接続できますか?
A. サポートが終了しているため、直接接続は避けます。必要な通信は、ネットワーク分離、ファイアウォール、ゲートウェイなどを利用して制限します。
Q. ストレージを複製すれば別の端末で起動できますか?
A. CPU、チップセット、ストレージ接続、ドライバー、ライセンスなどが異なると起動できない場合があります。同型機または交換候補機で事前確認が必要です。
Q. 新しいWindowsへアプリケーションをそのまま移行できますか?
A. 外部ライブラリ、ActiveX、通信ドライバーなどが対応していない場合があります。既存仕様を調査し、改修または再構築します。
Q. ソースコードがない場合でも更新できますか?
A. 画面、通信、データベース、帳票、設備動作を調査して再構築できる場合があります。ただし、仕様解析と動作確認に多くの工数が必要になることがあります。
関連ワード
μC3(マイクロ・シー・スリー)は、イーフォース株式会社が提供する組込み機器向けのリアルタイムOS(RTOS)です。μITRON仕様を基に設計されており、マイコンを搭載した計測機器、制御機器、通信機器などで利用されます。
一般的なパソコン用OSとは異なり、限られたCPU性能やメモリ容量の中で、複数の処理を優先順位に従って実行し、必要な処理を決められた時間内に完了させることを重視します。
ハカルプラスでは、一部の計量制御盤製品にμC3を採用し、重量計測、入出力制御、通信、表示、異常監視、データ保存などを組み合わせた組込みソフトウェアを開発しています。
リアルタイムOSの役割
リアルタイムOSは、CPUの演算速度を単純に高めるものではありません。複数の処理をタスクとして分割し、重要度や処理周期に応じて実行順序を管理するためのOSです。
計量制御機器では、重量値の取得、演算、表示更新、通信、警報監視、実績保存などを並行して処理します。通信や保存に時間がかかった場合でも、計量や制御に関係する処理を優先して実行できるように設計します。
μITRON仕様との関係
μITRONは、日本で策定された組込みシステム向けリアルタイムOSの仕様です。特定のOS製品名ではなく、タスク管理、同期、通信、時間管理などの基本機能とインターフェースを定めています。
μC3はμITRON仕様を基にしたOSであり、μITRON系の設計方法や開発経験を活用しやすいことが特長です。
ただし、対応する仕様、追加機能、設定方法、開発ツールはOS製品ごとに異なります。別のμITRON系OSから移行する場合は、APIや動作の違いを確認します。
μC3の主な機能
タスク管理
処理を複数のタスクへ分け、各タスクの実行状態と優先順位を管理します。
例えば、重量値の取得や出力制御を高い優先順位にし、画面更新や履歴保存を低い優先順位にすることで、制御の応答性を確保します。
タスク間の同期・通信
セマフォ、イベントフラグ、データキューなどを使用し、複数タスクの実行順序やデータの受け渡しを管理します。
計測タスクで取得した重量値を、表示、通信、保存の各タスクへ安全に渡すといった処理に利用します。
時間管理
周期処理、一定時間の待機、通信応答のタイムアウトなどを管理します。センサの定周期読込み、表示更新、一定時間ごとの保存などに使用します。
割込み処理との連携
タイマー、通信受信、外部入力などの割込みを受け、必要なタスクを起動します。
割込み処理では必要最小限の処理だけを行い、演算、通信解析、ファイル保存などの時間がかかる処理はタスク側で実行します。
タスク構成の例
計量制御機器では、機能と処理周期に応じて次のようなタスクへ分割できます。
- 重量信号の取得・演算
- 計量シーケンスの制御
- 接点入力・出力の監視
- 表示器・操作画面の更新
- PLC・上位システムとの通信
- 設定値・補正値の管理
- 警報・異常状態の監視
- 実績データの保存
通信処理や記録媒体への書込みが遅れた場合でも、計量周期や出力制御へ影響しないように、タスク間の役割と優先順位を決めます。
ミドルウェアとの組合せ
μC3単体ですべての機能を実現するのではなく、用途に応じてミドルウェアやデバイスドライバーを組み合わせます。
- TCP/IPなどのネットワーク通信
- シリアル通信・USB通信
- ファイルシステム
- SDカード・USBメモリへの保存
- Webサーバー機能
- 表示器・センサ・入出力機器の制御
マイコン、コンパイラ、OS、ミドルウェアの対応状況を確認し、処理速度、RAM、ROM、ストレージ容量を考慮して構成します。
開発時に重要な設計項目
優先順位の設定
優先順位が不適切だと、重要な処理が遅れたり、低優先度タスクが長時間実行されなかったりします。必要な応答時間、周期、処理時間を整理して決定します。
共有データの排他制御
複数のタスクが同じデータを同時に読み書きすると、途中の値を参照するなどの不整合が発生する可能性があります。セマフォなどを利用して排他制御を行います。
スタック容量の管理
各タスクのスタック容量が不足すると、他のメモリ領域を破壊し、原因を特定しにくい異常動作につながります。
実機で最大使用量を確認し、割込みや関数呼出しの深さも考慮して余裕を確保します。
処理時間の確認
高優先度タスクが長時間CPUを占有すると、他の処理が実行できません。処理時間を測定し、必要に応じて演算や通信処理を分割します。
異常発生時の設計
組込み機器では、通信停止、センサ異常、記録媒体のエラー、メモリ不足、タスク停止などを想定します。
- 通信タイムアウト後に再接続する
- 異常値を制御に使用しない
- 保存失敗時に警報を出力する
- ウォッチドッグで動作停止を検出する
- 必要に応じてタスクや装置を再起動する
- 安全に関係する出力を安全側へ移行する
タスクだけを再起動するか、装置全体を再起動するかは、異常の影響範囲と復旧後の状態整合性を考慮して決定します。
ハカルプラスのμC3対応
ハカルプラスでは、一部の計量制御盤製品にμC3を採用し、計量、制御、通信、表示、記録を組み合わせた組込みソフトウェアを開発しています。
タスク構成や優先順位の設計だけでなく、重量信号処理、割込み、入出力、PLC通信、記録媒体、異常監視、ウォッチドッグまで含めて構築します。
OS単体ではなく、マイコン、回路、計量センサ、通信インターフェース、表示器などを含め、製品全体が安定して動作するように設計・評価します。
よくある質問
Q. μC3を採用すれば処理が高速になりますか?
A. CPU自体が高速になるわけではありません。処理をタスクへ分け、重要な処理を優先することで、必要な応答時間を確保しやすくなります。
Q. 優先順位を高く設定すれば処理遅れを防げますか?
A. 高優先度タスクの処理が長すぎると、他のタスクが実行できなくなります。優先順位だけでなく、各処理の実行時間も管理する必要があります。
Q. 通信やSDカードへの保存中も計量処理を継続できますか?
A. 計量、通信、保存を別タスクに分け、優先順位やデータ受渡しを適切に設計すれば、保存処理による計量への影響を抑えられます。
Q. タスクが停止した場合は自動復旧できますか?
A. ウォッチドッグや監視タスクで異常を検出し、タスク再起動や装置再起動を行う構成を検討できます。復旧後のデータと出力状態も考慮します。
Q. 別のμITRON系OSからμC3へ移行できますか?
A. 移行できる場合がありますが、API、コンフィグレーション、割込み、ドライバー、ミドルウェアの違いを確認し、実機で再評価する必要があります。
関連ワード
Windows 10 IoTは、Microsoftが組込み機器や特定用途の専用端末向けに提供してきたWindows系OSです。
産業用パソコン、計量制御盤、監視端末、デジタルサイネージなど、用途を限定して長期間使用する装置への搭載を想定しています。
一般的なWindowsアプリケーションや周辺機器を活用しながら、専用アプリケーションの自動起動、操作制限、書込み保護などを組み合わせられることが特長です。
ハカルプラスでは、複雑化する計量制御盤や情報処理端末にWindows 10 IoTを採用し、表示、設定、実績保存、帳票出力、上位システム連携などを実現した実績があります。
Windows 10 IoTの主な種類
Windows 10 IoT Enterprise
Windows 10 Enterpriseと共通する機能が多く、一般的なWindowsデスクトップアプリケーション、デバイスドライバー、通信ソフトウェアなどを利用しやすいエディションです。
産業用パソコン、パネルコンピュータ、計量制御盤、監視端末など、複雑な画面や豊富な周辺機器への対応が必要な装置に利用されます。
Windows 10 IoT Core
小型機器向けに提供されたエディションです。一般的なWindowsデスクトップとは画面やアプリケーションの仕組みが異なり、従来のWindows用ソフトウェアをそのまま利用できるとは限りません。
Windows 10 IoTを扱う際は、名称だけでなく、EnterpriseまたはCoreの区分、LTSCの有無、バージョンを確認する必要があります。
Windows 10 IoT Enterprise LTSC
産業用設備では、長期間の安定運用を重視したLTSCが採用されることがあります。LTSCは「Long-Term Servicing Channel」の略です。
頻繁な機能変更を抑えながら、対象期間中のセキュリティ更新や品質更新を受けられるため、画面や動作が変わると設備運用へ影響する専用端末に適しています。
ただし、LTSCには複数の版があり、サポート期間も異なります。導入済み端末では、OS名だけでなく、エディション、バージョン、ビルド番号を確認することが重要です。
一般的なWindows 10との違い
Windows 10 IoT Enterpriseは、技術的には一般的なWindows 10 Enterpriseと共通する部分が多い一方、特定用途の専用機器へ組み込むことを前提としたライセンスや機能を備えています。
利用者が文書作成やWeb閲覧などへ自由に使用するパソコンではなく、計量、監視、受付、表示など、あらかじめ決められた機能を実行する端末として運用します。
Windows 10 IoTを採用する利点
既存のWindows資産を活用しやすい
Visual Basic、C#、C++などで開発したアプリケーションや、通信、データベース、帳票処理の既存資産を利用できる場合があります。
すべてを新規開発する場合と比べて開発期間を短縮できますが、OSの32ビット・64ビット、外部ライブラリ、ドライバーの対応状況は確認が必要です。
複雑な情報処理に対応できる
PLCや一般的なタッチパネルだけでは構築しにくい、実績検索、グラフ表示、帳票作成、データベース管理、上位システム連携などを実現できます。
周辺機器を利用しやすい
ディスプレイ、タッチパネル、USBメモリ、プリンター、バーコードリーダー、通信変換器など、Windows対応機器を利用しやすいことも利点です。
ただし、端末更新時に同じ周辺機器を使用できるとは限りません。新しいOSへ対応するドライバーがあるかを確認します。
計量制御盤での役割
計量制御盤では、設備制御に加えて、配合、品種、原料、実績、帳票など、多くの情報を扱います。
- 計量値・設備状態の表示
- 配合・品種・原料情報の管理
- 計量設定値の登録・変更
- 製造実績・計量実績の保存
- 警報・操作履歴の記録
- 日報・月報・帳票の出力
- PLC・計量コントローラとの通信
- 生産管理・基幹システムとの連携
設備の順序制御や安全に関係するインターロックはPLCが担当し、Windows端末は表示、設定、保存、情報連携を担当する構成が一般的です。
Windows端末やアプリケーションが停止した場合でも、設備を安全に停止できるよう、制御と情報処理を分離します。
専用端末として使用するための機能
専用アプリケーションの自動起動
端末の起動後に計量・監視アプリケーションを自動的に立ち上げ、利用者へWindowsのデスクトップを表示しない構成にできます。
操作・機器の制限
設定画面、ショートカットキー、USB機器などを制限し、誤操作や不正なデータ持出しを防止します。
書込み保護
OS領域への書込みを制御し、不意の電源断や利用者の操作によるシステム変更を抑える機能を利用できます。
実績や設定を保存する場合は、OS領域とデータ領域を分け、どの情報を再起動後も保持するかを設計します。
更新プログラムの管理
産業用端末では、更新プログラムを適用した直後に再起動すると、設備運転へ影響する可能性があります。また、更新によってアプリケーションや通信ドライバーの動作が変わることもあります。
事前に評価用端末で動作を確認し、設備を停止できる日時に適用します。問題が発生した場合に元へ戻せるよう、バックアップや切り戻し手順も準備します。
電源断とデータ保護
Windowsの動作中に電源が切れると、OS、データベース、実績ファイルなどが破損する可能性があります。
- 無停電電源装置から停電信号を受け取る
- アプリケーションとWindowsを安全に終了する
- 書込み保護機能を利用する
- 重要データを別媒体へバックアップする
- 復旧用のストレージイメージを保管する
端末が再起動した後に、未完了の実績や設備状態をどのように復旧するかも決めておく必要があります。
既設設備を更新する際の確認項目
WES2009などの旧OSから更新する場合、OSだけを交換すればよいとは限りません。
- 既存アプリケーションとソースコード
- Visual Basicや外部ライブラリのバージョン
- PLC・計測器との通信ドライバー
- データベースと保存形式
- プリンター・USB機器・バーコード機器
- 画面解像度とタッチパネル
- 上位システムとの通信仕様
旧アプリケーションを継続利用する方法と、新しい環境に合わせて再構築する方法を比較し、将来の保守性を含めて更新方針を決定します。
ハカルプラスのWindows 10 IoT対応
ハカルプラスでは、Windows用ソフトウェア資産と、計量、制御、通信、データベースの技術を組み合わせ、Windows 10 IoTを搭載した計量制御盤や情報処理端末を開発しています。
産業用端末の選定、計量・監視アプリケーション、PLC通信、実績保存、帳票出力、上位システム連携、電源断対策まで、設備全体として構成を検討します。
既設のWindows EmbeddedやWES2009を使用した設備についても、既存資産を調査し、保守継続、端末交換、新しいWindows環境への移行などを検討します。
よくある質問
Q. 一般向けWindows 10のサポート終了後もWindows 10 IoTを使用できますか?
A. Windows 10 IoTはエディションやLTSCの版によってサポート期間が異なります。端末に搭載されている正確なエディション、バージョン、ビルド番号を確認する必要があります。
Q. Windows 10 IoT端末を自由に事務用パソコンとして使用できますか?
A. 特定用途の専用端末として使用することを前提としています。ライセンス条件と端末の用途を確認し、計量、監視、表示などの決められた機能に限定して運用します。
Q. WES2009のアプリケーションをそのまま移行できますか?
A. アプリケーション本体だけでなく、ActiveX、通信ドライバー、データベース、周辺機器などの互換性確認が必要です。改修や再構築が必要になる場合があります。
Q. Windows端末が停止すると計量設備も停止しますか?
A. PLCや計量コントローラ側で運転と安全制御を完結させていれば、Windows端末の停止時にも安全な状態へ移行できます。端末停止時の設備動作をあらかじめ設計します。
Q. Windows 11 IoTへ更新した方がよいですか?
A. 新規設備では、必要なアプリケーションや周辺機器の対応状況、設備の使用予定期間を確認し、Windows 11 IoTを含む現行環境から選定します。