如何抓取RS-232的資料

各位板上的前輩大家好:小弟是剛接觸LABVIEW不久的初學者,目前只讀完LABVIEW基礎的程式設計,程度僅止於數值運算.結構.陣列.字串等等…對於更高的技巧還在摸索階段.最近實驗室來了一台ADAM 類比轉數位的控制卡,其功能是將電壓&電流訊號轉換成數位訊號.爬過版上的文說是要用visa configure series port.visa read.visa write,但還是不知道要怎樣才能抓到訊號ˊˋ…我已經想不到其他辦法了,來這裡求助各位,希望各位先進指導,感恩!!

請問你的ADAM的正確型號是甚麼? 請po在版上…謝謝。

adam 類比輸入4017+ 類比輸出4024

http://www.advantech.com/products/Model_Detail.asp?model_id=1-1TW13X

datasheet , Manual 抓一抓 看一看吧

還有.net的程式可以參考

[QUOTE=pesrty]

http://www.advantech.com/products/Model_Detail.asp?model_id=1-1TW13X

datasheet , Manual 抓一抓 看一看吧

還有.net的程式可以參考

[/QUOTE]datasheet裡頭只有他的規格阿....他的工作手冊也看過了,裡頭沒有介紹到通訊協定方面的資訊,有人說要看他的modbus才能知道要怎麼去把它的資料抓出來,可是我對這方面沒什麼概念XD..至於.NET的程式是什麼??有沒有相關的範例可以閱讀的???

你應該是還有一台類似ADAM-4520系列的RS232 to RS485 的converter

此conveter用來連接你的host computer以及你的ADAM-4017 (for analog input) 和ADAM 4024 (for analog output)

也就是說你的量測到的analog signal必須先接到4017 然後4017接到4520

而4520將4017所接收到的analog signal轉換成 digital signal 然後再經由RS232傳送到host computer

而4024則是送出analog signal

所以重點是要和ADAM-4520來做溝通 而不是和4017或4024溝通

以下附上其user manual

ADAM-4000 series User Manual Ed. 10.3.pdf

當然 若你沒有4520 而有其他 AD/DA card (例如DAQ card) 則你就只要懂得如何和AD/DA card 溝通即可

 

 

 

CYChung39154.6491435185

[QUOTE=CYChung]

你應該是還有一台類似ADAM-4520系列的RS232 to RS485 的converter

此conveter用來連接你的host computer以及你的ADAM-4017 (for analog input) 和ADAM 4024 (for analog output)

也就是說你的量測到的analog signal必須先接到4017 然後4017接到4520

而4520將4017所接收到的analog signal轉換成 digital signal 然後再經由RS232傳送到host computer

而4024則是送出analog signal

所以重點是要和ADAM-4520來做溝通 而不是和4017或4024溝通

以下附上其user manual

ADAM-4000 series User Manual Ed. 10.3.pdf

當然 若你沒有4520 而有其他 AD/DA card (例如DAQ card) 則你就只要懂得如何和AD/DA card 溝通即可

 

 

 

[/QUOTE]@_@.....這位大大你說的沒錯,這張卡的確是存在,我用他們贈送的軟體只抓到了2台卡,就是4017&4024,最後一台沒有讀到,聽廠商說那台是在做A/D的動作,型號我也不確定,假如現在已經確定那台A/D CARD是4050,請問我下一步該怎麼走,謝謝!!

因為你用的是廠商所提供的程式 所以先檢查一下程式相關的設定

接下來再檢查一下 第三台的接線有沒有問題

 

[QUOTE=CYChung]

因為你用的是廠商所提供的程式 所以先檢查一下程式相關的設定

接下來再檢查一下 第三台的接線有沒有問題

 

[/QUOTE]是這樣的,因為研華他們提供的軟體只能用手動調電壓,需要每次輸入一個電壓值(0~5V)然後看他相對應出來的電流是多少(-20MA~+20MA),,所以才要自己用LABVIEW寫一個儀表板,如此才能做連續的量測,接線那邊廠商都已經組好了,但我對程式語言不是很在行,應該先翻閱哪方面的書籍?另外就是你傳給我的工作手冊我應該先參考哪個部份?感謝!!

市面上有很多Labview的書籍可供參考 你可以去買一本來看看

主要的觀念就是將command string(命令字串) 經由VISA write.vi 經RS232送指令給 AD/DA converter

再經由 VISA read.vi 讀回數值

你可參考user manual 的第四章 (Command Set)

