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

Seite 1 von 14 12311 ... LetzteLetzte
Ergebnis 1 bis 10 von 140

Thema: Wenn ein PEW als Eingang an einem FC nicht erreichbar ist, wird FC nicht bearbeitet

  1. #1
    Registriert seit
    09.08.2006
    Beiträge
    3.128
    Danke
    752
    Erhielt 557 Danke für 465 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo, folgendes Problem hab ich an einer TIA v13SP1 CPU1515-2PN festgestellt:

    - im OB1 wird der FC1 aufgerufen
    - der FC1 besitzt einen Eingang typ WORD, welcher im OB1-Aufruf mit einem PEW verschalten wird
    - im FC1 wird der M10.0 gesetzt
    - wenn der PEW nnicht erreichbar ist, weil z.B. die Verbindung zur ET200S unterbrochen ist, wird der gesamte FC1 nicht mehr bearbeitet
    - d.h. der M10.0 kann über die VAT zwar auf FALSE gesetzt werden, aber wird vom FC1 nicht mehr TRUE gesetzt!

    Code:
    // im OB1
          CALL  "FC01"
             IN_WORD :=%EW204:P
    
    // im FC1
          L     #IN_WORD
          T     #TEMP_WORD
    
    
          SET
          =     %M10.0
    
    
    
    // sonst kein weiterer Code in der Steuerung
    - was sagt Ihr zu diesem Phänomen
    - könnt Ihr das Problem reproduzieren
    - tritt dieser Bug auch unter TIA v14 auf?

    Gruß,
    ducati

    TIA_Problem_nicht_erreichbares_PEW.jpg
    Geändert von ducati (06.10.2016 um 08:21 Uhr)
    Zitieren Zitieren Gelöst: Wenn ein PEW als Eingang an einem FC nicht erreichbar ist, wird FC nicht bearbeitet  

  2. "so, jetzt noch der Workaround von PN/DP und modifiziert von mir und meinem Kollegen:

    funktioniert jetzt für Verschaltungen von PEW, EW, MW, Temp. und DB-Variablen für nicht optimierte FC/FB:

    Code:
    //Im FC "MyFC":
    //  IN: IN_POINTER : POINTER
    // Temp: Adr_0 : WORD
    // Temp: Adr_2 : DWORD
    
          L     P##IN_POINTER
          LAR1
    
          L W [ AR1 , P#0.0 ]
          T     #Adr_0
          L D [ AR1 , P#2.0 ]
          T     #Adr_2
    
          L     #Adr_0
          L     0
          ==I
          SPB   XXX1
          AUF DB [ #Adr_0]
    XXX1: NOP 0
    
          L D [ AR1 , P#2.0 ]
          LAR1
          L W [ AR1 , P#0.0 ] // Lesen des Wortes, diese Anweisung löst ggf. den OB122 wegen Peripheriezugriffsfehler aus
          T MW100      // hier liegt der Wert vom eingelesenen Signal
    "


  3. #2
    Registriert seit
    14.01.2015
    Beiträge
    486
    Danke
    139
    Erhielt 80 Danke für 72 Beiträge

    Standard

    Eine vielleicht blöde Frage, kann es sein, dass durch den Verbindungsabbruch zum ET200S die 1500ér Steuerung in Stop geht?
    Ich habe in deinem Programm keinen OB86 gesehen ( Baugruppenträgerausfall )

    Mit Grüßen

  4. #3
    ducati ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    09.08.2006
    Beiträge
    3.128
    Danke
    752
    Erhielt 557 Danke für 465 Beiträge

    Standard

    Nee, CPU bleibt im RUN.

    Das ganze ist auch nachstellbar wenn man ein PEW verschaltet, welches in der HW-Config nicht projektiert ist.

    Diagnoseeintrag in der CPU ist folgender:
    Temporärer CPU-Fehler: Fehler beim Lesezugriff auf Peripherie (E-Adresse 204) in OB 1
    betrifft OB 1 Ausführung


    PLC_1
    interne Adressierungsdetails: Caddr=16#00000008, Bereich: P-Bereich, Adr: 204

  5. #4
    Registriert seit
    14.01.2015
    Beiträge
    486
    Danke
    139
    Erhielt 80 Danke für 72 Beiträge

    Standard

    Das ist ja interessant. Ich kann mir nicht vorstellen, warum das so ist. Es würde dann ja bedeuten, dass der komplette FC Aufruf bei einem Fehler abgebrochen wird und die
    weitere Abarbeitung nach dem FC Aufruf im OB1 wieder weiter geht. Das wäre ja fatal.

  6. #5
    ducati ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    09.08.2006
    Beiträge
    3.128
    Danke
    752
    Erhielt 557 Danke für 465 Beiträge

    Standard

    Zitat Zitat von DeltaMikeAir Beitrag anzeigen
    Das ist ja interessant. Ich kann mir nicht vorstellen, warum das so ist. Es würde dann ja bedeuten, dass der komplette FC Aufruf bei einem Fehler abgebrochen wird und die
    weitere Abarbeitung nach dem FC Aufruf im OB1 wieder weiter geht. Das wäre ja fatal.
    jo deshalb würde mich interessieren:
    - was sagt Ihr zu diesem Phänomen?
    - könnt Ihr das Problem reproduzieren?
    - tritt dieser Bug auch unter TIA v14 auf?

  7. #6
    Registriert seit
    15.10.2014
    Beiträge
    77
    Danke
    14
    Erhielt 18 Danke für 15 Beiträge

    Standard

    Fehler an gleicher SPS reproduzierbar!

    SPS: CPU 1515-2 PN
    FW: V1.7.0

    TIA_20161006.jpg


    Stefan

  8. Folgende 2 Benutzer sagen Danke zu Stefan592 für den nützlichen Beitrag:

    DeltaMikeAir (06.10.2016),ducati (06.10.2016)

  9. #7
    Registriert seit
    14.01.2015
    Beiträge
    486
    Danke
    139
    Erhielt 80 Danke für 72 Beiträge

    Standard

    Na ganz toll. D.h. wenn bei unseren relativ großen Anlagen ( in ganz Europa ) mal eine dezentrale Station ausfällt, werden ( in unserem Fall ) hunderte Zeilen Code nicht mehr bearbeitet.
    Mir wird gerade ganz schlecht.

  10. #8
    Registriert seit
    26.01.2008
    Beiträge
    102
    Danke
    50
    Erhielt 27 Danke für 24 Beiträge

    Standard

    Hallo Ducati,

    in V14 wird der Baustein auch nicht bearbeitet.

    Aber die CPU meldet folgenden Fehler:

    Temporärer CPU-Fehler: Fehler beim Lesezugriff auf Peripherie (E-Adresse 204) in OB 1
    betrifft OB 1-Ausführung
    fehlerhafte Adresse, Operand ignoriert

    Ich habe aber in Programm den OB 86 / 82 laufen der auch gerufen wird.

    Harald

  11. Folgender Benutzer sagt Danke zu Funky für den nützlichen Beitrag:

    ducati (06.10.2016)

  12. #9
    ducati ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    09.08.2006
    Beiträge
    3.128
    Danke
    752
    Erhielt 557 Danke für 465 Beiträge

    Standard

    OK, danke schonmal

    hab beim Siemens ne Supportanfrage am laufen, mal sehen, was die dazu sagen.

    Ich hatte eigentlich noch an mir gezweifelt

  13. Folgender Benutzer sagt Danke zu ducati für den nützlichen Beitrag:

    DeltaMikeAir (06.10.2016)

  14. #10
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    9.404
    Danke
    799
    Erhielt 2.766 Danke für 2.234 Beiträge

    Standard

    Wird der Baustein gar nicht aufgerufen, nur weil ein Übergabeparameter nicht ermittelt werden kann, oder wird der Baustein beim Zugriff auf den Übergabeparameter abgebrochen (und die Fehlerbehandlung setzt im Aufrufer fort anstatt nach der Fehlerstelle)?
    Tausche mal das Setzen des Testmerkers mit der fehlschlagenden Operation (oder lasse den Zugriff auf den Übergabeparameter ganz weg):
    Code:
    // im OB1
          CALL  "FC01"
             IN_WORD :=%EW204:P
    
    // im FC1
          SET
          =     %M10.0
    
          L     #IN_WORD  //erst diese Anweisung sollte einen Fehler bringen
          T     #TEMP_WORD
    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

Ähnliche Themen

  1. Step 7 In SCL ermittel ob ein FB Eingang belegt ist oder nicht
    Von BlueDogi im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 11.06.2015, 20:35
  2. Hilfe wenn ein Beitrag oder Thema nicht freigeschaltet wird
    Von rostiger Nagel im Forum Stammtisch
    Antworten: 5
    Letzter Beitrag: 04.03.2014, 21:01
  3. Step 7 Bit wird nicht bearbeitet
    Von Der Dreschi im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 26.04.2013, 16:52
  4. Eingang wird nicht bearbeitet
    Von namseg2 im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 11.03.2011, 08:12
  5. Baustein wird nicht bearbeitet
    Von rabit im Forum Simatic
    Antworten: 17
    Letzter Beitrag: 23.09.2010, 10:48

Lesezeichen

Berechtigungen

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