當具有診斷功能的模塊SF燈亮時,可以通過在線查看模塊診斷信息的方式,縮小故障范圍。
步驟如下:
1. 在STEP 7軟件的硬件組態界面,點擊“在線”按鈕,如下圖所示:
2. 在STEP 7項目中的硬件組態界面,在線后雙擊模擬量模塊,在彈出的“模塊信息”對話框中選擇“Diagnostic Interrupt”選項夾中查看診斷信息。
使用SFC51"RDSYSST"讀取模塊診斷信息。
1. 程序功能介紹
通過系統功能SFC 51 "RDSYSST" (讀取系統狀態),可以讀取系統狀態列表或部分系統狀態列表,例如指示燈狀態,序列號,從站狀態等等。調用SFC 51時,通過將值"1"賦給輸入參數REQ來啟動讀取。如果可以立即讀取系統狀態,則SFC將在BUSY輸出參數中返回值0。如果BUSY包含值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部分列表讀取的目標區 域: |
2.通過SFC 51讀取對應物理地址的模塊的診斷數據記錄1,使用的SSL_ID參數為W#16#00B2讀取AI模塊診斷數據記錄1,編程如下:
首先需要創建一個數據塊,用來存放讀取出來的診斷數據記錄,如下圖所示:
打開OB1,在OB1的臨時變量區創建一個變量SSL_HEADER,類型設置為Struct(結構),如下圖所示:
打開OB1,在OB1的臨時變量區創建一個變量SSL_HEADER,類型設置為Struct(結構),雙擊SSL_HEADER變量,進入結構變量成員定義,創建兩個word類型的變量,本例中分別為LENTHER和N_DR,如下圖所示:
編寫SFC51程序,如下圖所示:
DB1存放的結果即為AI模塊診斷數據記錄1,如下圖所示:
診斷字節的結構如下圖所示:
注意事項:
關于系統功能SFC51的更多詳情請參閱《SIMATIC 用于S7-300/400 系統和標準函數 的系統軟件 卷1/2 參考手冊》:https://support.industry.siemens.com/cs/cn/zh/view/44240604
關于信號模塊的診斷數據的更多詳情請參閱《SIMATIC S7-300 S7-300模塊數據》:https://support.industry.siemens.com/cs/cn/zh/view/8859629
電話:13818569113 15721373211
郵箱:fushidianji@139.com
網址:http://morethanzerosum.com
地址:上海青浦區北青公路7171號111-112室