天津西門子S7-1200代理商
系列是一款可編程邏輯控制器 (PLC, Programmable Logic Controller),可以控制各種自動化應用。 S7-1200 設計緊湊、成本低廉且具有功能強大的指令集,這些特點使它成為控制各種應用的*解決方案。S7-1200 型號和基于 Windows 的編程工具提供了解決自動化問題時需要的靈活性。下面我們看看其程序結構是如何的。
程序結構
1 系統程序OS
OS:為廠家固化在PLC內部用來管理PLC的執行(即系統程序)。這部分對于編程者來說是不能修改的。
2 用戶程序結構
1200的用戶程序結構是由各種塊組成的,這些塊使的程序結構可以模塊化。可以通過這些塊的相互調用來組織程序,便于修改與調試。幾種塊的簡要描述見下表:
在博途軟件中添加好S7-1200的CPU模塊后,默認會自動添加一個OB1組織塊。在項目樹中單擊“添加新塊”,可以添加其他塊,如下圖所示:
2.1 OB 組織塊
它們充當操作系統和用戶程序之間的接口。由操作系統調用,用于控制循環掃描和中斷程序的執行、PLC的啟動和錯誤處理等。組織塊的程序是用戶編寫的。接下來我們來看看一些常用的組織塊介紹。
1)循環組織塊OB1
OB1在RUN模式下會循環執行,可以理解為主程序。可以在OB1中編寫處理程序,還可以調用函數或功能塊來處理。其循環過程如下圖所示:
2)初始化組織塊OB100
OB100,為初始化組織塊,當從STOP轉為RUN時,會執行一次。啟動組織塊執行完畢后才開始執行主“程序循環”OB 。S7-1200 CPU 中支持多個啟動 OB ,按照編號順序(由小到大)依次執行,OB100 是默認設置。其它啟動 OB 的編號必須大于、等于123。如下圖所示添加了兩個初始化組織塊OB100和OB123
PLC啟動過程和運行過程如下圖所示:
3)循環中斷OB
通過“循環中斷”OB,可以定時的執行其中的代碼。在新建時可以設置好,執行的時間間隔,如下圖所示:
通過“循環中斷”OB,可以定時的執行其中的代碼。在新建時可以設置好,執行的時間間隔,如下圖所示:
2.2 功能(函數) FC
功能(Function,FC)是用戶程序編寫的子程序,它包含完成特定任務的代碼和參數。當某些代碼需要經常重復被執行時,可以將其寫入功能中,但需要執行時調用該功能即可,例如某些算術運算。
注:無自己專屬的數據塊,執行結束后,其臨時變量中的數據就丟失了
2.3 功能塊 (FB)
FB:功能塊 (FB) 是使用背景數據塊保存其參數和靜態數據的代碼塊。可以被組織塊調用,也可以調用其他功能塊和功能。
調用同一個功能塊時使用不同的背景數據塊,可以控制不同的設備。例如,可以控制多個相似的設備(如電機),在每次調用時為各設備分配不同的背景數據塊。 每個背景 DB 存儲單個設備的數據(如速度、加速時間和總運行時間)
注:擁有自己專屬的數據塊,FB中定義的變量會保持,即執行時FB時變量的值的大小于上一次調用退出時的值相同。
2.4、數據塊
數據塊(Data block,DB)是用于存放執行代碼塊時所需的數據的數據區,有兩種類型的數據塊:
1) 全局(Global)數據塊:存儲供所有的代碼塊使用的數據,所有的OB、FB和FC都可以訪問。例如,可以用全局數據塊來存儲那些在功能執行結束后需要保持的數據。
2) 背景數據塊:存儲供特定的FB使用的數據。背景 DB 中數據的結構反映了 FB的參數(Input、Output 和 InOut)和靜態數據。
2.5 調用關系
組織塊(OB)、功能塊(FB)和功能(FC)調用關系如下圖所示:
天津西門子S7-1200代理商