




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、可編程控制器可編程控制器(PLC) Programmable Logic Controller 第第5章應(yīng)用指令章應(yīng)用指令教材:可編程控制器教程(基礎(chǔ)篇)5.1 程序控制類指令程序控制類指令5.2特殊指令特殊指令 第第5章應(yīng)用指令章應(yīng)用指令 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 程序控制類指令程序控制類指令 返回本章首頁返回本章首頁NOP,空操作指令。使能輸入有效時,執(zhí)行,空操作指令。使能輸入有
2、效時,執(zhí)行空操作指令。空操作指令不影響用戶程序的空操作指令??詹僮髦噶畈挥绊懹脩舫绦虻膱?zhí)行,操作數(shù)執(zhí)行,操作數(shù)N是標(biāo)號,是一個是標(biāo)號,是一個0255的常的常數(shù)。數(shù)。指令格式:指令格式:NOP N例:例:NOP 30程序如下圖程序如下圖5.1所示。所示。5.1.1空操作空操作 LDI0.0/使 能 輸 入NOP 30/空 操 作 指 令/標(biāo) 號 為 30返回本節(jié)返回本節(jié)1. 結(jié)束指令結(jié)束指令結(jié)束指令有兩條:結(jié)束指令有兩條:END和和MEND。兩。兩條指令在梯形圖中以線圈形式編程。條指令在梯形圖中以線圈形式編程。 END,條件結(jié)束指令。使能輸入有效,條件結(jié)束指令。使能輸入有效時,終止用戶主程序。時
3、,終止用戶主程序。MEND無條件結(jié)束指令。無條件終止無條件結(jié)束指令。無條件終止用戶程序的執(zhí)行,返回主程序的第一用戶程序的執(zhí)行,返回主程序的第一條指令。條指令。用用Micro/Win32編程時,編程人員不編程時,編程人員不需手工輸入需手工輸入MEND指令,而是由軟件指令,而是由軟件自動加在主程序結(jié)尾。指令格式:自動加在主程序結(jié)尾。指令格式:END(無操作數(shù))(無操作數(shù))5.1.2 結(jié)束及暫停結(jié)束及暫停 2. 暫停指令暫停指令STOP,暫停指令。使能輸入有效,暫停指令。使能輸入有效時,該指令使主機(jī)時,該指令使主機(jī)CPU的工作方的工作方式由式由RUN切換到切換到STOP方式,從方式,從而立即終止用戶
4、程序的執(zhí)行。而立即終止用戶程序的執(zhí)行。STOP指令在梯形圖中以線圈形式指令在梯形圖中以線圈形式編程。指令不含操作數(shù)。指令的編程。指令不含操作數(shù)。指令的執(zhí)行不考慮對特殊標(biāo)志寄存器位執(zhí)行不考慮對特殊標(biāo)志寄存器位和能流的影響。和能流的影響。指令格式:指令格式:STOP(無操作數(shù))(無操作數(shù))返回本節(jié)返回本節(jié)WDR,看門狗復(fù)位指令。使能輸入有效時,看門狗復(fù)位指令。使能輸入有效時,執(zhí)行,執(zhí)行WDR指令,每執(zhí)行一次,看門狗定指令,每執(zhí)行一次,看門狗定時器就被復(fù)位一次。本指令可用以延長掃描時器就被復(fù)位一次。本指令可用以延長掃描周期,從而可以有效避免看門狗超時錯誤。周期,從而可以有效避免看門狗超時錯誤。指令格
5、式:指令格式:WDR(無操作數(shù))(無操作數(shù))程序?qū)嵗褐噶畛绦驅(qū)嵗褐噶頢TOP、END、WDR的應(yīng)用的應(yīng)用如圖如圖5.2所示。所示。5.1.3看門狗看門狗 LDSM5.0/檢查 I/O 錯誤OSM4.3/運(yùn)行時刻檢查編程OI0.3/外部切換開關(guān)STOP/條件滿足,由 RUN/ 切換到 STOP 方式/LDI0.5/外部停止控制END/停止程序執(zhí)行/LDM0.4/用觸點(diǎn)重新觸發(fā)WDR/看門狗定時器AI0.2/圖圖5.2停止、結(jié)束、看門狗指令停止、結(jié)束、看門狗指令返回本節(jié)返回本節(jié)1. 跳轉(zhuǎn)指令跳轉(zhuǎn)指令 與跳轉(zhuǎn)相關(guān)的指令有下面兩條:與跳轉(zhuǎn)相關(guān)的指令有下面兩條:(1)跳轉(zhuǎn)指令)跳轉(zhuǎn)指令JMP,跳轉(zhuǎn)指
6、令。使能輸入有效時,使程序,跳轉(zhuǎn)指令。使能輸入有效時,使程序流程跳到同一程序中的指定標(biāo)號流程跳到同一程序中的指定標(biāo)號n處執(zhí)行。處執(zhí)行。(2)標(biāo)號指令)標(biāo)號指令LBL,標(biāo)號指令。標(biāo)記程序段,作為跳轉(zhuǎn)指令,標(biāo)號指令。標(biāo)記程序段,作為跳轉(zhuǎn)指令執(zhí) 行 時 跳 轉(zhuǎn) 到 的 目 的 位 置 。 操 作 數(shù)執(zhí) 行 時 跳 轉(zhuǎn) 到 的 目 的 位 置 。 操 作 數(shù) n 為為0255的字型數(shù)據(jù)。的字型數(shù)據(jù)。5.1.4跳轉(zhuǎn)跳轉(zhuǎn) 程序?qū)嵗撼绦驅(qū)嵗喝缬覉D如右圖5.3所示。用增減計(jì)數(shù)器進(jìn)行計(jì)數(shù)所示。用增減計(jì)數(shù)器進(jìn)行計(jì)數(shù),如果當(dāng)前值小于,如果當(dāng)前值小于500,則程序按原順,則程序按原順序執(zhí)行,若當(dāng)前值超過序執(zhí)行,若
7、當(dāng)前值超過500,則跳轉(zhuǎn)到,則跳轉(zhuǎn)到從標(biāo)號從標(biāo)號10開始的程序執(zhí)行。開始的程序執(zhí)行。返回本節(jié)返回本節(jié) LD I0.0 /增計(jì)數(shù)輸入端 LD I0.1 /減計(jì)數(shù)輸入端 LD I0.2 /復(fù)位輸入端 CTUD C30, VW100 /增減計(jì)數(shù) /設(shè)定脈沖數(shù) /存于 VW100 LDI= C30, +500 /判斷計(jì)數(shù)器 /當(dāng)前值是否 /大于 500 JMP 10 /條件滿足,跳轉(zhuǎn) /到標(biāo)號 10 開始 /的程序段 LBL 10 /標(biāo)志程序段 LD I0.3 / S Q1.0 , 3 /把從 Q1.0 開始的 /3 個輸出點(diǎn)置 1 圖圖5.3程序跳轉(zhuǎn)實(shí)例程序跳轉(zhuǎn)實(shí)例1. 建立子程序建立子程序2. 子
8、程序調(diào)用子程序調(diào)用3. 帶參數(shù)的子程序調(diào)用帶參數(shù)的子程序調(diào)用5.1.5子程序指令子程序指令 可用編程軟件可用編程軟件Edit菜單中的菜單中的Insert選項(xiàng),選選項(xiàng),選擇擇Subroutine,以建立或插入一個新的子,以建立或插入一個新的子程序,同時在指令樹窗口可以看到新建的子程序,同時在指令樹窗口可以看到新建的子程序圖標(biāo),默認(rèn)的程序名是程序圖標(biāo),默認(rèn)的程序名是SBR_n,編號,編號n從從0開始按遞增順序生成,可以在圖標(biāo)上直開始按遞增順序生成,可以在圖標(biāo)上直接更改子程序的程序名。在指令樹窗口雙擊接更改子程序的程序名。在指令樹窗口雙擊子程序的圖標(biāo)就可對它進(jìn)行編輯。子程序的圖標(biāo)就可對它進(jìn)行編輯。1
9、. 建立子程序建立子程序 (1)子程序調(diào)用和返回指令)子程序調(diào)用和返回指令 子程序調(diào)用子程序調(diào)用 CALL子程序條件返回子程序條件返回 CRET(2)注意事項(xiàng))注意事項(xiàng) (3)應(yīng)用實(shí)例)應(yīng)用實(shí)例 2. 子程序調(diào)用子程序調(diào)用 圖圖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ù)類型 (
10、2)參數(shù)子程序調(diào)用的規(guī)則)參數(shù)子程序調(diào)用的規(guī)則 (3)變量表使用)變量表使用 (4)程序?qū)嵗┏绦驅(qū)嵗?3. 帶參數(shù)的子程序調(diào)用帶參數(shù)的子程序調(diào)用 以上面指令為例,局部變量表分配如表以上面指令為例,局部變量表分配如表5.1所所示,程序段如圖示,程序段如圖5.5所示。所示。表5.1 局部變量表例 LD I0.0 /裝入常開觸點(diǎn) CALL SBR_0, I0.2, VB20, VD30 / /調(diào)用子程序 SBR_0 /含有 3 個參數(shù): /分別為布爾、字節(jié) /和雙字型 圖圖5.5 帶參數(shù)的子程序調(diào)用帶參數(shù)的子程序調(diào)用返回本節(jié)返回本節(jié)1.循環(huán)開始循環(huán)開始 FOR2.循環(huán)結(jié)束循環(huán)結(jié)束 NEXT3. 程
11、序?qū)嵗绦驅(qū)嵗?.1.6程序循環(huán)程序循環(huán) LD M0.0 / 使能輸入 FOR VW10, +1, +20 /循環(huán)開始 /與第 2 個 NEXT /之間為一級循環(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)1.
12、 順序繼電器指令順序繼電器指令SCR(1)定義順序段()定義順序段(2)段開始)段開始(3)段結(jié)束)段結(jié)束 (4)段轉(zhuǎn)移)段轉(zhuǎn)移2. 注意事項(xiàng)注意事項(xiàng)3. 順序結(jié)構(gòu)順序結(jié)構(gòu) 4. 程序?qū)嵗绦驅(qū)嵗?5.1.7順序控制繼電器順序控制繼電器 本例是用順序繼本例是用順序繼電器實(shí)現(xiàn)的順序電器實(shí)現(xiàn)的順序控制中的一個步控制中的一個步的程序段,這一的程序段,這一步實(shí)現(xiàn)的功能是步實(shí)現(xiàn)的功能是使兩個電機(jī)使兩個電機(jī)M1和和M2起動運(yùn)行起動運(yùn)行20秒后停止,切換秒后停止,切換到下一步。到下一步。程序如圖所示。程序如圖所示。LSCRS0.5/由 S0.5 控制的/順序步的開始/LDSM0.0/裝入常開觸點(diǎn)SQ1.2,
13、 2/將 Q1.2 和 Q1.3/置 1TON T50, +200/通電延時/本步的持續(xù)時間/為 20sLDT50/延時時間到/作為切換條件SCRTS0.6/步轉(zhuǎn)移/切換到下一步/同時關(guān)本步/SCRE/本步結(jié)束標(biāo)志返回本節(jié)返回本節(jié)AENO,與,與ENO指令。指令。ENO是梯形圖和功能框圖是梯形圖和功能框圖編程時指令盒的布爾能流輸出端。如果指令盒的編程時指令盒的布爾能流輸出端。如果指令盒的能流輸入有效,同時執(zhí)行沒有錯誤,能流輸入有效,同時執(zhí)行沒有錯誤,ENO就置位就置位,將能流向下傳遞。當(dāng)用梯形圖編程時,且指令,將能流向下傳遞。當(dāng)用梯形圖編程時,且指令盒后串聯(lián)一個指令盒或線圈,語句表語言中用盒后
14、串聯(lián)一個指令盒或線圈,語句表語言中用AENO指令描述。指令描述。 指令格式:指令格式:AENO(無操作數(shù))(無操作數(shù))5.1.8與與ENO指令指令 LDI0.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位的邏輯與運(yùn)算,運(yùn)算結(jié)果保存到棧頂。程序如圖5.8所示。返回本節(jié)返回本節(jié)5.2.1時鐘指令時鐘指令 5.2.2 中斷中斷 5
15、.2.3通信通信 5.2.4高速計(jì)數(shù)高速計(jì)數(shù) 5.2.5高速脈沖輸出高速脈沖輸出 5.2.6PID回路指令回路指令 5.2特殊指令特殊指令 返回本章首頁返回本章首頁1. 讀實(shí)時時鐘讀實(shí)時時鐘TODR,讀實(shí)時時鐘指令。當(dāng)使能輸入有效,讀實(shí)時時鐘指令。當(dāng)使能輸入有效時,系統(tǒng)讀當(dāng)前時間和日期,并把它裝入一時,系統(tǒng)讀當(dāng)前時間和日期,并把它裝入一個個8字節(jié)的緩沖區(qū)。字節(jié)的緩沖區(qū)。 2. 寫實(shí)時時鐘寫實(shí)時時鐘TODW,寫實(shí)時時鐘指令。用來設(shè)定實(shí)時時,寫實(shí)時時鐘指令。用來設(shè)定實(shí)時時鐘。當(dāng)使能輸入有效時,系統(tǒng)將包含當(dāng)前時鐘。當(dāng)使能輸入有效時,系統(tǒng)將包含當(dāng)前時間和日期,一個間和日期,一個8字節(jié)的緩沖區(qū)將裝入時鐘
16、字節(jié)的緩沖區(qū)將裝入時鐘。 5.2.1時鐘指令時鐘指令 時鐘緩沖區(qū)的格式如表時鐘緩沖區(qū)的格式如表5.2所示。所示。 表表5.2時鐘緩沖區(qū)時鐘緩沖區(qū)程序?qū)嵗绦驅(qū)嵗刂埔螅嚎刂埔螅壕帉懸欢纬绦?,可?shí)現(xiàn)讀、寫實(shí)時時鐘,并以編寫一段程序,可實(shí)現(xiàn)讀、寫實(shí)時時鐘,并以BCD碼顯示碼顯示分鐘。時鐘緩沖區(qū)從分鐘。時鐘緩沖區(qū)從VB100開始。開始。程序中的子程序程序中的子程序SBR_0為寫時鐘子程序,將當(dāng)前時間寫入為寫時鐘子程序,將當(dāng)前時間寫入從從VB100開始的開始的8字節(jié)時間緩沖區(qū),時間設(shè)置如下表字節(jié)時間緩沖區(qū),時間設(shè)置如下表5.3所所示。程序?qū)崿F(xiàn):讀寫時鐘程序如圖示。程序?qū)崿F(xiàn):讀寫時鐘程序如圖5.9所
17、示。所示。 LD I0.4 /裝入觸點(diǎn) EU /上跳沿觸發(fā) CALL SBR_0 /調(diào)用子程序 /子程序 SBR_0 /作用為寫時鐘 LD SM0.0 /運(yùn)行有效 TODR VB100 / 從 VB100 /讀時鐘值 / / MOVB VB104, QB0 /傳送指令 /將分鐘值 /從 QB0 輸出 圖圖5.9讀寫時鐘讀寫時鐘返回本節(jié)返回本節(jié)1. 中斷源中斷源(1)中斷源及種類)中斷源及種類中斷源,即中斷事件發(fā)出中斷請求的來源。中斷源,即中斷事件發(fā)出中斷請求的來源。S7-200可編程序控制器具有最多可達(dá)可編程序控制器具有最多可達(dá)34個個中斷源,每個中斷源都分配一個編號用以識中斷源,每個中斷源都
18、分配一個編號用以識別,稱為中斷事件號。這些中斷源大致分為別,稱為中斷事件號。這些中斷源大致分為三大類:通信中斷、輸入輸出中斷和時基中三大類:通信中斷、輸入輸出中斷和時基中斷。斷。5.2.2 中斷中斷 (2)中斷優(yōu)先級)中斷優(yōu)先級 中斷優(yōu)先級由高到低依次是:通信中斷、輸中斷優(yōu)先級由高到低依次是:通信中斷、輸入輸出中斷、時基中斷。每種中斷中的不同入輸出中斷、時基中斷。每種中斷中的不同中斷事件又有不同的優(yōu)先權(quán)。中斷事件又有不同的優(yōu)先權(quán)。主機(jī)中的所有中斷事件及優(yōu)先級如表主機(jī)中的所有中斷事件及優(yōu)先級如表5.4所所示。示。表表5.4中斷事件及優(yōu)先級中斷事件及優(yōu)先級2. 中斷調(diào)用中斷調(diào)用即調(diào)用中斷程序,使系
19、統(tǒng)對特殊的內(nèi)部或外即調(diào)用中斷程序,使系統(tǒng)對特殊的內(nèi)部或外部事件作出響應(yīng)。系統(tǒng)響應(yīng)中斷時自動保存部事件作出響應(yīng)。系統(tǒng)響應(yīng)中斷時自動保存邏輯堆棧、累加器和某些特殊標(biāo)志存儲器位邏輯堆棧、累加器和某些特殊標(biāo)志存儲器位,即保護(hù)現(xiàn)場。中斷處理完成時,又自動恢,即保護(hù)現(xiàn)場。中斷處理完成時,又自動恢復(fù)這些單元原來的狀態(tài),即恢復(fù)現(xiàn)場。復(fù)這些單元原來的狀態(tài),即恢復(fù)現(xiàn)場。(1)中斷調(diào)用指令)中斷調(diào)用指令(2)注意事項(xiàng))注意事項(xiàng)(3)程序?qū)嵗┏绦驅(qū)嵗?)程序?qū)嵗┏绦驅(qū)嵗刂埔螅嚎刂埔螅撼绦驅(qū)崿F(xiàn)的功能是調(diào)用程序?qū)崿F(xiàn)的功能是調(diào)用I0.1輸入點(diǎn)的上升沿中輸入點(diǎn)的上升沿中斷,若發(fā)現(xiàn)斷,若發(fā)現(xiàn)I/O錯誤,錯誤,則禁止
20、本中斷,用外部則禁止本中斷,用外部條件可以禁止全局中斷條件可以禁止全局中斷程序?qū)崿F(xiàn):本程序如圖程序?qū)崿F(xiàn):本程序如圖5.10所示所示LDI0.4/使能輸入ATCHINT_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)成:中斷程序標(biāo)號中斷程序必須由三部分構(gòu)成:中斷程序標(biāo)號、中斷程序指令和無條件返回指令。、中斷程序指令和無條件返回指令。(2)要求)要
21、求(3)編制方法)編制方法(4)注意事項(xiàng))注意事項(xiàng)返回本節(jié)返回本節(jié)通信指令包括:通信指令包括:XMT,自由口發(fā)送指令,自由口發(fā)送指令RCV,自由口接收指令,自由口接收指令NETR,網(wǎng)絡(luò)讀指令,網(wǎng)絡(luò)讀指令NETW,網(wǎng)絡(luò)寫指令,網(wǎng)絡(luò)寫指令GPA,獲取口地址指令,獲取口地址指令5.2.3通信通信 1. 高速計(jì)數(shù)器介紹高速計(jì)數(shù)器介紹2. 高速計(jì)數(shù)指令高速計(jì)數(shù)指令 3. 高速計(jì)數(shù)器的使用方法高速計(jì)數(shù)器的使用方法 4. 應(yīng)用實(shí)例應(yīng)用實(shí)例 5.2.4高速計(jì)數(shù)高速計(jì)數(shù) (1)數(shù)量及編號)數(shù)量及編號(2)中斷事件類型)中斷事件類型 (3)工作模式及輸入點(diǎn))工作模式及輸入點(diǎn) 1. 高速計(jì)數(shù)器介紹高速計(jì)數(shù)器介紹(1
22、)數(shù)量及編號)數(shù)量及編號高速計(jì)數(shù)器在程序中使用時的地址編號用高速計(jì)數(shù)器在程序中使用時的地址編號用HCn來表示來表示(在非程序中有時用(在非程序中有時用HSCn),),HC表編程元件名稱為表編程元件名稱為高速計(jì)數(shù)器,高速計(jì)數(shù)器,n為編號。為編號。HCn除了表示高速計(jì)數(shù)器的編號之外,還代表兩方面除了表示高速計(jì)數(shù)器的編號之外,還代表兩方面的含義:高速計(jì)數(shù)器位和高速計(jì)數(shù)器當(dāng)前值。編程時的含義:高速計(jì)數(shù)器位和高速計(jì)數(shù)器當(dāng)前值。編程時,從所用的指令可以看出是位還是當(dāng)前值。,從所用的指令可以看出是位還是當(dāng)前值。不同型號的不同型號的PLC主機(jī),高速計(jì)數(shù)器的數(shù)量對應(yīng)如表主機(jī),高速計(jì)數(shù)器的數(shù)量對應(yīng)如表5.7所示。
23、所示。(2)中斷事件類型)中斷事件類型高速計(jì)數(shù)器的計(jì)數(shù)和動作可采用中斷方式進(jìn)行控制,與高速計(jì)數(shù)器的計(jì)數(shù)和動作可采用中斷方式進(jìn)行控制,與CPU的的掃描周期關(guān)系不大,各種型號的掃描周期關(guān)系不大,各種型號的PLC可用的高速計(jì)數(shù)器中斷事可用的高速計(jì)數(shù)器中斷事件大致分為件大致分為3類:當(dāng)前值等于預(yù)設(shè)值中斷、輸入方向改變中斷和類:當(dāng)前值等于預(yù)設(shè)值中斷、輸入方向改變中斷和外部復(fù)位中斷。所有高速計(jì)數(shù)器都支持當(dāng)前值等于預(yù)設(shè)值中斷外部復(fù)位中斷。所有高速計(jì)數(shù)器都支持當(dāng)前值等于預(yù)設(shè)值中斷。每個高速計(jì)數(shù)器的每個高速計(jì)數(shù)器的3種中斷優(yōu)先級由高到低,不同高速計(jì)數(shù)器之種中斷優(yōu)先級由高到低,不同高速計(jì)數(shù)器之間的優(yōu)先級又按編號順
24、序由高到低。對應(yīng)關(guān)系如表間的優(yōu)先級又按編號順序由高到低。對應(yīng)關(guān)系如表5.8所示。所示。(3)工作模式及輸入點(diǎn))工作模式及輸入點(diǎn) 工作模式工作模式 輸入端連接輸入端連接 高速計(jì)數(shù)器的工作模式共有高速計(jì)數(shù)器的工作模式共有12種。以模式種。以模式4為例,時序如圖為例,時序如圖5.11所示。所示。ABCDEFGHI時鐘方向當(dāng)前值012345654圖圖5.11模式模式4操作時序操作時序選用某個高速計(jì)數(shù)器在某種工作模式下工作,選用某個高速計(jì)數(shù)器在某種工作模式下工作,高速計(jì)數(shù)器的輸入端不是任意選擇,必須按系高速計(jì)數(shù)器的輸入端不是任意選擇,必須按系統(tǒng)指定的輸入點(diǎn)。如表統(tǒng)指定的輸入點(diǎn)。如表5.9所示。所示。高速
25、計(jì)數(shù)器指令有兩條:高速計(jì)數(shù)器指令有兩條:HDEF和和HSC。(1)HDEF指令指令HDEF,定義高速計(jì)數(shù)器指令。使能,定義高速計(jì)數(shù)器指令。使能輸入有效時,為指定的高速計(jì)數(shù)器輸入有效時,為指定的高速計(jì)數(shù)器分配一種工作模式,即用來建立高分配一種工作模式,即用來建立高速計(jì)數(shù)器與工作模式之間的聯(lián)系。速計(jì)數(shù)器與工作模式之間的聯(lián)系。梯形圖指令盒中有兩個數(shù)據(jù)輸入端梯形圖指令盒中有兩個數(shù)據(jù)輸入端:HSC,高速計(jì)數(shù)器編號,為,高速計(jì)數(shù)器編號,為05的常數(shù),字節(jié)型;的常數(shù),字節(jié)型;MODE,工作模,工作模式,為式,為011的常數(shù),字節(jié)型。的常數(shù),字節(jié)型。2. 高速計(jì)數(shù)指令高速計(jì)數(shù)指令 (2)HSC指令指令HSC,
26、高速計(jì)數(shù)器指令。使能,高速計(jì)數(shù)器指令。使能輸入有效時,根據(jù)高速計(jì)數(shù)器輸入有效時,根據(jù)高速計(jì)數(shù)器特殊存儲器位的狀態(tài),并按照特殊存儲器位的狀態(tài),并按照HDEF指令指定的工作模式,指令指定的工作模式,設(shè)置高速計(jì)數(shù)器并控制其工作設(shè)置高速計(jì)數(shù)器并控制其工作。梯形圖指令盒數(shù)據(jù)輸入端。梯形圖指令盒數(shù)據(jù)輸入端N:高速計(jì)數(shù)器編號,為:高速計(jì)數(shù)器編號,為05的的常數(shù),字型。常數(shù),字型。每個高速計(jì)數(shù)器都有固定的特殊功能存儲器每個高速計(jì)數(shù)器都有固定的特殊功能存儲器與之相配合,完成高速計(jì)數(shù)功能。具體對應(yīng)與之相配合,完成高速計(jì)數(shù)功能。具體對應(yīng)關(guān)系如表關(guān)系如表5.11所示。所示。3. 高速計(jì)數(shù)器的使用方法高速計(jì)數(shù)器的使用方
27、法 每個高速計(jì)數(shù)器都有一個狀態(tài)字節(jié),程序運(yùn)每個高速計(jì)數(shù)器都有一個狀態(tài)字節(jié),程序運(yùn)行時根據(jù)運(yùn)行狀況自動使某些位置位,可以行時根據(jù)運(yùn)行狀況自動使某些位置位,可以通過程序來讀相關(guān)位的狀態(tài),用以作為判斷通過程序來讀相關(guān)位的狀態(tài),用以作為判斷條件實(shí)現(xiàn)相應(yīng)的操作。狀態(tài)字節(jié)中各狀態(tài)位條件實(shí)現(xiàn)相應(yīng)的操作。狀態(tài)字節(jié)中各狀態(tài)位的功能如表的功能如表5.12所示。所示。(1)選擇計(jì)數(shù)器及工作模式)選擇計(jì)數(shù)器及工作模式 (2)設(shè)置控制字節(jié))設(shè)置控制字節(jié) (3)執(zhí)行)執(zhí)行HDEF指令指令 (4)設(shè)定當(dāng)前值和預(yù)設(shè)值)設(shè)定當(dāng)前值和預(yù)設(shè)值 (5)設(shè)置中斷事件并全局開中斷)設(shè)置中斷事件并全局開中斷 (6)執(zhí)行)執(zhí)行HSC指令指令
28、 使用高速計(jì)數(shù)器時,要按以下步驟進(jìn)行使用高速計(jì)數(shù)器時,要按以下步驟進(jìn)行表5.13 控制位含義要對一高速事件精確控制,通過對脈沖信號進(jìn)行增計(jì)要對一高速事件精確控制,通過對脈沖信號進(jìn)行增計(jì)數(shù),計(jì)數(shù)當(dāng)前值達(dá)到數(shù),計(jì)數(shù)當(dāng)前值達(dá)到24產(chǎn)生中斷,重新從產(chǎn)生中斷,重新從0計(jì)數(shù),對計(jì)數(shù),對中斷次數(shù)進(jìn)行累計(jì)。計(jì)數(shù)方向用一個外部信號控制,中斷次數(shù)進(jìn)行累計(jì)。計(jì)數(shù)方向用一個外部信號控制,并能實(shí)現(xiàn)外部復(fù)位。所用的主機(jī)型號為并能實(shí)現(xiàn)外部復(fù)位。所用的主機(jī)型號為CPU221。設(shè)計(jì)步驟:設(shè)計(jì)步驟:選擇高速計(jì)數(shù)器選擇高速計(jì)數(shù)器HSC0,并確定工作方式,并確定工作方式4。令令SM37=16#F8 執(zhí)行執(zhí)行HDEF指令,輸入端指令,
29、輸入端HSC為為0,MODE為為4。裝入當(dāng)前值,令裝入當(dāng)前值,令SMD38=0。裝入裝入設(shè)定值,令設(shè)定值,令SMD42=24。執(zhí)行中斷連接執(zhí)行中斷連接ATCH指令指令,輸入端,輸入端INT為為INT0,EVNT為為10。 4. 應(yīng)用實(shí)例應(yīng)用實(shí)例 主程序、初始化子程序和中斷程序分別如圖主程序、初始化子程序和中斷程序分別如圖5.12、圖、圖5.13和圖和圖5.14所示。所示。 LD SM0.1 /初次掃描脈沖 CALL SBR_1 /調(diào)用初始化 /子程序 SBR_1 / 圖圖5.12 主程序主程序 LD SM0.0 /運(yùn)行脈沖 MOVB 16#F8, SMB37 / /設(shè)置控制字節(jié) / / / H
30、DEF 0, 4 /定義高速 /計(jì)數(shù)器 /選用 HSC0 /工作模式 4 MOVD +0, SMD38 / /當(dāng)前值清 0 / MOVD +24, SMD42 / /將預(yù)設(shè)值 24 /入裝 SMD42 / ATCH INT_0, 10 / /中斷連接指令 /中斷程序?yàn)?/INT_0 /事件號為 10 ENI /開全局中斷 / HSC 0 /編程計(jì)數(shù) /器 HSC0 /使設(shè)置生效 圖圖5.13初始化子程序初始化子程序 LD SM0.0 /運(yùn)行 /脈沖 INCD VD100 / /雙字增指令 /對中斷次數(shù) /進(jìn)行累計(jì) /存于 VD100 MOVD +0, SMD38 / /將 HSC0 當(dāng) /前值
31、清 0 / MOVB 16#C8, SMB37 /重設(shè)控制字 /節(jié) SMB37 /不重裝設(shè) /定值 HSC 0 /編程 HSC0 /使設(shè)置重新 /生效 圖圖5.14 中斷程序中斷程序返回本節(jié)返回本節(jié)1. 高速脈沖輸出介紹高速脈沖輸出介紹(1)高速脈沖輸出的形式)高速脈沖輸出的形式 (2)輸出端子的確定)輸出端子的確定 (3)相關(guān)寄存器)相關(guān)寄存器 (4)脈沖輸出指令)脈沖輸出指令 5.2.5高速脈沖輸出高速脈沖輸出 每個高速脈沖發(fā)生器對應(yīng)一定數(shù)量特殊標(biāo)志每個高速脈沖發(fā)生器對應(yīng)一定數(shù)量特殊標(biāo)志寄存器,這些寄存器包括控制字節(jié)寄存器、寄存器,這些寄存器包括控制字節(jié)寄存器、狀態(tài)字節(jié)寄存器和參數(shù)數(shù)值寄存
32、器,用以控狀態(tài)字節(jié)寄存器和參數(shù)數(shù)值寄存器,用以控制高速脈沖的輸出形式、反映輸出狀態(tài)和參制高速脈沖的輸出形式、反映輸出狀態(tài)和參數(shù)值。各寄存器分配如表數(shù)值。各寄存器分配如表5.14所示。所示。狀態(tài)字節(jié)狀態(tài)字節(jié)每個高速脈沖輸出都有一個狀態(tài)字節(jié),程序每個高速脈沖輸出都有一個狀態(tài)字節(jié),程序運(yùn)行時根據(jù)運(yùn)行狀況自動使某些位置位,可運(yùn)行時根據(jù)運(yùn)行狀況自動使某些位置位,可以通過程序來讀相關(guān)位的狀態(tài),用以作為判以通過程序來讀相關(guān)位的狀態(tài),用以作為判斷條件實(shí)現(xiàn)相應(yīng)的操作。狀態(tài)字節(jié)中各狀態(tài)斷條件實(shí)現(xiàn)相應(yīng)的操作。狀態(tài)字節(jié)中各狀態(tài)位的功能如表位的功能如表5.15所示。所示。 控制字節(jié)控制字節(jié)每個高速脈沖輸出都對應(yīng)一個控制
33、字節(jié),通過對控制每個高速脈沖輸出都對應(yīng)一個控制字節(jié),通過對控制字節(jié)中指定位的編程,可以根據(jù)操作要求設(shè)置字節(jié)中字節(jié)中指定位的編程,可以根據(jù)操作要求設(shè)置字節(jié)中各控制位,如脈沖輸出允許、各控制位,如脈沖輸出允許、PTO/PWM模式選擇、模式選擇、單段單段/多段選擇、更新方式、時間基準(zhǔn)、允許更新等多段選擇、更新方式、時間基準(zhǔn)、允許更新等??刂谱止?jié)中各控制位的功能如表??刂谱止?jié)中各控制位的功能如表5.16所示。所示。(1)周期和脈沖數(shù))周期和脈沖數(shù)(2)PTO的種類的種類(3)中斷事件類型)中斷事件類型(4)PTO的使用的使用2. 高速脈沖串輸出高速脈沖串輸出PTO周期:單位可以是微秒周期:單位可以是微
34、秒s或毫秒或毫秒ms;為;為16位無符號位無符號數(shù)據(jù),周期變化范圍是數(shù)據(jù),周期變化范圍是5065535s或或265535ms,通常應(yīng)設(shè)定周期值為偶數(shù),若設(shè)置為奇數(shù),則會引,通常應(yīng)設(shè)定周期值為偶數(shù),若設(shè)置為奇數(shù),則會引起輸出波形占空比的輕微失真。如果編程時設(shè)定周期起輸出波形占空比的輕微失真。如果編程時設(shè)定周期單位小于單位小于2,系統(tǒng)默認(rèn)按,系統(tǒng)默認(rèn)按2進(jìn)行設(shè)置。進(jìn)行設(shè)置。脈沖數(shù):用雙字長無符號數(shù)表示,脈沖數(shù)取值范圍是脈沖數(shù):用雙字長無符號數(shù)表示,脈沖數(shù)取值范圍間。如果編程時指定脈沖數(shù)為之間。如果編程時指定脈沖數(shù)為0,則系統(tǒng)默認(rèn)脈沖數(shù)為則系統(tǒng)默認(rèn)脈沖數(shù)為1個。個。(1)周
35、期和脈沖數(shù))周期和脈沖數(shù)PTO方式中,如果要輸出多個脈沖串,允許方式中,如果要輸出多個脈沖串,允許脈沖串進(jìn)行排隊(duì),形成管線,當(dāng)前輸出的脈脈沖串進(jìn)行排隊(duì),形成管線,當(dāng)前輸出的脈沖串完成之后,立即輸出新脈沖串,這保證沖串完成之后,立即輸出新脈沖串,這保證了脈沖串順序輸出的連續(xù)性。了脈沖串順序輸出的連續(xù)性。單段管線單段管線 多段管線多段管線 (2)PTO的種類的種類包絡(luò)表由包絡(luò)段數(shù)和各段構(gòu)成。每段長度為包絡(luò)表由包絡(luò)段數(shù)和各段構(gòu)成。每段長度為8個字節(jié),包括:脈沖周期值(個字節(jié),包括:脈沖周期值(16位)、周期位)、周期增量值(增量值(16位)和脈沖計(jì)數(shù)值(位)和脈沖計(jì)數(shù)值(32位)。以位)。以包絡(luò)包絡(luò)
36、3段的包絡(luò)表為例,包絡(luò)表的結(jié)構(gòu)如表段的包絡(luò)表為例,包絡(luò)表的結(jié)構(gòu)如表5.17所示。所示。高速脈沖串輸出可以采用中斷方式進(jìn)行控制高速脈沖串輸出可以采用中斷方式進(jìn)行控制,各種型號的,各種型號的PLC可用的高速脈沖串輸出的可用的高速脈沖串輸出的中斷事件有兩個,如表中斷事件有兩個,如表5.18所示。所示。(3)中斷事件類型)中斷事件類型使用高速脈沖串輸出時,要按以下步驟進(jìn)行:使用高速脈沖串輸出時,要按以下步驟進(jìn)行: 確定脈沖發(fā)生器及工作模式確定脈沖發(fā)生器及工作模式 設(shè)置控制字節(jié)設(shè)置控制字節(jié) 寫入周期值、周期增量值和脈沖數(shù)寫入周期值、周期增量值和脈沖數(shù)裝入包絡(luò)的首地址裝入包絡(luò)的首地址設(shè)置中斷事件并全局開中
37、斷設(shè)置中斷事件并全局開中斷執(zhí)行執(zhí)行PLS指令指令(4)PTO的使用的使用(1)控制要求)控制要求步進(jìn)電機(jī)轉(zhuǎn)動過程中,要從步進(jìn)電機(jī)轉(zhuǎn)動過程中,要從A點(diǎn)加速到點(diǎn)加速到B點(diǎn)后恒速點(diǎn)后恒速運(yùn)行,又從運(yùn)行,又從C點(diǎn)開始減速到點(diǎn)開始減速到D點(diǎn),完成這一過程時點(diǎn),完成這一過程時用指示燈顯示。電機(jī)的轉(zhuǎn)動受脈沖控制,用指示燈顯示。電機(jī)的轉(zhuǎn)動受脈沖控制,A點(diǎn)和點(diǎn)和D點(diǎn)的脈沖頻率為點(diǎn)的脈沖頻率為2kHz,B點(diǎn)和點(diǎn)和C點(diǎn)的頻率為點(diǎn)的頻率為10kHz,加速過程的脈沖數(shù)為,加速過程的脈沖數(shù)為400個,恒速轉(zhuǎn)動的脈沖數(shù)個,恒速轉(zhuǎn)動的脈沖數(shù)為為4000個,減速過程脈沖數(shù)為個,減速過程脈沖數(shù)為200個。個。工作過程如圖工作過程
38、如圖5.15所示。所示。3. 應(yīng)用實(shí)例應(yīng)用實(shí)例頻率(KHz)102時間ABCD圖圖5.15步進(jìn)電機(jī)工作過程步進(jìn)電機(jī)工作過程(2)分析)分析確定脈沖發(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所示。所示。
39、LD SM0.1 /初次掃描 R Q0.0, 1 /復(fù)位高速 /脈沖,使初值 /為低電位 CALL SBR_1 /調(diào)用初始 /化子程序 SBR_1 圖圖5.16主程序主程序LDSM0.0/運(yùn)行脈沖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, V
40、W409 / /第 2 段周期初 /值為 100ms / / MOVW 0, VW411 / /第 2 段周期 /增量為 0 MOVD +4000, VD413 / /第 2 段脈沖數(shù) /為 4000 個 LDSM0.0/運(yùn)行脈沖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/
41、MOVW+2, VW419/第 3 段周期/增量為+2msMOVD+200, VD421 /第 3 段脈沖數(shù)/為 200 個圖圖5.18包絡(luò)表子程序包絡(luò)表子程序SBR_0(2)LDSM0.0/運(yùn)行脈沖=Q0.6/脈沖串全部輸出/完成后將 Q0.6 置 1圖圖5.19 中斷程序中斷程序(1)周期和脈沖寬度)周期和脈沖寬度 (2)更新方式)更新方式 (3)PWM的使用的使用 4. 寬度可調(diào)脈沖輸出寬度可調(diào)脈沖輸出PWM 返回本節(jié)返回本節(jié)PID算法算法 2. PID指令指令 3. 應(yīng)用實(shí)例應(yīng)用實(shí)例 5.2.6PID回路指令回路指令 1. PID算法算法如果一個如果一個PID回路的輸出回路的輸出M(t
42、)是時間的函數(shù),則可是時間的函數(shù),則可以看作是比例項(xiàng)、積分項(xiàng)和微分項(xiàng)三部分之和。即以看作是比例項(xiàng)、積分項(xiàng)和微分項(xiàng)三部分之和。即:1. PID算法算法 用數(shù)字計(jì)算機(jī)處理這樣的控制算式,連續(xù)的算式必用數(shù)字計(jì)算機(jī)處理這樣的控制算式,連續(xù)的算式必須周期采樣進(jìn)行離散化,同時各信號也要離散化,須周期采樣進(jìn)行離散化,同時各信號也要離散化,公式如下:公式如下: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分鐘,則分鐘,則可 以 建 立 一 個可 以 建 立 一 個子程序子程序SBR0用用來 對 回 路
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 33744-2025應(yīng)急避難場所管護(hù)使用規(guī)范
- 二手車輛買賣合同范本
- 加盟造價公司合同范本
- 內(nèi)部房屋轉(zhuǎn)讓合同范本
- 公司贊助會議合同范本
- 公交廣告合同范本
- 農(nóng)村房屋確權(quán)合同范本
- 維修電機(jī)合同范本模板
- 企業(yè)流程咨詢合同范本
- 中介學(xué)車合同范本
- 家譜樹形圖模板
- 【保密工作檔案】外場試驗(yàn)保密工作方案
- 文苑小學(xué)安全管理網(wǎng)絡(luò)圖0
- 《民法典》婚姻家庭編解讀之夫妻個人財產(chǎn)第1063條PPT課件
- 2 遺傳圖繪制
- 人教部編版二年級語文下冊第六單元15古詩二首精品教案(集體備課)
- 三年級下冊數(shù)學(xué)教案-2.1速度、時間、路程-滬教版
- 隊(duì)列動作要領(lǐng)及訓(xùn)練方法
- 中國原發(fā)性醛固酮增多癥診治共識解讀
- 墻面板安裝爬梯驗(yàn)算
- 矢量分析與場論講義
評論
0/150
提交評論