-> Hier kostenlos registrieren
Hallo,
auf einer S7-300 (317-F2DP)
habe ich folgenden Code gefunden, Leider ist das ganze für mich etwas unverständlich. Hier zuerst mal der Code des FBKommentare stammen von mir)
Problem, bei den Positionen gibt es keine Reserve, ich muss aber ca. 10 Positionen erweitern (DINT) Momentan sind 7 Vorhanden.
Ich würde jetzt hingehen und den DB511 (Ex Psotionsdaten erweitern) sowie den Struct, wie stelle ich jedoch sicher das die Positionsdaten auch korrekt kopiert werden??
Vielen Dank für eure Hilfe
auf einer S7-300 (317-F2DP)
habe ich folgenden Code gefunden, Leider ist das ganze für mich etwas unverständlich. Hier zuerst mal der Code des FBKommentare stammen von mir)
Code:
NW1:
[FONT=Calibri][SIZE=3] TAR1 #Register_AR1 /AR1 sichern
[/SIZE][SIZE=3] TAR2 #Register_AR2 /AR 2 sichern[/SIZE]
[SIZE=3]L P##ExPositionsdaten /In Variable (P#Db511.dbx0.0) (Positionen laden)
[/SIZE][SIZE=3]LAR1 // Pointer nach AR1 schieben
[/SIZE][SIZE=3] L P##Adr_Positionsdaten // woher kommt dieser Pointer (Temp Variable)
[/SIZE][SIZE=3]LAR2 // Pointer nach AR 2 (Zeiger wohin??)[/SIZE]
[/FONT]
[SIZE=3][FONT=Calibri]L D [AR1,P#0.0 // Auf Welche Lokalworte wird von Wo geschrieben
[/FONT][/SIZE][SIZE=3][FONT=Calibri]T LD [AR2,P#0.0]
[/FONT][/SIZE][SIZE=3][FONT=Calibri] L D [AR1,P#4.0]
[/FONT][/SIZE][SIZE=3][FONT=Calibri]T LD [AR2,P#4.0]
[/FONT][/SIZE][SIZE=3][FONT=Calibri]L W [AR1,P#8.0]
[/FONT][/SIZE][SIZE=3][FONT=Calibri]T LW [AR2,P#8.0][/FONT][/SIZE]
[SIZE=3][FONT=Calibri] LAR1 #Register_AR1 //Adressregister zurücksichern[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] LAR2 #Register_AR2 //Adressregister zurücksichern[/FONT][/SIZE]
[FONT=Calibri][SIZE=3] [/SIZE][/FONT]
[FONT=Calibri][SIZE=3]NW 2: [/SIZE][/FONT]
[SIZE=3][FONT=Calibri] CALL "BLKMOV" // SFC 20
[/FONT][/SIZE][SIZE=3][FONT=Calibri] SRCBLK :=#Adr_Positionsdaten // Woher kommt der Pointer AR wurde ja zurückgeschrieben
[/FONT][/SIZE][SIZE=3][FONT=Calibri] RET_VAL:=#Hilfswort_INT
[/FONT][/SIZE][SIZE=3][FONT=Calibri] DSTBLK :=#Positionen //Ziel Struct innerhalb des Stat Bereichs des FB[/FONT][/SIZE]
Problem, bei den Positionen gibt es keine Reserve, ich muss aber ca. 10 Positionen erweitern (DINT) Momentan sind 7 Vorhanden.
Ich würde jetzt hingehen und den DB511 (Ex Psotionsdaten erweitern) sowie den Struct, wie stelle ich jedoch sicher das die Positionsdaten auch korrekt kopiert werden??
Vielen Dank für eure Hilfe