# DCF77 mal wieder



## elektrikerHorst (14 September 2011)

gudee ihr sps fritzen ,
ich weiß das thema ist schon ein paar mal oben, aber werden nicht so ganz schlau aus des anderen threads...
also wir bekommen ein sauberes DCF77 signal auf ein Eingang der Eingangskarte , aber wir tun uns bisschen schwer mit der Signalverarbeitung bzw wie man alle signale als code speichert..
danke im vorraus für eure anworten 

CPU: 315- 2PN/DP


----------



## Aventinus (14 September 2011)

Wie sieht dein Signal aus?

Ich hatte vor langer Zeit mal sowas. Da kam jede Sekunde ein Impuls, kurz für false und lang für true. In der 59. Sekunde kam kein Implus als Syncronisation.

Ist das bei dir auch so?


----------



## elektrikerHorst (14 September 2011)

Jaa bei uns ist das genauso jede sekunde kommt ein signal entweder 100(entspricht 0) oder 200 ms(entspricht 1) lang in der 59 sekunde kommt keins um zu signalisieren das ein neuer takt beginnt. Wir haben halt probleme den Code einzulesen...


----------



## Aventinus (14 September 2011)

Das sollte doch relativ einfach sein...

als erstes wartest du bis dein Signal 1,5s lang false ist. Somit hast du die Syncronisierung gefunden und setzt einen Start-Merker.

wenn dein Startmerker true ist und der Eingang true ist startest du einen Impuls von 150ms. Wenn bei der negativen Flanke dein Eingang false ist schiebst du eine 0 in deinen Datensatz und bei True eine 1. So baust du dir das Telegramm zusammen und wertest es nach 58 Sekunden aus (Startmerker auch zurücksezten).

Und das wars...


----------



## elektrikerHorst (14 September 2011)

Jaa so in etwa haben wir uns das auch gedacht, aber wie meinst du das mit datensatz?? meinst du ein DB?! haben das versucht aber ohne großen erfolg..; )


----------



## Aventinus (14 September 2011)

Das bekommen wir auch hin.

Am einfachsten zu Zählst die Impulse mit. Dann kannst du indirekt adressiert die einzelnen Bit´s des Telegramms in einen Datenbaustein schreiben.

Wenn das Telegramm fertig zusammengebaut ist kannst du die einzelnen Teile wieder rausholen und entsprechend in eine Date-And-Time ablegen.


----------



## thomass5 (14 September 2011)

Gabs da nicht auch schon was Fertiges in OSCAT? Das könnte mann sich als Vorlage mal ansehen.

Thomas


----------



## elektrikerHorst (14 September 2011)

Haben das Signal geschafft einzulesen, aber in kein Datenbaustein sondern noch in Merkern. jetzt muss man halt die signalteile raussuchen und in den SFC0 schreiben aber dazu muss ja auch erstmal umgewandelt werden..weiß jemand wie etwa?? es gibt von siemens fertige zeit funktionen aber die richtige haben wir noch nicht gefunden
gruß horst


----------



## Aventinus (15 September 2011)

Stell mal bitte deine Symboltabelle ein, damit ich mir den Telegrammaufbau mal anschauen kann. Ich hab leider nicht mehr im Kopf wie das Telegramm ist.


----------



## elektrikerHorst (15 September 2011)

M 10.0 "Sek.14" BOOL false
M 10.1 "Sek. 15" BOOL false
M 10.2 "Sek.16" BOOL false
M 10.3 "Sek.17" BOOL true
M 10.4 "Sek.18" BOOL false
M 10.5 "Sek.19" BOOL false
M 10.6 "Sek.20" BOOL true
M 10.7 "Sek.21" BOOL false
M 11.0 "Sek.22" BOOL false
M 11.1 "Sek.23" BOOL false
M 11.2 "Sek.24" BOOL true
M 11.3 "Sek.25" BOOL true
M 11.4 "Sek.26" BOOL true
M 11.5 "Sek.27" BOOL false
M 11.6 "Sek.28" BOOL true
M 11.7 "Sek.29" BOOL false
M 12.0 "Sek.30" BOOL false
M 12.1 "Sek.31" BOOL false
M 12.2 "Sek.32" BOOL true
M 12.3 "Sek.33" BOOL false
M 12.4 "Sek.34" BOOL false
M 12.5 "Sek.35" BOOL true
M 12.6 "Sek.36" BOOL true
M 12.7 "Sek.37" BOOL false
M 13.0 "Sek.38" BOOL true
M 13.1 "Sek.39" BOOL false
M 13.2 "Sek.40" BOOL true
M 13.3 "Sek.41" BOOL false
M 13.4 "Sek.42" BOOL false
M 13.5 "Sek.43" BOOL false
M 13.6 "Sek.44" BOOL true
M 13.7 "Sek.45" BOOL true
M 14.0 "Sek.46" BOOL false
M 14.1 "Sek.47" BOOL false
M 14.2 "Sek.48" BOOL true
M 14.3 "Sek.49" BOOL false
M 14.4 "Sek.50" BOOL true
M 14.5 "Sek.51" BOOL false
M 14.6 "Sek.52" BOOL false
M 14.7 "Sek.53" BOOL false
M 15.0 "Sek.54" BOOL true
M 15.1 "Sek.55" BOOL false
M 15.2 "Sek.56" BOOL false
M 15.3 "Sek.57" BOOL false
M 15.4 "Sek.58" BOOL false

waren zu faul das bild von der Tabelle hochzuladen  , aber denkmal so wirds auch gehen.
Das Signal bekommen wir so eingelesen, Bit 1-14 lassen wir weg, weil dort ja keine wichtigen Daten gesendet werden.
Gruß Horst


----------



## Aventinus (15 September 2011)

Ok, so hätte ich das ja wieder nicht beschriftet. Ich bin davon ausgegange, dass bei jedem Merker dabeisteht was die Information darstellt und nicht in welcher Sekunde er übertragen wurde.Nichts desto trotz, ich habs mir schnell gesucht. 

Der Aufbau des Date And Time ist dir sicher geläufig, wenn nicht Online-Hilfe fragen.

z.b. bekommst du die Minuten aus dem DCF77 Telegramm so raus:

```
[FONT=Courier New]      LAR1  P##dcf_zeit[/FONT]
[FONT=Courier New]// erst mal Ablöschen
      L     0
      T     #Minute[/FONT]
[FONT=Courier New]      U     M     10.7
      SPBN  Min1
      +     1
Min1: U     M     11.0
      SPBN  Min2
      +     2
Min2: U     M     11.1
      SPB   Min3
      +     4
Min3: U     M     11.2
      SPB   Min4
      +     8
Min4: U     M     11.3
      SPB   Min5
      +     10
Min5: U     M     11.4
      SPB   Min6
      +     10
Min6: U     M     11.5
      SPB   Min7
      +     20
Min7: U     M     11.6
      SPB   Min8
      +     40
Min8: T     B [AR1,P#4.0]
[/FONT]
```


----------



## elektrikerHorst (4 Oktober 2011)

Soo bin mal wieder hier, hatte 2 wochen berufsschule .
Habe jetzt die Uhrzeit hinbekommen. Nur jetzt soll noch das Datum dazu...aber dort ist mir noch nicht ganz klar wie man das DATE format sinnvoll zusammensetzt aus dem DCF77 Signal. kann uns einer weiterhelfen???=)  
gruß horsti


----------



## Aventinus (4 Oktober 2011)

Wie hast du das mit der Uhrzeit gelöst, und in welchem Format liegt die Uhrzeit dir jetzt vor?


----------

