詳細(xì)介紹
西門子6FC5357-0BB33-0AA0
6FC5357-0BB33-0AA0
SINUMERIK 840D/DE NCU 573.3,650MHz,64MB 不帶系統(tǒng)軟件 存儲器:NC 2.5MB,PLC 96KB PROFIBUS-DP 準(zhǔn)備 符合 IEC 61508
問題:
調(diào)試階段,診斷DP主站系統(tǒng)中的錯誤,有哪幾種方法?
解答:
下列原因可能導(dǎo)致PROFIBUS DP網(wǎng)絡(luò)發(fā)生故障:
- 總線電纜接線/安裝錯誤
- DP主站和DP從站組態(tài)錯誤
- 相關(guān)的PROFIBUS DP網(wǎng)絡(luò)組態(tài)錯誤
- CPU程序中通信尋址錯誤
下面,我們將介紹用于處理上述各種故障源的診斷工具。
總線電纜接線/安裝錯誤
BT200 BUS TESTER
BT200 Bus Tester(BT200總線測試工具)用于檢查接線。PROFIBUS電纜未處于使用中時,可使用BT200 Bus Tester進行下列測試:
檢查PROFIBUS電纜:
- 電線破損
- 防護層破損
- 導(dǎo)線之間短路或者導(dǎo)線和防護層之間短路
- 定位數(shù)據(jù)電纜破損/短路的位置
- 辨別故障原因
- 接線不正確
- 安裝配線的長度
網(wǎng)絡(luò)處于使用中時,也可以使用BT200 Bus Tester進行診斷:
檢查從站的可用性:
- 將可訪問的從站列表
- 選擇性地尋址獨立的從站
檢查主站和從站的RS 485接口:
- RS 485 驅(qū)動
- 線路終端電源
- RTS 信號
- 顯示PROFIBUS DP地址
使用示波器測量信號電平
使用示波器可以顯示PROFIBUS上的信號電平。應(yīng)當(dāng)使用矩形顯示窗口的示波器,需 要專業(yè)人員來對示波器圖像進行評估.
DP主站和DP從站的組態(tài)
在HW Configuration中可以在線或者離線監(jiān)視總線,從而檢查總線上連接的DP主站和DP從站的組態(tài)。可 以從CPU中將組態(tài)下載下來用于離線分析。
如果在HW Configuration中對組態(tài)進行在線分析,可以識別故障或者有缺陷的模塊。對于支持診斷的模塊,也 可以探測潛在的通道故障(如斷線)。
圖 1:HW Configuration的在線視圖
如果模塊發(fā)生故障,則故障時間被記錄在診斷緩沖區(qū)中。
西門子6FC5357-0BB33-0AA0
圖 2:從站發(fā)生故障時CPU的診斷緩沖區(qū)
PROFIBUS DP網(wǎng)絡(luò)
有些用于PROFIBUS的PC接口可提供診斷功能??赏ㄟ^“Set PG/PC Interface”或“Set PC Station”找到它們。
在這里,可以讀出實際總線參數(shù),并以PROFIBUS可用節(jié)點的形式表示。
圖 3:SIMATIC Net 診斷工具
AMPROLYZER
Amprolyzer軟件也可用于分析PROFIBUS網(wǎng)絡(luò),具有下列功能。
- 總線上所有PROFIBUS節(jié)點的生命狀態(tài)監(jiān)視
- 節(jié)點當(dāng)前運行狀態(tài)的總體診斷
- 總線時間統(tǒng)計,如超時和消息循環(huán)
- 傳輸數(shù)據(jù)自動檢測
- 針對事件和消息的內(nèi)容(包含時間標(biāo)志),使用觸發(fā)器和過濾器選項進行消息記錄
- 以Excel格式保存和導(dǎo)出消息記錄
問題:
如何為S7-22x編程一個時間控制的中斷?
解答:
下列CPU可以處理一個時間控制的中斷:
中斷 | CPU221 | CPU222 | CPU224 | CPU226 | CPU226XM |
支持的時間控制中斷的個數(shù) | 2 | 2 | 2 | 2 | 2 |
中斷個數(shù) | 0 和 1 | 0 和 1 | 0 和 1 | 0 和 1 | 0 和 1 |
可能的中斷程序的個數(shù) | INT 0 | INT 0 | INT 0 | INT 0 | INT 0 |
S7-200 支持一個或更多的時間控制的中斷??梢杂脮r間控制中斷來定義要在周期中執(zhí)行的動作。定義的周期時間以 1 毫秒為單位。范圍在 1毫秒(1)至 255 毫秒(255)間。在特殊標(biāo)志字節(jié)SMB34中寫入中斷 0 的周期時間,在SMB35中寫入中斷 1的周期時間。
每當(dāng)延時時間到達時,時間控制中斷事件就會調(diào)用相應(yīng)的中斷程序。通??梢允褂脮r間控制中斷控制模擬量輸入的定期采樣。當(dāng)把一個中斷程序分配給一個時間控制中斷事件時,時間控制中斷就被激活后并開始計時。在樣例中,這是啟動子程序“SBR 0”所做的一的事情。系統(tǒng)確定該周期時間使后續(xù)的修改不會影響到該周期時間。如果想要修改周期時間,必須為周期時間一個新值然后重新將中斷程序賦予該時間控制的中斷。重新賦予時,函數(shù)會刪除以前賦予中累計的時間值并以新值開始運行時間。
命令的作用 | Command | Operand | Example of |
主程序 |
|
|
|
網(wǎng)絡(luò) 1 |
|
|
|
通過查詢只在*個周期里置“1”的標(biāo)志,給該事件分配一個少有的中斷程序號 | LD | SM 0.1 | SM 0.1 |
在*個循環(huán)中調(diào)用子程序“0” | CALL | 0 |
|
主程序結(jié)束 | MEND |
|
|
啟動子程序“0” | SBR | 0 |
|
使用“確定為“ 1 ”的系統(tǒng)標(biāo)志SM 0.1 ”,設(shè)置時間控制段的時間間隔為 100 * 1ms = 100 ms | LD | SM 0.1 |
|
允許使用所有中斷 | ENI |
|
|
分配時間控制中斷“0”到中斷程序“0” | ATCH | INT,EVENT | 0,10 |
終止子程序 | RET |
|
|
啟動中斷程序 | INT | 0 |
|
現(xiàn)在可以寫想要每隔 100 毫秒處理一次的程序 | ....... | .... | .... |
從中斷程序返回 | RETI |
|
|
注意事項:
- CPU根據(jù)中斷發(fā)生的次序和它的優(yōu)先級狀態(tài)對其進行處理。因此對于中斷處理始終只能有 一個程序是激活的。如果一個中斷程序正在被處理,那么它就會首先被處理完畢。它不會被后面出現(xiàn)的中斷程序所打斷即使這個程序有更高的優(yōu)先級。當(dāng)另一個中斷正在被處理時,發(fā)生了一個中斷,那么后面的中斷就會被放入隊列中等待以后的處理。時控中斷隊列中多可放入8個中斷。
- 有可能發(fā)生出現(xiàn)的中斷要多于隊列里可容納的中斷個數(shù)的情況,這樣,系統(tǒng)就會發(fā)出隊列溢出標(biāo)志,而該標(biāo)志指出不能被包括在隊列里的中斷事件的類型。下面的表格為發(fā)生隊列溢出時所設(shè)置的特殊標(biāo)志。只能在中斷程序中使用位 SM 4.0 至 4.2,因為當(dāng)中斷隊列處理完畢后,主程序的處理繼續(xù)進行時它們會被復(fù)位。
隊列 | 特殊標(biāo)志 |
通訊中斷的隊列溢出 | SM 4.0 |
I/O中斷的隊列溢出 | SM 4.1 |
時間控制中斷的隊列溢出 | SM 4.2 |