NI製品ディスカッション

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

Labviewでarduinoの仮想シリアルポートを使い通信したい

LabVIEWでaruduinoの仮想シリアルポートを使い、RS232C機器 と通信をしたいのですが可能でしょうか。 可能であれば方法をご教示頂けませんでしょうか。 また、この様な使い方に関して記載のある文献や資料等ありましたらご教示頂けますと幸いです。
0 件の賞賛
メッセージ1/11
1,711件の閲覧回数

「仮想」とは、ArduinoのTx/Rxピンではなく任意のDIOピンということですか?

 

Tx/Rxの場合もLINXではLabVIEWとの通信に使っているので、複数のTx/Rxチャンネルがある機種(MEGAとか)でないとダメなんですが・・・

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

仮想というのはソフトウェアーシリアルという事です。

arduinoのハードウェアーシリアルであるTx,RxはPCとの通信に

使用しますので任意のDIOピンをソフトウェアーシリアルに指定し

RS232Cと通信するという事です。

Labviewでaruduinoのソフトウェアーシリアルを介してRS232C機器を

制御(データ書き込み、データ読み込み)したいんです。

arduino単体では指定したソフトウエア―シリアルポートとRS232C機器の通信は出来ています。

0 件の賞賛
メッセージ3/11
1,669件の閲覧回数

LabVIEWからArduinoを制御するのにLINXを使いますか? それともVISAでシリアル通信しますか?

 

前者ではLINXを改造することになり難易度高いです。後者ならArduino側にハードウェアシリアルとソフトシリアルをブリッジする機能を仕込むことになると思います。

0 件の賞賛
メッセージ4/11
1,664件の閲覧回数

LINXを使って楽に出来ないか?と思っていました。

LINXにはaruduinoのソフトウェアーポートを介したRS232C機器との通信はLINX標準機能として備わっていないという事ですね。

そうなるとaruduinoとは別ポートを使用してRS232C通信をしなければならないという事ですか?

そうなると通信対象のRS232C機器が増えた場合、パソコン側のポートが増えるのでarduinoのソフトウェアーシリアルを用いる事でパソコン側のポート数を減らしたかったんです。パソコンとaruduinoのみUSB-シリアル変換で接続し制御対象のRS232機器はaruduinoのソフトウェアーシリアルポートと接続する。この様にしたい訳です。

RS232CはVISAを使い、デジタル・アナログ制御はLINXを用いて制御

するという事でしょうか。

その場合にでもaruduino側の改造が必要という事でしょうか。

以上、宜しくお願いします。

 

 

 

0 件の賞賛
メッセージ5/11
1,662件の閲覧回数

>LINXにはaruduinoのソフトウェアーポートを介したRS232C機器との通信はLINX標準機能として備わっていないという事ですね。

そうです。

 

Arduino MEGA 2650を使えば、ハードウェアシリアルが3ポートあるので、改造なしで目的の使い方ができます。基板サイズが少々大きいのが難ですが・・・

0 件の賞賛
メッセージ6/11
1,656件の閲覧回数

お返事有難う御座います。

アナログ・デジタル制御はLINXを用い、arduino側でLabviewから

何かチャンネル切り替え"文字"みたいな合図を送りarduino側ソフト

にてLabviewから送られてきた切り替え"文字"にあわせてソフトウェアーシリアルで受信したチャンネルを切り替え、データをハードウェアーシリアルに渡して所望のRS232C側機器と通信するしかなさそうですね。RS232C機器とのソフトウェアーシリアル通信プログラムはarduino側で、RS232C機器切り替え制御部だけをLabviewで作る感じ

でしょうかね。

でもこれだとCでもC++でも出来る事なのでLabviewをわざわざ使用

する方が面倒そうですね。

 

 

(制御対象RS232C機器は複数存在する),MEGAだと接続するRS232C機器は2つが限界(ハードウェアーシリアルを使用する場合)

今回はRS232C機器を3種類制御する予定なのでUnoでもMegaでも

ソフトウェアーシリアルを使う必要があるんです。

以上、宜しくお願いします。

 

 

0 件の賞賛
メッセージ7/11
1,653件の閲覧回数
いずれにせよArduinoのプログラムを書き換える必要があり、LINXの機能を保持したまま追加するのは大変だと思います。
0 件の賞賛
メッセージ8/11
1,641件の閲覧回数

そうなんですね。

有難う御座います。

LINXとVISAによるシリアル通信が混在したLabviewによるVI

作成は問題特に問題はありませんか?

素直にRS232CマルチプレクサでRS232Cを切り替えて使用し、マルチプレクサの1つのポートにarduinoを接続しaruduinoをLINXで制御する

という方法は可能でしょうか?(時間を区切って使用)

何かスマートな方法はないものでしょうか。

 

 

 

 

 

 

 

 

 

 

 

 

0 件の賞賛
メッセージ9/11
1,637件の閲覧回数
LINXとVISAの混在VIは全く問題ありません。 >素直にRS232CマルチプレクサでRS232Cを切り替えて使用し、マルチプレクサの1つのポートにarduinoを接続しaruduinoをLINXで制御する それが一番手間がかからないと思います。 UARTレベルのマルチプレクサが作れればArduinoのDIOで切り替えてVISAを省くとか・・・
0 件の賞賛
メッセージ10/11
1,634件の閲覧回数