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

Seite 4 von 6 ErsteErste ... 23456 LetzteLetzte
Ergebnis 31 bis 40 von 54

Thema: String: Übergabe der Max Länge Falsch

  1. #31
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.794
    Danke
    398
    Erhielt 2.417 Danke für 2.013 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    deine "benutzte Länge" kommt ja von hier :
    Code:
        S_REF.s_act:=INT_TO_BYTE(size);
    ... aus der (beliebten) "DCI_GetStringParam" ...

    Gruß
    LL

  2. #32
    Registriert seit
    12.02.2008
    Ort
    Westfalen (Dort wo's Schwarzbrot gibt)
    Beiträge
    417
    Danke
    8
    Erhielt 87 Danke für 72 Beiträge

    Standard

    Yep, hab ich überlesen, sorry.

    Aber einen hab ich noch:

    Zitat Step7 Hilfe
    Wird der Inhalt eines Strings vom Anwenderprogramm geändert, muss auch das Byte "Tatsächliche Länge" beschrieben bzw. aktualisiert werden, damit der String vom PG angezeigt werden kann.
    Das mit dem PG lass ich jetzt erstmal aussen vor. Vor dem Kopieren steht in dem DB irgendeine Soll und Istlänge. Vielleicht geht SCL ja nur hin und kopiert den nackten String ohne Soll und Istlänge.

    Wenn alles nicht mehr hilft geh doch mal hin, und sieh Dir den AWL Code an, den SCL aus einer Stringzuweisung erzeugt. Vielleicht wird man dann schlauer.

  3. #33
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.314
    Danke
    932
    Erhielt 3.329 Danke für 2.688 Beiträge

    Standard

    Hallo kai86,

    lege mal weitere neue Stringvariablen an und weise Var3 diesen Variablen zu:
    Code:
    FUNCTION DCI_HandleCommand:Void
    VAR
        Var3 : STRING[16];
        Testvar : STRING[16];
    END_VAR
    
    Testvar := '';
    
    Var3 := 'AAAAA';
    DATA.LocationID := Var3;
    
    Testvar := Var3;
    NeueExterneDBvar := Var3;
    
    END_FUNCTION
    Wenn die Zuweisung nur bei DATA.LocationID nicht korrekt ist, dann beschreibt dein restliches Programm irgendwo die DATA.LocationID.
    Wenn alle Zuweisungen nicht OK sind, dann wende Dich an die Siemens-Hotline, weil der Zuweisungsoperator := für STRING offensichtlich nicht korrekt funktioniert.
    Welche Versionen von Step7 und SCL hast Du eigentlich genau?

    Gruß
    Harald

  4. #34
    kai86 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    13.01.2010
    Beiträge
    158
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Nein ich habe alles rausgeworfen bis auf die zeile die ich als letztes gepostet habe und es geht trotzdem nicht.

  5. #35
    kai86 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    13.01.2010
    Beiträge
    158
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Version 5.4 SCL glaube 4.0

  6. #36
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.794
    Danke
    398
    Erhielt 2.417 Danke für 2.013 Beiträge

    Standard

    @Grubba:
    ich bin mir da nicht sicher, ob du so weiter kommst ...
    In verschiedener meiner Projekte habe ich sehr viel SCL-Stringverarbeitung drin - ohne die hier zu sehenden Probleme. Allerdings bleiben die Strings auch i.d.R. in einer Funktion / Prozedur und die Ausgabe ist dann nur den Endwert, der z.B. in einen Global-Speicher zur Anzeige o.ä. geht.
    Der String-Header wird nach meiner Erfahrung (wenn einmal richtig angelegt) sauber mit übergeben bzw. auch dann von Bearbeitungsfunktionen (z.B. CONCAT) richtig korrigiert. Auch das Arbeiten mit Strings mit unterschiedlicher Längen-Deklaration birgt (immer unter der Berücksichtigung der richtigen Initialisierung) keine Probleme ...

    Gruß
    LL

  7. #37
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.794
    Danke
    398
    Erhielt 2.417 Danke für 2.013 Beiträge

    Standard

    welche SCL-Version ?

  8. #38
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.314
    Danke
    932
    Erhielt 3.329 Danke für 2.688 Beiträge

    Standard

    Zitat Zitat von kai86 Beitrag anzeigen
    Version 5.4 SCL glaube 4.0
    Tatsächlich??? Ob das funktionieren kann?
    Das sieht nicht gut aus. Aktuell wäre SCL V5.3 SP5

    Gruß
    Harald

  9. #39
    Registriert seit
    12.02.2008
    Ort
    Westfalen (Dort wo's Schwarzbrot gibt)
    Beiträge
    417
    Danke
    8
    Erhielt 87 Danke für 72 Beiträge

    Standard

    @Larry

    Da magst Du wohl recht haben...

    Habs auch gerade mal nachgebaut. Stringzuweisung im FC unter SCL funktioniert einwandfrei. Inklusive Ist und Maxlänge. Demnach ist diesmal nicht der Siemens schuld....

  10. #40
    kai86 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    13.01.2010
    Beiträge
    158
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Also folgende Feststellung:

    Wenn ich statt des DB Strings einen normalen Definiere stimmt die Länge nach dem Kopieren. Bei verwendung des DB s geht es nicht. kann das nicht mal schnell einer bei sich testen?

Ähnliche Themen

  1. Antworten: 0
    Letzter Beitrag: 04.06.2010, 09:55
  2. Länge eines String mit der LEN-Funktion auslesen
    Von baggerandy im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 10.04.2009, 16:13
  3. String in Int. Was ist hier falsch ?
    Von noeppkes im Forum Simatic
    Antworten: 13
    Letzter Beitrag: 06.10.2007, 17:57
  4. Optimale String übergabe ?
    Von Projekt 06 im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 28.03.2006, 20:36
  5. Länge im Bausteinkopf falsch
    Von kolbendosierer im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 02.02.2006, 12:10

Lesezeichen

Berechtigungen

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