Geräte Adressierung

SMI definiert verschiedene Arten der Teilnehmeradressierung. Grundsätzlich kann unterschieden werden zwischen der Einzeladressierung, Gruppenadressierung und dem Sammelruf (Broadcast). Die meisten SPS-Bausteine besitzen hierfür den Eingang dwAddr und eAddrType. Während der Eingang dwAddr die notwendige Angabe der Adresse enthält, definiert eAddrType die Art der Adressierung. Die einzelnen Arten der Adressierung werden im Folgenden beschrieben. Beachten Sie, dass nicht jeder Befehl alle Adressierungsarten unterstützt. Details hierzu finden Sie in der Beschreibung des jeweiligen SPS-Bausteins.

per Adresse eines Teilnehmers (eAddrType := eSMIAddrTypeAddress)

Jedem SMI-Teilnehmer kann eine Adresse von 0 bis 15 zugewiesen werden. Die Adresse wird im SMI-Teilnehmer abgespeichert und muss bei einem Austausch des Antriebes wieder korrekt eingestellt werden. Da jede Adresse nur einmal zugewiesen werden sollte, lässt sich jeder SMI-Teilnehmer einzeln ansprechen. Der Eingang dwAddr enthält bei dieser Adressierungsart die Adresse im Bereich von 0 bis 15. Wird ein Wert außerhalb des gültigen Bereichs angegeben, so gibt der jeweilige Baustein einen Fehler aus.

Gelegentlich wird diese Adresse auch Slave-Adresse genannt. Die Slave-Adresse darf nicht mit der Slave-Id verwechselt werden (siehe unten).

per Slave-Id (eAddrType := eSMIAddrTypeSlaveId)

Die einzelnen Gerätehersteller hinterlegen in jedem SMI-Gerät eine eindeutige 32-Bit große Nummer. Diese Slave-Id, auch Key-Id genannt, kann ebenfalls für die Adressierung eines Teilnehmers genutzt werden. Der Eingang dwAddr enthält bei dieser Adressierungsart die 32-Bit große Slave-Id und der Eingang dwAddrOption den Herstellercode (siehe unten). Hierdurch wird sichergestellt, dass SMI-Geräte weltweit eindeutig adressiert werden können, ohne dass diese eine Adresse benötigen.

Bei einigen SMI-Geräten ist die Slave-Id auf dem Typenschild aufgedruckt oder durch eine Beschriftung am Kabel sichtbar.

Die Adressierung per Slave-Id wird von den meisten Lese-Befehlen nicht unterstützt.

per Herstellercode (eAddrType := eSMIAddrTypeManufacturer)

SMI definiert für jeden Hersteller neben der Slave-Id eine weitere eindeutige Id, den sogenannten Herstellercode. Der Herstellercode ist fest im SMI-Gerät hinterlegt und kann nicht verändert werden. Der mögliche Wertebereich ist von 0 bis 15, wobei der Wert 0 und 14 eine Sonderbedeutung haben. Der Herstellercode 0 adressiert alle Teilnehmer, unabhängig vom Hersteller. Somit kann diese Adressierungsart auch zum Versenden von Broadcast-Befehlen verwendet werden. Der Wert 15 ist reserviert für zukünftige Erweiterungen und darf nicht verwendet werden. Sehr häufig ist hier die englische Bezeichnung Manufacturer Code oder auch die Abkürzung M-ID zu finden. Durch diese Adressierung werden immer alle Geräte eines Herstellers angesprochen. Der Eingang dwAddr enthält bei dieser Adressierungsart den Herstellercode im Bereich von 0 bis 14. Wird ein Wert außerhalb des gültigen Bereichs angegeben, so gibt der jeweilige Baustein einen Fehler aus.

Bei einigen SMI-Geräten ist der Herstellercode auf dem Typenschild aufgedruckt oder durch eine Beschriftung am Kabel sichtbar.

per Gruppenadressierung (eAddrType := eSMIAddrTypeGroup)

Jeder Teilnehmer der über die Gruppenadressierung angesteuert werden soll, muss eine Adresse von 0 bis 15 besitzen. Jedes Bit des Eingangs dwAddr entspricht bei der Gruppenadressierung einer Adresse. Wird Bit 0 von dwAddr gesetzt, so wird der Teilnehmer mit der Adresse 0 angesteuert. Wird Bit 1 gesetzt, so wird Teilnehmer 1 angesprochen usw. Somit belegt die Gruppenadressierung die Bits 0 bis 15, was dem Wertebereich von 0 bis 65535 entspricht. Wird ein Wert außerhalb des gültigen Bereichs angegeben, so gibt der jeweilige Baustein einen Fehler aus.

Beispiel: Es sollen die Antriebe mit der Adresse 1, 4, 7 und 12 angesprochen werden. Somit muss an dwAddr der Wert 2#00010000_10010010 oder 16#1092 oder 4242 übergeben werden.

per Broadcast (eAddrType := eSMIAddrTypeBroadcast)

Bei der Adressierung per Broadcast werden immer alle Teilnehmer angesprochen, unabhängig von der eingestellten Adresse am Gerät. Der Eingang dwAddr wird bei dieser Adressierung nicht benötigt und auch nicht ausgewertet. Intern verwenden die SPS-Bausteine die Adressierung per Herstellercode, wobei als Herstellercode 0 verwendet wird.