Datenbausteine in SPS

In einem Datenbaustein werden anders als bei Codebausteinen keine Programmcodes abgelegt sondern Daten. Als Daten kämen z.B. Stückzahlen, Uhrzeiten, Namen der Fertigungsmitarbeiter und viele weitere Informationen in Frage. Daher ist die Festlegung des Datentyps wichtig. Für Stückzahlen benötigt man z.B. einen anderen Datentyp als für Namen, Zeit oder Datum. In den Codebausteinen kann während des laufenden Betriebs auf diese gespeicherten Daten zurückgegriffen werden.

Datenbausteine enthalten kein Programmteil, in den man wie z.B. in AWL, FUP oder KOP Programmcode ablegt. Sie enthalten nur den Deklarationsteil. Ein Datenbaustein lässt sich ähnlich wie ein Codebaustein einfügen, indem man mit Rechtsklick auf den Knoten Bausteine das Kontextmenü öffnet und dann über den Menüpunkt Neues Objekt einfügen den Punkt Datenbaustein auswählt.

Datenbaustein einfügen
Einen Datenbausteine einfügen

Im nächsten Fenster werden die Einstellungen für den Datenbaustein eingegeben.

Datenbaustein Optionen
Einstellungen für den Datenbaustein

Insbesondere ist hier der Name des Datenbausteins wichtig. In unserem Beispiel wurde der Name DB1 eingegeben. Über den Namen und kann später der Datenbaustein ausgewählt und auf die Werte zugegriffen werden. Es ist auch wichtig auszuwählen, ob der Datenbaustein ein Globaldatenbaustein ist oder ein Instanzdatenbaustein. Bei Typ ist die Option Instanzdatenbausteine erst verfügbar, wenn zuerst ein Funktionsbaustein existiert. Denn ein Instanzdatenbaustein ist der Datenbaustein für einen Funktionsbaustein. Ist ein Funktionsbaustein vorhanden und wurde als Typ Instanz-DB ausgewählt, kann, sofern mehrere Funktionsbausteine vorhanden sind, der Funktionsbaustein ausgewählt werden, dem der Datenbaustein zugeordnet werden soll.

Datenbausteine können auch mit symbolischen Namen und einem Symbolkommentar versehen werden, z.B. Prüfdaten, Akustikwerte etc. So kann bei symbolischer Programmierung mit den symbolischen Namen gearbeitet werden. Denn, es ist einfacher symbolische Namen wie z.B. den Datenbaustein "Prüfdaten" zu merken als beispielsweise DB26.

Die Erstellsprache ist bei Datenbausteinen standardmäßig immer DB. Projektpfad und Speicherort werden automatisch vergeben und können nicht verändert werden. Zum Schluss kann der Datenbaustein mit einem längeren Kommentar versehen werden. All diese Informationen sind im Register Allgemein - Teil 1 verfügbar bzw. änderbar.

Register Allgemein Teil 2

Im Register Allgemein Teil 2 können noch weitere Einstellungen vorgenommen werden. Insbesondere ist hier die Option Unlinked wichtig.

Register Allgemein Teil 2
Weitere Einstellungen im Register Allgemein Teil 2

Unlinked

Im Ladespeicher der CPU können mehrere Datenbausteine abgelegt werden. Da der Arbeitsspeicher nur eine begrenzte Größe hat, ist es sinnvoll, diese auch im Ladespeicher zu belassen und nur bei Bedarf in den Arbeitsspeicher zu laden. Dafür müssen die Datenbausteine als Unlinked projektiert und in die CPU geladen werden. Denn nur so bleiben sie vorerst im Ladespeicher und werden nicht in den Arbeitsspeicher geladen. So wird Platz im Arbeitsspeicher gespart. Wenn im laufenden Betrieb die Inhalte dieser Datenbausteine benötigt werden, können Sie mit den Systemfunktionen SFC20 "BLKMOV" oder SFC83 "READ_DBL" in den Arbeitsspeicher transferiert werden. Danach kann mit den Lade- und Transferbefehlen Daten in den Akku 1 transferiert werden, z.B. mit dem Befehl "L DB2.DBW2". Es ist auch wichtig, dass der Datenbausteine zuerst in den Arbeitsspeicher geladen wird. Wenn man versucht, Daten in den Akku 1 zu laden, ohne vorher mit den Systemfunktionen in den Arbeitsspeicher zu laden, geht die CPU in den STOP-Modus. Bei der quellorientierten Programmierung, z.B. in AWL wird einem DB mit dem Schlüsselwort Unlinked zwischen DATA_BLOCK_DB DB_NR und der STRUCT-Definition des DB diese Eigenschaft zugewiesen.

DB ist schreibgeschützt in der AS

Der Datenbaustein wird im Automatisierungssystem schreibgeschützt und kann durch den Programmablauf nicht geändert werden.

KNOW HOW Schutz

Ist die Option aktiviert, kann der Deklarationsteil nicht eingesehen werden. Nur die Eigenschaften sichtbar.

Non-Retain

Damit wird das Remanenz-Verhalten des Datenbausteins festgelegt. Damit diese Option wirkt, muss die CPU Retaineigenschaften von DB's unterstützen. Ist die Option Non-Retain abgelegt, wird der Datenbaustein nicht im Remanenzspeicher der CPU abgelegt und belegt somit kein Platz im Remanenzspeicher. So würde der Datenbaustein nach jedem Netz-AUS auf die Ladewerte zurückgesetzt.

Standard Baustein

Diese Option können nur Standardbausteine enthalten und vom Programmierer nicht geändert werden.

Baustein schreibgeschützt

Der Baustein wird schreibgeschützt und kann nicht geändert werden.

Name (Header)

Der Header kann bis zu 8 Zeichen enthalten. Der Header wird in die Quelle eingetragen. Dasselbe gilt für Familie und Autor.

Version

Ist die Bausteinversion nicht größer, wird beim Exportieren eine Meldung angezeigt.

In den nächsten beiden Registern können die Aufrufe und Attribute eingesehen werden.