您現(xiàn)在的位置:
中國(guó)傳動(dòng)網(wǎng)
>
技術(shù)頻道
>
技術(shù)百科
>
基于IPC與PLC相結(jié)合的金剛石合成機(jī)控制系統(tǒng)的研制
時(shí)間:2008-08-18 14:24:00來(lái)源:ronggang
圖2 監(jiān)控系統(tǒng)功能結(jié)構(gòu)圖[/align]
其中:監(jiān)控系統(tǒng)中的一些功能模塊所完成的具體工作如下所示。
。1)通信模塊 該模塊實(shí)現(xiàn)與下位機(jī)PLC之間的數(shù)據(jù)傳輸問(wèn)題,在上、下位機(jī)之間起到橋梁作用。
(2)參數(shù)設(shè)置 控制系統(tǒng)所需要的參數(shù)都是通過(guò)該模塊完成的,并且可以保存和讀取參數(shù)設(shè)置。
。3)故障報(bào)警 當(dāng)現(xiàn)場(chǎng)產(chǎn)生故障時(shí)候,該模塊會(huì)給出報(bào)警信息提示并且及時(shí)反映出來(lái),以供操作人員處理參考。
。4)實(shí)時(shí)信息顯示 把當(dāng)前系統(tǒng)中的實(shí)際值顯示出來(lái),并與預(yù)先設(shè)定的值進(jìn)行比較,以此來(lái)判斷控制算法的好壞和系統(tǒng)是否正常工作。
。5)調(diào)整操作 給用戶(hù)提供一些手動(dòng)操作的面板,這樣可以使工作人員很方便地進(jìn)行調(diào)整和控制操作。
(6)報(bào)表 記錄歷史數(shù)據(jù),供以后分析使用,并且可以隨時(shí)打印數(shù)據(jù),供工作人員觀察系統(tǒng)的運(yùn)行狀態(tài)。
。7)變頻器控制 該模塊用來(lái)控制變頻器,以維持金剛石合成過(guò)程中的壓強(qiáng)基本不變,生產(chǎn)出高質(zhì)量金剛石。
。8)信息管理系統(tǒng) 信息管理系統(tǒng)是采用數(shù)據(jù)庫(kù)開(kāi)發(fā)技術(shù)開(kāi)發(fā),用來(lái)登記操作人員工作、出勤、工作量等情況,提供查詢(xún)、匯總等管理功能。
由于通信模塊與變頻器控制模塊都要進(jìn)行串口通信,所以在軟件編制過(guò)程中設(shè)計(jì)了串口通信通用類(lèi)CSerialPort,該類(lèi)封裝了串口通信的基本數(shù)據(jù)和方法,以解決RS-232和RS-485等不同類(lèi)型串口的通信問(wèn)題。CSerialPort類(lèi)頭文件中的主要成員變量和成員函數(shù)如下:
Class CSerialPort
。
Private:
HANDEL m_hPort;
DCB m_Dcb;
COMMTIMEOUTS m_TimeOuts;
DWORD m_Error;
Public:
CSerialPort( ); //構(gòu)造函數(shù)
virtual ~ CSerialPort( ); //析構(gòu)函數(shù)
//InitPort( )函數(shù)實(shí)現(xiàn)初始化串口
BOOL InitPort( );
DCB GetDCB( ); //獲得DCB參數(shù)
//SetDCB( )函數(shù)實(shí)現(xiàn)設(shè)置DCB參數(shù)
BOOL SetDCB ();
// GetTimeOuts( )函數(shù)獲得超時(shí)參數(shù)
COMMTIMEOUTS GetTimeOuts ();
// SetTimeOuts( )函數(shù)設(shè)置超時(shí)參數(shù)
BOOL SetTimeOuts ();
// WritePort( )函數(shù)實(shí)現(xiàn)寫(xiě)串口操作
Void WritePort (CString port, CString);
CString ReadPort(CString port ); //讀串口操作
BOOL ClosePort(CString port ); //關(guān)閉串口
};
對(duì)該類(lèi)的重要函數(shù)說(shuō)明如下:
InitPort( )函數(shù)完成串口的初始化工作,包括打開(kāi)串口、設(shè)置DCB參數(shù)、設(shè)置通信的超時(shí)時(shí)間等。打開(kāi)串口使用CreateFile( )函數(shù)。
SetDCB( )函數(shù)用于設(shè)置DCB參數(shù),包括傳輸?shù)牟ㄌ芈、是否進(jìn)行奇偶校驗(yàn)、每字節(jié)長(zhǎng)度以及停止位等。
WritePort( )函數(shù)用來(lái)完成向串口寫(xiě)數(shù)據(jù),由于該系統(tǒng)中需要對(duì)多個(gè)串口進(jìn)行通信,所以把串口號(hào)作為參數(shù)傳遞給該函數(shù);該函數(shù)把要發(fā)送的數(shù)據(jù)先進(jìn)行編碼(加入校驗(yàn),以減少誤碼率),然后再調(diào)用Windows API函數(shù)WriteFile( )把數(shù)據(jù)發(fā)送到串口中。
ReadPort( )函數(shù)用來(lái)完成從串口讀數(shù)據(jù),它先調(diào)用API函數(shù)ReadFile( )把下位機(jī)發(fā)送的數(shù)據(jù)讀出來(lái)放到緩存里面,然后對(duì)數(shù)據(jù)進(jìn)行處理并變換成字符串(CString)類(lèi)型返回。
2.3 控制系統(tǒng)軟件設(shè)計(jì)中幾個(gè)關(guān)鍵技術(shù)性問(wèn)題的解決
2.3.1 上位機(jī)VC++程序設(shè)計(jì)中技術(shù)問(wèn)題
。1)由于上位機(jī)和下位機(jī)需要進(jìn)行實(shí)時(shí)通信并且上位機(jī)還要對(duì)系統(tǒng)進(jìn)行實(shí)時(shí)監(jiān)控顯示,所以上位機(jī)程序設(shè)計(jì)中采用了多線(xiàn)程技術(shù)。當(dāng)監(jiān)控系統(tǒng)開(kāi)始工作時(shí),用AfxBeginThread()函數(shù)[4]創(chuàng)建輔助線(xiàn)程來(lái)管理串口通信。這樣設(shè)計(jì)后,當(dāng)進(jìn)行串口通信時(shí)候,主線(xiàn)程能夠繼續(xù)完成監(jiān)控功能和處理其它事務(wù)。輔助線(xiàn)程函數(shù)的主要代碼如下:
UINT SerialPro(void* param)
。
Ccrystal* mdlg=( Ccrystal*)param;
CString str;
int flag=1;
… … //如果初始化串口失敗返回
//循環(huán)讀寫(xiě)串口,直到結(jié)束
while(flag)
。
… … //這里把要發(fā)送的數(shù)據(jù)賦給變量str
//向串口寫(xiě)數(shù)據(jù)
mdlg->serial.WritePort(hport,str );
_sleep(100); //讓輔助線(xiàn)程休眠100毫秒
//從串口讀數(shù)據(jù)并賦給變量str
str=mdlg->serial.ReadPort( );
… … //這里把從串口得到的數(shù)據(jù)進(jìn)行處理
。
}
。2)由于在系統(tǒng)開(kāi)發(fā)中加入了數(shù)據(jù)庫(kù)開(kāi)發(fā),因此數(shù)據(jù)庫(kù)規(guī)劃也是一個(gè)工作重點(diǎn)。數(shù)據(jù)庫(kù)的開(kāi)發(fā)采用SQL Server,上位機(jī)通過(guò)在Visual C++中用ADO進(jìn)行數(shù)據(jù)庫(kù)編程。
2.3.2下位機(jī)PLC程序設(shè)計(jì)中技術(shù)問(wèn)題
下位機(jī)PLC主要是進(jìn)行實(shí)時(shí)控制,所以PLC程序運(yùn)行的好壞直接影響著整個(gè)系統(tǒng)工作的好壞,其中控制算法是需要認(rèn)真進(jìn)行設(shè)計(jì)的。本文將PID控制算法獨(dú)立出來(lái)成為一個(gè)子模塊,這樣做的好處是以后維護(hù)和升級(jí)比較方便,如果有更好的控制方法,只需要更改該P(yáng)ID控制模塊即可,這樣系統(tǒng)的維護(hù)代價(jià)比較低。
2.3.3IPC與PLC之間通信程序的設(shè)計(jì)
IPC與PLC之間采用主從應(yīng)答方式,IPC具有傳送優(yōu)先權(quán),根據(jù)需要向PLC發(fā)出讀寫(xiě)命令;下位機(jī)處于被動(dòng)狀態(tài)響應(yīng)上位機(jī)的命令。上位機(jī)讀數(shù)據(jù)時(shí)向PLC發(fā)出讀數(shù)據(jù)命令,PLC響應(yīng)命令并將數(shù)據(jù)傳回上位機(jī);寫(xiě)數(shù)據(jù)時(shí),上位機(jī)向PLC發(fā)出寫(xiě)命令及數(shù)據(jù),PLC即可接收。當(dāng)PLC沒(méi)能正確響應(yīng)時(shí),PLC返回沒(méi)能正確響應(yīng)標(biāo)志。
為了使IPC和PLC建立起正確的通信,必須進(jìn)行如下工作:首先,要定義好通信協(xié)議如指令格式等,且在PLC的特殊寄存器作相應(yīng)的設(shè)置;其次,要確定微機(jī)串行口且對(duì)進(jìn)行傳輸數(shù)據(jù)的端口參數(shù)進(jìn)行設(shè)置,如波特率、數(shù)據(jù)長(zhǎng)度、校驗(yàn)方式等;最后,由于數(shù)據(jù)傳輸過(guò)程中有誤碼率,所以需要進(jìn)行數(shù)據(jù)校驗(yàn),這里采用自己設(shè)計(jì)的數(shù)據(jù)校驗(yàn)算法。
3 應(yīng)用
本控制系統(tǒng)應(yīng)用于山東某金剛石加工廠,經(jīng)過(guò)半年多的運(yùn)行,本文所述的控制系統(tǒng)運(yùn)行情況良好,與原來(lái)的單純PLC控制系統(tǒng)相比,大大提高了控制精度和金剛石產(chǎn)品的質(zhì)量,大大減輕了操作人員的勞動(dòng)強(qiáng)度,基本上杜絕了誤操作,F(xiàn)在,本控制系統(tǒng)能自動(dòng)記錄操作人員的工作情況及其所生產(chǎn)的產(chǎn)品質(zhì)量,還能考察職工的出勤情況,這樣使公司的管理上了一個(gè)新臺(tái)階。在取得良好的經(jīng)濟(jì)效益的同時(shí),也取得了良好的社會(huì)效益。
4 結(jié)論與建議
1、將IPC與PLC有機(jī)結(jié)合,發(fā)揮各自的優(yōu)勢(shì),并利用現(xiàn)有的設(shè)備,有效地解決了目前金剛石合成機(jī)控制系統(tǒng)不能適應(yīng)生產(chǎn)需要的問(wèn)題,提高了金剛石產(chǎn)品的控制精度和質(zhì)量,取得了良好的社會(huì)和經(jīng)濟(jì)效益,這無(wú)疑為傳統(tǒng)設(shè)備、傳統(tǒng)控制系統(tǒng)的改造走出了一條既經(jīng)濟(jì)又有效的方法。
2、計(jì)算機(jī)監(jiān)控操作人員的工作情況和產(chǎn)品質(zhì)量,提高了企業(yè)管理的科學(xué)化水平。
3、該控制系統(tǒng)軟件設(shè)計(jì)中應(yīng)用了面向?qū)ο蠹夹g(shù),使得軟件以后的維護(hù)和升級(jí)成本降低,很適合進(jìn)一步的推廣使用。
4、下位機(jī)PLC控制系統(tǒng)中采用的是參數(shù)自整定PID控制算法,可以根據(jù)實(shí)際情況采取其它的控制算法,比如模糊控制、自適應(yīng)控制和神經(jīng)網(wǎng)絡(luò)控制等。
5、根據(jù)需要,只需要將控制系統(tǒng)稍微改動(dòng),就可以由IPC控制多個(gè)PLC操作站。
參考文獻(xiàn):
[1] 何衍慶.集散控制系統(tǒng)原理及應(yīng)用[M]. 北京:化學(xué)工業(yè)出版社, 1999.
[2] 賴(lài)壽宏.微型計(jì)算機(jī)控制技術(shù)[M]. 北京:機(jī)械工業(yè)出版社,1998.
[3] 尹宏業(yè).PLC可編程控制器教程[M]. 北京:航空工業(yè)出版社, 1997.
[4] David J. Kruglinshi. Visual C++技術(shù)內(nèi)幕[M].潘愛(ài)民等譯. 北京:清華大學(xué)出版社,1999.
[5] 林俊杰. Visual C++6程序設(shè)計(jì)經(jīng)典[M]. 北京:科學(xué)出版社,1999.
標(biāo)簽:
傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來(lái)源:傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為傳動(dòng)網(wǎng)(connectcrack.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來(lái)源“傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明其他來(lái)源的稿件,均來(lái)自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來(lái)源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。
相關(guān)資訊
產(chǎn)品新聞
更多>耐磨管道機(jī)器人檢測(cè)電纜CCTV,水下管道...
2025-09-23
影視舞臺(tái)燈光低煙無(wú)鹵扁平電纜13*4+2*(2...
2025-09-23
「頻」實(shí)力,新上市——富士電機(jī) FRENIC...
2025-09-08
華為昇騰Atlas800iA2 910B服務(wù)器Deepsee...
2025-09-04
TaiShan(泰山)200 2280系列服務(wù)器 鯤...
2025-09-03
2025-08-06
推薦專(zhuān)題
更多>