# Dynamische DB adressierung in SCL



## thomasgull (8 September 2010)

Hallo zusammen.

wie ist folgender Ausdruck richtig?

db[sDBNr].daten[sIndexDB].wert1:= tcosplus;

es sollen je nach Programmabschnitt veschieden DBs aufgerufen werden.
im DB befindet sich ein Array aus Struct.

sDBNr ist ein DINT, sIndexDb ein INT


grüsse Thomas


----------



## Kai (8 September 2010)

Ein Beispiel für den indizierten Zugriff auf Datenbausteine in S7-SCL findest Du hier:

http://www.sps-forum.de/showthread.php?t=19333

http://www.sps-forum.de/showpost.php?p=132967&postcount=6

http://www.sps-forum.de/showpost.php?p=132971&postcount=8

Gruß Kai


----------



## thomasgull (8 September 2010)

Danke für die Tips

Habe folgenden vergleich:

Direkt funktioniert es

den DB Dynamisiert. Folgende Fehlermeldung:

Ungültige Variable
Fehlerhafte Variable, der Punkt ist nicht zulässig
Ungültiger Datentyp

im Beitrag 
http://www.sps-forum.de/showthread.php?t=38046&highlight=scl+db
wurde auch schon diskutiert


----------



## Thomas_v2.1 (8 September 2010)

Wie soll der SCL-Übersetzer denn auch wissen wie der DB aufgebaut ist, wenn er zum Zeitpunkt des Übersetzens nicht weiß welchen DB er als Vorlage nehmen soll?

Des weiteren gibt es in der SCL-Hilfe ein sehr schön gemachtes Kapitel "Sprachbeschreibung". Im Unterpunkt "Lexikalische Regeln" -> Absolutadressierung findet man wie ein indizierter Zugriff auf einen DB auszusehen hat. Und da gibt es nur eine Variante.


----------

