07-18-2019 07:45 PM
LabVIEW初心者です。
添付したVIのように、現在、サーボモータとanaloginputによるセンサーのifを同時に行う設計をしているのですが、センサーが反応せず、モーターのみ駆動できる状態です。センサーの部分をスイッチによるTF制御に変えたところ、動作が確認できました。analoginputが使用できない原因を教えていただきたいです。
また、センサーからTrueを読み取った場合、モータの駆動を実行する設計をしたい場合、どのように組めばいいのか、教えていただきたいです。
解決済! 解決策の投稿を見る。
07-19-2019 12:02 AM
平素よりNI製品をご愛顧頂きありがとうございます。
日本ナショナルインスツルメンツ技術部の上野です。
現在の状況を整理させていただくと、プログラムにはWhileループが2つあり、サーボモータを制御している上部ループとセンサ信号を入力しているアナログ入力がある下部ループで構成されています。
モータは駆動するということですので、上部ループは問題なく動作しており、下部のループのアナログ入力ができないということかと思います。
「スイッチによるTF制御」というのは下部ループに含まれているケースストラクチャの仕組みを指していますか?
たとえば、下部ループだけを新規VIにコピペして実行した場合、データは読み取れますか?配線上にプローブを付けて値が変化するかをご確認ください。
また、「センサーからTrueを読み取った場合、モータの駆動を実行する」という仕組みにするには、1つのループ内でセンサ信号のアナログ入力を行い、その値の判断でケースストラクチャがTrueの場合にサーボモータを動作させるようにTrueケース内に関数を配置し、Falseケースはモータを停止するように設定したサーボ関数を配置しればよいかと思います。
07-19-2019 12:39 AM
ご返信ありがとうございます。
下部ループのみを別VIで実行したところ、正常な動作が確認できました。
センサーのifによるモータ駆動に関してですが、添付したVIのように設計したところ、センサーの駆動は確認できましたが、Trueに入ってもモータを動作させることができませんでした。
また、理解が浅く、モーターの停止に関しての制御がわからない次第です。
何卒ご教示願います。
07-19-2019 03:50 AM - 編集済み 07-19-2019 03:58 AM
追記になるのですが、添付したVIのように設計したところ、押しボタンによるTrueFalse制御でモータを駆動させることができました。
しかし、押しボタンの部分をanaloginputによる制御に変更したところ、モーターの制御器に操作を加えても、反応しなくなりました。
何度か書き込んでいると、センサが反応せず、モータのみ駆動できる状態にもなってしまいます。
このVIの改良手段を考えています。
07-19-2019 04:20 AM
添付ファイルのようにエラー配線をつなげました。この状態で何かエラーが発生していないかをご確認いただけますか?
あと、MXP-MD2を接続しているMXPコネクタとアナログ入力信号を接続しているポートを教えていただけると助かります。
MXP-MD2が占有しているポートをAnalog Input Express VIで指定されているのではないかと推測しております。
07-19-2019 04:29 AM
エラーは添付したスクリーンショットのものが表示されました。
MXP-MD2を接続しているMXPコネクタはBを、使用しているポートはB/AI0になります。
07-19-2019 05:39 AM - 最終編集日: 11-30-2024 02:31 PM 、編集者: Content Cleaner
ご返答ありがとうございます。エラー処理で問題の原因が分かりました。
エラー-61202が発生するのは、複数のbitfileにアクセスしようとすることで発生します。これはヘルプファイルにも記載されております。
このエラーを解決するには、アナログ入力のほうをFPGA関数に置き換えることです。その方法については、下記のページをご参照ください。
07-19-2019 06:07 AM
ご返信ありがとうございます。
申し訳ないのですが、今現在私たちはFPGAの扱いに関して理解を進めることができておらず、無知の状態です。
わかりやすく説明していただけると幸いです。
07-19-2019 07:34 AM - 最終編集日: 11-30-2024 02:31 PM 、編集者: Content Cleaner
これまでアナログ入力には、関数パレットのmyRIOサブパレットにあるAnalog In Express VIをご使用でしたが、FPGAプログラミングには、関数パレット > FPGAインタフェースサブパレット内にある関数等を使用します。
myRIOサブパレットに含まれている関数もダイアグラムに配置してから右クリックして「サブVIに変換」を選択してその関数のダイアグラムを開いていくと、最終的にはFPGAインタフェースの関数が使用されております。
いくつか参考資料となるページをご紹介致しますので、ご参照いただけると幸いです。
07-21-2019 09:42 PM
ご返信ありがとうございます。
fpgaVIリファレンスを開く関数を用いて、センサーの出力を図ろうとしたのですが、上手く動作しませんでした。添付した1つ目のVIのみでの動作は確認できましたが、
呼び出しを行う方法が分かりません。
ご教授のほど、よろしくお願いします。