標(biāo)題: 三菱PLC基本功能指令使用 [打印本頁]

作者: 51黑plc    時間: 2016-3-11 01:52
標(biāo)題: 三菱PLC基本功能指令使用
 三菱PLC功能指令實際上就是功能各異的PLC子程序塊。FX2N系列PLC的功能指令有程序流程、傳送比較、四則邏輯運算、旋轉(zhuǎn)移位、數(shù)據(jù)處理、高速處理、方便指令、外部設(shè)備處理、浮點數(shù)、時鐘運算、接點比較等若干類。本節(jié)僅介紹三菱FX2N系列PLC常用的功能指令。
一、功能指令形式
1.功能指令格式
  功能指令用編號FNC00~FNC246表示,并給出對應(yīng)的語句名稱,每條功能指令都有一個指令表。例如FNC45是一條數(shù)據(jù)處理平均值功能的指令,助記符為MEAN,使用簡易編程器時輸入FNC45,而采用智能編程器或計算機編程時也可輸入助記符MEAN。圖1是一條取平均值功能指令的梯形圖。






  圖中MEAN是功能指令的語句名稱,也可使用FNC45(但不直觀);D0是源操作數(shù)的首元件;D4Z是指定計算結(jié)果存放的數(shù)據(jù)寄存器的地址;K3是指定取值的個數(shù)為3。顯然該功能指令的含義是D4Z =(D0+D1+D2)/3,即將(D0+D1+D2)/3的運算結(jié)果賦值給D4Z。
  功能指令的指令段通常占1個程序步,16位操作數(shù)占2步,32位操作數(shù)占4步。
2. 功能指令執(zhí)行方式
  功能指令有連續(xù)執(zhí)行和脈沖執(zhí)行兩種類型。圖2中第1支路的MOV是連續(xù)執(zhí)行型指令,即當(dāng)X001接通時,各運算周期都執(zhí)行一次,而第2支路的MOV(P)是脈沖執(zhí)行型型指令,(P)就表示當(dāng)X000由OFF轉(zhuǎn)換為ON時,僅執(zhí)行一次指令。






3.可處理數(shù)據(jù)長度
  功能指令可處理16位數(shù)據(jù),也可處理32位數(shù)據(jù),見圖3示例梯形圖。第1梯級中,當(dāng)X000接通,則移位MOV功能指令處理的數(shù)據(jù)為16位,即將D10 的內(nèi)容傳送至D12;而在第2梯級中,(D)MOV功能指令處理的數(shù)據(jù)為32位,將D21D20(由D21、D20構(gòu)成的32位數(shù)據(jù))的內(nèi)容傳送到 D23D22(由D23、D22組成的32位數(shù)據(jù)存儲單元)。






二、程序流程指令
1.條件跳轉(zhuǎn)指令
  當(dāng)執(zhí)行條件跳轉(zhuǎn)指令CJ指令時,跳過CJ指令和指針標(biāo)號之間的程序,見圖4。當(dāng)X30接通時,跳轉(zhuǎn)到P20處執(zhí)行該行及以后程序,如果X30不接通,則跳轉(zhuǎn)不執(zhí)行,程序按原順序執(zhí)行。指令可用的有效指針范圍為P0~P127。






  執(zhí)行跳轉(zhuǎn)指令CJ后,對于不被執(zhí)行的指令,即使輸入零件狀態(tài)發(fā)生改變,輸出元件的狀態(tài)也維持不變。
2.子程序調(diào)用指令





  子程序調(diào)用CALL指令的操作數(shù)為P0~P127,占用3個程序步。需與子程序返回指令SRET(無操作數(shù))配合使用,見圖5。
  若X0接通,則轉(zhuǎn)到標(biāo)號P10處去執(zhí)行子程序。當(dāng)執(zhí)行到子程序結(jié)束SRET指令時,返回到CALL指令的下一步執(zhí)行。使用子程序調(diào)用與返回指令時應(yīng)注意轉(zhuǎn)移標(biāo)號不能重復(fù),也不可與跳轉(zhuǎn)指令的標(biāo)號重復(fù)。子程序調(diào)用可以嵌套調(diào)用,最多可達(dá)5級嵌套。
  FEND是主程序結(jié)束指令,無操作數(shù),占用1個程序步。表示主程序結(jié)束,當(dāng)執(zhí)行到FEND時,PLC進行輸入/輸出處理,監(jiān)視定時器刷新,完成后返回起始步。

