亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        LabVIEW和PLC技術(shù)在燃煤鍋爐自動(dòng)控制系統(tǒng)中的應(yīng)用研究

        2014-03-21 12:23:25徐桂華徐保國(guó)
        儀表技術(shù)與傳感器 2014年5期
        關(guān)鍵詞:組態(tài)串口應(yīng)用程序

        徐桂華,徐保國(guó)

        (江南大學(xué)物聯(lián)網(wǎng)工程學(xué)院,江蘇無(wú)錫 214122)

        1 燃煤鍋爐系統(tǒng)工藝流程分析

        燃煤鍋爐系統(tǒng)主要由:給水系統(tǒng)、燃料系統(tǒng)、蒸汽系統(tǒng)、燃燒系統(tǒng)、風(fēng)煙系統(tǒng)和排污系統(tǒng)等部分構(gòu)成[1],系統(tǒng)流程如圖1和圖2所示。首先用點(diǎn)燃的木柴對(duì)爐膛預(yù)熱,此過(guò)程成為烘爐,烘爐的目的是為了脫除襯里中的自然水和結(jié)晶水。烘爐結(jié)束后,將煤粉通過(guò)傳輸帶、煤斗運(yùn)送到爐排上開(kāi)始燃燒,燃燒過(guò)程中,引風(fēng)機(jī)不斷地將煙氣經(jīng)過(guò)除塵器處理后通過(guò)煙囪排出來(lái),鼓風(fēng)機(jī)用來(lái)增加爐膛內(nèi)的含氧量,使煤充分燃燒,水泵將凈化處理后的軟水通過(guò)省煤器傳送到鍋筒,鍋筒內(nèi)的水經(jīng)過(guò)加熱,產(chǎn)生汽水混合物,傳送到汽包,通過(guò)汽包內(nèi)的汽水分離器,將蒸汽傳送到白酒生產(chǎn)車間。

        2 系統(tǒng)的自動(dòng)化設(shè)計(jì)與實(shí)現(xiàn)

        2.1軟硬件配置

        2.1.1硬件配置

        硬件配置包括SIMATIC工控機(jī),PLC S7-300 (CPU315-2DP),引風(fēng)機(jī),鼓風(fēng)機(jī),水泵等電機(jī),變頻器,變送器,CP5611卡,氧化鋯煙氧含量傳感器,壓力傳感器,液位傳感器等。其中CP5611卡用于實(shí)現(xiàn)上位機(jī)與PLC的PROFIBUS通訊;各類傳感器實(shí)時(shí)采集數(shù)據(jù),通過(guò)變送器實(shí)時(shí)顯示、并將測(cè)量值變送為4~20 mA的標(biāo)準(zhǔn)電流信號(hào)輸出給PLC的AI模塊;變頻器連接引風(fēng)機(jī)、鼓風(fēng)機(jī)和水泵,通過(guò)改變電機(jī)工作電源頻率來(lái)控制其運(yùn)行。

        2.1.2軟件配置

        圖1 鍋爐風(fēng)、煤、煙、渣系統(tǒng)框圖

        圖2 鍋爐汽、水系統(tǒng)框圖

        LabVIEW 2011:為上位機(jī)編程軟件;SIMATIC NET PC SOFTWARE V6.5:用于在工控機(jī)上通過(guò)PROFIBUS建立OPC服務(wù)器;STEP 7 V5.4:對(duì)PLC進(jìn)行硬件組態(tài)及軟件編程,并組態(tài)OPC服務(wù)器。

        2.2系統(tǒng)總體構(gòu)成

        系統(tǒng)總體結(jié)構(gòu)如圖3所示,系統(tǒng)運(yùn)行時(shí),安裝在爐膛內(nèi)的壓力傳感器、煙氧含量傳感器、溫度傳感器,鍋筒內(nèi)的液位傳感器以及汽包內(nèi)的蒸汽壓力傳感器實(shí)時(shí)采集數(shù)據(jù),將數(shù)據(jù)傳送給變送器,變送器將采集到的信號(hào)轉(zhuǎn)換成4~20mA的電流信號(hào)輸出給PLC的AI模塊,PLC通過(guò)PROFIBUS總線傳送數(shù)據(jù)至上位機(jī)。基于LabVIEW開(kāi)發(fā)的上位機(jī)軟件通過(guò)DataSocket技術(shù)對(duì)OPC Server訪問(wèn),從而讀取PLC上所有開(kāi)關(guān)量和模擬量數(shù)據(jù),并根據(jù)用戶預(yù)設(shè)的控制要求,通過(guò)RS485總線方式控制變頻器頻率,進(jìn)而調(diào)節(jié)引風(fēng)機(jī)、鼓風(fēng)機(jī)以及水泵的運(yùn)行速度。利用變頻器調(diào)節(jié)引風(fēng)機(jī)、鼓風(fēng)機(jī)和水泵這3個(gè)主要電機(jī),極大的節(jié)約了能源、提高了鍋爐運(yùn)行效率。

        圖3 系統(tǒng)總體結(jié)構(gòu)圖

        3 系統(tǒng)軟件設(shè)計(jì)

        3.1LabVIEW與PLC之間的通訊

        LabVIEW與PLC之間通過(guò)PROFIBUS-DP總線技術(shù)通訊[2-3],由于LabVIEW和PLC編程軟件來(lái)自不同的廠商,我們采用OPC SERVER來(lái)建立這兩者間的通信連接。OPC(OLE for Process Control) 是一個(gè)工業(yè)標(biāo)準(zhǔn),利用它可以將不同開(kāi)發(fā)商研發(fā)的驅(qū)動(dòng)程序與應(yīng)用軟件有機(jī)的集成或連接起來(lái)。OPC規(guī)范了接口函數(shù),不管現(xiàn)場(chǎng)設(shè)備以何種形式存在,客戶都以統(tǒng)一的方式去訪問(wèn),從而保證軟件對(duì)客戶的透明性。LabVIEW與PLC實(shí)時(shí)通信的實(shí)現(xiàn)步驟如下:

        3.1.1OPC Server的組態(tài)

        安裝完CP5611卡和SIMATIC NET軟件后,點(diǎn)擊Station Configuration Eidtior,配置其窗口,在一號(hào)槽中插入OPC Server,在3號(hào)槽中插入CP5611并配置PROFIBUS通信的參數(shù),設(shè)置地址為3、波特率為1.5 M、Bus profile為DP,點(diǎn)擊“Station Name”按鈕指定PC站的名稱為“Coal-fired Boiler”確認(rèn)后即完成PC站的硬件組態(tài)。

        3.1.2配置控制臺(tái)(Configuration Console)的設(shè)置

        配置控制臺(tái)是PC機(jī)組態(tài)設(shè)置和診斷的核心工具,在完成PC機(jī)的硬件配置后,打開(kāi)配置控制臺(tái),如果CP5611沒(méi)有轉(zhuǎn)變成Configuration Mode,則手動(dòng)將其轉(zhuǎn)變?yōu)镃onfiguration Mode,此外在Access Points設(shè)置窗口中將S7ONLINE指向PC internal(local),此設(shè)置是為PC站組態(tài)的下載做準(zhǔn)備。

        3.1.3在Step7中組態(tài)PC Station

        打開(kāi)SIMATIC Manager新建一個(gè)項(xiàng)目,插入一個(gè)PC站,注意此PC站的名稱要與在OPC服務(wù)器里組態(tài)的PC站名稱一致,在硬件組態(tài)中,PC硬件機(jī)架的配置選擇與在Simatic Net中硬件組態(tài)相同,雙擊CP5611打開(kāi)其屬性對(duì)話框,設(shè)置PROFIBUS 地址和波特率與步驟(1)中一致,并進(jìn)行編譯下載,這一步完成后,進(jìn)入NETPro相應(yīng)界面,選擇OPC服務(wù)器,點(diǎn)擊右鍵插入一個(gè)新的連接,在S7連接屬性對(duì)話框中對(duì)Profibus地址進(jìn)行相應(yīng)的配置,編譯并下載到PC機(jī)上,在Step7上對(duì)S7-300PLC進(jìn)行組態(tài),組態(tài)完成后下載到PLC上。

        3.1.4OPC Scout中變量的設(shè)定

        OPC Scout是OPC Server中用于調(diào)試OPC通信的軟件,在OPC Scout中可以定義與PLC連接的變量,在OPC Scout的左框圖雙擊 OPC SimaticNET建立一個(gè)組,然后雙擊組名進(jìn)入OPC-Navigator界面,雙擊Connection,在PLC的存儲(chǔ)區(qū)建立需要監(jiān)控的變量。

        3.1.5LabVIEW與PLC通訊的建立

        設(shè)計(jì)使用DataSocket技術(shù),DataSocket技術(shù)是面向測(cè)控領(lǐng)域的網(wǎng)絡(luò)通訊技術(shù),用于共享和發(fā)布實(shí)時(shí)數(shù)據(jù),能支持本地計(jì)算機(jī)上不同應(yīng)用程序?qū)μ囟〝?shù)據(jù)的同時(shí)應(yīng)用,DataSocket中隱含著OPC client可通過(guò)該OPC client與OPC server進(jìn)行通訊,通過(guò)訪問(wèn)OPC Server實(shí)現(xiàn)上位機(jī)與PLC的通訊。DataSocket以URL的方式訪問(wèn)服務(wù)器數(shù)據(jù)項(xiàng)目,訪問(wèn)OPC的URL基本結(jié)構(gòu)為:OPC://主機(jī)名//OPC服務(wù)器名/數(shù)據(jù)項(xiàng)目。程序框圖如圖4所示,其中l(wèi)ocalhost為主機(jī)名,S7 connection_1是組態(tài)PROFIBUS網(wǎng)絡(luò)、定義S7連接時(shí)系統(tǒng)默認(rèn)的ID名稱,IB0、 PIW128為所需讀取的存儲(chǔ)區(qū)首地址。

        圖4 LabVIEW與PLC通訊程序框圖

        3.2LabVIEW與稱重儀表通訊的實(shí)現(xiàn)

        根據(jù)要求,將每次消耗的煤粉重量在上位機(jī)上顯示出來(lái),稱重儀表通過(guò)RS485總線的方式與上位機(jī)通訊,在LabVIEW中實(shí)現(xiàn)串口通訊主要有2種途徑:一是利用其自身的VISA驅(qū)動(dòng)程序;二是利用標(biāo)準(zhǔn)串口通訊函數(shù)[4-5]。

        文中利用標(biāo)準(zhǔn)串口通訊函數(shù)在VC++中開(kāi)發(fā)動(dòng)態(tài)鏈接庫(kù)函數(shù)(DLL)供LabVIEW調(diào)用實(shí)現(xiàn)串口通訊。動(dòng)態(tài)鏈接庫(kù)是在應(yīng)用程序運(yùn)行時(shí)被裝入和鏈接的,而不是把源代碼復(fù)制到應(yīng)用程序中去,因此使用動(dòng)態(tài)鏈接庫(kù)可以實(shí)現(xiàn)多個(gè)應(yīng)用程序之間代碼和資源的共享,該方法比直接利用VISA驅(qū)動(dòng)實(shí)現(xiàn)通訊方式更加的靈活,而且節(jié)省了內(nèi)存和購(gòu)買VISA模塊的費(fèi)用。

        3.2.1基于VC++的串口讀寫動(dòng)態(tài)鏈接庫(kù)函數(shù)開(kāi)發(fā)

        串口通訊函數(shù)庫(kù)中包含comInit、comRead、comWrite 3個(gè)函數(shù),分別負(fù)責(zé)對(duì)串口進(jìn)行初始化及讀寫任務(wù)。

        在使用串口進(jìn)行讀寫操作時(shí),首先需要對(duì)串行端口進(jìn)行一些初始化配置,這是通過(guò)設(shè)置設(shè)備控制塊DCB結(jié)構(gòu)體中數(shù)據(jù)成員來(lái)實(shí)現(xiàn)的,DCB結(jié)構(gòu)中包含諸如波特率、數(shù)據(jù)位數(shù)、奇偶校驗(yàn)和停止位數(shù)等重要的串口信息,通常在成功打開(kāi)串口后,應(yīng)用程序可以先調(diào)用GetCommState函數(shù)獲取串行口的當(dāng)前配置信息,再根據(jù)自身要求修改串口配置信息,這是通過(guò)修改DCB結(jié)構(gòu)中部分?jǐn)?shù)據(jù)成員的值、調(diào)用SetCommState函數(shù)設(shè)置串口配置信息實(shí)現(xiàn)的。

        除設(shè)置DCB結(jié)構(gòu)外,應(yīng)用程序一般還需要設(shè)置I/O緩沖區(qū)的大小及傳輸超時(shí),Win32系統(tǒng)使用系統(tǒng)I/O緩沖區(qū)來(lái)暫存串口的傳輸數(shù)據(jù),如果通訊速率較高,那么應(yīng)用程序應(yīng)該設(shè)置較大的系統(tǒng)I/O緩沖區(qū)。設(shè)置傳輸超時(shí)的作用是:當(dāng)在指定時(shí)間內(nèi)沒(méi)有讀取或發(fā)送指定數(shù)量的字符時(shí),ReadFile函數(shù)或WriteFile函數(shù)的操作仍然可以結(jié)束,不會(huì)出現(xiàn)無(wú)限等待的情況,該設(shè)置可以通過(guò)SetCommTimeouts函數(shù)實(shí)現(xiàn)。

        應(yīng)用程序主要通過(guò)ReadFile函數(shù)和WriteFile函數(shù)對(duì)串口進(jìn)行讀寫操作,在讀寫時(shí)采用重疊I/O方式執(zhí)行,采用此方式時(shí),即使讀寫操作尚未完成,這兩個(gè)函數(shù)也會(huì)立即返回,I/O操作留給后臺(tái)處理。需要注意的是:在完成串口讀寫操作后需要關(guān)閉串口,否則串口將一直被暫用,下次將無(wú)法打開(kāi)串口,關(guān)閉串口非常簡(jiǎn)單,只需使用CreateFile函數(shù)返回的句柄作為參數(shù)調(diào)用CloseHandle函數(shù)即可。具體程序如下所示:

        MFCDLL_API int comRead (int *data,int n,int Number)

        //*data存放返回的模擬量值,n連續(xù)讀取儀表數(shù)量,Number指定的串口號(hào)

        { int i;

        HANDLE hcomm1;//串口句柄

        DWORD dw=0,rec=0;//實(shí)際讀寫操作時(shí)讀取和寫入的字節(jié)數(shù)

        unsigned char strsend[8]={0};//寫串口指令組

        unsigned char strrece[10]={0};//儀表返回指令組

        char str[4];//設(shè)置串口編號(hào)

        sprintf(str,"COM%d",Number);

        hcomm1=CreateFile(str,GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,NULL);//打開(kāi)串口

        if (hcomm1==(HANDLE)-1) {return -12;}

        for (i=0;i

        {strsend[0]=0x80+(unsigned char)i+1;//地址+80H

        strsend[1]=0x80+(unsigned char)i+1;

        strsend[2]=0x52;//儀表讀標(biāo)志

        strsend[3]=1;//

        strsend[4]=0;

        strsend[5]=0;

        strsend[6]=(strsend[3]*256+82+strsend[0]-128)%256;//計(jì)算CRC校驗(yàn)碼

        strsend[7]=(strsend[3]*256+82+strsend[0]-128)/256;

        if(!WriteFile(hcomm1,strsend,8,&dw,NULL)) return -1;//寫入串口

        if(!ReadFile(hcomm1,strrece,10,&rec,NULL)) return -1;//讀取儀表返回值

        else

        { unsigned int check;

        check=(unsigned char)strrece[1]*256+(unsigned char)strrece[0];

        check+=(unsigned char)strrece[3]*256+(unsigned char)strrece[2];

        check+=(unsigned char)strrece[5]*256+(unsigned char)strrece[4];

        check+=(unsigned char)strrece[7]*256+(unsigned char)strrece[6];

        check+=(unsigned char)strsend[0]-128;

        if((unsigned char)strrece[8]==check%256 &&

        (unsigned char)strrece[9]==check/256)

        {data[i] = (unsigned char)strrece[0]+strrece[1]*256;}

        else

        data[i]=8888;//校驗(yàn)錯(cuò)誤,返回校驗(yàn)失敗標(biāo)志8888

        }

        }

        CloseHandle(hcomm1);//關(guān)閉串口

        return 11;//讀取成功,返回成功標(biāo)志11

        }

        3.2.2基于DLL技術(shù)的LabVIEW與稱重儀表通信的實(shí)現(xiàn)

        LabVIEW中調(diào)用動(dòng)態(tài)鏈接庫(kù)是通過(guò)CLF節(jié)點(diǎn)實(shí)現(xiàn)的,即調(diào)用庫(kù)函數(shù)節(jié)點(diǎn)(Call Library Function),位于“函數(shù)→互連接口→庫(kù)與可執(zhí)行程序”中,使用前首先需要雙擊對(duì)其進(jìn)行配置 。在選擇好“庫(kù)名/路徑”后,在函數(shù)名中將出現(xiàn)上文編譯DLL庫(kù)文件時(shí)所定義好的3個(gè)函數(shù),即comInit、comRead、comWrite,選擇相應(yīng)需要的函數(shù)并在參數(shù)欄中對(duì)其輸入輸出參數(shù)進(jìn)行設(shè)置,各輸入輸出的數(shù)據(jù)類型及含義和DLL函數(shù)庫(kù)中所定義的對(duì)應(yīng)函數(shù)一致。另外,需要注意的是在該設(shè)置窗口的函數(shù)一欄中需將線程設(shè)置為“在任意線程中運(yùn)行”,否則上位機(jī)在對(duì)串口進(jìn)行讀寫操作時(shí)將獨(dú)占線程,致使其他線程無(wú)法正常響應(yīng),進(jìn)而易造成程序假死現(xiàn)象。成功設(shè)置好CLF節(jié)點(diǎn)后即可進(jìn)行串口讀寫操作,LabVIEW讀取稱重儀表數(shù)據(jù)程序框圖如圖5所示。

        圖5 LabVIEW讀取稱重儀表數(shù)據(jù)

        4 結(jié)束語(yǔ)

        文中設(shè)計(jì)并實(shí)現(xiàn)了一種基于LabVIEW 和PLC技術(shù)的燃煤鍋爐自動(dòng)控制系統(tǒng)。創(chuàng)新利用了DLL技術(shù)實(shí)現(xiàn)稱重儀表與上位機(jī)的通信,節(jié)約了系統(tǒng)資源、提高了系統(tǒng)靈活性。實(shí)踐證明:該系統(tǒng)不僅有助于提高鍋爐生產(chǎn)效率和資源利用率,而且對(duì)于推進(jìn)節(jié)能減排的發(fā)展有著重要的影響。

        參考文獻(xiàn):

        [1]張曉梅.燃煤鍋爐機(jī)組.北京:中國(guó)電力出版社,2006.

        [2]曾珞亞.基于OPC技術(shù)的PLC與LabVIEW通信實(shí)現(xiàn).微計(jì)算機(jī)信息,2009,25(6-1):52-54.

        [3]徐國(guó)強(qiáng),陳樹(shù),徐保國(guó),等.黃酒前酵自控系統(tǒng)的研究與應(yīng)用.自動(dòng)化儀表,2011,32(2):31-33.

        [4]陶以政,潘振顯.怎樣在LabVIEW中調(diào)用Win32動(dòng)態(tài)鏈接庫(kù)(DLLs).計(jì)算機(jī)應(yīng)用,2000,20(6):72-73.

        [5]王蘭省,李振海.虛擬儀器系統(tǒng)開(kāi)發(fā)技術(shù).測(cè)控技術(shù),1999,18(4):58-59.

        猜你喜歡
        組態(tài)串口應(yīng)用程序
        淺談AB PLC串口跟RFID傳感器的通訊應(yīng)用
        基于PLC及組態(tài)技術(shù)的恒溫控制系統(tǒng)開(kāi)發(fā)探討
        刪除Win10中自帶的應(yīng)用程序
        基于PLC和組態(tài)的智能電動(dòng)擰緊系統(tǒng)
        PLC組態(tài)控制在水箱控制系統(tǒng)的應(yīng)用
        USB接口的多串口數(shù)據(jù)并行接收方法探索
        基于藍(lán)牙串口適配器的GPS接收機(jī)與AutoCAD的實(shí)時(shí)無(wú)線通信
        鑄造行業(yè)三維組態(tài)軟件的應(yīng)用
        基于并行控制的FPGA多串口拓展實(shí)現(xiàn)
        關(guān)閉應(yīng)用程序更新提醒
        電腦迷(2012年15期)2012-04-29 17:09:47
        久久久精品人妻一区二区三区妖精 | 中文亚洲av片不卡在线观看| 玩弄放荡人妻少妇系列| 国产爆乳乱码女大生Av| 中文少妇一区二区三区| 国产剧情一区二区三区在线| 中文无码日韩欧| 国产精品自在线免费| 久久一二三四区中文字幕| 在线观看 国产一区二区三区| 亚洲va久久久噜噜噜久久男同| 欧美丰满熟妇bbbbbb百度| 日本高清一区二区三区视频| 白色橄榄树在线免费观看| 国产av精品一区二区三区视频| 男人的天堂av高清在线| 特级婬片国产高清视频| 人妻中出精品久久久一区二| 久久熟女少妇一区二区三区| 粉嫩av国产一区二区三区| 国产zzjjzzjj视频全免费| 欧美日本视频一区| 日本一区二区三区四区在线视频| 亚洲国产精品无码久久| 久久久噜噜噜久久中文字幕色伊伊 | 国产精品麻豆欧美日韩ww| 亚洲无AV码一区二区三区| 国产一区二区三区男人吃奶| 久久狠狠色噜噜狠狠狠狠97| 久久成人麻豆午夜电影| 亚洲精品123区在线观看| 久久91精品国产91久久跳舞| 奇米影视色777四色在线首页| 久久久久久久综合狠狠综合| 久久久久久国产福利网站| 一级黄色一区二区三区| 99久久久国产精品免费蜜臀| 亚洲AV无码国产永久播放蜜芽| 蜜桃成人精品一区二区三区| 欧美老熟妇乱子| 亚洲 欧美 国产 日韩 精品|