999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于LabVIEW與Modbus協議的多點溫度采集實驗設計

2023-08-30 10:54:34梁新武陳飛謝雨欣謝啟徐惠鋼
中國教育技術裝備 2023年1期
關鍵詞:數據庫實驗

梁新武 陳飛 謝雨欣 謝啟 徐惠鋼

摘? 要? 為培養學生工業通信協議應用能力,設計一種基于LabVIEW與Modbus協議的多點溫度采集實驗。該實驗以LabVIEW為上位機,以TAM-18B20-8L模塊實現對溫度信號的采集;上位機通過485通信接口及Modbus協議讀取溫度數據進行處理并顯示,通過Database Connectivity工具包完成Access數據庫的建立及數據存儲。學生可以通過該實驗更好地掌握Modbus協議、數據庫建立訪問的設計方法和工程實現方法。

關鍵詞? LabVIEW;Modbus協議;多點溫度采集實驗;TAM-18B20-8L溫度采集模塊

中圖分類號:G642.423? ? 文獻標識碼:B

文章編號:1671-489X(2023)01-0039-04

0? 引言

在工業4.0時代以及“新工科”背景下,我國的工程教育迎來了難得的發展機遇。地方應用型大學培養應用型人才更應該注重工程應用、工程技術的培養[1]。在科技快速發展的背景下,智能化設備已經占據制造業的主導地位,在智能化設備上,各種通信端口的應用,實現了各設備之間的通信,同時也為各設備提供了更多的可拓展空間,創造了無限的可能性[2]。

在工業中,常用的通信協議有Modbus協議、TCP/IP協議、MPI通信、串口通信等。Modbus協議作為工業自動化領域應用最為廣泛的通信協議之一,已經被廣泛應用到工業設備上,是自動化類、電子信息類學生必須掌握學習的知識。在傳統實踐教學中,Modbus協議的教學往往是容易忽略的一點,學生對此協議的掌握也相對薄弱[3]。

溫度作為國際單位制的七個基本量之一,是工業現場一種需要重點監控的參數,通過虛擬儀器技術進行檢測是自動化領域中常用的方法。LabVIEW是NI公司推出的一種虛擬儀器開發平臺,采用可視化的圖形編程語言編程,具有鮮明的行業特征,在測試測量行業有著其獨特優勢。

鑒于此本文設計了一種基于LabVIEW與Modbus協議的多點溫度采集實驗,旨在培養學生將運用LabVIEW實現工業協議——Modbus協議的能力,加深對LabVIEW數據采集、通信、數據庫操作工程實現方法的理解。

1? 系統硬件設計

本系統的硬件連接圖如圖1所示。選用穩定性較好、分辨率較高的DS18B20溫度傳感器,該傳感器測溫范圍是-55~125 ℃,可滿足多種情況下的測溫需求。該模塊使用的是Modbus通信協議,最多可同時采集8路信號,能滿足學生日常實驗學習需求。

系統以LabVIEW作為上位機,TAM-18B20-8L溫度采集模塊通過RS-485轉USB 模塊連接到電腦。在此設置485通信波特率是9600,無奇偶位校驗,因此將TAM-18B20-8L溫度采集模塊中的10位撥碼開關B1~B10設置為0000100000,并將模塊內部的跳線帽接到485接口的位置。在此電路連接中,為了實現溫度采集模塊與通信轉換器有統一的電源基準,需將其GND引腳接在一起[4]。

2? 系統軟件設計

本軟件部分主要包括:Modbus通信協議、LabVIEW讀取溫度數據、LabVIEW與Access數據庫的交互。系統軟件設計將LabVIEW 2018作為主要開發平臺。軟件設計程序流程圖如圖2所示。本系統以冷箱出廠時的冷藏室、冷凍室溫度變化是否符合要求的測試為例進行軟件設計。首先需對測溫時長及合格溫度進行設置;繼而采集溫度;當測溫時間到時則對所采集到的溫度數據進行處理,并做出是否合格的判定;同時將測試的數據存儲到數據庫中以便追溯。LabVIEW軟件并行機制的一些程序同時具有選擇數據查詢或停止系統運行的功能,當選擇數據查詢時則調用數據庫顯示歷史的測試數據,當選擇停止時則退出整個程序。

2.1? Modbus通信協議

軟件設計首先要掌握Modbus通信協議[5]。該通信協議是工業上常用的通信協議、通信約定,是一種單主站的主/從通信模式,用于不同類型總線或網絡設備之間提供主站設備/從站設備通信,同一主站可對應多個從站。本實驗中采用485接口Modbus協議實現上位機LabVIEW與TAM-18B20-8L溫度采集模塊的通信。

實驗中采用傳輸效率較高的Modbus RTU通信模式,屬于異步串行通信模式,主站請求幀和從機響應幀格式如表1、表2所示。

