PLC教學課件9PLC功能指令_第1頁
PLC教學課件9PLC功能指令_第2頁
PLC教學課件9PLC功能指令_第3頁
PLC教學課件9PLC功能指令_第4頁
PLC教學課件9PLC功能指令_第5頁
已閱讀5頁,還剩44頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第九章 功能指令 第一節 功能指令的基本知識第二節 程序流控制(FNC00FNC09)第三節 傳送和比較指令(FNC10FNC19)第四節 算術和邏輯運算指令(FNC20FNC29)第五節 循環移位指令(FNC30FNC39)第六節 數據處理指令(FNC40FNC49)第七節 高速處理指令(FNC50FNC59)第1頁,共49頁。第一節 功能指令的基本知識一、基本格式梯形圖格式X0MOVD0D10K3DSn指令表格式步序 操作碼 操作數 0 LD X0 1 MOV D0 D10 K3 8 。 第2頁,共49頁。一、基本格式操作碼與操作數操作碼(指令助記符):表示指令的功能操作數:指明參與操作的

2、對象源操作數S:執行指令后收據不變的操作數,兩個或 兩個以上時為S1、S2。目標操作數D:執行指令后收據被刷新的操作數,兩 個或兩個以上時為D1、D2。其它操作數m、n:補充注釋的常數,用K(十進制) 和H(十六進制)表示,兩個或 兩個以上時為m1、m2、n1、n2。第3頁,共49頁。軟元件位軟元件:只處理開關(ON/OFF)信息的元件,如X、Y、M、D、S字軟元件:處理數據的元件,如D。位軟元件的組合位軟元件組合表示數據:4個位元件一組,代表4位BCD碼,也表示1位十進制數;用KnMm表示,K為十進制,n為十進制位數,也是位元件的組數,M為位元件,m為位元件的首地址,一般用0結尾的元件。二、

