06-26-2022 09:58 AM
NI-VISAとVisualStudio2017 C#(WPF)でオシロスコープの画面ハードコピーデータなどを取得するプログラムを作成しています
過去にも同様のことをしており同社DPO2000B/MDO3000/MDO4000C/TBS1000シリーズや横河計測社のDLM4000シリーズでは特に問題はありませんでした
同じプログラムでMSO4/MSO5シリーズとUSBで接続したところ非常に通信が不安定でした
*IDN?のレスポンスが戻るまでに13秒程度かかり設定が悪ければタイムアウトとなるケースもあります
同機種はLAN接続も可能で、こちらでは問題はなさそうでした(MSO44で確認済み)
何か情報有りましたら紹介頂きたくよろしくお願いします
確認したオシロスコープ:MSO44、MSO58
オシロスコープのインタフェイス:USB-TMC (USB3.0)
PCとの接続:USB2.0
プログラム:
MessageBasedSession instrument; //機器接続
instrument = (MessageBasedSession)new ResourceManager().Open(VISAアドレス);
instrument.TimeoutMilliseconds = 20000; //VISAタイムアウト:20秒
instrument.RawIO.Write("*IDN?");
string result = instrument.RawIO.ReadString().Trim(); //情報取得
instrument.Dispose(); //機器解放
06-29-2022 02:36 AM
複数のPCで同じ症状、でしょうか。
NI製品のユーザよりもTektronixさんの方が情報を持っていそうな気がしますが既にTektronixにはお問合せされていますでしょうか。
07-01-2022 02:53 AM
コメントありがとうございます
2台のPCで動作を確認していますが同様でした
Tektronixとは昨年11月より断続的にメールのやりとりをしていますが原因はわかっていません
NI社に相談してはどうか、との提案を頂き先ずはこちらに質問を投稿した次第です
Tektronixの技術サポートではNI-VISAによる検証ができないためこの症状が誰にも発生するのか把握できていません
参考
https://forums.ni.com/t5/Instrument-Control-GPIB-Serial/Tektronix-MSO56-Image-Acquire/td-p/4151272
https://jp.tek.com/support/faqs/how-save-and-transfer-screenshot-4-5-or-6-series-mso
https://forum.tek.com/viewtopic.php?f=610&t=142517
07-04-2022 01:50 AM
USB 3.0ポートという点が気になりました。
機器のマニュアルを見ると、2.0ポートもあるようですが、変更してお試し頂くことは可能ですか?
古いNI-VISAだと、USB 3.0に対応していないこともあるみたいです。
07-04-2022 09:38 AM
コメントありがとうございます
私もUSB3.0という点が気になります
MSO58とMSO34を確認してみましたが、何れもUSB DeviceポートはUSB3.0しか有りませんでした
接続しているUSBケーブルは2.0なので3.0で動くことはないのですが何か問題があるのかもしれません
NI-VISAは古いものを使用していますのでこの辺りも確認してみたいと思います
07-07-2022 09:52 PM
メーカーも測定器種類も異なりますが、以前同じようなことがありました。
症状としては、
・NI-VISAとKeysightのインピーダンスアナライザの組み合わせでUSBTMC接続できない。(今回と異なるのは、この件では通信は必ず失敗する点。他の通信手段(GPIB , LAN)は問題無し)
・Keysight VISAとKeysightのインピーダンスアナライザの組み合わせであればUSBTMCで正常に使える
でした。
その時は、インピーダンスアナライザ側で対策ファームウェアを出していただき解決しました。
問題切り分けのために使用するVISAを変えてみるのもいいかもしれません。
02-05-2023 05:34 AM
未だに解決できていませんが調査は続けています
NI-VISAを新しいもの(2022Q4)にしても改善はありませんでした(オシロスコープのファームウェアも最新)
MessageBasedSessionの代わりにIMessageBasedSessionを使ってみても駄目でした
色々見ていく中で1つ不思議な現象を確認できました
MessageBasedSession(IMessageBasedSession)のTimeoutMillisecondsに設定した時間でResponseを受け取れていることがあることに気付きました
通常Queryではすぐに結果が得られますが、これがかなりの頻度で遅くなることが問題でした
TimeoutMillisecondsを0.5s程度以下にするとそのまま通信が継続できることが多い様子です
成功率は100%ではありませんが狙いの動作ができました
もちろん、失敗すればオシロスコープの再起動が必要です
この現象からわかることはありますでしょうか
1つの解決策かもしれませんが、画面データの転送で容量の大きい画像(BMP)などは0.5sでは時間が不足してしまいます
TimeoutMillisecondsを長くしてしまうとタイムアウトで止まってしまいます
また、TekScope Utilityというツールが存在し、こちらはNI-VISAで動いている様です
何らかの解決策が存在しているものと思われます
解決のヒント頂けますと幸いです