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

Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 16 von 16

Thema: String_To_Real

  1. #11
    Earny ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    04.04.2008
    Beiträge
    389
    Danke
    85
    Erhielt 39 Danke für 24 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Die FC39 (STRNG_R) liegt in Systembausteine - Programmrecourcen.

    Die Übersetzung des Projekts ist natürlich auch fehlerfrei.

  2. #12
    Registriert seit
    06.10.2004
    Ort
    Kopenhagen.
    Beiträge
    4.616
    Danke
    377
    Erhielt 799 Danke für 642 Beiträge

    Standard

    Zitat Zitat von Earny Beitrag anzeigen
    Die FC39 (STRNG_R) liegt in Systembausteine - Programmrecourcen.
    Auch online ?
    Zitat Zitat von Earny Beitrag anzeigen
    Die Übersetzung des Projekts ist natürlich auch fehlerfrei.
    Ich habe gefragt ob in Diagnosepuffer was steht.
    Jesper M. Pedersen

  3. #13
    Earny ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    04.04.2008
    Beiträge
    389
    Danke
    85
    Erhielt 39 Danke für 24 Beiträge

    Standard

    Ich teste mit PLCSim.
    Im Diagnosepuffer steht nichts auffälliges drin.
    Online-Zugänge - PLC_1 (MPI=2) - Online und Diagnose - Diagnosepuffer

    Da steht nur "Neue Anlaufinformation im Betriebszustand STOP", "Urlöschen durchgeführt" und "Start Urlöschen automatisch..."



    Ich muss jetzt mal weg.

  4. #14
    Registriert seit
    29.03.2004
    Beiträge
    5.731
    Danke
    143
    Erhielt 1.685 Danke für 1.225 Beiträge

    Standard

    Mit allerhöchster Wahrscheinlichkeit ist die Bausteindokumentation im TIA-Portal nicht korrekt. Die Funktion sollte sich genau so verhalten wie in Step7 Classic, ansonsten wäre kein Programm von Step7 auf TIA migrierbar. D.h. den String mit vollen 14 Stellen in Exponentialschreibweise.

    Dann schau dir mal die Bausteinversion des FC39 an welchen TIA-Portal verwendet. Die V12 hat nämlich eine Version 1.4 intus, Step7 bringt hingegen eine neuere Version 1.5 mit. Und dort wurde nicht umsonst etwas geändert. Guck mal was die V13 so treibt, habe ich gerade nicht greifbar.

    Erstaunlich (bzw. eigentlich überhaupt nicht erstaunlich) ist zusätzlich, dass der SCL-Compiler in Step7 Classic besser optimiert als das neue TIA-Portal. Wenn STRING_TO_REAL mit einem String-Literal als Parameter aufgerufen wird, wird das erkannt und die Funktion FC39 überhaupt nicht aufgerufen, sondern direkt die Real-Konstante im Programm eingefügt. TIA erkennt das nicht, sondern baut den String im Temp-Speicher zusammen und ruft damit die Funktion auf.

    Darum funktioniert in Step7-Classic SCL ein
    Code:
    realVar := STRING_TO_REAL('123.4');
    ein
    Code:
    s := '123.4';
    realVar := STRING_TO_REAL(s);
    hingegen nicht, weil das Format nicht korrekt ist.

  5. Folgender Benutzer sagt Danke zu Thomas_v2.1 für den nützlichen Beitrag:

    Earny (28.08.2015)

  6. #15
    Earny ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    04.04.2008
    Beiträge
    389
    Danke
    85
    Erhielt 39 Danke für 24 Beiträge

    Standard

    Thomas v2.1 und PN/DP hatten Recht. Gebe ich die Real-Zahl als String mit 14 Zeichen vor, funktioniert es.
    "RLaenge" := STRING_TO_REAL('+2.1200000E+02');

    Damit stehe ich jetzt vor dem nächsten Problem. Wie mache ich aus einer String-Ganzzahl mit 4 Ziffern einen String, der die Zahl in wissenschaftlicher Darstellung beinhaltet?

  7. #16
    Earny ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    04.04.2008
    Beiträge
    389
    Danke
    85
    Erhielt 39 Danke für 24 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Problem gelöst.
    Ich nehme anstelle String_To_Real die Umwandlung String_To_Int.
    Da immer nur 4 Ziffern im String stehen, geht die Umwandlung nach Int immer gut.
    Auch die führenden Nullen bereiten kein Problem.

Ähnliche Themen

  1. Scl string_to_real
    Von Matze001 im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 22.02.2012, 18:28
  2. STRING_TO_REAL im Twin CAT version 2.11
    Von tech007 im Forum CODESYS und IEC61131
    Antworten: 8
    Letzter Beitrag: 02.08.2011, 16:32

Lesezeichen

Berechtigungen

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