本文介紹了高精度液位變送器測(cè)試系統(tǒng)的系統(tǒng)結(jié)構(gòu)和軟件設(shè)計(jì),重點(diǎn)介紹了基于多線程的多串行通信協(xié)議的開(kāi)發(fā)和過(guò)程流程,實(shí)現(xiàn)了正確性
液位變送器
傳感器參數(shù)的大量采集,提高了生產(chǎn)效率,為液位變送器的軟件補(bǔ)償和標(biāo)定提供了可靠的保證,提高了液位變送器的精度和可靠性。 隨著微處理器在工業(yè)測(cè)量控制中的廣泛應(yīng)用和性價(jià)比的降低,出現(xiàn)了以微處理器為核心的高精度智能液位變送器,對(duì)液位變送器的生產(chǎn)檢測(cè)提出了更高的要求。 為了提高精度,軟件與硬件相結(jié)合的方法需要大量檢查液位變送器和傳感器的參數(shù),形成軟件補(bǔ)償表,判斷變送器、傳感器的精度是否滿足要求。 本文為了滿足這一需求,構(gòu)建了以工業(yè)控制計(jì)算機(jī)為中心的寄存器測(cè)試系統(tǒng)。 1 .系統(tǒng)構(gòu)成變送器測(cè)試系統(tǒng)整體的構(gòu)成圖,主要是dracker公司的DPI520系列標(biāo)準(zhǔn)液面水平發(fā)生器3臺(tái),吉時(shí)利公司的數(shù)字萬(wàn)用表2700系列1臺(tái),歐姆龍公司的可編程控制器( PLC)C2OO日1臺(tái),智能住宅1臺(tái),里 這些智能儀表帶有RS232通信端口,但由于通常的工業(yè)用控制計(jì)算機(jī)只有2個(gè)232通信端口,為了增加串行端口,采用了MOXA公司的C168日系列單拖存。
2 .系統(tǒng)的工作原理和功能測(cè)試系統(tǒng)整體的工作原理是,利用控制機(jī)的人機(jī)界面,設(shè)定要測(cè)量的發(fā)射器和傳感器群、液位大小的設(shè)定和溫度,將通過(guò)PLC選擇的發(fā)射器和傳感器按順序進(jìn)行測(cè)量即收集的內(nèi)容放入數(shù)據(jù)庫(kù),進(jìn)行適當(dāng)?shù)挠?jì)算 通常,為了在使用液位傳感器之前執(zhí)行溫度漂移補(bǔ)償和非線性校正,常規(guī)方法通過(guò)基于經(jīng)驗(yàn)值在一些溫度點(diǎn)處選擇用于補(bǔ)償?shù)碾娮杵鱽?lái)提高補(bǔ)償之后的精度。 為了在全溫度范圍內(nèi)獲得高精度補(bǔ)償效果,需要大量測(cè)量傳感器在各溫度下的參數(shù),通過(guò)公式計(jì)算補(bǔ)償電阻的大小,提高傳感器的精度和可靠性。 本測(cè)試系統(tǒng)的一個(gè)功能是一次測(cè)試64個(gè)傳感器,計(jì)算相應(yīng)的補(bǔ)償電阻值,同時(shí)計(jì)算傳感器的非線性、重現(xiàn)性、滯后性,得到其精度,判斷是否滿足要求。 隨著智能變送器的出現(xiàn),對(duì)變送器的溫度漂移補(bǔ)償和非線性校正方法也一直以來(lái),單純的模擬電路調(diào)節(jié)以軟件調(diào)節(jié)為中心。 軟件調(diào)節(jié)的主要原理是在生產(chǎn)振蕩器時(shí),計(jì)算振蕩器的溫度、標(biāo)準(zhǔn)水平上的輸出,形成補(bǔ)償參數(shù)并存儲(chǔ)在振蕩器的程序存儲(chǔ)器中,在生產(chǎn)現(xiàn)場(chǎng)實(shí)際應(yīng)用時(shí),程序根據(jù)現(xiàn)場(chǎng)的溫度和水平自動(dòng)調(diào)用補(bǔ)償參數(shù),完成補(bǔ)償過(guò)程。 系統(tǒng)的兩個(gè)功能是測(cè)試多個(gè)64個(gè)振蕩器,執(zhí)行相關(guān)處理以獲得補(bǔ)償參數(shù)。 使用本系統(tǒng),既能提高傳感器生產(chǎn)和檢測(cè)的生產(chǎn)效率,又能補(bǔ)償傳感器和變送器,大大提高其精度。 3、系統(tǒng)軟件設(shè)計(jì)選擇microsoft?visic ̄+6.0開(kāi)發(fā)軟件系統(tǒng),以便系統(tǒng)要求大量交互接口,設(shè)置和監(jiān)控大量參數(shù),操作系統(tǒng)在Windows2000中 系統(tǒng)的軟件設(shè)計(jì)主要包括人機(jī)界面設(shè)置、多串行通信和數(shù)據(jù)庫(kù)處理等。 人機(jī)接口的設(shè)置主要利用VC十+的控件進(jìn)行編程,數(shù)據(jù)庫(kù)部分主要是計(jì)算與數(shù)據(jù)存儲(chǔ)相對(duì)應(yīng)的參數(shù),比較簡(jiǎn)單,在此不作介紹。 在此著重介紹多串行通信的編程。 3.1封裝串行類visaicstory+的微軟基類( MFC )不能提供公共串行通信代碼,使用32位WindowsAPI函數(shù)操作串行很麻煩。 由于在系統(tǒng)內(nèi)的大量數(shù)據(jù)傳輸中采用串行端口,因此對(duì)串行端口的操作特別頻繁。 我們主要采用面向?qū)ο蟮脑O(shè)計(jì)方法,對(duì)VC6.O下常用串行操作實(shí)施串行系統(tǒng)CSerialP0rt相關(guān)屬性和方法,以提高串行操作的透明度,提高串行傳輸數(shù)據(jù)的可靠性,隱藏基本細(xì)節(jié),對(duì)串行操作進(jìn)行編程 您在串行端口. cpp源文件中定義了一系列函數(shù)以處理串行。 例如,初始化序列并設(shè)置序列屬性的InitP0r ( )函數(shù)。用于啟動(dòng)和停止線程的StartMonitoring ( )、RestartMonitoring ( )函數(shù)。用于讀取和寫入序列的reet 3.2通信協(xié)議的實(shí)現(xiàn)系統(tǒng)采用的
智能流量計(jì)
另外,因?yàn)橹圃焐淌褂玫膮f(xié)議不同,所以給軟件設(shè)計(jì)帶來(lái)了一定的困難。 采用面向?qū)ο蟮姆椒?,從所有智能儀表中提取共同的性質(zhì)(例如端口號(hào)、儀表號(hào)、下位設(shè)備地址、功能記述等),結(jié)合所概括的共同的性質(zhì)形成一個(gè)智能儀表基本類CC0mmen類,標(biāo)準(zhǔn)的儀表訪問(wèn)和數(shù)據(jù)訪問(wèn)接口 各智能儀表采用制造商提供的通信協(xié)議。 3.3實(shí)現(xiàn)多線程串行通信,要求控制臺(tái)與四個(gè)以上智能儀表通信,并長(zhǎng)期動(dòng)態(tài)穩(wěn)定運(yùn)行,是液位變送器檢測(cè)系統(tǒng)整體的中樞,因其可靠性、魯棒性要求高,整個(gè)數(shù)據(jù)采集的驅(qū)動(dòng)程序?qū)τ诟鞔凶x寫協(xié)調(diào)至關(guān)重要 在啟動(dòng)串行數(shù)據(jù)采集驅(qū)動(dòng)程序之前,根據(jù)實(shí)際計(jì)算機(jī)連接情況配置計(jì)算機(jī),設(shè)置并存儲(chǔ)各串行連接的計(jì)算機(jī)類型和個(gè)數(shù)、基本串行通信參數(shù)。 驅(qū)動(dòng)程序主線程的作用是負(fù)責(zé)交互式接口操作和各串行操作線程的啟動(dòng)和協(xié)調(diào),線程間的通信采用Windows的消息機(jī)制。
以上就是高精度液位變送器測(cè)量介紹文章的全部?jī)?nèi)容