【应用笔记】【AN001】VC#开发环境下基于以太网的4-20mA电流采集(基于modbus tcp 协议)...
版本:第一版 作者:毛鵬 楊帥 日期:20151108
簡介
4-20mA電流環(huán)具有廣泛的應(yīng)用前景,在許多行業(yè)中都發(fā)揮著重要作用。本文主要介紹了以太網(wǎng)接口的4-20mA電流采集模塊在VC#環(huán)境下進行溫度采集,實現(xiàn)WINDOWS平臺對數(shù)據(jù)的采集、分析及顯示。
系統(tǒng)組成及工作原理
系統(tǒng)組成主要包括PT100鉑電阻、SBWZ溫度變送器、4-20mA電流采集模塊(GM4008)以及上位機軟件組成,如圖1所示。
?
圖1 系統(tǒng)組成框圖
PT100鉑電阻溫度傳感器:利用鉑金屬阻值隨溫度的變化而變化的特性制成的一種溫度傳感器,主要用來測量溫度的變化量。
SBWZ溫度變送器:一種現(xiàn)場安裝式溫度變送單元,主要將鉑電阻的信號變換成線性的4-20mA的輸出信號。
4-20mA電流采集模塊(GM4008):以太網(wǎng)接口的GM4008電流采集模塊,主要實現(xiàn)數(shù)據(jù)的傳輸,并通過以太網(wǎng)接口與上位機進行通訊。
上位機:制作上位機界面,實現(xiàn)被測數(shù)據(jù)的采集、分析和顯示。
系統(tǒng)工作過程中,當溫度發(fā)生變化時,PT100鉑電阻溫度傳感器的電阻值發(fā)生變化,其阻值經(jīng)過SBWZ溫度變送器轉(zhuǎn)
換為4-20mA的電流信號,并通過4-20mA電流采集模塊(GM4008)與上位機通訊,從而實現(xiàn)溫度的采集、分析及顯示。
電流采集模塊
系統(tǒng)采用以太網(wǎng)接口的8通道4-20mA電流采集模塊(GM4008),不僅能更加快速、精確的把測量數(shù)據(jù)傳送給上位機,保證系統(tǒng)的效率,而且可以使系統(tǒng)的信息傳輸更加穩(wěn)定。
GM4008簡介
GM4008 8通道4-20mA電流采集模塊(以下簡稱模塊)采用全電器隔離方案,配合高性能微處理器及8通道12位ADC在較小的體積下完成了電流測量功能。
模塊內(nèi)置高性能電源變換電路,供電電壓范圍寬至7.5V-36V,且效率高達90%以上。此特性為長時間使用的電源穩(wěn)定性提供保障。模塊內(nèi)置1500V雙隔離電源模塊,使得供電輸入、模擬測量精度、模塊穩(wěn)定性及通用性提供保證。
模塊內(nèi)置百兆以太網(wǎng)電路,可完成遠距離4-20mA數(shù)據(jù)采集功能。長時間使用穩(wěn)定可靠,抗干擾強、不掉線。
模塊內(nèi)置32位的高性能ARM微處理器,它不但完成8通道、12位電流采集,而且支持固件升級功能,為后期功能升級和bug修復(fù)提供技術(shù)保證。
VC#上位機程序設(shè)計
VC#開發(fā)環(huán)境介紹
該通信測試界面采用Visual studio2015(VC#)實現(xiàn),軟件界面如圖2所示。Visual studio2015是微軟公司推出的開發(fā)軟件,具有基本完整的開發(fā)工具集,包括了如UML工具、代碼管控工具、集成開發(fā)環(huán)境等工具,可實現(xiàn)基于C#的Modbus串口通信,該界面設(shè)計簡潔清晰,操作簡單,便于實現(xiàn)。
圖2 軟件界面
軟件使用方法
軟件界面如圖2所示,操作方法如下:
1. 在IP Address里設(shè)置IP;
2. 在Port里面設(shè)置端口,一般固定為502端口;
3. 點擊connect按鍵,此時會自動連接以太網(wǎng),此按鍵變?yōu)閐isconnect;
4. 點擊start按鍵,開始采集電流;
5. 點擊stop按鍵,停止采集;
6. 點擊disconnect按鍵后,則斷開以太網(wǎng),清除數(shù)據(jù)。
軟件核心代碼
(1)Modbus function3功能讀取保持寄存器
Modbus function3功能讀取保持寄存器如附錄1所示,該段程序由一個調(diào)用函數(shù)組成,程序的第128至148行,是寄存器的設(shè)置。第149至第162行,是將數(shù)據(jù)存入寄存器并讀取數(shù)據(jù)。第163至166是將data的數(shù)據(jù)轉(zhuǎn)換成float類型存入value中。
(2)顯示通道數(shù)據(jù)
顯示通道數(shù)據(jù)代碼如附錄2所示,此段程序主要截取的為0通道顯示數(shù)據(jù),由三個主要函數(shù)組成,其余的7個通道可用與之相同的方法實現(xiàn)。
測量采集演示及說明
配備工具或軟件
1. 12V直流電源;
2. 兩個PT100鉑電阻溫度傳感器;
3. 兩個SBWZ溫度變送器;
4. 一個以太網(wǎng)接口8通道4-20mA電流采 集模塊(GM4008);
5. Aligent 3440A臺式六位半數(shù)字萬用表;
6. 開發(fā)環(huán)境:Visual Studio 2015(所需軟件 由用戶自行下載);
7. 操作系統(tǒng):WIN7以上。
系統(tǒng)連接方法
本次實驗主要采集兩個通道的電流數(shù)據(jù),為了保持圖片連線清楚整潔,只接入1個SBWZ,另一個連接方式相同。系統(tǒng)主要硬件連接如圖3所示。
圖3 系統(tǒng)主要硬件連接圖
測試步驟
1. 根據(jù)系統(tǒng)主要硬件連接圖(圖3)連接各組件;
2. 接入兩個溫度變送器,GM4008配置兩個通道,將CH0設(shè)定為打火機火焰測試數(shù)據(jù)采集通道,CH1設(shè)定為熱水數(shù)據(jù)采集通道;
3. 然后在程序界面設(shè)置好IP以及端口;
4. 將兩個溫度變送器的PT100鉑電阻分別放入熱水中與打火機火焰中(具體操作為點擊界面的connect按鈕,連接以后點start按鈕,系統(tǒng)會自動連接以太網(wǎng)采集數(shù)據(jù),操作簡單方便)。
測試結(jié)果
實驗采集到的數(shù)據(jù)如圖4所示,為了證明測試結(jié)果的準確性以及得到準確的溫度,進行精度驗證與實驗驗證算兩個步驟。
圖4 實驗采集數(shù)據(jù)圖
(1)精度驗證
為了驗證所測電流值的準確度,把Aligent 34401A 六位半高精度萬用表串聯(lián)到SBWZ溫度變送器后端的電路中,將萬用表的電流讀數(shù)與上位機顯示的電流度數(shù)進行對比。實驗結(jié)果如表1所示,經(jīng)過多次實驗,兩組數(shù)據(jù)結(jié)果基本相同。
表1 實驗各項數(shù)據(jù)表
| 被測對象 | GM4008測量值 | 萬用表 測量值 | 換算溫度 |
| 火焰(CH0) | 19.57mA | 19.58mA | 389℃ |
| 熱水(CH1) | 7.60mA | 7.61mA | 90℃ |
(2)實驗驗證
由SBWZ溫度變送器以及PT100鉑電阻的量程之間的關(guān)系,得出實際測得電流與溫度之間符合關(guān)系式:
y=25*x-100
對應(yīng)測量的電流值對照計算知所測水溫為大約90℃,火焰大約為389℃(由于火焰溫度高于量程,所以到19mA以后停止實驗,以免損壞設(shè)備)與實際相符。
由測試可知:本系統(tǒng)基于VC#開發(fā)環(huán)境通過以太網(wǎng)測得的數(shù)據(jù)是真實可靠的,可應(yīng)用于實際中。
總結(jié)
本文通過Visual studio 2015上位機編程實現(xiàn)了VC#環(huán)境下以太網(wǎng)的Modbus通信,可完成工業(yè)自動化控制系統(tǒng)中的遠程數(shù)據(jù)采集及監(jiān)測等功能。該通信系統(tǒng)編程模式簡單、易于使用、有較強的實用性。
參考資料
1. 《C#高級編程》
2. 《C#圖解教程》
相關(guān)資源下載
1、Visual Studio 2015下載地址:
https://www.visualstudio.com/downloads/download-visual-studio-vs
2、GM4008 簡易手冊:
http://files.cnblogs.com/files/xiaomagee/GM4008%E7%AE%80%E6%98%93%E6%89%8B%E5%86%8CV1.0.pdf
3、GM4008 用戶手冊:
http://files.cnblogs.com/files/xiaomagee/GM4008%E7%94%A8%E6%88%B7%E6%89%8B%E5%86%8CV1.0.pdf
4、GM4008 購買地址:
https://item.taobao.com/item.htm?id=522185223217
?
?
==================================
本文完整PDF版 及 代碼包下載:
完整版 PDF 下載:
http://pan.baidu.com/s/1mgLCzmo
源代碼包下載:(基于 VC#2015)
http://pan.baidu.com/s/1i3hMXvf
?
若下載失效,請發(fā)郵件索取:?gingko[AT]vip.163.com ? ? [AT]替換成 @
?==================================
?
總結(jié)
以上是生活随笔為你收集整理的【应用笔记】【AN001】VC#开发环境下基于以太网的4-20mA电流采集(基于modbus tcp 协议)...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SAP FICO hande汉得培训资料
- 下一篇: Eclipse工作空间还原到最初状态