06-24-2016 01:01 AM
お世話になります。
添付VIへ下記2点の処理を加えたいのですがうまくできません、お力添えお願いできますでしょうか。
LABview,CANともに初心者のため基本的なところからご説明いただけると助かります。
環境:Labview Ver.10.0(32-bit),NI-CAN2.6.3,NI USB-8473
①.CAN信号をFrameからChannelへ仮想ポートを用いて変換した後、CAN受信時のタイムスタンプとChannel値の2D配列を作りたいのですがうまくいきません。
イメージ
[Timestamp1,Tachometer値1],[Timestamp2,Tachometer値2],・・・
CAN257のCAN Initializeをtimestamped inputに設定すると複数のメッセージを読み込んでいるためエラーが出てしまいます。
また、ncReadNetMultiから出力されるデータをバンドル解除して取り出すこともできず質問した次第です。
②.CAN信号をあとから確認できる形式(エクセルやテキスト)でログを残したいです。
そのログを読み込み、LABview及び目視で時間差を求めたいのですが、CANのデータはバイナリ形式でしか残せないでしょうか。
以上、よろしくお願い致します。
07-28-2016 08:52 AM
①timestamped input に設定してタイムスタンプとChannel 値の2D配列として読み込む際は、Read関数を Multi-Chan Multi-Samp 2D Time & Dbl の設定としますが、その設定には既にされていましたか?その状態でエラーが発生していたようでしたら、おそらくChannel Listに含まれているChannel が複数のFrame に含まれている事が原因として考えられます。1つの Frame のみに使用できる設定ですので、異なるFrame に含まれるChannelを変換される場合は、Frame 毎にChannel List を分け、各Frame 毎にChannal の読み取る仮想ポートを用意して読み込む事をお試しください(Channelの読み取りはすべてCAN257です)。添付ファイルを参考にしていただければと思います。
②ログを他の形式で保存するような関数を別途作成する事で可能です。NI-CANドライバに付属されている関数はバイナリのみとなります。