久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

使用OB8x診斷SIMATIC PLC(PN)

 彎丘 2019-06-23

SIMATIC S7-300和S7-400使用廣泛,,應(yīng)用在各行各業(yè)的工業(yè)環(huán)境中,。在調(diào)試和使用PLC和相關(guān)網(wǎng)絡(luò)過(guò)程中,發(fā)生一些PLC或者網(wǎng)絡(luò)故障是不可避免的,。故障出現(xiàn)后,,用戶可能無(wú)法從上位機(jī)獲取相關(guān)診斷信息,只有通過(guò)連接PG到PLC上,,使用Step7在線的方式或者查看CPU的診斷信息來(lái)分析和判斷故障原因,,根據(jù)所提示的內(nèi)容來(lái)解決現(xiàn)場(chǎng)問(wèn)題,。

但是通過(guò)上述方法,,由于獲取故障信息緩慢,從而不能快速有效的解決現(xiàn)場(chǎng)問(wèn)題。西門子對(duì)于PLC和相關(guān)網(wǎng)絡(luò)提供多種多樣的診斷方式,,包括使用故障組織塊例如OB82,OB86,,診斷功能塊,例如SFC51,SFC13,SFB52等,,使用RSE/WinCC/WinCC flexible方式,,使用Web服務(wù)(集成在新的PN CPU中),使用已有的診斷方式,,例如FB126,,或者使用Maintenance station(維護(hù)站)等方式。其中使用 OB8x ( 359 KB ) 是最簡(jiǎn)單最基本的獲取基本故障信息的方法,,同時(shí)也可以配合診斷功能塊進(jìn)行詳細(xì)故障的診斷,。

SIMATIC PLC判斷發(fā)生故障,會(huì)立即調(diào)用相應(yīng)的故障組織塊OB,,如果PLC中沒(méi)有加入相應(yīng)的組織塊PLC可能會(huì)停機(jī),,停機(jī)的目的就是保證生產(chǎn)過(guò)程處于安全狀態(tài)。如果使用OB8x而沒(méi)有編寫任何診斷程序在用戶程序中,,PLC雖然不會(huì)因?yàn)榘l(fā)生故障而停機(jī),,但是這種方式并不可取。不能讓產(chǎn)生故障的PLC仍無(wú)條件的運(yùn)行,,因?yàn)檫@種方式可能導(dǎo)致生產(chǎn)處于某種危險(xiǎn)的狀態(tài),。例如,當(dāng)DO模塊發(fā)生斷線故障,,相關(guān)的控制設(shè)備因此停止,,但是DO可能并沒(méi)有獲取故障信息而停止輸出,如果維護(hù)人員檢查故障并做好接線后,,DO會(huì)立刻輸出控制信號(hào)導(dǎo)致相應(yīng)的控制設(shè)備動(dòng)作,,這可能會(huì)造成現(xiàn)場(chǎng)人員或者設(shè)備的傷害。最好的方式之一就是通過(guò)OB8x獲取故障信息,,然后通過(guò)編程連鎖該輸出信號(hào),,使其輸出為“0”,當(dāng)維修完畢后,,通過(guò)用戶確認(rèn)后(例如上位機(jī)界面中的操作按鈕),,然后再輸出信號(hào)“1”。所以使用OB8x就是快速的獲取故障信息,,然后根據(jù)此類故障進(jìn)行條件式的監(jiān)視和處理,,這樣才是有效使用PLC的方法。

本文介紹如何使用OB82,OB83,以及OB86來(lái)判斷現(xiàn)場(chǎng)故障,,并作出相應(yīng)的處理,。OB82為診斷中斷組織塊,,相關(guān)的診斷報(bào)警例如“DO模板的DO信號(hào)斷線”會(huì)使PLC調(diào)用OB82;OB83為插拔中斷組織塊,,當(dāng)插拔機(jī)架上的模塊時(shí)PLC會(huì)調(diào)用OB83,;OB86為機(jī)架故障組織塊,當(dāng)擴(kuò)展機(jī)架丟失,,分布式IO掉站時(shí),,PLC會(huì)調(diào)用OB86。各個(gè)組織塊的詳細(xì)信息可以參看下面介紹,。