三、比較指令
1.CMP指令






    比較CMP指令有3個操作數(shù),其中是將2個源操作數(shù)相比較,將比較結(jié)果送到目標(biāo)操作數(shù)中,見圖6示例。當(dāng)X0接通時,比較K100和C10當(dāng)前值的大小,分三種情況分別接通M0、M1、M2中一個輔助繼電器,另二個輔助繼電器則不接通。若X0不接通,則CMP指令也不執(zhí)行。
2.ZCP指令
  區(qū)間比較ZCP指令是將1個源數(shù)據(jù)與2個源源數(shù)據(jù)相比較,比較結(jié)果將影響目標(biāo)存儲器的數(shù)據(jù)狀態(tài),見圖7。當(dāng)X0接通時,根據(jù)C30與K100、K120之間的比較結(jié)果,分別對M3、M4、M5進行賦值。






四、FX2N順控指令
  FX2N系列PLC有900個狀態(tài)元件可用于順序功能圖中,其中S0~S9為初始狀態(tài)器,存儲順序功能圖中的起始狀態(tài)數(shù)據(jù),S10~S19為回零狀態(tài)繼電器,S20~S899是普通狀態(tài)器。
FX2N系列PLC順控指令有步進觸頭STL指令和步進返回RET指令。其中STL指令用于步進觸頭的驅(qū)動,而RST指令則用于步進程序結(jié)束返回。

1.  單序列順控指令應(yīng)用
   圖8是運料小車的順控功能圖。該小車的一個工作周期由5步組成,分別對應(yīng)S0、S20~S23,其中步S0為初始步。
  圖9是運料小車單序列順控梯形圖,第1支路中當(dāng)初始化脈沖M8002的常開觸頭閉合時,由SET指令將初始步S0置為活動步。第2支路中當(dāng)SO的STL 觸頭和X3的常開觸頭同時接通時,由SET指令將S20置為活動步。進入第3支路后,當(dāng)Y1閉合,則置Y0輸出為ON并保持,若限位開關(guān)X1按下,由步 S20轉(zhuǎn)換至步S21的條件滿足,由SET指令將S21置為活動步。直至第6支路中當(dāng)S23被置為活動步,同時行程開關(guān)X2按下時,順控狀態(tài)將從S23轉(zhuǎn)換到S0,此處須用OUT指令輸出SO狀態(tài)步,以實現(xiàn)了循環(huán)操作。在一系列STL指令之后需用RET指令結(jié)束步進順控指令,使其重返左母線。












   梯形圖對應(yīng)的語句指令程序為:
          LD         M8002
          SET        S0                 //激活狀態(tài)步S0
          //狀態(tài)步S0的活動過程
          STL        SO
          LD         X3
          SET        S20
          //狀態(tài)步S20的活動過程
          STL        S20
          LDI        Y1
          OUT        Y0
          LD         X1
          SET        S21
          //狀態(tài)步S21的活動過程
          STL        S21
          LDI        Y0
          OUT        Y1
          LD         X2
          SET        S22
          //狀態(tài)步S22的活動過程
          STL        S22
          LDI        Y1
          OUT        Y0
          LD         X0
          SET        S23
          //狀態(tài)步S23的活動過程
          STL        S23
          LDI        Y0
          OUT        Y1
          LD         X2
          OUT        S0                  //用OUT指令返回初始狀態(tài)步S0
          RET                            //結(jié)束步進順控指令
          END

