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

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

Thema: Real nach String

  1. #11
    Registriert seit
    04.02.2007
    Beiträge
    2.544
    Danke
    167
    Erhielt 731 Danke für 528 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Die Oscat Step7 hast Du doch als ZIP heruntergeladen.
    Diese entpackst Du in ein Verzeichnis deiner wahl. (nicht Temp oder so)

    Dann im Simatic-Manager
    Datei-Öffnen
    den Reiter Bibliotheken auf durchsuchen und die Oscat auswählen.
    Die Oscat sollte dann geöffnet werden.

    In deinem Projekt legst du ein Netzwerk an, dann sollte in der Funktionsanwahl (normalerweise links) unter Bilbliotheken die Oscat304 auftauchen. dort kann Du dann den Real_to_Strf aussuchen.

  2. Folgender Benutzer sagt Danke zu jabba für den nützlichen Beitrag:

    rerdma3s (13.05.2009)

  3. #12
    Registriert seit
    18.02.2009
    Ort
    Köln
    Beiträge
    194
    Danke
    53
    Erhielt 15 Danke für 5 Beiträge

    Standard

    Deine Anleitung war super! Hat alles geklappt.
    Das Längste war die Suche nach der Funktion
    Es sind ja immerhin über 400.

    Werde morgen mal mit "REAL_TO_STRF" arbeiten und mal sehen was draus wird.

    Danke
    Gruß Rene

  4. #13
    Registriert seit
    04.01.2008
    Ort
    Wien
    Beiträge
    772
    Danke
    136
    Erhielt 39 Danke für 35 Beiträge

    Standard

    Gibt es irgendwo eine Übersicht der zur Verfügung ´stehenden FC/FB´s der Oscat Lib?
    irgendetwas ist ja immer...
    ING. Gerald Miedler

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

    Standard

    Zitat Zitat von Gerri Beitrag anzeigen
    Gibt es irgendwo eine Übersicht der zur Verfügung ´stehenden FC/FB´s der Oscat Lib?
    Es ist eine PDF dabei dort ist alles drin!
    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

  6. Folgender Benutzer sagt Danke zu Ralle für den nützlichen Beitrag:

    Gerri (14.05.2009)

  7. #15
    Registriert seit
    29.10.2008
    Beiträge
    160
    Danke
    28
    Erhielt 28 Danke für 18 Beiträge

  8. Folgender Benutzer sagt Danke zu vita-2002 für den nützlichen Beitrag:

    Gerri (14.05.2009)

  9. #16
    Registriert seit
    18.02.2009
    Ort
    Köln
    Beiträge
    194
    Danke
    53
    Erhielt 15 Danke für 5 Beiträge

    Standard

    Ja, da sind alle FC's u.s.w. beschrieben.

  10. #17
    Registriert seit
    05.02.2008
    Beiträge
    3
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo,

    ich müsste mich auch mal mit in das Thema einmischen. Ich muss auch einen Real nach String wandel für serielle Kommunikation. Ich habe oskat eingebunden und die noch notwendigen FC's. Aber es kommt bei mir in der Simulation nichts sinnvolles raus.

    Real: 1.1234 wird bei mir zu String: +1..... ??

    Hab ihr eine Ahnung was ich da falsch machen? Habe das Projekt angehängt.

    Gruß Christian
    Angehängte Dateien Angehängte Dateien

  11. #18
    Registriert seit
    04.02.2007
    Beiträge
    2.544
    Danke
    167
    Erhielt 731 Danke für 528 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich hab den Fehler auch.
    Es liegt aber nicht an der Oscat-Lib , sondern am Befehl Insert.
    Den habe ich mal Testweise aufgerufen, und der füllt mir den String bis zum Ende auf.
    Nach langem suchen habe ich rausgefunden, das beim Insert der In und out nicht gleich sein darf. Ich habe in dem SCL eine weitere Variable eingefügt, jetzt geht es bei mir ohne Probleme.

    Code:
    (* @PATH := '\/String' *)
    FUNCTION REAL_TO_STRF : STRING[20]
    TITLE = 'REAL_TO_STRF'
    //version 1.7 27. feb. 2009
    //programmer  hugo
    //tested by   
    // 
    //Real_to_strF converts a Real to a fixed length String.
    //the string will be filles with zeroes to achieve the fixed length after the dot.
    //
    //uses: oscat/mathematical/EXP10
    //      S7/Standard Library/IEC Function Blocks/CONCAT
    //      S7/Standard Library/IEC Function Blocks/DI_STRING
    //      S7/Standard Library/IEC Function Blocks/REPLACE
    // 
    //
    VERSION : '1.7'
    AUTHOR  : oscat
    NAME    : REALSTR
    FAMILY  : STRINGS
    VAR_INPUT
        IN : REAL;
        N : INT;
    END_VAR
    VAR
        tN : INT;
        O: REAL;
        i: INT;
        str : STRING[20];
        str2: STRING[20];
    END_VAR
    BEGIN
    str := REAL_TO_STRF;
    (* round the input to N digits and convert to string *)
    (* LIMIT N to 0 .. 7 *)
    tN := LIMIT(MN:=0,IN:=N,MX:=7);
    (* round the input to N digits and convert to string *)
    O := ABS(in) * EXP10(tN);
    str := DINT_TO_STRING(REAL_TO_DINT(O));
    (* add zeroes in front to make sure sting is at least 8 digits long *)
    FOR i := LEN(str) TO tN DO str := CONCAT(IN1:='0', IN2:=str); END_FOR;
    (* add a dot if n > 0 *)
    IF tN > 0 THEN str2 := INSERT(IN1:=str, IN2:='.', P:=LEN(str) - tN); ELSE str2:=str; END_IF;
    (* add a minus sign if in is negative *)
    IF in < 0 THEN str2 := CONCAT(IN1:='-', IN2:=str2); END_IF;
    REAL_TO_STRF := str2;
     
    (* revision history
    hm  26 jan 2007 rev 1.0
        original version
    hm  20. nov. 2007   rev 1.1
        when N=0 ther will be no dot at the end of the string.
    hm  15. dec. 2007   rev 1.2
        changed code for better performance
    hm  4. mar. 2008    rev 1.3
        result is now rounded instead of trunc
    hm  20. mar. 2008   rev 1.4
        changed trunc to real_to_dint because trunc was generating wrong values on wago 842
    hm  29. mar. 2008   rev 1.5
        changed STRING to STRING(20)
    hm  4. apr. 2008    rev 1.6
        added variable O to avoid an error uner CoDeSys SP PLCWinNT V2.4
    hm  27. feb. 2009   rev 1.7
        added a missing zero for IN < 1
    *)
    END_FUNCTION
    Geändert von jabba (15.05.2009 um 12:28 Uhr) Grund: Reste vom Test aus SCL entfernt

  12. Folgender Benutzer sagt Danke zu jabba für den nützlichen Beitrag:

    Waelder (02.05.2012)

Ähnliche Themen

  1. CoDeSys Real in String wandeln
    Von guwen im Forum CODESYS und IEC61131
    Antworten: 7
    Letzter Beitrag: 08.04.2011, 06:36
  2. Umwandlung von BCD nach REAL
    Von Anonymous im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 20.07.2005, 15:07
  3. REAL in STRING umwandeln
    Von KNOTZ im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 13.07.2005, 14:50
  4. Antworten: 4
    Letzter Beitrag: 03.01.2005, 14:04
  5. Konvertierung Real in String
    Von linax im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 08.12.2003, 17:40

Lesezeichen

Berechtigungen

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