許多PLC的指令系統(tǒng)中都配備了步進(jìn)類指令,例如,歐姆龍PLC的步定義指令STEP和步啟動(dòng)指令SNXT;三菱PLC的步進(jìn)梯形指令STL和步進(jìn)復(fù)位指令RET;西門子PLC的順控繼電器指令SCR、順控繼電器轉(zhuǎn)換指令SCRT和順控繼電器結(jié)束指令SCRE,等等。所謂步進(jìn)順控設(shè)計(jì)法就是利用步進(jìn)類指令借鑒類似于順控圖法設(shè)計(jì)程序,由于使用了專用指令,所以該設(shè)計(jì)法更加容易掌握,可以方便、快捷地設(shè)計(jì)出復(fù)雜控制程序。下面以歐姆龍PLC為例簡(jiǎn)要介紹步進(jìn)順控設(shè)計(jì)法。
歐姆龍CJ1系列PLC的步進(jìn)類指令主要有步定義指令STEP和步啟動(dòng)指令SNXT,它們用于在大型程序中設(shè)置程序段的連接點(diǎn),特別適合于順序控制,一般是將大型程序劃分為一系列的程序段,每個(gè)程序段對(duì)應(yīng)一個(gè)工藝過程。用步指令可以按指定的順序去執(zhí)行各個(gè)步程序段。
1.步定義指令STEP與步啟動(dòng)指令SNXT使用方法
①步啟動(dòng)指令SNXT置于STEP指令之前,它的功能是將控制某一步程序段運(yùn)行的控制位置“1”,從而使該步程序段運(yùn)行。當(dāng)在SNXT之前已存在某一步程序時(shí),它會(huì)將當(dāng)前步程序的控制位置“0”,終止該步程序執(zhí)行,轉(zhuǎn)而置下一步程序的控制位為“1”,執(zhí)行下一步程序。其梯形圖符號(hào)如下:
操作數(shù)區(qū)域:W0.00~W511.15
注意:操作數(shù)不在W區(qū)或SNXT用于中斷程序中時(shí),錯(cuò)誤標(biāo)志位P_ER置位。
②步定義指令STEP置于SNXT指令之后而在步程序之前,它是定義某一步程序的起點(diǎn)并指定該步程序的控制位。當(dāng)它置于步程序結(jié)束的最后一個(gè)SNXT指令之后時(shí),表示這一系列步程序塊終止,此時(shí)STEP指令不帶任何控制位。其梯形圖符號(hào)如下:
操作數(shù)區(qū)域:W0.00--W511.15
注意:
· 數(shù)據(jù)不在W區(qū)或STEP用于中斷程序中時(shí),錯(cuò)誤標(biāo)志位P_ER置位。
· 當(dāng)STEP啟動(dòng)某一步程序段時(shí),單步啟動(dòng)標(biāo)志位A200.12置位一個(gè)掃描周期。A200.12
常被用做復(fù)位定時(shí)器、計(jì)數(shù)器或其他程序段。
每個(gè)步程序段必須由“SNXT B”指令開頭,且緊跟一條“STEP B”指令,其中控制位B相同。這兩條指令后面是該步程序段,由于SNXT和STEP指令不能置于子程序、中斷程序或塊程序段中,因此諸如IL、ILC、JMP、JME、CJP、CJPN、JMP0、JMEO、SBN、RET和END等指令均不能在步程序段中使用。
在一系列的步程序段都編寫完畢后,須再加一條“SNXT X”指令(該X位無特定意義,可用任何未被系統(tǒng)使用過的W區(qū)工作位號(hào)),并在其后緊跟一條不帶控制位的“STEP”指令,標(biāo)志著這一系列步程序段的結(jié)束。
CPU執(zhí)行到每個(gè)步程序段開頭的“SNXT B”指令時(shí),先復(fù)位前面程序使用過的定時(shí)器,并對(duì)前面程序使用過的數(shù)據(jù)區(qū)清零。“STEP B”則標(biāo)志著以B為開頭的程序段的開始。如果步指令所用過的位號(hào)在程序的其他地方調(diào)用過,則會(huì)產(chǎn)生重復(fù)錯(cuò)誤。步指令的使用示例見例5-4。
【例5-4】 步指令梯形圖及助記符示例如圖5-16所示。
圖5-16 步指令梯形圖及助記符示例
在圖5-16中,當(dāng)0.00為ON時(shí),執(zhí)行W0.00程序段;當(dāng)0.01為ON時(shí),執(zhí)行W0.01程序段,而被W0.00程序段使用過的數(shù)據(jù)區(qū)的狀態(tài)見表5-5。
表5-5 復(fù)位狀態(tài)表
由于CPU在執(zhí)行“STEP W0.00”指令時(shí),單步啟動(dòng)標(biāo)志位A200.12在一個(gè)掃描周期內(nèi)置“1”,可以利用此位來復(fù)位計(jì)數(shù)器,如圖5-17所示。
圖5-17 標(biāo)志位A200.12使用示例
2.步指令應(yīng)用實(shí)例
(1)順序控制實(shí)例
【例5-5】 某零件的裝配過程按上料、組裝和分檢三個(gè)工序順序?qū)嵤鐖D5-18所示。各工序由傳送帶旁的傳感器(SW1--SW4)發(fā)出信號(hào),驅(qū)動(dòng)對(duì)應(yīng)機(jī)構(gòu)動(dòng)作,機(jī)構(gòu)每完成一次操作都要回復(fù)原位,等待下一個(gè)信號(hào)。
圖5-18 順序裝配過程示意圖
分析此順序裝配過程并繪制順控圖,如圖5-19所示。梯形圖程序中使用了步指令,如圖5-20所示,每個(gè)不同的SNXT指令與步程序一一對(duì)應(yīng),而來自現(xiàn)場(chǎng)的傳感器信號(hào)將啟動(dòng)對(duì)應(yīng)的步程序。
圖5-19 裝配過程順控圖
圖5-20 步指令梯形圖示例
(2)選擇控制實(shí)例
【例5-6】 某產(chǎn)品按重量分選后打印標(biāo)簽,如圖5-21所示。產(chǎn)品經(jīng)稱重后按輕重分別被傳送帶A或B輸送,傳感器SW A1或SW B1感應(yīng)到產(chǎn)品后發(fā)出信號(hào)驅(qū)動(dòng)傳送帶A或B運(yùn)行,最終經(jīng)打印機(jī)打印標(biāo)簽。
圖5-21 分選過程示意圖
此選擇過程的順控圖如圖5-22所示。此選擇過程的控制梯形圖采用了兩個(gè)SNXT指令分別執(zhí)行工序A和B,如圖5-23所示,由于SNXT的執(zhí)行條件0.01( SW Al)和0.02( SW B1)互鎖,因此只能執(zhí)行工序A或B的其中之一。當(dāng)工序A或B執(zhí)行完畢時(shí),由另一個(gè)SNXT指令執(zhí)行工序C。
(3)并行控制
【例5-7】 某產(chǎn)品組裝過程如圖5-24所示,兩個(gè)部件要分別經(jīng)過工序A、B和工序C、D處理后才能在工序E組裝成產(chǎn)品,位置傳感器SW1--SW7指示各工序的工作狀態(tài)。
此并行組裝過程的順控圖如圖5-25所示,SW1和SW2同時(shí)啟動(dòng)A、C工序,A工序完成后運(yùn)行B工序,C工序完成后運(yùn)行D工序,當(dāng)B和D工序都完成時(shí)才能運(yùn)行E工序。梯形圖控制程序如圖5-26所示。
圖5-22 分選過程順控圖
圖5-23 選擇控制梯形圖示例
圖5-24 并行組裝過程示意圖
圖5-25 并行組裝過程順控圖
圖5-26 并行控制梯形圖示例
在圖5-26中,程序從啟動(dòng)過程A和過程C的兩條SNXT指令開始,它們從同一指令行分開,同時(shí)執(zhí)行,開始過程A和過程C的步。當(dāng)過程A和過程C都結(jié)束時(shí),過程B和過程D立即開始。當(dāng)過程B和過程D都結(jié)束時(shí)(即SW5和SW6都為ON時(shí)),在過程B的程序結(jié)束時(shí),過程B和過程D-起被SNXT指令復(fù)位。雖然在過程D結(jié)束時(shí)沒有SNXT,但它的控制位W0.03通過執(zhí)行“SNXT W0.04”指令而被復(fù)位,這是由于該步中的W0.03的輸出是由“SNXT W0.04”指令進(jìn)行復(fù)位的。即當(dāng)執(zhí)行“SNXT W0.04”指令時(shí),W0.03被復(fù)位,這樣過程B直接復(fù)位,而過程D則在過程E執(zhí)行前被間接復(fù)位。










