在科技飛速發(fā)展與智能用電系統(tǒng)的普及的大背景下,高性能高要求的電力參數(shù)系統(tǒng)的相關(guān)研究也備受關(guān)注。計算機技術(shù)與無線傳輸技術(shù)的發(fā)展,為由普通功能型電力參數(shù)向多功能,高精度,高可靠,可移植,無線抄表的電力參數(shù)監(jiān)測系統(tǒng)的發(fā)展提供了充足的技術(shù)支持。電力參數(shù)采集技術(shù)不斷發(fā)展,朝著越來越智能,成本越來越低的方向發(fā)展。 本次項目,采用QT設(shè)計一個電力參數(shù)采集和控制系統(tǒng)。通過這次學習,專業(yè)技能和實驗技能,調(diào)試代碼能力得到有效鍛煉,不論對于知識系統(tǒng)的鞏固還是對以后走到未來崗位上都是起到很好的幫助作用。
- 使用Peacefail電力參數(shù)模塊(實訓將采用軟件模擬的方式來實現(xiàn),不需要準備硬件)。
- 測量電路電壓,頻率,功率,電能等參數(shù)。
- 發(fā)送至使用由C++的QT creator編制的上位機程序進行數(shù)據(jù)的顯示。
該項目使用的Modbus協(xié)議最初由施耐德公司為其PLC制定的一種通訊協(xié)議。在本項目中,下位機采用軟件模擬的方式來代替Peacefail電力參數(shù)模塊來實現(xiàn)采集交流電路中的電力參數(shù), 如電壓, 電流, 功率等, 并發(fā)送至使用由C++的QT creator編制的上位機程序進行數(shù)據(jù)的顯示。 (1)交流通讀盒介紹
圖1 交流通讀盒連接圖 1.物理層協(xié)議 - 物理層采用UART 轉(zhuǎn)TTL通信接口。
- 波特率為9600,8位數(shù)據(jù)位,1位停止位,無校驗。
2.應(yīng)用層協(xié)議 應(yīng)用層采用 Modbus-RTU 協(xié)議進行通信,目前只支持 Ox03(讀保持寄存器)、Ox04(讀輸入寄存器)、Ox06(寫單個寄存器)、0x41(校準)、0x42(電能清零)等功能碼。其中Ox41功能碼僅限于內(nèi)部使用(地址只能是 OxF8),用作出廠校準和返廠維修等場合,在功能碼之后增加16位的密碼,密碼默認為0x3721。 從機的編址范圍為0x01~OxF7,地址0x00作為廣播地址,從機不需回復(fù)主機,地址OxF8 作為通用地址,該地址只能用在單從機的環(huán)境中,可以用作校準等操作。 3.讀取測量結(jié)果 主機讀取測量結(jié)果的命令格式為(共8個字節(jié)): 從機地址+Ox04+寄存器地址高字節(jié)+寄存器地址低字節(jié)+寄存器數(shù)量高字節(jié)+寄存器數(shù)量低字節(jié)+CRC校驗高字節(jié)+CRC校驗低字節(jié)。 從機回復(fù)如下的命令格式分為兩種: 正確回復(fù):從機地址+Ox04+字節(jié)數(shù)+寄存器1數(shù)據(jù)高字節(jié)+寄存器1數(shù)據(jù)低字節(jié)+...+ CRC校驗高字節(jié)+CRC校驗低字節(jié)。 錯誤回復(fù):從機地址+0x84+異常碼+CRC校驗高字節(jié)+CRC校驗低字節(jié)。 異常碼解讀如下(下同): ①Ox01,非法功能; ②Ox02,非法地址; ③Ox03,非法數(shù)據(jù); ④0x04,從機錯誤。 表1 測 量 結(jié) 果 的 寄 存 器 排 布
表2 功 能 描 述 | | | | | | | | | | |
| | | | | | | | | | | | | | | | | |
| | | | |
| | | | |
| | | | 有功功率門限可進行設(shè)置,當實測的有功功率超過設(shè)定的門限時,置報警狀態(tài)。 | | | | | | 單相工頻電網(wǎng)電源經(jīng)過阻容降壓給主電路供電,TTL輸出通訊接口與 主電路光耦隔離,為無源輸出,通訊時需要外部提供5V電源。 | | |
(2)Modbus協(xié)議介紹RS232,RS485通訊指的是兩個設(shè)備之間通過485或232串口連接,在串口信道上實現(xiàn)數(shù)據(jù)通訊,是一種硬件規(guī)范,并未為具體工業(yè)應(yīng)用領(lǐng)域確定或規(guī)范數(shù)據(jù)的意義,是一種通用的底層硬件協(xié)議和簡單的軟件規(guī)范的結(jié)合。modbus指的是一種工業(yè)標準的數(shù)據(jù)對話協(xié)議,對于保持寄存器,輸入寄存器,輸出寄存器,線圈寄存器等不同的寄存器數(shù)值的讀寫,均定義了專門的指令和數(shù)據(jù)交換規(guī)范。 表3 兩 種 不 同 的 Modbus 模 式
表4 Modbus RTU 報 文 格 式
數(shù)據(jù)幀之間的時間間隔,防止粘包。在9600波特率下,約4ms。 Modbus是一個應(yīng)用層協(xié)議,會根據(jù)你的環(huán)境是網(wǎng)絡(luò)還是串口,會有一個區(qū)分。 - 對于網(wǎng)絡(luò),有Modbus-TCP和Modbus-UDP
- 對于串口,有Modbus-RTU和Modbus-ASCII
Modbus存儲區(qū):MODBUS涉及到的控制器(或MODBUS 設(shè)備〉存儲區(qū)以O(shè)XXXX、1XXXX、3XXXX、4XXXX標識;
表5 Modbus 存 儲 區(qū) | | | | | | | | | 00001--0XXXX,XXXX:與設(shè)備有關(guān) | | | | | 10001--1XXXX,XXXX:與設(shè)備有關(guān) | | | | | 30001--3XXXx,XXXX:與設(shè)備有關(guān) | | | | | 40001--4XXXX,XXXX:與設(shè)備有關(guān) |
讀取保存寄存器功能碼: 03H
表6 主 站 詢 問 報 文 格 式
主站詢問報文格式: 功能:讀從站保持寄存器4XXXX值。 注意:報文中寄存器起始地址00000對應(yīng)設(shè)備中40001地址,其他順延。 本例:讀11H號從站保持寄存器值,起始地址=006BH=107,對應(yīng)地址40108;寄存器數(shù)=0003;末地址=40108+3-1=40110; 因此,本詢問報文功能是:讀17 (11H)號從站3個保持寄存器40108—40110的值; 仔細分析任務(wù)要求,查閱相關(guān)技術(shù)資料;赒T的電力參數(shù)采集系統(tǒng),采用QT需要模擬下位機發(fā)送的信號,不然QT上位機沒有輸入量,因此需要串口調(diào)試軟件模擬下位機給上位機發(fā)送信號,需要虛擬串口來創(chuàng)造串口來進行連接。采用PZEM014-Master上位機作為我們設(shè)計的QT上位機對照,驗證本項目的可行性及準確性。當然設(shè)計中需要ModeBusRTU調(diào)試工具,支持系統(tǒng)的正常工作。同時,為了實現(xiàn)任務(wù)要求中的按鍵操作功能,必不可少的需要加入模擬按鍵、參數(shù)顯示面板。 經(jīng)過設(shè)計分析,系統(tǒng)框圖成及上位機基本頁面如下圖所示:
 
圖2 系統(tǒng)框圖 圖3 上位機基本頁面 Qt Creator 為應(yīng)用程序開發(fā)人員提供了一個跨平臺的完整集成開發(fā)環(huán)境(IDE),可以為多個臺式機、嵌入式和移動設(shè)備平臺(例如Android 和 iOS)創(chuàng)建應(yīng)用程序。它可用于 Linux、macOS 和 Windows 操作系統(tǒng)。此外,用戶可以使用實驗性的 WebAssembly 插件以 Web 格式構(gòu)建應(yīng)用程序,然后在 Web 瀏覽器中運行它們。 Qt Creator 包括項目生成向?qū)、高級?C++ 代碼編輯器、瀏覽文件及類的工具、集成了 Qt Designer、圖形化的 GDB 調(diào)試前端,集成qmake 構(gòu)建工具等。 圖4 Qt Creator 4.7.1 (Enterprise)軟件頁面
QtCreator 主要是為了幫助新 Qt 用戶更快速入門并運行項目,還可提高有經(jīng)驗的 Qt 開發(fā)人員的工作效率。語法標識和代碼完成功能輸入時進行靜態(tài)代碼檢驗以及提示樣式上下文相關(guān)的幫助代碼折疊括號匹配和括號選擇模式高級編輯功能。集成了領(lǐng)先的版本控制軟件,包括Git、Perforce 和 Subversion開放式文件,無須知曉確切的名稱或位置搜索類和文件跨不同位置或文件沿用符號在頭文件和源文件,或在聲明和定義之間切換。集成了特定于 Qt 的功能,如信號與槽 (Signals & Slots)圖示調(diào)試器, 對 Qt 類結(jié)構(gòu)可一目了然集成了 Qt Designer 可視化布局和格式構(gòu)建器只需單擊一下就可生成和運行 Qt 項目。 - VirtualSerialPortDriverPro
允許將物理串行端口分成幾個虛擬通信端口(COM2、COM3、COM4等),在系統(tǒng)中作為硬件串行接口的精確拷貝出現(xiàn)?蛇B接多個虛擬COM端口到一個真實的物理端口。串行應(yīng)用程序?qū)⑼瑫r接收來自所有連接的虛擬COM端口的數(shù)據(jù)。允許創(chuàng)建和管理復(fù)雜的串行端口束。由“in”端的COM端口接收,串行數(shù)據(jù)將被重定向到捆綁包的“外”側(cè)的每個COM端口,反之亦然。 適用范圍: 1、適用的嵌入式設(shè)備:可以將任何使用TCP/IP或UDP廣播方式傳輸數(shù)據(jù)的嵌入式設(shè)備虛擬成本機COM口。 - 虛擬串口互聯(lián):一臺電腦用Server模式和Client模式運行2個VSPM虛擬串口軟件,可以實現(xiàn)虛擬串口互聯(lián)。
- 軟件調(diào)試及串口通訊模擬:利用各類擴展DLL插件,可以使VSPM模擬成一個串口設(shè)備,方便軟件調(diào)試。

