s7300/s7400共享數(shù)據(jù)塊與系統(tǒng)功能的調(diào)用(1)
在西門子的程序中,有些共享數(shù)據(jù)塊在type下只顯示一個(gè)R,也就是表面上看不出來(lái)時(shí)從哪里給共享數(shù)據(jù)塊些數(shù)據(jù)的,西門子plc有種命名方式即符號(hào)地址前加P_的可以直接在DB塊中賦值,今天小編為大家介紹一下s7300/s7400共享數(shù)據(jù)塊與系統(tǒng)功能的調(diào)用,具體步驟如下:
s7300/s7400共享數(shù)據(jù)塊與系統(tǒng)功能的調(diào)用
1、生成數(shù)據(jù)塊
數(shù)據(jù)塊(DB)用來(lái)分類儲(chǔ)存設(shè)備或生產(chǎn)線中變量的值,分為共享數(shù)據(jù)塊和背景塊。共享數(shù)據(jù)塊和符號(hào)表中的變量可供所有的邏輯塊使用,CPU可以用OPN指令分別打開一個(gè)共享數(shù)據(jù)塊和一個(gè)背景數(shù)據(jù)塊。打開數(shù)據(jù)塊DB1后,DB1.DBW2可以簡(jiǎn)寫為DBW2,打開新的數(shù)據(jù)塊時(shí),原來(lái)被打開的數(shù)據(jù)塊自動(dòng)關(guān)閉,
用新建項(xiàng)目向?qū)梢粋€(gè)名為“數(shù)組_SFC”的項(xiàng)目(見隨書光盤中的同名例程)CPU為CPU315-2DP,執(zhí)行SIMATIC管理器的菜單命令“插入”--“S7塊”-“數(shù)據(jù)塊”命令(見圖),生成一個(gè)名為DB1的數(shù)據(jù)塊,默認(rèn)的類型為共享數(shù)據(jù)塊(見圖)。
2、生成數(shù)組
數(shù)據(jù)塊的大小與數(shù)據(jù)塊中變量的個(gè)數(shù)和數(shù)據(jù)類型有關(guān)。數(shù)組由同一類型的數(shù)據(jù)組合成,可以用數(shù)組快速定義數(shù)據(jù)塊的大小。
雙毒打開生成的數(shù)據(jù)塊,其中只有一個(gè)臨時(shí)古位符變量DBVAR。將變量的名稱改為Press。用鼠標(biāo)右鍵單擊“類型”列,執(zhí)行出現(xiàn)的快捷菜單中的“復(fù)雜類型”一-“ARRAY”(見圖),生成一個(gè)數(shù)組。
在出現(xiàn)的“ARRAY[I”的方括號(hào)中,輸入“14”(見圖)。ARRAY[0..4]中的1和4分別是數(shù)組元素的下標(biāo)的下限值和上限值,它們可以是任意的整數(shù)(-32768~32767),上限值應(yīng)大于下限值。選中注釋列的單元后按計(jì)算機(jī)的回車鍵,ARRAY[0..4]下面出現(xiàn)空白單元,在其中輸入數(shù)組元素的數(shù)據(jù)類型INT,結(jié)束了對(duì)數(shù)組的聲明。
圖中生成的是一維數(shù)組,該數(shù)組有4個(gè)數(shù)據(jù)類型為INT的元素。“初始值”列可以輸入用英語(yǔ)的逗號(hào)分隔的各元素的初始值。其中的“2(0)”表示最后兩個(gè)元素的初始值為0.如果不輸入初始值,所有元素的初始值均為默認(rèn)值0。此外還生成了一個(gè)INT變量Voage。圖的“地址”列中的“+0.0”表示數(shù)組的起始字節(jié)地址為0,“*2.0”表示數(shù)組元素的大小為2B,“+8.0”表示數(shù)組的大小為8B。DB1.Press[2]是該數(shù)組中下標(biāo)為2的元素。
3、調(diào)用系統(tǒng)功能
打開OB1,執(zhí)行菜單命令“視圖”一“總覽”,左邊窗口出現(xiàn)指令列表。打開最下面的“庫(kù)StandardLibrarySystmFunctionBlocks”文件夾,可以看到系統(tǒng)功能塊SFB和系統(tǒng)功能SFC,SFC21(FILL)用源存儲(chǔ)區(qū)的內(nèi)容初始化目標(biāo)存儲(chǔ)區(qū),選中該文件夾中的SFC21,按計(jì)算算機(jī)的《Fl〉鍵,打開在線幫助,可以看到對(duì)SFC21的詳細(xì)說(shuō)明和應(yīng)用實(shí)例。
SFC21的3個(gè)參數(shù)均可以采用I、Q、M、D(數(shù)據(jù)塊)和L(局部變量)區(qū),變量BVAL(源區(qū)域)和BLK(目標(biāo)區(qū)域)的數(shù)據(jù)類型均為參數(shù)類型ANY。
將上述庫(kù)文件夾中的SFC21“ILL”拖放到程序區(qū)(見圖),本例調(diào)用SFC21保送MW2的數(shù)據(jù)傳送到DBI的數(shù)組Pess的各單元。在執(zhí)行SFC時(shí)如果出錯(cuò),返回值RET_VAL中是錯(cuò)誤代碼。
SFC20“BLKMOV”(塊傳送)用于將源存儲(chǔ)區(qū)SRCBLK的內(nèi)容復(fù)制到目標(biāo)存DSTBLK,兩個(gè)存儲(chǔ)區(qū)的地址不能重疊。在SIMATIC管理器中生成數(shù)據(jù)塊DB2,刪除自動(dòng)生成的占位符變量,生成一個(gè)有4個(gè)INT元素的數(shù)組Bufferl.在OBI中調(diào)用SFC20,將數(shù)組DB1.Press各元素的值傳送給DB2中的數(shù)組Bufferl(見圖)。
總結(jié):以上內(nèi)容就是小編為大家介紹的s7300/s7400共享數(shù)據(jù)塊與系統(tǒng)功能的調(diào)用(1),本公司是西門子plc代理商,如果您有這方面的任何需求,歡迎大家咨詢?nèi)莞须姎猓覀儗⒔o您真誠(chéng)的服務(wù)。
免責(zé)聲明:本文免費(fèi)為大家學(xué)習(xí)、研究、欣賞,歡迎讀者訪問(wèn)和交流,其版權(quán)歸原著者擁有;本網(wǎng)站所有軟件和資料均為網(wǎng)友推薦收集整理而來(lái),禁止商用。本網(wǎng)站不保證本站提供的下載資源的準(zhǔn)確性、安全性和完整性;同時(shí)本網(wǎng)站也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的損失或傷害;如涉及版權(quán),請(qǐng)聯(lián)系刪除!
標(biāo)題:s7300/s7400共享數(shù)據(jù)塊與系統(tǒng)功能的調(diào)用(1) 地址:http://m.511997.cn/hangye/3912.html