實驗中采用一塊TAM-18B20-8L溫度采集模塊(共可接8路溫度傳感器),設置其模塊地址碼為01;若主站要讀取溫度采集模塊上的數據,由表1知其功能碼為03;溫度采集模塊接了三路溫度傳感器(其對應的寄存器地址為0x0000~0x0003),因此,寄存器的起始地址為 0x0000;寄存器數量為3;CRC校驗采用的CRC-16校驗,通過計算得到其CRC校驗結果為05BC,從而得到主機請求幀為:0103 0000 0003 05CB。

2.2? LabVIEW讀取溫度數據

實驗中使用了3個DS18B20傳感器,由圖1知3個傳感器接至TAM-18B20-8L溫度采集模塊的通道0到通道2上。LabVIEW通過Modbus協議讀取TAM-18B20-8L溫度采集模塊的數據并進行處理,溫度數據讀取流程如圖3所示。

1)通信參數初始化為:波特率:9600、數據位:8位、奇偶校驗位:None、停止位:1位、流控制:無;

2)LabVIEW向TAM-18B20-8L溫度采集模塊寫主機請求幀:0103 0000 0003 05CB;

3)延時200毫秒后讀取溫度采集模塊的響應幀,由表2知響應幀為11個字節,其中第4~9字節為溫度信息;

4)若讀取到11字節后對其進行CRC校驗碼計算;

5)CRC校驗正確則提取溫度信息。

將接收到的從機響應幀中的前9個字節,即不包括校驗碼,進行CRC-16校驗碼計算,其程序流程圖如圖4所示。實驗中的Modbus通信CRC-16校驗,采用的校驗多項式為X16+X15+X2+1,即1 1000 0000 0000 0101,用前9個數據幀以模2除法的方式除上面的除數,得到的余數就是該幀的CRC校驗碼,利用LabVIEW編程就是先預置1個16位的寄存器為十六進制FFFF(即全為1),稱此寄存器為CRC寄存器;然后把第一個8位二進制數據(即第一個字節)與16位的CRC寄存器的低8位相異或,把結果放在CRC寄存器里面,高8位的數據保持不變;再把CRC寄存器的內容右移一位(朝低位移),用0填補最高位,并檢查右移后的移出位;如果移出位是0則再次右移一位;如果移出位為1,則CRC寄存器與多項式A001(1010000000000001)進行異或;重復上述步驟,直到右移8次,這樣整個8位數據就全部都進行了處理;重復以上步驟,進行通信信息幀下一個字節的處理;將所有字節按上述步驟計算完成后,將計算得到的16位CRC寄存器的高、低字節進行交換位置;最后得到的CRC寄存器內容即為CRC校驗碼。將得到的CRC校驗碼與接收到CRC碼(第10、11兩個字節)進行比較,若相等則接收到的數據正確。

實驗中將三路溫度傳感器采集到的溫度數據,以25%、25%、50%的加權進行數據處理,令三路傳感器采集到的溫度分別為T1、T2、T3,則最終得到的溫度為:

T=0.25T1+0.25T2+0.5T3? ? ? ? ? ? ? (1)

由式(1)得到的最終溫度與設定的合格溫度進行對比,假設低于設定的合格溫度則為合格,反之為不合格。

2.3? LabVIEW與Access數據庫的交互

在工業實際應用中,為做到檢測信息可追溯都會用到數據庫,為使學生了解和掌握LabVIEW的數據庫操作,本實驗要求使用Access數據庫進行溫度數據的存儲與查詢。

LabVIEW本身并不具有數據庫的功能,本實驗要求通過Database Connectivity Toolkit工具包以及Access Database Engine數據引擎,連接Access數據庫實現寫入數據、讀取數據的功能,也可以通過ActiveX調用Microsoft ADO控件實現訪問或者通過第三方工具包LabSQL完成訪問[6]。

先建立起一個可調用的Access模板,填充測試時間、溫度等表頭名稱,通過拆分路徑的方式生成數據庫文件,在使用數據庫文件時,若檢測到數據庫未建立,則自動復制前面創建的數據庫模板。本次使用的是相對方便靈活地連接字符串連接數據庫,常見的連接方式還有DSN、UDL等。完成數據庫建立之后,需要將相關數據寫入數據庫,將需要的信息建立成一個簇,將相關數據提取到簇中,在此基礎上,不斷更新數據[7]。

當檢測到查詢數據指令時,系統將會執行打開數據庫和數據讀取兩個操作。系統會判斷鏈接的文件路徑是不是測試數據庫文件,若是,則正常打開數據庫。讀取數據庫,會將Access中的數據讀取到LabVIEW前面板中顯示。

3? 實驗運行

連接好硬件電路,打開程序測試系統前面板如圖5所示配置,測試時間為5分鐘,設定溫度為25 ℃,經判定當前溫度為低于設定溫度,因此判定結果為合格。通過選項卡的切換可以進行測試數據的查詢,如圖6所示。

4? 結束語

本文設計了基于LabVIEW與Modbus協議的多點溫度采集實驗。選用TAM-18B20-8L溫度采集模塊進行多點溫度信息的采集,LabVIEW通過Modbus協議讀取溫度采集模塊的溫度信息并進行處理顯示,同時將溫度數據等存儲到Access數據庫中。本實驗設計面向應用型人才的培養,與工業實際聯合起來。該實驗為虛擬儀器技術課程的實踐環節提供了典型案例,學生可在此基礎上進行二次開發。

