初めまして。
シリアルインターフェースに関する質問です。
RS232Cで他社製ステッピングモータドライバを動かしながらDAQでデータを取り込む分光計測をしています。
年代物のLabView5.1で書いたプログラムをWin98で走らせていたのですが、このほど7.1用に書き換えて、OSもXPに乗り換えました。
マシンはPen2.4GHzでメモリは1GB積んでいます。
5.1のシリアルポート読み出し関数が7.1では使えませんからVISA読み出し関数のサンプルであるBasic Serial Write&Read.viを改変して組み込んでみました。
ところが、動作はするのですが、速度が目も当てられないくらいに遅くなってしまいました。
これまではマイクロステップ動作を4000点させても数分で測定できたものが、数十点の測定に数分もかかってしまいます。
最初はいくぶん早いのですが、すぐに遅くなり、1ステップの動作(書き込みとacknowledge読み出し)に0.5秒はかかるようです。
もちろん、待ち時間などは一切入れていませんし、マイクロステップの微小動作ですからモータ自体の動作は数十ミリ秒です。
Basic Serial Write&Read.viというのは単純なプログラムで、ループにしてくり返しても遅くなるようなものではないと思うのですが。
この速度ではとても実験ができず、困り果てています。
このような症状の原因として何が考えられるでしょうか?
VISA関数のボトルネックはどこなのでしょう?
ご教示いただければ幸いです。
よろしくお願いいたします。