Informationsmodell

Module – Kategorisierung von Hardware- und Softwareinformationen

Der Beckhoff Device Manager kategorisiert diverse Hardware- und Softwareinformationen über sogenannte „Module“ in einem Informationsmodell.

Informationsmodell 1:

Um eine bestimmte Information über den Device Manager auszulesen, werden folgende Informationen benötigt:

Für die SPS-Programmierung stehen komfortable Funktionsbausteine zur Verfügung, die einen einfachen Zugriff auf die gewünschten Daten ermöglichen (siehe Beispiele zur SPS-Programmierung). Die nachfolgenden Ausführungen zur Adressierung können daher für die SPS-Programmierung übersprungen werden.

Adresse einer Tabelle finden

Um eine bestimmte Hardware- oder Softwareinformation über den Device Manager auszulesen, ist es notwendig, ihre genaue Position im Informationsmodell anhand des Index der umgebenden Tabelle und ihres SubIndex zu bestimmen.

Index:
Der Index der Tabelle besteht aus 16 Bit und setzt sich dabei wie folgt zusammen:

0x

a

nn

x

Hex-Preambel

Area-Code (4 bit)

Modul-ID (8 bit)

Tabellen-ID (4 bit)

Area-Code (4 Bit): beschreibt, welche Area diese Adresse ansprechen soll.

Modul-ID (8 Bit): kennzeichnet eindeutig die dynamische Position des jeweiligen Moduls und wird automatisch durch den Device Manager beim Systemstart generiert. Sie kann durch Abfragen der Tabelle 0xF020 (Device-Area) ermittelt werden.

Tabellen-ID (4 Bit): kennzeichnet die Tabelle innerhalb eines Moduls.

Abhängig von der verwendeten Area werden Modul-ID und Tabellen-ID auch zusammengefasst, zum Beispiel bei der Device-Area, da dort keine Module existieren.

Informationsmodell 2:

SubIndex:
Der SubIndex einer gewünschten Information kann bequem in der Liste verfügbarer Module (Configuration Area) in den dortigen Tabellen nachgelesen werden.

Beispiel

In diesem Beispiel soll das NIC-Modul adressiert werden, um die IP-Adresse der Netzwerkkarte (NIC) auszulesen. Zur Erinnerung: Module des Device Managers werden automatisch anhand der tatsächlich verfügbaren Hard- und Software erstellt. In der Tabelle 0xF020 der Device-Area kann eine Liste aller automatisch erstellten Module abgefragt werden. Jede Zeile in dieser Tabelle repräsentiert jeweils ein Modul, welches aus dem jeweiligen Modultyp im High-Word und der dynamisch erstellten Modul-ID im Low-Word besteht. Der Inhalt der Tabelle 0xF020 könnte zum Beispiel wie folgt aussehen:

SubIndex

Wert
Präfix High Low Word

Beschreibung

0

5

Anzahl der Einträge in dieser Tabelle

1

0x 000C 0000

Modul „Memory“

2

0x 000B 0001

Modul „CPU“ (Kern 1)

3

0x 000B 0002

Modul „CPU“ (Kern 2)

4

0x 0002 0003

Modul „NIC“

Der Rückgabewert an SubIndex 4 besteht aus dem gesuchten Modultypen „NIC“ (0x0002) im High Word und der dynamischen Modul-ID (0x0003) im Low Word. Weil die Liste entsprechend der dynamischen Modul-IDs sortiert ist, ist die dynamische Modul-ID immer gleich dem SubIndex minus eins.

Der komplette Index setzt sich nun gemäß des oben genannten Schemas wie folgt zusammen:

0x

a

nn

x

0x

8

03

1

 

Area Code (In diesem Fall: Configuration Area)

Modul-ID (Ergibt sich aus der Tabelle 0xF020)

Tabellen-ID (1 = NIC Properties)

Die Eigenschaften der Netzwerkkarte sind also an Adresse 0x8031 hinterlegt. Gemäß der Spezifikation des NIC-Moduls kann nun unter der Adresse 0x8031 an deren SubIndex 2 die IP-Adresse der Netzwerkkarte ausgelesen werden. Der Rückgabewert, den man hierbei enthält, entspricht einem der definierten Datentypen.