上述組織塊都具有20個(gè)字節(jié)的臨時(shí)變量,,對(duì)于用戶在編程時(shí)不能占用和修改這些臨時(shí)變量。這些臨時(shí)變量會(huì)由PLC在調(diào)用相應(yīng)的故障組織塊時(shí)自動(dòng)生成,,所以這些臨時(shí)變量為只讀屬性,,用戶只需要讀取這些臨時(shí)變量的數(shù)值或者狀態(tài)來(lái)判斷哪里出現(xiàn)什么樣的故障。每一個(gè)故障組織塊的臨時(shí)變量隨診斷功能的不同而不同,,另外還可以根據(jù)相應(yīng)故障組織塊的臨時(shí)變量OB8x_Date_Time得到故障出現(xiàn)的時(shí)間日期,。該時(shí)間雖然是調(diào)用相關(guān)OB8x的時(shí)間,但是也可以參考故障出現(xiàn)的大致時(shí)間,。

1,, OB82診斷

OB82是診斷中斷組織塊。

PLC的模板狀態(tài)從嚴(yán)重程度上可以分為兩類,,一類表示“完好”,,一類表示“故障”。然而對(duì)于PROFINET模板其狀態(tài)具有另外一種中間狀態(tài),,該狀態(tài)處于“完好”和“故障”之間,,是一種臨界狀態(tài),稱為“維護(hù)”,,利用該狀態(tài)用戶可以盡早的發(fā)現(xiàn)故障,,盡快維護(hù)現(xiàn)場(chǎng)設(shè)備,可以有效的防止由于故障導(dǎo)致生產(chǎn)的停頓,。

使用該組織塊診斷“故障”,。首先要求PLC的模板具有診斷能力,然后通過(guò)組態(tài)使能相關(guān)診斷(Diagnostics:)去檢測(cè)一個(gè)故障事件,,例如“斷線”(wire break),,“短路”(short circuit to M)等,參考圖1 ET200S DO模塊的參數(shù)設(shè)置,。相關(guān)的診斷“故障”的方法參考上述連接文檔,。

使用該組織塊診斷“維護(hù)”。對(duì)于PROFINET的接口模板,,例如ET200S IM151-3 PN HF接口模塊支持檢測(cè)網(wǎng)絡(luò)錯(cuò)誤,,包括同步丟失,,端口連接狀態(tài),光纖信號(hào)質(zhì)量等,。這些事件就是維護(hù)中斷事件,同樣也需要通過(guò)組態(tài)使能檢測(cè)網(wǎng)絡(luò)錯(cuò)誤參考圖2,,當(dāng)這些事件出現(xiàn)后,,接口模板的MAINT/FO燈亮。如果需要CPU獲取這些維護(hù)信息,,需要在CPU的PN-IO屬性中設(shè)置使能OB82,,參考圖3 使能OB82/I/O fault task。

圖1 ET200S DO模塊的參數(shù)設(shè)置

圖2 使能檢測(cè)ET200S接口模塊的網(wǎng)絡(luò)錯(cuò)誤

圖3 使能OB82/I/O fault task

當(dāng)它檢測(cè)到維護(hù)事件時(shí),,它輸出一個(gè)診斷中斷請(qǐng)求給CPU(到來(lái)和離去事件),。于是操作系統(tǒng)調(diào)用OB82。如果沒(méi)有下載OB82到PLC中,,那么PLC會(huì)停機(jī),。

OB82 的局部變量中除了包含故障模塊的邏輯地址OB82_MDL_ADDR,還包含故障模板四個(gè)BYTE 的診斷數(shù)據(jù)LB8,,OB82_MDL_TYPE,,LB10,LB11,。具體信息可以查看Step7在線幫助OB82,。

下面舉一個(gè)維護(hù)的例子,組態(tài)參考圖4 PLC硬件組態(tài),。例如ET200S FO接收光纖信號(hào)質(zhì)量由于某種原因衰減,,導(dǎo)致接收功率低于門檻值,,從而產(chǎn)生MAINT信息。同時(shí)觸發(fā)診斷中斷OB82,PLC調(diào)用OB82來(lái)接收該中斷信息,,通過(guò)在OB82中編程,獲取診斷信息,。利用這些診斷信息可以顯示在上位機(jī)上,,以便用戶快速的維護(hù)防止生產(chǎn)中斷。

圖4 PLC硬件組態(tài)

參考圖2設(shè)置,,當(dāng)出現(xiàn)信號(hào)質(zhì)量衰減時(shí),,通過(guò)Step7在線會(huì)出現(xiàn)“扳手”圖標(biāo),指示需要維護(hù),,參考圖5,。

圖5 綠色扳手指示端口狀態(tài)

參考圖3設(shè)置CPU的PNIO屬性,然后在程序中加入OB82,,進(jìn)行編程,。編程之前需要了解OB82臨時(shí)變量的意義,。

