NI製品ディスカッション

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

NImyRIOのセンサーとMD2ドライバ

解決済み
解決策を見る

 LabVIEW初心者です。

 添付したVIのように、現在、サーボモータとanaloginputによるセンサーのifを同時に行う設計をしているのですが、センサーが反応せず、モーターのみ駆動できる状態です。センサーの部分をスイッチによるTF制御に変えたところ、動作が確認できました。analoginputが使用できない原因を教えていただきたいです。

 また、センサーからTrueを読み取った場合、モータの駆動を実行する設計をしたい場合、どのように組めばいいのか、教えていただきたいです。

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

平素よりNI製品をご愛顧頂きありがとうございます。
日本ナショナルインスツルメンツ技術部の上野です。

 

現在の状況を整理させていただくと、プログラムにはWhileループが2つあり、サーボモータを制御している上部ループとセンサ信号を入力しているアナログ入力がある下部ループで構成されています。

 

モータは駆動するということですので、上部ループは問題なく動作しており、下部のループのアナログ入力ができないということかと思います。

 

「スイッチによるTF制御」というのは下部ループに含まれているケースストラクチャの仕組みを指していますか?

 

たとえば、下部ループだけを新規VIにコピペして実行した場合、データは読み取れますか?配線上にプローブを付けて値が変化するかをご確認ください。

 

また、「センサーからTrueを読み取った場合、モータの駆動を実行する」という仕組みにするには、1つのループ内でセンサ信号のアナログ入力を行い、その値の判断でケースストラクチャがTrueの場合にサーボモータを動作させるようにTrueケース内に関数を配置し、Falseケースはモータを停止するように設定したサーボ関数を配置しればよいかと思います。

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

ご返信ありがとうございます。

下部ループのみを別VIで実行したところ、正常な動作が確認できました。

 

センサーのifによるモータ駆動に関してですが、添付したVIのように設計したところ、センサーの駆動は確認できましたが、Trueに入ってもモータを動作させることができませんでした。

 

また、理解が浅く、モーターの停止に関しての制御がわからない次第です。

何卒ご教示願います。

 

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

追記になるのですが、添付したVIのように設計したところ、押しボタンによるTrueFalse制御でモータを駆動させることができました。

しかし、押しボタンの部分をanaloginputによる制御に変更したところ、モーターの制御器に操作を加えても、反応しなくなりました。

何度か書き込んでいると、センサが反応せず、モータのみ駆動できる状態にもなってしまいます。

 

このVIの改良手段を考えています。

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

添付ファイルのようにエラー配線をつなげました。この状態で何かエラーが発生していないかをご確認いただけますか?

 

あと、MXP-MD2を接続しているMXPコネクタとアナログ入力信号を接続しているポートを教えていただけると助かります。

 

MXP-MD2が占有しているポートをAnalog Input Express VIで指定されているのではないかと推測しております。

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

エラーは添付したスクリーンショットのものが表示されました。

 

MXP-MD2を接続しているMXPコネクタはBを、使用しているポートはB/AI0になります。

すべてをダウンロード
0 件の賞賛
メッセージ6/23
2,304件の閲覧回数

ご返答ありがとうございます。エラー処理で問題の原因が分かりました。

エラー-61202が発生するのは、複数のbitfileにアクセスしようとすることで発生します。これはヘルプファイルにも記載されております。

 

このエラーを解決するには、アナログ入力のほうをFPGA関数に置き換えることです。その方法については、下記のページをご参照ください。

 

 

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

ご返信ありがとうございます。

申し訳ないのですが、今現在私たちはFPGAの扱いに関して理解を進めることができておらず、無知の状態です。

わかりやすく説明していただけると幸いです。

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

これまでアナログ入力には、関数パレットのmyRIOサブパレットにあるAnalog In Express VIをご使用でしたが、FPGAプログラミングには、関数パレット > FPGAインタフェースサブパレット内にある関数等を使用します。

 

myRIOサブパレットに含まれている関数もダイアグラムに配置してから右クリックして「サブVIに変換」を選択してその関数のダイアグラムを開いていくと、最終的にはFPGAインタフェースの関数が使用されております。

 

いくつか参考資料となるページをご紹介致しますので、ご参照いただけると幸いです。

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

ご返信ありがとうございます。

 

fpgaVIリファレンスを開く関数を用いて、センサーの出力を図ろうとしたのですが、上手く動作しませんでした。添付した1つ目のVIのみでの動作は確認できましたが、

呼び出しを行う方法が分かりません。

 

ご教授のほど、よろしくお願いします。

すべてをダウンロード
0 件の賞賛
メッセージ10/23
2,226件の閲覧回数