PLC第3章課件編程語言和指令系統(tǒng)
第三章 PLC的編程語言和指令系統(tǒng) 趙子玉 陳德榮 上海交通大學(xué)電院電氣工程系 第三章 PLC的編程語言和指令系統(tǒng) PLC的編程語言概述 1 梯形圖的主要特點 2 PLC的基本邏輯指令 3 3-1 PLC的編程語言概述 順序功能圖 梯形圖 指令表 結(jié)構(gòu)文本 返回 功能塊圖 4 順序功能圖 1.相當(dāng)于應(yīng)用軟件中的邏 輯框圖 2.是一種位于其它編程語 言以上的圖形語言 3.用來編制順序控制程序 步 1 步 2 步 3 動作 1 動作 2 轉(zhuǎn)換 轉(zhuǎn)換 5 梯形圖 1.與繼電接觸控制系統(tǒng) 電路圖很相似 2.簡單直觀 X0 X1 X2 Y0 X3 X4 X5 X5 X6 功能塊圖 類似于數(shù)字邏輯電路中編程語言,用類似與門、或門等方 框圖來表示的邏輯運算關(guān)系 SR S1 Q1 R AND OR Test1 Test2 Sw1 %1X3 Reset start 指令表 由若干條指令組成的程序叫指令表程序 XO YO X1 Y1 Y2 X3 Y3 LD X0 OUT Y0 LDI X1 OUT Y1 OUT Y2 LD X3 OUT Y3 結(jié)構(gòu)文本 PASCAL BASIC C等高級語言 便于實現(xiàn) : 數(shù)學(xué)運算 數(shù)據(jù)處理 圖形顯示 報表打印 3-2 梯形圖的主要特點 梯形圖是一種采用常開觸點、常閉觸點 、線圈和功能塊構(gòu)成的圖形語言。 ( 1)編程元件不是真實的硬件繼電器 ,而是軟件繼電器。 ( 2)梯形圖兩側(cè)的公共線稱為公共母線,分析時,可以假想有一個 能流 從左向右流動。 ( 3)程序執(zhí)行是一個邏輯解算的過程。 根據(jù)梯形圖中各觸點的狀 態(tài)和邏輯關(guān)系 ,求出各個線圈對應(yīng)的編程元件的狀態(tài)。 ( 4) 梯形圖中各編程元件的常開觸點和常閉觸點 ,都可以無限次使用。 ( 5)梯形圖中的線圈應(yīng)該放在最右邊。 返回 梯形圖的編程特點 1.觸點狀態(tài)有接通和斷開兩種狀態(tài) 2.觸點可以任意串聯(lián)和并聯(lián) ,繼電器線圈只能并聯(lián) ,不 能串聯(lián) 3.輸出繼電器可以使用輸出繼電器 ,中間繼電器 ,輔助 繼電器 4.每一個梯級從起始母線 觸點 輸出繼電器 母線 三菱 FX系列 PLC 3-3 PLC的基本邏輯指令 施耐德 TWIDO 系列 返回 FX系列 PLC的基本邏輯指令( 27條) 1. LD LDI OUT 指令: LD (Load): 常開觸點與母線連接指令 LDI (Load Inverse): 常閉觸點與母線連接指令 OUT (Out): 驅(qū)動線圈的輸出指令 三菱 FX系列 返回 2. AND ANI 指令: AND (And): 與指令,常開觸點串聯(lián)連接指令 ANI (And inverse): 與非指令,常閉觸點串 聯(lián)連接指令 LD X0 AND M101 OUT Y3 LD Y3 ANI X3 OUT M101 AND T1 OUT Y5 X0 M101 Y3 X3 Y3 M101 T1 Y5 3. OR ORI指令: OR (0r Inverse): 常閉觸點的并聯(lián)連接指令 ORI (Or Inverse): 常閉觸點的并聯(lián)連接指令 X6 X7 Y0 X0 Y0 X7 Y1 X4 Y2 Y1 M 120 LD X6 OR X4 ORI Y2 AND X7 OUT Y0 LD X0 AND Y0 OR Y1 ANI X7 ORI M120 OUT Y1 4 .ORB指令: ORB (Or Block): 電路塊并聯(lián)連接指令 串聯(lián)電路塊 : 兩個以上的觸點串聯(lián)連接而成的電 路 X0 X1 Y6 X2 X3 X4 X5 LD X0 AND X1 LD X2 AND X3 ORB LD X4 ANI X5 ORB OUT Y6 5.ANB指令: ANB (And Block): 電路塊串聯(lián)連接指令 X0 X2 X3 Y7 X1 X4 X5 X6 X7 LD X0 OR X1 LD X2 AND X3 LDI X4 ANI X5 ORB OR X6 ANB OR X7 OUT Y7 編程技巧 好 不好 6.棧存儲器和多重輸出指令 MPS (Pash)、 MRD (Read)、 MPP (Pop) 指令分別是 進棧 、 讀棧 和 出棧 指令 LD X0 MPS AND X1 OUT Y0 MRD AND X2 OUT Y4 MPP AND X3 OUT Y2 X0 X1 Y0 X2 Y4 X3 Y2 X0 X1 X2 Y0 X3 Y1 X6 Y3 X2 X4 Y2 LD X0 MPS AND X1 MPS AND X2 OUT Y0 MPP AND X3 OUT Y1 MPP AND X2 MPS AND X4 OUT Y2 MPP AND X6 OUT Y3 7.PLS和 PLF指令 PLS指令 :上微分輸出指令。當(dāng) X=OFFON( 正緣觸 發(fā) )時 PLS指令被執(zhí)行, M0送出一 次脈波 ,脈波長度為一次掃描時間。 X0 M0 PLS M0 SET Y0 X0 M0 Y0 一個掃描周期 PLF指令 :下微分輸出指令。當(dāng) X=ONOFF( 負(fù)緣觸 發(fā) )時 PLF指令被執(zhí)行, M0 送出一次 脈波 ,脈波長度為一次掃描時間。 X0 M0 PLF M0 SET Y0 X0 M0 Y0 一個掃描周期 8.SET 與 RST 指令 RST (Reset): 復(fù)位指令,使操作保持復(fù)位的指令。 (Y M S T C D V Z ) SET (Set): 置位指令,使操作保持的指令。 (Y M S ) SET Y0 RST Y0 X0 X1 X0 X1 Y0 說 明 ( 1)在任何情況下, RST指令都 優(yōu)先執(zhí)行。 ( 2)計數(shù)器和移位寄存器處于復(fù) 位狀態(tài)下 ,不接收輸入的數(shù)據(jù) 。 9.NOP 與 END 指令 NOP (Non Processing): 空操作指令 用戶存儲器清零后,用戶存貯器的內(nèi)容全部變?yōu)榱?END (END): 結(jié)束指令 , 表示程序結(jié)束 作用:縮短掃描周期 雙線圈問題 X0 Y0 X1 Y0 X0 Y0 X1 位邏輯指令( LD、 AND、 OR、 ST等) (1) Load指令(裝入): LD, LDN, LDR, LDF 其中 : N 代表“非” R 代表“上升沿” F 代表“下降沿” 程序例 : LD %I0.2 ST %Q0.7 施耐德 TWIDO 系列 返回 位邏輯指令( LD、 AND、 OR、 ST等) (2)邏輯 AND 指令 : AND, ANDN , ANDR , ANDF 程序例 : LD %I0.7 ANDN %M2 ST %Q0.2 (3)邏輯 OR指令 : OR , ORN , ORR , ORF 程序例 : LD %I0.7 ORR %M2 ST %Q0.2 位邏輯指令( LD、 AND、 OR、 ST等) (4)存儲指令 (輸出指令 ): ST STN S R 其中 : N 表示輸出的非 S 表示強制置位 R 表示強制復(fù)位 程序例 : LD %I0.7 S %Q0.2 LD %M3 R %Q0.2 位邏輯指令( LD、 AND、 OR、 ST等) (5)異或指令 : XOR , XORN , XORR , XORF 程序例 : LD %I0.7 XOR %M2 ST %Q0.2 標(biāo)準(zhǔn)功能塊 TWIDO PLC中是以功能塊的方式來使用定時器、計 數(shù)器、高速計數(shù)器等功能的,功能模塊提供了可供程 序訪問的位元件和字元件。每一種功能塊都有其相應(yīng) 的位元件、字元件以及特定的功能模塊圖標(biāo)。 標(biāo)準(zhǔn)功能塊包括定時器 TM、計數(shù)器 C、鼓控制 器 DR、隊列堆棧寄存器 R等 標(biāo)準(zhǔn)功能塊 ( 1)定時器 TMi TWIDO PLC 可提供 128個定時器 (i = 0 127) 定時器有三種類型 ,可在配置時設(shè)定 : TON: ON延時定時器 - 這種定時器用于控制導(dǎo)通 延時動作 TOF: OFF延時定時器 -這種定時器用于控制關(guān)斷 延時動作 TP: 脈沖發(fā)生定時器 - 這種定時器用于產(chǎn)生精確寬度 的脈沖。 定時器 TON: TOF: 定時器 TP: 定時器 功能塊圖標(biāo)如下 : 定時器使用舉例: 利用定時器 TM1和 TM2編寫程序在 Q0.2上產(chǎn)生 OFF 0.5秒、 ON 0.5秒的持續(xù)方波。定時器參數(shù)設(shè)定 菜單如下 : 梯形圖和指令表程序如下 BLK %TM0 LDN %TM1.Q IN OUT_BLK LD Q ST %Q0.2 END_BLK BLK %TM1 LD %TM0.Q IN END_BLK 標(biāo)準(zhǔn)功能塊 ( 2)計數(shù)器 Ci TWIDO PLC 可提供 128個雙向計數(shù)器 ( i = 0 127 )。使 用 UP/DOWN 計數(shù)器功能塊可用來雙向計錄事件數(shù),加計數(shù) 和減計數(shù)可同時進行。 功能塊圖標(biāo)如下: 操作說明 : 向上計數(shù): 當(dāng)從 CU輸入一個上升沿時, %Ci.V 加 1,當(dāng) %Ci.V=%Ci.P時輸出位 %Ci.D=1, 當(dāng) %Ci.V從 9999變?yōu)?0時,相關(guān)位 %Ci.F=1,計數(shù) 器繼續(xù)向上計數(shù), %Ci.F=0 向下計數(shù): 當(dāng)從 CD輸入一個上升沿時, %Ci.V 減 1,當(dāng) %Ci.V從 0變?yōu)?9999時,相關(guān)位 %Ci.E=1,計數(shù)器繼續(xù)向下計數(shù), %Ci.E=0 雙向計數(shù): 當(dāng)同時使用向上計數(shù)和向下計數(shù)時, CU和 CD 必須用軟件加以控制,如果 CU和 CD 同時為 1,則 %Ci.V保持不變 復(fù)位: 當(dāng) R被置為 1時, %Ci.V強制為 0 ,并且 輸出位 %Ci.E, %Ci.D, %Ci.F均為 0 預(yù)置: 當(dāng) S=1且 R=0時, %Ci.V=%Ci.P,輸出 位 %Ci.D=1 計數(shù)器使用舉例 利用計數(shù)器 C1和 C2編寫程序產(chǎn)生分鐘和小時計 數(shù)器,計數(shù)器參數(shù)設(shè)定菜單如下 : 梯形圖和指令表程序如下 BLK %C0 LD %C0.D R LD %S6 CU END_BLK BLK %C1 LD %C0.D CU OUT_BLK LD D ST %Q0.0 END_BLK 施耐德 ( twido) :%Li END: END:程序無條件結(jié)束 ENDC:如果前面測試指令布爾運算結(jié)果是 0,則程序結(jié)束 ENDCN:如果前面測試指令布爾運算結(jié)果是 1,則程序結(jié)束 NOP: NOP指令不執(zhí)行任何操作。 跳轉(zhuǎn)指令 : JMP:程序無條件跳轉(zhuǎn) JMPC:如果前面測試指令布爾運算結(jié)果是 0,則程序跳轉(zhuǎn) JMPCN:如果前面測試指令布爾運算結(jié)果是 1,則程序跳轉(zhuǎn)