Step 7 UDT kopieren

Kämpfe mit SCL.Wie immer.Oben seht ihr den UDT Daten.
Nein, das ist nicht der UDT, sondern ein DB (mit nicht gezeigtem "geheimen" Name) mit 2 Variablen (Instanzen) vom UDT "Daten".
Hat der DB vielleicht keinen symbolischen Name? In dem Fall kann nicht symbolisch auf die Variablen zugegriffen werden.

Ich wollte das mit Block Move kopieren, dann hat er gemeckert das die Daten durch 8 teilbar sein müssen.
Wie kann ich einfach die Daten von Soll nach Ist kopieren?
In SCL brauchst du kein Blockmove, sondern schreibst einfach so wie Peter Gedöns in #5 schon geschrieben hat:
Code:
"MeinDB".Ist := "MeinDB".Soll ;


Ich will ja nur ein Teil des DB's kopieren innerhalb eines DB's.

Ist und Soll sind ein UDT, der besteht aus 3 Arrays.das erste 2-dimensionale Array möchte ich kopieren.
dann so wie Rabi in #9 schon geschrieben hat:
Code:
"MeinDB".Ist.Zyl_Schritte := "MeinDB".Soll.Zyl_Schritte ;


Oder die UDT an einen FC in SCL übergeben und im FC kopieren:
Code:
VAR_IN_OUT
  Soll : "Daten";
  Ist : "Daten"
END_VAR

//Kopieren nur des Array Zyl_Schritte:
Ist.Zyl_Schritte := Soll.Zyl_Schritte ;
 
@sps_klassik : ich denke mal, dass du alle Info's erhalten hast, die man dir entsprechend deiner doch eher dürftigen Problembeschreibung geben konnte. Vielleicht noch als Anmerkung (wobei auch ich das eigentliche Problem nicht verstanden habe) : du kannst auch in einem FUP-Baustein ein SCL-Netzwerk einfügen. Wenn du Teile aus deinem UDT verlagern willst dann ist das so sicher der einfachste und auch lesbarste Weg.
Falls das deine Frage jetzt nicht beantwortet dann würde ich vorschlagen, du postest mal den Code / das FUP-Netzwerk, das zeigt was du machen willst - auch wenn es nicht funktioniert ...
 
Nein.Ich wollte das erst mit Blockmove machen.Das geht aber nicht.
Ich habe eine Schrittkette wo ich beliebige Zylinderansteuerungskombinationen vorgegeben kann.
Wenn die Zylinder ihre Endstellung haben(auf oder zu) schalte ich in die nächste Kombination.
4 Zylinder und 5 Schritte mit Grundstellung.Die erste Maske ist die Aktuelle Maske.
Wenn ich in grundstellung bin, sind alle Zylinder eingefahren. In grundstellung kann ich dann anhalten und mit der
2 Maske(soll) mit einem Sendebutton die aktuelle maske überschreiben.Ich habe alles mit FUP gemacht.
Ein Zyklus macht er immer fertig, dann verharrt er in Grundstellung, wenn ich unterbreche.


Ich musste für diese Kopiererei extra einen FC in SCL schreiben.Ich gebe aber gerne zu, dass für solche Sachen
SCL wirklich nötig ist.Mit Blockmove bin ich nicht weitergekommen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Mit Move ist es gar nicht gegangen.Mit Blockmove hatte ich diese Fehlermeldung.
Die stand auch im returnvalue.Kann ja mal einer probieren, ob ich da was falsch gemacht habe.
Es muss aber ein Bool Array sein, dass nicht durch 8 teilbar ist.
Im TIA gehts?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich mache das nicht mit Pointern.Grundsätzlich nehme ich FUP, wenn es geht.
Aber hier geht es nicht oder ich habe es zumindest nicht hinbekommen.
Die meissten haben ja Klassik integriert.ihr könnt es ja mal versuchen.
 
Zurück
Oben