很多從日系PLC或者200PLC過來的人,很不習慣於S7 1200 或者TIA PORTAL 裡面的一些專業術語,比如OB,DB,FC,FB等等,其實這些術語也包含於S7 300,400 ,1500等,所以今天講解的內容,理論上也適應於這些PLC。雖然我沒有玩過這些東西,但是TIA PORTAL適合於西門子全系列PLC,很多概念性的東西都是一致的。S7 1200的功能強大正式基於擁有各種類型的block和多種變數類型。
S7 1200 由以下幾類基本元素組成:
OB:組織塊,英文名Organization block。組織塊是CPU系統和用戶程序之間的介面,可以在CPU上電啟動時調用,也可以循環調用,也可以在PLC發生錯誤時候調用。
DB:數據塊,英文名Data block。從字面含義便知主要用於儲存用戶數據,比如模擬量轉換數據,相當於200裡面的V區,歐姆龍PLC的W區。
FC:函數,英文名Function。我們常常在FC函數中寫一些需要重複執行的代碼,可以在程序不同地方調用,可以被OB調用,也可以被FC調用。使用FC可以簡化我們需要重複執行的任務,提高代碼的運行效率。FC類似於200的子程序。
FB:FC+DB組合,意思是含有DB塊的FC函數,與FC的區別是當函數調用結束後,通過Static變數仍然可以保留數值,經常用於調用間的數據共享。
OB組織塊
當我們新建一個程序時,系統會自動建立一個Main[OB1]程序,該程序會在PLC的每個掃描週期被調用。Main程序和200裡面的主程序,是一個同樣的概念。也類似於C裡面的Main ,即為函數入口點,我們可以在Main程序裡面調用各種函數和塊。下面的圖是在程序中調用一個FC和FB,然後在FC中調用另外一個FC,形成嵌套調用。
註:<Main>、<SumFC>、<調用FC>、<調用FB>是別名,方便我們記憶和理解,真正的地址在[.....]中,如OB1,FC2,FC1,FB1等等。