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

Seite 3 von 4 ErsteErste 1234 LetzteLetzte
Ergebnis 21 bis 30 von 33

Thema: Funktion "RIGHT" setzt CPU in STOPP

  1. #21
    Bensen83 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.08.2009
    Beiträge
    776
    Danke
    25
    Erhielt 3 Danke für 3 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Sorry, das war wohl noch die alte version, in der neuen hatte ich zu testzwecken schon einfach anstelle des dint_to_string bausteins einfach ein 'test' eingetragen und es funktionierte trotzdem nicht.
    Und in Seriennummer_gesamt steht auch das richtige drin
    Geändert von Bensen83 (27.04.2011 um 15:19 Uhr)
    Zitieren Zitieren Ok  

  2. #22
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.728
    Danke
    398
    Erhielt 2.406 Danke für 2.002 Beiträge

    Standard

    Es ist für einen aussen-stehenden etwas schwierig ...

    Was steht in "Maschinendaten".Vorzeichenposition für ein Wert ? Die richtige Position des "+" oder irgendein Quatsch ?
    Wenn hier etwas unsinniges drin steht - versuch doch mal statt '+' einen tempString mit '+' als Inhalt zu übergeben ...

    Gruß
    Larry

  3. #23
    Bensen83 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.08.2009
    Beiträge
    776
    Danke
    25
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Da steht die richtige Position des Zeichens "+" drin. habe ich schon kontrolliert.
    Finde es halt komisch, dass ich entweder die DELETE Funktion benutzen kann, oder die darauf folgende concat funktion, das ist doch schon irgendwie komisch, oder?
    Zitieren Zitieren Ok  

  4. #24
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.728
    Danke
    398
    Erhielt 2.406 Danke für 2.002 Beiträge

    Standard

    OK ... bleiben wir mal bei der letzten Aussage von dir.
    Was liefert denn DELETE zurück - hast du dir das mal angesehen ?
    Wenn du DELETE asukommentiert hast und dann den CONCAT mit einer manuell beschriebenen "Maschinendaten".Seriennummer_gesamt versorgst - dann geht es und es steht das Richtige drin ?
    Hast du die Länge der Strings mal kontrolliert. Sind die ggf. von der Definition her begrenzt ? Oder wenn nicht - hast du mal versucht, sie zu verkleinern weil du ja sowieso keinen STRING[254] brauchst ?

    Mehr fällt mir dazu sonst nicht ein.

  5. #25
    Bensen83 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.08.2009
    Beiträge
    776
    Danke
    25
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Es funktioniert entweder DELETE, oder CONCAT, und es steht in beiden Fällen das richtige drin. werde noch verrückt
    Zitieren Zitieren O  

  6. #26
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.728
    Danke
    398
    Erhielt 2.406 Danke für 2.002 Beiträge

    Standard

    ... was ist mit den String-Längen ?

    Wo sind die Strings deklariert ? TEMP und somit Lokal oder STAT ?

  7. #27
    Bensen83 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.08.2009
    Beiträge
    776
    Danke
    25
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Die Stringlängen passen alle und sind lang genug. habe sie schon soweit gekürzt, dass sie nicht allzu lang, jedoch immer noch lang genug sind.

    Die Strings sind global in einem DB angelegt
    Zitieren Zitieren Ok  

  8. #28
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.227
    Danke
    534
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    Ichhab mit mal den Fehler angesehen, der OB 88 soll da wohl aufgerufen werden. In der Hilfe zum OB 88 steht Folgendes:

    Code:
    Beschreibung
    
    Das Betriebssystem der CPU ruft den OB 88 auf, wenn die Bearbeitung eines Programmbausteins abgebrochen wird. Beispiele für mögliche Abbruchursachen sind:
    
    ·	Zu große Schachtelungstiefe bei Synchronfehlern
    
    ·	Zu große Schachtelungstiefe von Bausteinaufrufen (U-Stack)
    
    ·	Fehler beim Allokieren von Lokaldaten
    
    Wenn Sie den OB 88 nicht programmiert haben und ein Bearbeitungsabbruch tritt auf, geht die CPU in den Betriebszustand STOP (Ereignis W#16#4570).
    
    Wenn der Bearbeitungsabbruch in der Prioritätsklasse 28 auftritt, geht die CPU in STOP.
    
    Sie können den Bearbeitungsabbruch-OB mit Hilfe der SFCs 39 bis 42 sperren bzw. verzögern und wieder freigeben.
    Vielleicht liegt ja der Fehler an ganz anderer Stelle!
    Prüfe doch mal die Schachtelungstiefe und den Verbrauch des Lokaldatenstack. beim Umgang mit Strings ist da ganz schnell die arg limitierte Grenze erreicht, das hatte ich bereits bei einigen Programmen, in denen mehrere Strings bearbeitet/verkettet werden sollten.
    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

  9. #29
    Bensen83 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.08.2009
    Beiträge
    776
    Danke
    25
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Hey, das klingt zumindest nach einer logischen Erklärung. Leider weis ich nicht genau, was du damit meinst. also warum zu tief verschachtelt? --> beide Bausteine funktionieren alleine einwandfrei.


    was das andere mit dem Stack angeht... ---> wie genau ist das gemeint, bzw. was schlägst du vor?
    Zitieren Zitieren Ah klingt ganz plausibel  

  10. #30
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.728
    Danke
    398
    Erhielt 2.406 Danke für 2.002 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    an der Lokaldaten-Geschichte hatte ich ja auch ein bißchen herum-laboriert.
    Deswegen ja auch die Frage :
    Wo sind die Strings deklariert ? TEMP und somit Lokal oder STAT ?
    Du schreibst darauf als Antwort "in einem DB". Versuch doch mal die ganzen Strings in der Instanz deines Bausteins zu halten und schließlich nur das Ergebnis herauszugeben.
    Ich werde das aber gleich auch mal selber checken ...

Ähnliche Themen

  1. Antworten: 16
    Letzter Beitrag: 02.02.2010, 08:13
  2. Funktion "Global suchen"? (in allen FBs, DBs, ...)
    Von SPSstudent im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 11.01.2010, 08:52
  3. Antworten: 0
    Letzter Beitrag: 24.04.2007, 13:53
  4. Eine Art "MouseOver" Funktion
    Von Auto_FUX im Forum HMI
    Antworten: 9
    Letzter Beitrag: 31.03.2007, 13:33
  5. integrierte Funktion "Positionieren" Siemens CPU 3
    Von Anonymous im Forum Feldbusse
    Antworten: 1
    Letzter Beitrag: 18.11.2005, 17:09

Lesezeichen

Berechtigungen

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