西門子PLC指令教程應(yīng)用指令_第1頁
西門子PLC指令教程應(yīng)用指令_第2頁
西門子PLC指令教程應(yīng)用指令_第3頁
西門子PLC指令教程應(yīng)用指令_第4頁
西門子PLC指令教程應(yīng)用指令_第5頁
已閱讀5頁,還剩75頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、第第5章應(yīng)用指令知識章應(yīng)用指令知識 5.1 程序控制類指令程序控制類指令5.2特殊指令特殊指令 5.1 程序控制類指令程序控制類指令 5.1.1空操作空操作 5.1.2 結(jié)束及暫停結(jié)束及暫停 5.1.3看門狗看門狗 5.1.4跳轉(zhuǎn)跳轉(zhuǎn) 5.1.5子程序指令子程序指令 5.1.6程序循環(huán)程序循環(huán) 5.1.7順序控制繼電器順序控制繼電器 5.1.8與與ENO指令指令 返回本章首頁返回本章首頁5.1.1空操作空操作 NOP,空操作指令。使能輸入有效時,執(zhí)行空操作指,空操作指令。使能輸入有效時,執(zhí)行空操作指令??詹僮髦噶畈挥绊懹脩舫绦虻膱?zhí)行,操作數(shù)令。空操作指令不影響用戶程序的執(zhí)行,操作數(shù)N是標是標號

2、,是一個號,是一個0255的常數(shù)。的常數(shù)。指令格式:指令格式:NOPN例:例:NOP30程序如下圖程序如下圖5.1所示。所示。LDI0.0/使能輸入NOP 30/空操作指令/標號為 30返回本節(jié)返回本節(jié)5.1.2 結(jié)束及暫停結(jié)束及暫停 1. 結(jié)束指令結(jié)束指令結(jié)束指令有兩條:結(jié)束指令有兩條:END和和MEND。兩條指令在。兩條指令在梯形圖中以線圈形式編程。梯形圖中以線圈形式編程。 END,條件結(jié)束指令。使能輸入有效時,終,條件結(jié)束指令。使能輸入有效時,終止用戶主程序。止用戶主程序。MEND無條件結(jié)束指令。無條件終止用戶程序無條件結(jié)束指令。無條件終止用戶程序的執(zhí)行,返回主程序的第一條指令。的執(zhí)行,

3、返回主程序的第一條指令。用用Micro/Win32編程時,編程人員不需手工輸編程時,編程人員不需手工輸入入MEND指令,而是由軟件自動加在主程序結(jié)指令,而是由軟件自動加在主程序結(jié)尾。指令格式:尾。指令格式:END(無操作數(shù))(無操作數(shù))2. 暫停指令暫停指令STOP,暫停指令。使能輸入有效時,該,暫停指令。使能輸入有效時,該指令使主機指令使主機CPU的工作方式由的工作方式由RUN切換切換到到STOP方式,從而立即終止用戶程序的方式,從而立即終止用戶程序的執(zhí)行。執(zhí)行。STOP指令在梯形圖中以線圈形式編程。指令在梯形圖中以線圈形式編程。指令不含操作數(shù)。指令的執(zhí)行不考慮對特指令不含操作數(shù)。指令的執(zhí)行

4、不考慮對特殊標志寄存器位和能流的影響。殊標志寄存器位和能流的影響。指令格式:指令格式:STOP(無操作數(shù))(無操作數(shù))返回本節(jié)返回本節(jié)5.1.3看門狗看門狗 WDR,看門狗復(fù)位指令。當使能輸入有效時,看門狗復(fù)位指令。當使能輸入有效時,執(zhí)行執(zhí)行WDR指令,每執(zhí)行一次,看門狗定時器就指令,每執(zhí)行一次,看門狗定時器就被復(fù)位一次。用本指令可用以延長掃描周期,被復(fù)位一次。用本指令可用以延長掃描周期,從而可以有效避免看門狗超時錯誤。從而可以有效避免看門狗超時錯誤。指令格式:指令格式:WDR(無操作數(shù))(無操作數(shù))程序?qū)嵗褐噶畛绦驅(qū)嵗褐噶頢TOP、END、WDR的應(yīng)用如的應(yīng)用如圖圖5.2所示。所示。LD

5、SM5.0/檢查 I/O 錯誤OSM4.3/運行時刻檢查編程OI0.3/外部切換開關(guān)STOP/條件滿足,由 RUN/ 切換到 STOP 方式/LDI0.5/外部停止控制END/停止程序執(zhí)行/LDM0.4/用觸點重新觸發(fā)WDR/看門狗定時器AI0.2/圖圖5.2停止、結(jié)束、看門狗指令停止、結(jié)束、看門狗指令返回本節(jié)返回本節(jié)5.1.4跳轉(zhuǎn)跳轉(zhuǎn) 1. 跳轉(zhuǎn)指令跳轉(zhuǎn)指令與跳轉(zhuǎn)相關(guān)的指令有下面兩條:與跳轉(zhuǎn)相關(guān)的指令有下面兩條:(1)跳轉(zhuǎn)指令)跳轉(zhuǎn)指令JMP,跳轉(zhuǎn)指令。使能輸入有效時,使程序流程跳到同,跳轉(zhuǎn)指令。使能輸入有效時,使程序流程跳到同一程序中的指定標號一程序中的指定標號n處執(zhí)行。執(zhí)行跳轉(zhuǎn)指令時,邏

