應(yīng)用領(lǐng)域 | 環(huán)保,能源,建材,電子,交通 |
---|
6ES7214-1AF40-0XB0
SIMATIC S7-1200,CPU 1214 FC, 緊湊型 CPU,DC/DC/DC, 機載 I/O: 14 個 24V DC 數(shù)字輸入;10 個 24V DC 數(shù)字輸出; 2 AI 0-10V DC, 電源:直流 20.4-28.8V DC, 程序存儲器/數(shù)據(jù)存儲器 125 KB
參考價 | 面議 |
更新時間:2023-07-18 10:21:57瀏覽次數(shù):679
聯(lián)系我們時請說明是化工儀器網(wǎng)上看到的信息,謝謝!
西門子S7-1200,CPU 1214 FC, 緊湊型 CPU
6ES7214-1AF40-0XB0 SIMATIC S7-1200,CPU 1214 FC, 緊湊型 CPU,DC/DC/DC, 機載 I/O: 14 個 24V DC 數(shù)字輸入;10 個 24V DC 數(shù)字輸出; 2 AI 0-10V DC, 電源:直流 20.4-28.8V DC, 程序存儲器/數(shù)據(jù)存儲器 125 KB |
向塊傳遞參數(shù)
函數(shù)塊 (FB) 和函數(shù) (FC) 有三種不同接口類型:
函數(shù)塊和函數(shù)通過 IN 和 IN/OUT 接口類型接收參數(shù)。 塊對這些數(shù)據(jù)進行處理,此后,通過 IN/OUT 和 OUT 接口類型將返回值傳回調(diào)用者。
用戶程序采用以下兩種方法中的某一種傳遞參數(shù)。
傳值
用戶程序以“傳值”(call-by-value) 方式將參數(shù)傳遞給某個函數(shù)時,用戶程序會將實際參數(shù)值復制給塊的 IN 接口類型的輸入?yún)?shù)。 該操作期間,被復制值要求使用額外存儲空間。
當用戶程序調(diào)用該塊時,會復制這些值。
傳引用
用戶程序以“傳引用”(call-by-reference) 方式向某個函數(shù)傳遞參數(shù)時,用戶程序?qū)⒁?IN/OUT 接口類型的實參地址,不進行值復制操作。 該操作過程不需要額外的存儲空間。
當用戶程序調(diào)用該塊時,會引用實際參數(shù)的地址。
提示 通常情況下,針對結(jié)構(gòu)變量使用 IN/OUT 接口類型(例如,ARRAY、STRUCT 和 STRING),避免不必要地增大所需的數(shù)據(jù)存儲器。 |
塊優(yōu)化和參數(shù)傳遞
對于簡單數(shù)據(jù)類型(例如,INT、DINT 和 REAL 型),用戶程序可以以“傳值”方式傳遞函數(shù)塊的參數(shù)。 傳遞復雜數(shù)據(jù)類型(例如,STRUCT、ARRAY 和 STRING)時,可以采用“傳引用”方式。
用戶程序傳遞的函數(shù)塊參數(shù)通常在和該函數(shù)塊相關(guān)的背景數(shù)據(jù)塊 (DB) 中:
數(shù)據(jù)塊可以創(chuàng)建成“優(yōu)化的”或“標準的”(未優(yōu)化)數(shù)據(jù)塊。 優(yōu)化型數(shù)據(jù)塊的體積小于非優(yōu)化型數(shù)據(jù)塊。 優(yōu)化型數(shù)據(jù)塊和非優(yōu)化型數(shù)據(jù)塊中的數(shù)據(jù)元素順序不一樣。 關(guān)于優(yōu)化型數(shù)據(jù)塊的更多說明,請參閱 S7?1200/1500、STEP 7 (TIA Portal) S7 編程指南(出版日期:2014 年 3 月)中的章節(jié)“優(yōu)化塊”。
可以創(chuàng)建用來處理優(yōu)化或非優(yōu)化數(shù)據(jù)的函數(shù)塊和函數(shù)。 可以選擇復選框“優(yōu)化塊訪問” (Optimized block access),將其作為塊的屬性。 默認情況下,用戶程序會優(yōu)化程序塊;程序塊期望傳遞給該塊的數(shù)據(jù)采用優(yōu)化格式。
用戶向某個函數(shù)傳遞復雜參數(shù)(例如,STRUCT 結(jié)構(gòu)的參數(shù))時,系統(tǒng)會檢查包含該結(jié)構(gòu)的數(shù)據(jù)塊的優(yōu)化設(shè)置和程序塊的優(yōu)化設(shè)置。 如果你同時優(yōu)化該數(shù)據(jù)塊和該函數(shù),用戶程序?qū)⒁?ldquo;傳引用”方式傳遞該結(jié)構(gòu) (STRUCT)。 如果選擇了不優(yōu)化該數(shù)據(jù)塊和該函數(shù),也采用“傳引用”方式傳遞該結(jié)構(gòu)。
但是,如果函數(shù)和數(shù)據(jù)塊采用不同優(yōu)化設(shè)置(即,優(yōu)化了一個塊且沒有優(yōu)化另一個塊),則必須將 STRUCT 轉(zhuǎn)換成函數(shù)所期望的格式。 例如,如果選擇了不優(yōu)化該數(shù)據(jù)塊但優(yōu)化該函數(shù),則數(shù)據(jù)塊中的 STRUCT 須轉(zhuǎn)換成優(yōu)化格式后才能被該函數(shù)進行處理。 該轉(zhuǎn)換過程由系統(tǒng)完成,其方法是:先制作該 STRUCT 的一個“副本”,接著,將它轉(zhuǎn)換成該函數(shù)所期望的優(yōu)化格式。
總而言之,當用戶程序?qū)⒛硞€復雜數(shù)據(jù)類型(例如,STRUCT)作為 IN/OUT 參數(shù)傳遞給某個函數(shù)時,該函數(shù)希望用戶程序以“傳引用”方式傳遞 STRUCT。
優(yōu)化設(shè)置對用戶程序的影響作用
如果 HMI 或中斷組織塊更改了結(jié)構(gòu)中的元素,參數(shù)復制將可能導致用戶程序出現(xiàn)問題。 例如,某個函數(shù)有一個 IN/OUT 參數(shù)(正常情況下以“傳引用”方式傳遞),但是,數(shù)據(jù)塊和該函數(shù)采用了不同的設(shè)置,則:
采用制作結(jié)構(gòu)副本的方式進行格式轉(zhuǎn)換的后果:該中斷組織塊改寫過的數(shù)據(jù)將被丟失。 對于采用 HMI 寫入的值,情況也同樣如此。 HMI 也可能中斷用戶程序的執(zhí)行,并以和中斷組織塊相同的方式寫入某個值。
解決該問題的方法有很多種:
西門子S7-1200,CPU 1214 FC, 緊湊型 CPU