OB85 um ein Stop bei Slaveausfall zu verhindern?

Kojote

Level-1
Beiträge
262
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo

Ich habe Fragmentweise die info, das man mit dem OB85 ein Stoppen
der CPU verhindern kann - für den fall das beim Profibus ein Slave
ausfällt (z.B. wegfall der Versorgungsspg.)

Was muss dazu getan werden?
Einfach einen leeren OB85 erzeugen und in die CPU laden?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
OK :D

Dann wird dieser OB beim Slaveausfall aufgerufen, oder?

Könnte ich in den OB85 ein Störmeldung für einen Panel programmiern?
(Allso: Achtung Ein Slave ist ausgefallen)

Kann ich eigentlich auch auslesen welcher Slave ausgefallen ist?
 
OB 85

Slave ausfall !

Es ist nicht der OB 85 sondern der OB 86
Mann muss einfach eine OB 86 erstellen.
Step7 hat doch eine gute Hilfefunktion, auch über die OB's.

Natürlich kann man auch die Adresse des ausgefallenen Slave mit dem OB86 auslesen.




ORGANIZATION_BLOCK OB 86
TITLE = "Loss Of Rack Fault"
VERSION : 0.1


VAR_TEMP
OB86_EV_CLASS : BYTE ; //16#38/39 Event class 3
OB86_FLT_ID : BYTE ; //16#C1/C4/C5, Fault identifcation code
OB86_PRIORITY : BYTE ; //Priority of OB Execution
OB86_OB_NUMBR : BYTE ; //86 (Organization block 86, OB86)
OB86_RESERVED_1 : BYTE ; //Reserved for system
OB86_RESERVED_2 : BYTE ; //Reserved for system
OB86_MDL_ADDR : INT ; //Base address of IM module in rack with fault
OB86_RACKS_FLTD : DWORD ;
OB86_DATE_TIME : DATE_AND_TIME ; //Date and time OB86 started
DP_Adresse : BYTE ;
END_VAR
BEGIN
NETWORK
TITLE =DP-Adresse auslesen und rangieren

L #OB86_RACKS_FLTD;
T #DP_Adresse;
NOP 0;
NETWORK
TITLE =Ausfall DP-Slave ET 200S Mehlsilo



U( ;
L #OB86_EV_CLASS;
L W#16#39;
==I ;
) ;
U( ;
L #DP_Adresse;
L 3;
==I ;
) ;
S M 24.0;
U( ;
L #OB86_EV_CLASS;
L W#16#38;
==I ;
) ;
U( ;
L #DP_Adresse;
L 3;
==I ;
) ;
R M 24.0;
NOP 0;
NETWORK
TITLE =Ausfall DP-Slave ET 200M Getreidesilo

U( ;
L #OB86_EV_CLASS;
L W#16#39;
==I ;
) ;
U( ;
L #DP_Adresse;
L 7;
==I ;
) ;
S M 24.1;
U( ;
L #OB86_EV_CLASS;
L W#16#38;
==I ;
) ;
U( ;
L #DP_Adresse;
L 7;
==I ;
) ;
R M 24.1;
NOP 0;
NETWORK
TITLE =Ausfall DP-Slave Weber Waage B1

U( ;
L #OB86_EV_CLASS;
L W#16#39;
==I ;
) ;
U( ;
L #DP_Adresse;
L 4;
==I ;
) ;
S M 24.2;
U( ;
L #OB86_EV_CLASS;
L W#16#38;
==I ;
) ;
U( ;
L #DP_Adresse;
L 4;
==I ;
) ;
R M 24.2;
NOP 0;
NETWORK
TITLE =Ausfall DP-Slave Weber Waage M1

U( ;
L #OB86_EV_CLASS;
L W#16#39;
==I ;
) ;
U( ;
L #DP_Adresse;
L 5;
==I ;
) ;
S M 24.3;
U( ;
L #OB86_EV_CLASS;
L W#16#38;
==I ;
) ;
U( ;
L #DP_Adresse;
L 5;
==I ;
) ;
R M 24.3;
NOP 0;
NETWORK
TITLE =Ausfall DP-Slave Weber Waage M2

U( ;
L #OB86_EV_CLASS;
L W#16#39;
==I ;
) ;
U( ;
L #DP_Adresse;
L 6;
==I ;
) ;
S M 24.4;
U( ;
L #OB86_EV_CLASS;
L W#16#38;
==I ;
) ;
U( ;
L #DP_Adresse;
L 6;
==I ;
) ;
R M 24.4;
NOP 0;
NETWORK
TITLE =Ausfall DP-Slave Weber Waage M2

U( ;
L #OB86_EV_CLASS;
L W#16#39;
==I ;
) ;
U( ;
L #DP_Adresse;
L 9;
==I ;
) ;
S M 24.5;
U( ;
L #OB86_EV_CLASS;
L W#16#38;
==I ;
) ;
U( ;
L #DP_Adresse;
L 9;
==I ;
) ;
R M 24.5;
NOP 0;
END_ORGANIZATION_BLOCK



Gruss uz
 
OB 86

Beschäftige mich auch grade mit auslesen welcher DP-Slave
ne Störung hat...

Wirklich gutes Beispiel uz71 !!

Nur was macht OB86_RACKS_FLTD genau ?

Sind die Merker etwa bei einer Störung an oder im Betrieb ?



Gruß Jens
 
definiere Einfacher

definiere doch bitte Einfacher..

Bin noch kein super Programmierer, deswegen muss ich noch mal nachhaken..

FB125 kann ich leider nich finden..

CPU 314C 2DP
Simatic 5.3
Profibus DP


besten Dank
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
in dem Paket, was man dort herunterladen kann, befindet sich auch der "kleine Bruder" des FB 125, der FC 125. Der ist nicht so umfangreich und kommt ohne DB aus. Ich habe bisher immer nur den FC 125 verwendet.
Gruß Andre
 
Besten Dank

Habe mir die Dateien sowie die Online Hilfe runtergeladen..

Scheint alles ganz hilfreich zu sein.

vielen Danke, ich werde mich reinarbeiten


MfG Jens :)
 
Zurück
Oben