6、輯處執(zhí)行。執(zhí)行跳轉(zhuǎn)指令時,邏輯堆棧的棧頂值總是堆棧的棧頂值總是1。(2)標號指令)標號指令LBL,標號指令。標記程序段,作為跳轉(zhuǎn)指令執(zhí)行時跳,標號指令。標記程序段,作為跳轉(zhuǎn)指令執(zhí)行時跳轉(zhuǎn)到的目的位置。操作數(shù)轉(zhuǎn)到的目的位置。操作數(shù)n為為0255的字型數(shù)據(jù)。的字型數(shù)據(jù)。程序?qū)嵗撼绦驅(qū)嵗喝缬覉D如右圖5.3所示。用增減計數(shù)器進行計數(shù),所示。用增減計數(shù)器進行計數(shù),如果當前值小于如果當前值小于500,則程序按原順序執(zhí),則程序按原順序執(zhí)行,若當前值超過行,若當前值超過500,則跳轉(zhuǎn)到從標號,則跳轉(zhuǎn)到從標號10開始的程序執(zhí)行。開始的程序執(zhí)行。返回本節(jié)返回本節(jié) LD I0.0 /增計數(shù)輸入端 LD I0.1

7、 /減計數(shù)輸入端 LD I0.2 /復(fù)位輸入端 CTUD C30, VW100 /增減計數(shù) /設(shè)定脈沖數(shù) /存于 VW100 LDI= C30, +500 /判斷計數(shù)器 /當前值是否 /大于 500 JMP 10 /條件滿足,跳轉(zhuǎn) /到標號 10 開始 /的程序段 LBL 10 /標志程序段 LD I0.3 / S Q1.0 , 3 /把從 Q1.0 開始的 /3 個輸出點置 1 圖圖5.3程序跳轉(zhuǎn)實例程序跳轉(zhuǎn)實例5.1.5子程序指令子程序指令 1. 建立子程序建立子程序2. 2. 子程序調(diào)用子程序調(diào)用 3. 帶參數(shù)的子程序調(diào)用帶參數(shù)的子程序調(diào)用 1. 建立子程序建立子程序 可用編程軟件可用編

8、程軟件Edit菜單中的菜單中的Insert選項,選擇選項,選擇Subroutine,以建立或插入一個新的子程序,以建立或插入一個新的子程序,同時在指令樹窗口可以看到新建的子程序圖標,同時在指令樹窗口可以看到新建的子程序圖標,默認的程序名是默認的程序名是SBR_n,編號,編號n從從0開始按遞增開始按遞增順序生成,可以在圖標上直接更改子程序的程順序生成,可以在圖標上直接更改子程序的程序名。在指令樹窗口雙擊子程序的圖標就可對序名。在指令樹窗口雙擊子程序的圖標就可對它進行編輯。它進行編輯。2. 子程序調(diào)用子程序調(diào)用 (1)子程序調(diào)用和返回指令)子程序調(diào)用和返回指令 子程序調(diào)用子程序調(diào)用 子程序條件返回

9、子程序條件返回 (2)注意事項)注意事項 (3)應(yīng)用實例)應(yīng)用實例 圖圖5.4所示的程序?qū)崿F(xiàn)用外部控制條件分別調(diào)用所示的程序?qū)崿F(xiàn)用外部控制條件分別調(diào)用兩個子程序。兩個子程序。 LD I0.0 /使能輸入 CALL S2 /調(diào)用子程序 S2 / LD I0.0 /使能輸入 CALL SBR_1 /調(diào)用子程序 /SBR_1 圖圖5.4 子程序調(diào)用舉例子程序調(diào)用舉例(1)子程序參數(shù))子程序參數(shù) 變量名變量名 變量類型變量類型 數(shù)據(jù)類型數(shù)據(jù)類型 (2)參數(shù)子程序調(diào)用的規(guī)則)參數(shù)子程序調(diào)用的規(guī)則 (3)變量表使用)變量表使用 (4)程序?qū)嵗┏绦驅(qū)嵗?3. 帶參數(shù)的子程序調(diào)用帶參數(shù)的子程序調(diào)用 以上面指

10、令為例,局部變量表分配如表以上面指令為例,局部變量表分配如表5.1所示,所示,程序段如圖程序段如圖5.5所示。所示。表5.1 局部變量表例 LD I0.0 /裝入常開觸點 CALL SBR_0, I0.2, VB20, VD30 / /調(diào)用子程序 SBR_0 /含有 3 個參數(shù): /分別為布爾、字節(jié) /和雙字型 圖圖5.5 帶參數(shù)的子程序調(diào)用帶參數(shù)的子程序調(diào)用返回本節(jié)返回本節(jié)5.1.6程序循環(huán)程序循環(huán) 1. 循環(huán)開始循環(huán)開始 2. 循環(huán)結(jié)束循環(huán)結(jié)束 3. 3. 程序?qū)嵗绦驅(qū)嵗?LD M0.0 / 使能輸入 FOR VW10, +1, +20 /循環(huán)開始 /與第 2 個 NEXT /之間為一級

