Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 3 von 3

Thema: CP342-5 DP Diagnose

  1. #1
    Registriert seit
    17.11.2013
    Beiträge
    4
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Frage


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen.

    Ich habe leider im Forum nichts gefunden das mir weitergeholfen hätte.
    Ich Versuche eine DP Slave Diagnose über einen CP342-5 zu realisieren. (6GK7 342-5DA03-0XE0 v6.0)
    Und zwar soll mir eine Liste der aktiven DP Slaves ausgegeben werden wie bei SFC51 mit SZL_ID 292.

    Ich habe dazu versucht den FC3 DP_DIAG zu nutzen aber leider ohne Erfolg.

    CP Adresse beginnt mit 272 (Hex 110)

    Aufbau im Test:
    CPU 315 2PN/DP 6ES7 315-2EH14-0AB0
    CP 343-1 6ES7 343-1EX30-0XE0 v2.6
    CP 342-5 6GK7 342-5DA03-0XE0 v6.0

    Slave am CP 342-5 ist auf der Adresse 5 eine ET200S ST (6ES7 151-1AA03_0AB0).


    Code:
          CALL  "DP_DIAG"
           CPLADDR:=W#16#110
           DTYPE  :=B#16#0
           STATION:=B#16#0
           DIAG   :=P#M 110.0 BYTE 16
           NDR    :=#tNDR
           ERROR  :=#tError
           STATUS :=#tStatus
           DIAGLNG:=#tLange
    
    
          L     #tStatus
          L     0
          ==I   
          U     #tNDR
          UN    #tError
          NOT   
          BEB   
    
          CALL  "BLKMOV"
           SRCBLK :=P#M 110.0 BYTE 16
           RET_VAL:=#tRetVal
           DSTBLK :="Test".DpDiag
    Ich bekomme den Status 8182 zurück wärend er belegt ist und sonst den Status 0, das Problem dabei ist allerdings dass ich keine Daten von dem FC erhalte.

    Vielleicht kann mir jemand weiterhelfen, habe auch mal das Beispieprojekt von Siemens geladen mit dem FB in welchem der FC3 aufgerufen wird. Hat leider auch nicht funktioniert.
    Es muss nicht zwingend über den FC3 gelöst werden, der FC3 basiert ja auf dem SFC59 aber mit diesem bin ich leider auch nicht weiter gekommen.

    Bestens Dank im Voraus
    Zitieren Zitieren CP342-5 DP Diagnose  

  2. #2
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.192
    Danke
    925
    Erhielt 3.292 Danke für 2.661 Beiträge

    Standard

    Status 8182 heißt eigentlich, daß der CP342-5 in STOP ist oder keine Projektierung hat.
    Ich meine, für die korrekte Kommunikation mit dem CP muß mindestens einer der FC DP_SEND oder DP_RECV aufgerufen werden.

    Ich hatte das mal etwa so gemacht:
    Code:
          CALL  "DP_RECV"
           CPLADDR :=W#16#110
           RECV    :=P#DB20.DBX0.0 BYTE 190 //DP_IN: Eingänge der Slaves
           NDR     :=#DP_RECV_NDR
           ERROR   :=#DP_RECV_ERROR
           STATUS  :=#DP_RECV_STATUS
           DPSTATUS:=#DP_RECV_DPSTATUS
    
    // DP_RECV_DPSTATUS.0 muß 0 sein = Masterbetrieb
    // DP_RECV_DPSTATUS.1 = 0 : alle Slave vorhanden
    
          U(
          L     W#16#3                      //DP_RECV_DPSTATUS.1+.0 auswerten
          L     #DP_RECV_DPSTATUS
          XOW   W#16#1                      //DP_RECV_DPSTATUS.0 0->1 umdrehen
          UW                                //wenn beide Bits=1 -> ergibt 3
          ==I
          )
          SPB   CDIA                        //Stationsliste(0) lesen sinnvoll
    
          L     0                           //alle Slaves vorhanden !
          T     "DP_IN".LIST_SLAVES_NOT_PRESENT[1]
          T     "DP_IN".LIST_SLAVES_NOT_PRESENT[2]
          T     "DP_IN".LIST_SLAVES_NOT_PRESENT[3]
          T     "DP_IN".LIST_SLAVES_NOT_PRESENT[4]
          SPA   CPSL
    
    
    CDIA:  CALL  "DP_DIAG"
           CPLADDR:=W#16#110
           DTYPE  :=B#16#0                  //0=Stationsliste lesen
           STATION:=B#16#0
           DIAG   :="DP_IN".LIST_SLAVES_NOT_PRESENT  //16 Bytes, ARRAY[1..4] OF DWORD
           NDR    :=#DP_DIAG_NDR
           ERROR  :=#DP_DIAG_ERROR
           STATUS :=#DP_DIAG_STATUS
           DIAGLNG:=#DP_DIAG_DIAGLNG
    
          U(
          L     #DP_DIAG_STATUS
          L     0
          ==I
          )
          U     #DP_DIAG_NDR                //neue Stationsliste(0) gelesen
          UN    #DP_DIAG_ERROR
          SPBN  ESLD
    
    //aktuelle Stationsliste(0) gelesen oder alle Slaves vorhanden
    CPSL: CALL  "BLKMOV"
           SRCBLK :="DP_IN".LIST_SLAVES_NOT_PRESENT  //16 Bytes, ARRAY[1..4] OF DWORD
           RET_VAL:=#tRetVal
           DSTBLK :="Test".DpDiag
    
    ESLD: SET
    
    //es folgt noch Einzeldiagnose (DTYPE:2) aller Slaves für gestörte Slaves (Stationbyte1.1:NotReady)
    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  3. #3
    chbg ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    17.11.2013
    Beiträge
    4
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Bin gerade unterwegs.
    DP_Send und DP_RECV werden aufgerufen im OB1 das hab ich nicht mit gepostet. Ansonsten würde auch der CP einen Fehler ausgeben bezüglich Projektierter Datenlänge.
    Der CP läuft und ich bekomme auch Daten von den IO
    Geändert von chbg (17.05.2016 um 18:03 Uhr)

Ähnliche Themen

  1. Vk cp342-5
    Von Henry1123 im Forum Suche - Biete
    Antworten: 0
    Letzter Beitrag: 22.01.2011, 13:48
  2. Diagnose CP342-5
    Von MSB im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 16.06.2009, 09:31
  3. cp342-5
    Von Andy_speedy im Forum Feldbusse
    Antworten: 8
    Letzter Beitrag: 22.04.2008, 11:46
  4. Profibus Diagnose CP342-5
    Von Tecchannel im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 10.01.2008, 13:30
  5. Cp342-5
    Von franzlurch im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 23.10.2007, 13:43

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •