標題: 【西門子系統診斷技術】SFC 51簡介 [打印本頁]
作者: hujia 時間: 2015-5-27 23:56
標題: 【西門子系統診斷技術】SFC 51簡介
1 SFC 51簡介
1.1 程序功能介紹
通過系統功能SFC 51 "RDSYSST" (讀取系統狀態),可以讀取系統狀態列表或部分系統狀態列表,例如指示燈狀態,序列號,從站狀態等等。
調用SFC 51時,通過將值“1”賦給輸入參數REQ來啟動讀取。如果可以立即讀取系統狀態,則SFC將在BUSY輸出參數中返回值0。如果BUSY包含值1,則尚未完成讀取功能。
表1 SFC51參數說明
參數 | 描述 | |
REQ | 輸入參數 | REQ = 1:啟動處理 |
SSL_ID | 輸入參數 | 將要讀取的系統狀態列表或部分列表的ID號 |
INDEX | 輸入參數 | 部分列表中對象的類型或編號。 |
RET_VAL | 輸出參數 | 如果執行SFC時出錯,則RET_VAL參數 |
將包含錯誤代碼。 |
BUSY | 輸出參數 | TRUE:尚未完成讀取。 |
SSL_HEADER | 輸出參數 | LENTHDR是SSL列表或SSL部分列表的數據記錄的長度。 |
• 如果僅讀取了SSL列表的標題信息,則N_DR包含屬于它的數據記錄數。 |
• 否則,N_DR包含傳送到目標區域的數據記錄數。 |
DR | 輸出參數 | SSL列表讀取或SSL部分列表讀取的目標區 |
域: |
• 如果僅讀取了SSL列表的標題信息, |
則不能評估DR的值, |
而只能評估SSL_HEADER的值。 |
• 否則,LENTHDR和N_DR的乘積將指 |
示已在DR中輸入了多少字節。 |
2 讀取CPU指示燈
可以通過SFC 51讀取CPU的指示燈狀態,使用的SSL_ID參數為16#74(16#19)讀取全部指示燈狀態 或者16#174(16#119)讀取單個指示燈狀態
2.1 編程
首先需要創建一個數據塊,用來存放讀取出來的指示燈狀態結果

圖1 創建DB1,存放讀取結果
打開OB1,在OB1的臨時變量區創建一個變量length,類型設置為Struct(結構)
圖2 創建名為length的結構變量
雙擊length變量,進入結構變量成員定義,創建兩個word類型的變量,本例中分別為size和number:
圖3 創建length的結構變量的兩個word成員
編寫SFC51程序:
CALL "RDSYSST"
REQ :=TRUE
SZL_ID :=W#16#74 //讀取全部指示燈狀態
INDEX :=W#16#0
RET_VAL :=MW0
BUSY :=M2.0
SZL_HEADER:=#length
DR :=P#DB1.DBX0.0 BYTE 500 //結果輸出到DB1數據塊中
DB1存放的結果即為模塊的指示燈狀態,每個指示燈有4個字節的長度來描述。
前兩個字節表示燈的類型(見表二),表示是SF燈還是BF燈等等。
第三個字節表示燈是亮還是滅,如果為1則燈亮,如果為0則燈的狀態是滅。
第四個字節表示燈是否閃爍,0表示不閃,1表示正常閃爍(2hz),2,表示慢閃(0.5hz)
燈的類型列表如下(不同的CPU會有不同數目的指示燈):
表2 前兩個字節的含義
16#1 | SF |
16#2 | INTF |
16#3 | EXTF |
16#4 | RUN |
16#5 | STOP |
16#6 | FORCE |
16#7 | CRST |
16#8 | BAF |
16#9 | USR |
16#A | USR1 |
16#B | BUS1F |
16#C | BUS2F |
16#D | REDF |
16#E | MSTR |
注意事項:
關于系統功能SFC51的更多詳情請參閱STEP 7的在線幫助,或者通過Start > SIMATIC > DOCUMENTATION選擇手冊“System Software for S7-300/400 System and Standard Functions”
3 讀取Profibus DP從站 狀態
3.1 編程
首先需要創建一個數據塊,用來存放讀取出來的狀態結果