圖5 Virtual Serial Port Driver Pro軟件頁面
串口調(diào)試工具,方便調(diào)試串口,可用于串口通訊,發(fā)送命令,接收信息,,波特率支持110~256000,可保存己接收數(shù)據(jù)文件,方便串口數(shù)據(jù)調(diào)試,sscom3.2可快速將所需要的串口調(diào)式完成。適合單片機編程時對RS232通訊測使用,功能包含三大項,快速發(fā)送串口指令,編輯指令列表,共享指令列表。 此外sscom3.2串口調(diào)試工具能支持所有物理的、虛擬的、USB轉(zhuǎn)的、藍牙的,從COM0到COMxxx任何串口號的端口,自動識別電腦里已經(jīng)存在的串口,例如COM1、COM2、COM30、COM40,不存在的串口不顯示問題。 圖6 sscom32軟件頁面 利用Virtual Serial Port Driver Pro, 創(chuàng)建兩個互連虛擬串口:COM1和COM2;實現(xiàn)向com1發(fā)數(shù)據(jù),com2能收到,實現(xiàn)向com2發(fā)數(shù)據(jù),com1能收到。 圖7 創(chuàng)建虛擬串口 利用sscom3.2串口調(diào)試工模擬下位機傳輸給上位機數(shù)據(jù),準備階段采用PZEM014-Master上位機,作為我們設(shè)計的QT上位機對照,方便驗證本項目的可行性及準確性。 打開sscom3.2作為下位機,配置COM1串口,波特率設(shè)置9600。 同時打開PZEM014-Master作為上位機,配置COM2串口,波特率設(shè)置9600。 
圖8 創(chuàng)建連接 sscom32作為下位機,模擬兩組數(shù)據(jù)傳輸,成功送。 PZEM014-Master作為上位機,成功接受數(shù)據(jù),成功顯示電參數(shù)。 圖9 模擬傳輸
- 設(shè)計基于QT的電力參數(shù)采集系統(tǒng)上位機
圖10 創(chuàng)建QT項目
ui界面各控制的objectName: - cboSerial
- lblSerialState
- btnOpenSerial
- lblVolt
- lblCircut
- lblFreq
- lblPower
圖11 設(shè)計項窗口 
圖12 核心代碼 此次功能調(diào)試首先要測試連接是否正常,然后需要調(diào)試QT上位機和sscom32作為下位機連接之后能否正常顯示。測試結(jié)束后用PZEM014-Master上位機,作為我們設(shè)計的QT上位機對照,方便驗證本項目的可行性及準確性。本次設(shè)計使用Peacefail電力參數(shù)模塊(本次實訓將采用軟件模擬的方式來實現(xiàn),不需要準備硬件)來測量電路電壓,頻率,功率,電能等參數(shù)。該項目使用的Modbus協(xié)議最初由施耐德公司為其PLC制定的一種通訊協(xié)議。 
圖13 測試連接
- 測試QT上位機和sscom32下位機連接之后正常顯示。

