產(chǎn)品簡(jiǎn)介
詳細(xì)介紹
公司主營(yíng):數(shù)控,S7-200PLC S7-300PLC S7-400PLC S7-1200PLC 6ES5 ET200 西門子屏,變頻器,西門子DP電纜 變頻器 6SE70交流工程調(diào)速變頻器6RA70直流調(diào)速裝置 SITOP電源,電線電纜,數(shù)控備件,伺服電機(jī)等工控產(chǎn)品.系統(tǒng)及伺服電機(jī),力矩電機(jī),直線電機(jī),伺服驅(qū)動(dòng)備件等等。主營(yíng)產(chǎn)品或服務(wù):西門子PLC,西門子變頻器,西門子數(shù)控系統(tǒng),西門子伺服電機(jī),西門子人機(jī)界面,西門子軟啟動(dòng)器,西門子觸摸屏,西門子工業(yè)以太網(wǎng),西門子LOGO!
自動(dòng)化科技電子(杭州)有限公司
6AG1212-1HE40-2XB0西門子S7-1200PLC模塊SIPLUS S7-1200 CPU 1212C 直流/直流/繼電器 -40...+70°C 帶防腐蝕涂層 根據(jù) 6ES7212-1HE40-0XB0 . 機(jī)載 I/O: “8 個(gè)數(shù)字輸入 24V DC;6 DO 繼電器 2A;" 2 AI 0-10V DC, 電源:直流 20.4-28.8V DC, 程序存儲(chǔ)器/數(shù)據(jù)存儲(chǔ)器 75
可存儲(chǔ)想要在庫中重復(fù)使用的對(duì)象。 每個(gè)項(xiàng)目都有一個(gè)與之相連的項(xiàng)目庫。
除項(xiàng)目庫外,您還可以創(chuàng)建可在多個(gè)項(xiàng)目中使用的任意數(shù)量的全局庫。
由于庫彼此兼容,因此可以復(fù)制庫要素并將其從一個(gè)庫移動(dòng)到另一個(gè)庫。
庫可用于創(chuàng)建塊的模板:首先將塊粘貼到項(xiàng)目庫中,隨后在其中進(jìn)一步開發(fā)塊。
后,將塊從項(xiàng)目庫復(fù)制到全局庫。 可將全局庫共享給正在使用項(xiàng)目的其他同事。
他們可使用塊并根據(jù)需要進(jìn)一步調(diào)整塊以滿足各自的需求。
有關(guān)庫操作的詳細(xì)信息,請(qǐng)參見 STEP 7 在線幫助庫主題
向塊傳遞參數(shù)
函數(shù)塊 (FB) 和函數(shù) (FC) 有三種不同接口類型:
● IN
● IN/OUT
● OUT
函數(shù)塊和函數(shù)通過 IN 和 IN/OUT 接口類型接收參數(shù)。
塊對(duì)這些數(shù)據(jù)進(jìn)行處理,此后,通過 IN/OUT 和 OUT 接口類型將返回值傳回調(diào)用者。
用戶程序采用以下兩種方法中的某一種傳遞參數(shù)。
傳值
用戶程序以“傳值”(call-by-value)
方式將參數(shù)傳遞給某個(gè)函數(shù)時(shí),用戶程序會(huì)將實(shí)際參數(shù)值復(fù)制給塊的 IN
接口類型的輸入?yún)?shù)。 該操作期間,被復(fù)制值要求使用額外存儲(chǔ)空間
用戶程序以“傳引用”(call-by-reference) 方式向某個(gè)函數(shù)傳遞參數(shù)時(shí),用戶程序?qū)⒁?br />IN/OUT 接口類型的實(shí)參地址,不進(jìn)行值復(fù)制操作。 該操作過程不需要額外的存儲(chǔ)空間。
當(dāng)用戶程序調(diào)用該塊時(shí),會(huì)引用實(shí)際參數(shù)的地址。
說明
通常情況下,針對(duì)結(jié)構(gòu)變量使用 IN/OUT 接口類型(例如,ARRAY、STRUCT 和
STRING),避免不必要地增大所需的數(shù)據(jù)存儲(chǔ)器
6AG1212-1HE40-2XB0西門子S7-1200PLC模塊SIPLUS S7-1200 CPU 1212C 直流/直流/繼電器 -40...+70°C 帶防腐蝕涂層 根據(jù) 6ES7212-1HE40-0XB0 . 機(jī)載 I/O: “8 個(gè)數(shù)字輸入 24V DC;6 DO 繼電器 2A;" 2 AI 0-10V DC, 電源:直流 20.4-28.8V DC, 程序存儲(chǔ)器/數(shù)據(jù)存儲(chǔ)器 75
塊優(yōu)化和參數(shù)傳遞
對(duì)于簡(jiǎn)單數(shù)據(jù)類型(例如,INT、DINT 和 REAL
型),用戶程序可以以“傳值”方式傳遞函數(shù)塊的參數(shù)。
傳遞復(fù)雜數(shù)據(jù)類型(例如,STRUCT、ARRAY 和
STRING)時(shí),可以采用“傳引用”方式。
用戶程序傳遞的函數(shù)塊參數(shù)通常在和該函數(shù)塊相關(guān)的背景數(shù)據(jù)塊 (DB) 中:
● 通過將參數(shù)復(fù)制給背景數(shù)據(jù)塊,或者,復(fù)制位于背景數(shù)據(jù)中參數(shù),用戶程序可以以“傳
值”方式傳遞簡(jiǎn)單數(shù)據(jù)類型(例如,INT、DINT 和 REAL)的參數(shù)。
● 用戶程序?qū)?fù)雜數(shù)據(jù)類型(例如,STRUCT、ARRAY 和 STRING)復(fù)制到用于 IN 和
OUT 參數(shù)類型的背景數(shù)據(jù)塊中,或者,復(fù)制位于該背景數(shù)據(jù)塊中的復(fù)雜數(shù)據(jù)類型。
● 對(duì)于 IN/OUT 接口類型,用戶程序以“傳引用”方式傳遞復(fù)雜數(shù)據(jù)類型。
數(shù)據(jù)塊可以創(chuàng)建成“優(yōu)化的”或“標(biāo)準(zhǔn)的”(未優(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ù)塊的更多說明,請(qǐng)參閱 S7-1200/1500、STEP 7 (TIA Portal) S7
可以創(chuàng)建用來處理優(yōu)化或非優(yōu)化數(shù)據(jù)的函數(shù)塊和函數(shù)。 可以選擇復(fù)選框“優(yōu)化塊訪問”
(Optimized block access),將其作為塊的屬性。
默認(rèn)情況下,用戶程序會(huì)優(yōu)化程序塊;程序塊期望傳遞給該塊的數(shù)據(jù)采用優(yōu)化格式。
用戶向某個(gè)函數(shù)傳遞復(fù)雜參數(shù)(例如,STRUCT
結(jié)構(gòu)的參數(shù))時(shí),系統(tǒng)會(huì)檢查包含該結(jié)構(gòu)的數(shù)據(jù)塊的優(yōu)化設(shè)置和程序塊的優(yōu)化設(shè)置。
如果你同時(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)化了一個(gè)塊且沒有優(yōu)化另一個(gè)塊),
則必須將 STRUCT 轉(zhuǎn)換成函數(shù)所期望的格式。
例如,如果選擇了不優(yōu)化該數(shù)據(jù)塊但優(yōu)化該函數(shù),則數(shù)據(jù)塊中的 STRUCT
須轉(zhuǎn)換成優(yōu)化格式后才能被該函數(shù)進(jìn)行處理。
該轉(zhuǎn)換過程由系統(tǒng)完成,其方法是:先制作該 STRUCT
的一個(gè)“副本”,接著,將它轉(zhuǎn)換成該函數(shù)所期望的優(yōu)化格式
6AG1212-1HE40-2XB0西門子S7-1200PLC模塊SIPLUS S7-1200 CPU 1212C 直流/直流/繼電器 -40...+70°C 帶防腐蝕涂層 根據(jù) 6ES7212-1HE40-0XB0 . 機(jī)載 I/O: “8 個(gè)數(shù)字輸入 24V DC;6 DO 繼電器 2A;" 2 AI 0-10V DC, 電源:直流 20.4-28.8V DC, 程序存儲(chǔ)器/數(shù)據(jù)存儲(chǔ)器 75
3 使用塊來構(gòu)建程序
S7-1200 可編程控制器
212 系統(tǒng)手冊(cè), V4.2, 09/2016, A5E02486685-AK
總而言之,當(dāng)用戶程序?qū)⒛硞€(gè)復(fù)雜數(shù)據(jù)類型(例如,STRUCT)作為 IN/OUT
參數(shù)傳遞給某個(gè)函數(shù)時(shí),該函數(shù)希望用戶程序以“傳引用”方式傳遞 STRUCT。
● 對(duì)于含該結(jié)構(gòu)的數(shù)據(jù)塊和該函數(shù),如果都選擇了優(yōu)化或者不優(yōu)化,用戶程序?qū)⒁?ldquo;傳引
用”方式傳遞數(shù)據(jù)。
● 如果對(duì)數(shù)據(jù)塊和函數(shù)沒有配置相同的優(yōu)化設(shè)置(優(yōu)化其中一個(gè)且不優(yōu)化另一個(gè)),系
統(tǒng)必須先制作 STRUCT 的一個(gè)副本,再將其傳遞給函數(shù)。
由于系統(tǒng)必須制作該結(jié)構(gòu)的副本,因此,該操作可以高效地將“傳引用”轉(zhuǎn)換成“傳值”。
優(yōu)化設(shè)置對(duì)用戶程序的影響作用
如果 HMI 或中斷組織塊更改了結(jié)構(gòu)中的元素,參數(shù)復(fù)制將可能導(dǎo)致用戶程序出現(xiàn)問題。
例如,某個(gè)函數(shù)有一個(gè) IN/OUT
參數(shù)(正常情況下以“傳引用”方式傳遞),但是,數(shù)據(jù)塊和該函數(shù)采用了不同的設(shè)置,
則:
1. 用戶程序準(zhǔn)備調(diào)用該函數(shù)時(shí),系統(tǒng)必須制作該結(jié)構(gòu)的一個(gè)“副本”,以將該數(shù)據(jù)的格式轉(zhuǎn)
換成與該函數(shù)相匹配的格式。
2. 用戶程序采用該結(jié)構(gòu)的該“副本”的引用調(diào)用該函數(shù)。
3. 該函數(shù)運(yùn)行期間出現(xiàn)了一個(gè)中斷組織塊,且該中斷組織塊更改了原結(jié)構(gòu)中的某個(gè)值。
4. 該函數(shù)運(yùn)行完畢。由于該結(jié)構(gòu)是一個(gè) IN/OUT
參數(shù),因此,系統(tǒng)將該值以原來的格式復(fù)制回原結(jié)構(gòu)。
采用制作結(jié)構(gòu)副本的方式進(jìn)行格式轉(zhuǎn)換的后果:該中斷組織塊改寫過的數(shù)據(jù)將被丟失。
對(duì)于采用 HMI 寫入的值,情況也同樣如此。 HMI
也可能中斷用戶程序的執(zhí)行,并以和中斷組織塊相同的方式寫入某個(gè)值。
解決該問題的方法有很多種:
● 方法是:需要使用復(fù)雜數(shù)據(jù)類型(例如,STRUCT)時(shí),對(duì)程序塊和數(shù)據(jù)塊采
用相匹配的優(yōu)化設(shè)置。
這種方法可以保證用戶程序總是以“傳引用”方式進(jìn)行參數(shù)傳遞。
● 另一種方法是使中斷組織塊或 HMI 不直接修改該結(jié)構(gòu)中的元素。 讓組織塊或 HMI
修改另一個(gè)變量,此后,用戶在用戶程序的某個(gè)特定位置將該變量復(fù)制到該結(jié)構(gòu)中