- 西門子6DD
- 西門子SIMATIC TDC
- 西門子伺服備件
- 西門子變頻器
- 西門子電源
- 西門子交換機(jī)
- 西門子電機(jī)
- 西門子PLC
- 西門子儀器儀表
- 西門子冷卻風(fēng)機(jī)
- 西門子停產(chǎn)備件
- 西門子低壓軟啟3RW40
- MDEXX(美德克斯)
- 西門子羅賓康變頻器
- 變頻器配件
- 西門子6GT識(shí)別系統(tǒng)
- 奧鋼聯(lián)冶金備件
- 西門子PCS7過程控制系統(tǒng)
- 伺服數(shù)控型S7-300
- 德國(guó)AK產(chǎn)品
- 德國(guó)TWK
- 德國(guó)派克PARKER
- 海德漢
- 西門子S7-200 SMART
- 利德華福變頻器功率單元
- 西門子硬件狗
- 西門子保護(hù)
- 電話: 010-64734946 64734947 64738638
- 傳真: 010-64738090
如何讀取冗余控制器狀態(tài)燈
如果讀取冗余控制器狀態(tài)燈的狀態(tài)?
回答:本文將簡(jiǎn)單介紹通過編程的方式如何讀取冗余控制器的狀態(tài)燈,并附錄相關(guān)源代碼。
控制器運(yùn)行過程中,控制器內(nèi)部的各種不同信息都被保存在 CPU 的內(nèi)部存儲(chǔ)器中,并根 據(jù)運(yùn)行情況由控制器內(nèi)部的操作系統(tǒng)實(shí)時(shí)進(jìn)行更新。在冗余控制器中,這些內(nèi)部信息也包含 了冗余控制器的狀態(tài)燈信息。
在系統(tǒng)提供的系統(tǒng)功能 SFC 中,功能 SFC51(RDSYSST)專門用于讀取系統(tǒng)的狀態(tài)信 息。該功能塊提供的 SSL-ID 功能碼輸入管腳用于設(shè)置需要讀取的信息類型,例如, 16#0013 用于讀取控制器內(nèi)部工作內(nèi)存分配情況;16#00B1 用于讀取模塊的診斷信息;而 16#0074 則可以用于讀取控制器的狀態(tài)燈(包括單 CPU 和冗余 CPU)。
注意:功能碼 16#0019 僅僅支持單 CPU 和冗余 CPU 單機(jī)模式,不能用在普通的冗余 CPU 中。關(guān)于 SFC51 的詳細(xì)幫助請(qǐng)參考 Step7 在向幫助或有個(gè)系統(tǒng)提供的系統(tǒng)功能介紹。
參 數(shù)
聲 明
數(shù)據(jù)類型
描 述
REQ
INPUT
BOOL
REQ = 1:?jiǎn)?dòng)處理
SSL-ID
INPUT
WORD
需要讀取的系統(tǒng)狀態(tài)功能碼
INDEX
INPUT
WORD
部分功能碼中對(duì)象的類型或編號(hào)
如果執(zhí)行 SFC 時(shí)出錯(cuò),則 RET_VAL
RET_VAL
OUTPUT
INT
將包含出錯(cuò)代碼
BUSY
OUTPUT
BOOL
TRUE:尚未完成讀取
數(shù)據(jù)記錄信息:
SSL_HEADER
OUTPUT
STRUCT
LENTHDR:單條數(shù)據(jù)記錄長(zhǎng)度
N_DR:DR中記錄的數(shù)據(jù)記錄的條數(shù) 讀取的數(shù)據(jù)記錄存儲(chǔ)區(qū)域:
• 如果僅讀取了SSL列表的單條信息, 則不能評(píng)估DR的值,而只能評(píng)估
DR
OUTPUT
ANY
SSL_HEADER的值。
• 否則,LENTHDR 和 N_DR 的乘積 為已在 DR 中存儲(chǔ)的字節(jié)數(shù)
表 1. SFC51 接口
SFC51 的輸入/輸出接口如上表所示,其中 SSL-ID 用于指定需要讀取的信息類型(功能 碼);部分功能碼支持單條數(shù)據(jù)記錄的讀取,則此時(shí)可以通過 INDEX 管腳輸入;
SSL_HEADER 指示讀取的數(shù)據(jù)記錄的長(zhǎng)度及數(shù)據(jù)記錄的條數(shù);DR 中則為讀取的數(shù)據(jù)記錄的 存儲(chǔ)空間;
¾ 使用 SSL-ID=16#0074 讀取冗余 CPU 的狀態(tài)燈時(shí),SSL_HEADER 數(shù)據(jù)結(jié)構(gòu)中
LENTHDR= 16#0004,即每條數(shù)據(jù)記錄占用 4 個(gè)字節(jié),具體結(jié)構(gòu)如下表所示:
表 2. DR 數(shù)據(jù)記錄結(jié)構(gòu)
也就是說通過 SFC51(功能碼 16#0074)讀取的數(shù)據(jù)記錄存儲(chǔ)在 DR 中,每條數(shù)據(jù)記錄 都擁有上述的結(jié)構(gòu),每條數(shù)據(jù)記錄通過 CPU_LED_ID 字節(jié) 1(LED 標(biāo)識(shí)符)來標(biāo)識(shí)該記錄 對(duì)應(yīng)的具體 LED,通過評(píng)估記錄的后兩字節(jié),即可判斷該 LED 的當(dāng)前狀態(tài),LED 標(biāo)識(shí)符如 下所示:
W#16#000A:USR1(用戶自定義)
W#16#0001:SF(組出錯(cuò))
W#16#000B:BUS1F(總線出錯(cuò)接口1)
W#16#0002:INTF(內(nèi)部出錯(cuò))
W#16#000C:BUS2F(總線出錯(cuò)接口2)
W#16#0003:EXTF(外部出錯(cuò))
W#16#000D:REDF(冗余出錯(cuò))
W#16#0004:RUN
W#16#000E:MSTR(主站)
W#16#0005:STOP
W#16#000F:RACK0(機(jī)架號(hào)0)
W#16#0006:FRCE(強(qiáng)制)
W#16#0010:RACK1(機(jī)架號(hào)1)
W#16#0007:CRST(冷重啟)
W#16#0011:RACK2(機(jī)架號(hào)2)
W#16#0008:BAF(總線上的電池故障/超
載、電池電壓短路)
W#16#0012:IFM1F(接口出錯(cuò)接口模塊1)
W#16#0009:USR(用戶自定義)
W#16#0013:IFM2F(接口出錯(cuò)接口模塊2)
¾ 使用 SSL-ID=16#0074 讀取冗余 CPU 的狀態(tài)燈時(shí),SSL_HEADER 數(shù)據(jù)結(jié)構(gòu)中 N_DR=
16#001A,即每次讀取并存儲(chǔ)在 DR 中的數(shù)據(jù)記錄條數(shù)最大為 26 條。因此,設(shè)置接受 DR 的數(shù)據(jù)區(qū)間長(zhǎng)度應(yīng)該至少大于等于:
LENTHDR×N_DR=4×26=104 bytes 采用 Step7 編程時(shí),手動(dòng)構(gòu)建如下 DB 塊結(jié)構(gòu):
在相應(yīng)的循環(huán) OB 中調(diào)用 SFC51,具體調(diào)用如下:
注意:由于調(diào)用 SFC51 將占用 CPU 系統(tǒng)資源,建議采用較慢循環(huán)周期的 OB 來調(diào)用該 SFC51,例如 OB32,1 秒鐘調(diào)用一次或更慢。
通過 SSL_74.REQ_S 來啟動(dòng)讀取 LED 信息,所有信息將存儲(chǔ)在 SSL_74.DR。根據(jù)上述 的 DR 數(shù)據(jù)記錄結(jié)構(gòu)表 2 來分析每條數(shù)據(jù)記錄,并將其顯示在 OS 上即可。
隨本文同時(shí)附錄的源代碼有:
♦ @SFC51_LED_H:采用 SCL 編寫的讀取 LED 的源代碼,支持冗余 CPU 和單
CPU 兩種類型的控制器,已經(jīng)在 41x-H V4.0 CPU 測(cè)試通過;
♦
@*.PDL 文件:專門為 PCS7 開發(fā)的上位顯示圖標(biāo)和面板,需結(jié)合上述源代碼
一起使用;
在 CFC 中調(diào)用上述源代碼編寫的功能塊及面板,最終上位顯示效果如下圖所示: