Datenbaustein DB öffnen in Kontaktplan KOP
In SPS-Programmen werden häufig globale Datenbausteine oder Instanzdatenbausteine für Funktionsbausteine verwendet. In ihnen können global oder für ein Funktionsbaustein Daten abgelegt, ausgelesen und überschrieben werden.
Für den Zugriff auf die Daten in den Datenbausteinen sind in der CPU zwei Register vorhanden.
Diese werden als Register 1 und Register 2 benannt werden und erfüllen folgende Aufgaben:
- Register 1: Speichern der Nummer von globalen Datenbausteinen, DB-Register
- Register 2: Speichern der Nummer von Instanzdatenbausteinen, DI-Register
Mit den beiden Registern kann man zwei Datenbausteine gleichzeitig adressieren, um auf die Daten in den Datenbausteinen zuzugreifen. Hierbei gibt es wieder zwei Möglichkeiten, um auf die Daten zuzugreifen.
Vollständige Adressierung
Die vollständige Adressierung ist nur mit dem DB-Register 1 möglich. Dabei gibt man für jeden Datenzugriff die DB-Nummer mit an. Ist für den Datenbausein eine symbolische Bezeichnung angegeben worden, kann man auch mit der symbolischen Bezeichnung adressieren. Beispiele für die Adressierung:
- DB2.DBD4, Datenbaustein 2, Doppelwort 4
- Motorsteuerung.Drehzahl, Motorsteuerung ist der Name des Datenbausteins, Drehzahl ist der Datenname in der DB-Deklaration
Adressierung mit Auf DB oder Auf DI
Ein Datenbaustein kann mit dem Befehl Auf (OPN) vor dem Zugriff darauf geöffnet werden. Der Vorteil hierbei ist, dass man eine verkürzte Schreibweise für die Adressierung verwenden kann. Man kann dafür keine symbolische Adressierung verwenden sondern braucht die absoluten Adressen. Beispiele:
AUF DB6 //DB6 öffnen, die DB-Nummer wird im DB-Register adressiert
L DBD2 //Datendoppelwort 2 vom Datenbaustein in Akku1 laden, dessen Nummer im DB-Register steht
U DBX3.7 //UND-Verknüpfung Byte 3, Bit 7 in dem DB, dessen Nummer im DB-Register steht
AUF DI10 //Instanz-DB10 öffnen, DB Nummer wird im DI-Register adressiert
L DIW3 //Wort 3 vom Instanz-DB in den Akku1 laden, dessen Nummer im DI-Register steht