監(jiān)控終端硬件設(shè)計(jì)_第1頁
監(jiān)控終端硬件設(shè)計(jì)_第2頁
監(jiān)控終端硬件設(shè)計(jì)_第3頁
監(jiān)控終端硬件設(shè)計(jì)_第4頁
監(jiān)控終端硬件設(shè)計(jì)_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

3監(jiān)控終端硬件設(shè)計(jì)3.1監(jiān)控終端總體設(shè)計(jì)3.1.1電控系統(tǒng)的基本構(gòu)成整個(gè)提升機(jī)電控系統(tǒng)的重點(diǎn)是主控制系統(tǒng),它的作用是結(jié)合傳動(dòng)系統(tǒng)、信號(hào)系統(tǒng)及其它設(shè)備的各種信號(hào)和數(shù)據(jù),對(duì)提升機(jī)的運(yùn)行情況進(jìn)行實(shí)時(shí)監(jiān)測(cè),保障提升機(jī)是在安全穩(wěn)定地運(yùn)行中以及工作人員的生命安全。其中,電控系統(tǒng)由低壓配電柜、可編程控制箱、變頻電源柜,操作臺(tái)、制動(dòng)電阻柜、觸摸屏等組成[6]張智永.礦井提升機(jī)電控系統(tǒng)的研究與設(shè)計(jì)[D].安徽理工大學(xué).,[6]張智永.礦井提升機(jī)電控系統(tǒng)的研究與設(shè)計(jì)[D].安徽理工大學(xué).圖3-1提升機(jī)系統(tǒng)結(jié)構(gòu)圖簡而言之,電控系統(tǒng)主要是兩個(gè)微型計(jì)算機(jī)組成,分別為有主控制系統(tǒng)的PLC以及上位機(jī)監(jiān)控系統(tǒng)。下位機(jī)主要是通過對(duì)數(shù)據(jù)的采集,實(shí)時(shí)地發(fā)布控制信號(hào);上位機(jī)是具備著實(shí)時(shí)顯示運(yùn)行參數(shù)和狀態(tài)的檢測(cè)功能,同時(shí)還具備人工智能的后臺(tái)管理,還有能夠完成多畫面的實(shí)時(shí)監(jiān)測(cè)以及能夠顯示多種參量的曲線和數(shù)碼并且自動(dòng)記錄下來,在出現(xiàn)故障后完成報(bào)警并記錄下來[7]趙偉光.礦井提升機(jī)電控制系統(tǒng)改造設(shè)計(jì)與研究[D].。隨著計(jì)算機(jī)技術(shù)的發(fā)展、智能儀器的發(fā)展及各類監(jiān)控軟件的開發(fā),礦井提升機(jī)監(jiān)控系統(tǒng)的功能也越來越有好,能夠?qū)崟r(shí)地進(jìn)行數(shù)據(jù)采集,也能夠動(dòng)態(tài)監(jiān)控提升機(jī)的運(yùn)行速度、設(shè)備的工作狀態(tài)、并及時(shí)故障報(bào)警等功能[7]趙偉光.礦井提升機(jī)電控制系統(tǒng)改造設(shè)計(jì)與研究[D].[8]劉濤.新型礦井提升機(jī)變頻電控系統(tǒng)的研究與設(shè)計(jì)[D].河南理工大學(xué).提升機(jī)控制器通過總線和各個(gè)現(xiàn)場(chǎng)設(shè)備相連接,在信號(hào)傳輸通道作用下,單片機(jī)采用基于Cortex-M3內(nèi)核的STM32F103ZET6,通過Lora芯片SX1278接收終端傳來的監(jiān)測(cè)信息,然后進(jìn)行信息分析,將信息傳給控制室或者遠(yuǎn)程控制中心。系統(tǒng)一方面將輸出處理后的信號(hào)送入顯示屏進(jìn)行實(shí)時(shí)數(shù)據(jù)的顯示,當(dāng)檢測(cè)到出現(xiàn)反常事件時(shí),會(huì)自覺發(fā)出中斷信號(hào),這時(shí)控制器操控?cái)z像頭拍攝各個(gè)設(shè)備運(yùn)行狀態(tài),將拍攝的圖片存儲(chǔ)到控制器數(shù)據(jù)庫中并獲取圖片數(shù)據(jù),同時(shí)如果發(fā)現(xiàn)數(shù)據(jù)有異常,及時(shí)啟動(dòng)語音模塊進(jìn)行語音報(bào)警,便于現(xiàn)場(chǎng)人員及時(shí)處理情況,從而保證整個(gè)井下人員的安全[9][9]刁志剛,王宏宇.DesignofIntelligentMulti-levelMineMonitoringTerminalBasedonLoRa%基于LoRa的智能多級(jí)礦井監(jiān)控終端設(shè)計(jì)[J].煤礦機(jī)械,2019,040(005):180-182.3.2可編程控制器簡介3.2.1PLC的基本概念可編程控制器是一種數(shù)字運(yùn)算操作電子系統(tǒng),簡稱PLC,是現(xiàn)代計(jì)算機(jī)系統(tǒng)中的一部分,它最初是由繼電器進(jìn)行的邏輯控制的,隨著科技技術(shù)的發(fā)展,才逐漸成為現(xiàn)如今的PLC。由于它采用的是計(jì)算機(jī)控制技術(shù),所以在工業(yè)自動(dòng)控制設(shè)備中應(yīng)用也十分廣泛,也成為了自動(dòng)控制的最基本組成部分。目前,國內(nèi)先進(jìn)水平的工業(yè)控制就是PLC的控制技術(shù),并且伴隨著科學(xué)技術(shù)的不斷進(jìn)步,它的功能已經(jīng)不僅僅局限于邏輯方面的控制,而且還有了強(qiáng)大的可延展性和發(fā)展性,因此,今天這種裝置也稱作可編程控制器,簡稱PC[10][10]孫劍鋒.礦井提升機(jī)數(shù)字交流變頻控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].3.2.2PLC的基本結(jié)構(gòu)事實(shí)上,PLC就是工業(yè)控制計(jì)算機(jī),它的基本結(jié)構(gòu)主要由中央處理器(CPU)、輸入模塊、輸出模塊、編程終端、存儲(chǔ)器、電源等部分組成,如圖3-2所示。其中,CPU是PLC的核心,而輸入模塊與輸出模塊的作用就是連接CPU之間的接口與現(xiàn)場(chǎng)輸入、輸出設(shè)備的電路,編程器用于上位機(jī)等設(shè)備連接進(jìn)行的編程控制[11][11]李敬儒.井采鐵礦提升機(jī)自動(dòng)控制系統(tǒng)設(shè)計(jì)[D].2019.圖3-2PLC內(nèi)部結(jié)構(gòu)圖3.2.3監(jiān)控終端與PLC通訊監(jiān)控終端與PLC通訊采用的是PLC自身的通訊適配器,不需要再使用另外的通訊設(shè)備,PLC處直接接入PLC的MPI端口,上位機(jī)使用以太網(wǎng)通信模塊進(jìn)行接口的連接,如下圖3-3所示。圖3-3PLC通信原理圖3.3監(jiān)控終端組成與結(jié)構(gòu)計(jì)算機(jī)作為提升機(jī)電氣控制系統(tǒng)的上位機(jī),通過監(jiān)控軟件實(shí)現(xiàn)對(duì)整個(gè)提升系統(tǒng)運(yùn)行過程的實(shí)時(shí)監(jiān)控[12]董青青.基于SCREENWARE2的礦井提升機(jī)監(jiān)控系統(tǒng)設(shè)計(jì)[J].內(nèi)蒙古煤炭經(jīng)濟(jì),2016,No.209(09):36-37.。監(jiān)控系統(tǒng)的重要組成部分是監(jiān)控終端,它由計(jì)算機(jī)和控制器通過以太網(wǎng)通信連接組成,利用監(jiān)控軟件來實(shí)現(xiàn)監(jiān)控良好的運(yùn)行,具有顯示、報(bào)警、存儲(chǔ)、參數(shù)設(shè)置、數(shù)據(jù)采集等等功能[12]董青青.基于SCREENWARE2的礦井提升機(jī)監(jiān)控系統(tǒng)設(shè)計(jì)[J].內(nèi)蒙古煤炭經(jīng)濟(jì),2016,No.209(09):36-37.圖3-3監(jiān)控終端的組成結(jié)構(gòu)3.4硬件設(shè)計(jì)及功能實(shí)現(xiàn)3.3.1處理器模塊處理器主要的任務(wù)是協(xié)調(diào)各個(gè)其他部分的工作,完成運(yùn)算和控制功能,是整個(gè)系統(tǒng)的重點(diǎn)單元。因此,處理器選擇采用ST公司基于Cortex-M3內(nèi)核的32位增強(qiáng)型閃存微控制器STM32F103ZET6作為控制核心,它具有3種低功耗模式,包括支持等待、睡眠和停止。由于該控制器的特殊性,讓它具備系統(tǒng)存儲(chǔ)的低要求,同時(shí)中斷處理快速的特點(diǎn),也能夠快速地滿足控制需求。該芯片最高工作頻率可達(dá)到72MHz,具有512K字節(jié)的閃存以及64K字節(jié)的SRAM,大大減少了系統(tǒng)硬件,配合ST公司發(fā)布的函數(shù)庫,還可同時(shí)大大收縮開發(fā)周期,從而降低開發(fā)成本[13]李楠,[13]李楠,李建義,張紅亮,等.DesignandRealizationofanEnvironmentMonitoringTerminalBasedonSTM32%基于STM32的環(huán)境監(jiān)控終端的設(shè)計(jì)與實(shí)現(xiàn)[J].北華航天工業(yè)學(xué)院學(xué)報(bào),2013,023(001):15-18,21.3.3.2無線通信模塊無線通信模塊由實(shí)現(xiàn)SX1278,TCXO(溫度補(bǔ)償晶體振蕩器)和射頻切換電路組成。它是一款遠(yuǎn)程通信組網(wǎng)用無線射頻芯片,具有成本低、功耗低、通信距離遠(yuǎn)、抗干擾性好等特點(diǎn);TCXO為SXl278提供精確時(shí)鐘;射頻切換電路負(fù)責(zé)SXl278半雙工通信模式切換。SXl278在睡眠模式下,處理器對(duì)SXl278配置寄存器Re90pMode進(jìn)行設(shè)置,使SXl278工作在Lora調(diào)制模式;處理器通過SPI接口對(duì)SXl278的配置寄存器、狀態(tài)寄存器和FIFO緩存器進(jìn)行讀寫操作來完成控制[14]。如下圖3-4所示:圖3-4無線通信模塊電路原理圖3.3.3傳感器模塊由于礦井中環(huán)境的不同,所用傳感器數(shù)量和種類各有千秋,也為了能使設(shè)計(jì)平臺(tái)具有通用接入的能力,傳感器采用成熟的插人式標(biāo)準(zhǔn)化模塊,將模塊安裝在監(jiān)控終端內(nèi)部插座上,實(shí)現(xiàn)通用化靈活配置[14]。3.3.4電源模塊電源模塊將外部不同的輸入電壓值轉(zhuǎn)換成系統(tǒng)所需的電壓值,保持輸出電壓的穩(wěn)定,提供足夠的電流,保證電能的連續(xù)供應(yīng)。整個(gè)電路系統(tǒng)包括多個(gè)芯片,對(duì)電壓提出了不同的要求,使系統(tǒng)能夠可靠、穩(wěn)定地工作。如圖3-5所示:圖3-5電源模塊電路圖3.3.5儲(chǔ)存器模塊存儲(chǔ)器模塊采用SD卡,接口方式選擇SPI通信方式,主要用于系統(tǒng)參數(shù)、歷史數(shù)據(jù)的存儲(chǔ)。在flash存儲(chǔ)器的新一代記憶設(shè)備的基礎(chǔ)上,它被廣泛運(yùn)用到遠(yuǎn)程控制系統(tǒng)中,當(dāng)然也可以在便攜式裝置上使用,并且它支持文件系統(tǒng)操作,可以在計(jì)算機(jī)中直接查看相關(guān)文件。由于它的容量大,達(dá)到GB級(jí)別的原因并且最大支持讀寫4GB,使它的讀取數(shù)據(jù)的速度快,為數(shù)據(jù)的傳輸提供了支持[15][15]黃冬冬.天然氣無人值守站遠(yuǎn)程監(jiān)控終端的設(shè)計(jì)與實(shí)現(xiàn)[D].2015.圖3-6儲(chǔ)存器模塊電路原理圖3.3.6語音報(bào)警模塊語音模塊采用SYN7318,它使用UART接口通信方式接收命令幀。在它強(qiáng)大的語音識(shí)別能力背景下,具有著語音合成、語音喚醒和語音識(shí)別等功能,同時(shí)它也支持10000多條詞條,實(shí)現(xiàn)語義的理解,滿足了人機(jī)交互的需求[9]。如圖3-7所示:3.3.7以太網(wǎng)模塊由于以往大多數(shù)同類傳感器終端都采用串口與上位機(jī)進(jìn)行通信,導(dǎo)致數(shù)據(jù)傳輸距離近且速率低。因此,本設(shè)計(jì)采用以太網(wǎng)接口代替?zhèn)鹘y(tǒng)的串口,提高了數(shù)據(jù)傳輸?shù)乃俣?,降低了下位機(jī)的開發(fā)難度,同時(shí)也可以實(shí)現(xiàn)對(duì)終端的遠(yuǎn)程控制。以太網(wǎng)模塊與處理器的通信端口采用標(biāo)準(zhǔn)SPI接口和TCP/IP協(xié)議進(jìn)行數(shù)據(jù)傳輸,使控制器可以較輕松地聯(lián)上互聯(lián)網(wǎng)。3.3.8顯示模塊顯示器作為監(jiān)控系統(tǒng)的部分之一,是屬于必不可少的設(shè)備,則本文顯示模塊選擇采用發(fā)光二極管和LED,發(fā)光二極管具有提示提升方向、傳感器信號(hào)和故障的狀態(tài)等作用;LED則是用來顯示提升機(jī)運(yùn)行速度、行程、當(dāng)前時(shí)間等信息。一套設(shè)計(jì)良好的儀器能方便地進(jìn)行人機(jī)交互,對(duì)于控制系統(tǒng)與操作人員來說,是一座溝通的橋梁,并且通過系統(tǒng)顯示的內(nèi)容獲取所需的信息,可以讓操作人員及時(shí)掌握系統(tǒng)的狀態(tài),保障了運(yùn)行的安全性。3.5本章小結(jié)本章首先通過電控系統(tǒng)的結(jié)構(gòu),分析出監(jiān)控終端的主要組成和結(jié)構(gòu),在此基礎(chǔ)上給出了監(jiān)控終端硬件設(shè)計(jì)的總體設(shè)計(jì)方案,以模塊化的結(jié)構(gòu)進(jìn)行設(shè)計(jì),介紹了監(jiān)控終端各部分組成的模塊,并為有些模塊大概畫出了它的電路原理圖。4監(jiān)控終端軟件設(shè)計(jì)4.1軟件功能和組成4.1.1軟件功能軟件設(shè)計(jì)是提升機(jī)監(jiān)控終端的重要組成部分之一,是監(jiān)控終端設(shè)計(jì)的主要內(nèi)容和重點(diǎn),它的使用直接決定著系統(tǒng)的性能是否是完善的以及運(yùn)行行程是否安全穩(wěn)當(dāng)。本文的監(jiān)控終端的軟件設(shè)計(jì)部分主要是Python程序、監(jiān)控登錄界面、登錄主界面以及控制器與計(jì)算機(jī)的通訊。根據(jù)理論知識(shí)和實(shí)際,軟件系統(tǒng)需要具備數(shù)據(jù)的采集,提升狀況的顯示,還有參數(shù)設(shè)置,故障報(bào)警,歷史數(shù)據(jù)的管理,存儲(chǔ)等等功能,監(jiān)控終端具體的軟件功能如下:對(duì)提升方向、位置及高度進(jìn)行動(dòng)態(tài)的監(jiān)測(cè),還有提升機(jī)速度-時(shí)間的顯示以及加速度的監(jiān)測(cè),對(duì)一些超速、加速度過大、過卷等故障進(jìn)行監(jiān)控。對(duì)油溫、油壓及油泵運(yùn)行狀態(tài)進(jìn)行實(shí)時(shí)的監(jiān)測(cè)。對(duì)電樞電流進(jìn)行動(dòng)態(tài)監(jiān)測(cè),就是對(duì)提升機(jī)的間接監(jiān)視,可以防止提升量的超載。(4)對(duì)各種參數(shù)進(jìn)行設(shè)置以及通過存儲(chǔ)可以提供對(duì)歷史數(shù)據(jù)和故障的查詢,防止事故的意外發(fā)生。4.1.2軟件組成監(jiān)控系統(tǒng)作為人機(jī)界面,通過動(dòng)態(tài)的、可視化的界面反映出自動(dòng)控制任務(wù)的工作過程[16]茹瑞鵬.礦井提升機(jī)上位機(jī)監(jiān)控管理系統(tǒng)設(shè)計(jì)[J].科技創(chuàng)新與應(yīng)用,2016,000(025):145-145.。在提升機(jī)的監(jiān)控終端設(shè)計(jì)中,是由主程序和多個(gè)子程序組成,根據(jù)系統(tǒng)的所要實(shí)現(xiàn)目標(biāo)以及它的功能,基于Python的提升機(jī)監(jiān)控終端的軟件組成如圖4-1所示。利用對(duì)Python語言的編程,可以把提升機(jī)運(yùn)行狀態(tài)實(shí)時(shí)地顯示出來,包括重要參數(shù)的設(shè)置,數(shù)據(jù)采集,異常狀況的分類以及故障報(bào)警等[16]茹瑞鵬.礦井提升機(jī)上位機(jī)監(jiān)控管理系統(tǒng)設(shè)計(jì)[J].科技創(chuàng)新與應(yīng)用,2016,000(025):145-145.圖4-1軟件設(shè)計(jì)組成框圖4.1.3軟件開發(fā)環(huán)境的搭建提升機(jī)監(jiān)控終端軟件的服務(wù)器為Windows1064位操作系統(tǒng)。開發(fā)平臺(tái)采用Anaconda(Python3.8)+PyCharm+Pyside2+QtDesigner。由于在安裝上因?yàn)槟K和庫的依賴性,特別是在添加庫和升級(jí)庫的時(shí)候,總是會(huì)出現(xiàn)很多問題,由此可以選擇使用Anaconda能在安裝的時(shí)候避免很多不必要的麻煩。Anaconda是一個(gè)開源的Python發(fā)行版本,相當(dāng)于一個(gè)Python的整合包,其本身包含著大量的常用模塊,可以很大程度上減少工作量[17][17]鐘娟娟.基于Python的紙張參數(shù)在線監(jiān)測(cè)系統(tǒng)設(shè)計(jì)[D].2019.為了使提升機(jī)監(jiān)控系統(tǒng)的開發(fā)更加高效,使用PyCharm作為PythonIDE的開發(fā)工具,因?yàn)樗鼡碛幸徽卓梢詭椭O(shè)計(jì)者在使用Python進(jìn)行語言開發(fā)時(shí),用來提高開發(fā)工作效率的工具,同時(shí),它具備很多功能,例如,斷點(diǎn)調(diào)試、語法高亮顯示、項(xiàng)目管理、代碼跳轉(zhuǎn)、智能提示等[17]。配置PyCharm:(1)首先點(diǎn)開PyCharm,在File中選擇settings,之后再點(diǎn)開tool,選擇externaltools后對(duì)QtDesigner進(jìn)行配置。點(diǎn)擊左上角的加號(hào),配置步驟如下:在QtDesigner的設(shè)置界面中,Program選擇Pyside2安裝目錄中designer.exe的路徑。(2)繼續(xù)點(diǎn)擊左上角加號(hào),配置“PyUIC”。PyUIC的設(shè)置使用可以把Qt界面的.ui的文件直接轉(zhuǎn)換成.py文件。首先,設(shè)計(jì)好后用QtDesigner生成.ui文件,然后通過工具PyUIC將.ui文件轉(zhuǎn)換成Python所對(duì)應(yīng)的.py文件,可以將轉(zhuǎn)換好的.py文件引入自己的程序中。至此,開發(fā)環(huán)境便搭建完成。4.2關(guān)鍵技術(shù)4.2.1Python與Pyside2Python作為一種計(jì)算機(jī)編程語言,可以跨平臺(tái)使用,并且它的編程語言是一種解釋性、面對(duì)對(duì)象的腳本語言。同時(shí),作為一個(gè)功能特別強(qiáng)大的標(biāo)準(zhǔn)庫以及功能齊全的第三方庫,Python不僅把其他的語言轉(zhuǎn)換成各種所需的語言,而且還能很好的結(jié)合使用,同時(shí)也提供了效果顯著的API和工具。在開發(fā)過程中,可能會(huì)遇到不同的應(yīng)用場(chǎng)景,運(yùn)用Python語言快速有效生成程序的原型,特別是對(duì)某些特殊部分的開發(fā),可以選擇使用更加合適的語言開發(fā)。不過,有一些可能不會(huì)提供跨平臺(tái)的開發(fā),因此,在使用擴(kuò)展類庫時(shí),可能需要去考慮平臺(tái)方面的問題。Python語言同樣也有類,支持其它語言的重載、派生、繼承、多繼承,這樣不僅增強(qiáng)了Python代碼的復(fù)用性[18]李悅.基于Python+Tkinter的LinuxGUI輔助管理工具的設(shè)計(jì)與實(shí)現(xiàn)[D].吉林大學(xué).。Python的應(yīng)用也十分廣泛,在Web編程中,應(yīng)用于開發(fā)語言,并且它支持最新的XML技術(shù);在數(shù)學(xué)處理中,它有大量的數(shù)據(jù)可以對(duì)Python庫進(jìn)行處理;在圖形處理中,它具有很多豐富的關(guān)于圖像處理的功能;在系統(tǒng)編程中,尤其在Linux操作系統(tǒng)下,它提供了完整的數(shù)據(jù)庫供系統(tǒng)編程使用以及許多的API來進(jìn)行系統(tǒng)的維護(hù)和管理;在文本處理中,它提供的強(qiáng)大文本處理功能。Python也支持sockets編程,提供充裕的模塊供開發(fā)使用,通過模塊就能夠快速開發(fā)分網(wǎng)路應(yīng)用程序[19]孔德民.基于Python開發(fā)預(yù)警機(jī)系統(tǒng)檢測(cè)設(shè)計(jì)與研究[D].。[18]李悅.基于Python+Tkinter的LinuxGUI輔助管理工具的設(shè)計(jì)與實(shí)現(xiàn)[D].吉林大學(xué).[19]孔德民.基于Python開發(fā)預(yù)警機(jī)系統(tǒng)檢測(cè)設(shè)計(jì)與研究[D].作為一種優(yōu)秀的腳本語言,Python語言表達(dá)簡單,容易讀寫,能夠快速開發(fā)程序,它的特點(diǎn)也與其他很多優(yōu)秀的腳本語言一樣:面向?qū)ο螅忉屨Z言,支持模塊和包,支持多種平臺(tái),內(nèi)建的高級(jí)數(shù)據(jù)結(jié)構(gòu),可擴(kuò)展性,而且它還支持圖形方式運(yùn)行和交互式方式運(yùn)行,同時(shí)它的語法有很多與眾不同的特性[18]。圖形用戶界面,英文稱為GUI,是一種以圖形方式顯示的計(jì)算機(jī)操作用戶界面,Python在進(jìn)行圖形界面開發(fā)的時(shí)候就需要使用它。Python的GUI庫,主要有Tkinter、wxPython、pyqt5和pyside2。下面簡要介紹常見的GUI庫及其優(yōu)缺點(diǎn):Tkinter:基于Tk的Python庫,這是Python自帶的標(biāo)準(zhǔn)庫,優(yōu)點(diǎn)是作為Python的標(biāo)準(zhǔn)庫,不需要另外再單獨(dú)安裝,可以方便地進(jìn)行圖形界面設(shè)計(jì),并且Tkinter相比較于PythonGUI這一些其他編程的包來說,是相對(duì)容易上手的、發(fā)布程序較小,學(xué)起來和用起來都相對(duì)比較簡單,缺點(diǎn)是控件較少,只適合簡單界面的開發(fā)。wxPython:基于wxWidgets的Python庫,是Python的一個(gè)擴(kuò)展模塊的展現(xiàn),優(yōu)點(diǎn)是控件比較豐富,缺點(diǎn)是穩(wěn)定性相對(duì)弱一點(diǎn)、文檔和用戶少。PyQt5、PySide2:根據(jù)Qt的Python庫,它具有控件比較豐富、可以跨平臺(tái)使用、文檔完善、用戶也多等優(yōu)點(diǎn)。缺點(diǎn)是庫比較大,發(fā)布出來的程序比較大。其中PySide2、PyQt5都是基于著名的Qt庫。Qt庫里有非常強(qiáng)大的圖形界面開發(fā)庫,但是Qt庫是C++語言開發(fā)的,PyQt5和Pyside2則都是對(duì)Qt的封裝,因此,PySide2和PyQt5是Python和Qt之間結(jié)合的橋梁。PyQt發(fā)布的較早,它的開發(fā)商是RiverbankComputing,但是由于推出時(shí)間早,PyQt就相對(duì)比較成熟了,并且十分穩(wěn)定,資料也相對(duì)完善,使用了解的人相比較于Pyside就比較多了,最開始是有PyQt4,對(duì)應(yīng)的是Qt4版本,后來推出了PyQt5,對(duì)應(yīng)Qt5版本,目前的版本就是PyQt5,且PyQt5是GPL/商業(yè)協(xié)議。而PySide由于起步比較晚,項(xiàng)目也不是很完善,又缺乏文檔,所以存在感也不是很強(qiáng),直到2018年6月正式發(fā)布PySide2的第一個(gè)版本,從無到有是最難的一步,后面就相對(duì)容易很多了,現(xiàn)在的PySide2已經(jīng)日趨完善,而且Pyside2因?yàn)橛蒕t公司維護(hù),可以視為Qt的親自開發(fā),再加上還有LGPL開源協(xié)議的加持,在未來Pyside2的前景或許會(huì)更好一些。因此,在本文軟件設(shè)計(jì)中,使用Python3.x版本,關(guān)于登錄界面的設(shè)計(jì),則使用的是Pyside2。4.2.2QtDesignerQtDesigner,又簡稱Qt設(shè)計(jì)師,它是一個(gè)跨平臺(tái)的C++圖形用戶界面應(yīng)用程序框架,是具有特別強(qiáng)大的可視化GUI設(shè)計(jì)工具,它可以幫助應(yīng)用開發(fā)者提供構(gòu)建圖形用戶界面所需的所有功能。它是完全面向?qū)ο蟮?,易擴(kuò)展的,并且允許真正的組件編程。它可以用來開發(fā)GUI程序和非GUI程序,例如控制臺(tái)工具和服務(wù)器。QT包含QT圖形用戶界面工具包和應(yīng)用程序類以及可視化的QTt圖形用戶界面的生成器,它們都與平臺(tái)無關(guān)。Qt的基本模塊有工具、核心、窗口部件和對(duì)話框等。QT使用信號(hào)和槽機(jī)制,還提供了豐富的API,并且具有很高的開發(fā)銷量。隨著CPU技術(shù)的飛速發(fā)展,CPU的快速計(jì)算已經(jīng)覆蓋了QT運(yùn)算的速度,最重要的是QT能夠跨平臺(tái)使用了。通過上述闡述,所以選擇Qt進(jìn)行開發(fā)。直接通過拖拽的方式放置控件是QtDesigner操作的使用方法,操作過程中可以隨時(shí)隨地進(jìn)行布局效果的查看,方便簡單且靈活。Qt根據(jù)不同的版本發(fā)行,可以分為商業(yè)版和開源版,且QtDesigner的特點(diǎn)如下:(1)可以跨平臺(tái)使用,如Windows、Unix和Macintosh等平臺(tái)。(2)上手容易,接口簡單,學(xué)習(xí)Qt框架對(duì)學(xué)習(xí)其他框架有一定的基礎(chǔ)。(3)一定程度上簡化了內(nèi)存回收機(jī)制。(4)開發(fā)高效率,能夠快速構(gòu)造應(yīng)用程序。(5)可以進(jìn)行嵌入式開發(fā)。(6)提供一整套種類繁雜的窗口控件。本文軟件方面的設(shè)計(jì)主要就是采用了Pyside2與QtDesigner,簡單來說Pyside2是Qt框架的Python語言實(shí)現(xiàn)。4.3監(jiān)控界面的設(shè)計(jì)4.3.1監(jiān)控登錄界面的設(shè)計(jì)為了防止他人操作的失誤和限制操作人員的使用權(quán)限,則需要設(shè)計(jì)一個(gè)具有登錄界面功能的方式,只有當(dāng)輸入正確的用戶名和密碼時(shí),才允許登錄該監(jiān)控終端。在輸入密碼時(shí),設(shè)置密碼隱藏功能;當(dāng)輸入正確的密碼時(shí),將跳轉(zhuǎn)到主程序界面;當(dāng)輸入錯(cuò)誤的密碼時(shí),就會(huì)出現(xiàn)密碼錯(cuò)誤,請(qǐng)重新輸入的提示。程序流程圖如圖4-2所示。圖4-2登錄界面流程圖通過隱藏密碼來達(dá)到安全登錄的作用,得到監(jiān)控登錄界面的實(shí)現(xiàn),如下圖4-3所示:圖4-3監(jiān)控登錄實(shí)現(xiàn)圖其中關(guān)鍵的程序:輸入用戶名,登錄錯(cuò)誤密碼時(shí),提示密碼錯(cuò)誤,如圖4-4所示。主頁面設(shè)計(jì)如圖4-5所示。圖4-4登錄錯(cuò)誤提示設(shè)計(jì)圖4-5主頁面設(shè)計(jì)4.4.2監(jiān)控主界面的設(shè)計(jì)使用QtDesigner工具箱對(duì)提升機(jī)監(jiān)控系統(tǒng)的總體框架進(jìn)行設(shè)計(jì),來實(shí)現(xiàn)界面顯示框架。通過QtDesigner工具箱把搭建監(jiān)控系統(tǒng)所需的模塊經(jīng)拖拽進(jìn)總體布局中,并調(diào)整好各個(gè)部分的布局方案和大小屬性。通過PyUIC轉(zhuǎn)換成Python程序,提高開發(fā)工作效率,避免了大量的代碼編寫。如下圖4-6所示:圖4-6監(jiān)控主界面的實(shí)現(xiàn)提升機(jī)監(jiān)控系統(tǒng)的監(jiān)控主界面,其監(jiān)控界面主要包括日期時(shí)間、提升位置、提升速度-時(shí)間圖、提升的速度、提升的加速度、電樞電流、油溫、故障報(bào)警、參數(shù)設(shè)置等顯示。通過對(duì)提升位置、速度以及速度-時(shí)間表的監(jiān)測(cè),能夠反映出提升機(jī)當(dāng)下的運(yùn)行狀態(tài);通過對(duì)電樞電流的監(jiān)視可以間接地反映出提升力的運(yùn)行狀況,由此可以防止提升機(jī)的超重;通過對(duì)油壓、油溫的監(jiān)測(cè)是反映實(shí)時(shí)的制動(dòng)狀態(tài)。一旦在運(yùn)行過程中,參數(shù)超出允許的范圍值,就立刻開啟語音報(bào)警模塊進(jìn)行聲光報(bào)警,同時(shí)發(fā)信號(hào)通知實(shí)施安全制動(dòng),確保提升系統(tǒng)以及人員的安全[1]。4.3.3參數(shù)設(shè)置界面當(dāng)點(diǎn)開參數(shù)設(shè)置畫面時(shí),能夠知道各個(gè)參數(shù)的設(shè)定值,主要包括一般的參數(shù)設(shè)定值、軟行程點(diǎn)參數(shù)設(shè)定值等,通過這些設(shè)置量,操作人員可以隨時(shí)改變?cè)O(shè)定值,進(jìn)行檢測(cè)與參考,參數(shù)設(shè)置界面如圖4-7所示圖4-7參數(shù)設(shè)置界面4.4控制器與計(jì)算機(jī)通訊對(duì)于過往的點(diǎn)對(duì)點(diǎn)通信方式來說,無論是從經(jīng)濟(jì)成本,還是從以后的系統(tǒng)的維護(hù)上來說,都會(huì)給工作人員帶來一定的困難,然而,隨著網(wǎng)絡(luò)通信時(shí)代的發(fā)展,利用控制器通過以太網(wǎng)來進(jìn)行通信,實(shí)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)墓δ芤呀?jīng)成為一種普遍的現(xiàn)象[20]楊紅波,朱磊,張博,等.STM32的W5500以太網(wǎng)通信模塊快速實(shí)現(xiàn)方法[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2018,v.18;No.212(08):17-22.[20]楊紅波,朱磊,張博,等.STM32的W5500以太網(wǎng)通信模塊快速實(shí)現(xiàn)方法[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2018,v.18;No.212(08):17-22.TCP/IP協(xié)議全稱為傳輸控制協(xié)議因特網(wǎng)互聯(lián)協(xié)議,又叫網(wǎng)絡(luò)通迅協(xié)議,如何將電子設(shè)備連入因特網(wǎng),以及如何將數(shù)據(jù)在它們之間傳輸?shù)臉?biāo)準(zhǔn)是它的主要定義。在TCP/IP協(xié)議分層模型方面來講,它主要由網(wǎng)絡(luò)接口層、網(wǎng)絡(luò)層、傳輸層、應(yīng)用層四個(gè)層次組成,但是協(xié)議與OSI的七層參考模型并不完全符合[21]索楠,馬春燕,李永剛.基于PLC的礦井提升機(jī)控制系統(tǒng)的設(shè)計(jì)[J].機(jī)械工程與自動(dòng)化,2012,000(002):139-140.。因此,TCP/IP協(xié)議組成了4層結(jié)構(gòu)的層級(jí),其中每一層執(zhí)行某一層特定[21]索楠,馬春燕,李永剛.基于PLC的礦井提升機(jī)控制系統(tǒng)的設(shè)計(jì)[J].機(jī)械工程與自動(dòng)化,2012,000(002):139-140.圖4-7TCP/IP結(jié)構(gòu)對(duì)應(yīng)OSI層1、應(yīng)用層應(yīng)用層它處于協(xié)議的最上層,負(fù)責(zé)提供一組常見的應(yīng)用程序給用戶,例如遠(yuǎn)程登錄、簡單的電子郵件、文件傳輸訪問等。2、傳輸層在傳輸層此層中,它用于了節(jié)點(diǎn)間的數(shù)據(jù)傳送,提供應(yīng)用程序之間的通信服務(wù),主要功能是數(shù)據(jù)格式化、數(shù)據(jù)確認(rèn)以及面向連接的服務(wù)等。3、網(wǎng)絡(luò)層網(wǎng)絡(luò)層的負(fù)責(zé)在相近的計(jì)算機(jī)中進(jìn)行數(shù)據(jù)傳輸,在通信子網(wǎng)中,網(wǎng)絡(luò)層是處在最高層的,其功能主要有以下三個(gè)方面:(1)接收到來傳輸層的分組發(fā)送的請(qǐng)求時(shí),需要進(jìn)行及時(shí)地處理,分成組數(shù)裝入數(shù)據(jù)報(bào)再選擇填充報(bào)頭,選擇去到信宿機(jī)的路徑,最后將數(shù)據(jù)報(bào)發(fā)往到適當(dāng)?shù)木W(wǎng)絡(luò)接口。(2)在輸入數(shù)據(jù)報(bào)處理過程中,首先需要檢查其是否具有合法性,然后開始尋找路徑。如果該數(shù)據(jù)報(bào)已經(jīng)到達(dá)信宿機(jī),則去掉報(bào)頭,將剩下部分交給適當(dāng)?shù)膫鬏攨f(xié)議,如果該數(shù)據(jù)報(bào)還沒到達(dá)信宿機(jī),則轉(zhuǎn)發(fā)掉該數(shù)據(jù)報(bào)[21]。(3)擁塞、路徑、流控等問題都能進(jìn)行處理。4、網(wǎng)絡(luò)接口層網(wǎng)絡(luò)接口層負(fù)責(zé)接收和發(fā)送IP數(shù)據(jù)報(bào),從網(wǎng)絡(luò)接收物理幀,提取IP數(shù)據(jù)報(bào)并將其傳輸?shù)絀P層。本系統(tǒng)中利用控制器,使它能夠通過以太網(wǎng)進(jìn)行數(shù)據(jù)通信,而Python也能良好地與控制器直接進(jìn)行通訊,實(shí)時(shí)地實(shí)完成上位機(jī)與下位機(jī)兩者之間的信息交換。4.5本章小結(jié)本章主要介紹在基于Python的基礎(chǔ)上,使用Pyside2對(duì)監(jiān)控登錄界面進(jìn)行設(shè)計(jì)和編程,并使用QtDesigner工具箱對(duì)監(jiān)控系統(tǒng)的主界面進(jìn)行搭建和整體布

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論