相關(guān)鏈接: 中國(guó)安全網(wǎng) 中國(guó)質(zhì)量網(wǎng) 中國(guó)論文網(wǎng) 中國(guó)資訊網(wǎng)
作者:張毅
在自動(dòng)化控制過(guò)程中,PLC由于具有可靠性高、運(yùn)行穩(wěn)定、功能齊全、并且程序編寫(xiě)相對(duì)簡(jiǎn)單等優(yōu)點(diǎn)而被廣泛應(yīng)用。本文在分析了生產(chǎn)需求和現(xiàn)場(chǎng)條件后,開(kāi)發(fā)了基于PLC的多工藝調(diào)度方法,降低了控制系統(tǒng)的成本,實(shí)現(xiàn)了較高程度的自動(dòng)化生產(chǎn)。
1 多工藝調(diào)度需求分析
1.1 現(xiàn)場(chǎng)設(shè)備及工藝簡(jiǎn)介
根據(jù)陽(yáng)極氧化工藝流程及對(duì)該企業(yè)產(chǎn)品的需求,現(xiàn)場(chǎng)生產(chǎn)設(shè)備共有28個(gè)槽位,1個(gè)掛件位,1個(gè)卸件位,共30個(gè)工位。在生產(chǎn)過(guò)程中,工件的移載是由兩個(gè)行車完成,行車上裝有吊鉤負(fù)責(zé)工件的起降運(yùn)動(dòng),行車的前后運(yùn)動(dòng)和吊鉤的升降運(yùn)動(dòng)分別由兩個(gè)電機(jī)拖動(dòng)。行車的行程范圍及現(xiàn)場(chǎng)槽位的布置如圖1所示。
由于產(chǎn)品的多樣性,該生產(chǎn)線可實(shí)現(xiàn)4套工藝:硬質(zhì)氧化1、硬質(zhì)氧化2、普通氧化和鉻酸氧化。各工藝所經(jīng)過(guò)的工位號(hào)各不相同,但是各工位所需處理時(shí)間確定,各工藝流程如表1所示。其中,括號(hào)前的數(shù)字代表工位號(hào),括號(hào)里的數(shù)字代表該工位的處理時(shí)間,單位為min。1#工位和30#工位是手工操作位,時(shí)間不計(jì)入自動(dòng)控制系統(tǒng)。
1.2 自動(dòng)控制系統(tǒng)硬件結(jié)構(gòu)
該自動(dòng)控制系統(tǒng)選用PLC作為現(xiàn)場(chǎng)控制設(shè)備,上位機(jī)作為中央控制系統(tǒng)實(shí)現(xiàn)工藝參數(shù)的輸入、數(shù)據(jù)采集和現(xiàn)場(chǎng)監(jiān)控。根據(jù)工藝參數(shù)的復(fù)雜性、行車的工藝流程、多工藝并行的要求,對(duì)PLC的現(xiàn)場(chǎng)控制設(shè)備采用PROFIBUS-DP通信建立主從站結(jié)構(gòu),PLC S7-300作為主站,兩個(gè)PLC S7- 200作為從站,分布于兩個(gè)行車上。
2調(diào)度方法設(shè)計(jì)
2.1 調(diào)度流程
多工藝調(diào)度是依靠PLC程序?qū)崿F(xiàn)的,調(diào)度流程可描述為:通過(guò)上位機(jī)選擇工藝并輸入工藝參數(shù),工藝開(kāi)始后,上位機(jī)將工藝指令下達(dá)給主站PLC S7-300,由主站PLC作出工藝調(diào)度運(yùn)算,再將指令下發(fā)到相應(yīng)的從站PLC S7-200.執(zhí)行工藝生產(chǎn)。
主站PLC的調(diào)度運(yùn)算包括現(xiàn)場(chǎng)資源搶占分析、多工藝指令存儲(chǔ)和調(diào)取等關(guān)鍵問(wèn)題。
2.2 資源搶占分析
依據(jù)陽(yáng)極氧化生產(chǎn)線的現(xiàn)場(chǎng)設(shè)備和工藝特點(diǎn),多工藝同時(shí)運(yùn)行時(shí)須確保各工藝相互不沖突。由于各工藝運(yùn)行時(shí)行車和處理槽為共用設(shè)備,因此在多工藝生產(chǎn)時(shí)將有可能出現(xiàn)公共資源搶占的問(wèn)題,如兩工藝同時(shí)調(diào)用同一個(gè)行車,或者兩工藝同時(shí)占用同一個(gè)工位,這必將造成工藝沖突,使生產(chǎn)無(wú)法正常進(jìn)行,這是多工藝調(diào)度所要解決的關(guān)鍵問(wèn)題。
為解決資源搶占問(wèn)題,需要在工藝開(kāi)始之前進(jìn)行資源搶占分析,做好預(yù)判,防止在多工藝運(yùn)行中發(fā)生沖突。
2.2.1 行車資源搶占分析
行車作為工件的移載工具,是整個(gè)系統(tǒng)中調(diào)用最為頻繁的,當(dāng)新指令下發(fā)后,需要行車將工件調(diào)往相應(yīng)的指令工位;工件開(kāi)始處理時(shí),行車閑置,此時(shí)其他工藝可以調(diào)用行車。為實(shí)現(xiàn)預(yù)判,將行車資源以時(shí)間軸上延拓展開(kāi)的方式進(jìn)行算法設(shè)計(jì),該算法設(shè)計(jì)包括時(shí)間軸的建立、時(shí)間軸的推移和時(shí)間軸與運(yùn)算。
(1)時(shí)間軸的建立。每個(gè)工藝都將調(diào)用兩個(gè)行車,而兩個(gè)行車的調(diào)用是相對(duì)獨(dú)立的,因此在進(jìn)行行車資源分析時(shí)需將這兩個(gè)行車分別分析,即要建立對(duì)應(yīng)行車1和行車2的兩條時(shí)間軸。時(shí)間軸是一條連續(xù)的資源占用時(shí)間節(jié)點(diǎn)軸,因此在PLC S7-300的位存儲(chǔ)區(qū)(M區(qū))開(kāi)辟了連續(xù)的存儲(chǔ)區(qū)域,各工藝時(shí)間軸存儲(chǔ)區(qū)域如表2所示。
時(shí)間軸采用了0和1變量用以區(qū)別行車的占用與閑置狀態(tài),設(shè)計(jì)方法如下:各工藝的時(shí)間單位均為min,行車每次調(diào)用時(shí)間為1min,那么在相應(yīng)的時(shí)間軸M區(qū)域內(nèi),以1個(gè)位代表1min,該位的狀態(tài)為1,則表示這1 min行車被占用;該位的狀態(tài)為O,則表示這1 min行車閑置。
時(shí)間軸的建立過(guò)程:當(dāng)上位機(jī)完成參數(shù)設(shè)定、選定工藝并開(kāi)始該工藝后,該工藝的參數(shù)將下發(fā)到主站PLC S7-300,自動(dòng)生成時(shí)間軸。以硬質(zhì)氧化1為例,當(dāng)參數(shù)下發(fā),以12#工位為界,12#工位前的時(shí)間參數(shù)建立行車1時(shí)間軸,12#工位后的時(shí)間參數(shù)建立行車2的時(shí)間軸。行車1的時(shí)間軸輸入是按11#工位至2#工位的順序,先把M300.O置l,再采用右移指令輸入,如11#工位時(shí)間為n,則時(shí)間軸向右移動(dòng)n+1位,移出的空位用O補(bǔ)充,再次將M300.0置1,以此循環(huán),直至將2#工位時(shí)間參數(shù)輸入。那么行車1的時(shí)間軸就為:
行車2的時(shí)間軸輸入順序是從29#工位到13#工位,前12個(gè)工位時(shí)間全部輸入為o。那么行車2的時(shí)間軸為:
(2)時(shí)間軸移動(dòng)。隨著該工藝的執(zhí)行,時(shí)間軸應(yīng)該跟隨實(shí)際情況動(dòng)態(tài)變化。以硬質(zhì)氧化1為例,當(dāng)行車1被調(diào)用時(shí),行車1和行車2時(shí)間軸即向左移動(dòng)一位,當(dāng)工件進(jìn)入指令工位后,在PLC程序中設(shè)置一個(gè)計(jì)時(shí)器,每過(guò)1 min,行車1和行車2時(shí)間軸向左移動(dòng)一位,移出的空位用O補(bǔ)充,當(dāng)工件進(jìn)入12#工位,行車1自動(dòng)回到掛件位,行車1的時(shí)間軸就全部為0。行車1調(diào)用時(shí),行車2時(shí)間軸的移動(dòng)過(guò)程與行車1-樣,行車2調(diào)用時(shí),行車l的時(shí)間軸已經(jīng)為0,不再左移,只有行車2時(shí)間軸移動(dòng)。該工藝執(zhí)行完成,行車1和行車2的時(shí)間軸均為0。
(3)時(shí)間軸與運(yùn)算。時(shí)間軸作為行車資源搶占分析是通過(guò)與運(yùn)算實(shí)現(xiàn)的,即當(dāng)新工藝開(kāi)始時(shí),如果已有工藝正在執(zhí)行,那么就將該工藝的時(shí)間軸與已在執(zhí)行工藝的時(shí)間軸逐位進(jìn)行與運(yùn)算,若結(jié)果全為0,則行車資源不沖突,可以開(kāi)始新工藝;若結(jié)果存在1,則行車資源沖突,不能開(kāi)始新工藝。
2.2.2工位資源搶占分析
工位的搶占情況即為兩個(gè)工藝需要使用該工位的時(shí)間有重疊部分,為解決這一問(wèn)題,則每個(gè)工位需要兩個(gè)整數(shù)型數(shù)據(jù)(4個(gè)字節(jié))記錄該工藝各工位占用的起止時(shí)間,為留有一定的裕度,在PLC S7-300 M區(qū)各工藝的時(shí)間節(jié)點(diǎn)存儲(chǔ)區(qū)域?yàn)椋河操|(zhì)氧化1,MW900~MW10 56;硬質(zhì)氧化2,MW1100~MW1256;普通氧化,MW1300~MW1456;鉻酸氧化,MW1500~MW1656。
以硬質(zhì)氧化1為例,各工藝工位起止時(shí)間存儲(chǔ)方式如下:2#工位為第一個(gè)自動(dòng)處理工位,處理時(shí)間為1min,則其開(kāi)始時(shí)間為0,存儲(chǔ)于MW900,結(jié)束時(shí)間為1,存儲(chǔ)于MW902;3#工位的處理時(shí)間為1min,則其起止時(shí)間為1和2,分別存儲(chǔ)于MW904和MW906;若該工位處理時(shí)間為O,則其起止時(shí)間都存為O,以此類推。與時(shí)間軸一樣,起止時(shí)間也是隨時(shí)間變化的,當(dāng)工件進(jìn)入某一工位開(kāi)始處理時(shí),每過(guò)1min,該工藝所有工位起止時(shí)間均減1,直至為O。
工位資源搶占分析就是用各工位起止時(shí)間作交集運(yùn)算實(shí)現(xiàn)的,當(dāng)新工藝開(kāi)始時(shí),若已有工藝正在執(zhí)行,就將各工位對(duì)應(yīng)起止時(shí)間求交運(yùn)算,若全為空集,則沒(méi)有工位沖突,可以開(kāi)始新工藝;若存在交集,則有工位沖突,不能開(kāi)始新工藝。
2.3 多工藝指令存儲(chǔ)和調(diào)取
2.3.1指令存儲(chǔ)
在上位機(jī)上設(shè)定指令參數(shù)并下載到主站PLC中,必須確保各工藝指令相互獨(dú)立,因此,應(yīng)用堆棧的數(shù)據(jù)結(jié)構(gòu)特性存儲(chǔ)多工藝指令。堆和棧是兩種數(shù)據(jù)結(jié)構(gòu),但都是數(shù)據(jù)項(xiàng)按序排列的數(shù)據(jù)結(jié)構(gòu)。在該運(yùn)算中所應(yīng)用的并非原本意義的堆棧,而只是堆棧按序排列的數(shù)據(jù)特性,即在PLC S7-300 M區(qū)開(kāi)辟連續(xù)的存儲(chǔ)區(qū)域按序存儲(chǔ)各工藝指令:硬質(zhì)氧化1,MW500~MW579;硬質(zhì)氧化2,MW600~MW679;普通氧化,MW700~MW779;鉻酸氧化,MW800~MW879。將各工藝從2#到29#工位時(shí)間參數(shù)指令按順序分別存儲(chǔ)于各自的存儲(chǔ)區(qū)域,該方式的優(yōu)點(diǎn)是各工藝指令互不影響并且各自連續(xù),在多工藝并行時(shí),既不會(huì)造成誤操作其他工藝指令,也保證了該工藝指令執(zhí)行的連續(xù)性,避免發(fā)生遺漏指令的錯(cuò)誤。
2.3.2指令調(diào)取
在多工藝并行時(shí),各工藝指令的調(diào)取也應(yīng)該相互獨(dú)立,當(dāng)滿足工藝指令調(diào)取條件時(shí),則調(diào)取該工藝相應(yīng)的指令,并記錄該指令位置,再次調(diào)取該工藝指令時(shí)能準(zhǔn)確調(diào)取下一指令,而其他工藝指令不被調(diào)取,保持記錄狀態(tài)。
在各工藝執(zhí)行程序中各設(shè)置一個(gè)指針變量,工藝開(kāi)始時(shí),指針變量指向該工藝初始指令地址,當(dāng)調(diào)取條件滿足時(shí),就把地址中的指令下發(fā),指針變量通過(guò)運(yùn)算,自動(dòng)指向下一指令地址,并保持記錄,直到該工藝調(diào)取指令條件再次滿足,以此循環(huán)。當(dāng)該工藝執(zhí)行完畢后,指針變量又重新指向初始指令。這個(gè)過(guò)程的PLC程序段如下:
3結(jié)束語(yǔ)
全面分析了生產(chǎn)系統(tǒng)的現(xiàn)有資源和生產(chǎn)需求情況,開(kāi)發(fā)了基于PLC的多工藝調(diào)度方法,降低了控制系統(tǒng)的成本,且實(shí)現(xiàn)了較高程度的自動(dòng)化生產(chǎn);谠撜{(diào)度方法的生產(chǎn)控制系統(tǒng)已投入使用,極大地提高了生產(chǎn)效率。
4摘要:為了提高生產(chǎn)效率,提出了基于PLC的多工藝調(diào)度實(shí)現(xiàn)方法。結(jié)合工藝參數(shù),建立各工藝時(shí)間軸模型用以調(diào)度分析,針對(duì)多工藝并行過(guò)程中指令復(fù)雜的問(wèn)題,在程序開(kāi)發(fā)過(guò)程中應(yīng)用了堆棧按序排列的數(shù)據(jù)結(jié)構(gòu)特性,有效地實(shí)現(xiàn)了指令的連續(xù)性,并應(yīng)用指針變量作為取指令的方式,解決了各工藝之間獨(dú)立性的問(wèn)題。應(yīng)用結(jié)果表明,該方法有效地解決了多工藝調(diào)度的問(wèn)題。