# DB mit SCL erstellen und Daten hineinschreiben



## firecases (15 November 2017)

Moin, ich habe eine S7-300 und möchte 

1. über den SCL Editor einen DB "automatisch" erzeugen   
2. einen FC erzeugen der Hardwareeingänge in den DB schreibt.

Mir ist noch nicht klar wie ich es schaffe, dass der DB korrekt angelegt wird. Der FC wäre dann die zweite Phase...

Meine Anfänge:

DATA_BLOCK DB10 *WIE SYMBOLNAMEN VERGEBEN???*
//
// Erstellen DB für Digitaleingänge
//
VERSION : 1.0
STRUCT
            Eingang1   :BOOL;
            Eingang2   :BOOL; 
            Eingang3   :BOOL;         
            Eingang4   :BOOL;      
            Eingang5   :BOOL;          

    END_STRUCT
    BEGIN
 END_DATA_BLOCK



FUNCTION FC10 : INT* WIE SYMBOLNAMEN VERGEBEN???  *

VAR_TEMP

END_VAR

// Zuweisung Hardware auf DB

Digitaleingaenge.Eingang1 := E0.0;
Digitaleingaenge.Eingang1 := E0.1;
Digitaleingaenge.Eingang1 := E0.2;
Digitaleingaenge.Eingang1 := E0.3;
Digitaleingaenge.Eingang1 := E0.4;   


END_FUNCTION


----------



## PN/DP (15 November 2017)

Welches Step7 verwendest Du?

Step7 "classic" V5.x:

Symbolnamen werden in der Symboltabelle festgelegt: Extras > Symboltabelle
oder in den Baustein-Eigenschaften.

Zum Kennenlernen der Syntax für DB:
Du könntest
- den DB mit dem DB-Editor erstellen
- daraus eine AWL-Quelle generieren
- die AWL-Quelle öffnen und den Quelltext in die SCL-Quelle kopieren

Die Eingänge in den DB kopieren:

```
"Digitaleingaenge".Eingang1 := E0.0;
...
```

Harald


----------



## A3Q (15 November 2017)

Man kann doch auch, wenn man eine neue Quelle erstellt, im Editor dann oben irgendwo bei bearbeiten > einfügen (oder ähnlich, habs  grad nicht vor mir) auswählen zwischen FB, FC, DB. Dann haut er automatisch schon mal die Syntax (und Kommentare) dafür in den Editor.


----------



## firecases (16 November 2017)

Ich benutze Version 5.5 SP3.

Dann muss man vorher schon den DB in der Symboltabelle eintragen und kann ihn nicht komplett über den SCL Editor mit z.B. Teilübersetzen erzeugen? D.h. Symbolname, DB Nr., etc.


----------

