11-19-2014 02:03 AM
ご協力お願いします。
シリアル通信の受信処理は何とかなったのですが、あまり意味がわかっておらず、
かつ送信処理が難航していて困っています。
受信処理:
やりたいこと⇒受信があったタイミングでバッファからデータを読み出すことを目指しています。
現状の処理⇒「VISAイベント有効」関数のイベントタイプに、シリアル文字を設定。
「VISAイベント待機」関数を用いて受信はできている。
不明点①⇒シリアル通信なのでタイムスタンプが無いことはわかっているが受信があった時の時間を得られないだろうか?
受信データを確認すると、一塊になっているのか結構なバッファサイズの受信を一度にしている。これは正しいのか?
※上記は設備環境がわるくループバックが難しく確認できていません。
送信処理:
不明点②⇒「VISAトリガアサート」関数の使用方法がよくわからない。
この関数を使用するとトリガを受信した際に送信ができるのでしょうか?
※サンプルプログラムを見つけましたが、トリガを予約したり解除したりしかしておらず、何ができるのか不明。
不明点③⇒「VISAファイルデータを書き込む」関数の使用方法がよくわからない。
この関数を使用するとファイルからデータを取得し、一気に送信することができるのでしょうか?
先にどんなファイルを用意しておけばいいのでしょうか?バイナリファイルとは書かれていますがフォーマット不明。
ファイル内に送信するタイミングなどを記載することはできないのでしょうか?
上記の関数などを使用方法がわかる方はご協力願えないでしょうか。
よろしくお願いいたします。
解決済! 解決策の投稿を見る。
11-24-2014 12:14 AM
環境に変化があったので、自分でいろいろと検証してみました。
不明点の①と③ですが、
①はイベントの発生からデータを取り出すけど、データ量が多いと
バッファにデータがたまっていっている最中に再度イベントが発生したと認識するような
動作でした。私が使用しているPCではデータ長が20byte以上の場合には2回イベントが
発生してました。
イベントが発生してから無理やり待機関数を入れて、20byteまとめて取得しても
イベントは発生してしまうという状況でした。
③はファイルに保存してあるデータがただ出力されるという感じでした。
結局のところですが、不明点②に関してだけ、いまだ良くわかっていません。
ViSA鳥がアサートに関してご存知の方がいらっしゃいましたらご協力お願いします。
11-25-2014 03:13 AM
こんにちは。
私の理解だと、VISAトリガアサートはLabVIEWから計測器にトリガを投げる用の関数だと思います。
そちらの計測器はトリガ受信機能をお持ちでしょうか?
計測器のメーカーや型番などは何でしょうか?
よろしくお願いします。
11-25-2014 06:05 PM
ご連絡いただき誠にありがとうございます。
VISAトリガアサート関数について回答いただきありがとうございます。
通信を行う計測器ですが、特に決まっていません。
PC同士であったり、マイコンだったり、計測器だったりで
いろいろな相手とシリアル通信ができるプログラムを構築しようと検討しています。
VISAトリガアサートがトリガを投げるということですが
逆のトリガを待つ関数はあるのでしょうか?
VISAイベント有効関数のイベントタイプにトリガとありますが
どのような待機を受けるのでしょうか?
これもまた計測器側からトリガアサートのような信号を受けるのでしょうか。
11-28-2014 04:28 AM
>どのような待機を受けるのでしょうか?
>これもまた計測器側からトリガアサートのような信号を受けるのでしょうか。
実際の使用環境によってイベントタイプを選択する必要があります。
詳細はヘルプにたよるしかないと思います。
VISAイベント
http://zone.ni.com/reference/ja-XX/help/371361J-0112/lvinstio/visa_events/
NI-VISA Programmer Reference Manual 第四章
11-30-2014 06:12 PM
ご連絡いただきありがとうございます。
イベントタイプを選択する必要があります、と回答いただきました。
今、私がやりたいことはトリガを受けるということなので
イベントではトリガ一択ということでしょうか?
ヘルプに記載されているイベントの種類に関してですが
シリアル通信に対してデジタルエッジのようなトリガは無いと元々思ってはいましたが、
トリガの中でも種類があるということなのでしょうか?
色々と回答をいただいておりますが、
質問に対して回答の内容が関連しているのかも良くわからないくらい
こちらがわかっていません。申し訳ないのですが、詳しく教えていただくことはできないでしょうか。