スキャン周期のタイミングについて
使用ソフトウェア: LabVIEW Modules>>LabVIEW Real-Time Module
使用ソフトウェア・バージョン: 2014 SP1
使用ソフトウェア・バージョンに特化: N/A
二次のソフトウェア: Driver Software>>NI-RIO
問題: cRIOでNIスキャンエンジンを使用する際、スキャン周期を指定できますが、スキャン周期を小さくしすぎると障害エラーが発生することがあります。ヘルプによるとスキャン周期はスキャン時間とアプリケーション論理の時間以内に収まる必要があるようですが、どのように考えて設計すればよいでしょう。
解決策:
スキャン周期で実行されます。
上記図は、スキャン時間とアプリケーション論理時間を合わせた時間は、スキャン周期以内に終わることが推奨される、ということを示しています。
例えばタイミングループ内でPID制御を行っており、その実行に400msecかかるとします。このアプリケーションはPID制御を行うため、タイムクリティカルである必要性があります。
スキャン周期を1msecに設定した場合、タイミングループはスキャンエンジンよりも低優先度で実行されるため、PID制御の処理が1ms毎に中断されてしまいます。これではPID制御コードの確定性が確保できません。PID制御の確定性を確保するためには、スキャン周期を必ずスキャン時間+アプリケーション論理時間(この例では400ms)より長く設定する必要があります。
スキャン周期の設定の考え方としては、
スキャン周期 > スキャン時間 + アプリケーション論理
となるように検討頂くことを推奨します。
関連リンク: NIスキャンエンジンを使用する(Real-Time、Windows)
添付:
報告日時: 02/23/2016
最終更新日: 02/26/2016
ドキュメントID: 76MJPUKL
Other Support Options
Ask the NI Community
Collaborate with other users in our discussion forums
Request Support from an Engineer
A valid service agreement may be required, and support options vary by country.