返回首頁(yè) | 收藏本站 | 網(wǎng)站地圖 | 聯(lián)系我們

回轉(zhuǎn)窯系統(tǒng)多線程同步控制技術(shù)

紅星回轉(zhuǎn)窯所選擇的監(jiān)控系統(tǒng)是一個(gè)多任務(wù)系統(tǒng),其多任務(wù)的基本單元是線程。線程是可由系統(tǒng)調(diào)度的最少代碼量,也是程序運(yùn)行的最基本單元。一個(gè)進(jìn)程可由多個(gè)線程組成,可以共享進(jìn)程的軟硬件資源而獨(dú)立運(yùn)行。系統(tǒng)高層程序?qū)pu時(shí)間劃分為許多小時(shí)間片,并按一定的優(yōu)先級(jí)把時(shí)間片分配給各個(gè)線程。各線程在各自的時(shí)間片內(nèi)使用cpu,從而 了微觀上輪流執(zhí)行工作任務(wù),宏觀上 并發(fā)運(yùn)行多任務(wù)的 。在通信程序中使用多線程,即創(chuàng)建專門的通信線程 對(duì)串口的訪問。會(huì)煮那要控制系統(tǒng)中的線程一旦被創(chuàng)建,將獨(dú)立于創(chuàng)建它的線程運(yùn)行形式。利用該機(jī)制原理,主線程能夠通過全局標(biāo)志 對(duì)通信線程的管理目的。

回轉(zhuǎn)窯

在回轉(zhuǎn)窯的監(jiān)控系統(tǒng)中,由于下位機(jī)不僅接收紅外測(cè)溫儀傳送的數(shù)據(jù),而且要根據(jù)上位機(jī)的要求發(fā)送所需的數(shù)據(jù),比如水泥回轉(zhuǎn)窯計(jì)算機(jī)自動(dòng)控制系統(tǒng)。由于下位機(jī)接收的通信請(qǐng)求往往是異步的、突發(fā)性的,而windows系統(tǒng)接收串口通信請(qǐng)求后,只是和通信緩沖區(qū)進(jìn)行數(shù)據(jù)交換,并不產(chǎn)生相應(yīng)消息通知用戶進(jìn)程。所以經(jīng)常造成對(duì)串口通信請(qǐng)求反映不及時(shí),使數(shù)據(jù)緩沖區(qū)發(fā)生溢出,這樣造成通信過程長(zhǎng)時(shí)間停滯和出錯(cuò),使得串行通信的不可靠。為了方便上下位機(jī)通信和提高系統(tǒng)的可靠性,在下位機(jī)建立兩個(gè)通信子線程,分別負(fù)責(zé)與上位機(jī)和紅外測(cè)溫儀的通信。

該系統(tǒng)通過引入多線程,充分利用了多任務(wù)的特點(diǎn),可以有效克服串口通信中的停滯和反應(yīng)不及時(shí)的缺點(diǎn),并可以大大提高程序運(yùn)行效率和可靠性。在實(shí)際運(yùn)行中,當(dāng)上位機(jī)要求發(fā)送數(shù)據(jù)和紅外測(cè)溫儀傳送數(shù)據(jù)同時(shí)發(fā)生時(shí),即兩個(gè)線程的同時(shí)要求執(zhí)行,經(jīng)常會(huì)發(fā)生對(duì)共享資源(如溫度數(shù)據(jù))的讀寫沖突。為了避免沖突,需要使這兩個(gè)線程同步。控制線程同步的方法有多種,如阻塞、互斥及信號(hào)量等。

在本系統(tǒng)中采用的是互斥方法:一個(gè)線程通過設(shè)置事件標(biāo)志通知其它線程。事件可以使用createvent函數(shù)來組建,線程和事件的關(guān)系主要表現(xiàn)在一下兩方面:有信號(hào)和無信號(hào)。當(dāng)某一線程被創(chuàng)建和正在運(yùn)行時(shí),該線程是無信號(hào)的,一旦線程終止,它就變成有信號(hào)的。線程通過使用seetveni、reseteveni函數(shù)來將事件置成有信號(hào)和無信號(hào),而其他線程通過調(diào)用waiftorsingelobjec函數(shù)等待事件的發(fā)生,這樣就 了線程之間的同步控制。

推薦產(chǎn)品
顎式破碎機(jī)
顎式破碎機(jī)

顎式破碎機(jī)是一種常見的破碎設(shè)備,...

移動(dòng)式破碎站
移動(dòng)式破碎站

移動(dòng)式破碎機(jī)又叫移動(dòng)式破碎站,主...

制砂機(jī)
制砂機(jī)

制砂(沙)機(jī)是一種具有國(guó)際先進(jìn)水...