oscat.lib > oscat.lib fuer Step 7
DB-Werte drehen
(1/1)
Outrider:
hallo , ich möchte aus einem Datenbaustein die Werte drehen und in einen anderen DB kopieren.
Die Anzahl der Werte soll veränderlich sein.
d.h. ich muß dynymisch auf den letzten Wert reagieren und ihn ganz nach oben schieben ( in anderen DB) wie ein LIFO
Wer hat da eine Idee oder gar ein Programm
Gruß
dalbi:
Hi,
von welchem Datentyp ist ein Element im Datenbaustein?
Gruss Daniel
dalbi:
Beispiel für 16 Bit grosse Zahlen
--- Code: ---FUNCTION FC1 : VOID
VAR_INPUT
DB_Quelle : INT; //DB Nummer Quelle
DB_Ziel : INT; //DB Nummer Ziel
Anzahl_DW : INT; //Anzahl Datenworte
END_VAR
VAR_TEMP
i : INT;
tDB_Laenge : INT;
END_VAR
BEGIN
tDB_Laenge := (Anzahl_DW * 2)-2;
FOR i := 0 TO tDB_Laenge BY 2 DO
WORD_TO_BLOCK_DB(INT_TO_WORD(DB_Ziel)).DW[tDB_Laenge-i] := WORD_TO_BLOCK_DB(INT_TO_WORD(DB_Quelle)).DW[i];
END_FOR;
END_FUNCTION
--- Ende Code ---
so könnte man es z.B. machen.
Gruss Daniel
dalbi:
Hi,
anbei der Baustein in compilierter Form als Step7-Projekt.
Gruss Daniel
[gelöscht durch Administrator]
Navigation
[0] Themen-Index
Zur normalen Ansicht wechseln