Step 7 PN-Slave diagnose (2 PN-Systeme) bei einer H-CPU

ziede

Level-1
Beiträge
44
Reaktionspunkte
0
Moin,
ich bearbeite gerade ein Projekt in dem ein S7-H-System (2 Racks mit S7 417-5H PN/DP) eingesetzt werden.
Die PN-Slaves haengen an beiden CPUs (daraus ergeben sich die 2 PN-Systeme), das PN laeuft auch soweit fehlerlos, eine Diagnose der einzelnen Module inerhalb eines PN-Slaves funktioniert auch.
Leider bekomme ich es nicht hin die PN-Slaves zu kontrollieren, ob sie i.O. sind.
Dafuer wird hier ein Baustein verwedet, der mit einem PN-System (innerhalb des H-Systems nur das PN-System 100) auch funktioniert, das 2. PN-System (in diesem Falle PN-System 101) kann ich damit jedoch nicht kontrollieren.

Kann mir da jemand weiterhelfen den Fehler zu finden?

Den Baustein habe ich als Quelle angefuegt.

Mfg
Bjoern
 

Anhänge

  • PN-Slave-diagnose.zip
    1,6 KB · Aufrufe: 2
ganz so einfach ist das nicht...

Da Du von 2 PNIO-Systemen redest, gehe ich mal davon aus, dass Du S2-Teilnehmer hast, also nen "offenen Ring" Was für PN-Slaves sind das wirklich?

Für ET200SP hab ich das mal so gelöst:

jeder Slave bekommt 3 Meldungen, Redundanzefehler zu CPU0, Redundanzfehler zu CPU1, Slave ausgefallen

2 SCF51 Aufrufe mit SZL_ID W#16#D91 für IO-System 100 und IO-System 101

Code:
// PNIO-System 100 -------------------------------------------------------------------
      L     3                           // laufende Nummer des SFC51 Aufrufes
      T     #AufrufNr

      L     "DIAGNOSE PN".ALLG.Zaehler_REQ_SFC51    // nur einen SFC51 gleichzeitig anfordern
      L     #AufrufNr
      ==I   
      FP    "DIAGNOSE PN".ALLG.Flanke[3]
      =     #DIAG.REQ

      L     1                           // Kennbit für PNIO immer 1
      SLW   15
      L     0                           // PNIO-System-ID minus 100
      SLW   11
      +I   
      L     1                           // Stationsnummer
      +I   
      T     #DIAG.INDEX

      CALL  "RDSYSST"
       REQ       :=#DIAG.REQ
       SZL_ID    :=W#16#D91             // 0D91 Baugruppenzustandsinformation
       INDEX     :=#DIAG.INDEX
       RET_VAL   :=#DIAG.Fehler
       BUSY      :=#DIAG.BUSY
       SZL_HEADER:=#DIAG.HEADER
       DR        :="DIAGNOSE PN".PNIO100_GN01



// PNIO-System 101 -------------------------------------------------------------
      L     4                           // laufende Nummer des SFC51 Aufrufes
      T     #AufrufNr

      L     "DIAGNOSE PN".ALLG.Zaehler_REQ_SFC51    // nur einen SFC51 gleichzeitig anfordern
      L     #AufrufNr
      ==I   
      FP    "DIAGNOSE PN".ALLG.Flanke[4]
      =     #DIAG.REQ

      L     1                           // Kennbit für PNIO immer 1
      SLW   15
      L     1                           // PNIO-System-ID minus 100
      SLW   11
      +I   
      L     1                           // Stationsnummer
      +I   
      T     #DIAG.INDEX

      CALL  "RDSYSST"
       REQ       :=#DIAG.REQ
       SZL_ID    :=W#16#D91             // 0D91 Baugruppenzustandsinformation
       INDEX     :=#DIAG.INDEX
       RET_VAL   :=#DIAG.Fehler
       BUSY      :=#DIAG.BUSY
       SZL_HEADER:=#DIAG.HEADER
       DR        :="DIAGNOSE PN".PNIO101_GN01

auswerten tue ich dann jeweils das eastat.bit01 (Baugruppe vorhanden)
"DIAGNOSE PN".PNIO100_GN01[0].eastat.BIT01 // Profinet-Anschaltung 1 erreichbar CPU0
"DIAGNOSE PN".PNIO101_GN01[0].eastat.BIT01 // Profinet-Anschaltung 1 erreichbar CPU1

Slave ausgefalle wäre dann:
UN "DIAGNOSE PN".PNIO100_GN01[0].eastat.BIT01 // Profinet-Anschaltung 1 erreichbar CPU0
UN "DIAGNOSE PN".PNIO101_GN01[0].eastat.BIT01 // Profinet-Anschaltung 1 erreichbar CPU1
= Slave ausgefallen

...
 
Moin ducati,

Erstmal zu deinen Fragen:
- Ja, du hast recht es sind S2-Teilnehmer.
- Als PN-Teilnehmer werden ET200SP (6ES7 155-6AU01-0CN0), PN/PN Koppler (6ES7 158-3AD10-0XA0) sowie Scalance XC200 (6GK5 206-2BB00-2AC2) verwendet.

Danke fuer deine Quelle, mit der werde ich weiterarbeiten.

Mfg
Bjoern
 
Für die Nutzung dieser Website sind Cookies erforderlich. Du musst diese akzeptieren, um die Website weiter nutzen zu können. Erfahre mehr…