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

Ergebnis 1 bis 4 von 4

Thema: Real-Format von S5 nach S7 und umgekehrt

  1. #1
    Registriert seit
    04.08.2009
    Beiträge
    117
    Danke
    2
    Erhielt 6 Danke für 6 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Mädels,
    ich habe nie mit S5 gearbeitet....
    Die frage lautet:
    Wie kann ich ein Real von S7 nach S5 umwandeln und umgekehrt???????


    Danke im vorraus

    Claus
    Zitieren Zitieren Real-Format von S5 nach S7 und umgekehrt  

  2. #2
    clausi ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    04.08.2009
    Beiträge
    117
    Danke
    2
    Erhielt 6 Danke für 6 Beiträge

    Standard

    Ich habe es
    Es hat sich erledigt


    Claus

  3. #3
    Registriert seit
    18.09.2004
    Ort
    Münsterland/NRW
    Beiträge
    4.719
    Danke
    729
    Erhielt 1.159 Danke für 970 Beiträge

    Standard

    Und andere Unwissende dürfen nicht an deiner Lösung teilhaben?

  4. #4
    clausi ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    04.08.2009
    Beiträge
    117
    Danke
    2
    Erhielt 6 Danke für 6 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von marlob Beitrag anzeigen
    Und andere Unwissende dürfen nicht an deiner Lösung teilhaben?
    Aber selbstverständlich


    Code:
     
    //*************************
     
    TITLE =Wandlung S7_Real in S5_Gleitpunkt
    //
    AUTHOR : :icon_mrgreen::icon_mrgreen::icon_mrgreen:
    FAMILY : :sc4:
    NAME : R_to_G
    VERSION : 0.1
     
    VAR_INPUT
     S7_R_Zahl : REAL ; 
    END_VAR
    VAR_OUTPUT
     S5_G_Zahl : DWORD ; 
     Ueberlauf : BOOL ; 
    END_VAR
    VAR_TEMP
     S7_Temp : REAL ; 
     S5_Temp : DWORD ; 
     Neg : BOOL ; 
    END_VAR
    BEGIN
    NETWORK
    TITLE =
         SET   ; 
         R     #Ueberlauf; 
         R     #Neg; 
         L     DW#16#0; 
         T     #S5_Temp; 
         L     #S7_R_Zahl; 
         T     #S7_Temp; 
         L     1.701412e+038; 
         >=R   ; 
         S     #Ueberlauf; 
         BEB   ; 
         L     -1.701412e+038; 
         L     #S7_Temp; 
         >=R   ; 
         S     #Ueberlauf; 
         BEB   ; 
         L     0.000000e+000; 
         <>R   ; 
         SPB   Norm; 
         L     DW#16#80000000; 
         T     #S5_G_Zahl; 
         BEA   ; 
    Norm: U     L      0.7; 
         S     #Neg; 
         L     #S7_Temp; 
         SLD   1; 
         T     #S7_Temp; 
         L     LB     0; 
         L     126; 
         -I    ; 
         T     LB     4; 
         SET   ; 
         =     L      0.0; 
         R     L      0.1; 
         L     #S7_Temp; 
         SRD   2; 
         UN    #Neg; 
         SPB   Pos; 
         NEGD  ; 
    Pos:  L     DW#16#FFFFFF; 
         UD    ; 
         L     #S5_Temp; 
         +D    ; 
         T     #S5_G_Zahl; 
    END_FUNCTION
    FUNCTION "FC x" : VOID
    TITLE =Wandlung S5_Gleitpunkt in S7_Realzahl
    //
    AUTHOR : :icon_mrgreen::icon_mrgreen::icon_mrgreen:
    FAMILY : :icon_mrgreen:
    NAME : G_to_R
    VERSION : 0.1
     
    VAR_INPUT
     S5_G_Zahl : DWORD ; 
    END_VAR
    VAR_OUTPUT
     S7_R_Zahl : REAL ; 
     Unterlauf : BOOL ; 
    END_VAR
    VAR_TEMP
     S5_Temp : DWORD ; 
     S7_Temp : REAL ; 
     Neg : BOOL ; 
     S5_M_Bit : BOOL ; 
    END_VAR
    BEGIN
    NETWORK
    TITLE =
         SET   ; 
         R     #Neg; 
         R     #Unterlauf; 
         L     #S5_G_Zahl; 
         T     #S5_Temp; 
         L     B#16#81; 
         L     LB     0; 
         ==I   ; 
         S     #Unterlauf; 
         BEB   ; 
         L     B#16#82; 
         ==I   ; 
         S     #Unterlauf; 
         BEB   ; 
         L     #S5_Temp; 
         UN    L      1.7; 
         SPB   pos; 
         S     #Neg; 
         NEGD  ; 
    pos:  T     #S7_Temp; 
         U     L      5.6; 
         =     #S5_M_Bit; 
         SLD   1; 
         L     DW#16#7FFFFF; 
         UD    ; 
         T     #S7_Temp; 
         L     DW#16#0; 
         <>D   ; 
         SAVE  ; 
         U     BIE; 
         O     #S5_M_Bit; 
         SPB   NORM; 
         L     B#16#80; 
         L     LB     0; 
         ==I   ; 
         L     0; 
         SPB   GPT; 
         L     B#16#0; 
         L     LB     0; 
         ==I   ; 
         L     0; 
         SPB   GPT; 
         L     127; 
         L     LB     0; 
         +I    ; 
         SPA   GPT; 
    NORM: L     B#16#80; 
         L     LB     0; 
         ==I   ; 
         S     #Unterlauf; 
         BEB   ; 
         L     126; 
         +I    ; 
    GPT:  SLW   7; 
         L     W#16#FF80; 
         UW    ; 
         SLD   16; 
         L     #S7_Temp; 
         +D    ; 
         T     #S7_Temp; 
         U     #Neg; 
         =     L      4.7; 
         L     #S7_Temp; 
         T     #S7_R_Zahl; 
    END_FUNCTION
     
     
     
     
    //**************************
    Gruß

    Claus

Ähnliche Themen

  1. Format DATE in real oder INt wandeln
    Von jensel im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 10.05.2011, 18:18
  2. Antworten: 18
    Letzter Beitrag: 12.08.2009, 15:59
  3. Antworten: 15
    Letzter Beitrag: 20.01.2009, 17:51
  4. Date nach DINT Format
    Von PhilippL im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 07.09.2007, 08:44
  5. Antworten: 7
    Letzter Beitrag: 29.08.2006, 18:40

Lesezeichen

Berechtigungen

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