11、循環(huán)體 LD M0.1 /使能輸入 FOR VW20, +1, +5 /循環(huán)開始 /與第 1 個 NEXT /之間為二級循環(huán)體 圖圖5.6程序循環(huán)程序循環(huán)(1)返回本節(jié)返回本節(jié)LDI0.0/使能輸入CALLSBR_0/調(diào)用子程序 0/本梯級為二級/循環(huán)體的功能段NEXT/循環(huán)結(jié)束指令LDSM0.0/使能輸入INCWVW100/字增指令/每執(zhí)行一次一級/循環(huán)體,VW100/的值增 1NEXT/循環(huán)結(jié)束指令圖圖5.6程序循環(huán)程序循環(huán)(2)5.1.7順序控制繼電器順序控制繼電器 1. 順序繼電器指令順序繼電器指令(1)定義順序段()定義順序段(2)段開始)段開始(3)段結(jié)束)段結(jié)束 (4)段轉(zhuǎn)移)段

12、轉(zhuǎn)移2. 注意事項注意事項3. 順序結(jié)構(gòu)順序結(jié)構(gòu) 4. 程序?qū)嵗绦驅(qū)嵗?本例是用順序本例是用順序繼電器實現(xiàn)的繼電器實現(xiàn)的順序控制中的順序控制中的一個步的程序一個步的程序段,這一步實段,這一步實現(xiàn)的功能是使現(xiàn)的功能是使兩個電機兩個電機M1和和M2起動運行起動運行20秒后停止,切秒后停止,切換到下一步。換到下一步。程序如圖程序如圖5.7所所示。示。LSCRS0.5/由 S0.5 控制的/順序步的開始/LDSM0.0/裝入常開觸點SQ1.2, 2/將 Q1.2 和 Q1.3/置 1TON T50, +200/通電延時/本步的持續(xù)時間/為 20sLDT50/延時時間到/作為切換條件SCRTS0.6/

13、步轉(zhuǎn)移/切換到下一步/同時關(guān)本步/SCRE/本步結(jié)束標志返回本節(jié)返回本節(jié)5.1.8與與ENO指令指令 AENO,與,與ENO指令。指令。ENO是梯形圖和功能框是梯形圖和功能框圖編程時指令盒的布爾能流輸出端。如果指令圖編程時指令盒的布爾能流輸出端。如果指令盒的能流輸入有效,同時執(zhí)行沒有錯誤,盒的能流輸入有效,同時執(zhí)行沒有錯誤,ENO就置位,將能流向下傳遞。當用梯形圖編程時,就置位,將能流向下傳遞。當用梯形圖編程時,且指令盒后串聯(lián)一個指令盒或線圈,語句表語且指令盒后串聯(lián)一個指令盒或線圈,語句表語言中用言中用AENO指令描述。指令描述。 指令格式:指令格式:AENO(無操作數(shù))(無操作數(shù))LDI0.

14、0/使能輸入+IVW200, VW204/整數(shù)加法指令,VW200+VW204=VW204AENO/與 ENO 指令,判斷整數(shù)加法指令執(zhí)行是否出錯ATCHINT_0, 10/如果加法指令執(zhí)行正確,則調(diào)用中斷程序 INT_0/中斷事件號為 10圖圖5.8與與ENO指令指令A(yù)ENO指令只能在語句表中使用,將棧頂值和ENO位的邏輯與運算,運算結(jié)果保存到棧頂。程序如圖5.8所示。返回本節(jié)返回本節(jié)5.2特殊指令特殊指令 5.2.1時鐘指令時鐘指令 5.2.2 中斷中斷 5.2.3通信通信 5.2.4高速計數(shù)高速計數(shù) 5.2.5高速脈沖輸出高速脈沖輸出 5.2.6PID回路指令回路指令 返回本章首頁返回本

15、章首頁5.2.1時鐘指令時鐘指令 1. 讀實時時鐘讀實時時鐘TODR,讀實時時鐘指令。當使能輸入有效時,讀實時時鐘指令。當使能輸入有效時,系統(tǒng)讀當前時間和日期,并把它裝入一個系統(tǒng)讀當前時間和日期,并把它裝入一個8字節(jié)字節(jié)的緩沖區(qū)。的緩沖區(qū)。 2. 寫實時時鐘寫實時時鐘TODW,寫實時時鐘指令。用來設(shè)定實時時鐘。,寫實時時鐘指令。用來設(shè)定實時時鐘。當使能輸入有效時,系統(tǒng)將包含當前時間和日當使能輸入有效時,系統(tǒng)將包含當前時間和日期,一個期,一個8字節(jié)的緩沖區(qū)將裝入時鐘。字節(jié)的緩沖區(qū)將裝入時鐘。 時鐘緩沖區(qū)的格式如表時鐘緩沖區(qū)的格式如表5.2所示。所示。 表表5.2時鐘緩沖區(qū)時鐘緩沖區(qū)程序?qū)嵗绦驅(qū)?/p>

16、例控制要求:控制要求:編寫一段程序,可實現(xiàn)讀、寫實時時鐘,并以編寫一段程序,可實現(xiàn)讀、寫實時時鐘,并以BCD碼顯示分鐘。時碼顯示分鐘。時鐘緩沖區(qū)從鐘緩沖區(qū)從VB100開始。開始。程序中的子程序程序中的子程序SBR_0為寫時鐘子程序,將當前時間寫入從為寫時鐘子程序,將當前時間寫入從VB100開始的開始的8字節(jié)時間緩沖區(qū),時間設(shè)置如下表字節(jié)時間緩沖區(qū),時間設(shè)置如下表5.3所示。程序?qū)崿F(xiàn):讀所示。程序?qū)崿F(xiàn):讀寫時鐘程序如圖寫時鐘程序如圖5.9所示。所示。 LD I0.4 /裝入觸點 EU /上跳沿觸發(fā) CALL SBR_0 /調(diào)用子程序 /子程序 SBR_0 /作用為寫時鐘 LD SM0.0 /運行

