From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
04-18-2016 02:18 AM - 編集済み 04-18-2016 02:20 AM
Windows Embedded Standard 7にDAQmx15.1.1、VISA15.0、NI488.2 15.0をインストールしています。
ソフトウエアはLabVIEW2013で作成。
組み込み環境なので、ハードウエアの構成が変更されることはありません。
電源を切るとPCの電源も直ちに切れます。
NIのドライバ類がSSDへの書き込みを行っているみたいなのですが、これをやめさせるにはどうしたら良いでしょうか。
現状だと電源切断のタイミングによって、OSそのものの起動にキー入力を求められたり、OSが起動してもハードウエアにアクセスできなくなったりすることがあります。
運用時にはキーボードもディスプレイも接続されていないため、この現象が発生するとどうにもならなくなります。
04-20-2016 01:50 AM
sanmaiさん、こんにちは。
起動する際のキー入力は少し想像できなかったので、何かスクリーンショットを投稿していただけますか?
後は、プログラムが実行されている中で電源を切断しているとの理解でよろしいですか?
もしそうであれば、Embeddedであっても、マイクロソフトによりデータ破損が発生してしまう可能性は高いようですが。。。
04-20-2016 02:59 AM
sanmai様 (foxhound73 様お邪魔します)
>OSが起動してもハードウエアにアクセスできなくなったりすることがあります。
・DAQ・VISAのデバイスって、デバイスUSB接続じゃないでしょうか?(接続デバイス数がそれなりにある/USB Hubも使っている/同じ型式の物がある?←関係あるかは謎)
・デバイスを同時に電源ONしている。(又は先にONされている)
で症状が
①USBデバイスを認識しない場合がある(不正なデバイス) *Windows Embedded Standard 7は解りませんが
②デバイスを認識してても通信できない場合がある(VISA←固まっている)
とか?
04-20-2016 03:08 AM
BIOSのロゴ表示後に通常はBIOSの起動メッセージ(リカバリはどのキーを押せとか、設定はどのキーを押せとそういったやつ)が表示されるのですが、
起動できないときは添付画像(ぼけていますが "Non-system disk, press any key..." と表示されています)の表示となりキー入力待ちにになります。
キーボードを接続してキーを押せば正常に起動しますが、運用上許されません。
電源切断はプログラム実行中に切る感じで間違いありません。
OSはSSDへの書き込みを行わない様に構成してもらっています。
04-20-2016 03:16 AM
USB接続のUSB-6501とUSB-GPIB-HSを使用しています。
あと本体に搭載されているシリアルポートを使用しています。
デバイスにアクセス不能になるときのエラーコードは-200088です。
04-20-2016 03:44 AM
なるほど。。。
BIOSのブート順番としては、何かUSBやOSに入っているSSDじゃないディスクがSSDの前に設定されたりすることはありえますか?
04-20-2016 04:52 AM
04-20-2016 07:17 PM
起動順位はSSDが優先になっています。
2位がBuilt-in EFI Shellというものですが、これが何かはわかりませn。
04-20-2016 07:51 PM
重要な情報が抜けていました。
LabVIEWで作成したプログラムは明示的なSSDへの書き込みアクセスはしていません。
動作させる上でいくつかの設定がありますが、シリアル接続されたインテリジェントな外部デバイスに記録しています。
ハードウエア構成の更新は、初期化時あるいは初めてデバイスにアクセスした際に行われるようで、LabVIEWアプリ起動直後の一定のタイミングをずらせば起動に支障が出るようなことはありません。
こちらに質問した後、PCメーカーのサポートさまから、メーカー提供のEWFというSSD保護プログラムを設定したらどうかという提案をいただき、本質的な解決では無いものの、それ以降現象は再現しなくなりました。
できればディスクへの書き込みそのものをなくしたいので、質問は継続させていただきたいと思います。
この製品では無く別の製品を使わなくては駄目だというような回答でもかまいません。
05-05-2016 07:59 AM
そもそものご質問の「NIのドライバ類がSSDへの書き込みを行っているみたい」というのはどのような状況から判断されていますでしょうか。
EWFの設定が有効なようですが、本質的な解決ではないと仰るのはなぜでしょうか。いい具合に改善しているように思えるのですが。。。
MAXのデータベースの更新が問題であるのであれば関連していそうなサービス(頭にNIと付いているもの)を無効化してみると良いと思います。ただ、サポート外になるかとは思います。
NI製品で組み込むのであればNI社提供のRTOSを使用したほうが色々と恩恵がありそうですが如何でしょう。
その場合でもいわゆる電源のブツ切り(突然断)は避けるべきで、何も動作していないシャットダウンモードをアプリケーションで用意したほうが良いかと思います。
ちなみにアプリケーション開発環境はLabVIEWでしょうか?200088が出るのはタスクが存在しないためなので、本来はその前の仮想チャンネル作成にて「物理チャンネルが存在しない」というエラーが発生しそうな気がします。エラーハンドリングが適切にされていないのではないかなと思いますが如何でしょう。