電動機功率 | 4kW | 外形尺寸 | 5mm |
---|---|---|---|
應(yīng)用領(lǐng)域 | 環(huán)保,食品,地礦,印刷包裝,紡織皮革 | 重量 | 4kg |
西門子S7-1200PLC系統(tǒng)有五種不同模塊,分別為 CPU 1211C、CPU 1212C 、 CPU 1214C、CPU1215C和CPU1217C。其中的每一種模塊都可以進(jìn)行擴展,以*您的系統(tǒng)需要??稍谌魏?CPU 的前方加入一個信號板,輕松擴展數(shù)字或模擬量 I/O,同時不影響控制器的實際大小。
![]() |
參考價 | ¥322 |
訂貨量 | 1 |
更新時間:2019-08-08 11:01:22瀏覽次數(shù):323
聯(lián)系我們時請說明是化工儀器網(wǎng)上看到的信息,謝謝!
四川西門子S7-1200PLC代理經(jīng)銷優(yōu)勢價格
西門子S7-200 PLC的中斷返回指令
如圖3-108所示,有條件中斷返回(Condition Return Interrupt,CRETI)指令可根據(jù)控制的條件從中斷程序中返回到主程序。中斷程序由位于中斷程序標(biāo)號和無條件中斷返回指令RETI間的所有指令組成,用中斷程序人口點處的中斷程序標(biāo)號來識別不同的中斷程序,在響應(yīng)與之關(guān)聯(lián)的內(nèi)部或外部中斷事件時執(zhí)行。可以用無條件中斷返回指令RETI或有條件中斷返回指令CRETI退出中斷程序,從而將控制權(quán)交還給主程序。在中斷程序中,必須用RETI指令來結(jié)束,程序編譯時,由軟件自動在中斷程序結(jié)尾加上RETI指令。
圖3-108 中斷返回指令
中斷處理提供了對特殊的內(nèi)部或外部中斷事件的快速響應(yīng),編寫程序時應(yīng)優(yōu)化,使其簡短,加快執(zhí)行速度而且不要延時過長,否則,未預(yù)料條件可能引起主程序控制的設(shè)備操作異常,對于中斷程序來說應(yīng)“越短越好”。中斷程序是為處理中斷事件而事先編好的程序,不是由用戶程序調(diào)用的,而是在中斷事件發(fā)生時由操作系統(tǒng)調(diào)用的。在中斷程序中不能改寫其他程序使用的存儲器,使用局部變量。所有中斷程序必須放在主程序的無條件結(jié)束指令之后,中斷程序內(nèi)不能使用DISI、ENI、HDEF、LSCR、END等指令。
中斷前后,系統(tǒng)保存和恢復(fù)邏輯堆棧、累加寄存器、特殊存儲器標(biāo)志位(SM),從而避免了中斷程序返回后對用戶主程序執(zhí)行現(xiàn)場所造成的破壞。
【例3-38】 圖3-109所示為中斷指令的編程,PLC開機后*掃描SM0.1為1、標(biāo)號為0的中斷事件(即I0.0上升沿),引發(fā)連接4號中斷程序INT_4,程序執(zhí)行轉(zhuǎn)入中斷程序INT_4,如有I/O錯誤則SM5.0置1,返回中斷并取消0號中斷事件與中斷程序的聯(lián)系;若M5.0 =1,則全局性關(guān)閉所有中斷事件。
在啟動中斷程序之前,必須使中斷事件與發(fā)生此事件時希望執(zhí)行的程序段建立聯(lián)系,使用中斷連接指令ATCH建立中斷事件(由中斷事件號碼EVNT0~33)與程序段(由中斷程序號碼INT0~127)之間的聯(lián)系;連接中斷事件與中斷程序時,該中斷自動被啟動。根據(jù)事件優(yōu)先級組,PLC按照先來先服務(wù)的順序?qū)χ袛嗵峁┓?wù)。
任何時刻只能激活一個用戶中斷,其他中斷處于待激活狀態(tài),CPU發(fā)出中斷暫時入隊、等待處理的命令。如果發(fā)生的中斷數(shù)目過多,隊列無法處理,則設(shè)定隊列溢出狀態(tài)位,當(dāng)隊空時,重置這些位。
使用中斷分離指令DTCH可取消某中斷事件EVNT(0~33)與所有中斷程序之間的連接,從而關(guān)閉單個中斷事件;中斷分離指令使中斷返回未激活或被忽略狀態(tài)。
中斷連接和中斷分離指令的梯形圖、語句表如圖3-107所示。
圖3-107 中斷連接和中斷分離指令的梯形圖、語句表
(a)中斷連接指令;(b)中斷分離指令
注意:一個中斷事件只能連接一個中斷程序,但多個中斷事件可以調(diào)用同一個中斷程序。
全局中斷允許指令ENI又稱開中斷指令,全局性地允許所有被連接的中斷事件。全局中斷禁止指令DISI又稱關(guān)中斷指令,全局性地禁止所有中斷事件,每次出現(xiàn)中斷事件時均需排隊等候,直至使用全局開中斷指令重新啟用中斷。
PLC轉(zhuǎn)換到RUN(運行)模式時,中斷開始時被禁用,可以通過執(zhí)行開中斷指令,允許所有中斷事件。執(zhí)行關(guān)中斷指令會禁止處理中斷,但是現(xiàn)用中斷事件將繼續(xù)排隊等候。
中斷允許和中斷禁止指令的梯形圖、語句表如圖3-106所示。
圖3-106 中斷允許和中斷禁止指令的梯形圖、語句表
(a)中斷允許指令;(b)中斷禁止指令
S7-200設(shè)置了中斷功能,用于完成實時控制、高速處理、通信和網(wǎng)絡(luò)等復(fù)雜和特殊的控制任務(wù)。中斷就是使系統(tǒng)暫時終止當(dāng)前正在運行的程序,去執(zhí)行為立即響應(yīng)的信號而編制的中斷服務(wù)程序,去處理那些亟需處理的事件,執(zhí)行完畢再返回原先終止的程序并繼續(xù)執(zhí)行。
S7-200可以引發(fā)中斷的事件(稱為中斷源)總共有5大類34項,其中輸入信號中斷源8項、通信口中斷源6項、定時器中斷源4項、高速計數(shù)器中斷源14項、脈沖輸出指令中斷源2項。為了便于識別,系統(tǒng)給每個中斷源都分配一個編號,稱為中斷事件號。
S7-200程序結(jié)構(gòu)中有主程序(OB1)、子程序(SBRn)和中斷程序(INTn)三類程序。實際應(yīng)用中把可能被反復(fù)使用的程序編成一個獨立的程序塊,存放在程序的某一個區(qū)域中,程序的模塊化是結(jié)構(gòu)化程序設(shè)計方法的核心思想,通過程序塊的組合來完成一個大的復(fù)雜的應(yīng)用程序的編寫。執(zhí)行程序時可以隨時反復(fù)調(diào)用這些程序塊,避免重復(fù)輸入,這些程序塊可以帶一些參數(shù),也可以不帶參數(shù)。這類程序塊被稱為子程序,它具有特定功能,并且可以多次重復(fù)使用。
子程序由子程序標(biāo)號開始,到子程序返回指令結(jié)束,S7-200的STEP 7-Micro/WIN32編程軟件為每個子程序自動加入子程序標(biāo)號和子程序返回指令,在編程時,子程序開頭不用編程者另加子程序標(biāo)號,子程序末尾也不需另加返回指令。
子程序的優(yōu)點在于它可以用于對一個大的程序進(jìn)行分段及分塊,使其成為較小的更容易管理的程序塊,程序調(diào)試、檢查、維護(hù)時可充分利用這項優(yōu)勢;通過使用較小的子程序塊,對一些區(qū)域及整個程序檢查及故障排除變得更加簡單;子程序只有在需要時才被調(diào)用、執(zhí)行,有利于有效使用PLC、充分利用CPU以縮短程序掃描時間。
(1)建立子程序。系統(tǒng)默認(rèn)SBR_0為子程序,可采用下列方法中的一種方法建立子程序。
1)在“編輯”菜單中,選擇“插入”→“子程序”命令。
2)在“指令樹”中,右擊“程序塊”圖標(biāo),并從彈出菜單選擇“插入”→“子程序”命令。
3)在“程序編輯器”窗口中右擊,并從彈出菜單選擇“插入”→“子程序”命令。
只要插入了子程序,程序編輯器底部就會出現(xiàn)一個新標(biāo)簽( SBR_n),標(biāo)志新的子程序,此時可對新的子程序編程。
(2)子程序調(diào)用與返回指令。子程序調(diào)用指令的梯形圖由調(diào)用助記符SBR、使能端EN和標(biāo)號n構(gòu)成;返回指令由返回助記符RET構(gòu)成。子程序調(diào)用指令的語句表由操作碼CALL和子程序標(biāo)號n(n:0~63,隨著子程序個數(shù)的增加自動生成)構(gòu)成,即CALL SBR_n;返回指令由返回條件、返回操作碼CRET構(gòu)成,如圖3-104所示。
圖3-104 子程序調(diào)用與返回指令
主程序用CALL來調(diào)用一個子程序,調(diào)用后程序控制權(quán)就交給了子程序SBR_n,程序掃描將轉(zhuǎn)到子程序人口處執(zhí)行,子程序結(jié)束后,必須返回主程序。每個子程序必須以無條件返回指令RET作為結(jié)束,STEP 7-Micro/WIN32為每個子程序自動加入了無條件返回指令RET;有條件子程序返回指令CRET,在使能端有效時,終止子程序SBR_n。子程序執(zhí)行完畢,控制程序回到主程序中子程序調(diào)用指令CALL的下一條指令處。
子程序被調(diào)用時,系統(tǒng)會保存當(dāng)前的邏輯堆棧,保存后再置棧頂值為1,堆棧的其他值為0,把控制權(quán)交給被調(diào)用的子程序;子程序執(zhí)行完畢,通過返回指令自動恢復(fù)邏輯堆棧原調(diào)用點的值,把控制權(quán)交還給調(diào)用程序。主程序和子程序共用累加器,調(diào)用子程序時無須對累加器作存儲及重裝操作。在中斷程序、子程序中也可調(diào)用子程序,但在子程序中不能調(diào)用自己,子程序的嵌套深度為8層。
(3)帶參數(shù)的子程序(可移動子程序)調(diào)用。子程序調(diào)用可以帶參數(shù)也可以不帶參數(shù),如帶參數(shù)則可附上調(diào)用時所需的參數(shù);子程序返回有條件和無條件之分。
子程序可能有要傳遞的參數(shù)(變量和數(shù)據(jù)),這時可以在子程序調(diào)用指令中包含相應(yīng)參數(shù),它可以在子程序與調(diào)用程序之間傳送。為了移動子程序,應(yīng)避免使用任何全局變量/符號(I、Q、M、SM、AI、AQ、V、T、C、S、AC內(nèi)存中的地址),這樣可以導(dǎo)出子程序并將其導(dǎo)入另一個項目。子程序中的參數(shù)由地址符號名、參數(shù)名稱(多8個字符)、變量類型和數(shù)據(jù)類型來描述。子程序多可傳遞16個參數(shù),傳遞的參數(shù)在子程序局部變量表中定義,見表3-16。
表3-16 STEP 7-Micro/WIN32局部變量表
局部變量表使用局部變量存儲器,當(dāng)在局部變量表中加入一個參數(shù)時,系統(tǒng)自動給該參數(shù)分配局部變量存儲空間。子程序傳遞的參數(shù)放在子程序的局部存儲器L中,局部變量表左列是系統(tǒng)的每個被傳遞參數(shù)的局部存儲器地址。當(dāng)調(diào)用子程序時,輸入?yún)?shù)值被復(fù)制到子程序的局部變量存儲器;當(dāng)執(zhí)行完子程序時,從局部變量存儲器區(qū)復(fù)制輸出參數(shù)值到的輸出參數(shù)地址。在子程序中,局部變量存儲器的參數(shù)值分配如下:按照子程序指令的調(diào)用順序,將參數(shù)值分配給局部變量存儲器,起始地址是L0.0,1~8連續(xù)位參數(shù)值分配一個字節(jié),從Lx.0到Lx.7;字節(jié)、字和雙字值按照字節(jié)順序分配在局部變量存儲器中( LBx、LWx、LDx)。系統(tǒng)保留局部變量存儲器L內(nèi)存的4個字節(jié)(LB60~LB63),用于調(diào)用參數(shù)。
子程序編程的步驟是:①建立子程序SBR_n;②在子程序SBR_n中編寫應(yīng)用程序;③在主程序或其他子程序或中斷程序中編寫調(diào)用子程序SBR_n指令。
四川西門子S7-1200PLC代理經(jīng)銷優(yōu)勢價格