17、有效 TODR VB100 / 從 VB100 /讀時鐘值 / / MOVB VB104, QB0 /傳送指令 /將分鐘值 /從 QB0 輸出 圖圖5.9讀寫時鐘讀寫時鐘返回本節(jié)返回本節(jié)5.2.2 中斷中斷 1. 中斷源(1)中斷源及種類)中斷源及種類中斷源,即中斷事件發(fā)出中斷請求的來源。中斷源,即中斷事件發(fā)出中斷請求的來源。S7-200可編程序控制器具有最多可達可編程序控制器具有最多可達34個中斷源,個中斷源,每個中斷源都分配一個編號用以識別,稱為中每個中斷源都分配一個編號用以識別,稱為中斷事件號。這些中斷源大致分為三大類:通信斷事件號。這些中斷源大致分為三大類:通信中斷、輸入輸出中斷和時基

18、中斷。中斷、輸入輸出中斷和時基中斷。(2)中斷優(yōu)先級)中斷優(yōu)先級 中斷優(yōu)先級由高到低依次是:通信中斷、輸入中斷優(yōu)先級由高到低依次是:通信中斷、輸入輸出中斷、時基中斷。每種中斷中的不同中斷輸出中斷、時基中斷。每種中斷中的不同中斷事件又有不同的優(yōu)先權(quán)。事件又有不同的優(yōu)先權(quán)。主機中的所有中斷事件及優(yōu)先級如表主機中的所有中斷事件及優(yōu)先級如表5.4所示。所示。表表5.4中斷事件及優(yōu)先級中斷事件及優(yōu)先級2. 中斷調(diào)用即調(diào)用中斷程序,使系統(tǒng)對特殊的內(nèi)部或外部即調(diào)用中斷程序,使系統(tǒng)對特殊的內(nèi)部或外部事件作出響應(yīng)。系統(tǒng)響應(yīng)中斷時自動保存邏輯事件作出響應(yīng)。系統(tǒng)響應(yīng)中斷時自動保存邏輯堆棧、累加器和某些特殊標志存儲器

19、位,即保堆棧、累加器和某些特殊標志存儲器位,即保護現(xiàn)場。中斷處理完成時,又自動恢復(fù)這些單護現(xiàn)場。中斷處理完成時,又自動恢復(fù)這些單元原來的狀態(tài),即恢復(fù)現(xiàn)場。元原來的狀態(tài),即恢復(fù)現(xiàn)場。(1)中斷調(diào)用指令)中斷調(diào)用指令(2)注意事項)注意事項(3)程序?qū)嵗┏绦驅(qū)嵗?)程序?qū)嵗┏绦驅(qū)嵗刂埔螅嚎刂埔螅撼绦驅(qū)崿F(xiàn)的功能是調(diào)程序?qū)崿F(xiàn)的功能是調(diào)用用I0.1輸入點的上升輸入點的上升沿中斷,若發(fā)現(xiàn)沿中斷,若發(fā)現(xiàn)I/O錯錯誤,則禁止本中斷,誤,則禁止本中斷,用外部條件可以禁止用外部條件可以禁止全局中斷。全局中斷。程序?qū)崿F(xiàn):本程序如程序?qū)崿F(xiàn):本程序如圖圖5.10所示。所示。LDI0.4/使能輸入ATCHIN

20、T_1, 2 /中斷調(diào)用/中斷程序/為 INT_1/事件號為 2ENI/全局開中斷/LDSM5.0/檢查 I/O 錯DTCH2/若 I/O 有錯/斷開本中/斷連接LDI0.5/外部條件DISI/全局中斷/禁止圖圖5.10中斷調(diào)用程序中斷調(diào)用程序3. 中斷程序中斷程序(1)構(gòu)成)構(gòu)成中斷程序必須由三部分構(gòu)成:中斷程序標號、中斷程序必須由三部分構(gòu)成:中斷程序標號、中斷程序指令和無條件返回指令。中斷程序指令和無條件返回指令。(2)要求)要求(3)編制方法)編制方法(4)注意事項)注意事項返回本節(jié)返回本節(jié)5.2.3通信通信 通信指令包括:通信指令包括:XMT,自由口發(fā)送指令,自由口發(fā)送指令RCV,自由

21、口接收指令,自由口接收指令NETR,網(wǎng)絡(luò)讀指令,網(wǎng)絡(luò)讀指令NETW,網(wǎng)絡(luò)寫指令,網(wǎng)絡(luò)寫指令GPA,獲取口地址指令,獲取口地址指令5.2.4高速計數(shù)高速計數(shù) 1. 高速計數(shù)器介紹高速計數(shù)器介紹2. 高速計數(shù)指令高速計數(shù)指令 3. 高速計數(shù)器的使用方法高速計數(shù)器的使用方法 4. 應(yīng)用實例應(yīng)用實例 1. 高速計數(shù)器介紹高速計數(shù)器介紹(1)數(shù)量及編號)數(shù)量及編號(2)中斷事件類型)中斷事件類型 (3)工作模式及輸入點)工作模式及輸入點 (1)數(shù)量及編號)數(shù)量及編號高速計數(shù)器在程序中使用時的地址編號用高速計數(shù)器在程序中使用時的地址編號用HCn來表示(在非程序來表示(在非程序中有時用中有時用HSCn),)

