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