SFC51功能塊的使用說明_第1頁
SFC51功能塊的使用說明_第2頁
SFC51功能塊的使用說明_第3頁
SFC51功能塊的使用說明_第4頁
SFC51功能塊的使用說明_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、.1 SFC 51簡介11 程序功能介紹通過系統(tǒng)功能SFC 51 RDSYSST (讀取系統(tǒng)狀態(tài)),可以讀取系統(tǒng)狀態(tài)列表或部分系統(tǒng)狀態(tài)列表,例如指示燈狀態(tài),序列號,從站狀態(tài)等等。調(diào)用SFC 51時,通過將值“1”賦給輸入?yún)?shù)REQ來啟動讀取。如果可以立即讀取系統(tǒng)狀態(tài),則SFC將在BUSY輸出參數(shù)中返回值0。如果BUSY包含值1,則尚未完成讀取功能。表1 SFC51參數(shù)說明參數(shù)描述REQ輸入?yún)?shù)REQ = 1:啟動處理SSL_ID輸入?yún)?shù)將要讀取的系統(tǒng)狀態(tài)列表或部分列表的ID號INDEX輸入?yún)?shù)部分列表中對象的類型或編號。RET_VAL輸出參數(shù)如果執(zhí)行SFC時出錯,則RET_VAL參數(shù)將包含錯誤

2、代碼。BUSY輸出參數(shù)TRUE:尚未完成讀取。SSL_HEADER輸出參數(shù)LENTHDR是SSL列表或SSL部分列表的數(shù)據(jù)記錄的長度。如果僅讀取了SSL列表的標題信息,則N_DR包含屬于它的數(shù)據(jù)記錄數(shù)。否則,N_DR包含傳送到目標區(qū)域的數(shù)據(jù)記錄數(shù)。DR輸出參數(shù)SSL列表讀取或SSL部分列表讀取的目標區(qū)域:如果僅讀取了SSL列表的標題信息,則不能評估DR的值,而只能評估SSL_HEADER的值。否則,LENTHDR和N_DR的乘積將指示已在DR中輸入了多少字節(jié)。2 讀取CPU指示燈可以通過SFC 51讀取CPU的指示燈狀態(tài),使用的SSL_ID參數(shù)為16#74(16#19)讀取全部指示燈狀態(tài) 或者

3、16#174(16#119)讀取單個指示燈狀態(tài)2.1 編程首先需要創(chuàng)建一個數(shù)據(jù)塊,用來存放讀取出來的指示燈狀態(tài)結(jié)果圖1 創(chuàng)建DB1,存放讀取結(jié)果打開OB1,在OB1的臨時變量區(qū)創(chuàng)建一個變量length,類型設(shè)置為Struct(結(jié)構(gòu))圖2 創(chuàng)建名為length的結(jié)構(gòu)變量雙擊length變量,進入結(jié)構(gòu)變量成員定義,創(chuàng)建兩個word類型的變量,本例中分別為size和number:圖3 創(chuàng)建length的結(jié)構(gòu)變量的兩個word成員編寫SFC51程序:CALL RDSYSSTREQ :=TRUESZL_ID :=W#16#74 /讀取全部指示燈狀態(tài)INDEX :=W#16#0RET_VAL :=MW0B

4、USY :=M2.0SZL_HEADER:=#lengthDR :=P#DB1.DBX0.0 BYTE 500 /結(jié)果輸出到DB1數(shù)據(jù)塊中DB1存放的結(jié)果即為模塊的指示燈狀態(tài),每個指示燈有4個字節(jié)的長度來描述。前兩個字節(jié)表示燈的類型(見表二),表示是SF燈還是BF燈等等。第三個字節(jié)表示燈是亮還是滅,如果為1則燈亮,如果為0則燈的狀態(tài)是滅。第四個字節(jié)表示燈是否閃爍,0表示不閃,1表示正常閃爍(2hz),2,表示慢閃(0.5hz)燈的類型列表如下(不同的CPU會有不同數(shù)目的指示燈):表2 前兩個字節(jié)的含義16#1SF16#2INTF16#3EXTF16#4RUN16#5STOP16#6FORCE1

5、6#7CRST16#8BAF16#9USR16#AUSR116#BBUS1F16#CBUS2F16#DREDF16#EMSTR注意事項:關(guān)于系統(tǒng)功能SFC51的更多詳情請參閱STEP 7的在線幫助,或者通過Start SIMATIC DOCUMENTATION選擇手冊“System Software for S7-300/400 System and Standard Functions”3 讀取Profibus DP從站 狀態(tài)3.1 編程首先需要創(chuàng)建一個數(shù)據(jù)塊,用來存放讀取出來的狀態(tài)結(jié)果圖4 創(chuàng)建DB1,存放讀取結(jié)果打開OB1,首先在OB1的臨時變量區(qū)創(chuàng)建一個變量length,類型設(shè)置為St

6、ruct(結(jié)構(gòu))圖5 創(chuàng)建名為length的結(jié)構(gòu)變量雙擊length變量,進入結(jié)構(gòu)變量成員定義,創(chuàng)建兩個word類型的變量,本例中分別為size和number:圖6 創(chuàng)建length的結(jié)構(gòu)變量的兩個word成員編寫SFC51程序:CALL RDSYSSTREQ :=TRUESZL_ID :=W#16#294 /讀取從站是否存在INDEX :=W#16#1RET_VAL :=MW0BUSY :=M2.0SZL_HEADER:=#lengthDR :=P#DB1.DBX0.0 BYTE 500 /結(jié)果輸出到DB1數(shù)據(jù)塊中在本例中,P#DB1.DBX0.0 BYTE 500中為每個DP從站(16 x

