應用領域 | 化工 | 產地 | 德國 |
---|---|---|---|
品牌 | 西門子 |
為了獲得 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:
參考價 | 面議 |
更新時間:2022-06-18 14:16:13瀏覽次數:267
聯系我們時請說明是化工儀器網上看到的信息,謝謝!
西門子模塊6ES7545-5DA00-0AB0
讀取存儲卡的序列號
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)建一個數據塊,用來存放讀取出來的狀態(tài)結果
圖11 創(chuàng)建DB1,存放讀取結果
打開OB1,首先在OB1的臨時變量區(qū)創(chuàng)建一個變量length,類型設置為Struct(結構)
圖12 創(chuàng)建名為length的結構變量
雙擊length變量,進入結構變量成員定義,創(chuàng)建兩個word類型的變量,本例中分別為size和number:
圖13 創(chuàng)建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序列號
S7-400H CPU的同步
S7-400H CPU通過一對同步光纜進行主備CPU間的自動同步。
上電的H-CPU對,在10分鐘左右的上電自檢后,應該處理STOP模式,并且CPU的正面通過機架指示燈(Rack0/Rack1,機架拔碼在CPU背部)和主CPU指示燈(MSTR)提示當前CPU的主備狀態(tài)。此時可以進行CPU下載以進入冗余模式。
冗余CPU 在進入冗余模式運行之前,Master CPU先運行起來,然后Standby CPU要和Master CPU進行同步。
在調試時,會遇到Master CPU 處于運行狀態(tài),但Standby CPU無法從Stop 變?yōu)?/span>Run狀態(tài)的情況,這是因為同步過程的link-UP 或UPDATE無法進行。此時,請查看以下情況:
q 正在刪除、裝載、生成或者壓縮塊;
q CPU 中調試(Test and commissioning)的功能在激活狀態(tài)。例如,變量表中正在監(jiān)控某些變量;正在監(jiān)控硬件組態(tài)或者程序;
q 兩個CPU 上內存卡不相同;
q 兩個CPU 上的Firmware 版本不一致;
q CPU 上裝的是 Flash 卡,但 Flash 卡上保存的內容不一致;
q 同步模塊是否正常,同步光纖是否正確連接。
q CPU 的機架號是否正確設置,一個為rack 0,另一個為rack1
q 檢查CPU 是否有強制變量,如果有請取消。
q 冗余CPU中H parameters設置是否合適
q 冗余CPU中用于保證OB運行的LOCAL DATA緩存區(qū)設置過小。典型情況是配置了冗余IO的S7-412H的CPU,如果不修改LOCAL DATA的默認值,會出現明明已經裝載了所有OB塊,CPU故障診斷信息中依然提示該OB未裝載或未運行。
裝配S7-400H容錯站的步驟與規(guī)則
(1)安裝機架UR2-H。
(2)在機架上安裝PS407電源模塊,在電池槽內放入2塊鋰電池,撥碼撥到2BATT。
(3)設置冗余CPU的機架號,通過CPU 背板上的開關設置;安裝冗余CPU到機架。
CPU通電后此機架號生效。
(4)將同步子模板插到CPU前面板的兩個IF插槽中,并固定。
(5)連接同步光纜。
將兩個位于上部的同步子模板相連;
將兩個位于下部的同步子模板相連;
(6)通電后CPU自檢查。
CPU**次通電時,將執(zhí)行一次RAM 檢測工作,約需10分鐘。這段時間內CPU 不接收通過通訊接口傳來的數據,并且STOP LED 燈閃爍。如果有備用電池,再次通電時不再做此項檢查工作。
(7)啟動CPU,將CPU撥碼撥到RUN狀態(tài),此刻兩CPU保持STOP。
西門子模塊6ES7545-5DA00-0AB0
編寫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從站的狀態(tài)保存在第三個字節(jié)的Bit 1位中, 地址為Address 3的DP從站的狀態(tài)保存在第三個字節(jié)的Bit 3位中,依次類推。如果從站對應的位未被置位,則表明那個DP從站沒有通信上或不存在。
舉例:從DB1.DBW2開始,每個位對應一個bit,例如3號站對應的位是DB1.DBX2.3 ,站點存在的位為1,不存在的為0。
注意事項:
關于系統(tǒng)功能SFC51的更多詳情請參閱STEP 7的在線幫助,或者通過Start > SIMATIC > documentATION選擇手冊“System Software for S7-300/400 System and Standard Functions"
4讀取CPU的序列號
4.1 編程
說明:
通過 SFC 51“RDSYSST"可以從系統(tǒng)狀態(tài)列表(SSL)中讀取下列標識數據:
下面的表格指明了可以從不同型號和固件版本的 CPU 讀取其它哪些標識數據。為此使用 SFC 51 和 SSL ID W#16#011C。
表3 INDEX說明
索引 | 名稱 | S7-300/C7 | S7-400 |
W#16#0001 | 自動化系統(tǒng)的名稱 | 從固件版本 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 | 為操作系統(tǒng)保留 | - | - |
W#16#0007 | CPU 型號名稱 | - | 支持 |
W#16#0008 | MMC 或 MC 的序列號 (參見條目號:19215608) | 從固件版本 V2.0 起 | - |
(CPU317:從 V2.1 開始) |
需要注意,老CPU升級到上表版本也無法實現此功能。
首先需要創(chuàng)建一個數據塊,用來存放讀取出來的狀態(tài)結果
圖7 創(chuàng)建DB1,存放讀取結果
打開OB1,首先在OB1的臨時變量區(qū)創(chuàng)建一個變量length,類型設置為Struct(結構)
圖8 創(chuàng)建名為length的結構變量
雙擊length變量,進入結構變量成員定義,創(chuàng)建兩個word類型的變量,本例中分別為size和number:
圖9 創(chuàng)建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序列號
注意事項:
關于系統(tǒng)功能SFC51的更多詳情請參閱STEP 7的在線幫助,或者通過Start > SIMATIC > documentATION選擇手冊“System Software for S7-300/400 System and Standard Functions"