對(duì)于PROFINET,OB82臨時(shí)變量的一些預(yù)留位,,被賦予了一些新的含義,。例如臨時(shí)變量OB82_MDL_TYPE的Bit7表示Maintenance required,與維護(hù)狀態(tài)綠色 相對(duì)應(yīng),。臨時(shí)變量OB82_RESERVED_2表述Maintenance demanded,,與維護(hù)狀態(tài)黃色 相對(duì)應(yīng)。

例子程序如下:

A(

L #OB82_EV_CLASS

L B#16#39 //incoming event

==I

)

A(

L #OB82_MDL_ADDR

L W#16#1FF9 //diagnostics address for Port2 of IM151-3(Dec:8185)

==I

)

A(

O L 9.7 //Maintenance required

O #OB82_RESERVED_2 //Maintenance demand

)

S M 100.0 //to show maintenance information

A M 100.0

JCN next

CALL 'DT_DATE'

IN :=#OB82_DATE_TIME

RET_VAL:=MW120 //Date

CALL 'DT_TOD'

IN :=#OB82_DATE_TIME

RET_VAL:=MD124 //time

next: NOP 0

通過(guò)上述簡(jiǎn)單的程序?qū)嵗?,表明?dāng)在IM151-3接口模板的端口2出現(xiàn)光纖信號(hào)衰減而導(dǎo)致接收功率低于門檻值時(shí),,置位M100.0,同時(shí)獲取故障事件時(shí)間和日期存儲(chǔ)到MW120和MD124,。這些變量可以編寫在WinCC/WinCC flexible中進(jìn)行顯示,,方便用戶維護(hù)現(xiàn)場(chǎng)故障。對(duì)于其它端口或者其它分布式IO上的接口模板的端口診斷可以按照上述方式自行添加,。

2,, OB83診斷

OB83是插拔中斷組織塊。

對(duì)于PROFINET IO,,OB83賦予了一些新的特點(diǎn),,對(duì)于S7 CPU31x-2PN/DP可以使用OB83來(lái)評(píng)估模塊插拔中斷。而對(duì)于PROFIBUS-DP系統(tǒng)中的S7-300則無(wú)法使用OB83,。

在下列情況下CPU 操作系統(tǒng)調(diào)用OB83:

· 組態(tài)的模板插入/拔出之后,。

· 在STEP 7 下修改了模板參數(shù)并在RUN 狀態(tài)下裝所作修改到CPU。

模板插入和拔出在RUN,、STOP 和STARTUP 方式時(shí)每次組態(tài)的模板插入或拔出,,就產(chǎn)生了插入/拔出中斷(電源模板、CPU,、適配模塊和IM 不能在這種方式下移出),。

對(duì)于S7-300PLC不允許熱插拔中央機(jī)架的模塊。然而,,存在一些特殊情況:

· S7 CPU31x-2PN/DP僅支持分布式IO設(shè)備插拔模板中斷,。

· S7 CPU IM151-7 DP和CPU IM151-8 PN支持中央機(jī)架IO的插拔(1塊IO模板)。

如果沒(méi)有遵守上述要求,,例如在CPU IM151-8 PN的中央機(jī)架插拔2塊IO模板,。那么即使在CPU中加入了OB83,CPU也會(huì)停機(jī),,同時(shí)報(bào)告“Stop caused by I/O management”,,只有這些故障消除才能啟動(dòng)CPU。所以在操作時(shí)必須遵守模板安裝規(guī)范,,防止不必要的停機(jī),。

當(dāng)它檢測(cè)到故障時(shí),,它輸出一個(gè)插拔中斷請(qǐng)求給CPU。于是操作系統(tǒng)調(diào)用OB83,。如果沒(méi)有下載OB83到PLC中,,那么PLC會(huì)停機(jī)。具體相關(guān)變量信息可以查看Step7在線幫助OB83,。

下面舉一個(gè)模塊更換的例子,,假如一個(gè)DO模塊損壞,然后替換一個(gè)新的模塊,,如果新的模塊的類型與被替換的類型不一致,報(bào)告相應(yīng)的錯(cuò)誤,。

例子程序如下:

A(

L #OB83_EV_CLASS

L B#16#38 //module insert

==I

)

A(

L #OB83_FLT_ID

L W#16#55 //Fault ID

==I

) //PROFINET IO submodule inserted, but does not match configured submodule

A(

L #OB83_MDL_TYPE

L W#16#8102

) //confirm again

A(

L #OB83_RESERVED_1

L B#16#C4

)

JCN next

L #OB83_MDL_ADDR

T MW 130 //read the address of the module

L #OB83_RACK_NUM

L 2#11111111111

AW

