Anzeigen, welcher DP-Slave genau ausgefallen ist?

olitheis

Level-1
Beiträge
488
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
zuletzt habe ich mit dem OB82,86 und 122 über den FB125 diese DP-Slave diagnose ralisiert.
Jetzt kann ich ja im FB125 mit "SLAVE_ADR", den ich übrigens auf MB105 geschrieben habe, die Adresse des betroffenen Slaves ablesen.
Meine Frage wäre jetzt: wie kann ich jetzt anhand dieses MB eine Meldung erzeugen (Alarmanzeige auf der Visu), die mir dann sagt, welche Adresse betroffen ist. Meine Slaves haben Adresse: 6, 10, 20, 30, 40, 50 und 60.
Also ich möchte bei Ausfall von z.B. Slave 6 m1.0 einschalten, bei Slave 10 m1.1, bei Slave 20 m1.2 usw.

Vielen Dank
Oli
 
Wieso willst Du Merker setzen, Du hast doch die SLave-Adresse bereits fix und fertig ausgelesen - übergib die doch einfach der Visu!

Gruß

Holger
 
Zuviel Werbung?
-> Hier kostenlos registrieren
also wir machen das per Hand quasi, hat aber den Vorteil das man die Adressen fix in einem Speciherbereich hat , und das ganze nur einmal schreiben muss damit es läuft

Code:
      AUF   "DB_Profibusfehler"         // Aufschlagen Datenbaustein für Profibusfehler
      LAR1  P#0.0
      LAR2  P#16.0

      L     #OB86_Z23
      L     B#16#FF                     // Knotennummer des betroffenen Moduls ermitteln 
      UW    
      DEC   1
      +AR1                              // Offset für Fehlerbit ermitteln
      SLD   3
      +AR2                              // Offset für Zähler ermitteln

      L     #OB86_EV_CLASS              // Überprüfung auf kommendes Ereignis
      L     B#16#39
      <>I   
      SPB   GEHE
      S     DBX [AR1,P#0.0]             // Setze entsprechendes Fehlerbit
      S     "ET200-Fehler"              // Setze Summenfehler "ET200"
      L     DBB [AR2,P#0.0]             // Statistikzähler erhöhen
      +     1
      T     DBB [AR2,P#0.0]

GEHE: L     #OB86_EV_CLASS              // Überprüfung auf gehendes Ereignis
      L     B#16#38
      ==I   
      R     DBX [AR1,P#0.0]
      R     "ET200-Fehler"              // Lösche Summenfehler "ET200"
      BEA
 
also die Visu ist keine Visu in dem Sinne. Ich kann von der S7 aus nur bits ansteuern, die mir dann verschiedene LED's (Alarmmeldungen) anzeigen.
Und dort möchte ich halt die Slaves auflisten und je nach dem die entsprechende Alarm LED einschalten. Wenn also Slave 20 ausgefallen ist, steht dies ja im FB125 (DB125_6.0/ SLAVE_ADR) mit B#16#14 (ich hoffe, dass stimmt so).
Mit dieser B#16#14 mochte ich dann z.B. m1.2 setzten.

Danke nochmal
Oli
 
Zuletzt bearbeitet:
danke,
danach hatte ich gesucht.
Also wenn der Slave mit Adresse 20 ausgefallen oder gestört ist, sollte der dbx1242.3 true sein, richtig?

danke
Oli
 
So weit so schön,
was der Volker schreibt ist völlig richtig und funktioniert auch richtig gut.
Ich hatte aber eine 412-1 V4.1 im Einsatz, da geht das aber leider nicht
mit dem FB125/FC125(wie noch bei einigen weiteren Profibusmaster).
Ich habe es dann so gelöst. Ist zwar eine "zu Fuß Programmierung" aber
geht auch:


CALL "DPNRM_DG" // SFC 13
REQ :=M98.1 // sek impuls
LADDR :=W#16#FF6 //Diagnoseadresse des Profibusteiln.
RET_VAL:=MW240
RECORD :=P#DB13.DBX0.0 BYTE 8
BUSY :=M230.1

In diesem Fall wird das Bit db13.dbx0.0 auf eins gesetzt


MFG
Bitverbieger
 
Zurück
Oben