3、軟元件第4頁,共49頁。數據長度16位:參與運算的數據默認為16位二進制數據32位:32位數據時在操作碼前面加D(Double三、數據長度及執行方式X0MOVD0D1X1DMOVD2D4(D0)(D1)(D3D2)(D5D4)第5頁,共49頁。執行方式連續執行方式:每個掃描周期都重復執行一次脈沖執行方式:只在信號OFFON時執行一次,在指令后加P(Pulse)。X0MOVD0D1X1MOVPD2D4三、數據長度及執行方式第6頁,共49頁。變址:改變操作數的地址變址寄存器的作用:存放改變地址的數據實際地址=當前地址+變址數據32位運算時V和Z組合使用,V為高16位,Z為低16位。X0MOVK8V

4、X1MOVK4ZMOVD0VD10ZX2V=(8)Z=(4)(D8)(D14)四、變址寄存器V、Z第7頁,共49頁。五、常用特殊輔助繼電器功能指令執行結果的標志M8020:零標志M8021:借位標志M8022:進位標志M8029:執行完畢標志M8064:參數出錯標志M8065:語法出錯標志M8066:電路出錯標志M8067:運算出錯標志第8頁,共49頁。第二節 程序流控制一、條件跳轉指令 FNC00 CJ二、子程序指令 FNC 01 CALL FNC 02 SRET三、中斷指令 FNC 03 IRET FNC 04 EI FNC 05 DI四、主程序結束指令 FNC 06 FEND 五、警戒時

5、鐘定時器指令 FNC 07 WDT六、循環指令 FNC 08 FOX FNC 09 NEXT第9頁,共49頁。一、條件跳轉指令 FNC00 CJ操作數:指針 P0P63梯形圖X10X11Y1X12P0CJP0CJP0指令表步序 操作碼 操作數 0 LD X10 1 CJ P0 。 10 LD X11 11 CJ P0 。 20 P0 21 LD X12 22 OUT Y1 第10頁,共49頁。說明CJ指令跳過部分程序,可以縮短程序的運算周期。如果積算型定時器和計數器的RST指令在跳轉程序之內,即使跳轉程序生效,RST指令仍然有效。該指令可以連續和脈沖執行方式。被跳過去的程序中各元件的狀態為Y、

6、M、S保持跳轉前狀態不變。普通計數器停止計數并保持當前值,高速計數器繼續計數。未工作的定時器不動作,已動作的定時器保持當前值。T192T199跳轉時仍然計時。一、比較指令 FNC10 CMP第11頁,共49頁。二、子程序指令子程序調用 FNC01 CALL 操作數:指針P0P62 子程序返回 FND02 SRET 無操作數說明子程序應該在主程序結束之后編程。CJ指令的指針與CALL的指針不能重復。主程序允許嵌套,嵌套級別最多為5級。子程序只能用T192T199和T246T249作定時器。第12頁,共49頁。梯形圖 X1FENDSRETP8CALLP8Y1X12Y21X11Y30主程序子程序二、

7、子程序指令第13頁,共49頁。三、中斷指令中斷返回 FNC03 IRET 開中斷 FNC04 EI 關中斷 FNC05 DI均無操作數梯形圖開中斷范圍X0I100X10FENDIRETEIDIIRETI101中斷子程序2中斷子程序1第14頁,共49頁。說明在執行某個中斷子程序時,禁止其它中斷請求。中斷程序允許嵌套,嵌套級別為2級。中斷指針共有15個:輸入中斷6個,定時器中斷3個,計數器中斷6個。中斷程序用T192T199和T246T249作定時器。中斷的優先級別多個中斷信號不同時產生時,按先后順序中斷。多個中斷信號同時產生時,按指針大小中斷。三、中斷指令第15頁,共49頁。無操作數梯形圖X1F

8、ENDSRETP8CALLP8Y1X12Y21X11Y30主程序子程序四、主程序結束指令 FNC06 FEND第16頁,共49頁。說明與END指令的功能一樣,執行到該指令時程序返回到0步。中斷服務子程序和子程序應該寫在FEND之后,并且用IRET和SRET返回。如果多次使用FEND指令,在最后的FEND和END之間編寫子程序或中斷子程序四、主程序結束指令 FNC06 FEND第17頁,共49頁。無操作數警戒定時器是一個專用定時器,其設定值存放在特殊的數據寄存器D8000中,并以ms為計時單位。當PLC一上電,則對警戒定時器進行初始化,將K100(設定值為100ms)裝入D8000中,每個掃描周

9、期結束時,馬上刷新警戒定時器的當前值,使PLC能正常運行。當掃描周期大于100ms時,即超過了警戒定時器的設定值,警戒定時器的邏輯線圈被接通,CPU立即停止執行用戶程序,同時切斷全部輸出,并且報警顯示。五、警戒定時器指令 FNC07 WDT第18頁,共49頁。如果正常的掃描周期超過警戒時鐘的設定值,可以在適當程序步中加入WDT指令,適時刷新警戒時鐘,使程序能順利執行。也可以通過MOV指令修改警戒定時器的設定值(D8000的值)。可以計算出程序掃描周期的最大值作為警戒時鐘的設定值。WDT指令可用在FOR-NEXT之間。五、警戒定時器指令 FNC07 WDT第19頁,共49頁。循環開始 FNC08

10、 FOR 操作數S: K,H、KnX、KnY、KnM、KnS、T、C、D、V,Z循環結束 FNC09 NEXT 無操作數說明n為循環次數,其范圍為132767有效。如果指定為-327680,則作n=1處理。循環指令最多可以嵌套5級。程序中FOR-NEXT是成對出現的,FOR在前,NEXT在后不可倒置,否則出錯。編程時NEXT應該在FEND或END之前,否則出錯。六、循環指令第20頁,共49頁。第三節 傳送和比較指令一、比較指令 FNC10 CMP二、區間比較指令 FNC 11 ZCP三、傳送指令 FNC 12 MOV四、移位傳送指令 FNC 13 SMOV五、取反傳送指令 FNC 14 CML

11、六、塊傳送指令 FNC 15 BMOV七、多點傳送指令 FNC 16 FMOV 八、數據交換指令 FNC 17 XCH九、變換指令 FNC 18 BCD FNC 19 BIN第21頁,共49頁。操作數S1、S1 : K,H、KnX、KnY、KnM、KnS、T、C、D、 V,ZD:Y、M、S梯形圖S1K100C10的當前值時,M2 = ONM0M1M2X0S2DCMP K100 C10 M0一、比較指令 FNC10 CMP第22頁,共49頁。說明該指令是將源操作數S1和S2的中數據進行比較,結果送目標操作數D中去。D由3個元件組成,指令中D給出首地址,其它兩個為后面的相鄰元件。當X0由ONOFF

12、時,不執行CMP指令,M0M2保持斷開前的狀態,用復位指令RST才能清除比較結果。CMP是進行二進制代數比較。可以32位二進制數比較和脈沖執行方式。如果指令中指定的操作數不全、元件超出范圍、軟元件地址不對時,程序出錯。一、比較指令 FNC10 CMP第23頁,共49頁。操作數S1、S1 : K,H、KnX、KnY、KnM、KnS、T、C、D、 V,ZD:Y、M、S梯形圖K100 C10的當前值 C10的當前值時,M0 = ONK120 C10的當前值時,M2 = ONM0M1M2X0S2DZCP K100 K120 C10 M0S二、區間比較指令 FNC11 ZCP第24頁,共49頁。說明ZC

13、P指令是將源操作數S的數據和兩個源操作數S1和S2的數據進行比較,結果送到D中,D為三個相鄰元件的首地址。ZCP指令為二進制代數比較,并且S1S2,如果S1S2,則把S1視為S2處理。當X0由ONOFF時,不執行ZCP指令,比較結果保持不變,需要用復位指令才能清除。該指令可以進行16/32位數據處理和連續/脈沖執行方式。二、區間比較指令 FNC11 ZCP第25頁,共49頁。操作數S1、S1 : K,H、KnX、KnY、KnM、KnS、T、C、D、 V,ZD:KnY、KnM、KnS、T、C、D、V,Z 梯形圖X0MOVK100D10K100(D10)三、傳送指令 FNC12 MOV第26頁,共

14、49頁。說明該指令將源操作數S中的數據傳送到目標操作數D中去。MOV指令可以進行(D)和(P)操作。如果S為十進制常數,執行該指令時自動轉換成二進制數后進行數據傳送。當X0斷開時,不執行MOV指令,數據保持不變。三、傳送指令 FNC12 MOV第27頁,共49頁。操作數S1、S1 :K,H、KnX、KnY、KnM、KnS、T、C、D、 V,ZD:KnY、KnM、KnS、T、C、D、V,Zm1、m2、n:K、H 說明該指令將源操作數S的16位二進制數自動轉換成4位BCD碼,然后從右向左第m1位開始向右數m2位,傳送到目標操作數(4位BCD碼)的從右向左第n位開始向右數m2位的位置上,最后這4位B

15、CD碼自動轉換成二進制數后送入目標操作數D中去。傳送中BCD碼數值超過9999時程序出錯。四、移位傳送指令 FNC13 SMOV第28頁,共49頁。梯形圖SX0m1Dm2SMOV D1 K4 K2 D2 K3n310010110210310010110210D1D2b15b15b0b0自動轉換自動轉換4位BCD碼4位BCD碼保持保持D1D2二進制二進制從D1右起第四位(m1 = K4)開始的2位 (m2 = K2) 數,移到D2 的右起第 3位 (n = K3) 和第 2位, D2中的第 1 位和第 4位保持不變 , 最后 D2 中的數自動變成二進制數 .四、移位傳送指令 FNC13 SMOV

16、第29頁,共49頁。操作數S:K,H、KnX、KnY、KnM、KnS、T、C、D、V,ZD:KnY、KnM、KnS、T、C、D、V,Z 說明該指令把源操作數S中的數據各位取反(10,01)后傳送到目標操作數D中去。該指令可以16/32位數據處理和連續/脈沖執行方式五、取反傳送指令 FNC14 CML第30頁,共49頁。梯形圖CML D0 K1Y0X0DS1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0符號位取反傳送保持不變Y0Y3(D0) (K1Y0)若源操作數中的數為十進制常數時,將自動轉換成二進制 .五、取反傳送指令 FNC14 CML第31頁,共49頁。操作

17、數 S:K,H、KnX、KnY、KnM、KnS、T、C、D、V,Z D:KnY、KnM、KnS、T、C、D、V,Z n:K、H 梯形圖SX0DnBMOV D5 D10 K3D7D6D5D12D11D10六、塊傳送指令 FNC15 BMOV第32頁,共49頁。說明S為存放被傳送的數據塊的首地址;D為存放傳送來的數據塊的首地址;n為數據塊的長度。位元件進行傳送時,源和目標操作數要有相同的位數。當傳送地址號重疊時,為防止在傳送過程中數據丟失(被覆蓋),要先把重疊地址號中的內容送出,然后再送入數據。如圖所示,采用的順序自動傳送。該指令可以連續/脈沖執行方式。六、塊傳送指令 FNC15 BMOV第33頁

18、,共49頁。X0BMOV K1M0 K1Y0 K2n = K2M2M1M0M3Y2Y1Y0Y3M6M5M4M7Y6Y5Y4Y7D12D11D10D11D10D9D12D11D10D13D12D11X1BMOV D10 D9 K3X2BMOV D10 D11 K3六、塊傳送指令 FNC15 BMOV第34頁,共49頁。操作數 S:K,H、KnX、KnY、KnM、KnS、T、C、D、V,Z D:KnY、KnM、KnS、T、C、D n: K、H 梯形圖SX0DnBMOV K10 D0 K10把K10傳送到D0D9中去七、多點傳送指令 FNC16 FMOV第35頁,共49頁。操作數 D1、D2:KnY

19、、KnM、KnS、T、C、D、V,Z梯形圖D1X0XCH(P) D0 D1 D2(D0) (D1)八、數據交換指令 FNC17 XCH注意 交換指令一般要在脈沖方式執行,否則不能正常工作。第36頁,共49頁。操作數 S:KnX、KnY、KnM、KnS、T、C、D、V,Z D:KnY、KnM、KnS、T、C、D、V,Z梯形圖SX0BCD D10 K2Y0 DSX1BIN K2Y0 D14D九、變換指令 FNC18 BCD FNC19 BIN第37頁,共49頁。第四節 算術與邏輯運算指令一、二進制加減運算指令 加法 FNC20 ADD 減法 FNC21 SUB操作數S1、S2:K、H、KnX、Kn

20、Y、KnM、KnS、T、C、D、V,Z D:KnY、KnM、KnS、T、C、D、V,Z梯形圖S1X0ADD D0 D2 D4 DS1X1DSUB D10 D12 D14DS2S2(D0)+(D2) (D4)(D11D10)(D13D12) (1D5D14)第38頁,共49頁。說明指令是代數加減運算,數據的最高位為符號位。進行16位加減運算時,數據范圍為3276832767;32位運算時,數據范圍為21474836482147483647。運算結果為0時,零標志置位(M8020=1);運算結果大于32767(或2147483647)時,進位標志置位(M8022=1);運算結果小于32768(或2

21、147483648)時,借位標志置位(M8021=1)。該指令可以進行連續/脈沖執行方式。一、二進制加減運算指令第39頁,共49頁。 乘法 FNC22 MUL 減法 FNC23 DIV操作數S1、S2:K、H、KnX、KnY、KnM、KnS、T、C、D、V,Z D:KnY、KnM、KnS、T、C、D、V,Z梯形圖S1X0MUL D0 D2 D4 DS1X1DDIV D10 D12 D14DS2S2(D0)(D2) (D5D4)被乘數 乘數 積(D11D10)(D13D12) (1D5D14)(D17D16)被除數 除數 商 余數二、二進制乘除運算指令第40頁,共49頁。操作數指令進行二進制運算

22、,數據最高位為符號位。可以進行16/32位乘除運算,16位運算時,積為32位數據,商和余數為16位數據;32位運算時,積為64位數據,商和余數為32位數據。0作除數時程序出錯。被除數和除數中有一個為負數時,商為負數;被除數為負數時,余數也為負數。位元件作為32位乘法運算的目標元件時,只能得到積的低32位數據。可以進行連續/脈沖執行方式。二、二進制乘除運算指令第41頁,共49頁。 加1 FNC24 INC 減1 FNC25 DEC操作數D:KnY、KnM、KnS、T、C、D、V,Z梯形圖X0 INC(P) D10DX1DEC(P) D12 D(D10)+1 (D10)(D12)1 (D12)三、二進制加1減1指令第42頁,共49頁。說明上述指令可以連續/脈沖執行方式,應用中要特別注意。可以進行16/32位運算,并且為二進制運算。如果從+32767(或+2147483647)再加1,則變成-32768(或-2147483648);如果從-32768(或-2147483648)再減1,則變成+32767(或+2147483647),為循環計數。以上變化時標志位不動作,也就是說這兩條指令和零標志、借位標志、進位標志無關。三、二進制加1減1指令第43頁,共49頁。 邏輯與

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論