NI產品與技術 討論區

取消
顯示結果 
搜尋替代 
您的意思是: 

用Visa模組結合起Arduino與APC220無線通訊模組 出現問題

已解決!
前往解決方案

大家好:
我最近在使用Arduino模組與APC220無線通訊模組
以LabVIEW的VISA將兩者串聯起來
我在Arduino寫了一個簡單的程式,當收到"b" LED燈就會亮起1秒
在以一個簡單的VISA迴圈做測試
在High ligh Execution測試下是OK,沒有錯誤
不過我的Arduino版上的LED燈並沒有亮起
我的無線通訊口是COM 6
因為在Arduino 內部測試我的無線模組是可以使用的
但在LabVIEW通訊上就是不行
請大家指點指點
謝謝~

下載全部
0 積分
1 條訊息(共 16 條)
7,638 檢視

您的 labview VI 顯示不斷的將 b 寫入 com

 

建議您把迴圈移除

 

有關 labview 教學

 

請參考

 

http://www.labviewpro.net/teach_list.php?fid=6

0 積分
2 條訊息(共 16 條)
7,616 檢視

你好:

我之前也試過此種方式的迴圈不過還是一樣

我Arduino模組上的LED,並沒有因為接受到字串指令

而有亮燈,LabVIEW上也沒有出現錯誤,傳輸的過程都是顯示OK的

因為我用此種方式通訊在有線(RS232)的狀況下是可以正常動作的

想請問無線的通訊是否需要另外設定甚麼呢?

 

0 積分
3 條訊息(共 16 條)
7,611 檢視

請問無線通訊的協定是哪一種?

 

如果不是 rs-232 當然會失敗

0 積分
4 條訊息(共 16 條)
7,598 檢視

Hi,

 

我在另一邊也有回你,請Post一個地方就好,這樣比較好閱讀跟回文。

http://forums.ni.com/t5/LabVIEW/%E7%94%A8Visa%E6%A8%A1%E7%B5%84%E7%B5%90%E5%90%88%E8%B5%B7Arduino%E8...

 

謝謝

0 積分
5 條訊息(共 16 條)
7,581 檢視

謝謝你

我試過狀況還是一樣

感謝你的幫忙

 

0 積分
6 條訊息(共 16 條)
7,567 檢視

你好:

我的無線模組的通訊方式是UART/TTL

UART 不是也是一種RS-232的傳輸介面嗎

所以我是直接用VISA模組進行兩者的通訊

 

0 積分
7 條訊息(共 16 條)
7,566 檢視

剛剛看了你的程式,Arduino端一直在Loop裡面Read並判斷讀到的字串是否為b。

LabVIEW端一直在Loop裡面Write,這樣當然不能用。


因為你兩邊的Loop速度不同。
Arduino那邊的程式你可能要改寫成read到b一次之後LED就恆亮,而不是每圈loop都檢查。

先前介紹你用MAX做PC端的測試,基本上送b過去Arduino,在MAX裡面也是一次性送出的動作而已,不是放在迴圈裡面Write多次的做法。

Arduino的程式架構建議您到Arduino的論壇上面詢問會比較清楚。

 

 

 

 

0 積分
8 條訊息(共 16 條)
7,563 檢視

Ting1224 您好:

感謝您的回覆

關於您所說的我不斷的重複送出"b"字串 這樣是不行的

因為我Arduino與LabVIEW 的Loop的速度是不一樣的

之前有做過在Arduino程式裡

將Arduino 的Loop 的delay時間設為與LabVIEW Loop一樣的速度

並將VISA中的Write 模組的write buffer 改為Control 輸入元件

在有線(RS-232)的測試下,是我每次輸入"b"並按下enter之後

LED燈才會亮1秒,但在無線模組測試下就沒有回應

想了解是否還有其它錯誤?

謝謝

 

0 積分
9 條訊息(共 16 條)
7,554 檢視

請問你如何確認無線通訊口是COM6,在MAX中看到的所有COM Port理論上都是有線的Serial 232通訊口。

除非你在PC中安裝了特別的軟體把原本筆電上的無線網卡模擬成Com Port,不然Serial通訊應該都是透過有線的DB9接頭。

0 積分
10 條訊息(共 16 條)
7,545 檢視