小弟在這裡貼上我的VI…如果只是單純的想要抓到電壓值,這樣配置不知可不可行??adam.vi

大致上OK 但必須送出對的command string 才能讀出電壓值

[QUOTE=CYChung]大致上OK 但必須送出對的command string 才能讀出電壓值[/QUOTE]對的command string @@,請問這是什麼意思??我的線路圖都接好了,這樣就能讀到rs232裡的指令了嗎?應該還需要其他東西吧^^!!!

對了…另外我的指令是在com6讀到的,那我的visa resourse name應該改成com6嗎?在visa class的地方是不是選擇I/O session=>serial instr呢?

請參考user manual 的第四章 (Command Set)

你必須依照第四章的指令 (一大堆的command string中你要找到對的指令)  由你目前的程式中的 "write buffer" 鍵入正確的指令 (command string) 以讀取電壓值

p.s. RS232只是個傳輸介面

 

[QUOTE=CYChung]

請參考user manual 的第四章 (Command Set)

你必須依照第四章的指令 (一大堆的command string中你要找到對的指令)  由你目前的程式中的 "write buffer" 鍵入正確的指令 (command string) 以讀取電壓值

p.s. RS232只是個傳輸介面

 

[/QUOTE]CYCHANG前輩,如果我要把這CASE外包給你你有時間做嗎?

[QUOTE=ZUMAYA][QUOTE=CYChung]

請參考user manual 的第四章 (Command Set)

你必須依照第四章的指令 (一大堆的command string中你要找到對的指令)  由你目前的程式中的 "write buffer" 鍵入正確的指令 (command string) 以讀取電壓值

p.s. RS232只是個傳輸介面

 

[/QUOTE]CYCHANG前輩,如果我要把這CASE外包給你你有時間做嗎?[/QUOTE]有意願的話請MSN聯絡我,沒意願也請MSN聯絡我^^...我的MSN是[email protected]M

我想請問一個額外的問題....

利用RS-232抓取進來的數據應該都是電壓值,如果我要利用X-Y Graph 的圖形,那X軸會是什麼???時間還是資料數??

若是資料數,該如何換算成時間(Time)???

謝謝回答!!

[QUOTE=CYChung]

你應該是還有一台類似ADAM-4520系列的RS232 to RS485 的converter

此conveter用來連接你的host computer以及你的ADAM-4017 (for analog input) 和ADAM 4024 (for analog output)

也就是說你的量測到的analog signal必須先接到4017 然後4017接到4520

而4520將4017所接收到的analog signal轉換成 digital signal 然後再經由RS232傳送到host computer

而4024則是送出analog signal

所以重點是要和ADAM-4520來做溝通 而不是和4017或4024溝通

以下附上其user manual

ADAM-4000 series User Manual Ed. 10.3.pdf

當然 若你沒有4520 而有其他 AD/DA card (例如DAQ card) 則你就只要懂得如何和AD/DA card 溝通即可

 

 

 

[/QUOTE]今天去問過了..那台正確的型號是4561....功能是RS485轉USB,所以,如果我要控制電壓來輸出相對應的電壓,是不是應該控制4017+才是呢??

[QUOTE=ZUMAYA][QUOTE=CYChung]

你應該是還有一台類似ADAM-4520系列的RS232 to RS485 的converter

此conveter用來連接你的host computer以及你的ADAM-4017 (for analog input) 和ADAM 4024 (for analog output)

也就是說你的量測到的analog signal必須先接到4017 然後4017接到4520

而4520將4017所接收到的analog signal轉換成 digital signal 然後再經由RS232傳送到host computer

而4024則是送出analog signal

所以重點是要和ADAM-4520來做溝通 而不是和4017或4024溝通

以下附上其user manual

ADAM-4000 series User Manual Ed. 10.3.pdf

當然 若你沒有4520 而有其他 AD/DA card (例如DAQ card) 則你就只要懂得如何和AD/DA card 溝通即可

 

 

 

[/QUOTE]今天去問過了..那台正確的型號是4561....功能是RS485轉USB,所以,如果我要控制電壓來輸出相對應的電壓,是不是應該控制4017+才是呢??[/QUOTE]

4017+ 是用來 "讀取" 電壓的(根據manual 指令為#AAN, AA為4017+的address N為在4017的第幾個channel)     

4024 才是控制電壓 "輸出" (根據manual 指令為#AACN(data), AA為4024的address N為在4024的第幾個channel  data為電壓值) 

可利用示波器量測輸出的電壓與理想值差距多遠

CYChung39157.3863425926