7、 8 = 128)保留一位,地址為Address 1的DP從站的狀態(tài)保存在第三個字節(jié)的Bit 1位中, 地址為Address 3的DP從站的狀態(tài)保存在第三個字節(jié)的Bit 3位中,依次類推。如果從站對應(yīng)的位未被置位,則表明那個DP從站沒有通信上或不存在。舉例:從DB1.DBW2開始,每個位對應(yīng)一個bit,例如3號站對應(yīng)的位是DB1.DBX2.3 ,站點存在的位為1,不存在的為0。注意事項:關(guān)于系統(tǒng)功能SFC51的更多詳情請參閱STEP 7的在線幫助,或者通過Start SIMATIC DOCUMENTATION選擇手冊“System Software for S7-300/400 System

8、and Standard Functions”4讀取CPU的序列號4.1 編程說明:通過 SFC 51“RDSYSST”可以從系統(tǒng)狀態(tài)列表(SSL)中讀取下列標識數(shù)據(jù):下面的表格指明了可以從不同型號和固件版本的 CPU 讀取其它哪些標識數(shù)據(jù)。為此使用 SFC 51 和 SSL ID W#16#011C。表3 INDEX說明索引名稱S7-300/C7S7-400W#16#0001自動化系統(tǒng)的名稱從固件版本V2.2起支持W#16#0002CPU的名稱從固件版本V2.2起支持W#16#0003CPU的設(shè)備ID從固件版本V2.2起支持W#16#0004版權(quán)條目從固件版本V2.2起支持W#16#0005

9、CPU的序列號從固件版本V2.2起從MLFB6ES741x-xxx04-0AB0起W#16#0006為操作系統(tǒng)保留-W#16#0007CPU型號名稱-支持W#16#0008MMC 或 MC 的序列號 (參見條目號:19215608)從固件版本V2.0起-(CPU317:從V2.1開始)需要注意,老CPU升級到上表版本也無法實現(xiàn)此功能。首先需要創(chuàng)建一個數(shù)據(jù)塊,用來存放讀取出來的狀態(tài)結(jié)果圖7 創(chuàng)建DB1,存放讀取結(jié)果打開OB1,首先在OB1的臨時變量區(qū)創(chuàng)建一個變量length,類型設(shè)置為Struct(結(jié)構(gòu))圖8 創(chuàng)建名為length的結(jié)構(gòu)變量雙擊length變量,進入結(jié)構(gòu)變量成員定義,創(chuàng)建兩個wo

10、rd類型的變量,本例中分別為size和number:圖9 創(chuàng)建length的結(jié)構(gòu)變量的兩個word成員編寫SFC51程序:CALL RDSYSSTREQ :=TRUESZL_ID :=W#16#11C /讀取CPU 的序列號INDEX :=W#16#5RET_VAL :=MW0BUSY :=M2.0SZL_HEADER:=#lengthDR :=P#DB1.DBX0.0 BYTE 500 /結(jié)果輸出到DB1數(shù)據(jù)塊中結(jié)果如下圖:圖10 CPU序列號注意事項:關(guān)于系統(tǒng)功能SFC51的更多詳情請參閱STEP 7的在線幫助,或者通過Start SIMATIC DOCUMENTATION選擇手冊“Sys

11、tem Software for S7-300/400 System and Standard Functions”5 讀取存儲卡的序列號5.1 編程描述:為了獲得 MMC 卡的序列號,必須使用 SFC 51 RDSYSST 讀出系統(tǒng)狀態(tài)列表 (SSL) : SSL ID W#16#011C 元件的標識 Index W#16#0008 存儲卡的序列號對于所有的帶有 MMC 卡的 S7-300 CPU 和 C7 從固件版本 V2.0 起都可以讀出存儲卡的序列號,(CPU 317: 從 V2.1 起)。從S7-400的V5版本起,存儲卡上保存唯一的序列號。首先需要創(chuàng)建一個數(shù)據(jù)塊,用來存放讀取出來的

12、狀態(tài)結(jié)果圖11 創(chuàng)建DB1,存放讀取結(jié)果打開OB1,首先在OB1的臨時變量區(qū)創(chuàng)建一個變量length,類型設(shè)置為Struct(結(jié)構(gòu))圖12 創(chuàng)建名為length的結(jié)構(gòu)變量雙擊length變量,進入結(jié)構(gòu)變量成員定義,創(chuàng)建兩個word類型的變量,本例中分別為size和number:圖13 創(chuàng)建length的結(jié)構(gòu)變量的兩個word成員編寫SFC51程序:CALL RDSYSSTREQ :=TRUESZL_ID :=W#16#11C /讀取MMC 的序列號INDEX :=W#16#8RET_VAL :=MW0BUSY :=M2.0SZL_HEADER:=#lengthDR :=P#DB1.DBX0.0 BYTE 500 /結(jié)果輸出到DB1數(shù)據(jù)塊中結(jié)果如下:圖14 MMC序列號注意事項:關(guān)于系統(tǒng)功能SF

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論