NI製品ディスカッション

キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 

LabVIEWエラー

配線されたrefnumは異なるタイプですとエラー警告がでました。詳細ヘルプで内容を見ましたが意味がわかりません。

接続する2つのrefnumの中身は何回も見比べましたが間違っていないと思われます。解決策を教えてください。

0 件の賞賛
メッセージ1/9
2,228件の閲覧回数

Shu1さん、

 

どういったプログラムで今回の警告が出ていたでしょうか?もしよろしければそのプログラムを

添付していただくことはできるでしょうか?該当する部分だけでも、確認させていただければと思います。

0 件の賞賛
メッセージ2/9
2,192件の閲覧回数

プログラムの一部を抜粋しお送りいたします。

よろしくお願い致します。

0 件の賞賛
メッセージ3/9
2,179件の閲覧回数

Shu1さん

 

pdf拝見しました。

INITと書かれた青いサブVIから出た値がForループを「自動指標付け有効」の状態で

抜けている状態と思います。なので、この時点でピンク色のワイヤには1次元配列

が出ているはずですね。

 

対して、ピンクの字で「VG task1」と書いてあるバンドル関数は、スカラのクラスタ

に対して使用するものになっています。

 

なので、配列のデータを、スカラしか受け付けない関数(バンドル)に配線している

ことでエラーが起きていると推測していますがいかがでしょうか?

 

エラーを解消するには、用途に依りますが、バンドル関数をForループで囲む、あるいは

指標配列の関数を用いて配列からスカラにしてバンドル関数につないでいただくことで

エラーは解消されると思います。

 

あと、エラー-200430が出ているようですね。これは物理チャンネルを作成の関数が想定しているチャンネル(AO電圧と書いてあるのでアナログ出力)と、実際に入力しているI/O(VG taskの制御器ですね)が一致していないようです。pdfの画面からはPXI1/Slot2/などで見切れているのでどのようなチャンネルが指定されているか読み取れないのでこれ以上は何とも言えないです。。

0 件の賞賛
メッセージ4/9
2,170件の閲覧回数

配線エラーにつきまして、アドバイスありがとうございます。

Forループ、指標配列関数を用いてましたが、エラーは解消されません。

何かほかに原因はございますでしょうか。

よろしくお願い致します。

0 件の賞賛
メッセージ5/9
2,148件の閲覧回数

Shu1さん

 

配列であるかどうかという問題ではなかった、とのことですね。

念のため確認なのですが、添付の画像で水色の四角で囲った二つのピンクのワイヤは

同じデータタイプということでお間違いないでしょうか?

 

2020-05-19_15h10_18.png

 

あとは、pdfで示していただいているプログラムを実際に添付していただいて中身を

確認させていただければ自分の元でもいろいろ試せそうかなと思います。

機密情報等もし入っていれば、そこの部分は抜いていただいて、公開できてかつ

現象が再現できるようなプログラム(メインのVIやサブVI、ctlファイルなど)を

添付していただくことはできませんか?

0 件の賞賛
メッセージ6/9
2,133件の閲覧回数

ご指摘の「添付の画像で水色の四角で囲った二つのピンクのワイヤ」とはどこのことでしょうか?

VIついては機密が高いため申し訳ございませんが、開示しかねます。

可能な限り情報はお出ししたいと思いますが、現在までの情報で何とかしたく。。。

0 件の賞賛
メッセージ7/9
2,130件の閲覧回数

配線エラーについて、解決すべくいろいろ試しています。

サブVI(INIT)の中身を変えましたが(クラスタ内の変数を1つ)、INITの入力も配線エラーとなってしまい、どこがよくないのか分かりません。

添付資料にまとめましたので確認頂けないでしょうか。

本日中には何とか解決したく。。

よろしくお願いします。

0 件の賞賛
メッセージ8/9
2,116件の閲覧回数

Shu1さん

 

もう夜遅くなってしまいましたが、添付資料拝見しました。

 

今回の資料で初めて出てきた情報がないと解けない問題ですね、これは。

一応私の方でワイヤが壊れないような組み方の例を見つけることができましたので添付しております。

 

今回添付していただいたコードを読み解くにあたり、おそらく「初期設定」というタイプ定義は、添付資料だとVG taskという名前の配列

(この配列要素はクラスタ)しか見えていませんが、おそらくこれ以外の制御器もあると推測しています。添付の例では「null」という名前の

文字列をこのクラスタに入れている状態です。

 

一番最初にワイヤが壊れていたのは、VG task1というクラスタの配列に「バンドル」関数で値を入れる部分だったと思います。

なのでバンドル関数には「クラスタの配列」を入力する必要があります。確かに、Shu1さんのブロックダイアグラムでは「クラスタの配列」を

入力していますが、クラスタの中身が異なっていることに気づかれますでしょうか?VG task1は「VG Refnumが4つ入ったクラスタ」の配列ですが、

バンドルで入力しようとされているのは「VG Refnumが1つ入ったクラスタ」の配列になっています。クラスタの種類が異なるのでワイヤが壊れていた、

という状態かと思います。

 

今回のように、特にバンドル関数の入力にてワイヤが壊れてしまう場合、入力を受ける側(VG task1と書いてある方)で右クリックして作成の

定数とすると、どういったデータを受け付けるかを確認できますので、その定数の示す通りのデータを配線するのが一番間違いが少ないと思います。

 

 

メッセージ9/9
2,098件の閲覧回数