-> Hier kostenlos registrieren
Hallo,
ich habe jetzt schon lange gesucht und probiert und bin nicht auf die Lösung gekommen. Ich habe folgendes Problem:
Ich habe einen DB der über UDT erstellt wird. In diesem DB sind folgende Struct´s:
Adresse Name Type
0.0 DB_Var_1 UDT3
130.0 DB_Var_2 UDT3
260.0 DB_Var_3 UDT3
390.0 DB_Var_4 UDT3
Jetzt will ich mir einen Funktionsbaustein bauen, dem man eine Zahl (zB 2 ) übergibt und dann soll im Code der Struct DB_Var_2 benutzt werden.
Folgender massen soll so ein Zugriff aussehn:
temp:= DBXY.DB_Var_X.Speicherstelle1
also der DB bleibt ja immer gleich, aber wie kann ich DB_Var_X <--- Dort die Zahl ändern und dann damit auf den DB zugreifen? Geht das überhaupt?
Habe das mal mit ANY-Pointer ausprobiert, aber klappte nicht. Bin auch noch nicht so ein erfahrener S7 Programmierer^^
System: CPU 315
Step 7
SCL
Würde es auch gerne in SCL machen, aber wenn nur AWL geht, wäre dies auch nicht so dramatisch. Es ist beabsichtigt Symbolische Adressen zu benutzen, weil sonst müsste ich meinem ganzen Code die Adressen ändern.
Vielen Dank schonmal
ich habe jetzt schon lange gesucht und probiert und bin nicht auf die Lösung gekommen. Ich habe folgendes Problem:
Ich habe einen DB der über UDT erstellt wird. In diesem DB sind folgende Struct´s:
Adresse Name Type
0.0 DB_Var_1 UDT3
130.0 DB_Var_2 UDT3
260.0 DB_Var_3 UDT3
390.0 DB_Var_4 UDT3
Jetzt will ich mir einen Funktionsbaustein bauen, dem man eine Zahl (zB 2 ) übergibt und dann soll im Code der Struct DB_Var_2 benutzt werden.
Folgender massen soll so ein Zugriff aussehn:
temp:= DBXY.DB_Var_X.Speicherstelle1
also der DB bleibt ja immer gleich, aber wie kann ich DB_Var_X <--- Dort die Zahl ändern und dann damit auf den DB zugreifen? Geht das überhaupt?
Habe das mal mit ANY-Pointer ausprobiert, aber klappte nicht. Bin auch noch nicht so ein erfahrener S7 Programmierer^^
System: CPU 315
Step 7
SCL
Würde es auch gerne in SCL machen, aber wenn nur AWL geht, wäre dies auch nicht so dramatisch. Es ist beabsichtigt Symbolische Adressen zu benutzen, weil sonst müsste ich meinem ganzen Code die Adressen ändern.
Vielen Dank schonmal