西門子plc1200/1500 FB、FC、DB各功能介紹
發布日期:
2023-06-19

1、函數(FC)簡介

①函數(FC)是用戶編寫(xie) 的程序塊,是不帶存儲(chu) 器的代碼塊。由於(yu) 沒有可以存儲(chu) 塊參數值的數據存儲(chu) 器,因此,調用函數時,必須給所有形參分配實參。

②FC 裏有一個(ge) 局域變量表和塊參數。局域變量表裏有:Input(輸入參數)、Output(輸出參數)、InOut (輸入/輸出參數)、Temp(臨(lin) 時數據)、Return(返回值 RET_VAL)。

Input(輸入參數)將數據傳(chuan) 遞到被調用的塊中進行處理。

Output(輸出參數)是將結果傳(chuan) 遞到調用的塊中。

InOut(輸入/輸出參數)將數據傳(chuan) 遞到被調用的塊中,在被調用的塊中處理數據後,再將被調用的塊中發送的結果存儲(chu) 在相同的變量中。

Temp(臨(lin) 時數據)是塊的本地數據,並且在處理塊時將其存儲(chu) 在本地數據堆棧。關(guan) 閉並完成處理後,臨(lin) 時數據就變得不再可訪問。Return 包含返回值 RET_VAL。

2、函數塊(FB)的簡介

函數塊(FB)屬於(yu) 編程者自己編程的塊。函數塊是一種“帶內(nei) 存”的塊。分配數據塊作為(wei) 其內(nei) 存(背景數據塊)。傳(chuan) 送到 FB 的參數和靜態變量保存在實例 DB 中。臨(lin) 時變量則保存在本地數據堆棧中。執行完FB 時,不會(hui) 丟(diu) 失DB 中保存的數據。但執行完 FB 時,會(hui) 丟(diu) 失保存在本地數據堆棧中的數據。

3、數據塊(DB)簡介

1)數據塊用於(yu) 存儲(chu) 用戶數據及程序中間變量。新建數據塊時,默認狀態是優(you) 化的存儲(chu) 方式,且數據塊中存儲(chu) 的變量是非保持的。數據塊占用 CPU 的裝載存儲(chu) 區和工作存儲(chu) 區,與(yu) 標識存儲(chu) 器的功能類似,都是全局變量,不同的是,M 數據區的大小在 CPU 技術規範中已經定義(yi) 且不可擴展,而數據塊存儲(chu) 區由用戶定義(yi) ,最大不能超過工作存儲(chu) 區或裝載存儲(chu) 區。SIMATIC S7-1500 PLC 的非優(you) 化數據最大數據空間為(wei) 64KB。而優(you) 化的數據塊的存儲(chu) 空間要大得多,但其存儲(chu) 空間與(yu) CPU 的類型有關(guan) 。

2)按照功能分,數據塊 DB 可以分為(wei) :全局數據塊、背景數據塊和基於(yu) 數據類型(用戶定義(yi) 數據類型、係統數據類型和數組類型)的數據塊。

西門子plc S7-1200:優(you) 化的塊結構

西門子plc1200/1500 FB、FC、DB各功能介紹

備注:

1)對於(yu) 優(you) 化的數據塊,大的數據類型在塊的開始,小的數據類型在塊的末端,因此在塊中不會(hui) 形成數據塊間隙;

2)對於(yu) 優(you) 化的數據塊,隻能采用符號訪問的方式。

西門子plc S7-1500 CPU中,標準 DB 塊與(yu) 優(you) 化的 DB 塊在 PLC 中按照下圖方式存儲(chu) :

西門子plc1200/1500 FB、FC、DB各功能介紹

在西門子plc S7-1500 CPU 中,相比於(yu) 標準的 DB 塊,優(you) 化的 DB 塊提供更快的訪問速度,其根本原因與(yu) CPU 的編碼方式有關(guan) :

西門子plc1200/1500 FB、FC、DB各功能介紹

與(yu) 標準的 DB 塊相比,優(you) 化的 DB 塊有以下優(you) 勢:

1、提供更快的訪問速度;

2、以符號尋址,編程者無需考慮 DB 塊中每個(ge) 變量存儲(chu) 的具體(ti) 地址,每個(ge) 變量在 CPU 中存儲(chu) 的位置由 PLC 的係統自動進行分配;

3、CPU 與(yu) HMI (如 Panel)連接時,由於(yu) 優(you) 化的 DB 是靠符號尋址,所以當 PLC 變量連接到 HMI 後,PLC 側(ce) 對變量做的修改,HMI 無需重新下載;

4、對 DB 塊內(nei) 的任意位置對變量進行添加及刪除,或對變量的類型進行修改(如將Tag_1的屬性由 byte 修改為(wei) Word),不會(hui) 引起該 DB 塊其它變量的使用;

西門子plc S7-1200/S7-1500中如有以下應用,必須使用標準 DB 塊:

1、與(yu) 其它 CPU 建立 S7 單邊通信時(PUT/GET),用於(yu) 存儲(chu) 發送區數據和接收區數據的 DB 塊;

2、與(yu) Wincc V7.2 進行 HMI 連接時,Wincc V7.2 訪問的 S7-1200/S7-1500 CPU 的 DB 塊隻能是標準的 DB 塊;

3、使用Simatic Net V8.2 與(yu) S7-1200/S7-1500 PLC進行 OPC 連接時,OPC 服務器訪問 S7-1200/S7-1500 CPU 的 DB 塊隻能是標準的 DB 塊。

聲明:部分內(nei) 容來源於(yu) 網絡,如侵權請後台留言聯係刪除。