圖14 測試顯示 - 用PZEM014-Master上位機,作為QT上位機對照,對照結(jié)果一致。

圖15 對照結(jié)果 系統(tǒng)測試得驗證只是系統(tǒng)功能基本實現(xiàn),還需要進行更多得數(shù)據(jù)測試進行分析,驗證系統(tǒng)的穩(wěn)定性如何, 這里我們模擬了9組數(shù)據(jù)。 表7 模 擬 數(shù) 據(jù) 組 F8 04 14 08 ED 00 00 00 00 00 00 00 00 00 00 00 00 01 F4 00 00 00 00 FC CD | F8 04 14 08 ED 01 00 00 00 01 00 00 00 00 00 00 00 01 2C 00 00 00 00 FC CD | F8 04 14 08 ED 05 00 00 00 05 00 00 00 00 00 00 00 03 E8 00 00 00 00 FC CD | F8 04 14 08 E8 00 00 00 00 00 00 00 00 00 00 00 00 01 F4 00 00 00 00 30 01 | F8 04 14 08 E8 01 00 00 00 01 00 00 00 00 00 00 00 01 2C 00 00 00 00 30 01 | F8 04 14 08 E8 05 00 00 00 05 00 00 00 00 00 00 00 03 E8 00 00 00 00 30 01 | F8 04 14 08 98 00 00 00 00 00 00 00 00 00 00 00 00 01 F4 00 00 00 00 FC CD | F8 04 14 08 98 01 00 00 00 01 00 00 00 00 00 00 00 01 2C 00 00 00 00 FC CD | F8 04 14 08 98 05 00 00 00 05 00 00 00 00 00 00 00 03 E8 00 00 00 00 FC CD |
模擬數(shù)組選擇說明: - 上位機發(fā):F8 04 00 00 00 0A 64 64
- F8 04 為固定,從寄存器地址00開始,0A表示要接收10個寄存器,共20個字節(jié),校驗碼為 64 64
- 下位機收:F8 04 14 08 ED 00 00 00 00 00 00 00 00 00 00 00 00 01 F4 00 00 00 00 FC CD
- F8 04 為固定,14表示要接收20個字節(jié),不包括校驗碼,校驗碼為 FC CD
- 08 ED 表示電壓為228.5V
- 01 F4 表示頻率為50Hz
但是執(zhí)行兩次就失敗,且上位機讀不出來數(shù)據(jù)
直連一切正常: - 上位機發(fā):F8 04 00 00 00 0A 64 64
- 下位機收:F8 04 14 08 E8 00 00 00 00 00 00 00 00 00 00 00 00 01 F4 00 00 00 00 30 01
- 08 E8 表示電壓為228V
- 兩次發(fā)送時間間隔為:575~592ms
- 兩次接收時間間隔為:560~575ms
表8 模 擬 數(shù) 據(jù) 測 試 結(jié) 果
對以上表格內(nèi)部的數(shù)據(jù)進行分析,可以發(fā)現(xiàn)模擬數(shù)字在都可以正常在上位機進行顯示,對模擬數(shù)據(jù)進行正確得處理后輸出相應(yīng)得電參數(shù)顯示。通過模擬的分析與驗證,本次設(shè)計任務(wù)的要求全部可以成功實現(xiàn),所以此次的基于QT的電力參數(shù)采集系統(tǒng)設(shè)計成功。 其次在這次中,下載了C++軟件,由老師帶領(lǐng)我們進行快速的復(fù)習C語言編程的重點知識點,在快速地進行系統(tǒng)的學習后,老師帶領(lǐng)下我們做了打印日歷的C++小項目,在學習過程中有問題時,認真和同學、老師討論交流。在正式進入項目前,我們下載了QT軟件,及涉及項目相關(guān)軟件。然后老師帶領(lǐng)我們進行系統(tǒng)的學習,知道軟件基本的功能菜單,會自己創(chuàng)建工程文件,把需要的庫函數(shù)組件放好地方,加入到工程之中使用。在快速地進行系統(tǒng)的學習后,老師帶領(lǐng)下我們做了mp3播放器小項目,深深的吸引力我對嵌入式的興趣。正式進入本項目的設(shè)計,我遇到問題總是會自己思考,找老師尋求幫助,只有通過親自動手操作,完成一個任務(wù)的設(shè)計制作。才知道其過程的艱巨,但是有苦也有樂,有付出也有收獲。發(fā)現(xiàn)自己不足之處的同時也收獲到很多有用的東西:對以前所學過的知識理解得不夠深刻,掌握得不夠牢固,雖然感覺理論上已經(jīng)掌握,但在運用到實踐的過程中仍有意想不到的困惑,需要再去查找資料才得以解決。這也激發(fā)了我今后努力學習的斗志,我想這將對以后的學習產(chǎn)生比較深遠的影響。
以上圖文的Word格式文檔下載(內(nèi)容和本網(wǎng)頁上的一模一樣,方便大家保存):
小惜設(shè)計51hei.doc
(2.37 MB, 下載次數(shù): 27)
2022-5-12 20:53 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
electricty.zip
(6.75 KB, 下載次數(shù): 34)
2022-5-12 20:38 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|