圖4 創建DB1,存放讀取結果
打開OB1,首先在OB1的臨時變量區創建一個變量length,類型設置為Struct(結構)
圖5 創建名為length的結構變量
雙擊length變量,進入結構變量成員定義,創建兩個word類型的變量,本例中分別為size和number:
圖6 創建length的結構變量的兩個word成員
編寫SFC51程序:
CALL "RDSYSST"
REQ :=TRUE
SZL_ID :=W#16#294 //讀取從站是否存在
INDEX :=W#16#1
RET_VAL :=MW0
BUSY :=M2.0
SZL_HEADER:=#length
DR :=P#DB1.DBX0.0 BYTE 500 //結果輸出到DB1數據塊中
在本例中,P#DB1.DBX0.0 BYTE 500中為每個DP從站(16 x 8 = 128)保留一位,地址為Address 1的DP從站的狀態保存在第三個字節的Bit 1位中, 地址為Address 3的DP從站的狀態保存在第三個字節的Bit 3位中,依次類推。如果從站對應的位未被置位,則表明那個DP從站沒有通信上或不存在。
舉例:從DB1.DBW2開始,每個位對應一個bit,例如3號站對應的位是DB1.DBX2.3 ,站點存在的位為1,不存在的為0。
注意事項:
關于系統功能SFC51的更多詳情請參閱STEP 7的在線幫助,或者通過Start > SIMATIC > DOCUMENTATION選擇手冊“System Software for S7-300/400 System and Standard Functions”
4讀取CPU的序列號
4.1 編程
說明:
通過 SFC 51“RDSYSST”可以從系統狀態列表(SSL)中讀取下列標識數據:
下面的表格指明了可以從不同型號和固件版本的 CPU 讀取其它哪些標識數據。為此使用 SFC 51 和 SSL ID W#16#011C。
表3 INDEX說明
索引 | 名稱 | S7-300/C7 | S7-400 |
W#16#0001 | 自動化系統的名稱 | 從固件版本 V2.2 起 | 支持 |
W#16#0002 | CPU 的名稱 | 從固件版本 V2.2 起 | 支持 |
W#16#0003 | CPU 的設備 ID | 從固件版本 V2.2 起 | 支持 |
W#16#0004 | 版權條目 | 從固件版本 V2.2 起 | 支持 |
W#16#0005 | CPU 的序列號 | 從固件版本 V2.2 起 | 從 MLFB |
6ES741x-xxx04-0AB0 起 |
W#16#0006 | 為操作系統保留 | - | - |
W#16#0007 | CPU 型號名稱 | - | 支持 |
W#16#0008 | MMC 或 MC 的序列號 (參見條目號:19215608) | 從固件版本 V2.0 起 | - |
(CPU317:從 V2.1 開始) |
需要注意,老CPU升級到上表版本也無法實現此功能。
首先需要創建一個數據塊,用來存放讀取出來的狀態結果

圖7 創建DB1,存放讀取結果
打開OB1,首先在OB1的臨時變量區創建一個變量length,類型設置為Struct(結構)
圖8 創建名為length的結構變量
雙擊length變量,進入結構變量成員定義,創建兩個word類型的變量,本例中分別為size和number:

圖9 創建length的結構變量的兩個word成員
編寫SFC51程序:
CALL "RDSYSST"
REQ :=TRUE
SZL_ID :=W#16#11C //讀取CPU 的序列號
INDEX :=W#16#5
RET_VAL :=MW0
BUSY :=M2.0
SZL_HEADER:=#length
DR :=P#DB1.DBX0.0 BYTE 500 //結果輸出到DB1數據塊中
結果如下圖:

圖10 CPU序列號
注意事項:
關于系統功能SFC51的更多詳情請參閱STEP 7的在線幫助,或者通過Start > SIMATIC > DOCUMENTATION選擇手冊“System Software for S7-300/400 System and Standard Functions”
5 讀取存儲卡的序列號
5.1 編程
描述:
為了獲得 MMC 卡的序列號,必須使用 SFC 51 "RDSYSST" 讀出系統狀態列表 (SSL) :
• SSL ID W#16#011C "元件的標識"
• Index W#16#0008 "存儲卡的序列號"
對于所有的帶有 MMC 卡的 S7-300 CPU 和 C7 從固件版本 V2.0 起都可以讀出存儲卡的序列號,(CPU 317: 從 V2.1 起)。
從S7-400的V5版本起,存儲卡上保存唯一的序列號。
首先需要創建一個數據塊,用來存放讀取出來的狀態結果

圖11 創建DB1,存放讀取結果
打開OB1,首先在OB1的臨時變量區創建一個變量length,類型設置為Struct(結構)

圖12 創建名為length的結構變量
雙擊length變量,進入結構變量成員定義,創建兩個word類型的變量,本例中分別為size和number:

圖13 創建length的結構變量的兩個word成員
編寫SFC51程序:
CALL "RDSYSST"
REQ :=TRUE
SZL_ID :=W#16#11C //讀取MMC 的序列號
INDEX :=W#16#8
RET_VAL :=MW0
BUSY :=M2.0
SZL_HEADER:=#length
DR :=P#DB1.DBX0.0 BYTE 500 //結果輸出到DB1數據塊中
結果如下:

圖14 MMC序列號
注意事項:
關于系統功能SFC51的更多詳情請參閱STEP 7的在線幫助,或者通過Start > SIMATIC > DOCUMENTATION選擇手冊“System Software for S7-300/400 System and Standard Functions”
歡迎光臨 (http://m.zg4o1577.cn/bbs/) |
Powered by Discuz! X3.1 |
主站蜘蛛池模板:
日本黄页视频
|
国产成人三级在线观看
|
亚洲精品三级
|
av日韩精品
|
久久久精品网
|
欧美日韩在线免费观看
|
亚洲一级在线
|
国产麻豆一区二区三区
|
一区二区三区四区视频
|
欧美日韩第一页
|
日批视频免费在线观看
|
亚洲成人一区二区
|
国产精品久久网
|
www.av在线播放|
色综合天天综合网国产成人网
|
日本免费毛片
|
久久国产一区
|
福利三区
|
久久不雅视频
|
a一级黄色片
|
黄色福利视频
|
97精品国产
|
波多野结衣一区二区三区在线观看
|
3d动漫精品h区xxxxx区
|
亚洲成人免费
|
黄色免费av
|
久久免费看视频
|
不卡中文字幕
|
色婷婷免费视频
|
欧美不卡|
午夜看看
|
激情久久久久
|
亚洲一区二区三区在线视频
|
天堂av中文在线
|
国产黄色免费视频
|
日本在线免费观看视频
|
午夜精品影院
|
九色视频丨porny丨丝袜
|
亚洲视频在线播放
|
国产三级在线观看视频
|
国产精品一
|