新疆西門子S7-1500PLC模塊代理(歡迎您)

DP從站中編寫OB的程序
下面是OB82中的程序,將MW10加1,用MW10來計調(diào)用OB82的次數(shù)。生成數(shù)據(jù)塊DB 82,在數(shù)據(jù)塊中生成有5個雙字元素的數(shù)組ARY。在OB82的程序段2調(diào)用SFC 20“BLKMOV”,將它的局部變量保存到數(shù)組DB82.ARY中。
程序段1:MW10加1
L MW 10
+ 1
T MW 10
程序段2:保存0882的局部變量
CALL “BLKMOV”
SRCBLK :=P#L 0.0 BYTE 20
RET_VAL :=MV:50
DSTBLK :=DB82.A RY
打開PLCSIM,將系統(tǒng)數(shù)據(jù)和程序下載到仿真PLC,將后者切換到RUN -P模式。執(zhí)行PLCSIM的菜單命令“Execute”(執(zhí)行)→"Trigger Error OB”(觸發(fā)錯誤OB)→"Diagnostic interrupt( OB82)”(診斷中斷OB82),打開“Diagnostic Interrupt OB (82)”對話框。
在“Module address”文本框輸入AO模塊的起始地址PQW256,用復(fù)選框選中“External voltage failed”(外部電壓故障),單擊“Apply”(應(yīng)用)按鈕,模擬AO模塊出現(xiàn)故障。
CPU視圖對象上的紅色SF(系統(tǒng)故障)LED亮,因為與DP從站的通信正常,DP(總線故障)LED未亮。CPU自動調(diào)用0882,如果沒有生成和下載0882,CPU將自動切換到STOP模式,RUN LED熄滅,STOP LED亮。
單擊圖7-11中的復(fù)選框“External voltage failed”,其中的“√”消失。單擊“Apply”(應(yīng)用)按鈕,模擬AO模塊的診斷錯誤消失。CPU視圖對象上的SF LED熄滅。
打開上一節(jié)的項目“DP診斷”,DP主站為CPU 315 - 2DP,4號DP從站為ET 200M(見圖6-19),它的AI、AO模塊均有診斷功能。選中4號從站ET 200M,雙擊7號槽的2AO模塊,在其屬性對話框的“輸出”選項卡中(見圖7-9),設(shè)置0號通道輸出4~20 mA的電流,1號通道輸出0~10V的電壓。啟用模塊的診斷中斷功能和兩個通道的“組診斷”功能。
按下計算機(jī)鍵盤上的<F1>鍵,在出現(xiàn)的在線幫助中,單擊綠色的“診斷”,可以查看“組診斷”的幫助信息。由幫助信息可知,組診斷可以檢測組態(tài)和參數(shù)分配錯誤、電壓輸出時對地短路、電流輸出時斷線和丟失負(fù)載電壓L+的故障。出現(xiàn)診斷事件時,CPU將會調(diào)用診斷中斷組織塊OB82,同時相應(yīng)的信息會輸入到CPU模塊信息的診斷緩沖區(qū)。
雙擊ET 200M第6槽的2AI模塊,在它的屬性對話框的“輸入”選項卡中(見圖7-10),設(shè)置測量范圍為4~20 mA的電流,啟用模塊的診斷中斷功能、組診斷功能和斷線檢查功能。單擊工具欄上的
按鈕,對組態(tài)信息進(jìn)行編譯。
根據(jù)故障代碼OB86_FLT_ID( LB1)可以判斷故障的類型,16 #C3和16#C4分別表示DP主站系統(tǒng)(DP網(wǎng)絡(luò))故障和DP從站故障。OB86_EV_CLASS( LBO)為16 #39和16 #38分別表示故障出現(xiàn)和故障消失。LB10是DP主站系統(tǒng)的ID(網(wǎng)絡(luò)的編號),LB11是有故障的DP從站的編號。根據(jù)上述信息可以控制顯示故障從站狀態(tài)的指示燈。
分別用M10.0~M15.7表示0~127號從站的狀態(tài),可以用畫面上的指示燈顯示120多個從站的狀態(tài)。假設(shè)項目中只有一個DP網(wǎng)絡(luò),12個DP從站的編號分別為3~14,它們分別對應(yīng)于M10.3~M11.6。
生成項目“OB86診斷”,CPU為CPU 315 - 2DP。生成一個人機(jī)界面( HMI)的站點,在網(wǎng)絡(luò)組態(tài)NetPro中,將CPU和HMI連接到MPI網(wǎng)絡(luò)上。雙擊HMI站點中的畫面_1,打開WinCC flexible的項目,在畫面上生成12個指示燈。它們分別通過M10.3~M11.6來顯示3~14號從站的狀態(tài)。
下面是OB86中的程序。出現(xiàn)DP主站系統(tǒng)故障時(LW0為16 #39C3),將M10.3~M11.6全部置為1(將16#F87F送MW10),點亮所有的從站故障燈。
某個DP從站出現(xiàn)故障時(LW0為16 #39C4),將LB11中的故障從站的編號和M10.0的地址相加,計算出故障從站對應(yīng)的地址,然后用間接尋址點亮故障從站對應(yīng)的指示燈。
某個DP從站故障消失時(LW0為16#38C4),用同樣的方法計算出故障從站對應(yīng)的地址,然后用間接尋址熄滅故障從站對應(yīng)的指示燈。
L W#16#39C3
L LW 0
==I
JCN m001 //不是主站系統(tǒng)故障則跳轉(zhuǎn)
L W#16#F87F
T MW 10 //點亮3~14號從站的指示燈
m001:L W#16#39C4
L LW 0
==I
JCN m002 //不是從站故障出現(xiàn)則跳轉(zhuǎn)
L LB 11 //故障從站編號送累加器1
L P#10.0 //起始地址送累加器1
+D
T LD 20 //故障從站地址送地址指針
S M[LD 20] //點亮故障從站對應(yīng)的指示燈
m002:L W#16#38 C4
L LW 0
==I
JCN m003 //不是從站故障消失則跳轉(zhuǎn)
L LB 11 //故障從站編號送累加器1
L P#10.0 //起始地址送累加器1
+D
T LD 20 //故障從站地址送地址指針
R M[LD 20] //熄滅故障從站對應(yīng)的指示燈
m003:NOP 0
圖7-8是5號和13號從站有故障時指示燈的狀態(tài)。
圖7-8 顯示從站狀態(tài)的畫面
選中SIMATIC管理器中的OB86,按鍵盤上的<F1>鍵,打開OB86的在線幫助,可以查閱到圖7-7中OB86局部變量的意義:
圖7-7 OB86的局部數(shù)據(jù)
1) DB 86的DBBO(OB86_EV_CLASS)為16#39表示故障剛出現(xiàn),為16 #38表示故障剛消失。
2)下面是與DP通信有關(guān)的DBB1中的故障代碼OB86_FLT_ID的意義:
·16#C3:分布式I/O設(shè)備的DP主站系統(tǒng)故障。
·16#C4:DP站故障。
·16#C5:DP站內(nèi)部的故障。
3) DBB2中的中斷優(yōu)先級(OB86_PRIORITY)為16#1A( 26)。
4) DBB3中的OB編號(OB86_OB_NUMBR)為16#56( 86)。
5) DBW4保留未用。
6) DBW6的#07FF( 2047)是DP主站的DP接口的診斷地址(OB86_MDL_ADDR)??梢栽?/span>CPU的DP接口屬性對話框的“地址”選項卡中找到它。
7) DBD8(OB86_RACKS_FLTD)的數(shù)據(jù)類型為32個位元素的數(shù)組(Array),為了便于編程,可以將它的數(shù)據(jù)類型更改為DWORD(雙字)。如果故障代碼為16#C4(DP站故障),DBW8中的16#07 FC( 2044)是故障從站的診斷地址,與硬件組態(tài)中3號站的診斷地址相同。DBW10中的16#0103表示DP主站系統(tǒng)的編號為1,從站的站地址為3。
8) DBD12和DBD16(OB86_DATE_TIME)是調(diào)用OB的日期和時間。
3號從站故障消失時,CPU又調(diào)用一次0886,MW10加1。OB86的局部變量的前12B與從站有故障時基本上相同,其區(qū)別僅在于*個字節(jié)為16#38,表示離開的事件。
新疆西門子S7-1500PLC模塊代理(歡迎您)