西門子模塊6ES7545-5DA00-0AB0
讀取存儲(chǔ)卡的序列號(hào)
5.1 編程
描述:
為了獲得 MMC 卡的序列號(hào),必須使用 SFC 51 "RDSYSST" 讀出系統(tǒng)狀態(tài)列表 (SSL) :
• SSL ID W#16#011C "元件的標(biāo)識(shí)"
• Index W#16#0008 "存儲(chǔ)卡的序列號(hào)"
對(duì)于所有的帶有 MMC 卡的 S7-300 CPU 和 C7 從固件版本 V2.0 起都可以讀出存儲(chǔ)卡的序列號(hào),(CPU 317: 從 V2.1 起)。
從S7-400的V5版本起,存儲(chǔ)卡上保存**的序列號(hào)。
首先需要?jiǎng)?chuàng)建一個(gè)數(shù)據(jù)塊,用來(lái)存放讀取出來(lái)的狀態(tài)結(jié)果
![](https://support.industry.siemens.com/cs/images/79609718/images_11.png)
圖11 創(chuàng)建DB1,存放讀取結(jié)果
打開(kāi)OB1,首先在OB1的臨時(shí)變量區(qū)創(chuàng)建一個(gè)變量length,類型設(shè)置為Struct(結(jié)構(gòu))
![](https://support.industry.siemens.com/cs/images/79609718/images_12.png)
圖12 創(chuàng)建名為length的結(jié)構(gòu)變量
雙擊length變量,進(jìn)入結(jié)構(gòu)變量成員定義,創(chuàng)建兩個(gè)word類型的變量,本例中分別為size和number:
![](https://support.industry.siemens.com/cs/images/79609718/images_13.png)
圖13 創(chuàng)建length的結(jié)構(gòu)變量的兩個(gè)word成員
編寫(xiě)SFC51程序:
CALL "RDSYSST"
REQ :=TRUE
SZL_ID :=W#16#11C //讀取MMC 的序列號(hào)
INDEX :=W#16#8
RET_VAL :=MW0
BUSY :=M2.0
SZL_HEADER:=#length
DR :=P#DB1.DBX0.0 BYTE 500 //結(jié)果輸出到DB1數(shù)據(jù)塊中
結(jié)果如下:
![](https://support.industry.siemens.com/cs/images/79609718/images_14.png)
圖14 MMC序列號(hào)
S7-400H CPU的同步
S7-400H CPU通過(guò)一對(duì)同步光纜進(jìn)行主備CPU間的自動(dòng)同步。
上電的H-CPU對(duì),在10分鐘左右的上電自檢后,應(yīng)該處理STOP模式,并且CPU的正面通過(guò)機(jī)架指示燈(Rack0/Rack1,機(jī)架拔碼在CPU背部)和主CPU指示燈(MSTR)提示當(dāng)前CPU的主備狀態(tài)。此時(shí)可以進(jìn)行CPU下載以進(jìn)入冗余模式。
冗余CPU 在進(jìn)入冗余模式運(yùn)行之前,Master CPU先運(yùn)行起來(lái),然后Standby CPU要和Master CPU進(jìn)行同步。
![](http://www.ad.siemens.com.cn/productportal/Prods/PCS7_TOP_V2/H_CPU/S7_400H_General_Info/S7_400H_Synchronize/S7_400H_Synchronze/image/image001.png)
在調(diào)試時(shí),會(huì)遇到Master CPU 處于運(yùn)行狀態(tài),但Standby CPU無(wú)法從Stop 變?yōu)?/span>Run狀態(tài)的情況,這是因?yàn)橥竭^(guò)程的link-UP 或UPDATE無(wú)法進(jìn)行。此時(shí),請(qǐng)查看以下情況:
q 正在刪除、裝載、生成或者壓縮塊;
q CPU 中調(diào)試(Test and commissioning)的功能在激活狀態(tài)。例如,變量表中正在監(jiān)控某些變量;正在監(jiān)控硬件組態(tài)或者程序;
q 兩個(gè)CPU 上內(nèi)存卡不相同;
q 兩個(gè)CPU 上的Firmware 版本不一致;
q CPU 上裝的是 Flash 卡,但 Flash 卡上保存的內(nèi)容不一致;
q 同步模塊是否正常,同步光纖是否正確連接。
q CPU 的機(jī)架號(hào)是否正確設(shè)置,一個(gè)為rack 0,另一個(gè)為rack1
q 檢查CPU 是否有強(qiáng)制變量,如果有請(qǐng)取消。
q 冗余CPU中H parameters設(shè)置是否合適
q 冗余CPU中用于保證OB運(yùn)行的LOCAL DATA緩存區(qū)設(shè)置過(guò)小。典型情況是配置了冗余IO的S7-412H的CPU,如果不修改LOCAL DATA的默認(rèn)值,會(huì)出現(xiàn)明明已經(jīng)裝載了所有OB塊,CPU故障診斷信息中依然提示該OB未裝載或未運(yùn)行。
裝配S7-400H容錯(cuò)站的步驟與規(guī)則
裝配S7-400H 站的步驟
(1)安裝機(jī)架UR2-H。
(2)在機(jī)架上安裝PS407電源模塊,在電池槽內(nèi)放入2塊鋰電池,撥碼撥到2BATT。
(3)設(shè)置冗余CPU的機(jī)架號(hào),通過(guò)CPU 背板上的開(kāi)關(guān)設(shè)置;安裝冗余CPU到機(jī)架。
CPU通電后此機(jī)架號(hào)生效。
(4)將同步子模板插到CPU前面板的兩個(gè)IF插槽中,并固定。
(5)連接同步光纜。
將兩個(gè)位于上部的同步子模板相連;
將兩個(gè)位于下部的同步子模板相連;
(6)通電后CPU自檢查。
CPU**次通電時(shí),將執(zhí)行一次RAM 檢測(cè)工作,約需10分鐘。這段時(shí)間內(nèi)CPU 不接收通過(guò)通訊接口傳來(lái)的數(shù)據(jù),并且STOP LED 燈閃爍。如果有備用電池,再次通電時(shí)不再做此項(xiàng)檢查工作。
(7)啟動(dòng)CPU,將CPU撥碼撥到RUN狀態(tài),此刻兩CPU保持STOP。
![Des<em></em>cription: C:UsersPCS7DesktopTO OSTO OSPCS7_TOP_V1H_CPUS7_400H_General_InfoS7_400H_Assembleimageimage001.png](http://www.ad.siemens.com.cn/productportal/Prods/PCS7_TOP_V2/H_CPU/S7_400H_General_Info/S7_400H_Assemble/image/image001.png)
西門子模塊6ES7545-5DA00-0AB0
編寫(xiě)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 //結(jié)果輸出到DB1數(shù)據(jù)塊中
在本例中,P#DB1.DBX0.0 BYTE 500中為每個(gè)DP從站(16 x 8 = 128)保留一位,地址為Address 1的DP從站的狀態(tài)保存在第三個(gè)字節(jié)的Bit 1位中, 地址為Address 3的DP從站的狀態(tài)保存在第三個(gè)字節(jié)的Bit 3位中,依次類推。如果從站對(duì)應(yīng)的位未被置位,則表明那個(gè)DP從站沒(méi)有通信上或不存在。
舉例:從DB1.DBW2開(kāi)始,每個(gè)位對(duì)應(yīng)一個(gè)bit,例如3號(hào)站對(duì)應(yīng)的位是DB1.DBX2.3 ,站點(diǎn)存在的位為1,不存在的為0。
注意事項(xiàng):
關(guān)于系統(tǒng)功能SFC51的更多詳情請(qǐng)參閱STEP 7的在線幫助,或者通過(guò)Start > SIMATIC > documentATION選擇手冊(cè)“System Software for S7-300/400 System and Standard Functions"
4讀取CPU的序列號(hào)
4.1 編程
說(shuō)明:
通過(guò) SFC 51“RDSYSST"可以從系統(tǒng)狀態(tài)列表(SSL)中讀取下列標(biāo)識(shí)數(shù)據(jù):
下面的表格指明了可以從不同型號(hào)和固件版本的 CPU 讀取其它哪些標(biāo)識(shí)數(shù)據(jù)。為此使用 SFC 51 和 SSL ID W#16#011C。
表3 INDEX說(shuō)明
索引 | 名稱 | S7-300/C7 | S7-400 |
W#16#0001 | 自動(dòng)化系統(tǒng)的名稱 | 從固件版本 V2.2 起 | 支持 |
W#16#0002 | CPU 的名稱 | 從固件版本 V2.2 起 | 支持 |
W#16#0003 | CPU 的設(shè)備 ID | 從固件版本 V2.2 起 | 支持 |
W#16#0004 | 版權(quán)條目 | 從固件版本 V2.2 起 | 支持 |
W#16#0005 | CPU 的序列號(hào) | 從固件版本 V2.2 起 | 從 MLFB |
6ES741x-xxx04-0AB0 起 |
W#16#0006 | 為操作系統(tǒng)保留 | - | - |
W#16#0007 | CPU 型號(hào)名稱 | - | 支持 |
W#16#0008 | MMC 或 MC 的序列號(hào) (參見(jiàn)條目號(hào):19215608) | 從固件版本 V2.0 起 | - |
(CPU317:從 V2.1 開(kāi)始) |
需要注意,老CPU升級(jí)到上表版本也無(wú)法實(shí)現(xiàn)此功能。
首先需要?jiǎng)?chuàng)建一個(gè)數(shù)據(jù)塊,用來(lái)存放讀取出來(lái)的狀態(tài)結(jié)果
![](https://support.industry.siemens.com/cs/images/79609718/images_07.png)
圖7 創(chuàng)建DB1,存放讀取結(jié)果
打開(kāi)OB1,首先在OB1的臨時(shí)變量區(qū)創(chuàng)建一個(gè)變量length,類型設(shè)置為Struct(結(jié)構(gòu))
![](https://support.industry.siemens.com/cs/images/79609718/images_08.png)
圖8 創(chuàng)建名為length的結(jié)構(gòu)變量
雙擊length變量,進(jìn)入結(jié)構(gòu)變量成員定義,創(chuàng)建兩個(gè)word類型的變量,本例中分別為size和number:
![](https://support.industry.siemens.com/cs/images/79609718/images_09.png)
圖9 創(chuàng)建length的結(jié)構(gòu)變量的兩個(gè)word成員
編寫(xiě)SFC51程序:
CALL "RDSYSST"
REQ :=TRUE
SZL_ID :=W#16#11C //讀取CPU 的序列號(hào)
INDEX :=W#16#5
RET_VAL :=MW0
BUSY :=M2.0
SZL_HEADER:=#length
DR :=P#DB1.DBX0.0 BYTE 500 //結(jié)果輸出到DB1數(shù)據(jù)塊中
結(jié)果如下圖:
![](https://support.industry.siemens.com/cs/images/79609718/images_10.png)
圖10 CPU序列號(hào)
注意事項(xiàng):
關(guān)于系統(tǒng)功能SFC51的更多詳情請(qǐng)參閱STEP 7的在線幫助,或者通過(guò)Start > SIMATIC > documentATION選擇手冊(cè)“System Software for S7-300/400 System and Standard Functions"