05-17-2020 09:52 PM
配線されたrefnumは異なるタイプですとエラー警告がでました。詳細ヘルプで内容を見ましたが意味がわかりません。
接続する2つのrefnumの中身は何回も見比べましたが間違っていないと思われます。解決策を教えてください。
05-18-2020 12:13 AM
Shu1さん、
どういったプログラムで今回の警告が出ていたでしょうか?もしよろしければそのプログラムを
添付していただくことはできるでしょうか?該当する部分だけでも、確認させていただければと思います。
05-18-2020 03:13 AM
プログラムの一部を抜粋しお送りいたします。
よろしくお願い致します。
05-18-2020 08:41 AM
Shu1さん
pdf拝見しました。
INITと書かれた青いサブVIから出た値がForループを「自動指標付け有効」の状態で
抜けている状態と思います。なので、この時点でピンク色のワイヤには1次元配列
が出ているはずですね。
対して、ピンクの字で「VG task1」と書いてあるバンドル関数は、スカラのクラスタ
に対して使用するものになっています。
なので、配列のデータを、スカラしか受け付けない関数(バンドル)に配線している
ことでエラーが起きていると推測していますがいかがでしょうか?
エラーを解消するには、用途に依りますが、バンドル関数をForループで囲む、あるいは
指標配列の関数を用いて配列からスカラにしてバンドル関数につないでいただくことで
エラーは解消されると思います。
あと、エラー-200430が出ているようですね。これは物理チャンネルを作成の関数が想定しているチャンネル(AO電圧と書いてあるのでアナログ出力)と、実際に入力しているI/O(VG taskの制御器ですね)が一致していないようです。pdfの画面からはPXI1/Slot2/などで見切れているのでどのようなチャンネルが指定されているか読み取れないのでこれ以上は何とも言えないです。。
05-18-2020 08:46 PM
配線エラーにつきまして、アドバイスありがとうございます。
Forループ、指標配列関数を用いてましたが、エラーは解消されません。
何かほかに原因はございますでしょうか。
よろしくお願い致します。
05-19-2020 01:16 AM
Shu1さん
配列であるかどうかという問題ではなかった、とのことですね。
念のため確認なのですが、添付の画像で水色の四角で囲った二つのピンクのワイヤは
同じデータタイプということでお間違いないでしょうか?
あとは、pdfで示していただいているプログラムを実際に添付していただいて中身を
確認させていただければ自分の元でもいろいろ試せそうかなと思います。
機密情報等もし入っていれば、そこの部分は抜いていただいて、公開できてかつ
現象が再現できるようなプログラム(メインのVIやサブVI、ctlファイルなど)を
添付していただくことはできませんか?
05-19-2020 02:37 AM
ご指摘の「添付の画像で水色の四角で囲った二つのピンクのワイヤ」とはどこのことでしょうか?
VIついては機密が高いため申し訳ございませんが、開示しかねます。
可能な限り情報はお出ししたいと思いますが、現在までの情報で何とかしたく。。。
05-19-2020 04:03 AM
配線エラーについて、解決すべくいろいろ試しています。
サブVI(INIT)の中身を変えましたが(クラスタ内の変数を1つ)、INITの入力も配線エラーとなってしまい、どこがよくないのか分かりません。
添付資料にまとめましたので確認頂けないでしょうか。
本日中には何とか解決したく。。
よろしくお願いします。
05-19-2020 09:31 AM
Shu1さん
もう夜遅くなってしまいましたが、添付資料拝見しました。
今回の資料で初めて出てきた情報がないと解けない問題ですね、これは。
一応私の方でワイヤが壊れないような組み方の例を見つけることができましたので添付しております。
今回添付していただいたコードを読み解くにあたり、おそらく「初期設定」というタイプ定義は、添付資料だとVG taskという名前の配列
(この配列要素はクラスタ)しか見えていませんが、おそらくこれ以外の制御器もあると推測しています。添付の例では「null」という名前の
文字列をこのクラスタに入れている状態です。
一番最初にワイヤが壊れていたのは、VG task1というクラスタの配列に「バンドル」関数で値を入れる部分だったと思います。
なのでバンドル関数には「クラスタの配列」を入力する必要があります。確かに、Shu1さんのブロックダイアグラムでは「クラスタの配列」を
入力していますが、クラスタの中身が異なっていることに気づかれますでしょうか?VG task1は「VG Refnumが4つ入ったクラスタ」の配列ですが、
バンドルで入力しようとされているのは「VG Refnumが1つ入ったクラスタ」の配列になっています。クラスタの種類が異なるのでワイヤが壊れていた、
という状態かと思います。
今回のように、特にバンドル関数の入力にてワイヤが壊れてしまう場合、入力を受ける側(VG task1と書いてある方)で右クリックして作成の
定数とすると、どういったデータを受け付けるかを確認できますので、その定数の示す通りのデータを配線するのが一番間違いが少ないと思います。