18luck网站

18luck网站電子設計 | 18luck网站Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 18luck网站 >> 18luck平台 >> PLC基礎入門教程 >> 正文

西門子S7-200PLC的程序結構

作者:佚名    文章來源:網絡整理    點擊數:    更新時間:2025/1/7

S7-200的程序有三種:主程序、子程序、中斷程序。

主程序隻有一個(ge) ,名稱為(wei) OB1。

子程序可以達到64個(ge) ,名稱分別為(wei) SBR0~SBR63。子程序可以由子程序或中斷程序調用。

中斷程序可以達到128個(ge) ,名稱分別為(wei) INT0~INT127。中斷方式有輸入中斷、定時中斷、高速計數中斷、通信中斷等中斷事件引發,當CPU響應中斷時,可以執行中斷程序。

由這三種程序可以組成線性程序和分塊程序兩(liang) 種結構。

一、線性程序結構

_線性程序是指一個(ge) 工程的全部控製任務都按照工程控製的順序寫(xie) 在一個(ge) 程序中,比如寫(xie) 在OB1中。程序執行過程中,CPU不斷地掃描OB1,按照事先準備好的順序去執行工作,如圖:

顯然,線性程序結構簡單,一目了然。但是,當控製工程大到一定程序之後,僅(jin) 僅(jin) 采用線性程序就會(hui) 使整個(ge) 程序變得龐大而難於(yu) 編製、難於(yu) 調試了。

二、分塊程序結構

分塊程序是指一個(ge) 工程的全部控製任務被分成多個(ge) 小的任務塊,每個(ge) 任務塊的控製任務根據具體(ti) 情況分別放到子程序中,或者放到中斷程序中。程序執行過程中,CPU不斷地調用這些子程序或者被中斷程序中斷,

分塊程序雖然結構複雜一些,但是可以把一個(ge) 複雜的過程分解成多個(ge) 簡單的過程。對於(yu) 具體(ti) 的程序塊容易編寫(xie) ,容易調試。從(cong) 總體(ti) 上看,分塊程序的優(you) 勢是十分明顯的。



西門子S7-200plc用戶程序可以采用主、子程序結構或普通線性化結構。當采用普通線性化結構時,隻需要編製主程序OBl;當采用主、子程序式分塊結構時,PLC程序由主程序(OBl)、子程序(SBRn)、中斷程序( INRn)等組成。
S7-200 PLC的主、子程序結構對程序塊的內(nei) 部排列有規定的要求。主程序(OBl)必須進行編寫(xie) ,且位於(yu) 程序的最前麵;隨後是子程序( SBRn)與(yu) 中斷程序(INRn)。在S7-200中,子程序(SBRn)、中斷程序(INRn)可以根據需要進行選用與(yu) 編寫(xie) 。
(1)主程序
S7-200主程序代號規定為(wei) OB1。早期的S7-200 PLC用戶程序不分塊,需要在主程序之後接著安排子程序與(yu) 中斷程序,因此,主程序的結束應使用指令MEND作為(wei) 標記。但如果使用的是Micro/WIN32編程軟件,主程序、子程序、中斷程序都可以通過獨立的區域進行編程,通過編程軟件的自動編譯功能,可以對程序進行自動的編排與(yu) 調整,主程序的結束無須再編寫(xie) 指令MEND,如圖1 (a)所示。

S7-200的程序結構與(yu) 
圖1 S7-200的程序結構與(yu) 執行過程
主程序081在S7-200 PLC中為(wei) 用戶程序的組織、管理者,必須位於(yu) PLC用戶程序的最前麵,以保證每次執行PLC循環時,首先對OB1進行掃描。
同樣,早期的S7-200在子程序結束處應使用指令RET作為(wei) 返回標記,子程序SRBn必須編在主程序OB1的結束指令MEND之後。采用了Micro/WIN32編程軟件後,這些由編程軟件進行自動編排與(yu) 調整。
子程序SRBn在S7-200 PLC中為(wei) 可選部分,可以編寫(xie) 也可以不編寫(xie) 。子程序的執行通過主程序OB1的對該子程序的調用實現,並非每次PLC循環都需要執行全部子程序。
(3)中斷程序
S7-200 PLC的中斷程序代號為(wei) INTn(n為(wei) 十進製數值,可以是0--127),用於(yu) 區別不同的中斷程序。早期的中斷程序結束應使用指令RETI作為(wei) 返回標記,中斷程序INTn同樣必須編在主程序OB1的結束指令MEND之後,且習(xi) 慣上是放在子程序SRBn之後(也可以放在子程序之前)。
中斷程序INTn在S7-200中同樣為(wei) 可以選擇的部分,它需要通過主程序OB1的調用才能執行,並非每次PLC循環都需要執行全部中斷程序。
S7-200的程序結構與(yu) 執行過程如圖1 (c)所示。
(4)局部變量堆棧
在進行PLC程序設計時,程序中有很多為(wei) 了簡化邏輯塊結構而設置的臨(lin) 時狀態、數據存儲(chu) 單元,這些存儲(chu) 單元實際上隻是為(wei) 了方便編程、檢查而設的臨(lin) 時存儲(chu) 單元,它與(yu) 邏輯外部的程序無關(guan) ,在S7中將其稱為(wei) “局部變量”或“臨(lin) 時變量(Temp)”。
根據需要,設計者可以在S7-200的OB1、SBRn、INTn中使用“臨(lin) 時變量”。“臨(lin) 時變量”存儲(chu) 在局部變量數據堆棧(L)中,這一區域為(wei) 全部程序塊所公用,隻可以用於(yu) OB1或SBRn、INTn塊內(nei) 部使用的中間運算結果寄存(這些中間運算結果不可以用於(yu) 塊外部)。局部變量堆棧在程序塊執行完成後,數據將被其他邏輯所需要的內(nei) 容所替代。
如果需要保存可以用於(yu) 其他邏輯塊的狀態,應使用PLC的內(nei) 部標誌寄存器M或變量存儲(chu) 器V。

Tags:S7-200PLC,程序結構  
責任編輯:admin
請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個字
[ 查看全部 ] 網友評論
推薦文章
最新推薦
關於我們 - 聯係我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁麵
下到頁底
晶體管查詢