PLC的SFC程序設(shè)計(jì)方法
PLC的SFC程序設(shè)計(jì)方法
PLC最初的出現(xiàn)是為了取代繼電器控制系統(tǒng),用軟元件的邏輯運(yùn)算來代替硬接線邏輯,以滿足工業(yè)產(chǎn)品型號(hào)規(guī)格的不斷變化及批量小、交貨期短的市場(chǎng)需求。因此旱期PLC的軟件功能比較簡(jiǎn)單,主要進(jìn)行“與"、“或"等基本的邏輯運(yùn)算。但隨著微電子技術(shù)和計(jì)算機(jī)技術(shù)的發(fā)展,現(xiàn)在市場(chǎng)上出售的PLC除保留基本邏輯 運(yùn)算。但隨著微電子技術(shù)和計(jì)算機(jī)技術(shù)的發(fā)展,現(xiàn)在市場(chǎng)上出售的PLC除保留基本邏輯指令以外,還有大量的用于數(shù)據(jù)處理等的功能指令;除了可以用基本的梯形圖編程以外,還可以用順序功能圖(SFC)和步進(jìn)梯形圖進(jìn)行編程;除了進(jìn)行順序邏輯控制以外,還可以進(jìn)行模擬量的運(yùn)算與控制。
一、基本邏輯指令編程的困難
用PLC的基本邏輯指令進(jìn)行編程,其基本的設(shè)計(jì)方法同繼電器-接觸器控制系統(tǒng)的設(shè)計(jì)方法是相似的,通常有經(jīng)驗(yàn)設(shè)計(jì)法和邏輯設(shè)計(jì)法兩種。經(jīng)驗(yàn)設(shè)計(jì)法自然與設(shè)計(jì)者的經(jīng)驗(yàn)有關(guān),要求設(shè)計(jì)者有豐富的設(shè)計(jì)經(jīng)驗(yàn)、熟悉比較多的控制線路等,盡管這樣,在聯(lián)鎖比較復(fù)雜的情況下,也難免出現(xiàn)設(shè)計(jì)漏洞,理論上不能保證設(shè)計(jì)的完備性。邏輯設(shè)計(jì)法比較復(fù)雜,一般設(shè)計(jì)人員難以掌握,雖然從理論上講是完備的,但實(shí)際在設(shè)計(jì)過程中同樣要滲進(jìn)不少經(jīng)驗(yàn)和人為的因素,尤其在工序步進(jìn)動(dòng)作比較復(fù)雜的情況下更是如此。
二、用步進(jìn)順控指令編程
步進(jìn)順控指令的出現(xiàn)解決了以上困難,可以用符合IEC標(biāo)準(zhǔn)的SFC(Sequential Function Chart,順序功能圖,或狀態(tài)轉(zhuǎn)移圖)對(duì)問題進(jìn)行描述和編程。用SFC進(jìn)行編程,不需對(duì)時(shí)刻變化的工序步進(jìn)動(dòng)作進(jìn)行設(shè)計(jì),工序之間的聯(lián)鎖或雙重輸出的處理SFC均能自動(dòng)進(jìn)行,只要對(duì)各個(gè)工序進(jìn)行簡(jiǎn)單的順序設(shè)計(jì)就能保證機(jī)械正確動(dòng)作;使用者也可容易理解全部動(dòng)作過程,能自動(dòng)執(zhí)行對(duì)各個(gè)工序的監(jiān)視,試運(yùn)行調(diào)整以及故障檢查非常方便,維修保養(yǎng)也容易。
PLC的SFC程序設(shè)計(jì)方法:
(1)用SFC進(jìn)行順序動(dòng)作的編程是SFC最基本的用途, 也是相對(duì)簡(jiǎn)單的,只需寫出機(jī)械動(dòng)作的工序圖,進(jìn)行狀態(tài)分配,然后根據(jù)轉(zhuǎn)移條件的順序、并行或選擇畫SFC圖,再將SFC改畫成梯形圖就可以了。
(2)SFC不只是可以用于對(duì)順序的機(jī)械動(dòng)作進(jìn)行編程,也可以用于一般的邏輯編程,尤其是在分支判斷比較復(fù)雜的情況下,采用SFC編程可使問題大大減化。例如在電梯控制中,假如電梯正在上行,要判斷下一層是否要停的流程,如圖1示,其中的邏輯判斷是比較復(fù)雜的,若采用基本邏輯 指令進(jìn)行編程,則程序很復(fù)雜,包含很多跳轉(zhuǎn),程序的閱讀、檢查都很費(fèi)勁,但若采用SFC編程則輕松多了,根據(jù)流程圖可直接 寫出圖2所示的具有選擇性分支的SFC流程。
在圖2中,在狀態(tài)S33中判斷下一站廂內(nèi)有無下梯的, 在狀態(tài)S22判斷下一站廂外有無呼上,S24判斷下一站廂外有無呼下,S26判斷以下各站有無呼梯,根據(jù)具體情況轉(zhuǎn)入相應(yīng)處理,可以進(jìn)一步很容易地寫出步進(jìn)梯形圖,很方便進(jìn)行調(diào)試與檢查。
(3)在控制邏輯比較復(fù)雜的情況下,有時(shí)用一個(gè)SFC流程很難進(jìn)行編程,這時(shí)可以在一個(gè)程序中使用多個(gè)獨(dú)立的SFC流程,還可進(jìn)行子程序調(diào)用等。例如圖3給電梯控制的梯形圖程序結(jié)構(gòu),圖中子程序P0完成信號(hào)的采集與顯示 :以S0為起始狀態(tài)的SFC流程進(jìn)行上下行判斷,判斷的結(jié)果存放在M500和M502中,上行M500接通,下行M502接通;S1開始的SFC流程進(jìn)行上 行處理;S2開始的SFC流程進(jìn)行下行處理。
(4)在具有多個(gè)獨(dú)立的SFC流程的程序中,一個(gè)SFC結(jié)束后可能返回本SFC的初始狀態(tài),也可能退出該SFC進(jìn)入別的流程。對(duì)于要返回本SFC初始狀態(tài)的情況則比較簡(jiǎn)單,當(dāng)最后一個(gè)狀 態(tài)結(jié)束后置位(輸出)其初始狀態(tài)即可;對(duì)于要退出該SFC的情況,只須在最后一個(gè)狀態(tài)結(jié)束后,清除該狀態(tài)。以電梯控制系統(tǒng)的上行處理為例,在上行過程中,若下一站需要停,且停后上行過程結(jié)束,則退出該SFC流程;若下一站需要停,但停后上行過程并未結(jié)束,則返回S1;若下一站不需要停,則電梯繼續(xù)上。SFC流程結(jié)束必須用RET指令返回主母線。