Handling DATE_AND_TIME

Mephisto

Well-known member
Beiträge
242
Punkte Reaktionen
11
Zuviel Werbung?
->Hier kostenlos registrieren
Hallo!

Zunächst: Ja, ich habe die Hilfe benutzt, aber nichts passendes für mich gefunden.

Ich habe in einem Datenbaustein ein Array. In disem Array befindet sich eine Struktur. In diser Struktur befindet sich unter anderem eine Variable vom Typ "Date_and_Time"
Ich möchte nun diese Variable in einen anderen DB kopieren.
Wie mache ich das?
Mit der SFC20 BLKMOV geht's schonmal nicht.
Mit einem SCL-Baustein, der als Eingangs- und Ausgangsparameter den Typ DATE_AND_TIME hat und wo der Eingang auf den Ausgang zugewiesen wird, gehts auch nicht.

Was ist eure Lösung zu dem Thema?
Ich brauch die Funktion mehrmals. Somit hätte ich gern einen Baustein, auf dem ich am Eingang meine Quellvariable angebe und am Ausgang meine Zielvariable angebe.
Ich möchte nicht zwei Doppelwörter kopieren.

mfg mephisto
 

Larry Laffer

Supermoderator
Teammitglied
Beiträge
13.148
Punkte Reaktionen
2.745
Hallo,
es geht m.E. sowohl als auch.
Wie hast du es denn (z.B. in SCL) gemacht was dann nicht zum Erfolg geführt hat ?

Gruß
Larry
 

Aventinus

Well-known member
Beiträge
1.347
Punkte Reaktionen
319
Zuviel Werbung?
->Hier kostenlos registrieren
Das geht sicher mit Blockmove. Du kannst doch Quelle und Ziel symbolisch angegeben.

Wenn du natürlich den Index variable halten willst, empfehle ich dir das ganze in SCL zu proggen.
 
OP
Mephisto

Mephisto

Well-known member
Beiträge
242
Punkte Reaktionen
11
Hallo!

Eingangsvariable vom Typ DATE_AND_TIME definiert
Ausgangsvariable vom Typ DATE_AND_TIME definiert
Ausgang := Eingang

Der SCL wird ja auch funktionieren, nur kann ich meinen DB mit der Variable (Typ ist DATE_AND_TIME) nicht darauf verschalten (unzulässiger Datentyp)
Habs sowohl symbolisch, als auch absolut addresiert probiert.

mfg mephisto
 

Larry Laffer

Supermoderator
Teammitglied
Beiträge
13.148
Punkte Reaktionen
2.745
Wenn so, dann auf jeden Fall symbolisch. Das geht natürlich nur wenn dein DB auch einen symbolisch Namen hat.
Ich wäre dir übrigens sehr verbunden wenn du nicht ganz so sparsam mit deinen Info's umgehen würdest ...

Gruß
Larry
 

PN/DP

User des Jahres 2011-2013; 2015-2017; 2020-2021
Beiträge
19.493
Punkte Reaktionen
5.876
Zuviel Werbung?
->Hier kostenlos registrieren
Mit der SFC20 BLKMOV geht's schonmal nicht.
Wieso nicht? Geht doch easy. Hast Du den DB's einen symbolischen Namen gegeben?
Code:
      CALL  "BLKMOV"
       SRCBLK :="DB20".Struct1.Source_DT
       RET_VAL:=MW10
       DSTBLK :="DB21".Struct2.Dest_DT

//und bei ARRAY OF STRUCT
      CALL  "BLKMOV"
       SRCBLK :="DB20".ArrayA[1].Source_DT
       RET_VAL:=MW10
       DSTBLK :="DB21".ArrayB[4].Dest_DT

Mit einem SCL-Baustein, der als Eingangs- und Ausgangsparameter den Typ DATE_AND_TIME hat und wo der Eingang auf den Ausgang zugewiesen wird, gehts auch nicht.
Das muß auch einfach gehen, doch von SCL hat Larry Laffer mehr Ahnung ...

Somit hätte ich gern einen Baustein, auf dem ich am Eingang meine Quellvariable angebe und am Ausgang meine Zielvariable angebe.
Willst Du es in AWL programmieren, dann benutze am Einfachsten einen FB, da kannst Du direkt von IN:DATE_AND_TIME zu OUT:DATE_AND_TIME kopieren, z.B. mit SFC20.
Willst Du einen FC, dann wird es komplizierter, weil da die DATE_AND_TIME-Parameter als Pointer übergeben werden. Hier ist ein Beispielprogramm, wie man in FC DATE_AND_TIME von IN nach TEMP und von TEMP nach OUT kopiert.

Harald
 
Zuletzt bearbeitet:
Oben