PC でリアルタイム処理を実装してみる Part 2 ~Windowsソフトリアルタイム編~

こんにちは、プライムモーションの中年エンジニア”モーション太郎”です。

久しぶりの更新になります。

前回は、Windows 10 IoT Enterpriseに実装された「SoftRealTime」の評価をおこない、基本的には高いリアルタイム性が要求されるモーションコントロールにも利用可能なレベルの性能を実現できることがわかりました。
そこで、今後の製品開発に「SoftRealTime」を採用することとなりました。

しかしながら、長期間のサポートが必要なFA機器への採用となるので、今後のWindowsバージョンでも「SoftRealTime」機能が継続して実装されるかが気になります。前回評価したOSはWindows10 IoT Enterprise LTSC 2021なので、サポート終了が2032年1月13日となり、今から新製品に採用した場合、実質5年程度のサポート期間と微妙なところです。

そこで、最近リリースされたWindows11 IoT Enterprise LTSC 2024でも同様に「SoftRealTime」機能が使用可能であるか?また、性能はどうか?を評価してみました。
※Windows11 IoT Enterprise LTSC 2024 のサポートは2034年10月10日まで

環境準備

「SoftRealTime」機能についての調査

Webなどを見てもWindows 11 IoT Enterprise LTSC 2024 に「SoftRealTime」機能が含まれているか確認ができなかったので、代理店に問い合わせたところ、Windows10 IoT Enterprise LTSCと同様の機能が実装されているとのことでした。
そこで、Windows11 IoT Enterprise LTSC 2024の評価版を使用して前回と同様の評価を行いました。

Windows 11 IoT Enterprise LTSC 2024 のインストール

以下のサイトからOSイメージをダウンロードし、インストールディスクを作成します。
Windows 11 IoT Enterprise LTSC

サイト内のGet Started for freeに移動します。

必要事項を入力してDownload nowをクリックすると、iso形式のイメージファイルがダウンロードできますので、USBメモリなどに起動ディスクを作成してPCにインストールします。
※評価版は90日間の期間限定で使用可能です。

インストール完了後、起動すると右下に

Windows11 IoT Enterprise LTSC Evaluation
Windows License valid for 89 days
Build 26100.ge_release.240331-1435


と表示されます。

SoftRealTimeの有効化

前回と同様の手順で「SoftRealTime」環境を構築します。
※使用機材も前回と同じです。

※設定方法は前回記事を参照ください。

特段つまずくこともなく、まったく同じ手順で設定ができました

リアルタイム性能の検証

検証は前回と同様で「EtherCATを使用したモーションコントロールプログラム」を使用して行い、
1ms周期で5軸のモータを同期制御した場合の、制御周期のばらつきを確認しました。

評価結果

1ms周期で制御を行ったときのばらつきは、±34us程度と良好なリアルタイム性能を実現できました
処理時間もAverage 139usに対して、最大178usと大きなばらつきはありませんでした。

また、他のプロセスの影響を確認するために、同一のPC上でいつものようにyoutubeを見ながらvisualstudioを使用したプログラム開発を行ってもリアルタイム性能が悪化することはありませんでした

まとめ

Windows11でもWindows10と同様にSoftRealTime機能が使用可能であるかの調査を行いました。

結論としては、
最近リリースされたWindows11 IoT Enterprise LTSC 2024でも「SoftRealTime」機能は実装されており、
Windows10とまったく同じ設定方法で使用が可能です。また、リアルタイム性能もWindows10と同程度の
性能が実現できており、同一の機能が実装されていると確認できました。

Windows11は今後もアップデートされていくと思われますので、しばらく(今後10年程度は)安心して使用可能
であると判断できます。