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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 15

Thema: Tipps zur Fehlersuche...

  1. #1
    Registriert seit
    18.12.2008
    Beiträge
    255
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo, ich habe folgendes Problem:

    In einem sehr komplexen Programm werden Pakete nach Postleitzahlen gesammelt und entsprechend an verschiedenen Abwurfstellen abgeworfen.

    Nach der Umstellung der IP-Adresse der SPS und der Visualisierung besteht das Problem, dass sich ein Abwurf nicht mehr freischalten lässt.

    Das Programm für die Abwürfe ist in der FC132 geschrieben. Ein Auszug daraus ist:

    Code:
    CON0:         NOP   0
                 U(    
                 U     M    203.0
                 O     M    203.1
                 O     M    203.2                  
                  )     
                 UN    M    203.3                  
                 UN    M    203.4                  
                 O     
                 U     M    203.4                  
                 U     "M 12.1"                    // Blinktakt
                 =     #LPGE                       // Lampe Gelb
     
                 U     M    203.3                  // Abwurf komplett
                 UN    M    203.6
                 O     
                 U     M    203.6                  // Abwurf beendet
                 U     M     12.0
                 =     #LPGN                       // Lampe Grün
    Es handelt sich um insgesamt 12 Abwurfstellen, so dass die FC132 in der FC188 12x aufgerufen wird. In der FC188 werden dann auch die Parameter, wie z.B. für #LPGE oder #LPGN übergeben.

    Meine Frage:

    Wenn ich nun z.B. auf den Abwurf mit der Nr. 5 Einfluss nehmen möchte, wie kann ich das machen? Alle Abwürfe "arbeiten" doch mit den gleichen Merkern - wie oben dargestellt. Wenn ich nun versuchen möchte, die Lampe #LPGE auf Status 1 zu steuern, wie kann ich das dann bewerkstelligen, da ja die entsprechenden Merker auch für die anderen Lampen der Abwurfstellen verwendet werden?

    Vielen Dank!
    Grüße
    petzi
    Zitieren Zitieren Tipps zur Fehlersuche...  

  2. #2
    Registriert seit
    18.09.2004
    Ort
    Münsterland/NRW
    Beiträge
    4.718
    Danke
    729
    Erhielt 1.158 Danke für 969 Beiträge

    Standard

    Wird vielleicht am Anfang des FC ein anderer Merkerbereich oder Datenwörter auf deine Merker umkopiert?

  3. #3
    Registriert seit
    18.09.2004
    Ort
    Münsterland/NRW
    Beiträge
    4.718
    Danke
    729
    Erhielt 1.158 Danke für 969 Beiträge

    Standard

    Stelle doch mal die beiden Bausteine hier rein

  4. #4
    petzi ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    18.12.2008
    Beiträge
    255
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard

    FC188/NW1: Taste Drucker quittieren

    U "-S01"
    L S5T#15S
    SA T 15
    NOP 0
    NOP 0
    NOP 0
    NOP 0


    FC188/NW2: Taste IO unterdrücken

    U T 15
    UN M 110.2
    = M 110.1
    U M 110.1
    S M 110.2
    UN T 15
    R M 110.2
    NOP 0

    FC188/NW3: Abwurf 1 steuern

    UN "A2-Abw."
    UN "A3-Abw."
    UN "A4-Abw."
    UN "A5-Abw."
    UN "A6-Abw."
    UN "A7-Abw."
    UN "A8-Abw."
    UN "A9-Abw." // 1 ABWURF IST BEENDET
    = M 110.0

    FC188/NW4: Belegung Abwurf 1

    AUF "PC-DAT_IN_BI_VISU"

    CALL FC132
    NR :=1
    FELD:=13
    STRT:="31S2_FRG"
    FRG :=M110.0
    ABW :="A1-FLK"
    DRIO:=M110.1
    DNIO:="-S02"
    TAKT:="M 69.5"
    EIN :="A1-Visu"
    LPGE:="31H1"
    LPGN:="31H2"
    DRCK:="M111.4"
    SEND:="M 111.5"
    ENDE:="A1-Abw."
    WS_A:="A1-WS-A"
    SOLL:="PC-DAT_IN_BI_VISU".D_SACK_S_1
    IST :="PC-DAT_IN_BI_VISU".D_SACK_I_1
    DLVI:=DB103.DBB64
    U "M 111.5"
    UN M 111.0
    = "A1-STel"
    S M 111.0
    UN "M 111.5"
    R M 111.0
    U "A1-STel"
    SPBN X000
    CALL "Fkt_CopyDB_I"
    iInSourceDB :=288
    iInTargetDB :=288
    iInSourceOffset:=10
    iInTargetOffset:=122
    iInLen :=62
    oBoPAFE :=#tmp
    X000: NOP 0
    AUF "DX71"
    L "DX71".D_18
    T MD 188
    CALL "32_BIT_ACII"
    FPDD:=MD188
    B4_1:=MD192
    B7_5:=MD196
    L MD 192
    T DB288.DBD 184
    U "A1-STel"
    SPBN X001
    // EINTRAG IN TEL-PUFFER
    CALL "WS_EINTR"
    QUELL_DB :=288
    QUELL_ANF :=122
    WS_DB :=42
    ANZ_DATSATZ:=120
    ANZ_BYTE :=70
    STAT_VOLL :="WS42_voll"
    ANZ_SATZ :=#tmp_i
    X001: NOP 0
    U "A1-Visu"
    SPBN X002
    // EINTRAG IN VISUALISIERUNG
    CALL "Fkt_CopyDB_I"
    iInSourceDB :=288
    iInTargetDB :=101
    iInSourceOffset:=14
    iInTargetOffset:=60
    iInLen :=20
    oBoPAFE :=#tmp
    X002: NOP 0


    Die NW3 und NW4 wiederholen sich nun für alle Abwürfe!

    Die FC132 ist leider zu lang, um sie hier zusammenhängend einszustellen...
    Geändert von petzi (02.06.2010 um 10:29 Uhr)
    Grüße
    petzi

  5. #5
    Registriert seit
    18.09.2004
    Ort
    Münsterland/NRW
    Beiträge
    4.718
    Danke
    729
    Erhielt 1.158 Danke für 969 Beiträge

    Standard

    Schon 1,5 Jahre dabei und noch immer nicht die Vorteile der code-Tags erkannt
    Obwohl du sie ja im ersten Beitrag benutzt hast

    Ich vermisse noch den FC132. Evtl. die beiden mal in eine Quelle exportieren und hier hochladen.

    Vorm Aufruf des FC132 wird ein DB geöffnet. Evtl. werden aus dem Parameter
    umrangiert, aber ohne kompletten FC132 schwer zu sagen.

  6. #6
    petzi ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    18.12.2008
    Beiträge
    255
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Teil 1/FC132:

    L #NR // NR. DES ABWURFES
    + 287 // OFFSET FUER DB-Nr. (alt: 70 DX-NR.)
    T "MW200_tmp" // DX-NR.
    T #conv_akku1
    L "MW200_tmp" // "MB201_tmp"
    T #conv_index
    TAK
    L #conv_akku1
    AUF DB [#conv_index]
    // *** DX ABWURF-STATION
    L DBW 4 // STEUER-BITS Wort 1
    T "MW202_tmp"
    L 0
    <>I // ABWURF AKTIV ?
    SPB WEIT
    U #STRT // TASTE EIN
    S M 203.0 // SETZE START
    S #WS_A // DATEN AUS WARTESCHLANGE AUSTRAG.
    SPA END1
    WEIT: NOP 0
    U #WS_A // WS-AUSTRAG DATEN
    SPB CN0 // WARTEN BIS DATEN AUSGETRAGEN
    //; // (WICHTIG, WENN WS LEER !)
    //; // (WS-A WIRD BEI WS-AUSTR.RESETET)
    //; // (SIEHE FX79)
    L #FELD // PLATZ-NR. AUF FOERDERER
    T "MW230-tmp"
    // # LESEN DATEN VON FOERDERER
    CALL "DAT_DX61_OUT_2"
    FELD:="MW230-tmp" // FELD-NR.
    DW1 :="MW232-tmp" // HAKEN-NR.
    DW2 :="MW234-tmp" // STATUS
    DW3 :="MW236-tmp" // GEBINDE-VERWALTUNG
    U M 203.0 // FREIGABE
    S M 203.1 // START-HAKEN LESEN
    R M 203.0
    UN M 203.1
    SPB CON1
    S M 203.2 // SOLL-DATEN ERFASSEN
    R M 203.1
    R #SEND
    L DBB 75 // IST-ANZAHL SAECKE Foerderer
    T DBW 8 // SOLL-ANZAHL SAECKE Abwurf
    AUF "PC-DAT_IN_BI_VISU"
    // *** Visualisierung
    T #SOLL
    // DX-Nr
    T #conv_akku1
    L "MW200_tmp" // "MB201_tmp"
    T #conv_index
    TAK
    L #conv_akku1
    AUF DB [#conv_index] // ***
    // *** DX ABWURF-STATION
    CON1: NOP 0 // # PRUEFEN "ABWURF KOMPLETT"
    U #ABW // SACK-ABWURF LAEUFT
    UN "M 202.2-tmp"
    = "M202.3-tmp" // FLANKE "ABWURF LAEUFT"
    S "M 202.2-tmp" // FLM
    UN #ABW
    R "M 202.2-tmp"
    UN "M202.3-tmp" // FLANKE "ABWURF LAEUFT"
    SPB CON2
    L DBW 8 // ANZAHL SAECKE ABWERFEN
    + -1 // 1 SACK ABZIEHEN
    T DBW 8 // REST-ANZAHL SAECKE
    T "MW206-tmp"
    L 0
    ==I
    S M 203.3 // SETZE "ABWURF KOMPLETT"
    AUF "PC-DAT_IN_BI_VISU"
    // *** Visualisierung
    L #SOLL // Soll-Anzahl Saecke
    L "MW206-tmp" // Rest-Anzahl Saecke
    -I
    T #IST // Ist-Anzahl an Visualisierung
    T #conv_akku1
    L "MW200_tmp" // "MB201_tmp"
    T #conv_index
    TAK
    L #conv_akku1
    AUF DB [#conv_index] // ***
    // *** DX ABWURF-STATION
    CON2: NOP 0 // # PRUEFEN AUF "LETZTEN HAKEN)
    U "M202.4-tmp" // Haken-Nr. merken beim 1. Abwurf
    SPB CN21
    S "M202.4-tmp" // Haken-Nummer erfasst (Nr. -1)
    L "MW232-tmp" // Haken-Nr. beim 1. Abwurf
    T DBW 6 // Anfang-Haken-Nr. (Nr. -1)
    L 0 // loeschen
    T DBW 78 // Anzahl Haken Durchlaufen
    SPA CN21
    END1: SPA END2 // Sprunginsel
    CN21: NOP 0
    UN #TAKT // Haken-Takt
    ON "M202.4-tmp" // Haken-Nr.erfasst/Anzahl resetet
    SPB CN22
    L DBW 78 // Anzahl Haken durchlaufen alt
    + 1 // erhoehen
    T DBW 78 // Anzahl Haken durchlaufen - neu
    CN22: NOP 0
    U M 203.2 // Soll-Daten erfassen
    U(
    L DBW 78 // Anzahl Haken-Durchlauf
    L "ANZ_LAUF" // Soll-Anzahl Haken-Durchlauf
    >=I
    )
    S M 203.4 // ALLE HAKEN DURCHLAUFEN
    // (ABWURF NICHT KOMPLETT)
    U M 203.3 // ABWURF KOMPLETT
    ON M 203.4 // NICHT "ALLE HAKEN DURCHLAUFEN"
    O "M 202.0" // bereits angestossen
    SPB CON3
    AUF "PC-DAT_IN_BI_VISU"
    // *** Visualisierung Meldungen
    S "M 202.0"
    S DB103.DBX 165.0 // VISU: Meldung Abwurf NIO
    L #NR // Abwurf-Nr.: X
    T "PC-DAT_IN_BI_VISU".D_ABW_NR // Eintrag VISU
    L #SOLL // Soll-Anzahl Saecke
    T "PC-DAT_IN_BI_VISU".D_ABW_S // Eintrag VISU
    L #IST // Ist-Anzahl Saecke
    T "PC-DAT_IN_BI_VISU".D_ABW_I
    T #conv_akku1
    L "MW200_tmp" // "MB201_tmp" // DX-Nr.
    T #conv_index
    TAK
    L #conv_akku1
    AUF DB [#conv_index] // ***
    // *** DX ABWURF-STATION
    CON3: NOP 0 // # FEHLER: GEBINDE NICHT KOMPLETT
    U M 203.3 // ABWURF KOMPLETT
    O M 203.4 // ALLE HAKEN DURCHLAUFEN
    UN M 203.6
    S M 203.5 // DRUCKEN / SUMMENSATZ SENDEN
    R M 203.2
    SPA SPRG
    CN0: SPA CON0
    END2: SPA ENDE // Sprunginsel
    SPRG: NOP 0
    U M 203.6
    U #DRIO // TASTE: DRUCK IO
    S "M 203.7-tmp" // ENDE
    UN "M 203.7-tmp"
    SPB CON5
    R M 203.3 // RESET ABWURF KOMPLETT
    R M 203.4 // RESET ABWURF NICHT KOMPLETT
    R M 203.5 // RESET DRUCKEN/SUMMENSATZ SENDEN
    R M 203.6 // RESET ABWURF BEENDET
    R "M202.4-tmp" // RESET Haken-Korrektur
    R "M 202.0"
    AUF "PC-DAT_IN_BI_VISU"
    // *** Visualisierung
    L 0 // Loeschen Anzahl Saecke
    T #SOLL
    T #IST
    T #conv_akku1
    L "MW200_tmp" // "MB201_tmp"
    T #conv_index
    TAK
    L #conv_akku1
    AUF DB [#conv_index]
    // *** DX ABWURF-STATION
    L DBB 74 // TABELLEN-PLATZ-NR.
    T "MW204-tmp"
    CALL "DAT_LOES_FC153"
    S_NR:="MW204-tmp"
    CON5: NOP 0 // # AUSGABE BEFEHL UND MELDUNGEN
    UN M 203.5
    SPB CON4
    UN #FRG // WARTEN BIS ANDERE ABWUERFE FERT.
    SPB CON4 // (FERTIG-MELDUNG NUR 1 ABWURF)
    S #DRCK // DRUCKEN STARTEN (1-MAL DRUCKEN)
    S #SEND // SENDEN STARTEN (EINTRAG WS)
    S #ENDE // SETZEN "ABWURF IST AKTIV"
    S M 203.6 // DRUCKEN ABWARTEN
    R M 203.5
    CON4: NOP 0
    U M 203.6 // 1. DRUCKEN GESTARTET
    U #DNIO // TASTE: DRUCK NIO
    UN "M202.6-tmp"
    = "202.5-tmp" // Flanke Drucken Wiederholen
    S "M202.6-tmp"
    UN #DNIO
    R "M202.6-tmp" // Flanke Druck wiederholen
    U "202.5-tmp"
    S #DRCK // DRUCK WIEDERHOLEN
    U M 203.1 // ABWURF-STELLE FREIGABE
    S "M 202.1-tmp" // ABWURF AKTIVIEREN
    U M 203.5 // ABWURF BEENDET
    R "M 202.1-tmp" // RESET ABWURF-FREIGABE
    U M 203.2 // DATEN EINGELESEN
    = #EIN // ABWURF-FREIGABE
    CON0: NOP 0
    U(
    U M 203.0
    O M 203.1
    O M 203.2 // ABWURF ANGEWAEHLT/LAEUFT
    )
    UN M 203.3 // NICHT ABWURF NICHT KOMPLETT
    UN M 203.4 // NICHT FERTIG
    O
    U M 203.4 // Abwurf nicht komplett
    U "M 12.1" // Blinktakt
    = #LPGE // LAMPE GELB
    U M 203.3 // ABWURF KOMPLETT
    UN M 203.6
    O
    U M 203.6 // Abwurf beendet
    U M 12.0
    = #LPGN // LAMPE GRUEN
    Grüße
    petzi

  7. #7
    petzi ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    18.12.2008
    Beiträge
    255
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Teil 2/FC132:

    AUF "PC-DAT_IN_BI_VISU"
    // *** Visualisierung
    L #DLVI // Visualiseirung Abwurf-Status
    T "MB208-tmp"
    U #LPGE
    = "M208.1-tmp" // Anzeige gelb
    U #LPGN
    = "M208.2-tmp" // Anzeige gruen
    L "MB208-tmp"
    T #DLVI
    ENDE: NOP 0
    U "M 203.7-tmp"
    R "M 203.7-tmp" // ABWURF-PROGRAMM ENDE
    R #ENDE // RESET "FERTIG"
    // DX-NR. ABWURF-STATION
    T #conv_akku1
    L "MW200_tmp" // "MB201_tmp"
    T #conv_index
    TAK
    L #conv_akku1
    AUF DB [#conv_index]
    // *** DX-ABWURF-STATION
    L "MW202_tmp" // # RUECKSCHREIBEN STEUER-MERKER
    T DBW 4 // Steuerwort 1
    UN "202.5-tmp" // Flanke Druck-Wiederholung
    BEB
    // *** Visualisierung Meldung
    S DB101.DBX 259.1 // Meldung anstossen
    // Etikett-Daten in Visualisierung
    CALL "Fkt_CopyDB_I"
    iInSourceDB :=232 // Drucker-DB
    iInTargetDB :=101 // Visualisierung DB
    iInSourceOffset:=6
    iInTargetOffset:=280
    iInLen :=28
    oBoPAFE :=#tmp


    Dieser Code wollte einfach nicht in die Code-Tags... sorry!
    Geändert von petzi (02.06.2010 um 10:51 Uhr)
    Grüße
    petzi

  8. #8
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard


    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  9. #9
    Registriert seit
    18.09.2004
    Ort
    Münsterland/NRW
    Beiträge
    4.718
    Danke
    729
    Erhielt 1.158 Danke für 969 Beiträge

    Standard

    Ist das ein S5-Programm oder aus einer S5 konvertiert.
    Ganz am Anfang des FC132 wird doch schon, abhängig von der Nummer des
    Abwurfes ein DB geöffnet und daraus die Werte auf dein Merkerwort 202 kopiert

  10. #10
    Registriert seit
    18.09.2004
    Ort
    Münsterland/NRW
    Beiträge
    4.718
    Danke
    729
    Erhielt 1.158 Danke für 969 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    @petzi
    Hast du diesen Beitrag von mir gründlich gelesen

Ähnliche Themen

  1. Fehlersuche S7 300
    Von olnet im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 18.11.2010, 19:30
  2. SPS Tools, Tricks und Tipps?
    Von sps_mitte im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 04.06.2010, 14:09
  3. Fehlersuche am Profibus
    Von jogger im Forum Feldbusse
    Antworten: 53
    Letzter Beitrag: 09.07.2008, 08:27
  4. Fehlersuche Profibus
    Von x108 im Forum Sonstige Steuerungen
    Antworten: 3
    Letzter Beitrag: 20.06.2007, 19:50
  5. Fehlersuche in Step7
    Von MSP im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 06.12.2005, 11:08

Lesezeichen

Berechtigungen

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