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

Ergebnis 1 bis 7 von 7

Thema: Grundlagen: Arrays - Zeitstempel in Felder zerlegen

  1. #1
    Registriert seit
    04.08.2014
    Beiträge
    10
    Danke
    6
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Guten Tag,

    mir wurde gesagt, dass ich einen Zeitstempel in Arrays verteilen soll.

    Das heißt, dass ich den Zeitstempel "DT" zerlege und für jeden Bereich ein Array (Feld) nutze. Ein Feld ist vom Datentyp WORD. Weiter wurde mir gesagt, dass ich für Minuten und Sekunden zusammen ein WORD brauche, Für Stunden ein WORD, für Tage ein WORD und für die Jahresangabe ein WORD. Für den Datentyp WORD brauche ich 16 Bit.

    Und damit bin ich mit meinem Wissen leider schon am Ende. Aus einem Baustein bekomme ich diesen Zeitstempel. Was mache ich wie damit? Bisher habe ich immer mit FUP gearbeitet. Ich denke aber mal, dass ST da besser ist, oder?

    Ich hoffe meine Angaben sind ausreichend um die Frage zu verstehen!
    Geändert von ThomasKl (30.08.2014 um 19:25 Uhr)
    Zitieren Zitieren Grundlagen: Arrays - Zeitstempel in Felder zerlegen  

  2. #2
    ThomasKl ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    04.08.2014
    Beiträge
    10
    Danke
    6
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Kann mir keiner helfen oder fehlen irgendwelche Angaben?

    Wie kann ich den Zeitstempel auf die Felder aufteilen? Also wie kann ich den Zeitstempel "zerlegen"?

  3. #3
    Registriert seit
    29.03.2004
    Beiträge
    5.735
    Danke
    143
    Erhielt 1.686 Danke für 1.225 Beiträge

    Standard

    Das ist alles sehr verwirrend was du schreibst.

    Ich vermute aber mal, du möchtest gerne aus einer Variable vom Datentyp DATE_AND_TIME oder in Kurzform DT die Einzelelemente, also Jahr, Monat, Tag, Stunde, Minute und Sekunde als Einzelvariablen haben.
    Das hat aber weder etwas mit Arrays noch mit Datentyp WORD zu tun.

    Oftmals werden solche elementaren Funktionen in einer Bibliothek vom Steuerungshersteller (den du nicht genannt hast) mitgeliefert.
    Alternativ hat enthält die Oscat-Bibliothek Funktionen die das machen was du willst. Entweder du übernimmst diese in dein Programm, oder guckst dir ab wie die das dort machen.

    http://www.oscat.de

  4. Folgender Benutzer sagt Danke zu Thomas_v2.1 für den nützlichen Beitrag:

    ThomasKl (30.08.2014)

  5. #4
    ThomasKl ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    04.08.2014
    Beiträge
    10
    Danke
    6
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Vielen Dank Thomas_v2.1!

    Habe bei WAGO nichts dazu gefunden. Du meinst sicher die Oscat_basic_333.lib, oder? Dort gibt es unter anderem die Umwandlung "HOUR_OF_DT". Für Minuten und Sekunden auch. Jahr und Monat habe ich nichts zu DT gefunden. Klingt schon mal sehr gut. Aaaaber...:

    Ich möchte die Zeit auf einem Panel mit der Zeit von der SPS abgleichen. Der Support des Panels hat mir gesagt, dass ich die Zeit der SPS wortweise wie oben genannt in Arrays ablegen soll, damit sie dann so aufs Panel übertragen werden kann. Deshalb beschäftige ich mich mit diesem Thema. Außerdem ist die Bibliothek mit 600kb recht groß. Ist es denn so kompliziert das selber zu machen?

  6. #5
    Registriert seit
    29.03.2004
    Beiträge
    5.735
    Danke
    143
    Erhielt 1.686 Danke für 1.225 Beiträge

    Standard

    Darum schrub ich ja, dass du dir auch die Funktion der entsprechenden Bausteine in der Oscat Bibliothek ansehen kannst, und dann daraus deinen eigenen Baustein erstellen kannst der genau das macht was du willst.

    Ein DT setzt sich aus einer Variable DATE und einer anderen TIME_OF_DAY zusammen. Das Extrahieren der Elemente aus TIME_OF_DAY ist noch relativ einfach, da dieses die Anzahl der Sekunden seit 0:00:00 Uhr ist. Du kannst in den Oscat Bausteinen auch sehen dass du dort mit Division/Modulo-Rechnungen auskommst.

    Beim Datums-Anteil wird es etwas schwieriger. Die Funktionen sind aber alle in der Oscat-Lib vorhanden. Du kannst nach Einbinden der Bibliothek auch unbenutzer Bausteine von der Verwendung ausschließen, dann hast du nur die Bausteine die du benötigst in deiner Steuerung.

    Was hast du denn für ein Panel? Das hört sich ja alles sehr seltsam an.

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

    ThomasKl (31.08.2014)

  8. #6
    ThomasKl ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    04.08.2014
    Beiträge
    10
    Danke
    6
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Das ist hilft mir erst mal swehr gut weiter, Thomas_v2.1. Ich werde mir das mal genau anschauen und versuchen umzusetzen.

  9. #7
    Registriert seit
    13.01.2013
    Beiträge
    627
    Danke
    26
    Erhielt 64 Danke für 59 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Habe das vor Ewigkeiten mal gemacht da ich Zeit und Datum als String brauchte um in eine CSV zu schreiben. Habe also alle Elemente in einen Einzelnen String geschrieben. Der Aufwand waren nur ein paar Zeilen. Wenn du das nutzen kannst stelle ich dir das gerne zur Verfügung. Dann müsstest du das nur ggf etwas anpassen.

  10. Folgender Benutzer sagt Danke zu Dr.MirakulixX für den nützlichen Beitrag:

    ThomasKl (31.08.2014)

Ähnliche Themen

  1. Passwort für einzelne E/A Felder
    Von roman79 im Forum HMI
    Antworten: 7
    Letzter Beitrag: 29.09.2010, 14:20
  2. Zahlenformate für E-A-Felder
    Von Earny im Forum HMI
    Antworten: 2
    Letzter Beitrag: 17.08.2008, 11:03
  3. EA-Felder
    Von Jelly im Forum HMI
    Antworten: 7
    Letzter Beitrag: 18.04.2007, 23:29
  4. Felder reihenfolge
    Von M-Arens im Forum HMI
    Antworten: 2
    Letzter Beitrag: 10.08.2006, 12:44
  5. EA Felder Zeigen nichts an
    Von Bender25 im Forum HMI
    Antworten: 9
    Letzter Beitrag: 24.02.2005, 13:09

Stichworte

Lesezeichen

Berechtigungen

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