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

Ergebnis 1 bis 7 von 7

Thema: Uhrzeit TOD für Startsignal (ms entfernen??)

  1. #1
    Registriert seit
    30.07.2014
    Beiträge
    291
    Danke
    67
    Erhielt 34 Danke für 20 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Community,

    ich brauche für ein Startsignal einiger Aggregate einen Uhrzeitenvergleich.

    Da ich nur hh:mm vorgebe, sind mir Sekunden und Millisekunden eigentlich ziemlich egal. Ich arbeite allerdings mit TOD und einer 1200er CPU. Leider ist es sehr unwahrscheinlich, dass ein normaler Vergleicher auf TOD-Basis funktioniert, da meine Zykluszeit zu lange ist um einen TOF zu starten.

    Normalerweise rechne ich meine Zeit einfach +-500ms und nehme diesen Zeitraum für den Vergleicher an, wodurch das Problem behoben ist, da ich aber grade ca. 70 Uhrzeiten vergleichen muss, wollte ich mal nachfragen, ob es nicht eine einfachere Lösung gibt.

    Danke im Voraus und Gruß
    Freundliche Grüße aus München, der Stadt mit Herz


    There are 2#10 kinds of people, those who do the work & those who take the credit.
    Zitieren Zitieren Uhrzeit TOD für Startsignal (ms entfernen??)  

  2. #2
    Registriert seit
    23.07.2009
    Ort
    Österreich
    Beiträge
    2.367
    Danke
    457
    Erhielt 696 Danke für 521 Beiträge

    Standard

    Zwei Varianten die mir so einfallen...

    Variante 1: Nicht mit "Ist-Gleich"-Vergleichern arbeiten.
    Variante 2: Irgendwo machst du ja deine Vergleiche..... Schreib dir einen FC der als IN die Zeit und die Hysterese bekommt und am OUT das
    Vergleichsergebnis liefert. Wenn du in FUP proggst kannst du das Vergleichsergebnis auch über den ENO rausschicken.
    If at first you don't succeed, you're not Van Damme!
    ... or maybe using TIA!

  3. #3
    Avatar von Münchnerjunge
    Münchnerjunge ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    30.07.2014
    Beiträge
    291
    Danke
    67
    Erhielt 34 Danke für 20 Beiträge

    Standard

    Hi Ronin,

    vielen Dank für deine Antworten!!

    Die zweite Variante setze ich grundsätzlich ein, allerdings habe ich mein Programm mit Registern in SCL geschrieben, müsste jetzt nur noch das Problem mit dem Zeitvergleichen lösen.

    Ich hatte mich gefragt ob man über Multiplikationen oder umwandeln Dint->Int->Real nicht iwie die Millisekunden rausbekommt, stehe aber grade vor der Wand. Da wir die Millisekunden seit Mitternacht haben, komme ich grade nicht auf die Lösung. Was, wenn ich durch 1000 teile und den Rest wegschmeiße? Bin ich dann nicht auf Sekunden gekommen?
    Freundliche Grüße aus München, der Stadt mit Herz


    There are 2#10 kinds of people, those who do the work & those who take the credit.

  4. #4
    Registriert seit
    19.06.2008
    Ort
    Ostalbkreis
    Beiträge
    3.140
    Danke
    201
    Erhielt 553 Danke für 498 Beiträge

    Standard

    Kannst mit dem T_CONV umwandeln.

    erweiterte Anweisungen --> Datum Uhrzeit --> T_CONV

  5. #5
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.788
    Danke
    398
    Erhielt 2.414 Danke für 2.010 Beiträge

    Standard

    Natürlich kannst du deinen TOD (TimeOfDay) - ist ja ein DINT - durch 1000 dividieren und erhältst so Sekunden oder vielleicht besser noch durch 60000 - dann hättest du das in Minuten.
    Durch entsprechende Umrechnung könntest du sogar den Sekunden-Wert so ummodeln, dass er Klartext-lesbar wird (also 113624 für 11:36:24).

    Gruß
    Larry

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

    Münchnerjunge (17.02.2016)

  7. #6
    Registriert seit
    06.10.2003
    Beiträge
    3.445
    Danke
    453
    Erhielt 509 Danke für 411 Beiträge

    Standard

    Zitat Zitat von Larry Laffer Beitrag anzeigen
    .. oder vielleicht besser noch durch 60000 - dann hättest du das in Minuten...
    Durch anschließende Multiplikation mit 60000 hast du wieder alles im Datenformat TIME bzw. TOD, allerdings mit abgeschnittenen Sekunden und Millisekunden.
    Es gibt viel mehr Leute, die freiwillig aufgeben, als solche, die echt scheitern.
    Henry Ford

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

    Münchnerjunge (17.02.2016)

  9. #7
    Avatar von Münchnerjunge
    Münchnerjunge ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    30.07.2014
    Beiträge
    291
    Danke
    67
    Erhielt 34 Danke für 20 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Vielen Dank! Manchmal kommt man auch durch gemeinsame Überlegungen zum Ziel. Mittlerweile hatte ich das schon ausprobiert. Sollte also nochmals jemand auf dieses Problem stoßen, wird er hoffentlich hier eine Stütze finden.
    Freundliche Grüße aus München, der Stadt mit Herz


    There are 2#10 kinds of people, those who do the work & those who take the credit.

Ähnliche Themen

  1. Twincat, Datum & Uhrzeit für Excel, TIMESTRUCT
    Von morris im Forum CODESYS und IEC61131
    Antworten: 2
    Letzter Beitrag: 29.10.2015, 08:47
  2. TIA SD-CARD entfernen
    Von RSH-Rainer im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 01.06.2015, 05:45
  3. Twincat 2.x Merkerbereich für TOD
    Von shrimps im Forum CODESYS und IEC61131
    Antworten: 4
    Letzter Beitrag: 29.05.2015, 11:58
  4. Antworten: 1
    Letzter Beitrag: 13.07.2014, 19:32
  5. Antworten: 5
    Letzter Beitrag: 11.06.2008, 11:23

Lesezeichen

Berechtigungen

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