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

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

Thema: S5TIME in INTEGER?

  1. #11
    Registriert seit
    04.07.2007
    Beiträge
    147
    Danke
    6
    Erhielt 13 Danke für 13 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    den normalen Time-Typ kann man ja mit der o.g. Funktion umwandeln.
    Jo und genau aus dem Grund verwende ich nur TON und TOF in SCL. Der S5Timer ist einfach zu umständlich in SCL zu bedienen.

  2. #12
    Avatar von Felse
    Felse ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    02.02.2009
    Ort
    Thüringen
    Beiträge
    218
    Danke
    91
    Erhielt 11 Danke für 7 Beiträge

    Standard

    Ja das merk ich auch gerade..., und wie funktioniert das, hab noch nix davon gehört.
    " Immer schön locker durch die Hose atmen"

  3. #13
    Registriert seit
    04.07.2007
    Beiträge
    147
    Danke
    6
    Erhielt 13 Danke für 13 Beiträge

    Standard

    Als Beispiel für eine Einschaltverzögerung:
    Code:
    FB TestFB;
     
    VAR
         TONVAR:TON;
         Zeit      :TIME:=t#1s;
    end_var
     
    BEGIN
         TONVAR(IN:=E0.1, PT:=Zeit);
         IF TONVAR.Q THEN
              ....
    IN:=... wäre die Bedingung, wenn die Zeit startet. Über das .Q wird dann der Zustand des Timers abgefragt.
    Geändert von Hotsch (12.03.2009 um 11:32 Uhr)

  4. #14
    Avatar von Felse
    Felse ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    02.02.2009
    Ort
    Thüringen
    Beiträge
    218
    Danke
    91
    Erhielt 11 Danke für 7 Beiträge

    Standard

    Aha, und weiter? Momentan denke ich, hab ich eben totalen Blödsinn gemacht...
    Code:
    BCD := S_ODTS(
              T_NO := "Zeit1",
              S    := TIMER_an,
              TV   := TV,
              R    := Reset,
              BI   := Dual,
              Q    := Status);
     
     
     
          TV_Eingabe:= S5TI_TIM(IN := TV ); // TIME
     
          Umwandeln:= TIME_TO_DINT (TV_Eingabe);
          PPI_PS_AUTO_RAMPE_ZIEL:= DINT_TO_REAL (Umwandeln);
    So wie das jetzt ist, nimmt meine Variable (PPI_PS_AUTO_RAMPE_ZIEL) den Wert meines Timers an, ich will ja aber, das der Timer den Wert der Variable annimmt. Was muss ich da machen? Sicher den FC40 aus der gleichen Bibliothek, oder?
    Geändert von Felse (12.03.2009 um 11:42 Uhr)
    " Immer schön locker durch die Hose atmen"

  5. #15
    Registriert seit
    04.07.2007
    Beiträge
    147
    Danke
    6
    Erhielt 13 Danke für 13 Beiträge

    Standard

    Dann hab ich dich am Anfang missverstanden. Das wäre dann Time in S5Time wandeln und nicht S5Time in Time. Dafür gibt es einen anderen Baustein:

    FC 40 Tim_S5Ti

    Code:
    Umwandeln:=Real_TO_DINT(PPI_PS_AUTO_RAMPE_ZIEL);
    TV_Eingabe:=DINT_TO_TIME(Umwandeln);
    TV:=TIM_S5TI(IN:=TV_Eingabe);

  6. #16
    Avatar von Felse
    Felse ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    02.02.2009
    Ort
    Thüringen
    Beiträge
    218
    Danke
    91
    Erhielt 11 Danke für 7 Beiträge

    Standard

    Den hab ich ja jetzt verwendet, funzt aber nur mittelprächtig, da ich in der Simulation nur millisekunden statt der eingegebenen sekunden erhalte.
    Geht bis zum letzten Schritt.
    Code:
    Umwandeln:= REAL_TO_DINT (PPI_PS_AUTO_RAMPE_ZIEL);
    TV_Eingabe:= DINT_TO_TIME (Umwandeln);
    TV:= TIM_S5TI(IN := TV_Eingabe);  // ab hier stimmt der Wert nicht mehr
    Wenn ich z.B. ne 3 eingebe wird die bis zum letzten Schritt übergeben und bei der s5time stehen nur noch 3ms da.
    " Immer schön locker durch die Hose atmen"

  7. #17
    Registriert seit
    04.07.2007
    Beiträge
    147
    Danke
    6
    Erhielt 13 Danke für 13 Beiträge

    Standard

    Das sollte abhilfe schaffen:
    Code:
     
    Umwandeln:=Real_TO_DINT(PPI_PS_AUTO_RAMPE_ZIEL);
    TV_Eingabe:=DINT_TO_TIME(Umwandeln)*1000;
    TV:=TIM_S5TI(IN:=TV_Eingabe);
    Die Zeitbasis ist ms. Du musst dann einfach den Wert mit dem entsprechenden Faktor umrechnen

  8. Folgender Benutzer sagt Danke zu Hotsch für den nützlichen Beitrag:

    Felse (12.03.2009)

  9. #18
    Avatar von Felse
    Felse ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    02.02.2009
    Ort
    Thüringen
    Beiträge
    218
    Danke
    91
    Erhielt 11 Danke für 7 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ja, hab ich schon gemacht... Jetzt nerv ich aber nicht mehr, ist ja schließlich gleich Mittag.
    Danke für die Hilfe.
    " Immer schön locker durch die Hose atmen"

Ähnliche Themen

  1. S5Time
    Von penki im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 20.05.2010, 13:26
  2. integer 32Bit in integer 16 Bit wandeln
    Von slk230-power im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 09.11.2009, 22:35
  3. Integer in S5Time wandeln
    Von Nethacks im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 07.08.2009, 09:46
  4. Integer Wert (t in ms) in S5Time umwandeln?
    Von Anonymous im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 27.07.2006, 09:00
  5. Umwandlung Integer(32bit) in Integer(16bit)
    Von Kojote im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 18.08.2005, 10:56

Lesezeichen

Berechtigungen

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