datenformat Time zusamenstellen?

luchs2a

Level-1
Beiträge
7
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
tach,

kurz zur einleitung ja ich bin neu und setze mich sonst mit allgemeiner elektronik und µcs auseinander. aber zur zeit hat es mich zum zweck meiner diplomarbeit in die sps richtung verschlagen.

folgendes teilproblem ich hab ne 312C cpu progge unter Step7 v5.1 sp6 in AWL und habe ein "lustiges" Touchpannel (was mich schon viele nerven gekostet hat) von pro-face drann (gp2600).
also die cpu lässt ja die uhrzeit nicht weiter laufen wenn der strom aus ist(zumindest sehe ich das so). das touchpannel macht das aber freundlicher weise (ausnahmsweise mal was positives). diese wird in regelmäßigen abständen in den DB1 geschoben in folgenden format

-wort 2: aktuelles jahr bcd 2 stellig (letzte 2 stellen)
-wort 3: aktueller monat bcd 2 stellig (01-12)
-wort 4: aktueller Tag bcd 2 stellig (01-31)
-wort 5: aktueller Zeit bcd 4 stellig (00-23 h ; 00-59 min)

so nun wollte ich erstmal irgendwie aus diesen gegebene werten die uhrzeit und datum erzeugen und das dann mit SFC0 /100 in die uhr laden. dabei is nun mein prob. das ich bisher nicht finde wie man sowas "zusammenbastelt".

das man mit FC3 (D_TOD_DT) datum und zeit zusammen bekommt, habe ich gelesen auch das man aus s5 zeiten eine TIME (DW-format) machen kann. aber was mit dem da oben keine ahnung.

noch ne frage zu TIME im gegensatz zu s5# wirklich eine reine ms zahl oder haben die auch wieder sowas wie exponenten verwendet ?

ich erwarte nicht umbeding (wer will der darf) nen vollständigen quelltext, sondern sowas wie, in der datei findest du das bzw. das struckturelle vorgehen

danke schon mal

Mischa



ps: ich weiß, ich äußere mich sogesehen negativ über das touch aber irgendwie isses halt ständig so, ein problem zu lösen wirft 2 neue auf. wahrscheinlich hab ich nur die falsche heranngehensweise .... .. ..
 
Schau mal hier

Hallo,
gib doch mal in der Suchfunktion den Begriff "cpu-zeit" ein, da kommen einige Beiträge. Vielleicht ist was dabei, hab auf die Schnelle nicht alle durchgesehen...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hier mal ein Stück Code:
ab DBB20 -> im DB wird ein Type "Date_and_Time" deklariert
ab LB 0 --> Temp-Variable im FC als "Date_and_Time" deklariert
Code:
// uhrzeit stellen
      AUF   DB    13; 
      L     DBB   20; //jahr
      T     LB     0; 
      L     DBB   21; //monat
      T     LB     1; 
      L     DBB   22; //tag
      T     LB     2; 
      L     DBB   23; //stunde
      T     LB     3; 
      L     DBB   24; //min
      T     LB     4; 
      L     DBB   25; //sek
      T     LB     5; 
      L     DBB   26; //msek
      T     LB     6; 
      L     DBB   27; //wochentag LSB - msek MSB
      T     LB     7; 
      CALL SFC    0 (
           PDT                      := #system_zeit,
           RET_VAL                  := #Temp_WORD);
 
das geht ja fix hier

unter cpu-zeit habe ich auch gesucht is bedeuetend eingrenzender als nur nach zeit zu suchen.

noch ne frage zu dem codeschnipsel. in einen anderen beitrag hatte ich gelesen das es hex wäre. is das nun so oder nich?

sek & msek würde ich mit 0 laden der zeitversatz wird mich nich weiter stören.

und was is meit dem dannach gemeint wochentag / msek nochmals ?
 
danke

ich bekomm nen schreikrampf den ganzen tag suche ich in den manuals (500 seitig) und jetzt reicht es in der bausteinerstellung vom ob1 lokaldaten zu öffnen daten_and_time anzuklicken F1 zu betätigen und da steht das wo ich heute 5h dran verballert habe ich könnt kotzen.

danke das ich eure zeit genutzt habe dableibt mir nur

RFTM zu sagen

wenn man nur wüsste welches
 
Zurück
Oben