22、,HC表編程元件名稱為高速計數(shù)器,表編程元件名稱為高速計數(shù)器,n為編號。為編號。HCn除了表示高速計數(shù)器的編號之外,還代表兩方面的含義:高除了表示高速計數(shù)器的編號之外,還代表兩方面的含義:高速計數(shù)器位和高速計數(shù)器當前值。編程時,從所用的指令可以看速計數(shù)器位和高速計數(shù)器當前值。編程時,從所用的指令可以看出是位還是當前值。出是位還是當前值。不同型號的不同型號的PLC主機,高速計數(shù)器的數(shù)量對應(yīng)如表主機,高速計數(shù)器的數(shù)量對應(yīng)如表5.7所示。所示。(2)中斷事件類型)中斷事件類型高速計數(shù)器的計數(shù)和動作可采用中斷方式進行控制,與高速計數(shù)器的計數(shù)和動作可采用中斷方式進行控制,與CPU的掃的掃描周期關(guān)系不大,

23、各種型號的描周期關(guān)系不大,各種型號的PLC可用的高速計數(shù)器的中斷事件可用的高速計數(shù)器的中斷事件大致分為大致分為3類:當前值等于預(yù)設(shè)值中斷、輸入方向改變中斷和外部類:當前值等于預(yù)設(shè)值中斷、輸入方向改變中斷和外部復(fù)位中斷。所有高速計數(shù)器都支持當前值等于預(yù)設(shè)值中斷。復(fù)位中斷。所有高速計數(shù)器都支持當前值等于預(yù)設(shè)值中斷。每個高速計數(shù)器的每個高速計數(shù)器的3種中斷的優(yōu)先級由高到低,不同高速計數(shù)器之種中斷的優(yōu)先級由高到低,不同高速計數(shù)器之間的優(yōu)先級又按編號順序由高到低。具體對應(yīng)關(guān)系如表間的優(yōu)先級又按編號順序由高到低。具體對應(yīng)關(guān)系如表5.8所示。所示。(3)工作模式及輸入點)工作模式及輸入點 工作模式工作模式

24、輸入端連接輸入端連接 高速計數(shù)器的工作模式共有高速計數(shù)器的工作模式共有12種。種。以模式以模式4為例,時序如圖為例,時序如圖5.11所示。所示。ABCDEFGHI時鐘方向當前值012345654圖圖5.11模式模式4操作時序操作時序選用某個高速計數(shù)器在某種工作模式下工作,選用某個高速計數(shù)器在某種工作模式下工作,高速計數(shù)器的輸入端不是任意選擇,必須按系高速計數(shù)器的輸入端不是任意選擇,必須按系統(tǒng)指定的輸入點。如表統(tǒng)指定的輸入點。如表5.9所示。所示。2. 高速計數(shù)指令高速計數(shù)指令 高速計數(shù)器指令有兩條:高速計數(shù)器指令有兩條:HDEF和和HSC。(1)HDEF指令指令HDEF,定義高速計數(shù)器指令。使

25、能,定義高速計數(shù)器指令。使能輸入有效時,為指定的高速計數(shù)器分輸入有效時,為指定的高速計數(shù)器分配一種工作模式,即用來建立高速計配一種工作模式,即用來建立高速計數(shù)器與工作模式之間的聯(lián)系。梯形圖數(shù)器與工作模式之間的聯(lián)系。梯形圖指令盒中有兩個數(shù)據(jù)輸入端:指令盒中有兩個數(shù)據(jù)輸入端:HSC,高速計數(shù)器編號,為高速計數(shù)器編號,為05的常數(shù),字的常數(shù),字節(jié)型;節(jié)型;MODE,工作模式,為,工作模式,為011的常數(shù),字節(jié)型。的常數(shù),字節(jié)型。(2)HSC指令指令HSC,高速計數(shù)器指令。使能輸,高速計數(shù)器指令。使能輸入有效時,根據(jù)高速計數(shù)器特殊入有效時,根據(jù)高速計數(shù)器特殊存儲器位的狀態(tài),并按照存儲器位的狀態(tài),并按照

26、HDEF指令指定的工作模式,設(shè)置高速指令指定的工作模式,設(shè)置高速計數(shù)器并控制其工作。梯形圖指計數(shù)器并控制其工作。梯形圖指令盒數(shù)據(jù)輸入端令盒數(shù)據(jù)輸入端N:高速計數(shù)器:高速計數(shù)器編號,為編號,為05的常數(shù),字型。的常數(shù),字型。每個高速計數(shù)器都有固定的特殊功能存儲器與每個高速計數(shù)器都有固定的特殊功能存儲器與之相配合,完成高速計數(shù)功能。具體對應(yīng)關(guān)系之相配合,完成高速計數(shù)功能。具體對應(yīng)關(guān)系如表如表5.11所示。所示。3. 高速計數(shù)器的使用方法高速計數(shù)器的使用方法 每個高速計數(shù)器都有一個狀態(tài)字節(jié),程序運行每個高速計數(shù)器都有一個狀態(tài)字節(jié),程序運行時根據(jù)運行狀況自動使某些位置位,可以通過時根據(jù)運行狀況自動使某

