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

Ergebnis 1 bis 8 von 8

Thema: Date_And_Time //// SFC1

  1. #1
    Registriert seit
    03.12.2013
    Beiträge
    49
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo

    Ich habe die Sufu genutzt und einiges gelesen, aber irgendwie komm ich bei einem ganz simplen Problem nicht weiter. Bin nicht so gut in AWL und mit dem Pointer hab ich mich auch noch nicht beschäftigt, aber es muss auch einfacher gehen...

    Ich will Stunden und Minuten via Touchpanel vorgeben ( Einfach in ein Eingabefeld tippen ). Die SPS soll über den Vergleicherbaustein die Stunden und Minuten vergleichen, wenns passt wird ein Bit gesetzt. Habe via SFC1 das aktuelle Datum / Uhrzeit in meinem DB100 geschrieben und als Date_And_Time deklariert.

    Jetzt brauche ich ja aus der Date_and_Time Variable das Byte Stunden und Minuten. ( Glaub es war Byte 2 und 3 ). Und genau da tu ich mich jetzt schwer...Ich programmiere momentan noch das meisste in KOP. Einfache AWL Beispiele sollte ich aber auch verstehen.
    Also im Prinzip muss ich wissen, wie ich das Date_And_Time format einzelnt auslesen kann.

    Danke
    MFG

    Date_Time.JPG
    Geändert von Vagasa (16.09.2014 um 16:34 Uhr)
    Zitieren Zitieren Date_And_Time //// SFC1  

  2. #2
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.738
    Danke
    444
    Erhielt 924 Danke für 744 Beiträge

    Standard

    Nach Beiträgen von PN/DP zu suchen, ist immer eine gute Idee, denn da war doch was vor kaum 2 Wochen:
    Zitat Zitat von PN/DP Beitrag anzeigen
    Sobald Du mit SFC1 die Uhr in die TEMP-Variable gelesen hast, hast Du alles was Du brauchst. Weiteres Zerlegen des DATE_AND_TIME ist nicht nötig, da es eh keine fertige Funktion für die Zerlegung in die Einzelteile gibt, weil DATE_AND_TIME eigentlich eine Struktur ist, auf deren Einzelteile man direkt zugreifen kann - sehr schön machbar in SCL und AT-Sicht.

    Man kann sich einfach über den Aufbau des Datentyps DATE_AND_TIME informieren:
    Das DATE_AND_TIME in Deiner Variablendeklaration in TEMP markieren und F1 drücken, oder den SFC1 markieren und F1 drücken, oder ...
    Da wirst Du sehen, daß Du einfach nur das zweite und dritte Byte aus der DATE_AND_TIME-Variable lesen brauchst.
    z.B. so in AWL
    Code:
    LAR1 P##tempVar_wo_SFC1_hingeschrieben_hat
    L B [AR1, P#2.0]
    T AB2
    L B [AR1, P#1.0]
    T AB3
    Harald

  3. #3
    Registriert seit
    11.09.2007
    Ort
    Suedwestpfalz
    Beiträge
    917
    Danke
    81
    Erhielt 209 Danke für 192 Beiträge

    Standard

    Es sind die Bytes 3 und 4.

    Wenn Dein Pointer für den DATE_AND_TIME auf DBX0.0 liegt ist die Sache recht einfach:

    Code:
    //---------------------------------------------------
    // Stunde eintragen
    //---------------------------------------------------
          L     DB100.DBB    3
          BTI   
          T     MW700
    //---------------------------------------------------
    // Minute eintragen
    //---------------------------------------------------
          L     DB100.DBB    4
          BTI   
          T     MW702
    
    und dann sind in den MWs Integer-Zahlen mit denen Du arbeiten kannst.
    Das Grauen lauert in der Zwischenablage !!

  4. #4
    Registriert seit
    11.09.2007
    Ort
    Suedwestpfalz
    Beiträge
    917
    Danke
    81
    Erhielt 209 Danke für 192 Beiträge

    Standard

    Drei Minuten zu langsam, ich werd' alt...
    Das Grauen lauert in der Zwischenablage !!

  5. #5
    Vagasa ist offline Benutzer
    Themenstarter
    Registriert seit
    03.12.2013
    Beiträge
    49
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Danke ich bin schon ein Stück weiter jetzt. Muss ich jetzt noch etwas beachten wegen dem Aufruf des SFC1? Momentan hab ich mein FC10 wodrin ich das programmiert habe im OB1 aufgerufen mehr nicht. Weil die ausgelesenen Stunden / Minuten passen irgendwie nicht und der sekundentakt springt manchmal.

    MFG
    Date_Time.JPG

  6. #6
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.738
    Danke
    444
    Erhielt 924 Danke für 744 Beiträge

    Standard

    Wenn Du Dir den Code von dtsclipper ansiehst, erkennst Du den Befehl BTI.
    Ich geh' mal davon aus, dass der bei Dir fehlt und das die Ursache des Springens/Nichtpassens ist.

    Und jetzt erklär Du uns, warum!

  7. #7
    Vagasa ist offline Benutzer
    Themenstarter
    Registriert seit
    03.12.2013
    Beiträge
    49
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hab in AWL nicht den größten Durchblick. Hab mir den WERT aber jetzt auch umgewandelt und jetzt läuft es

    Danke!

    MFG

  8. #8
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.738
    Danke
    444
    Erhielt 924 Danke für 744 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Vagasa Beitrag anzeigen
    Hab in AWL nicht den größten Durchblick. Hab mir den WERT aber jetzt auch umgewandelt und jetzt läuft es
    Das Problem lag ja nicht an der Verwendung von AWL oder FUP sondern in etwas Sprachunabhängigem.

Ähnliche Themen

  1. Aufruf in SCL SFC1
    Von Carsten77 im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 23.05.2011, 11:38
  2. S7-300 / SFC1 einfügen...
    Von pinolino im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 06.04.2009, 07:43
  3. Sfc1
    Von crazygerman im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 09.01.2008, 15:00
  4. Probleme mit sfc1
    Von controller im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 10.05.2007, 16:36
  5. sfc1
    Von Anonymous im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 25.11.2004, 19:42

Lesezeichen

Berechtigungen

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