Siemens S7-1200 學習筆記 程序塊

Siemens S7-1200 學習筆記 程序塊

自學S7-1200PLC系列


一、S7-1200中的程序塊

程序塊即一段整體的,獨立的,可識別的程序指令,是大型程序指令的一部分。
S7-1200的用戶數據結構採用模塊化編程結構。採用模塊化編程目的是將複雜的自動化任務劃分爲對應生產過的技術功能較小的子任務,這樣一個子任務就對應於一個稱之爲「塊」的子程序。塊與塊之間可以相互調用來組織程序,這樣有利於修改與調試。

二、具體類別

S7-1200中程序塊分爲組織塊(OB),函數塊(FB),函數(FC),數據塊(DB)。不嚴謹的說,組織塊(OB)可以相當於主程序,函數塊(FB)和函數(FC)可以相當於子程序,數據塊(DB)可以相當於數據存儲區。
在這裏插入圖片描述

1.組織塊(OB)

組織塊是CPU操作系統與用戶程序的接口,決定了用戶的程序結構。組織塊將自動被操作系統調用。
使用中有中斷組織塊,啓動組織塊等。
使用時必須有OB1組織塊,操作系統每個掃描週期執行一次OB1。

2.函數塊(FB)

函數塊是用戶編寫的包含經常使用的功能的子程序,其含有專用的背景數據塊
由於運行過程中需要調用各種參數,因此產生了背景數據塊DB,所以需要用到的數據就存儲在了DB中。即使結束調用,數據也不丟失。

3.函數(FC)

函數也是用戶編寫的包含經常使用的功能的子程序。與FB的區別是,FC專用的背景數據塊
函數(FC)在運行時產生的臨時變量保存在全局數據塊DB中,執行結束後,數據將丟失,不具備存儲功能。


函數塊(FB)和函數(FC)的區別主要是是否含有專用的背景數據塊。在實際工程中,使用哪一種主要看是否需要記錄參數。

4.數據塊(DB)

數據塊分爲背景數據塊和全局數據塊兩種。
背景數據塊是專門用於保存函數塊(FB)中的輸入變量,輸出變量和靜態變量的。其中的數據在編譯時自動生成。
全局數據塊是一片存儲用戶數據的區域,供所有的代碼塊訪問。全局數據塊也被稱爲共享數據塊。

三、執行過程

OB1是用戶程序的主程序(MAIN),使用時必須包含OB1。CPU操作系統會在每一個掃描週期,循環掃描執行OB1中的程序,而對於FB或者FC需要在OB1中調用後,纔會被PLC掃描執行。[類似於C語言中的函數調用]