版本:第一版作者:周新穩 楊帥 日期:20160226
===========================
本資料高清PDF 下載:
http://pan.baidu.com/s/1c1uuhLQ
原始碼包下載:
===========================
簡介
本應用筆記主要說明如何在VB開發環境下基於RS485實現4-20mA電流採集。
系統組成及工作原理
系統組成如圖1所示,主要包括 PT100鉑電阻溫度感測器、SBWZ溫度變送器、4-20mA電流採集模組(GM1008)、USB轉RS485模組(EVC8001)以及上位機VB 。
圖1 系統組成框圖
PT100鉑電阻溫度感測器:利用鉑金屬阻值隨溫度變化而變化的特性製成的一種溫度感測器,主要用來測量溫度的變化量。
SBWZ溫度變送器:一種現場安裝式溫度變送單元,主要將鉑電阻的訊號變換成線性4-20mA的輸出訊號。
4-20mA電流採集模組(GM1008):RS485介面的GM1008電流採集模組,主要實現資料的採集與傳輸,並通過RS485介面與上位機進行通訊。
USB轉RS485模組(EVC8001):實現GM1008的RS485介面與上位機的USB介面成功連線。
上位機VB:製作上位機介面,實現被測資料的採集、分析和顯示。
系統工作過程中,當溫度發生變化時,
PT100鉑電阻溫度感測器的電阻值發生變化,其阻值經過SBWZ溫度變送器轉換為電流訊號,並通過4-20mA電流採集模組(GM1008)及USB轉RS485模組(EVC8001)與上位機通訊,從而實現DI電流的採集、分析及顯示。
電流採集模組
系統採用RS485介面的8通道4-20mA電流採集模組(GM1008),不僅能更加快速、精確的把測量資料傳送給上位機,保證系統的效率,而且可以使系統的資訊傳輸更加穩定。
GM1008簡介
GM1008 8通道4-20mA電流採集模組(以下簡稱模組)採用全電器隔離方案,配合高效能微處理器及8通道12位ADC在較小的體積下完成了電流測量功能。
模組內建高效能電源變換電路,供電電壓範圍寬至7.5V-36V,且效率高達90%以上。此特性為長時間使用的電源穩定性提供保障。模組內建1500V雙隔離電源模組,使得供電輸入、模擬測量電路及通訊介面三者之間相互隔離,此特性為測量精度、模組穩定性及通用性提供保證。
模組內建基於磁耦合隔離技術的高品質RS485電路,長期使用穩定可靠,抗干擾強、不掉線。
模組內建32位的高效能ARM微處理器,它不但完成8通道、12位電流採集,而且支援韌體升級功能,為後期功能升級和Bug修復提供技術保證。
VB上位機程式設計
VB開發環境介紹
VB全稱為Visual Basic,是一種由微軟公司開發的包含協助開發環境的時間驅動程式語言,擁有圖形使用者介面和快速應用程式開發系統,可以輕易的使用DAO、RDO、ADO連線資料庫,或輕鬆的建立Active控制元件。鑑於VB的這些效能滿足本系統的應用需求,故在此選擇VB作為本實驗的上位機開發環境。
軟體使用方法
軟體介面如圖2所示。
圖2 軟體介面
軟體的具體操作方法如下:
1. 在Port裡設定埠(埠號由查詢裝置管理器獲得);
2. 在Baudrate裡面設定波特率,一般固定為9600;
3. 在Parity裡面設定奇偶校驗,一般固定為None(無校驗);
4. 在Stop Bits裡面設定停止位,一般固定為One(一個停止位);
5. 在Address裡面設定從機地址,固定為1;
6. 點選Open按鍵,自動連線RS485,此按鍵變為Close;
7. 點選Start按鍵,開始採集電流;
8. 點選Stop按鍵,停止採集;
9. 點選Close按鍵,則斷開RS485,清除資料。
軟體核心程式碼
核心程式碼主要有兩部分:CRC校驗程式碼(見附錄1)和資料處理程式碼(見附錄2)。
1. CRC校驗程式碼:CRC校驗是為了保證資料的準確傳輸,其中CRC校驗的方法有多種,本程式採取的是查表法,大大提高了校驗速度。
2. 資料處理程式碼:其中modbus_fun3表示選擇modbus的功能程式碼為3,是讀取保持暫存器功能。此部分程式碼從214行到221行為modbus通訊格式的暫存器設定部分,接下來是資料的傳送命令和接收命令,以及後面對接收到的資料進行處理以方便以物理量的形式顯示。
測量採集演示及說明
配備工具或軟體
1. 12V電源
2. PT100鉑電阻溫度感測器
3. SBWZ系列溫度變送器
4. RS485介面8通道4-20mA電流採集模組(GM1008)
5. USB轉RS485模組(EVC8001)
6. Aligent 34401A臺式六位半數字萬用表
7. 應用平臺:Visual Studio 2015社群版(自行下載)
8. 電腦作業系統:Windows 8.1 x32
系統連線方式
本次實驗主要採集兩個通道的電流資料,為了保持圖片連線清楚整潔,只接入1個SBWZ,另一個連線方式相同。系統主要硬體連線如圖3所示。
圖3 系統主要硬體連線圖
(1) 電源(12V)導線1:正極連線溫度變送器正接線柱,負極連線GM1008的接地埠(GND);
(2) 導線2:連線GM1008的接地埠與GM1008的供電處(POWER)的一個埠;
(3) 導線3:連線溫度變送器與GM1008供電處(POWER)的另一個埠;
(4) 導線4:連線通道與溫度變送器負接線柱;
(5) 導線5:連線EVC8001與GM1008的RS485模組的B-埠;
(6) 導線6:連線EVC8001與GM1008的RS485模組的A+埠;
(7) 方口USB線:連線EVC8001與電腦。
測試步驟
1. 根據系統主要硬體連線圖(圖3)連線各元件;
2. 接入兩個溫度變送器,GM1008配置兩個通道,將CH0設定為開水資料採集通道,CH1設定為打火機火焰資料採集通道;
3. 然後在程式介面設定好埠以及相關引數(從機地址Address一般固定為1);
4. 將兩個PT100鉑電阻分別放入開水與打火機火焰中(具體操作為點選介面的Open按鈕,連線以後點Start按鈕,系統會自動採集資料,操作簡單方便)。
測試結果
實驗採集資料介面如圖4所示,為了驗證測試結果的準確性以及得到準確的溫度,對其進行了實驗測試。
圖4 實驗採集資料圖
(1)精度驗證
為了驗證所測電流值的準確性,把Aligent 34401A 臺式六位半數字萬用表串聯到SBWZ溫度變送器後端的電路中,將萬用表的電流讀數與上位機顯示的電流值進行對比。實驗結果如表1所示,經過多次實驗,兩組資料結果基本相同。
表1 實驗各項資料表
被測物件 | GM1008測量值 | 萬用表 測量值 | SBWZ 對應溫度 |
水(CH0) | 7.68mA | 7.64mA | 92℃ |
打火機(CH1) | 19.67mA | 19.65mA | 393℃ |
(2)實驗驗證
由SBWZ溫度變送器以及PT100鉑電阻的量程之間的關係,得出實際測得電流與溫度之間符合關係式:
y=25*x-100
測得的電流值對照計算知所測水溫約為92℃,火焰約為393℃(由於火焰溫度高於PT100的最大測量值,所以到19mA以後停止實驗,以免損壞裝置),測試結果與實際相符。
故由測試可知:本系統在VB開發環境基於RS485測得的資料是真實可靠的,可應用於實際中。
總結
本應用系統的測試成功,充分證明了在VB開發環境下基於RS485的4-20mA電流採集是可行的,上位機軟體製作的介面使測量的操作簡單,資料清晰,便於使用者對工業自動化系統的資料進行實時的監控,滿足行業對資料的需求。
參考資料
1. 《VB語言程式設計》
2. 《C程式設計語言》
相關資源下載
1、Visual Studio 2015下載地址:
https://www.visualstudio.com/downloads/download-visual-studio-vs
2、GM1008 簡易手冊:
http://files.cnblogs.com/files/xiaomagee/GM1008%E7%AE%80%E6%98%93%E6%89%8B%E5%86%8CV1.0.pdf
3、GM1008 使用者手冊:
http://files.cnblogs.com/files/xiaomagee/GM1008%E7%94%A8%E6%88%B7%E6%89%8B%E5%86%8CV1.0.pdf
4、GM1008 購買地址:
https://item.taobao.com/item.htm?spm=a1z10.3c.w4002251610686.9.zoJaPi&id=522203245449
附錄1:CRC校驗程式碼
|
|
|