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

Ergebnis 1 bis 5 von 5

Thema: Probleme mit For-Schleife

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

    Standard


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

    Bei Befehl #fahre_los wird erst eine Flanke mit #onimo_input_start definiert. die dafür sorgt dass die For-Schleife nur einmal aufgerufen wird.
    bei der If Anweisung in der For Schleife steht ein exit dass die forschleife zusätzlich unterbrechen soll fals """Hochregallager".Zustand[#Sollwert_Spalte,#Sollwert_Zeile] = False"" ist

    Ich finde das problem nicht bekomme den Fehler :

    STOP durch Programmierfehler (OB nicht geladen oder nicht möglich, bzw. kein FRB vorhanden )
    Unterbrechungstelle im Anwenderprogramm: Zyklisches Programm (OB 1)
    Prioritätsklasse: 1
    FB-Nummer: 1
    Bausteinadresse: 384
    Bisheriger Betriebszustand: RUN

    Hier mein Code:

    #onimp_input_start := #fahre_los AND NOT #mem_input_start ;
    #mem_input_start := #fahre_los ;


    IF #onimp_input_start THEN
    FOR #i := 1 TO 26 BY 1 DO
    #Sollwert_Zeile := #Liste[#i].Zeile ;
    #Sollwert_Spalte := #Liste[#i].Spalte;

    IF "Hochregallager".Zustand[#Sollwert_Spalte,#Sollwert_Zeile] = False THEN
    #fahre_Zeile := #Sollwert_Zeile;
    #fahre_Spalte := #Sollwert_Spalte;
    EXIT;
    END_IF;
    END_FOR;
    END_IF;


    bitte um hilfe
    Zitieren Zitieren Probleme mit For-Schleife  

  2. #2
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.220
    Danke
    533
    Erhielt 2.696 Danke für 1.948 Beiträge

    Standard

    Ist das Array "Hochregallager".Zustand[#Sollwert_Spalte,#Sollwert_Zeile] groß genug definiert und in die SPS übertragen worden?

    Gleiche Frage zu #Liste[].

    Neuer IDB initialisiert und in SPS übertragen?

    PS: Ach ja, bei TIA heißt das Programm übersetzen.
    Geändert von Ralle (20.12.2012 um 16:28 Uhr)
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  3. #3
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.716
    Danke
    398
    Erhielt 2.399 Danke für 1.999 Beiträge

    Standard

    Zitat Zitat von Ralle Beitrag anzeigen
    Ist das Array "Hochregallager".Zustand[#Sollwert_Spalte,#Sollwert_Zeile] groß genug definiert ...
    bzw. gibt es SICHER zu jedem der beiden Indexe ein definiertes ArrayElement ?
    Du solltest auf jeden Fall mal die beiden Einzelwerte (#Sollwert_Spalte und #Sollwert_Zeile) auf ihren Betrag prüfen und nur dann weiterarbeiten, wenn der Wert davon legal ist. Im anderen Fall ggf. eine Meldung erzeugen ...

    Gruß
    Larry

    Nachsatz :
    welche der Programmzeilen entspricht die Adresse 384 ?

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

    Standard

    hallo,
    danke schonmal für die antworten.

    Es gibt auf jedenfall zu beiden indexe ein arrayelement.
    ich arbeite mit Tia Portal und da wird sofort ein syntax fehler angezeigt. Das Array ist auch groß genug.
    der fehler heisst ja "Unterbrechungstelle im Anwenderprogramm: Zyklisches Programm (OB 1) " kann man daraus schließen dass der zulange in der for schleife steckt und dann unterbricht !?

    was genau meinst du unter "welche der Programmzeilen entspricht die Adresse 384 ? "
    ich mache das für meine bachelorarbeit und bin nicht der absolute pro

  5. #5
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.716
    Danke
    398
    Erhielt 2.399 Danke für 1.999 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    Zitat Zitat von lexxoe Beitrag anzeigen
    Unterbrechungstelle im Anwenderprogramm: Zyklisches Programm (OB 1) " kann man daraus schließen dass der zulange in der for schleife steckt und dann unterbricht !?
    Das kann ich mir im Falle deines Programms nicht so recht vorstellen. Du hättest dann auch eine Zykluszeit-Überschreitung ... und bekämst das m.E. auch so gemeldet ...

    Zitat Zitat von lexxoe Beitrag anzeigen
    Es gibt auf jedenfall zu beiden indexe ein arrayelement.
    ich arbeite mit Tia Portal und da wird sofort ein syntax fehler angezeigt. Das Array ist auch groß genug.
    Das habe ich auch nicht bezweifelt.
    Ich meinte eher das :
    Zitat Zitat von lexxoe Beitrag anzeigen
    #Sollwert_Zeile := #Liste[#i].Zeile ;
    #Sollwert_Spalte := #Liste[#i].Spalte;
    Wer sagt dir denn das du in Sollwert_Zeile und/oder Sollwerte_Spalte aus dem Array Liste sinnvolle Werte eingetragen bekommst ? Mein Vorschlag bezog sich darauf, das zu checken ...

    Zitat Zitat von lexxoe Beitrag anzeigen
    was genau meinst du unter "welche der Programmzeilen entspricht die Adresse 384 ? "
    Ich beuzog mich dabei auf das :
    Zitat Zitat von lexxoe Beitrag anzeigen
    STOP durch Programmierfehler (OB nicht geladen oder nicht möglich, bzw. kein FRB vorhanden )
    Unterbrechungstelle im Anwenderprogramm: Zyklisches Programm (OB 1)
    Prioritätsklasse: 1
    FB-Nummer: 1
    Bausteinadresse: 384
    Bisheriger Betriebszustand: RUN
    Auch bei einem SCL-Script kannst du dich von Step7 an die entsprechende Programmstelle (bei SCL zumindestens so ungefähr) bringen lassen.
    Ich arbeite nun selbst nicht mit TIA und kann dir jetzt deswegen nicht mit den korekten Benennungen der Funktionen kommen - ich bin mir aber relativ sicher, dass die seit Step7 V5.5 nicht wegrationalisiert worden sind ...
    Die Programmzeile des Scriptes zu haben hilft shon manchmal ...

    Insgesamt bin ich aber weiterhin relativ sicher, dir den wahrscheinlichen Fehler schon genannt zu haben ...

    Gruß
    Larry

Ähnliche Themen

  1. Probleme mit Schleife
    Von spirit im Forum Simatic
    Antworten: 14
    Letzter Beitrag: 22.10.2012, 00:16
  2. Datenbankproblem mit Schleife
    Von stackoverflow im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 23.01.2012, 06:32
  3. Mit Schleife DB füllen
    Von htw im Forum Simatic
    Antworten: 59
    Letzter Beitrag: 23.05.2011, 18:29
  4. Antworten: 22
    Letzter Beitrag: 14.01.2011, 12:10
  5. Schleife Programmieren mit Simatic????
    Von oli--pro im Forum Simatic
    Antworten: 26
    Letzter Beitrag: 29.09.2008, 14:45

Stichworte

Lesezeichen

Berechtigungen

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