操作系統包含在每個 CPU 中,管理所有與特定控制任務無關的 CPU 功能和序列。
例如,操作系統任務包括下列各項:
處理暖啟動
更新輸入和輸出過程映像
調用用戶程序
檢測中斷和調用中斷 OB
檢測和處理錯誤
管理存儲區
操作系統是 CPU 的組件,交付時已安裝在其中。
2 、 用戶程序
用戶程序包含處理特定自動化任務所需的全部功能。
用戶程序任務包括:
使用啟動 OB 檢查(暖)啟動的要求,例如,限位開關是否處在正確位置或安全繼電器是否激活。
處理過程數據,例如,鏈接二進制信號,讀入並評估模擬值,定義輸出的二進制信號以及輸出模擬值。
響應中斷,例如,模擬擴展模塊的限值過沖時的診斷錯誤中斷。
正常程序執行中的錯誤處理用戶編寫用戶程序,並將其裝載到 CPU 中。
3、程序數據
數據類型組中定義有數據的屬性,例如:內容及有效存儲區的表示。
在用戶程序中,可使用預定義的數據類型,並將這些數據類型添加到用戶自定義數據類型中。此時,可使用以下類別:
基本數據類型(二進制數、整數、浮點數、定時器、DATE、TOD、LTOD、CHAR、WCHAR)
複雜數據類型(DT、LDT、DTL、STRING、WSTRING、ARRAY、STRUCT)
用戶自定義數據類型(PLC 數據類型 (UDT))
指針
參數類型
系統數據類型
硬件數據類型
4、變量表
PLC 變量表包含在整個 CPU 範圍有效的變量和符號常量的定義。系統會為項目中使用的每個 CPU 自動創建一個 PLC 變量表。可以創建其它變量表用於對變量和常量進行歸類與分
組。在項目樹中,項目的每個 CPU 都有“PLC 變量”文件夾。包含有下列表格:
“所有變量”表,包含有全部的 PLC 變量、用戶常量和 CPU 系統常量。該表不能刪除或移動。
“標準變量”表,項目的每個 CPU 均有一個標準變量表。該表不能刪除、重命名或移動。
默認變量表包含PLC 變量、用戶常量和系統常量。可以在默認變量表中聲明所有的 PLC變量,或根據需要創建其它的用戶定義變量表。
“其它用戶定義變量”表(可選),可以根據要求為每個 CPU 創建多個用戶自定義變量表以分組變量。可以對用戶定義的變量表重命名、整理合併為組或刪除。用戶定義變量表包含 PLC 變量和用戶常量。
![西門子PLC的程序組成有哪些?](http://p2.ttnews.xyz/loading.gif)
博圖中提供了不同的塊類型來執行自動化系統中的任務。
a. 組織塊(OB)
組織塊 (OB) 構成了操作系統和用戶程序之間的接口。 組織塊由操作系統調用,可以控制(例如)下列操作:
自動化系統的啟動特性
循環程序處理
中斷驅動的程序執行
錯誤處理
可以對組織塊進行編程並同時確定 CPU 的特性。 根據使用的CPU ,提供有各種不同的組織塊。
![西門子PLC的程序組成有哪些?](http://p2.ttnews.xyz/loading.gif)
b. 函數(FC)
函數 (FC) 是不帶存儲器的代碼塊。 由於沒有可以存儲塊參數值的數據存儲器。 因此,調用函數時,必須給所有形參分配實參。函數可以使用全局數據塊永久性存儲數據。
函數包含一個程序,在其它代碼塊調用該函數時將執行此程序。 例如,可以將函數用於下列目的:
將函數值返回給調用塊,例如,數學函數
執行工藝功能,例如,通過位邏輯運算進行單個的控制可以在程序中的不同位置多次調用同一個函數。 因此,函數塊簡化了對重複發生的函數的編程。
5、 功能塊
c. 函數塊(FB)
函數塊是一種代碼塊,它將輸入、輸出和輸入/輸出參數永久地存儲在背景數據塊中,從而在執行塊之後,這些值依然有效。所以函數塊也稱為“有存儲器”的塊。函數塊也可以使用臨時變量。
臨時變量並不存儲在背景數據塊中,而用於一個循環。函數塊包含總是在其它代碼塊調用該函數塊時執行的子例程。可以在程序中的不同位置多次調用同一個函數塊。 因此,函數塊簡化了對重複發生的函數的編程。
d. 背景數據塊
函數塊的調用稱為實例。實例使用的數據存儲在背景數據塊中。背景數據塊的最大大小因 CPU 的不同而各異。函數塊中聲明的變量決定背景數據塊的結構。
e. 全局數據塊
數據塊用於存儲程序數據。 因此,數據塊包含由用戶程序使用的變量數據。 全局數據塊存儲所有其它塊都可使用的數據。數據塊的最大大小因 CPU 的不同而各異。 可以以自己喜歡的方式定義全局數據塊的結構。還可以選擇使用 PLC 數據類型 (UDT) 作為創建
全局數據塊的模板。閱讀更多 智凡桑普雷德 的文章