1)在數據處理方面,本實驗中采用簡單的加權計算,存在一定的誤差,可利用誤差理論與數據處理等知識進行誤差判定并得到更準確的溫度值。

2)可找一應用場合,在實驗中加入PID調溫。

3)可考慮使用其他工業中的協議進行替換[8]。

通過實驗使學生更好地掌握理論知識,提高工程實踐能力,同時實驗中較多的可拓展處可激發學生的學習熱情與創新意識。本實驗也可為類似系統的設計提供一定的參考。

5? 參考文獻

[1] 馬云闊,羅瑤嘉.“新工科”背景下地方高水平大學工程類本科應用型人才培養研究[J].佳木斯大學社會科學學報,2018,36(4):165-167,173.

[2] 楚敬敬,張偉,孫曉,等.基于Modbus RTU協議的PLC通信實驗平臺開發[J].山東化工,2021,50(18):219-223.

[3] 張加宏,楊天民,劉恒,等.一種嵌入式PID恒溫控制的教學實驗設計[J].實驗技術與管理,2020,37(10):211-215,219.

[4] 黃靖博.RS485通訊連接方式及其應用[J].大眾用電,2008(9):22-23.

[5] 艾博,許向陽,賈月明.基于Modbus RTU協議的數據采集平臺設計與實現[J].電子工業專用設備,2021,50(5):46-49.

[6] 蘇同發,張樸.基于LabVIEW與Access的多通道數據采集存儲系統設計與實現[M]//2019中國自動化大會(CAC2019)論文集.中國自動化學會會議論文集.2019.

[7] 寧芬,周慶華,唐立軍,等.基于LabVIEW與Access的虛擬實驗教學系統[J].智能計算機與應用,2016,6(5):81-84.

[8] 吳蘭.面向測控專業的信號處理類課程的教學改革與實踐[J].教育教學論壇,2017(11):85-86.

猜你喜歡
數據庫實驗
記一次有趣的實驗
微型實驗里看“燃燒”
做個怪怪長實驗
數據庫
財經(2017年15期)2017-07-03 22:40:49
數據庫
財經(2017年2期)2017-03-10 14:35:35
NO與NO2相互轉化實驗的改進
實踐十號上的19項實驗
太空探索(2016年5期)2016-07-12 15:17:55
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
主站蜘蛛池模板: 秋霞午夜国产精品成人片| 免费日韩在线视频| 久久精品免费国产大片| 91视频首页| 亚洲视频免费在线| 人妻精品久久无码区| 欧美日韩v| 一级毛片网| 亚洲第一极品精品无码| 国产白浆在线观看| 久久精品无码国产一区二区三区 | 国产精品精品视频| 欧美性爱精品一区二区三区| 伊人久久婷婷五月综合97色| 日韩无码黄色网站| 久久人体视频| 91久久大香线蕉| 香蕉在线视频网站| 日韩亚洲综合在线| 亚洲天堂视频网| 亚洲第一精品福利| 国产成人精品三级| 国产在线观看精品| 亚洲综合专区| 国产精品无码AⅤ在线观看播放| 亚洲AV无码精品无码久久蜜桃| 亚洲国产欧美国产综合久久 | 国产美女无遮挡免费视频网站| 欧美自慰一级看片免费| 日本91视频| 国产亚洲精品自在久久不卡 | 久热这里只有精品6| 欧美三级视频在线播放| 国产精品第一区在线观看| 国产色伊人| 四虎在线观看视频高清无码 | 毛片久久久| 韩日无码在线不卡| a毛片免费观看| 国产人成在线观看| 亚洲欧美另类日本| 无码中文字幕精品推荐| 亚洲成人精品在线| 国产午夜无码片在线观看网站| 色哟哟国产成人精品| 亚洲福利片无码最新在线播放 | 久久精品一卡日本电影 | 国产高清在线精品一区二区三区 | 欧美亚洲一区二区三区导航| 日韩a级毛片| 超碰91免费人妻| 久久青青草原亚洲av无码| 国产一级小视频| 99久久免费精品特色大片| 欧美激情第一欧美在线| 国产性爱网站| 国产真实自在自线免费精品| 国产区在线看| 久久久久久国产精品mv| 久久婷婷五月综合色一区二区| 六月婷婷综合| 1769国产精品免费视频| 久久精品国产精品一区二区| 国产浮力第一页永久地址| 亚洲精品视频在线观看视频| 亚洲无码精品在线播放| a级毛片免费网站| 亚洲男人天堂久久| 日韩无码黄色网站| 91精品啪在线观看国产60岁| 午夜精品一区二区蜜桃| 亚洲一区国色天香| 国产另类视频| a毛片免费看| 中文字幕第4页| 日韩午夜福利在线观看| 欧美视频在线第一页| 国产精品伦视频观看免费| 亚洲无码高清一区| 久久久久久久久18禁秘| 国产无码精品在线播放| 2021亚洲精品不卡a|