

1、塊接(jiē)口由形式參數和本地數據兩部分組成:
參(cān)數解析:
輸入參數:為調(diào)用模塊提供數據,輸入(rù)給邏輯模塊
輸出參數:從邏輯模塊輸出數據結果
輸入/輸出參數:參數值既可以輸(shū)入,也可以(yǐ)輸出
變量(liàng)解析:
臨時變量:存儲在L堆棧中,塊執行結束後,變量消(xiāo)失;
靜態變量:存儲在背景數據塊中,塊(kuài)調用結(jié)束後,變量被保留;
(1)函數(shù)(FC)簡介
① 、函數(FC)是用戶編寫的程序(xù)塊,是不帶存儲器的代碼塊。由於沒(méi)有可以存儲塊參數值的數據存儲器,因此(cǐ),調用函數時,必須給所有形參分配實參(cān)。
②、FC 裏有一個局(jú)域變量表和塊參數。局域變量表裏(lǐ)有:Input(輸入參數)、Output(輸出參數)、InOut (輸入/輸出參(cān)數)、Temp(臨時數據)、Return(返回值 RET_VAL)。
Input(輸入參數)將數(shù)據傳遞到被(bèi)調用的塊中進行處理。
Output(輸出參數)是將結果(guǒ)傳遞到調用的塊中。
InOut(輸入/輸出參數)將數據傳遞到被(bèi)調用的塊中(zhōng),在被調用的塊中處理數據後,再將被調用的塊中發送的結果存儲在相同的變量中。
Temp(臨時數據)是(shì)塊的本地數據,並且在處理塊時將(jiāng)其存儲(chǔ)在本地數(shù)據堆棧。關閉並完成處理後,臨時(shí)數據就變得不再可訪問。Return 包含返回值 RET_VAL。
(2)函(hán)數(shù)塊(FB)的簡介
函數塊(FB)屬於編程者(zhě)自己編程的塊。函數塊(kuài)是一種“帶內存”的塊。分配數據塊作為其內存(背景數據塊)。傳送(sòng)到 FB 的參數和靜態變量保存在實例 DB 中。臨時變量則保(bǎo)存在本地數據堆棧中。執行完(wán)FB 時,不會丟(diū)失DB 中保存的數據。但執行完 FB 時(shí),會丟失保存在本地數據堆棧中的數據。
(3)數據塊(DB)簡(jiǎn)介
①、數(shù)據(jù)塊用於存儲用戶數據及程序中間變量。新建數據塊時,默(mò)認狀態是優(yōu)化的存儲方式,且數據塊中存儲的(de)變(biàn)量是非保持的。數據(jù)塊占用 CPU 的裝載存儲區和工作存儲區,與標(biāo)識(shí)存儲(chǔ)器的(de)功能類似,都是全局變量,不同的是,M 數據區(qū)的大小在 CPU 技(jì)術規範中(zhōng)已經(jīng)定義且不(bú)可(kě)擴展,而數據塊存儲區由用(yòng)戶定義,最大不能超過工作存儲區或裝(zhuāng)載存儲區。SIMATIC S7-1500 PLC 的非(fēi)優化數據最大數據空間為 64KB。而優化的數據塊的存儲空間要大得多,但其存儲(chǔ)空間與 CPU 的類型有關。
②、按照功能(néng)分,數據塊(kuài) DB 可以分(fèn)為:全局數據塊、背景數據塊和基於數據類型(用戶(hù)定義數據類型、係統數據類型和數(shù)組類(lèi)型)的數據塊。
S7-1200:優化的塊(kuài)結構

備注:1、對於優化的數據塊,大的數據(jù)類型在塊的開始(shǐ),小(xiǎo)的數據類型在塊的末端,因此在塊中不會形成數據(jù)塊間隙;
2、對於優化的數據塊,隻能采用符號訪問的方(fāng)式。
S7-1500 CPU中,標準(zhǔn) DB 塊與優化的 DB 塊(kuài)在 PLC 中(zhōng)按照下圖方式存儲:

在 S7-1500 CPU 中,相比於標(biāo)準的 DB 塊,優化的 DB 塊提供(gòng)更快的訪問速度,其根本原因與 CPU 的編碼方式有關:

與標準的 DB 塊相比,優化的(de) DB 塊有以下優勢:
1. 提供更快的訪問速度;
2. 以符號尋址,編程者無需考慮 DB 塊中每個變量存儲的具體地址,每個變量在 CPU 中存儲的位置由 PLC 的係統自(zì)動進行分配;
3.CPU 與 HMI (如(rú) Panel)連(lián)接時(shí),由於優化的 DB 是靠符(fú)號尋址,所以(yǐ)當 PLC 變量連接到 HMI 後,PLC 側對變量做的修改,HMI 無需重新下載;
4.對 DB 塊內的任意位置對變量進行添加及刪除,或對變量的類型進行修改(如將Tag_1的屬性由 byte 修改為Word),不會引起該 DB 塊其它變量的使用;
S7-1200/S7-1500中(zhōng)如有以下應用,必須使用標準 DB 塊:
1.與其它 CPU 建(jiàn)立 S7 單(dān)邊通信時(PUT/GET),用於存儲發送區數據和接收區數(shù)據的 DB 塊;
2.與 Wincc V7.2 進行 HMI 連接時,Wincc V7.2 訪(fǎng)問的 S7-1200/S7-1500 CPU 的 DB 塊隻能是標準的(de) DB 塊;
3. 使用Simatic Net V8.2 與S7-1200/S7-1500 PLC進(jìn)行 OPC 連接時,OPC 服務器訪問 S7-1200/S7-1500 CPU 的 DB 塊(kuài)隻能是標準的 DB 塊。