LabVIEW Pro 專業論壇-★LabVIEW Pro 精華活動★-2組以上的RS232通訊該如何編寫
 
     
 
 
 
LabVIEW 討論區基礎教學每月專題分享技術問題精選online Test
技術討論區 ★LabVIEW Pro 精華活動★ 程式分享區 教育訓練與認證區 閒話家常區 工作機會討論區 回報區 高手專訪系列
 熱門關鍵字 
    量測概念充電站    3小時內學會 LabVIEW    TOP 資源排行榜    取得 NI 協助    CLD 考前衝刺
 您的位置:首頁 > ★LabVIEW Pro 精華活動★ > 2組以上的RS232通訊該如何編寫
  ★LabVIEW Pro 精華活動★   板主:
 之1(2篇)
2組以上的RS232通訊該如何編寫 
 
cupshih
暱稱:
經驗值:134
等級:技工
發文:13
回文:19
版本:
闖關狀態:
前往地圖:
 
字級設定

各位LV的前輩好,目前有一個疑問想要請問各位前輩

在一般的RS232通訊中,如果想要透過2個(或是2個以上)的通訊埠同時連接進行監控的話
[+]放大圖片

在程式架構上,該如何撰寫?

有試過用最笨的方法,複製2個一模一樣的傳輸方式,但是會傳得很慢!!!

  文章人氣: 434 讚:0 文章日期:2018/02/14 15:03
mingyenwei

暱稱:銘延
經驗值:2015
等級:舵主
發文:3
回文:541
版本:LabVIEW 2013
闖關狀態:
飄渺嶺
前往地圖:
1樓
字級設定

先把你複製成兩份後的程式貼上來吧  : )

至少我們要先排除多餘的互相等待的時間

 

感覺是有辦法成功

 

    讚:0 文章日期:2018/02/15 02:02
labviewjc

暱稱:olenjerry
經驗值:1121
等級:堂主
發文:2
回文:123
版本:LabVIEW 2014
闖關狀態:
飄渺嶺
前往地圖:
2樓
字級設定

當然慢啊!!!! 

Serial com port 傳輸是上個世代 circuits board 板子上的產物, 他之所以現在還存在是因為實現的成本少又相對不複雜, 從頭到尾只要 TX, RX 兩根就夠了. 但缺點是相對硬體線不能拉太長, bandwidth data 也慢. 

對不起離題了. 我跟你說, 一般就算在 windows 上用底層的 C 語言寫你的架構, 也會比 linux 慢很多(我大膽猜測是因為 windows 提供的 serial port driver 的關西), 加上你是用更高階的 labview 語言 + 兩個 com port 放在同一個 while loop 導致!

 

Solutions ---> two while loops independently for each seperate com port communication. 

要我是閣下, 我會先試著 focus 在單一個 com port 上. 這樣至少會排除是否會有 bug / error. 如果這樣沒問題了, create 另一個獨立的 while loop, 裡面再放另一個 com port. 

 

這樣的寫法好處是當你其中一個 com port 有問題時, 並不會因為 bug/error 而拖累整個 while loop 裡面的東西, 導致另一個 com port 也有問題而造成速度超慢. 

 

另外超級重要要提的是, com port communication 看似簡單, 但討厭在於 READ 會有四種等待 time out 機制 (linux driver 裡面有提到) 要注意. 常碰到情況就是當你 while loop 都已經做完了, 但是因為此 time out 所以 read buffer 還在動作 .... 這情形在一般 while loop 應該跑玩就結束的邏輯非常違背. 但我猜閣下應該沒用到此機制, 純粹只是單純 write & read vi byte 讀寫而以. 試試看 bytes 數量提高一次從 buffer 裡把東西撈出來看看, 因為相對 labview 單一一次跑 loop 算很慢了.

    讚:1 文章日期:2018/02/15 08:17
 之1(2篇)
 
 
   會員中心 
帳號:
     
密碼:
     
  以後自動登入
 
註冊
 
 
LabVIEW討論區 站長信箱 關於我們 站內聲明
國家儀器股份有限公司贊助;Sponsored by NI.
© 2010 National Instruments, Taiwan. All rights reserved. design by begonia