08-20-2009 06:37 PM
LabVIEWによる分光器(Acton SpectraPro 300i)の制御を試みています。
添付ファイルは分光器のマニュアルです。
一応、マニュアルに載っているコマンドを使って制御することができました。
しかし、[>NM],[MONO-?DONE] 等のコマンドを送っても動いてくれません。
マニュアルには[>NM]は、[?NM]や[MONO-?DONE]と一緒に使うとあるのですが、
これらのコマンドの使い方が間違っているのでしょうか。
何かお気づきの点があれば、アドバイスをお願い致します。
08-20-2009 09:06 PM
マニュアル全部読んでないので正しいかどうか判りませんが。(英語も単語程度しかわかりません)
>NM で実行し
?NM は実行中のwavelengthの値が戻ってくると思います。
MONO-?DONE は実行中か、完了かの値が戻ってくると思います。(0 or 1)
>NM は動作指示コマンド
?NM は問い合わせコマンド
MONO-?DONE は問い合わせコマンド
MONO-STOP は動作指示コマンド
リードバッファを読み取ってみてください
何かレスポンスが帰ってきていると思います。
シリアルポートのつもりで返答しています。
08-24-2009 08:49 AM
返答ありがとうございます。
少し[>NM]の意味を取り違えていたみたいです。
なんとか上手く動かす事ができそうです。
08-24-2009 08:47 PM
すでにご存知かもしれませんが
参考までに
シリアルポート通信の私が注意していた点を書いておきます。
1.受信バッファーをクリアしてから送信する。
これから送信するコマンドに対するレスポンスと関係ないデータがあると
その後の判断が正常に出来なくなるから。
2.送信コマンドに対してのレスポンスを確認してから次のシーケンスに移行する。(ハンドシェイク)
受領、受領不可、のレスポンスと応答なし(レスホンスが帰ってこない)があり
受領不可の場合、コマンド間違え、ノイズ等が考えられます。
応答なしの場合、ノイズ、ケーブル未接続が考えられます。
自動で通信する場合は、リトライするようなプログラム構成にしますが
レスポンスを見て人が判断する場合は、リトライは無くても良いかと思います。
3.大量のデータを受信する場合は、受信バッファがオーバーフローしないように
受信バッファの量を調節する。
全データをバッファにためて読込む場合と(テスト時以外はあまり使わない方法)
ループを使用し到着しているデータだけ読出し、それを連結して、ターミネータ(最終バイト)文字を
受信するまで繰り返す。方法が有ります。
05-19-2017 04:21 PM
Hi,
i am trying to interface spectrapro 300i. I am new to labview and I am figuring my way out. Will it be possible for you to share the VI you used?
Thanks