這個條目講解了在 STEP 7 V5.5 的軟件中,如何在用戶程序中讀取 S7-300 CPU 的 IP 地址。 為了這個目的,可以在用戶程序中調用系統功能塊 SFC51 "RDSYSST" 。 通過使用系統功能塊 SFC51“RDSYSST” 可以讀出系統狀態列表的部分列表或部分列表摘要 (SSL 或 德語簡稱 SZL)。通過SSLID和索引,對于某些部分列表或部分列表摘錄,必須指定對象類型或對象編號。使用SSL ID = 37(十六進制)和索引= 0(十六進制)的地址讀取 S7-300 CPU 的 IP 地址。
這個例子是在功能塊 FB1 中調用系統功能塊 SFC51 "RDSYSST" 。 在 OB1 中調用 FB1。
圖 01
系統功能塊 SFC51 "RDSYSST" 的輸入輸出定義
表 01 列舉出系統功能塊 SFC51 "RDSYSST" 的輸入定義。
參數 | 數據類型 | 描述 |
REQ | BOOLEAN | REQ=1: 上升沿有效 |
SZL_ID | WORD | 部分列表摘錄的 SSL_ID
SSL_ID=w#16#37: 讀取 S7-300 CPU 的IP地址 |
INDEX | WORD | 部分列表對象的類型或者數目
INDEX=w#16#0: 讀取 S7-300 CPU 的IP地址 |
表 01
表 02 列舉出系統功能塊 SFC51 "RDSYSST" 的輸出定義。
參數 | 數據類型 | 描述 |
RET_VAL | INT | 如果在指令進程中出現 個錯誤,RET_VAL將給出錯誤代碼 |
BUSY | BOOLEAN | TRUE: 讀取進程尚未完成 |
SZL_HEADER | STRUCT | The SZL_HEADER 是 個數據結構。這個結構被描述為 "SZL_HEADER structure"。 |
DR | ANY | 讀取SSL的部分列表或部分列表摘錄的目標區域。 |
表 02
SZL_HEADER 結構
SZL_HEADER 的輸出被定義為如下結構:
SZL_HEADER: STRUCT
LENTHDR: WORD
N_DR: WORD
END_STRUCT
LENTHDR 定義為 SZL 列表的數據記錄部分或者摘錄部分的長度。
用于讀取 SSL 部分列表或摘錄部分的目標區域
在這個例子中,讀取 SSL 部分列表被保存在數據塊 DB100 "SYS_DATA" 起始地址 0 開始。S7-300 CPU 的 IP 地址占了 4 個字節,存儲在 DB100 "SYS_DATA"地址 2 開始的地址中,十六進制存儲格式。
滬公網安備31012002006133