在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于ARM與GPRS技術的SCADA系統(tǒng)在風光電廠中的應用

            基于ARM與GPRS技術的SCADA系統(tǒng)在風光電廠中的應用

            作者: 時間:2017-06-04 來源:網(wǎng)絡 收藏

            太陽能和風能是公認的潔凈資源,對環(huán)境不產(chǎn)生任何污染,是21世紀能源發(fā)展戰(zhàn)略的重要選擇。隨著風光互補發(fā)電系統(tǒng)應用范圍的不斷擴大,對風光互補發(fā)電系統(tǒng)的性能要求也越來越高。

            通常應用于風光發(fā)電廠的監(jiān)督控制與數(shù)據(jù)采集系統(tǒng)SCADA(Supervisory Control And Data Acquisition)一般都是由電力通信專網(wǎng)來保障其通信。但由于風光電廠在地理位置上的特殊性、多樣性(通常在邊遠偏僻地區(qū)),使得某些通信網(wǎng)無法勝任SCADA的要求[1]。

            通用分組無線業(yè)務(GPRS)是GSM網(wǎng)絡的升級,通過在GSM網(wǎng)絡上增加SGSN和GGSN兩種數(shù)據(jù)交換節(jié)點設備以及一些更新軟件來實現(xiàn),GPRS網(wǎng)絡中的數(shù)據(jù)傳輸以的形式傳送。在國內,移動通信網(wǎng)絡目前已基本覆蓋全國所有地區(qū),因此利用技術上較為成熟的GPRS無線網(wǎng)絡,可對風光發(fā)廠的各個發(fā)電站進行實時遠程監(jiān)測與控制,這對提高整個風光電廠的性能具有實際意義。

            1 系統(tǒng)組成

            整個風光電廠的SCADA系統(tǒng)由風光發(fā)電站的狀態(tài)參數(shù)采集部分和數(shù)據(jù)處理及傳輸兩部分組成。本文重點介紹數(shù)據(jù)處理及傳輸部分。風光電廠SCADA系統(tǒng)如圖1所示。

            通過CAN總線與CAN總線適配器的連接,將各個風光發(fā)電站的狀態(tài)參數(shù)傳輸至基于LPC2214的嵌入式系統(tǒng),數(shù)據(jù)經(jīng)處理后由模塊MC39i輸出,并通過GPRS網(wǎng)絡和Internet將數(shù)據(jù)傳輸至監(jiān)控中心。反之,監(jiān)控中心也可以將各種操作指令傳送至控制終端,以控制風光發(fā)電站的運行。本系統(tǒng)的核心部分為“嵌入式模塊”的實現(xiàn)[2]。

            本文引用地址:http://www.biyoush.com/article/201706/348374.htm

             本系統(tǒng)使用ARM7核微處理器LPC2214,并適當對系統(tǒng)存儲資源進行擴展,通過移植嵌入式操作系統(tǒng)μC/OS-Ⅱ來管理整個系統(tǒng)的運行。系統(tǒng)所使用的GPRS模塊MC39i由西門子公司生產(chǎn),具有使用方便、接口電路簡單等優(yōu)點[3]。GPRS雖支持TCP/IP業(yè)務,但因為MC39i沒有嵌入TCP/IP協(xié)議和PPP協(xié)議,所以需要在基于LPC2214的嵌入式系統(tǒng)中實現(xiàn)TCP/IP協(xié)議和PPP協(xié)議,否則系統(tǒng)無法使用GPRS網(wǎng)絡的業(yè)務。

            2 CAN總線接口電路設計

            SJA1000與LPC2214之間的接口電路如圖2所示,主要包含:LPC2214最小系統(tǒng)(未畫出)、CAN通信控制器SJA1000、CAN總線驅動器82C250和高速光電耦合器6N137。LPC2214控制SJA1000的初始化以及對風光發(fā)電站狀態(tài)參數(shù)的接收和發(fā)送。其中,SJA1000的AD0~AD7連接到LPC2214的P2口(DATA0~DATA7),/CS為0時,LPC2214選中SJA1000。SJA1000的/RD、/WR、ALE分別與LPC2214的對應引腳相連,/INT接LPC2214的P0.1腳(外部中斷0),用于中斷訪問SJA1000。

            SJA1000的TX0、RX0通過高速光耦6N137后與82C250的TXD和RXD連接,這樣可較好地實現(xiàn)本節(jié)點在CAN總線上的電氣隔離,從而增強CAN總節(jié)點的抗干擾能力。要注意光耦部分電路采用的兩個電源VCC和VDD必須完全隔離,否則此光耦就失去了意義。本系統(tǒng)中的電源隔離采用了小功率的電源隔離模塊實現(xiàn)。

            另外,通過在82C250的CANH和CANL引腳之間串連60 ?贅的電阻以消除電路中信號反射等干擾。CANH和CANL與地之間并聯(lián)兩個30 pF的小電容,可濾除總線上的高頻干擾和一定的電磁輻射。另外,在兩根CAN總線輸入端與地之間分別接了一個防雷擊管,當兩端輸入端與地之間出現(xiàn)瞬變干擾時,通過防雷擊管的放電可起到一定的保護作用。

            3 基于μC/OS-Ⅱ環(huán)境的多任務設計


            3.1 μC/OS-Ⅱ操作系統(tǒng)在ARM7核上的移植

            移植是使一個實時內核能在其他微處理器上運行,也就是為特定的CPU編寫特定的代碼。因為μC/OS-Ⅱ在讀/寫CPU寄存器時,只能通過匯編語言來進行,因此在使用μC/OS-Ⅱ時,針對具體的CPU,用戶需要用匯編語言編寫與CPU硬件相關的代碼。

            根據(jù)μC/OS-Ⅱ的要求,移植μC/OS-Ⅱ到一個微處理器的體系結構上需要提供三個文件:在C語言頭文件OS_CPU.H中,要定義與編譯器無關的數(shù)據(jù)類型;定義所使用的堆棧數(shù)據(jù)類型以及堆棧的增長方向;定義一些有關ARM核的軟中斷。在C程序源文件OS_CPU_C.C中,主要是μC/OS-Ⅱ任務堆棧初始化函數(shù);在匯編程序源文件OS_CPU_A.S中,主要是時鐘節(jié)拍中斷服務函數(shù)、中斷退出時的任務切換函數(shù)以及μC/OS-Ⅱ第一次進入多任務環(huán)境時運行最高優(yōu)先級任務的函數(shù)。

            3.2 系統(tǒng)任務設計

            μC/OS-Ⅱ要求在其上運行的應用軟件“任務化”,所以需要按μC/OS-Ⅱ的任務編寫規(guī)范設計系統(tǒng)應用任務。按任務優(yōu)先級從高到低設計如下[4]。

            Task0:完成系統(tǒng)各部分(包括MC39i)初始化工作后,采用時間片的方式進行PPP數(shù)據(jù)幀的接收,并完成該數(shù)據(jù)幀的解析。

            Task 1:風光發(fā)電廠各發(fā)電站狀態(tài)參數(shù)的讀取。
            Task 2:UDP數(shù)據(jù)包的接收處理。
            Task 3:TCP數(shù)據(jù)包的接收處理。
            Task 4:ICMP數(shù)據(jù)包的接收處理(主要是響應PING)。
            Task 5:針對UDP數(shù)據(jù)報中的命令請求進行響應。
            Task 6:針對TCP數(shù)據(jù)報中的命令請求進行響應(Web服務器功能)。
            系統(tǒng)任務之間的通信如圖3所示。


            3.3 IP數(shù)據(jù)包解析模塊軟件設計

            IP協(xié)議是TCP/IP協(xié)議的核心,也是網(wǎng)絡層中最重要的協(xié)議,IP層接收由更低層發(fā)來的數(shù)據(jù)包,并將其發(fā)送到更高層——TCP或UDP層;反之,IP報也把從TCP或UDP層接收來的數(shù)據(jù)包傳送到更低層,并最終通過TCP/IP網(wǎng)絡進行無連接傳送數(shù)據(jù)報。

            本系統(tǒng)向監(jiān)控中心傳送的數(shù)據(jù),需先進行TCP/IP協(xié)議的處理,即要求LPC2214實現(xiàn)TCP/IP協(xié)議。其中IP數(shù)據(jù)包的封裝及發(fā)送是通過函數(shù)ip_send( )實現(xiàn)的,通常此函數(shù)是在PPP協(xié)議處理函數(shù)中被調用。風光發(fā)電站各狀態(tài)參數(shù)在被封裝為UDP數(shù)據(jù)包以后,調用此函數(shù)進行IP協(xié)議格式數(shù)據(jù)封裝,即在IP數(shù)據(jù)報頭的數(shù)據(jù)結構中添加IP報頭信息(其中包括計算IP報頭的校驗和值)。在封裝好IP包之后,要設置此IP報頭數(shù)據(jù)(20 B)的“發(fā)送結構”Send_Ptr,從而與UDP數(shù)據(jù)報構成一個發(fā)送數(shù)據(jù)鏈。

            發(fā)送IP報之前要先得到“發(fā)送信號量”SendFlag,否則只有掛起當前任務等待此信號量。一旦得到發(fā)送信號量,對該IP報進行PPP協(xié)議數(shù)據(jù)格式封裝,之后再啟動MC39i發(fā)送數(shù)據(jù),數(shù)據(jù)發(fā)送完畢后要及時釋放發(fā)送信號量。

            具體程序如下:

            Uint8 ip_send(struct Send_Ptr *TxdData,uint8 * dest_ip,uint8 PROTOCOL)
            {//TxdData為存放待傳輸數(shù)據(jù)首指針;dest_ip為目的IP地址首指針;IP包中的下一層
            //客戶協(xié)議類型(UDP、TCP)
            uint16 CRC;
            uint8 Ip_Head[20];
            struct Send_Ptr TxdIpData;
            uint8 err;
            static uint16 FrameIndex=0;
            Ip_Head[0]=0x45;
            …… //進行TCP/IP協(xié)議中的IP數(shù)據(jù)包
            //報頭設置
            Ip_Head[19]=dest_ip[3];
            CRC=CreateIpHeadCrc(Ip_Head); //對IP首部中每16位
            //進行二進制反碼求和
            Ip_Head[10]=(CRC0xff00)>>8;
            Ip_Head[11]=CRC0x00ff;
            TxdIpData.STPTR=TxdData;
            TxdIpData.length=20;
            TxdIpData.DAPTR=Ip_Head;
            OSSemPend(SendFlag,10,err);
            //獲取μC/OS-Ⅱ操作系統(tǒng)當前的發(fā)送權(得到“發(fā)
            //送信號量”SendFlag)
            if(err==OS_NO_ERR) //沒有得到發(fā)送權(發(fā)送信
            //號量SendFlag),掛起任務,等待
            {
            if(ip_mac_send(TxdIpData,dest_ip))
            //按照PPP協(xié)議打包數(shù)據(jù),并啟動MC39i
            //通信模塊進行傳輸數(shù)據(jù)
            {
            OSSemPost(SendFlag);
            //發(fā)送成功,釋放“發(fā)送信號量”,并返回“1”
            return(1);
            }
            else
            {
            OSSemPost(SendFlag);
            //發(fā)送失敗,釋放“發(fā)送信號量”,并返回“0”
            return(0);
            }
            }
            else
            return (0);
            }

            4 模塊MC39i的應用

            在本系統(tǒng)中MC39i作為GPRS終端的無線收發(fā)模塊,從TCP/IP模塊接收的IP數(shù)據(jù)包和從基站接收的GPRS分組數(shù)據(jù)進行相應的協(xié)議處理后再轉發(fā)。MC39i提供了9針的標準RS232接口,通過SP3232電平轉換芯片與LPC2214的串口相連,進行全雙工通信。LPC2214與MC39i的接口如圖4所示。

            利用GPRS網(wǎng)絡傳輸數(shù)據(jù)之前,需要采用PPP協(xié)議將GPRS通信模塊接入Internet。PPP協(xié)議位于數(shù)據(jù)鏈路層,是為在兩個對等實體間傳輸數(shù)據(jù)包連接而設計的,使用可擴展的鏈路控制協(xié)議LCP來建立,配置和測試數(shù)據(jù)鏈路。用網(wǎng)絡控制協(xié)議族NCP建立和配置不同的網(wǎng)絡層協(xié)議,并且允許采用多種網(wǎng)絡層協(xié)議[5]。在本系統(tǒng)完成啟動之后,首先進行MC39i的工作頻率等參數(shù)設置,然后進行撥號與PPP協(xié)商,得到系統(tǒng)本地IP,從而完成GPRS終端的Internet接入。

            LPC2214通過RS232串行口控制GPRS模塊,涉及到的軟件包括:MC39i的初始化、登錄GGSN、與監(jiān)控中心的Internet數(shù)據(jù)傳輸。LPC2214對MC39i模塊的控制采用AT命令,圖5給出了GPRS撥號上網(wǎng)及PPP協(xié)商軟件流程圖。

            當GPRS撥號成功接入Internet后,就可以進行無線數(shù)據(jù)傳輸了。LPC2214將風光發(fā)電站的狀態(tài)參數(shù)先進行TCP/IP協(xié)議的處理(封裝為IP數(shù)據(jù)包),再經(jīng)RS232串口控制MC39i模塊將所有數(shù)據(jù)封裝成GPRS分組數(shù)據(jù)包并傳送到GPRS無線網(wǎng)絡[6]。反之,GGSN的回答也可通過串行口進入本系統(tǒng)。

            在現(xiàn)有的GPRS網(wǎng)絡基礎上開發(fā)成本較低的風光電廠SCADA系統(tǒng),具有投入少、安裝方便、傳輸可靠、方便遠程管理等,尤其適合一些邊遠地區(qū)的風光電廠的遠程監(jiān)控,其實用意義大。通過對本系統(tǒng)的試驗測試,基本實現(xiàn)了數(shù)據(jù)的遠距離的無線傳輸,具有時延低、正確率高等優(yōu)點。



            評論


            技術專區(qū)

            關閉