Der Bithirte
Level-1
- Beiträge
- 4
- Reaktionspunkte
- 2
-> Hier kostenlos registrieren
Abend zusammen
Hab da gerade ein kleines Problem und zwar folgendes:
Hab 12 Analogeingänge über die ich Messreihen aufnehmen möchte. Hab mir 12 DBs erstellt die alle aus einem "Datensatz ARRAY [1..1800] of Wert" bestehen (Wert ist als INT deklariert)
Jetzt möchte ich mir einen FB schreiben, der so variabel ist, dass ich nur noch meinen entsprechendes PEW (Analogeingang) und meine DB-Nummer übergebe, auf welchen ich alle 10 sec meine Messwerte schreiben möchte.
...der FB in SCL steht soweit und läuft, nur das mit der variablen Adressierung des DBs geht nicht!
so hab ich mir das vorgestellt:
VAR_INPUT
DB_NR : ???; //DB Nummer in welchen der AI geschrieben werden soll
.
.
.
END_VAR
VAR
Satz_Nr : INT; //Zählvariable für Arrayindex
.
.
.
END_VAR
.
Begin
.
.
.
If xxx Then //Alle 10 sec wird hier durchgelaufen
DB_Nr.Datensatz[Satz_Nr].Wert := Analogwert; //Messwert in DB schreiben
Satz_Nr := Satz_Nr +1;
End_If
Wie bekomme ich den Analogwert (berechnet und nomiert ist er schon) in den DB geschrieben, wie sieht der Syntax für den DB-Aufruf auf???
Grüße
Hab da gerade ein kleines Problem und zwar folgendes:
Hab 12 Analogeingänge über die ich Messreihen aufnehmen möchte. Hab mir 12 DBs erstellt die alle aus einem "Datensatz ARRAY [1..1800] of Wert" bestehen (Wert ist als INT deklariert)
Jetzt möchte ich mir einen FB schreiben, der so variabel ist, dass ich nur noch meinen entsprechendes PEW (Analogeingang) und meine DB-Nummer übergebe, auf welchen ich alle 10 sec meine Messwerte schreiben möchte.
...der FB in SCL steht soweit und läuft, nur das mit der variablen Adressierung des DBs geht nicht!
so hab ich mir das vorgestellt:
VAR_INPUT
DB_NR : ???; //DB Nummer in welchen der AI geschrieben werden soll
.
.
.
END_VAR
VAR
Satz_Nr : INT; //Zählvariable für Arrayindex
.
.
.
END_VAR
.
Begin
.
.
.
If xxx Then //Alle 10 sec wird hier durchgelaufen
DB_Nr.Datensatz[Satz_Nr].Wert := Analogwert; //Messwert in DB schreiben
Satz_Nr := Satz_Nr +1;
End_If
Wie bekomme ich den Analogwert (berechnet und nomiert ist er schon) in den DB geschrieben, wie sieht der Syntax für den DB-Aufruf auf???
Grüße