2.  選擇序列順控指令應(yīng)用
  圖10是選擇序列順控功能圖。該順序功能圖有三個分支流程順序,S20為分支狀態(tài),根據(jù)不同的條件X00、X10、X20選擇執(zhí)行其中的一個分支流程。當(dāng)X00為ON時執(zhí)行第一分支流程,X10為ON時執(zhí)行第二分支流程,X20為ON時執(zhí)行第三分支流程。但X00、X10、X20中任二個或三個不能同時為ON。







  圖11是該選擇序列順控梯形圖。梯形圖中先對分支狀態(tài)S20執(zhí)行驅(qū)動處理OUT Y00,然后再按S21、S31、S41的順序進行轉(zhuǎn)移處理。而匯合狀態(tài)為S50,匯合前先進行Y22、Y32、Y42的輸出處理,然后再分別從第一分支的S22、第二分支的S32、第三分支的S42向匯合狀態(tài)S50轉(zhuǎn)移。






  梯形圖對應(yīng)的語句指令程序為:
          STL        S20
          OUT        Y00          //驅(qū)動處理
          LD         X00
          SET        S21          //轉(zhuǎn)移到第一分支狀態(tài)
          LD         X10
          SET        S31          //轉(zhuǎn)移到第二分支狀態(tài)
          LD         X20
          SET        S41          //轉(zhuǎn)移到第三分支狀態(tài)
          //第一分支匯合前的輸出處理
          STL        S21
          OUT        Y01
          LD         X01
          SET        S22
          STL        S22
          OUT        Y02
          //第二分支匯合前的輸出處理
          STL        S31
          OUT        Y11
          LD         X11
          SET        S32
          STL        S32
          OUT        Y12
          //第三分支匯合前的輸出處理
          STL        S41
          OUT        Y21
          LD         X21
          SET        S42
          STL        S42
          OUT        Y22
          //第一分支向S50轉(zhuǎn)移
          STL        S22
          LD         X02
          SET        S50
          //第二分支向S50轉(zhuǎn)移
          STL        S32
          LD         X12
          SET        S50
          //第三分支向S50轉(zhuǎn)移
          STL        S42
          LD         X22
          SET        S50

3 . 并行序列順控指令應(yīng)用
   圖12是并行序列順控功能圖。圖中當(dāng)X00接通時,狀態(tài)S20同時轉(zhuǎn)移,使S21、S31、S41同時為ON。只有在S22、S32、S42三個狀態(tài)全部運行結(jié)束,且X02接通,才能使S50為ON,并使S22、S32、S42同時復(fù)位為OFF。
  圖13是并行序列順控梯形圖。圖中先對分支狀態(tài)S20進行驅(qū)動處理,即OUT  Y00,然后按分支順序進行狀態(tài)轉(zhuǎn)移。若分支狀態(tài)S20為ON,且并行處理條件X00也為ON,則S21、S31、S41同時動作,三條分支同時開始運動。










  S50為匯合狀態(tài),匯合前先進行匯合前的狀態(tài)驅(qū)動處理,即按分支順序?qū)21、S22、S31、S32、S41、S42進行輸出處理。三個分支流程全部執(zhí)行完成后,且X02為ON,則執(zhí)行從S22、S32、S42到S50的轉(zhuǎn)移,使S50為ON。S22、S32、S42同時復(fù)位。
  該梯形圖對應(yīng)的語句指令程序為:
           STL        S20
           OUT        Y00
           LD         X00           //并行轉(zhuǎn)移條件
           //轉(zhuǎn)移處理
           SET        S21           //向第一分支轉(zhuǎn)移
           SET        S31           //向第二分支轉(zhuǎn)移
           SET        S41           //向第三分支轉(zhuǎn)移
           //第一分支輸出程序
           STL        S21
           OUT        Y01
           LD         X01
           SET        S22
           STL        S22
           OUT        Y02
           //第二分支輸出程序
           STL        S31
           OUT        Y11
           LD         X11
           SET        S32
           STL        S32
           OUT        Y12
           //第三分支輸出程序
           STL        S41
           OUT        Y21
           LD         X21
           SET        S42
           STL        S42
           OUT        Y22
           //按順序進行各分支向匯合狀態(tài)S50轉(zhuǎn)移
           STL        S22
           STL        S32
           STL        S42
           LD         X02
           SET        S50









歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1