資源描述:
《SFC51功能塊地使用說明書》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、實用文檔1SFC51簡介1.1程序功能介紹通過系統(tǒng)功能SFC51"RDSYSST"(讀取系統(tǒng)狀態(tài)),可以讀取系統(tǒng)狀態(tài)列表或部分系統(tǒng)狀態(tài)列表,例如指示燈狀態(tài),序列號,從站狀態(tài)等等。調(diào)用SFC51時,通過將值“1”賦給輸入?yún)?shù)REQ來啟動讀取。如果可以立即讀取系統(tǒng)狀態(tài),則SFC將在BUSY輸出參數(shù)中返回值0。如果BUSY包含值1,則尚未完成讀取功能。表1SFC51參數(shù)說明參數(shù)描述?REQ輸入?yún)?shù)REQ=1:啟動處理SSL_ID輸入?yún)?shù)將要讀取的系統(tǒng)狀態(tài)列表或部分列表的ID號INDEX輸入?yún)?shù)部分列表中對象的類型或編號。RE
2、T_VAL輸出參數(shù)如果執(zhí)行SFC時出錯,則RET_VAL參數(shù)將包含錯誤代碼。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的乘積將指示
3、已在DR中輸入了多少字節(jié)。2讀取CPU指示燈可以通過SFC51讀取CPU的指示燈狀態(tài),使用的SSL_ID參數(shù)為16#74(16#19)讀取全部指示燈狀態(tài)或者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類型的變量,本例中分別為siz
4、e和number:標準文案實用文檔圖3創(chuàng)建length的結(jié)構(gòu)變量的兩個word成員編寫SFC51程序:CALL"RDSYSST"REQ:=TRUESZL_ID:=W#16#74//讀取全部指示燈狀態(tài)INDEX:=W#16#0RET_VAL:=MW0BUSY:=M2.0SZL_HEADER:=#lengthDR:=P#DB1.DBX0.0BYTE500//結(jié)果輸出到DB1數(shù)據(jù)塊中DB1存放的結(jié)果即為模塊的指示燈狀態(tài),每個指示燈有4個字節(jié)的長度來描述。前兩個字節(jié)表示燈的類型(見表二),表示是SF燈還是BF燈等等。第三個字節(jié)
5、表示燈是亮還是滅,如果為1則燈亮,如果為0則燈的狀態(tài)是滅。第四個字節(jié)表示燈是否閃爍,0表示不閃,1表示正常閃爍(2hz),2,表示慢閃(0.5hz)燈的類型列表如下(不同的CPU會有不同數(shù)目的指示燈):表2前兩個字節(jié)的含義16#1SF16#2INTF16#3EXTF標準文案實用文檔16#4RUN16#5STOP16#6FORCE16#7CRST16#8BAF16#9USR16#AUSR116#BBUS1F16#CBUS2F16#DREDF16#EMSTR注意事項:關(guān)于系統(tǒng)功能SFC51的更多詳情請參閱STEP7的在線幫
6、助,或者通過Start>SIMATIC>DOCUMENTATION選擇手冊“SystemSoftwareforS7-300/400SystemandStandardFunctions”3讀取ProfibusDP從站狀態(tài)3.1編程首先需要創(chuàng)建一個數(shù)據(jù)塊,用來存放讀取出來的狀態(tài)結(jié)果圖4創(chuàng)建DB1,存放讀取結(jié)果打開OB1,首先在OB1的臨時變量區(qū)創(chuàng)建一個變量length,類型設(shè)置為Struct(結(jié)構(gòu))標準文案實用文檔圖5創(chuàng)建名為length的結(jié)構(gòu)變量雙擊length變量,進入結(jié)構(gòu)變量成員定義,創(chuàng)建兩個word類型的變量,本例
7、中分別為size和number:圖6創(chuàng)建length的結(jié)構(gòu)變量的兩個word成員編寫SFC51程序:CALL"RDSYSST"標準文案實用文檔REQ:=TRUESZL_ID:=W#16#294//讀取從站是否存在INDEX:=W#16#1RET_VAL:=MW0BUSY:=M2.0SZL_HEADER:=#lengthDR:=P#DB1.DBX0.0BYTE500//結(jié)果輸出到DB1數(shù)據(jù)塊中在本例中,P#DB1.DBX0.0BYTE500中為每個DP從站(16x8=128)保留一位,地址為Address1的DP從站的狀
8、態(tài)保存在第三個字節(jié)的Bit1位中,地址為Address3的DP從站的狀態(tài)保存在第三個字節(jié)的Bit3位中,依次類推。如果從站對應(yīng)的位未被置位,則表明那個DP從站沒有通信上或不存在。舉例:從DB1.DBW2開始,每個位對應(yīng)一個bit,例如3號站對應(yīng)的位是DB1.DBX2.3,站點存在的位為1,不存在的為0。注意事項:關(guān)于系統(tǒng)功能SFC