08-20-2019 01:02 AM
お世話になっております.
現在,圧力センサの圧力に応じたリニア同期モータを制御しようとしています.
リニア同期モータを使用したポンプを作成し,圧力を測定します.そのときの圧力が目的とする圧力より高ければ,リニア同期モータの速度を落とす,低ければ速度を早くするなどの制御をしたいと考えております.
使用ソフトはLabVIEWとDAQはUSB-6229です.
リニア同期モータは三菱電機 LM-H3P2A-07P-BSSO
サーボアンプは三菱電機 MR-J4-40A1
以上のものを使用しています.
圧力をDAQで測定し,LabVIEWで制御したいのですが,
どのように接続すればLabVIEWでリニア同期モータを制御できるのかが分からない状態です.
また,初歩的な質問ですが,LabVIEWで圧力を2点測定するとき,1点のみしか圧力波形が測定できません.チャンネルを2つ設定し,異なる波形がでるはずなのですが,同じ波形がでてしまいます.どのように改善すればよろしいでしょうか.
ご助力,何卒宜しくお願い致します.
08-21-2019 12:32 AM
平素よりNI製品をご愛顧頂きありがとうございます。
日本ナショナルインスツルメンツ技術部の上野です。
下記の資料を拝見すると色々なモードで動作するようなのですが、どのような制御を行うかは決定されていますか?
制御対象のモータはロータリーモータではなくリニアモータとのことですので、0~±10 Vのアナログ信号で制御できる速度制御モードは適用できないと思います。
よってRS-422ポートを使用したシリアル通信で制御するのではないかと推測しております。
その場合は、圧力信号の比較結果をケースストラクチャで切り替えてシリアル通信の速度制御のコマンドを切り替えるようなプログラムになるかと思います。LabVIEWでのシリアル通信には、NI-VISAを使用します。
この推測が正しいかはサーボモータおよびサーボアンプの製造メーカーにお問い合わせいただき、ご確認いただけると幸いです。
次に圧力測定の問題ですが、添付いただいていたコードを確認したところDAQアシスタントで構成されているのは、1チャンネルのみでした。
DAQアシスタントの青色アイコンをダブルクリックして構成画面を開き、下図にあるように+マークのアイコンをクリックすると、チャンネルを追加可能です。
チャンネルを追加してOKボタンを押して設定を変更したら、ダイナミックデータから変換VIの上部にあるチャンネル入力端子にチャンネル番号を入力することで、指定したチャンネルのデータが抽出できます。
現在の設定では、DAQアシスタントで読み取るサンプル数として200点を収集して、ダイナミックデータから変換VIによる変換でスカラ値にしておりますので、200点の中から最後のデータだけがフォーミュラノードに渡されます。
あとは、この値を比較関数を用いてしきい値と比較し、速度制御の切り替えに使用していただればと思います。
08-21-2019 01:54 AM
お世話になっております.
コンノです.
ご返信ありがとうございます.
上野様がご提案していただいた,RS-422ポートを使用してシリアル通信での制御を検討してみようと思います.
また,圧力を波形チャートで表示をしていましたが,横軸を時間として見たいため
波形グラフによって表示させたいのですが,エラーがでてしまい解決策がわかりません.
ご教授頂ければ幸いです.
何卒宜しくお願い致します.
08-21-2019 02:17 AM
波形グラフは、配列データを表示しますので、スカラ値を渡そうとしても繋がりません。
計測結果に計算を加えて表示するのでしたら、添付ふぁいるのようにすればよいかと思います。なお、DAQアシスタントはこちらの環境に合わせて変更しておりますので、差し替えていただけると幸いです。
09-03-2019 12:09 AM
お世話になっております.
現在,リニア同期モータをlabviewで制御するために,シリアル通信を行いたいのですが,MR-J4-40A1にシリアル通信をしようとするにはDSV-CABVが必要になり,サーボアンプ側の端子がRJ-45,labview側がD-SUB9Pです.
D-SUB9PをUSB-6229の出力端子に接続するにはどのように接続すればよろしいでしょうか.
何卒宜しくお願い致します.
09-03-2019
11:34 AM
- 最終編集日:
12-18-2024
03:08 PM
、編集者:
Content Cleaner
USB-6229のデバイスドライバであるNI-DAQmxにはシリアル通信のAPIはございませんので、お使いのPCにあるシリアルポートを使用するか、シリアル計測制御デバイスを追加することをお勧めします。それにより、NI-VISAを利用したシリアル通信が可能となります。
10-01-2019 12:51 AM
お世話になっております.
RS-232Cによるシリアル通信についての質問なのですが,サーボアンプMR-J4-40A1にRS-232Cを接続しています.
プログラムはサンプルプログラムのContinuous Serial Write and Read.viを使用して通信できるか確認しようとしていますが,viを実行すると
エラーコード-1073807343がVISA Configure Serial Port (Instr).vi->Continuous Serial Write and Read.vi内のプロパティノード (arg 1)で発生
が発生してしまいます.
原因を教えていただきたいです.
何卒宜しくお願い致します.
10-01-2019
03:15 AM
- 最終編集日:
12-18-2024
03:09 PM
、編集者:
Content Cleaner
平素よりNI製品をご愛顧頂きありがとうございます。
日本ナショナルインスツルメンツ技術部の上野です。
エラー-1073807343は、リソース(接続先の機器)が見つからないことを示しています。MAXでシリアルポートとして認識されていなかったり、電源がはいっていなくてリソースが見つからない場合に発生します。
サーボアンプMR-J4-40A1の仕様ページの通信機能には、シリアル通信規格としてRS-422/RS-485に対応していることが記載されていますが、RS-232Cに対応しているとは記載されていません。この記載ではコンピュータ側にもRS-422/RS-485対応のポートが必要となりますので、NI USB-485などシリアル計測器制御デバイスが必須となります。
サーボアンプでのRS-232C対応性やコンピュータ側のポートの対応性をご確認ください。
10-01-2019 09:49 PM
ご返信ありがとうございます.
NI-MAXで接続を確認した結果,ステータスの部分が存在していますやデバイスの状態は正常に動作していますという表記があります.
VISAテストパネルで動作を確認した結果,*IDN?¥nをwriteで書き込むと
1:Write Operation(*IDN?¥n)
Rerurn Count: 6 bytes
というメッセージがでます.
またReadで読み取りをすると,
VISA:(Hex 0xBFFF0015)
操作が完了する前にタイムアウトで時間切れとなりました.
というエラーが発生してしまいます.
シリアル規格ですが,問い合わせたところ,RS232ポートに接続しても問題ないようですが,やはりRS422ポートにしないと通信できないでしょうか.
現在使用しているパソコンにはRs232やRS422ポートがないため,USBシリアルコンバータをしようして接続している状態です.
知識不足で申し訳ないのですが,サーボアンプと通信する際にサンプルVIにどのようなコマンドを入力すればリニアモータを動作できるか,教えていただきたいです.
何卒宜しくお願い致します.
10-01-2019 10:07 PM
ご返答ありがとうございます。MAXでの認識やメーカーの回答から考えると、RS-232Cで通信できると可能性が高いと思います。他社製のシリアル-USB変換器とNI-VISAの互換性問題が発生する可能性があるため、断言はできません。
テストパネルでWrite OperationでReturn Countが6バイトなのは、*IDN?\nというコマンドが6バイトで送信されたことを示しています。このコマンドは、IEEE-488の共通コマンドで多くの計測器で利用可能な計測器名を返すコマンドです。
ここでは、サーボアンプのコマンドを送信して応答するかをご確認ください。