27、些位置位,可以通過程序來讀相關(guān)位的狀態(tài),用以作為判斷條件實程序來讀相關(guān)位的狀態(tài),用以作為判斷條件實現(xiàn)相應(yīng)的操作。狀態(tài)字節(jié)中各狀態(tài)位的功能如現(xiàn)相應(yīng)的操作。狀態(tài)字節(jié)中各狀態(tài)位的功能如表表5.12所示。所示。(1)選擇計數(shù)器及工作模式)選擇計數(shù)器及工作模式 (2)設(shè)置控制字節(jié))設(shè)置控制字節(jié) (3)執(zhí)行)執(zhí)行HDEF指令指令 (4)設(shè)定當前值和預(yù)設(shè)值)設(shè)定當前值和預(yù)設(shè)值 (5)設(shè)置中斷事件并全局開中斷)設(shè)置中斷事件并全局開中斷 (6)執(zhí)行)執(zhí)行HSC指令指令 使用高速計數(shù)器時,要按以下步驟進行:使用高速計數(shù)器時,要按以下步驟進行:表5.13 控制位含義4. 應(yīng)用實例應(yīng)用實例 要對一高速事件精確控制,通

28、過對脈沖信號進行增計數(shù),要對一高速事件精確控制,通過對脈沖信號進行增計數(shù),計數(shù)當前值達到計數(shù)當前值達到24產(chǎn)生中斷,重新從產(chǎn)生中斷,重新從0計數(shù),對中斷次計數(shù),對中斷次數(shù)進行累計。計數(shù)方向用一個外部信號控制,并能實現(xiàn)數(shù)進行累計。計數(shù)方向用一個外部信號控制,并能實現(xiàn)外部復(fù)位。所用的主機型號為外部復(fù)位。所用的主機型號為CPU221。設(shè)計步驟:設(shè)計步驟:選擇高速計數(shù)器選擇高速計數(shù)器HSC0,并確定工作方式,并確定工作方式4。令令SM37=16#F8 執(zhí)行執(zhí)行HDEF指令,輸入端指令,輸入端HSC為為0,MODE為為4。裝入當前值,令裝入當前值,令SMD38=0。裝入設(shè)定裝入設(shè)定值,令值,令SMD42

29、=24。執(zhí)行中斷連接執(zhí)行中斷連接ATCH指令,輸入指令,輸入端端INT為為INT0,EVNT為為10。 主程序、初始化子程序和中斷程序分別如圖主程序、初始化子程序和中斷程序分別如圖5.12、圖、圖5.13和圖和圖5.14所示。所示。 LD SM0.1 /初次掃描脈沖 CALL SBR_1 /調(diào)用初始化 /子程序 SBR_1 / 圖圖5.12 主程序主程序 LD SM0.0 /運行脈沖 MOVB 16#F8, SMB37 / /設(shè)置控制字節(jié) / / / HDEF 0, 4 /定義高速 /計數(shù)器 /選用 HSC0 /工作模式 4 MOVD +0, SMD38 / /當前值清 0 / MOVD +2

30、4, SMD42 / /將預(yù)設(shè)值 24 /入裝 SMD42 / ATCH INT_0, 10 / /中斷連接指令 /中斷程序為 /INT_0 /事件號為 10 ENI /開全局中斷 / HSC 0 /編程計數(shù) /器 HSC0 /使設(shè)置生效 圖圖5.13初始化子程序初始化子程序 LD SM0.0 /運行 /脈沖 INCD VD100 / /雙字增指令 /對中斷次數(shù) /進行累計 /存于 VD100 MOVD +0, SMD38 / /將 HSC0 當 /前值清 0 / MOVB 16#C8, SMB37 /重設(shè)控制字 /節(jié) SMB37 /不重裝設(shè) /定值 HSC 0 /編程 HSC0 /使設(shè)置重新

31、 /生效 圖圖5.14 中斷程序中斷程序返回本節(jié)返回本節(jié)5.2.5高速脈沖輸出高速脈沖輸出 1. 高速脈沖輸出介紹高速脈沖輸出介紹(1)高速脈沖輸出的形式)高速脈沖輸出的形式 (2)輸出端子的確定)輸出端子的確定 (3)相關(guān)寄存器)相關(guān)寄存器 (4)脈沖輸出指令)脈沖輸出指令 每個高速脈沖發(fā)生器對應(yīng)一定數(shù)量特殊標志寄存器,這每個高速脈沖發(fā)生器對應(yīng)一定數(shù)量特殊標志寄存器,這些寄存器包括控制字節(jié)寄存器、狀態(tài)字節(jié)寄存器和參數(shù)些寄存器包括控制字節(jié)寄存器、狀態(tài)字節(jié)寄存器和參數(shù)數(shù)值寄存器,用以控制高速脈沖的輸出形式、反映輸出數(shù)值寄存器,用以控制高速脈沖的輸出形式、反映輸出狀態(tài)和參數(shù)值。各寄存器分配如表狀態(tài)