T MW 132 //determine the device number

next: NOP 0

通過(guò)上述簡(jiǎn)單的程序?qū)嵗?,表明?dāng)插入的實(shí)際模塊與Step7組態(tài)的模塊配置不相符時(shí),可以獲取該模板的所處位置的邏輯地址MW130和設(shè)備號(hào)MW132,,參考圖6 設(shè)備號(hào)和邏輯地址,。也可以獲取故障事件時(shí)間和日期存儲(chǔ)到相應(yīng)的變量中,參考相關(guān)OB82的編程方式,。這些變量可以編寫在WinCC/WinCC flexible中進(jìn)行顯示,,方便用戶維護(hù)現(xiàn)場(chǎng)故障。

圖6 設(shè)備號(hào)和邏輯地址

3,, OB86診斷

OB86是機(jī)架故障組織塊,。

操作系統(tǒng)在檢測(cè)下列故障時(shí)會(huì)調(diào)用OB86:

·當(dāng)中央擴(kuò)展機(jī)架(非S7-300)故障。

·PROFIBUS-DP主站系統(tǒng)故障,。

·分布式I/O 中(PROFINET IO/PROFIBUS DP)站故障,。

·禁止一個(gè)站(PROFINET IO/PROFIBUS DP)使用SFC12”D_ACT_DP”模式4時(shí)。

·使能一個(gè)站(PROFINET IO/PROFIBUS DP)使用SFC12”D_ACT_DP”模式3時(shí),。

當(dāng)CPU檢測(cè)到故障時(shí),,發(fā)出中斷請(qǐng)求給CPU,操作系統(tǒng)調(diào)用OB86,。如果沒(méi)有下載OB86到PLC中,,那么PLC會(huì)停機(jī)。

下面舉一個(gè)PN IO站丟失的例子,,這是一種常見(jiàn)的故障,,可能由于連接斷開(kāi)而導(dǎo)致某些IO站無(wú)法連接到IO控制器上,通過(guò)OB86的簡(jiǎn)單編程用戶可以得到相應(yīng)站的基本信息,。

例子程序如下:

A(

L #OB86_EV_CLASS

L B#16#39 //incoming event

==I

)

A(

L #OB86_FLT_ID

L W#16#CB //PROFINET IO station failure/station return

==I

)

A(

L B#16#C4

L #OB86_RESERVED_1 //confirm again

)

JCN next

L LD 8

L 2#11111111111

AW

T MW 140 //determine the device number

L MD 10 //set a flag variable with initial value 16#1

SLD //shift to left with bits number of MW140

T MD 14

L DB1.DBD 0

OD

T DB1.DBD 0 //calculate device number into bit

L B#16#1

T MD 10 //set a flag variable with initial value 16#1

next: NOP 0

通過(guò)上述簡(jiǎn)單的程序?qū)嵗?,得出機(jī)架故障的分布式IO的設(shè)備號(hào)Device number,確定拿一個(gè)設(shè)備連接斷開(kāi),。當(dāng)某一設(shè)備發(fā)生機(jī)架故障來(lái)Incoming事件時(shí),,得出該設(shè)備號(hào)碼,。但是如果IO設(shè)備串聯(lián)在一起,前面的設(shè)備丟站導(dǎo)致后面的設(shè)備也丟失,,簡(jiǎn)單編程獲取站號(hào)只有會(huì)有一個(gè)站的信息,,無(wú)法表示多個(gè)設(shè)備掉站。通過(guò)編程使用左移指令左移位bit的方式,,但是需要給MD10設(shè)置初始值16#1,,目的就是保證末位為1,這樣偏移后可以知道該位1的移動(dòng)位置,,然后通過(guò)站號(hào)存儲(chǔ)地址DB1.DBD0進(jìn)行“或”運(yùn)算,,這樣DB1.DBD0相應(yīng)的位就置1,從而當(dāng)多個(gè)設(shè)備掉站DB1.DBD0相應(yīng)的位會(huì)置1,。例如DB1.DBD0低字節(jié)為2#00000110時(shí),,表示設(shè)備號(hào)1(bit1)和2(Bit2)掉站,Bit0位0保持不變,。這樣最多可以獲取63個(gè)設(shè)備掉站信息(63設(shè)備編號(hào)需要<64),, 對(duì)于一般應(yīng)用是足夠的。最后還要給MD10設(shè)置初始值,,以保證最后一位Bit0為1,。這些Bit變量可以編寫在WinCC/WinCC flexible中進(jìn)行顯示,方便用戶維護(hù)現(xiàn)場(chǎng)故障,。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多