西門(mén)子兼中國(guó)各地區(qū)PLC代理商 西門(mén)子兼中國(guó)各地區(qū)PLC代理商
潯之漫智控技術(shù)有限公司 上海詩(shī)慕自動(dòng)化設(shè)備有限公司
本公司銷(xiāo)售西門(mén)子自動(dòng)化產(chǎn)品,*,質(zhì)量保證,價(jià)格優(yōu)勢(shì)
西門(mén)子PLC,西門(mén)子觸摸屏,西門(mén)子數(shù)控系統(tǒng),西門(mén)子軟啟動(dòng),西門(mén)子以太網(wǎng)
西門(mén)子電機(jī),西門(mén)子變頻器,西門(mén)子直流調(diào)速器,西門(mén)子電線電纜
我公司大量現(xiàn)貨供應(yīng),價(jià)格優(yōu)勢(shì),*,德國(guó)*
1.2 S7-1500的錯(cuò)誤處理組織塊
圖1-2
S7-1200與S7-1500支持的錯(cuò)誤處理組織塊的塊號(hào)與S7-300/400保持*,不同的是S7-1500除時(shí)間錯(cuò)誤中斷組織塊OB80的優(yōu)先級(jí)22不能改變外,其它的錯(cuò)誤處理組織塊的優(yōu)先級(jí)都可以修改。如診斷中斷OB82:
圖1-3
除了可以修改錯(cuò)誤中斷OB的優(yōu)先級(jí),S7-1500的事件中斷(如硬件中斷)的優(yōu)先級(jí)也可以修改,這樣用戶(hù)通過(guò)修改優(yōu)先級(jí)可避免重要的中斷請(qǐng)求被其它中斷請(qǐng)求延遲或中斷。
2 CPU對(duì)會(huì)引起錯(cuò)誤中斷的響應(yīng)
CPU對(duì)錯(cuò)誤處理組織塊的響應(yīng)表:
錯(cuò)誤處理OB | 故障類(lèi)別 | ‘到達(dá)事件‘ 觸發(fā) | ‘離去事件‘ 觸發(fā) | OB沒(méi)有裝載CPU停機(jī) | |||
S7-1200 | S7-1500 | S7-300/400 | |||||
OB80 | 超出循環(huán)時(shí)間* | 異步 | 是 | 否 | 是 | 是 | 是 |
時(shí)間錯(cuò)誤** | 否*** | 否*** | 是 | ||||
OB82 | 異步 | 是 | 是 | 否*** | 否*** | 是 | |
OB83 | 異步 | 是 | 是 | - | 否*** | 是 | |
OB86 | 異步 | 是 | 是 | - | 否*** | 是 | |
OB121 | 同步 | 是 | 否 | - | 是 | 是 | |
OB122 | 同步 | 是 | 否 | - | 否*** | 是 |
表2-1
注:
-: 不支持。
*: 超出循環(huán)時(shí)間請(qǐng)求OB80時(shí)而下載OB80并不會(huì)使CPU停機(jī),但如果一個(gè)周期內(nèi)超時(shí)兩倍的循環(huán)監(jiān)控時(shí)間 S7-1200/1500/300/400都會(huì)停機(jī)。
**: 由時(shí)間事件(如循環(huán)中斷,延時(shí)中斷,時(shí)間中斷)觸發(fā)的時(shí)間錯(cuò)誤。
***:CPU不會(huì)停機(jī),但會(huì)在診斷緩沖區(qū)產(chǎn)生診斷記錄。
3 GET_ERROR,GET_ERR_ID對(duì)PLC錯(cuò)誤處理的影響
GET_ERROR和GET_ERR_ID是“獲取本地錯(cuò)誤信息”指令,S7-1200/1500可通過(guò)編程用來(lái)查詢(xún)程序塊內(nèi)出現(xiàn)的錯(cuò)誤,這種程序執(zhí)行中發(fā)生的錯(cuò)誤就是所說(shuō)的‘同步‘錯(cuò)誤。
圖3-1
“獲取本地錯(cuò)誤信息”指令支持塊內(nèi)進(jìn)行本地錯(cuò)誤處理。將“獲取本地錯(cuò)誤信息”插入塊
的程序代碼中時(shí),如果發(fā)生錯(cuò)誤,則將忽略所有預(yù)定義的系統(tǒng)響應(yīng)。
GET_ERROR指令可以讀到詳細(xì)的錯(cuò)誤信息,GET_ERR_ID只讀到其中的錯(cuò)誤編號(hào)。
具體用法可參考軟件在線幫助或參考STEP7 Professional V12的手冊(cè)
因?yàn)镚ET_ERROR和GET_ERR_ID對(duì)PLC的同步錯(cuò)誤處理的影響相同,下面只對(duì)GET_ERROR指令進(jìn)行說(shuō)明。
3.1 GET_ERROR對(duì)S7-1200同步錯(cuò)誤處理的影響
因?yàn)镾7-1200不支持OB121,OB122,在發(fā)生‘同步‘錯(cuò)誤時(shí),只在CPU的診斷緩沖區(qū)產(chǎn)生錯(cuò)誤記錄:同時(shí)ERR LED閃爍
舉例:IO訪問(wèn)錯(cuò)誤
程序中訪問(wèn)了外設(shè)地址ID1000:P,對(duì)S7-1200來(lái)說(shuō),ID1000是默認(rèn)分配給高速計(jì)數(shù)通道HSC1,但是在實(shí)際的組態(tài)中沒(méi)有使能HSC1,那么就不存在這個(gè)外設(shè)。
圖3-2
S7-1200每執(zhí)行一次這條指令,在診斷緩沖區(qū)產(chǎn)生一條錯(cuò)誤記錄,同時(shí)ERR LED閃爍,直到 ”Tag_1”復(fù)位。
圖3-3
在發(fā)生錯(cuò)誤指令的下面執(zhí)行GET_ERROR:
圖3-4
錯(cuò)誤仍然存在,但CPU不報(bào)錯(cuò),診斷緩沖區(qū)也不會(huì)產(chǎn)生任何相關(guān)錯(cuò)誤記錄。
3.2 GET_ERROR對(duì)S7-1500同步錯(cuò)誤處理的影響
與S7-1200比較,因?yàn)镾7-1500支持兩個(gè)同步錯(cuò)誤處理組織塊OB121,OB122,GET_ERROR對(duì)S7-1500的同步錯(cuò)誤處理的影響還要考慮對(duì)OB121,OB122的影響。
本文的表2-1說(shuō)明了S7-1500沒(méi)有執(zhí)行GET_ERROR的情況下CPU的響應(yīng),下面對(duì)同步錯(cuò)誤發(fā)生時(shí)執(zhí)行GET_ERROR后CPU的響應(yīng)。
S7-1500在發(fā)生兩種同步錯(cuò)誤時(shí)在有無(wú)下載對(duì)應(yīng)錯(cuò)誤處理組織塊(程序錯(cuò)誤:OB121,IO訪問(wèn)錯(cuò)誤:O122)的響應(yīng)是不同的,但在發(fā)生這兩種錯(cuò)誤的程序塊中執(zhí)行GET_ERROR后,S7-1500將忽略所有預(yù)定義的對(duì)這個(gè)程序塊中出現(xiàn)的錯(cuò)誤的系統(tǒng)響應(yīng),因此會(huì)產(chǎn)生以下結(jié)果:
n CPU ERR LED不會(huì)閃爍
n 診斷緩沖區(qū)不會(huì)產(chǎn)生錯(cuò)誤記錄
n 不再觸發(fā)OB121和OB122,發(fā)生程序錯(cuò)誤時(shí)即使不下載OB121 CPU也不會(huì)停機(jī)