專利名稱:波峰焊/回流焊專用plc實(shí)時(shí)多任務(wù)控制方法
技術(shù)領(lǐng)域:
本發(fā)明屬于可編程邏輯控制器(Programmable Logic Controller;PLC)技術(shù)領(lǐng)域,尤其是指一種在可編程邏輯控制器中實(shí)現(xiàn)波峰焊、回流焊工藝的實(shí)時(shí)多任務(wù)控制方法。
背景技術(shù):
作為離散控制的首選產(chǎn)品,可編程邏輯控制器(以下稱之為PLC)在二十世紀(jì)八十年代至九十年代得到了迅速發(fā)展,其以存儲(chǔ)執(zhí)行相關(guān)邏輯運(yùn)算、順序控制、定時(shí)、計(jì)數(shù)和運(yùn)算等操作的指令,并通過數(shù)字輸入和輸出操作而實(shí)現(xiàn)對(duì)各類機(jī)械或生產(chǎn)過程的控制。用戶根據(jù)生產(chǎn)過程的工藝要求編寫控制程序,并預(yù)先存入PLC的用戶存儲(chǔ)器中,運(yùn)行時(shí)按照所存入的控制程序的內(nèi)容逐條執(zhí)行,以完成生產(chǎn)工藝流程所要求的操作。PLC的CPU內(nèi)有指示程序步存儲(chǔ)地址的程序計(jì)數(shù)器,在程序運(yùn)行過程中,每執(zhí)行一步,程序計(jì)數(shù)器自動(dòng)加1,程序從起始步(步序號(hào)為零)起依次執(zhí)行到最終步(通常為END指令),然后再返回起始步循環(huán)運(yùn)算。PLC每完成一次循環(huán)操作所需的時(shí)間稱為一個(gè)掃描周期。現(xiàn)有的的波峰焊/回流焊專用PLC大多采用單任務(wù)的時(shí)鐘掃描或監(jiān)控程序來處理程序本身的邏輯運(yùn)算指令和外部的I/O通道的狀態(tài)采集與刷新,這種處理方式直接導(dǎo)致了PLC的“控制速度”依賴于應(yīng)用程序的大小,其無疑與I/O通道中高實(shí)時(shí)性的控制要求相違背。在波峰焊、回流焊控制系統(tǒng)中,對(duì)溫度曲線的控制精度要求很高,以單線程的PLC進(jìn)行控制就難以達(dá)到其對(duì)溫度曲線控制高精度的需求。
發(fā)明內(nèi)容本發(fā)明的目的在于提供一種波峰焊/回流焊專用PLC實(shí)時(shí)多任務(wù)控制方法,以提高波峰焊/回流焊專用PLC的控制效率和控制精度。
本發(fā)明的目的是這樣實(shí)現(xiàn)的一種波峰焊/回流焊專用PLC實(shí)時(shí)多任務(wù)控制方法,其將控制任務(wù)劃分為溫度曲線調(diào)節(jié)算法任務(wù)、通訊任務(wù)和邏輯控制任務(wù)三部分,其中,溫度曲線調(diào)節(jié)算法任務(wù)處理的是采集波峰焊/匯流焊工藝的現(xiàn)場(chǎng)溫度,并將采集到的現(xiàn)場(chǎng)溫度與溫度設(shè)定值進(jìn)行聯(lián)合計(jì)算,然后將計(jì)算結(jié)果輸出至相應(yīng)的輸出端口;通信任務(wù)處理的是和外部設(shè)備的通訊請(qǐng)求;邏輯控制任務(wù)處理的是波峰焊/回流焊工藝所需的處理程序,其控制方法包括有如下步驟(1)、系統(tǒng)初始化;(2)、創(chuàng)建邏輯控制任務(wù),并將其壓入就緒任務(wù)隊(duì)列;(3)、檢測(cè)系統(tǒng)的采樣定時(shí)器,如采樣定時(shí)器的時(shí)間大于或等于所預(yù)設(shè)的采樣時(shí)間,則創(chuàng)建溫度曲線調(diào)節(jié)算法任務(wù)并將其壓入就緒任務(wù)隊(duì)列,然后執(zhí)行步驟(4),如采樣定時(shí)器的時(shí)間小于所預(yù)設(shè)的采樣時(shí)間,則直接執(zhí)行步驟(4);(4)、檢查就緒任務(wù)隊(duì)列中是否有溫度曲線調(diào)節(jié)算法任務(wù),如有溫度曲線調(diào)節(jié)算法任務(wù),則繼續(xù)步驟(5),如沒有溫度曲線調(diào)節(jié)算法任務(wù),則繼續(xù)步驟(6);(5)、執(zhí)行該溫度曲線調(diào)節(jié)算法任務(wù),如在分配的系統(tǒng)時(shí)間片內(nèi)完成溫度曲線調(diào)節(jié)算法任務(wù),則復(fù)位系統(tǒng)的采樣定時(shí)器后返回步驟(3),如在分配的系統(tǒng)時(shí)間片內(nèi)未完成溫度曲線調(diào)節(jié)算法任務(wù),則掛起該溫度曲線調(diào)節(jié)算法任務(wù)后返回步驟(3);(6)、檢查就緒任務(wù)隊(duì)列中是否有通訊任務(wù),該通訊任務(wù)由外部設(shè)備發(fā)起的通訊請(qǐng)求而創(chuàng)建,通訊任務(wù)一旦創(chuàng)建,就會(huì)壓入就緒任務(wù)隊(duì)列,如有通訊任務(wù),則繼續(xù)步驟(7),如沒有通訊任務(wù),則執(zhí)行步驟(8);(7)、執(zhí)行該通訊任務(wù),如在分配的系統(tǒng)時(shí)間片內(nèi)完成通訊任務(wù),則直接返回步驟(3),如在分配的系統(tǒng)時(shí)間片內(nèi)未完成通訊任務(wù),則掛起該通訊任務(wù)后返回步驟(3);(8)、執(zhí)行邏輯控制任務(wù),如在分配的系統(tǒng)時(shí)間片內(nèi)完成邏輯控制任務(wù),則返回執(zhí)行步驟(2),如在分配的系統(tǒng)時(shí)間片內(nèi)未完成邏輯控制任務(wù),則掛起該邏輯控制任務(wù)后返回執(zhí)行步驟(3)。
相比于現(xiàn)有技術(shù),本發(fā)明的有益效果在于所涉及的波峰焊/回流焊專用PLC實(shí)時(shí)多任務(wù)控制方法克服現(xiàn)有技術(shù)中以單線程PLC來控制波峰焊/回流焊工藝所存在的實(shí)時(shí)性差、控制效率低和控制精度差的缺點(diǎn),采用并行多任務(wù)結(jié)構(gòu),可大大提高PLC在波峰焊/回流焊應(yīng)用中的控制效率與精度。
下面結(jié)合附圖及實(shí)施例對(duì)本發(fā)明做進(jìn)一步說明。
圖1是本發(fā)明波峰焊/回流焊專用PLC實(shí)時(shí)多任務(wù)控制方法的流程圖。
具體實(shí)施方式本發(fā)明所公開的波峰焊/回流焊專用PLC實(shí)時(shí)多任務(wù)控制方法在于克服現(xiàn)有技術(shù)中以單線程PLC來控制波峰焊/回流焊工藝所存在的實(shí)時(shí)性差、控制效率低和控制精度差的缺點(diǎn),以提高波峰焊/回流焊專用PLC的控制效率和控制精度。首先,根據(jù)波峰焊/回流焊工藝和控制的特點(diǎn)將PLC控制任務(wù)劃分為溫度曲線調(diào)節(jié)算法任務(wù)、通訊任務(wù)和邏輯控制任務(wù)三部分。溫度曲線調(diào)節(jié)算法任務(wù)處理的是采集波峰焊/匯流焊工藝的現(xiàn)場(chǎng)溫度,并將采集到的現(xiàn)場(chǎng)溫度與溫度設(shè)定值進(jìn)行聯(lián)合計(jì)算,然后將計(jì)算結(jié)果輸出至相應(yīng)的輸出端口,因溫度采集頻率直接決定溫度調(diào)節(jié)精度,所以將其定義為優(yōu)先級(jí)最高的任務(wù)。通信任務(wù)處理的是與諸如編程器、上位機(jī)、HMI、變頻器、智能儀表等外部設(shè)備的通訊請(qǐng)求,其由外部設(shè)備發(fā)起的通訊請(qǐng)求而創(chuàng)建,優(yōu)先級(jí)低于溫度曲線調(diào)節(jié)算法任務(wù)但高于邏輯控制任務(wù)。邏輯控制任務(wù)處理的是波峰焊/回流焊工藝所需的處理程序,實(shí)現(xiàn)傳輸、助焊劑涂敷、預(yù)熱、均熱、回流加熱、錫爐波峰、熱風(fēng)刀和冷卻等功能,因這些功能均為邏輯控制任務(wù),實(shí)時(shí)響應(yīng)要求較低,所以其優(yōu)先級(jí)為最低。
結(jié)合圖1所示,本發(fā)明的控制方法如下所述,系統(tǒng)初始化(步驟S10)后,首先創(chuàng)建邏輯控制任務(wù),并將其壓入就緒任務(wù)隊(duì)列(步驟S11)。檢測(cè)系統(tǒng)的采樣定時(shí)器,比較采樣定時(shí)器的時(shí)間與所預(yù)設(shè)的采樣時(shí)間(步驟S12),如采樣定時(shí)器的時(shí)間大于或等于所預(yù)設(shè)的采樣時(shí)間,則創(chuàng)建溫度曲線調(diào)節(jié)算法任務(wù)并將其壓入就緒任務(wù)隊(duì)列(S13),然后執(zhí)行以下步驟,如采樣定時(shí)器的時(shí)間小于所預(yù)設(shè)的采樣時(shí)間,則直接執(zhí)行以下步驟。檢查就緒任務(wù)隊(duì)列中是否有溫度曲線調(diào)節(jié)算法任務(wù)(步驟S14),如有溫度曲線調(diào)節(jié)算法任務(wù),則執(zhí)行該溫度曲線調(diào)節(jié)算法任務(wù)(步驟S15),再判定是否能在分配的系統(tǒng)時(shí)間片內(nèi)完成該溫度曲線調(diào)節(jié)算法任務(wù)(步驟S16),如在分配的系統(tǒng)時(shí)間片內(nèi)完成溫度曲線調(diào)節(jié)算法任務(wù),則復(fù)位系統(tǒng)的采樣定時(shí)器(步驟S17)后返回步驟S12,如在分配的系統(tǒng)時(shí)間片內(nèi)未完成溫度曲線調(diào)節(jié)算法任務(wù),則掛起該溫度曲線調(diào)節(jié)算法任務(wù)(S18)后返回步驟S12;如沒有溫度曲線調(diào)節(jié)算法任務(wù),則檢查就緒任務(wù)隊(duì)列中是否有通訊任務(wù)(步驟S19),通訊任務(wù)由外部設(shè)備發(fā)起的通訊請(qǐng)求而創(chuàng)建,通訊任務(wù)一旦創(chuàng)建,就會(huì)壓入就緒任務(wù)隊(duì)列,如有通訊任務(wù),則執(zhí)行該通訊任務(wù)(步驟S20),后判定該通訊任務(wù)能否在分配的系統(tǒng)時(shí)間片內(nèi)完成(步驟S21),如在分配的系統(tǒng)時(shí)間片內(nèi)完成通訊任務(wù),則直接返回步驟S12,如在分配的系統(tǒng)時(shí)間片內(nèi)未完成通訊任務(wù),則掛起該通訊任務(wù)(步驟S22)后返回步驟S12。在進(jìn)行步驟S19的過程中,如在就緒任務(wù)隊(duì)列中檢查沒有通訊任務(wù),則執(zhí)行邏輯控制任務(wù)(步驟S23)。判定該邏輯控制任務(wù)能否在分配的系統(tǒng)時(shí)間片內(nèi)完成(步驟S24)如在分配的系統(tǒng)時(shí)間片內(nèi)完成邏輯控制任務(wù),則返回執(zhí)行步驟S11,如在分配的系統(tǒng)時(shí)間片內(nèi)未完成邏輯控制任務(wù),則掛起該邏輯控制任務(wù)(步驟S25)后返回執(zhí)行步驟S12。
上述波峰焊/回流焊專用PLC實(shí)時(shí)多任務(wù)控制方法采用并行多任務(wù)結(jié)構(gòu),在波峰焊/回流焊的工藝控制中,可大大提高控制效率與控制精度。
權(quán)利要求
1.一種波峰焊/回流焊專用PLC實(shí)時(shí)多任務(wù)控制方法,其特征在于其將控制任務(wù)劃分為溫度曲線調(diào)節(jié)算法任務(wù)、通訊任務(wù)和邏輯控制任務(wù)三部分,其中,溫度曲線調(diào)節(jié)算法任務(wù)處理的是采集波峰焊/匯流焊工藝的現(xiàn)場(chǎng)溫度,并將采集到的現(xiàn)場(chǎng)溫度與溫度設(shè)定值進(jìn)行聯(lián)合計(jì)算,然后將計(jì)算結(jié)果輸出至相應(yīng)的輸出端口;通信任務(wù)處理的是和外部設(shè)備的通訊請(qǐng)求;邏輯控制任務(wù)處理的是波峰焊/回流焊工藝所需的處理程序,其控制方法包括有如下步驟(1)、系統(tǒng)初始化;(2)、創(chuàng)建邏輯控制任務(wù),并將其壓入就緒任務(wù)隊(duì)列;(3)、檢測(cè)系統(tǒng)的采樣定時(shí)器,如采樣定時(shí)器的時(shí)間大于或等于所預(yù)設(shè)的采樣時(shí)間,則創(chuàng)建溫度曲線調(diào)節(jié)算法任務(wù)并將其壓入就緒任務(wù)隊(duì)列,然后執(zhí)行步驟(4),如采樣定時(shí)器的時(shí)間小于所預(yù)設(shè)的采樣時(shí)間,則直接執(zhí)行步驟(4);(4)、檢查就緒任務(wù)隊(duì)列中是否有溫度曲線調(diào)節(jié)算法任務(wù),如有溫度曲線調(diào)節(jié)算法任務(wù),則繼續(xù)步驟(5),如沒有溫度曲線調(diào)節(jié)算法任務(wù),則繼續(xù)步驟(6);(5)、執(zhí)行該溫度曲線調(diào)節(jié)算法任務(wù),如在分配的系統(tǒng)時(shí)間片內(nèi)完成溫度曲線調(diào)節(jié)算法任務(wù),則復(fù)位系統(tǒng)的采樣定時(shí)器后返回步驟(3),如在分配的系統(tǒng)時(shí)間片內(nèi)未完成溫度曲線調(diào)節(jié)算法任務(wù),則掛起該溫度曲線調(diào)節(jié)算法任務(wù)后返回步驟(3);(6)、檢查就緒任務(wù)隊(duì)列中是否有通訊任務(wù),通訊任務(wù)由外部設(shè)備發(fā)起的通訊請(qǐng)求而創(chuàng)建,通訊任務(wù)一旦創(chuàng)建,就會(huì)壓入就緒任務(wù)隊(duì)列,如有通訊任務(wù),則繼續(xù)步驟(7),如沒有通訊任務(wù),則執(zhí)行步驟(8);(7)、執(zhí)行該通訊任務(wù),如在分配的系統(tǒng)時(shí)間片內(nèi)完成通訊任務(wù),則直接返回步驟(3),如在分配的系統(tǒng)時(shí)間片內(nèi)未完成通訊任務(wù),則掛起該通訊任務(wù)后返回步驟(3);(8)、執(zhí)行邏輯控制任務(wù),如在分配的系統(tǒng)時(shí)間片內(nèi)完成邏輯控制任務(wù),則返回執(zhí)行步驟(2),如在分配的系統(tǒng)時(shí)間片內(nèi)未完成邏輯控制任務(wù),則掛起該邏輯控制任務(wù)后返回執(zhí)行步驟(3)。
全文摘要
本發(fā)明公開一種波峰焊/回流焊專用PLC實(shí)時(shí)多任務(wù)控制方法,其根據(jù)波峰焊/回流焊的工藝和控制的特點(diǎn)而將PLC控制任務(wù)劃分為溫度曲線調(diào)節(jié)算法任務(wù)、通訊任務(wù)和邏輯控制任務(wù)三部分,根據(jù)所確定的溫度曲線調(diào)節(jié)算法任務(wù)、通訊任務(wù)和邏輯控制任務(wù)三者的執(zhí)行優(yōu)先級(jí)進(jìn)行控制。其可大幅度提高波峰焊/回流焊專用PLC的控制效率和控制精度。
文檔編號(hào)G05B19/05GK101082818SQ200610083028
公開日2007年12月5日 申請(qǐng)日期2006年5月29日 優(yōu)先權(quán)日2006年5月29日
發(fā)明者黃朝暉, 劉海濤, 祁巖, 王世偉 申請(qǐng)人:深圳市同辰智能控制系統(tǒng)有限公司