牛杰,何文雪,鄒鑫
(青島大學(xué) 自動(dòng)化學(xué)院,山東 青島 266071 )
隨著金剛石制備技術(shù)的發(fā)展,高品級(jí)的金剛石在工業(yè)領(lǐng)域得到了廣泛的應(yīng)用,這使得世界各工業(yè)大國(guó)越來(lái)越重視金剛石制備技術(shù)的研究。目前,我國(guó)雖是金剛石生產(chǎn)大國(guó),但在高品級(jí)單晶金剛石的生產(chǎn)上仍面臨重重困難,主要原因在于高品級(jí)金剛石在形核生長(zhǎng)過(guò)程中對(duì)于溫度、氣體流量等工藝參數(shù)的控制精度比較嚴(yán)苛[1]。因此,設(shè)計(jì)一個(gè)能夠可靠快速地采集和處理過(guò)程變量的通信系統(tǒng)尤為迫切。
針對(duì)溫度和氣體流量過(guò)程參數(shù)的數(shù)據(jù)采集,分別對(duì)微波加熱裝置與PLC的通信和氣體流量控制裝置與PLC的通信進(jìn)行設(shè)計(jì)。該設(shè)計(jì)方案可以廣泛適用于使用微波等離子CVD技術(shù)人工合成金剛石的場(chǎng)合,使金剛石合成過(guò)程狀態(tài)數(shù)據(jù)可視化,有利于提高合成高品級(jí)金剛石的轉(zhuǎn)化率,獲得更顯著的經(jīng)濟(jì)效益。
通信系統(tǒng)主要包括上位機(jī)、微波加熱裝置、質(zhì)量流量計(jì)和PLC組成。微波加熱裝置的作用是對(duì)合成金剛石氣體原料進(jìn)行電離和加熱。質(zhì)量流量計(jì)的作用是對(duì)多種氣體進(jìn)行精確測(cè)量和控制。采用西門(mén)子S7-1200PLC,實(shí)現(xiàn)對(duì)設(shè)備的數(shù)據(jù)采集和自動(dòng)控制。通信系統(tǒng)結(jié)構(gòu)底層有4個(gè)質(zhì)量流量計(jì)和1個(gè)微波發(fā)生器,中間是1個(gè)西門(mén)子PLC,上層是上位機(jī)監(jiān)控中心。4個(gè)流量計(jì)互相串聯(lián)通過(guò)RS-485二線制與PLC相連,微波發(fā)生器通過(guò)雙絞線與PLC相連。系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)圖
控制器選用西門(mén)子PLC1215C,該產(chǎn)品具有通信模塊集成工藝和大容量存儲(chǔ)器,具有集成PROFINET接口,并且可以在CPU前方加入一個(gè)信號(hào)板擴(kuò)展數(shù)字或模擬量I/O[2]。擴(kuò)展信號(hào)模塊選用信號(hào)板CB1241(RS-485),僅支持RS-485電氣接口。微波加熱裝置選用法國(guó)某公司的第四代微波發(fā)生器GMP G4 60K T400,該版本具有數(shù)顯前面板,可用于本地遠(yuǎn)程控制,具有弧光檢測(cè)和工作環(huán)境擴(kuò)展測(cè)量功能,支持Profibus、CanOpen和TCP/IP通信協(xié)議,輸出微波功率為6kW。質(zhì)量流量計(jì)選用定制的4種不同氣體種類(lèi)的FCST1005系列常開(kāi)型流量計(jì),分別為O2(10SCCM)、Ar(10SCCM)、CH4(50SCCM)和H2(1SLM),支持RS-485通信協(xié)議,標(biāo)準(zhǔn)通信速度為38 400bps,流量輸出信號(hào)為0~5V直流電。
S7-1200PLC與微波發(fā)生器的通信遵循單客戶(hù)機(jī)(Client)、單服務(wù)器(Server)的通信結(jié)構(gòu)[3]。在通信連接之前,需要通過(guò)數(shù)顯前面板將微波發(fā)生器通信方式設(shè)置為Modbus/TCP模式,并設(shè)置本地IP地址。
在通信連接過(guò)程中,PLC作為客戶(hù)端向服務(wù)器即微波發(fā)生器發(fā)出請(qǐng)求報(bào)文,服務(wù)器根據(jù)請(qǐng)求作出響應(yīng)報(bào)文,經(jīng)過(guò)程序設(shè)計(jì)處理報(bào)文數(shù)據(jù)實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)傳輸[4]。報(bào)文長(zhǎng)度為32個(gè)字節(jié),根據(jù)讀和寫(xiě)命令請(qǐng)求的不同對(duì)應(yīng)的報(bào)文Modbus地址編號(hào)有所不同。在對(duì)設(shè)備進(jìn)行讀取操作時(shí),報(bào)文的起始Modbus地址編號(hào)為100;在進(jìn)行對(duì)設(shè)備進(jìn)行寫(xiě)入操作時(shí),報(bào)文的起始Modbus地址為000。
在博圖軟件中進(jìn)行程序設(shè)計(jì)時(shí),首先設(shè)置PLC以太網(wǎng)地址,然后添加函數(shù)功能塊,調(diào)用MB_CLIENT指令,其作用是在客戶(hù)端與服務(wù)器之間建立連接,發(fā)送Modbus請(qǐng)求并接收響應(yīng)[5]。對(duì)其中幾個(gè)重要參數(shù)進(jìn)行說(shuō)明,MB_MODE參數(shù)定義了Modbus的讀寫(xiě)功能。MB_DATA_ADDR參數(shù)用于計(jì)算遠(yuǎn)程地址的地址信息,計(jì)算方法為報(bào)文起始地址與Modbus起始地址相加。CONNECT參數(shù)指向描述連接結(jié)構(gòu)的TCON_IP_v4指針,調(diào)用的所有MB_CLIENT指令的CONNECT參數(shù)指向同一連接結(jié)構(gòu)指針。TCON_IP_v4指針具體設(shè)置如圖2所示。
圖2 TCON_IP_v4參數(shù)設(shè)置
對(duì)發(fā)送和接收的數(shù)據(jù)進(jìn)行處理。首先添加新的數(shù)據(jù)塊,按照?qǐng)?bào)文封裝數(shù)據(jù)的結(jié)構(gòu),在數(shù)據(jù)塊中創(chuàng)建兩個(gè)結(jié)構(gòu)體變量分別存儲(chǔ)發(fā)送和接收的數(shù)據(jù),發(fā)送的數(shù)據(jù)結(jié)構(gòu)變量如圖3所示。
圖3 發(fā)送的數(shù)據(jù)結(jié)構(gòu)體變量
調(diào)用MOVE指令,處理存儲(chǔ)在數(shù)據(jù)緩沖區(qū)的32個(gè)字節(jié)的報(bào)文數(shù)據(jù)使之與結(jié)構(gòu)體變量?jī)?nèi)容相匹配,將處理好的數(shù)據(jù)存儲(chǔ)到結(jié)構(gòu)體變量中,實(shí)現(xiàn)對(duì)微波發(fā)生器運(yùn)行參數(shù)的數(shù)據(jù)采集。部分程序設(shè)計(jì)如圖4所示。
圖4 數(shù)據(jù)處理程序
PLC與質(zhì)量流量計(jì)是通過(guò)RS-485兩線制主從通信連接的方式進(jìn)行數(shù)據(jù)傳遞[6]。西門(mén)子S7-1200作為通信主機(jī),從信號(hào)板CB1241(RS-485)處接出的RS-485通信鏈路掛接4個(gè)從站節(jié)點(diǎn),4個(gè)質(zhì)量流量計(jì)作為從站通過(guò)RS-485通信口相互串聯(lián),如圖5所示。
圖5 質(zhì)量流量計(jì)接入PLC端口配置圖
在通信連接之前,通過(guò)FCS_MACIDset軟件對(duì)各個(gè)質(zhì)量流量計(jì)的MACID物理地址進(jìn)行設(shè)置,以便通信時(shí)通過(guò)不同的MACID地址號(hào)尋找相應(yīng)的從站,來(lái)發(fā)送請(qǐng)求指令[6]。將4個(gè)質(zhì)量流量計(jì)的MACID地址分別設(shè)置為Ox21、Ox22、Ox23和Ox24??刂颇J絽?shù)Control Mode設(shè)置為Digital Mode(數(shù)字量控制模式)。
PLC與各質(zhì)量流量計(jì)通過(guò)RS-485通信的方式進(jìn)行連接,通信過(guò)程中的數(shù)據(jù)傳輸幀格式如圖6所示。
圖6 數(shù)據(jù)傳輸幀格式
根據(jù)主站發(fā)出讀取和寫(xiě)入命令請(qǐng)求的不同,從站的應(yīng)答機(jī)制也有所不同,因此通信過(guò)程中數(shù)據(jù)傳輸幀的格式也有所不同[7]。當(dāng)主站在對(duì)從站進(jìn)行數(shù)據(jù)讀取命令請(qǐng)求時(shí),命令幀數(shù)據(jù)格式由Master MACID、STX、Command Code、Packet Length、Class ID、Instance ID、Attribute ID、Pad和Checksum 9個(gè)部分組成,長(zhǎng)度為9個(gè)字節(jié)。從站在成功接收到命令請(qǐng)求后,會(huì)在1 ms內(nèi)作出應(yīng)答響應(yīng),包括1個(gè)字節(jié)的ACK(=Ox06)響應(yīng)碼和11個(gè)字節(jié)的數(shù)據(jù)傳輸幀,因此響應(yīng)幀總長(zhǎng)度為12個(gè)字節(jié)。當(dāng)主站在對(duì)從站進(jìn)行數(shù)據(jù)寫(xiě)入命令請(qǐng)求時(shí),命令幀數(shù)據(jù)格式為一般數(shù)據(jù)傳輸幀格式,字節(jié)長(zhǎng)11個(gè)字節(jié),如圖6所示。從站成功應(yīng)答命令請(qǐng)求后只會(huì)返回2個(gè)字節(jié)長(zhǎng)度ACK(=Ox06)表示數(shù)據(jù)已成功寫(xiě)入。
采用輪詢(xún)的方式對(duì)4個(gè)質(zhì)量流量計(jì)發(fā)送命令請(qǐng)求,分別獲取各個(gè)質(zhì)量流量計(jì)的相關(guān)參數(shù)數(shù)據(jù)。通過(guò)參照命令功能表,對(duì)命令幀中的相關(guān)參數(shù)進(jìn)行設(shè)置來(lái)獲取質(zhì)量流量計(jì)的特定參數(shù)數(shù)據(jù)。當(dāng)主站發(fā)送命令請(qǐng)求獲取IndicatedFlow參數(shù)數(shù)據(jù)時(shí),命令幀中對(duì)應(yīng)的Class ID、Instance ID、Attribute ID參數(shù)應(yīng)分別設(shè)置為Ox6a、Ox01、Oxa9。當(dāng)命令請(qǐng)求獲取Setpoint參數(shù)數(shù)據(jù)時(shí),則命令幀中對(duì)應(yīng)參數(shù)應(yīng)分別設(shè)置為Ox69、Ox01、Oxa4。
在博圖(TIA portal)軟件中進(jìn)行程序設(shè)計(jì),首先調(diào)用點(diǎn)到點(diǎn)通信發(fā)送指令SEND_PTP,其作用是建立通信連接,發(fā)送通信緩沖區(qū)數(shù)據(jù)。接收來(lái)自質(zhì)量流量計(jì)的響應(yīng)數(shù)據(jù)幀時(shí),調(diào)用RCV_PTP指令,其作用是接收從站返回的響應(yīng)幀數(shù)據(jù)并儲(chǔ)存在緩沖區(qū)內(nèi)[8]。其中BUFFER參數(shù)作為地址指針指向命令幀數(shù)據(jù)。
綜上所述,根據(jù)命令幀數(shù)據(jù)格式的設(shè)置規(guī)則,當(dāng)讀取#21質(zhì)量流量計(jì)的Setpoint參數(shù)數(shù)據(jù)時(shí),命令幀數(shù)據(jù)的長(zhǎng)度為9個(gè)字節(jié),具體參數(shù)設(shè)置如圖7所示;當(dāng)寫(xiě)入質(zhì)量流量計(jì)的Setpoint參數(shù)數(shù)據(jù)時(shí),命令幀數(shù)據(jù)的長(zhǎng)度為11個(gè)字節(jié),具體參數(shù)設(shè)置如圖8所示。
圖7 讀取Setpoint參數(shù)命令幀設(shè)置
圖8 寫(xiě)入Setpoint參數(shù)命令幀設(shè)置
根據(jù)從站應(yīng)答響應(yīng)機(jī)制的不同響應(yīng)幀長(zhǎng)度有所不同,接收讀取響應(yīng)幀時(shí)數(shù)據(jù)緩沖區(qū)長(zhǎng)度應(yīng)為12個(gè)字節(jié),接收寫(xiě)入響應(yīng)幀時(shí)接收數(shù)據(jù)緩沖區(qū)長(zhǎng)度應(yīng)為2個(gè)字節(jié)。SEND_PTP指令與RCV_PTP指令必須成對(duì)調(diào)用才能完成一個(gè)完整的命令請(qǐng)求與響應(yīng)應(yīng)答的通信過(guò)程。兩個(gè)指令不可同時(shí)作用,上一個(gè)指令結(jié)束后,下一個(gè)指令才能導(dǎo)通。用戶(hù)可以根據(jù)現(xiàn)場(chǎng)工藝具體要求,自行選擇需要獲取的質(zhì)量流量計(jì)相關(guān)參數(shù),確定需要調(diào)用的指令組數(shù)。
系統(tǒng)設(shè)計(jì)的上位機(jī)畫(huà)面的作用主要在于西門(mén)子S7-1200PLC與各個(gè)質(zhì)量流量計(jì)成功建立通信連接后,測(cè)試通信數(shù)據(jù)是否正常以及實(shí)現(xiàn)實(shí)時(shí)監(jiān)控系統(tǒng)內(nèi)各個(gè)設(shè)備的運(yùn)行狀態(tài)和參數(shù)。在西門(mén)子TIA portal環(huán)境中,組態(tài)PLC與PC station設(shè)備與網(wǎng)絡(luò)結(jié)構(gòu),上位機(jī)組態(tài)結(jié)構(gòu)如圖9所示。
圖9 上位機(jī)組態(tài)結(jié)構(gòu)圖
在PC station中的WinCC RT Advanced組態(tài)設(shè)備下設(shè)計(jì)了質(zhì)量流量計(jì)控制與顯示畫(huà)面,如圖10所示。
圖10 質(zhì)量流量計(jì)控制與顯示畫(huà)面
通過(guò)分析Modbus/TCP協(xié)議的報(bào)文結(jié)構(gòu)以及RS-485通信協(xié)議的數(shù)據(jù)傳輸幀格式,分別針對(duì)單客戶(hù)端服務(wù)器結(jié)構(gòu)以及一主多從結(jié)構(gòu)的通信結(jié)構(gòu),實(shí)現(xiàn)了PLC與微波電源以及質(zhì)量流量計(jì)之間的通信系統(tǒng)設(shè)計(jì)。所設(shè)計(jì)的系統(tǒng)解決了金剛石合成過(guò)程中數(shù)據(jù)反饋不及時(shí)的問(wèn)題,有利于提高合成高品級(jí)金剛石的轉(zhuǎn)化率和產(chǎn)量。該系統(tǒng)已在現(xiàn)場(chǎng)運(yùn)行,滿(mǎn)足了金剛石合成過(guò)程中對(duì)過(guò)程變量的監(jiān)控要求。