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

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

Thema: Uhrzeitsynchronisation OP -> CPU

  1. #1
    Registriert seit
    31.10.2003
    Beiträge
    265
    Danke
    23
    Erhielt 37 Danke für 31 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    ich habe folgendes Problem: Ich will die CPU-Zeit (CPU315) über ein OP 170B stellen. Bereichszeiger für Aufträge und für Datum/Zeit sind projektiert. Wie bekomme ich die Uhrzeit-Daten zum SFC 0? Ich habe es mit dem
    FC 3 versucht weiß aber nicht genau, wie die Daten im Bereichszeiger Datum/Uhrzeit belegt sind (Tag, Monat, Jahr, Stunde,...).
    Hat da jemand einen Lösungsansatz?
    Zitieren Zitieren Uhrzeitsynchronisation OP -> CPU  

  2. #2
    Registriert seit
    30.08.2003
    Beiträge
    2.197
    Danke
    30
    Erhielt 258 Danke für 229 Beiträge

    Standard

    Hallo André,

    du kannst nen extra Button auf dem TP machen, den du nach dem Stellen drückst. Mit dem löst du in der SPS den AG-Auftrag 40 aus. Datum/Uhrzeit werden in Format DATE_AND_TIME übertragen. Mit diesen Daten aus dem Bereichszeiger fütterst du den SFC0.

    MfG
    André Räppel
    Zitieren Zitieren Uhrzeit  

  3. #3
    andre ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    31.10.2003
    Beiträge
    265
    Danke
    23
    Erhielt 37 Danke für 31 Beiträge

    Standard

    Das ging aber schnell
    Soweit ist es klar. Aber gib mal am SFC 0 die Datenadresse vom Bereichszeiger Datum/Uhrzeit ein, z.B.: DB1.DBW0, laut ProTool hat dieser eine Länge von 6 Worten. Das funktioniert nicht. Ich glaube, das Format Date_And_Time muß vorher erst mit dem FC 3 "D_TOD_DT" gebildet werden (steht so in der Online-Hilfe). Aber wieso muß ich das Format Date_And_Time erst bilden, obwohl es im Bereichszeiger des OP schon abgelegt ist? Da muß es noch irgendeinen Trick geben!

  4. #4
    Registriert seit
    30.08.2003
    Beiträge
    2.197
    Danke
    30
    Erhielt 258 Danke für 229 Beiträge

    Standard

    Hallo,

    nein das musste nich. Deklariere im Bereichszeiger eine Variable im Format DATE_AND_TIME und 2 Reservewörter. Die DATE_AND_TIME kannste dann vom SFC0 symbolisch ansprechen. Wirst sehen das funzt. Is bissel mies beschrieben von Siemens.


    Code:
    Bereichszeiger.Datum_Zeit.SPS	DATE_AND_TIME	ausgelesene Systemzeit CPU	
    Bereichszeiger.Datum_Zeit.Res_1	INT	reserviert für System	
    Bereichszeiger.Datum_Zeit.Res_2	INT	reserviert für System
    MfG
    André Räppel
    Zitieren Zitieren Uhrzeit  

  5. #5
    andre ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    31.10.2003
    Beiträge
    265
    Danke
    23
    Erhielt 37 Danke für 31 Beiträge

    Standard

    Hallo,
    ja so sieht das schon ganz anders aus. Ich werde es in den nächsten Tagen ausprobieren und mich dann melden.
    Danke bis dahin!
    André

  6. #6
    andre ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    31.10.2003
    Beiträge
    265
    Danke
    23
    Erhielt 37 Danke für 31 Beiträge

    Standard

    Hallo,
    bin erst heute dazu gekommen, das Programm zu testen. Es funktioniert!
    Ich bin aber auf ein anderes Problem gestoßen. Ich löse das Ganze mit einem Tastendruck (F-Taste) am OP aus. Erst den Steuerungsauftrag 40 aktivieren und dann den SFC 0 ausführen. Muß zwischen Auftrag 40 und SFC0 eine "Denkpause" existieren oder kann beides hintereinander bearbeitet werden? Ich habe immer einen Versatz von einigen Sekunden zwischen OP-Zeit und CPU-Zeit (CPU-Zeit geht nach). Ich habe das Programm etwa so geschrieben:
    L DBx.DBXy.z (F-Taste OP)
    FP M 1.0
    S M 1.1
    UN M 1.1
    SPB M001
    R M 1.1
    L 40
    T DBx.DBW0 (Auftrag Nr. 40)
    CALL SFC 0
    .
    .
    .
    M001: NOP 0
    Wie gesagt, es funktioniert aber ich habe diesen Zeitversatz.
    Kann mir jemand einen Tip geben, der so etwas schon einmal realisiert hat?
    Gruß André

  7. #7
    andre ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    31.10.2003
    Beiträge
    265
    Danke
    23
    Erhielt 37 Danke für 31 Beiträge

    Standard

    So, ich habe noch etwas probiert und getestet. Der Auftrag 40 hat eine relativ lange Bearbeitungszeit. Wenn der Baustein SFC 0 gleich anschließend aufgerufen wird, liegen die Uhrzeitdaten vom OP noch garnicht vor. Ich habe dann mal mit einer Verzögerung experimentiert und festgestellt, das für eine sichere Synchronisation der Zeiten zwischen Auftrag 40 und SFC 0 etwa 2 Sekunden liegen sollten, sonst kann es sein, das man die Uhrzeit vom vorherigen Auftrag erwischt, die ja noch im Datenbaustein liegt. Möglicherweise spielt da auch der Basistakt des OP eine Rolle, wobei der bei mir auf 500 ms eingestellt ist.
    Ich frage mich, wie soll man da eine exakte Synchronisation zustande bringen? Es gibt ja Fälle, da muß es sekundengenau sein.

  8. #8
    Registriert seit
    30.08.2003
    Beiträge
    2.197
    Danke
    30
    Erhielt 258 Danke für 229 Beiträge

    Standard

    Hallo André,

    lege dir einfach noch eine Variable im Format DATE_AND_TIME an und vergleiche diese mit der im Bereichszeiger. Wenn sie sich geändert hat dann ruf den SFC0 auf und speichere anschliessend die Zeit aus dem Bereichszeiger in der anderen Variablen ab.

    MfG
    André Räppel
    Zitieren Zitieren Uhrzeit  

  9. #9
    andre ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    31.10.2003
    Beiträge
    265
    Danke
    23
    Erhielt 37 Danke für 31 Beiträge

    Standard

    Das ging ja schnell!
    Ich habe festgestellt, das der Auftrag 40 vom OP eine "gewisse Zeit" braucht. Wenn er bearbeitet wird vergeht mitunter über eine Sekunde. Während dieser Zeit läuft ja die Uhr weiter und diese Zeit fehlt dann bei der Synchronisation. Man kann die Bearbeitungszeit relativ genau ermitteln, da der Auftrag selbständig wieder auf 0 gestzt wird wenn er erledigt ist. Und dabei habe ich das o.a. festgestellt.
    Trotzdem danke für Deinen Tip, so komme ich doch relativ genau an die Op-Zeit heran!

  10. #10
    Registriert seit
    18.03.2004
    Beiträge
    70
    Danke
    8
    Erhielt 6 Danke für 4 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hab auch schon an der Zeitsychronisation von PC und S7 rumgepröbelt und habe folgendes herausgefunden:

    Komischerweise kann man zwar auswerten, dass der Steuerungsauftrag abgeschlossen ist, bis die Zeit aber wirklich übertragen ist, vergeht nochmals eine gewisse Zeit.
    Irgendwo in einem Handbuch steht auch, dass eine Zeit von etwa 5s einzuhalten ist zwischen den Steuerungsaufträgen zur Zeitsynchronisation.

    Hat mich relativ viel Zeit gekostet, bis ich da mal drauf gekommen bin...

    Gruss

    Harry

Ähnliche Themen

  1. uhrzeitsynchronisation
    Von ladychaos im Forum HMI
    Antworten: 2
    Letzter Beitrag: 18.05.2011, 09:32
  2. Uhrzeitsynchronisation
    Von elektrohippi im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 20.07.2009, 19:04
  3. Uhrzeitsynchronisation 414-3
    Von saxi im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 28.03.2007, 11:10
  4. Profibus-Uhrzeitsynchronisation
    Von knabi im Forum Feldbusse
    Antworten: 1
    Letzter Beitrag: 04.12.2006, 08:55
  5. Antworten: 2
    Letzter Beitrag: 24.04.2004, 17:34

Lesezeichen

Berechtigungen

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