32、和參數(shù)值。各寄存器分配如表5.14所示。所示。l l 狀態(tài)字節(jié)狀態(tài)字節(jié)每個高速脈沖輸出都有一個狀態(tài)字節(jié),程序運行時根據(jù)每個高速脈沖輸出都有一個狀態(tài)字節(jié),程序運行時根據(jù)運行狀況自動使某些位置位,可以通過程序來讀相關(guān)位運行狀況自動使某些位置位,可以通過程序來讀相關(guān)位的狀態(tài),用以作為判斷條件實現(xiàn)相應(yīng)的操作。狀態(tài)字節(jié)的狀態(tài),用以作為判斷條件實現(xiàn)相應(yīng)的操作。狀態(tài)字節(jié)中各狀態(tài)位的功能如表中各狀態(tài)位的功能如表5.15所示。所示。 控制字節(jié)控制字節(jié)每個高速脈沖輸出都對應(yīng)一個控制字節(jié),通過對控制字每個高速脈沖輸出都對應(yīng)一個控制字節(jié),通過對控制字節(jié)中指定位的編程,可以根據(jù)操作要求設(shè)置字節(jié)中各控節(jié)中指定位的編程,可

33、以根據(jù)操作要求設(shè)置字節(jié)中各控制位,如脈沖輸出允許、制位,如脈沖輸出允許、PTO/PWM模式選擇、單段模式選擇、單段/多多段選擇、更新方式、時間基準、允許更新等。控制字節(jié)段選擇、更新方式、時間基準、允許更新等??刂谱止?jié)中各控制位的功能如表中各控制位的功能如表5.16所示。所示。2. 高速脈沖串輸出高速脈沖串輸出PTO(1)周期和脈沖數(shù))周期和脈沖數(shù)(2)PTO的種類的種類(3)中斷事件類型)中斷事件類型(4)PTO的使用的使用(1)周期和脈沖數(shù))周期和脈沖數(shù)周期:單位可以是微秒周期:單位可以是微秒s或毫秒或毫秒ms;為;為16位位無符號數(shù)據(jù),周期變化范圍是無符號數(shù)據(jù),周期變化范圍是5065535

34、s或或265535ms,通常應(yīng)設(shè)定周期值為偶數(shù),若設(shè),通常應(yīng)設(shè)定周期值為偶數(shù),若設(shè)置為奇數(shù),則會引起輸出波形占空比的輕微失置為奇數(shù),則會引起輸出波形占空比的輕微失真。如果編程時設(shè)定周期單位小于真。如果編程時設(shè)定周期單位小于2,系統(tǒng)默認,系統(tǒng)默認按按2進行設(shè)置。進行設(shè)置。脈沖數(shù):用雙字長無符號數(shù)表示,脈沖數(shù)取值脈沖數(shù):用雙字長無符號數(shù)表示,脈沖數(shù)取值范圍是范圍間。如果編程時指定之間。如果編程時指定脈沖數(shù)為脈沖數(shù)為0,則系統(tǒng)默認脈沖數(shù)為,則系統(tǒng)默認脈沖數(shù)為1個。個。(2)PTO的種類的種類PTO方式中,如果要輸出多個脈沖串,允許脈方式中,如果要輸出多個脈沖串,允許脈沖串進

35、行排隊,形成管線,當前輸出的脈沖串沖串進行排隊,形成管線,當前輸出的脈沖串完成之后,立即輸出新脈沖串,這保證了脈沖完成之后,立即輸出新脈沖串,這保證了脈沖串順序輸出的連續(xù)性。串順序輸出的連續(xù)性。單段管線單段管線 多段管線多段管線 包絡(luò)表由包絡(luò)段數(shù)和各段構(gòu)成。每段長度為包絡(luò)表由包絡(luò)段數(shù)和各段構(gòu)成。每段長度為8個個字節(jié),包括:脈沖周期值(字節(jié),包括:脈沖周期值(16位)、周期增量位)、周期增量值(值(16位)和脈沖計數(shù)值(位)和脈沖計數(shù)值(32位)。以包絡(luò)位)。以包絡(luò)3段的包絡(luò)表為例,包絡(luò)表的結(jié)構(gòu)如表段的包絡(luò)表為例,包絡(luò)表的結(jié)構(gòu)如表5.17所示。所示。(3)中斷事件類型)中斷事件類型高速脈沖串輸出

36、可以采用中斷方式進行控制,高速脈沖串輸出可以采用中斷方式進行控制,各種型號的各種型號的PLC可用的高速脈沖串輸出的中斷可用的高速脈沖串輸出的中斷事件有兩個,如表事件有兩個,如表5.18所示。所示。(4)PTO的使用的使用使用高速脈沖串輸出時,要按以下步驟進行:使用高速脈沖串輸出時,要按以下步驟進行: 確定脈沖發(fā)生器及工作模式確定脈沖發(fā)生器及工作模式 設(shè)置控制字節(jié)設(shè)置控制字節(jié) 寫入周期值、周期增量值和脈沖數(shù)寫入周期值、周期增量值和脈沖數(shù)裝入包絡(luò)的首地址裝入包絡(luò)的首地址設(shè)置中斷事件并全局開中斷設(shè)置中斷事件并全局開中斷執(zhí)行執(zhí)行PLS指令指令3. 應(yīng)用實例應(yīng)用實例(1)控制要求)控制要求步進電機轉(zhuǎn)動過

