趙鍇,趙建剛,韓天夫,王琪,李梅楠,石凱,李慧想,楊銳,王雪竹
(北京探礦工程研究所,北京 100083)
在當(dāng)前大部分地質(zhì)表層或淺層的礦產(chǎn)資源已經(jīng)開發(fā)殆盡的背景下,國內(nèi)外鉆探深井的深度逐年增加,例如環(huán)渤海灣、東海、塔里木等地的鉆探平均深度都已超過6500 m[1]。六七千米的深井井下溫度可以達(dá)到170~260℃甚至更高,這種環(huán)境對(duì)鉆井液的耐高溫性能提出了更高的要求。
超高溫高壓流變儀是一種主要用于考察超高溫高壓環(huán)境下鉆井液流變性的同軸圓筒型流變儀,儀器的操作、數(shù)據(jù)采集、輸出報(bào)告和報(bào)警等功能可全部在上位機(jī)軟件界面上完成,最大限度擴(kuò)展了其應(yīng)用范圍,并在降低操作難度的同時(shí)提高了設(shè)備的安全性。
超高溫高壓流變儀溫控測(cè)試軟件是基于LabVIEW[2]圖形化編程語言設(shè)計(jì)開發(fā)的,運(yùn)行在搭載Windows XP操作系統(tǒng)的工控機(jī)上,用于對(duì)儀器的溫控系統(tǒng)進(jìn)行測(cè)試和優(yōu)化。LabVIEW平臺(tái)提供了直觀的數(shù)據(jù)流圖形編程方式、完善的設(shè)備驅(qū)動(dòng)支持和豐富的控件,是開發(fā)測(cè)量或控制系統(tǒng)的理想選擇。
使用超高溫高壓流變儀進(jìn)行流變性測(cè)試時(shí),樣品處于樣品杯中,樣品杯在加熱釜中進(jìn)行加熱。加熱釜結(jié)構(gòu)如圖1所示,由一層電熱膜和兩層絕緣膜組成的加熱套包裹釜壁,加熱時(shí)電熱膜快速升溫,向釜內(nèi)輻射熱量。
圖1 加熱釜結(jié)構(gòu)示意圖
溫控系統(tǒng)的總體結(jié)構(gòu)如圖2所示。
圖2 溫控系統(tǒng)結(jié)構(gòu)圖
樣品溫度傳感器于樣品杯中測(cè)量樣品溫度傳給采集卡,加熱套溫度傳感器于加熱釜外壁上測(cè)量加熱套溫度傳給溫控器,工控機(jī)分別從采集卡和溫控器得到樣品溫度和加熱套溫度。以一個(gè)目標(biāo)溫度對(duì)樣品進(jìn)行加熱時(shí),工控機(jī)將一個(gè)不小于目標(biāo)溫度的設(shè)定溫度寫入溫控器,溫控器控制加熱套電熱膜的通斷使加熱套溫度盡可能穩(wěn)定在設(shè)定溫度。加熱套產(chǎn)生的熱輻射將使樣品逐漸接近并穩(wěn)定到目標(biāo)溫度。
溫控測(cè)試軟件基于LabVIEW平臺(tái)開發(fā),運(yùn)行在儀器工控機(jī)上,完成以下功能:接收和儲(chǔ)存系統(tǒng)采集到的樣品溫度和加熱套溫度;計(jì)算并下發(fā)設(shè)定溫度給溫控器;顯示關(guān)鍵數(shù)據(jù)的變化曲線;監(jiān)視儀器的工作狀態(tài);在脫機(jī)狀態(tài)下模擬溫控測(cè)試。
根據(jù)軟件的功能,將其劃分為硬件通信模塊、軟件模擬模塊、溫控算法模塊和數(shù)據(jù)圖表模塊,各模塊以及相關(guān)硬件的邏輯結(jié)構(gòu)如圖3所示。
圖3 軟件模塊結(jié)構(gòu)圖
硬件通信模塊接收溫控器和采集卡上傳的溫度原始數(shù)據(jù)并對(duì)溫控器下發(fā)設(shè)定溫度,硬件通信模塊或軟件模擬模塊將樣品溫度和加熱套溫度上傳給溫控算法模塊和數(shù)據(jù)圖表模塊,溫控算法模塊根據(jù)目標(biāo)溫度和樣品溫度計(jì)算出設(shè)定溫度和PID輸出發(fā)送給通信模塊(模擬模塊)和圖表模塊,數(shù)據(jù)圖表模塊記錄并顯示各個(gè)關(guān)鍵數(shù)據(jù)的變化曲線。軟件流程如圖4所示,各模塊按照數(shù)據(jù)的傳遞順序依次工作并重復(fù)循環(huán)直到軟件停止。
圖4 軟件流程圖
硬件通信模塊的功能是完成工控機(jī)與溫控器和采集卡之間的數(shù)據(jù)通信,接收采集卡上傳的樣品溫度和溫控器上傳的加熱套溫度,并將這些數(shù)據(jù)發(fā)送給溫控算法模塊和數(shù)據(jù)圖表模塊。
超高溫高壓流變儀溫控系統(tǒng)中測(cè)量樣品溫度的溫度傳感器置于樣品杯中,由NI公司(美國國家儀器有限公司)的模擬量采集模塊進(jìn)行數(shù)據(jù)采集,LabVIEW開發(fā)環(huán)境為這種采集模塊搭配了專用的DAQ通信函數(shù)[3],只需設(shè)置傳感器類型和采樣模式即可自動(dòng)進(jìn)行數(shù)據(jù)采集。軟件中采用單次采樣模式,程序每循環(huán)一次DAQ讀取函數(shù)運(yùn)行一次,將采集到的電壓值轉(zhuǎn)換為溫度浮點(diǎn)數(shù)據(jù)。
溫控器通過RS485串口與工控機(jī)進(jìn)行通信,采用Modbus通信協(xié)議。軟件通過LabVIEW中的VISA 串口通信相關(guān)函數(shù)[4]完成串口通信的連接、寫入、讀取和斷開操作。測(cè)試人員在軟件界面上點(diǎn)擊連接按鈕時(shí),軟件建立與串口的連接,端口設(shè)置波特率為9600 bit/s、8位數(shù)據(jù)長(zhǎng)度、1位停止位、偶校驗(yàn)。連接建立后,在程序每循環(huán)一次時(shí)模塊將從串口讀取加熱套溫度并將設(shè)定溫度寫入串口。程序在寫入數(shù)據(jù)前計(jì)算數(shù)據(jù)的校驗(yàn)碼,圖5為程序使用的CRC16校驗(yàn)函數(shù),buf和length分別是通信數(shù)據(jù)的寄存數(shù)組和數(shù)組長(zhǎng)度,CRCLo和CRCHi分別是校驗(yàn)碼的低八位和高八位,數(shù)據(jù)將會(huì)和計(jì)算出的校驗(yàn)碼拼接后一同寫入串口。
圖5 CRC16校驗(yàn)函數(shù)
軟件模擬模塊是在脫機(jī)狀態(tài)下為軟件產(chǎn)生模擬數(shù)據(jù)的功能模塊。本模塊通過數(shù)學(xué)函數(shù)模擬加熱套和樣品的溫度變化:當(dāng)設(shè)定溫度高于加熱套溫度時(shí)模擬加熱套升溫,反之降溫;根據(jù)加熱套溫度與樣品溫度的差值調(diào)整樣品溫度變化。圖6為加熱套的溫度模擬函數(shù), ht0為上一次循環(huán)的加熱套溫度,ht1為本次循環(huán)的加熱套溫度。
圖6 加熱套溫度模擬函數(shù)
圖7 樣品溫度模擬函數(shù)
圖7為樣品溫度的溫度模擬函數(shù),其中st0為上一次循環(huán)的樣品溫度,ht為加熱套溫度,st1為本次循環(huán)的樣品溫度。
溫控算法模塊的功能是根據(jù)目標(biāo)溫度和樣品溫度計(jì)算出設(shè)定溫度,最終目的是使樣品溫度接近并穩(wěn)定到目標(biāo)溫度。表1列出了溫控算法模塊中使用的變量,其中樣品溫度是通信模塊或模擬模塊傳遞來的,設(shè)定溫度、PID輸出是溫控算法模塊的輸出,微調(diào)區(qū)間、加熱系數(shù)和PID參數(shù)是測(cè)試人員在軟件界面上輸入的,其中加熱系數(shù)和PID參數(shù)在快速區(qū)和微調(diào)區(qū)分別使用不同的設(shè)置。
表1 溫控算法模塊變量表
圖8為溫控算法模塊的程序框圖,模塊使用了NI公司提供的PID函數(shù)[5]來組成一個(gè)閉環(huán)控制系統(tǒng),PID函數(shù)的目標(biāo)值輸入為目標(biāo)溫度,測(cè)量值輸入為樣品溫度。進(jìn)行溫控測(cè)試時(shí),模塊先對(duì)樣品溫度和目標(biāo)溫度的差值進(jìn)行判斷,若大于微調(diào)區(qū)間則溫控處于快速調(diào)整區(qū),使用快速區(qū)的加熱系數(shù)和PID參數(shù),反之使用微調(diào)區(qū)的加熱系數(shù)和PID參數(shù)。設(shè)定溫度的計(jì)算公式如下:設(shè)定溫度=目標(biāo)溫度+ 0.01×PID輸出×加熱系數(shù)×目標(biāo)溫度。
圖8 溫控算法模塊程序框圖
數(shù)據(jù)圖表模塊以圖表形式記錄和顯示目標(biāo)溫度、設(shè)定溫度、加熱套溫度、樣品溫度和PID輸出五個(gè)數(shù)值的變化曲線,程序在每次循環(huán)時(shí)將這五個(gè)數(shù)值和時(shí)間數(shù)據(jù)捆綁成簇送入數(shù)據(jù)隊(duì)列,圖表控件將更新的數(shù)據(jù)隊(duì)列顯示為圖表。
圖9 溫控測(cè)試軟件界面
圖9為軟件操作界面,大致可分為三個(gè)區(qū)域:圖表區(qū)、狀態(tài)區(qū)和控制區(qū)。左側(cè)為圖表區(qū),圖表以xy圖形式顯示溫控測(cè)試中關(guān)鍵數(shù)據(jù)的變化曲線,圖例右邊的數(shù)字是與左邊變量相對(duì)應(yīng)的更新數(shù)值。在控制區(qū)中可對(duì)溫控測(cè)試中的各種參數(shù)以及圖表顯示設(shè)置進(jìn)行修改。狀態(tài)區(qū)中的指示燈以布爾值形式顯示儀器的工作狀態(tài),其中更新燈每亮一次表明數(shù)據(jù)進(jìn)行了一次更新。
圖10為在超高溫高壓流變儀上使用溫控測(cè)試軟件進(jìn)行兩次溫控測(cè)試得到的數(shù)據(jù)曲線圖。
圖10 溫控測(cè)試數(shù)據(jù)曲線圖
兩次測(cè)試均以水為樣品,起始溫度60℃,目標(biāo)溫度80℃,第一次實(shí)驗(yàn)的溫控參數(shù)為:快速區(qū)加熱系數(shù)1.7,P、I、D分別為60、2、0.5;微調(diào)加熱系數(shù)0.85,P、I、D分別為60、5、0。從曲線圖上可以看到,儀器將水從60℃加熱到80℃用時(shí)約15 min,加熱開始時(shí)設(shè)定溫度達(dá)到216℃,加熱套帶動(dòng)樣品溫度快速升高,當(dāng)樣品溫度達(dá)到78℃時(shí)加熱進(jìn)入微調(diào)區(qū),設(shè)定溫度立即降低以防止樣品溫度過沖太大,進(jìn)入微調(diào)區(qū)后,第一次測(cè)試的樣品溫度出現(xiàn)了較大波動(dòng),在第二次測(cè)試中將微調(diào)區(qū)的P、I、D分別改為50、10、0.5后觀察到樣品溫度波動(dòng)幅度降低,樣品溫度穩(wěn)定到目標(biāo)溫度的±0.3℃范圍以內(nèi)。
溫控測(cè)試中需要考察樣品溫度變化的兩個(gè)指標(biāo):一是樣品溫度向目標(biāo)溫度接近的速度,即系統(tǒng)的響應(yīng)速度;二是樣品溫度基本穩(wěn)定后與目標(biāo)溫度的接近程度,即系統(tǒng)的穩(wěn)態(tài)誤差。在實(shí)際測(cè)試中,這兩個(gè)指標(biāo)相互制約。根據(jù)PID控制原理,通過調(diào)整系統(tǒng)的PID參數(shù)可以在這兩個(gè)指標(biāo)間進(jìn)行取舍,例如增大積分參數(shù)I以降低響應(yīng)速度來換取較小的穩(wěn)態(tài)誤差,測(cè)試人員可以根據(jù)需求來調(diào)整參數(shù)使溫控系統(tǒng)達(dá)到理想的溫控效果。
LabVIEW平臺(tái)上使用圖形化編輯語言編譯程序,以數(shù)據(jù)流的形式描述程序執(zhí)行順序,特別適合用于開發(fā)測(cè)試儀器的上位機(jī)軟件。超高溫高壓流變儀溫控測(cè)試軟件充分利用了LabVIEW函數(shù)庫中的硬件通信、數(shù)據(jù)存儲(chǔ)、數(shù)學(xué)運(yùn)算以及輸入輸出控件,通過直觀的參數(shù)控制和數(shù)據(jù)分析界面簡(jiǎn)化了溫控系統(tǒng)的測(cè)試工作。實(shí)際測(cè)試表明,超高溫高壓流變儀溫控系統(tǒng)在參數(shù)設(shè)置合理的情況下可以表現(xiàn)出較好的溫控效果。