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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 12

Thema: Real-Module

  1. #1
    Registriert seit
    22.11.2005
    Ort
    kl.Odenwald
    Beiträge
    716
    Danke
    111
    Erhielt 85 Danke für 71 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ich versuch gerade eine MOD-Funktion für Gleitkomma, REAL zu implementieren. Der Hintergrund: Ich möchte einen Nockenwerk simulieren, dass auch mit bei 20.1 z.B. Schalten kann.
    Der Winkel muss imho zunächst mal auf Mod 360 Grad runtergekürzt werden
    Als Vorgabe sind:

    Code:
    VAR_INPUT
      // Eingangsparameter
      Winkel:   REAL; // Aktueller Drehwinkel
      N0    :   REAL; // Nocken-Anfang (
      N1    :   REAL; // Nocken-Ende      
    END_VAR
    
    VAR_OUTPUT
     // Ausgangsparameter
        Nocken  :   BOOL; // Nocken betätigt
    END_VAR
    
    VAR_TEMP
        Winkel_zykl :     REAL; // Zyklischer Winkel
    END_VAR    
    
        Winkel_zykl := TRUNC(Winkel) MOD 360; // + Realzahl
        IF (Winkel_zykl >= N0 ) AND (Winkel_zykl <= N1) THEN
            Nocken := TRUE;
        ELSE
            Nocken := FALSE;    
        END_IF;
    END_FUNCTION
    Mein Problem ist, dass die MOD-Funktion zwei Integer benötigt,
    bei TRUNC funktionierts bei Einschalten korrekt, jedoch gehts dann bei N! nur ein ganzahligen Schritten, also N1 = 20.0 und N1 = 20.6 haben die gleiche Auswirkungen.
    Aber wie komme ich an die Nachkommastelle von Winkel_zykl? Steh grad ein bisschen auf der Leitung

    Gruss K.
    "Das Leben ist viel zu kurz, um schlecht zu essen !"
    (Johann Lafer zur SWR3 Grillparty)
    Zitieren Zitieren Real-Module  

  2. #2
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    rechne es hoch, also wenn du eine nachkommastelle benötigst mal 10 ...dann kannst du ganzzahlig weitermachen
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  3. Folgender Benutzer sagt Danke zu vierlagig für den nützlichen Beitrag:

    kiestumpe (04.07.2008)

  4. #3
    Avatar von kiestumpe
    kiestumpe ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    22.11.2005
    Ort
    kl.Odenwald
    Beiträge
    716
    Danke
    111
    Erhielt 85 Danke für 71 Beiträge

    Standard

    ...ich dachte eigentlich an ne allgemeine Lösung.
    Aber trotzdem danke für den Ansatz
    "Das Leben ist viel zu kurz, um schlecht zu essen !"
    (Johann Lafer zur SWR3 Grillparty)

  5. #4
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.726
    Danke
    398
    Erhielt 2.401 Danke für 2.001 Beiträge

    Standard

    Ich fand den Vorschlag nicht schlecht ... würde ich selber auch nicht anders machen ...

    Du kannst dir natürlich auch das, was der MOD-Befehl macht, selbst nach-programmieren. Das würde dann auch mit REAL's gehen. Aber ob das dann weniger Aufwand ist ...?

    Gruß
    LL

  6. #5
    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

    Dividiere den Winkelwert durch 360.0

    z.B. 361/360 = 1.x

    dann :

    1.x - Trunc(1.x) = Nachkommastelle(n)

  7. Folgender Benutzer sagt Danke zu Grubba für den nützlichen Beitrag:

    kiestumpe (04.07.2008)

  8. #6
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    Zitat Zitat von Grubba Beitrag anzeigen
    1.x - Trunc(1.x) = Nachkommastelle(n)
    real - dint? ... ja geht denn das?
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  9. #7
    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

    Ja, das geht.

    Nennt sich dann implizierte Typkonvertierung.
    Geändert von Grubba (04.07.2008 um 11:32 Uhr) Grund: genauer geht immer...

  10. #8
    Avatar von kiestumpe
    kiestumpe ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    22.11.2005
    Ort
    kl.Odenwald
    Beiträge
    716
    Danke
    111
    Erhielt 85 Danke für 71 Beiträge

    Standard

    Yep, jedoch er rundet-berechnets auch nur auf 2 Stellen genau, leider ungünstig, aus 20.0 wird 20.00554
    Ich werde die Methode von 4L nehmen, das passt dann.
    Danke nochmal an alle für die Vorschläge.
    "Das Leben ist viel zu kurz, um schlecht zu essen !"
    (Johann Lafer zur SWR3 Grillparty)
    Zitieren Zitieren Interessanter Einblick  

  11. #9
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    Zitat Zitat von Grubba Beitrag anzeigen
    Ja, das geht.

    Nennt sich dann implizierte Typkonvertierung.
    ok, geht aber nur in SCL ... in AWL bekommste das nicht gebacken

    anyway...also würdest du:

    Code:
    *
        Winkel_zykl := (TRUNC(Winkel) MOD 360) + (Winkel/360 - TRUNC(Winkel)); // + Realzahl
    rechnen? ... auch ne möglichkeit
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  12. #10
    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


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Winkel_zykl := (TRUNC(Winkel) MOD 360) + (Winkel/360 - TRUNC(Winkel)); // + Realzahl
    .... mach ich dann wenn ich bei Siemens anfange...

Ähnliche Themen

  1. 2 Not-Aus- module
    Von Outrider im Forum Schaltschrankbau
    Antworten: 4
    Letzter Beitrag: 16.03.2015, 04:59
  2. ModBus RTU Module
    Von Creativ im Forum Suche - Biete
    Antworten: 7
    Letzter Beitrag: 01.06.2011, 11:25
  3. Systemverkabelung S7-300 E/A Module
    Von rs-plc-aa im Forum Schaltschrankbau
    Antworten: 13
    Letzter Beitrag: 08.12.2009, 11:58
  4. Beschriftungen für S7 Module
    Von Waelder im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 27.07.2005, 21:36
  5. Stromlaufplan für S7 E/A Module
    Von Anonymous im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 31.05.2005, 15:30

Lesezeichen

Berechtigungen

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