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

1,、函數(shù)(FC)簡介

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

②FC 里有一個局域變量表和塊參數(shù),。局域變量表里有:Input(輸入?yún)?shù))、Output(輸出參數(shù)),、InOut (輸入/輸出參數(shù)),、Temp(臨時數(shù)據(jù))、Return(返回值 RET_VAL),。

Input(輸入?yún)?shù))將數(shù)據(jù)傳遞到被調(diào)用的塊中進行處理,。

Output(輸出參數(shù))是將結(jié)果傳遞到調(diào)用的塊中。

InOut(輸入/輸出參數(shù))將數(shù)據(jù)傳遞到被調(diào)用的塊中,,在被調(diào)用的塊中處理數(shù)據(jù)后,,再將被調(diào)用的塊中發(fā)送的結(jié)果存儲在相同的變量中。

Temp(臨時數(shù)據(jù))是塊的本地數(shù)據(jù),,并且在處理塊時將其存儲在本地數(shù)據(jù)堆棧,。關(guān)閉并完成處理后,臨時數(shù)據(jù)就變得不再可訪問,。Return 包含返回值 RET_VAL,。

2、函數(shù)塊(FB)的簡介

函數(shù)塊(FB)屬于編程者自己編程的塊,。函數(shù)塊是一種“帶內(nèi)存”的塊。分配數(shù)據(jù)塊作為其內(nèi)存(背景數(shù)據(jù)塊),。傳送到 FB 的參數(shù)和靜態(tài)變量保存在實例 DB 中,。臨時變量則保存在本地數(shù)據(jù)堆棧中。執(zhí)行完FB 時,,不會丟失DB 中保存的數(shù)據(jù),。但執(zhí)行完 FB 時,會丟失保存在本地數(shù)據(jù)堆棧中的數(shù)據(jù),。

3,、數(shù)據(jù)塊(DB)簡介

1)數(shù)據(jù)塊用于存儲用戶數(shù)據(jù)及程序中間變量。新建數(shù)據(jù)塊時,,默認狀態(tài)是優(yōu)化的存儲方式,,且數(shù)據(jù)塊中存儲的變量是非保持的。數(shù)據(jù)塊占用 CPU 的裝載存儲區(qū)和工作存儲區(qū),,與標識存儲器的功能類似,,都是全局變量,,不同的是,M 數(shù)據(jù)區(qū)的大小在 CPU 技術(shù)規(guī)范中已經(jīng)定義且不可擴展,,而數(shù)據(jù)塊存儲區(qū)由用戶定義,,最大不能超過工作存儲區(qū)或裝載存儲區(qū)。SIMATIC S7-1500 PLC 的非優(yōu)化數(shù)據(jù)最大數(shù)據(jù)空間為 64KB,。而優(yōu)化的數(shù)據(jù)塊的存儲空間要大得多,,但其存儲空間與 CPU 的類型有關(guān)。

2)按照功能分,,數(shù)據(jù)塊 DB 可以分為:全局數(shù)據(jù)塊,、背景數(shù)據(jù)塊和基于數(shù)據(jù)類型(用戶定義數(shù)據(jù)類型、系統(tǒng)數(shù)據(jù)類型和數(shù)組類型)的數(shù)據(jù)塊,。

西門子plc S7-1200:優(yōu)化的塊結(jié)構(gòu)

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

備注:

1)對于優(yōu)化的數(shù)據(jù)塊,大的數(shù)據(jù)類型在塊的開始,,小的數(shù)據(jù)類型在塊的末端,,因此在塊中不會形成數(shù)據(jù)塊間隙;

2)對于優(yōu)化的數(shù)據(jù)塊,,只能采用符號訪問的方式,。

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

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

在西門子plc S7-1500 CPU 中,,相比于標準的 DB 塊,優(yōu)化的 DB 塊提供更快的訪問速度,,其根本原因與 CPU 的編碼方式有關(guān):

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

與標準的 DB 塊相比,優(yōu)化的 DB 塊有以下優(yōu)勢:

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

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

3、CPU 與 HMI (如 Panel)連接時,,由于優(yōu)化的 DB 是靠符號尋址,,所以當 PLC 變量連接到 HMI 后,PLC 側(cè)對變量做的修改,,HMI 無需重新下載,;

4、對 DB 塊內(nèi)的任意位置對變量進行添加及刪除,,或?qū)ψ兞康念愋瓦M行修改(如將Tag_1的屬性由 byte 修改為Word),,不會引起該 DB 塊其它變量的使用;

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

1,、與其它 CPU 建立 S7 單邊通信時(PUT/GET),用于存儲發(fā)送區(qū)數(shù)據(jù)和接收區(qū)數(shù)據(jù)的 DB 塊,;

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

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

聲明:部分內(nèi)容來源于網(wǎng)絡(luò),,如侵權(quán)請后臺留言聯(lián)系刪除。