在科技飛速發(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ù)采集和控制系統(tǒng)。通過這次學習,專業(yè)技能和實驗技能,調(diào)試代碼能力得到有效鍛煉,不論對于知識系統(tǒng)的鞏固還是對以后走到未來崗位上都是起到很好的幫助作用。
該項目使用的Modbus協(xié)議最初由施耐德公司為其PLC制定的一種通訊協(xié)議。在本項目中,下位機采用軟件模擬的方式來代替Peacefail電力參數(shù)模塊來實現(xiàn)采集交流電路中的電力參數(shù), 如電壓, 電流, 功率等, 并發(fā)送至使用由C++的QT creator編制的上位機程序進行數(shù)據(jù)的顯示。
(1)交流通讀盒介紹圖1 交流通讀盒連接圖
1.物理層協(xié)議
2.應用層協(xié)議
應用層采用 Modbus-RTU 協(xié)議進行通信,目前只支持 Ox03(讀保持寄存器)、Ox04(讀輸入寄存器)、Ox06(寫單個寄存器)、0x41(校準)、0x42(電能清零)等功能碼。其中Ox41功能碼僅限于內(nèi)部使用(地址只能是 OxF8),用作出廠校準和返廠維修等場合,在功能碼之后增加16位的密碼,密碼默認為0x3721。
從機的編址范圍為0x01~OxF7,地址0x00作為廣播地址,從機不需回復主機,地址OxF8 作為通用地址,該地址只能用在單從機的環(huán)境中,可以用作校準等操作。
3.讀取測量結(jié)果
主機讀取測量結(jié)果的命令格式為(共8個字節(jié)):
從機地址+Ox04+寄存器地址高字節(jié)+寄存器地址低字節(jié)+寄存器數(shù)量高字節(jié)+寄存器數(shù)量低字節(jié)+CRC校驗高字節(jié)+CRC校驗低字節(jié)。
從機回復如下的命令格式分為兩種:
正確回復:從機地址+Ox04+字節(jié)數(shù)+寄存器1數(shù)據(jù)高字節(jié)+寄存器1數(shù)據(jù)低字節(jié)+...+ CRC校驗高字節(jié)+CRC校驗低字節(jié)。
錯誤回復:從機地址+0x84+異常碼+CRC校驗高字節(jié)+CRC校驗低字節(jié)。
異常碼解讀如下(下同):
①Ox01,非法功能; ②Ox02,非法地址;
③Ox03,非法數(shù)據(jù); ④0x04,從機錯誤。
寄存器地址 | 說明 | 分辨率 |
Ox0000 | 電壓測量值 | ILSB對應0.1V |
Ox0001 | 電流測量值低16位 | 1LSB對應0.001A |
Ox0002 | 電流測量值高16位 | |
Ox0003 | 電流測量值低16位 | 1LSB對應0.1W |
Ox0004 | 電流測量值高16位 | |
Ox0005 | 電流測量值低16位 | 1LSB對應1Wh |
Ox0006 | 電流測量值高16位 | |
Ox0007 | 頻率測量值 | 1LSB對應1Wh |
Ox0008 | 功率因數(shù)測量值 | 1LSB對應0.01O |
Ox0009 | 報警狀態(tài) | xFFFF為報警,0x0000為不報警 |
表1 測 量 結(jié) 果 的 寄 存 器 排 布
表2 功 能 描 述
功能描述 | 測量范圍 | 其測電流/功率 | 分辨率 | 測量精度 | ||
10A | 100A | 10A | 100A | |||
電壓 | 80-260V | 0.1V | 0.5% | |||
電流 | 0-10A | 0-100A | 0.01A | 0.02A | 0.001A | 0.5% |
有功功率 | 0-2.3kw | 0-23kw | 0.4kw | 0.1w | 0.5% | |
功率因素 | 0.00-1.00 | 0.01 | 1% | |||
頻率 | 45Hz-65Hz | 0.1Hz | 0.5% | |||
有功電能 | 0-9999.99kwh | 1wh | 0.5% | |||
功率超限報警 | 有功功率門限可進行設置,當實測的有功功率超過設定的門限時,置報警狀態(tài)。 | |||||
通信接口 | TTL接口 | |||||
尺寸 | ![]() | |||||
電源 | 單相工頻電網(wǎng)電源經(jīng)過阻容降壓給主電路供電,TTL輸出通訊接口與 主電路光耦隔離,為無源輸出,通訊時需要外部提供5V電源。 | |||||
工作溫度 | ![]() |
RS232,RS485通訊指的是兩個設備之間通過485或232串口連接,在串口信道上實現(xiàn)數(shù)據(jù)通訊,是一種硬件規(guī)范,并未為具體工業(yè)應用領域確定或規(guī)范數(shù)據(jù)的意義,是一種通用的底層硬件協(xié)議和簡單的軟件規(guī)范的結(jié)合。modbus指的是一種工業(yè)標準的數(shù)據(jù)對話協(xié)議,對于保持寄存器,輸入寄存器,輸出寄存器,線圈寄存器等不同的寄存器數(shù)值的讀寫,均定義了專門的指令和數(shù)據(jù)交換規(guī)范。
表3 兩 種 不 同 的 Modbus 模 式
特性 | RTU模式 | ASCII模式 |
編碼 | 二進制 | ASCII(打印字符:0-9,a-z,A-Z) |
每個字符位數(shù) | 起始位:1 BIT | 起始位:1 BIT |
數(shù)據(jù)位:8 BITS | 數(shù)據(jù)位:7 BITS | |
奇偶校驗位(可選):1位 | 奇偶校驗位(可選):1位 | |
停止位:1或2 | 停止位:1或2 | |
報文校驗 | CRC(循環(huán)冗余校驗) | LRC(縱向冗余校驗) |
表4 Modbus RTU 報 文 格 式
小于3.5個字符的報文間隔時間 | 地址 | 功能碼 | 數(shù)據(jù) | CRC校驗 | 小于3.5個字符的報文間隔時間 |
1*byte | 1*byte | N*byte | 2*byte |
數(shù)據(jù)幀之間的時間間隔,防止粘包。在9600波特率下,約4ms。
Modbus是一個應用層協(xié)議,會根據(jù)你的環(huán)境是網(wǎng)絡還是串口,會有一個區(qū)分。
Modbus存儲區(qū):MODBUS涉及到的控制器(或MODBUS 設備〉存儲區(qū)以OXXXX、1XXXX、3XXXX、4XXXX標識;
表5 Modbus 存 儲 區(qū)
存儲區(qū)標識 | 名稱 | 類型 | 讀寫 | 存儲單元地址 |
OXXXX | 線圈 | 位 | 讀/寫 | 00001--0XXXX,XXXX:與設備有關(guān) |
1XXXX | 輸入線圈 | 位 | 只讀 | 10001--1XXXX,XXXX:與設備有關(guān) |
2XXXX | 輸入寄存器 | 字 | 只讀 | 30001--3XXXx,XXXX:與設備有關(guān) |
3XXXX | 保持/輸出寄存器 | 字 | 讀/寫 | 40001--4XXXX,XXXX:與設備有關(guān) |
讀取保存寄存器功能碼: 03H
表6 主 站 詢 問 報 文 格 式
地址 | 功能碼 | 寄存器起始 地址高位 | 寄存器起始 地址低位 | 寄存器數(shù) 地址高位 | 寄存器數(shù) 地址低位 | CRC |
11 | 03 | 00 | 6B(107 | 00 | 03 | XXXX |
主站詢問報文格式:
功能:讀從站保持寄存器4XXXX值。
注意:報文中寄存器起始地址00000對應設備中40001地址,其他順延。
本例:讀11H號從站保持寄存器值,起始地址=006BH=107,對應地址40108;寄存器數(shù)=0003;末地址=40108+3-1=40110;
因此,本詢問報文功能是:讀17 (11H)號從站3個保持寄存器40108—40110的值;
仔細分析任務要求,查閱相關(guān)技術(shù)資料。基于QT的電力參數(shù)采集系統(tǒng),采用QT需要模擬下位機發(fā)送的信號,不然QT上位機沒有輸入量,因此需要串口調(diào)試軟件模擬下位機給上位機發(fā)送信號,需要虛擬串口來創(chuàng)造串口來進行連接。采用PZEM014-Master上位機作為我們設計的QT上位機對照,驗證本項目的可行性及準確性。當然設計中需要ModeBusRTU調(diào)試工具,支持系統(tǒng)的正常工作。同時,為了實現(xiàn)任務要求中的按鍵操作功能,必不可少的需要加入模擬按鍵、參數(shù)顯示面板。
經(jīng)過設計分析,系統(tǒng)框圖成及上位機基本頁面如下圖所示:
圖2 系統(tǒng)框圖 圖3 上位機基本頁面
Qt Creator 為應用程序開發(fā)人員提供了一個跨平臺的完整集成開發(fā)環(huán)境(IDE),可以為多個臺式機、嵌入式和移動設備平臺(例如Android 和 iOS)創(chuàng)建應用程序。它可用于 Linux、macOS 和 Windows 操作系統(tǒng)。此外,用戶可以使用實驗性的 WebAssembly 插件以 Web 格式構(gòu)建應用程序,然后在 Web 瀏覽器中運行它們。
Qt Creator 包括項目生成向?qū)、高級?C++ 代碼編輯器、瀏覽文件及類的工具、集成了 Qt Designer、圖形化的 GDB 調(diào)試前端,集成qmake 構(gòu)建工具等。
QtCreator 主要是為了幫助新 Qt 用戶更快速入門并運行項目,還可提高有經(jīng)驗的 Qt 開發(fā)人員的工作效率。語法標識和代碼完成功能輸入時進行靜態(tài)代碼檢驗以及提示樣式上下文相關(guān)的幫助代碼折疊括號匹配和括號選擇模式高級編輯功能。集成了領先的版本控制軟件,包括Git、Perforce 和 Subversion開放式文件,無須知曉確切的名稱或位置搜索類和文件跨不同位置或文件沿用符號在頭文件和源文件,或在聲明和定義之間切換。集成了特定于 Qt 的功能,如信號與槽 (Signals & Slots)圖示調(diào)試器, 對 Qt 類結(jié)構(gòu)可一目了然集成了 Qt Designer 可視化布局和格式構(gòu)建器只需單擊一下就可生成和運行 Qt 項目。
允許將物理串行端口分成幾個虛擬通信端口(COM2、COM3、COM4等),在系統(tǒng)中作為硬件串行接口的精確拷貝出現(xiàn)?蛇B接多個虛擬COM端口到一個真實的物理端口。串行應用程序?qū)⑼瑫r接收來自所有連接的虛擬COM端口的數(shù)據(jù)。允許創(chuàng)建和管理復雜的串行端口束。由“in”端的COM端口接收,串行數(shù)據(jù)將被重定向到捆綁包的“外”側(cè)的每個COM端口,反之亦然。
適用范圍:
1、適用的嵌入式設備:可以將任何使用TCP/IP或UDP廣播方式傳輸數(shù)據(jù)的嵌入式設備虛擬成本機COM口。
串口調(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,不存在的串口不顯示問題。
利用Virtual Serial Port Driver Pro, 創(chuàng)建兩個互連虛擬串口:COM1和COM2;實現(xiàn)向com1發(fā)數(shù)據(jù),com2能收到,實現(xiàn)向com2發(fā)數(shù)據(jù),com1能收到。
利用sscom3.2串口調(diào)試工模擬下位機傳輸給上位機數(shù)據(jù),準備階段采用PZEM014-Master上位機,作為我們設計的QT上位機對照,方便驗證本項目的可行性及準確性。
打開sscom3.2作為下位機,配置COM1串口,波特率設置9600。
同時打開PZEM014-Master作為上位機,配置COM2串口,波特率設置9600。
sscom32作為下位機,模擬兩組數(shù)據(jù)傳輸,成功送。
PZEM014-Master作為上位機,成功接受數(shù)據(jù),成功顯示電參數(shù)。
ui界面各控制的objectName:
此次功能調(diào)試首先要測試連接是否正常,然后需要調(diào)試QT上位機和sscom32作為下位機連接之后能否正常顯示。測試結(jié)束后用PZEM014-Master上位機,作為我們設計的QT上位機對照,方便驗證本項目的可行性及準確性。本次設計使用Peacefail電力參數(shù)模塊(本次實訓將采用軟件模擬的方式來實現(xiàn),不需要準備硬件)來測量電路電壓,頻率,功率,電能等參數(shù)。該項目使用的Modbus協(xié)議最初由施耐德公司為其PLC制定的一種通訊協(xié)議。
系統(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ù)組選擇說明:
但是執(zhí)行兩次就失敗,且上位機讀不出來數(shù)據(jù)
直連一切正常:
表8 模 擬 數(shù) 據(jù) 測 試 結(jié) 果
組 | 電壓/V | 頻率/Hz | 電流/mA | 功率/W | 是否正常工作 |
第一組 | 228.5 | 50 | 0 | 0 | 是 |
第二組 | 228.5 | 30 | 256 | 25.6 | 是 |
第三組 | 228.5 | 100 | 1280 | 128 | 是 |
第四組 | 228 | 50 | 0 | 0 | 是 |
第五組 | 228 | 30 | 256 | 25.6 | 是 |
第六組 | 228 | 100 | 1280 | 128 | 是 |
第七組 | 220 | 50 | 0 | 0 | 是 |
第八組 | 220 | 30 | 256 | 25.6 | 是 |
第九組 | 220 | 100 | 1280 | 128 | 是 |
對以上表格內(nèi)部的數(shù)據(jù)進行分析,可以發(fā)現(xiàn)模擬數(shù)字在都可以正常在上位機進行顯示,對模擬數(shù)據(jù)進行正確得處理后輸出相應得電參數(shù)顯示。通過模擬的分析與驗證,本次設計任務的要求全部可以成功實現(xiàn),所以此次的基于QT的電力參數(shù)采集系統(tǒng)設計成功。
其次在這次中,下載了C++軟件,由老師帶領我們進行快速的復習C語言編程的重點知識點,在快速地進行系統(tǒng)的學習后,老師帶領下我們做了打印日歷的C++小項目,在學習過程中有問題時,認真和同學、老師討論交流。在正式進入項目前,我們下載了QT軟件,及涉及項目相關(guān)軟件。然后老師帶領我們進行系統(tǒng)的學習,知道軟件基本的功能菜單,會自己創(chuàng)建工程文件,把需要的庫函數(shù)組件放好地方,加入到工程之中使用。在快速地進行系統(tǒng)的學習后,老師帶領下我們做了mp3播放器小項目,深深的吸引力我對嵌入式的興趣。正式進入本項目的設計,我遇到問題總是會自己思考,找老師尋求幫助,只有通過親自動手操作,完成一個任務的設計制作。才知道其過程的艱巨,但是有苦也有樂,有付出也有收獲。發(fā)現(xiàn)自己不足之處的同時也收獲到很多有用的東西:對以前所學過的知識理解得不夠深刻,掌握得不夠牢固,雖然感覺理論上已經(jīng)掌握,但在運用到實踐的過程中仍有意想不到的困惑,需要再去查找資料才得以解決。這也激發(fā)了我今后努力學習的斗志,我想這將對以后的學習產(chǎn)生比較深遠的影響。
以上圖文的Word格式文檔下載(內(nèi)容和本網(wǎng)頁上的一模一樣,方便大家保存):
小惜設計51hei.doc
(2.37 MB, 下載次數(shù): 27)
electricty.zip
(6.75 KB, 下載次數(shù): 34)
歡迎光臨 (http://www.torrancerestoration.com/bbs/) | Powered by Discuz! X3.1 |