37、程中,要從步進電機轉(zhuǎn)動過程中,要從A點加速到點加速到B點點后恒速運行,又從后恒速運行,又從C點開始減速到點開始減速到D點,完點,完成這一過程時用指示燈顯示。電機的轉(zhuǎn)動成這一過程時用指示燈顯示。電機的轉(zhuǎn)動受脈沖控制,受脈沖控制,A點和點和D點的脈沖頻率為點的脈沖頻率為2kHz,B點和點和C點的頻率為點的頻率為10kHz,加速過程的脈,加速過程的脈沖數(shù)為沖數(shù)為400個,恒速轉(zhuǎn)動的脈沖數(shù)為個,恒速轉(zhuǎn)動的脈沖數(shù)為4000個,個,減速過程脈沖數(shù)為減速過程脈沖數(shù)為200個。個。工作過程如圖工作過程如圖5.15所示。所示。頻率(KHz)102時間ABCD圖圖5.15步進電機工作過程步進電機工作過程(2)分析

38、)分析確定脈沖發(fā)生器及工作模式確定脈沖發(fā)生器及工作模式 設(shè)置控制字節(jié)設(shè)置控制字節(jié) 寫入周期值、周期增量值和脈沖數(shù)寫入周期值、周期增量值和脈沖數(shù) 裝入包絡(luò)表首地址裝入包絡(luò)表首地址 中斷調(diào)用中斷調(diào)用 執(zhí)行執(zhí)行PLS指令指令 (3)程序?qū)崿F(xiàn))程序?qū)崿F(xiàn)本控制系統(tǒng)主程序如下圖本控制系統(tǒng)主程序如下圖5.16所示。初始化子程序所示。初始化子程序SBR_1如圖如圖5.17所示。包絡(luò)表子程序如圖所示。包絡(luò)表子程序如圖5.18所示。所示。中斷程序如圖中斷程序如圖5.19所示。所示。 LD SM0.1 /初次掃描 R Q0.0, 1 /復(fù)位高速 /脈沖,使初值 /為低電位 CALL SBR_1 /調(diào)用初始 /化子程

39、序 SBR_1 圖圖5.16主程序主程序LDSM0.0/運行脈沖MOVB16#A0, SMB67 /設(shè)置控制字節(jié)/多段 PTO/增量單位 ms/允許 PTOMOVW+400, SMW168 /裝入包絡(luò)表/的首地址CALLSBR_0/調(diào)用子程/建立包絡(luò)表/子程序 SBR_0ATCHINT_0, 19/中斷連接/事件號 19/ENI /開全局中斷/PLS0/啟動 PTO 脈沖/由 Q0.0 輸出/圖圖5.17初始化子程序初始化子程序SBR_1 MOVW +100, VW409 / /第 2 段周期初 /值為 100ms / / MOVW 0, VW411 / /第 2 段周期 /增量為 0 MOV

40、D +4000, VD413 / /第 2 段脈沖數(shù) /為 4000 個 LDSM0.0/運行脈沖MOVB3, VB400/定義開始字節(jié)/為 VB400/裝入段數(shù) 3MOVW+500, VW401/第 1 段周期初/值為 500ms/MOVW1, VW403/第 1 段周期/增量為1MOVD+400, VD405/第 1 段脈沖數(shù)/為 400 個圖圖5.18包絡(luò)表子程序包絡(luò)表子程序SBR_0(1)MOVW+100, VW417/第3 段周期初/值為100ms/MOVW+2, VW419/第3 段周期/增量為+2msMOVD+200, VD421 /第3 段脈沖數(shù)/為200 個圖圖5.18包絡(luò)表

41、子程序包絡(luò)表子程序SBR_0(2)LDSM0.0/運行脈沖=Q0.6/脈沖串全部輸出/完成后將 Q0.6 置 1圖圖5.19 中斷程序中斷程序4. 寬度可調(diào)脈沖輸出寬度可調(diào)脈沖輸出PWM (1)周期和脈沖寬度)周期和脈沖寬度 (2)更新方式)更新方式 (3)PWM的使用的使用 返回本節(jié)返回本節(jié)5.2.6PID回路指令回路指令 1. PID算法算法 2. 2. PID指令指令 3. 3. 應(yīng)用實例應(yīng)用實例 1. PID算法算法 1. PID算法如果一個如果一個PID回路的輸出回路的輸出M(t)是時間的函數(shù),則可以看是時間的函數(shù),則可以看作是比例項、積分項和微分項三部分之和。即:作是比例項、積分項和微分項三部分之和。即:用數(shù)字計算機處理這樣的控制算式,連續(xù)的算式必須周用數(shù)字計算機處理這樣的控制算式,連續(xù)的算式必須周期采樣進行離散化,同時各信號也要離散化,公式如下:期采樣進行離散化,同時各信號也要離散化,公式如下:MPn=Kc*(SPn-PVn)+Kc*Ts/Ti*(SPn-PVn)+MX+Kc*Td/Ts*(PVn-1-PVn)回路表初始化回路表初始化程序?qū)嵗撼绦驅(qū)嵗喝绻绻鸎c為為0.4,Ts為為0.2秒,秒,Ti為為30分鐘,分鐘,Td為為15分鐘,分鐘

溫馨提示

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

評論

0/150

提交評論