PROFIBUS-Adresse über die SPS setzen

Die PROFIBUS-Adresse dient dazu, den Geräten in einem PROFIBUS-Netzwerk eine eindeutige Identifikation zuzuweisen, um die Kommunikation zwischen der Steuerung und den angeschlossenen Geräten zu ermöglichen. Neben den Einstellmöglichkeiten in TwinCAT kann die PROFIBUS-Adresse auch über die SPS eingestellt werden.

Gehen Sie wie folgt vor:

1. Aktivieren Sie in TwinCAT die Option Get Station No. from PLC und aktivieren Sie das Projekt.
PROFIBUS-Adresse über die SPS setzen 1:
2. Der CX7031 startet zunächst ohne PROFIBUS-Adresse und es findet keine PROFIBUS-Kommunikation statt.
3. Weisen Sie dem PROFIBUS-Slave mit Hilfe des Funktionsbausteins ADSWRITE eine PROFIBUS-Adresse zu.
AMS Net ID      //from CX7031 device
Port := 200
IDXGRP:= 16#F480
IDXOFFS:= 0..3  //(if you have configured up to 4 slaves)
LEN:=1
4. Das erste Byte Daten enthält dann die PROFIBUS-Adresse des Slaves. Achten Sie beim Arbeiten mit mehreren Slaves am CX7031 darauf, dass beim Schreiben einer neuen PROFIBUS-Adresse, die bereits in Kommunikation befindlichen PROFIBUS-Slaves kurzzeitig aus dem Datenaustausch gehen.
Die Adresse wird im CX7031 gespeichert, d.h. bei einem TwinCAT-Restart oder Power-ON bleiben die geschriebenen Adressen für die Slaves gültig. Ein Zurücklesen über den Funktionsbaustein ADSREAD ist nicht möglich.

Bei Verwendung mehrerer Slaves im CX7031 kann immer nur ein Slave aktiv oder inaktiv geschaltet werden. Sollen z. B. alle maximal möglichen 4 Slaves eine PROFIBUS-Adresse aus der SPS erhalten, so muss dies nacheinander geschehen und kann nicht gleichzeitig erfolgen. Weiterhin ist zu beachten, dass jede Zustandsänderung zur Folge hat, dass die anderen Teilnehmer kurzzeitig den Datenaustausch verlassen, technisch ist dies nicht anders lösbar. Auch wenn Sie einen der Slaves deaktivieren, der sich im Datenaustausch befindet, dann fallen auch die anderen Slaves kurz aus, bauen aber sofort wieder die Verbindung auf. Dies müssen sie in ihrer Applikation berücksichtigen. Wenn ihre Anwendung damit nicht umgehen kann, ist das Feature für sie nicht nutzbar.

Weitere Einsatzszenarien

Die Beschreibung weiterer Anwendungsszenarien ist als Anregung gedacht und erhebt keinen Anspruch auf Vollständigkeit.

1. Hot-Connect nutzen:

Dieses Feature kann dazu verwendet werden, Slaves zu aktivieren, wenn der CX7031 z. B. über EtherCAT eine bestimmte Konfiguration erkennt. Solch eine Konfiguration könnte beispielsweise eine Hot-Connect-Gruppe sein.

Wird eine bestimmte Hot-Connect-Gruppe erkannt, wird die entsprechende PROFIBUS-Adresse gesetzt und der Slave aktiviert. Ist die Hot-Connect-Gruppe nicht vorhanden, wird die PROFIBUS-Adresse auf „0“ gesetzt. Dies kann auch im laufenden Betrieb geschehen, wenn die Hot-Connect-Gruppe über EtherCAT angeschlossen ist. Da bis zu vier Slaves angelegt werden können, wird empfohlen, maximal drei Hot-Connect-Gruppen zu verwenden.

2. Diagnosedaten verschicken:

Die PROFIBUS-Diagnosedaten können über ADSWRITE gesendet werden. Die herstellerspezifische Diagnose beginnt ab dem 6. Byte mit der Länge der folgenden Diagnose-Daten. Das erste Byte der Diagnose-Daten muss immer 0x08 sein, damit herstellerspezifische Diagnose gesendet wird, die Bytes 2...6 werden vom Treiber gesetzt und können von Ihrer Applikation nicht verändert werden.

Beispiel für 10 Byte Diagnosedaten für Slave Nr. 2:

DiagArray[0]:=16#08;        // Must be set to trigger manufacturer-specific diagnostics
DiagArray[1..5]:=16#00;     // Described by the CX
DiagArray[6]:=10;           // 10 bytes of diagnostic data including length information
DiagArray[7..15]:=Value;    // Your diagnostic data
ADS Write:
AMD Net ID := CX7031 Interface
Port := 1002;               // 1000dec + Slave Address
IDXGRP:= 16#F481;
IDXOFFS:= 0;
LEN:=16;                    // 6 bytes + manufacturer-specific diagnostics

Wenn Sie zusätzlich Alarm- oder Fehlerbausteine Ihrer übergeordneten Steuerung verwenden wollen, ist dies ein weiteres Einsatzszenario, das Sie nutzen können. Solche Alarm- oder Fehlerbausteine werden in der Master-Steuerung in der Regel anders verarbeitet und aufgerufen als die Standard IO-Daten.

Wenn z. B. der CX einen Fehler hat und der EtherCAT-Master ein Problem erkannt hat, dann laufen die normalen IO-Daten für den PROFIBUS zunächst unabhängig davon weiter. Um nun dem PROFIBUS-Master anzuzeigen, dass der Slave einen Fehler erkannt hat, kann der Slave eine Diagnosemeldung senden. Der Vorteil einer Diagnosemeldung ist, dass sie ereignisgesteuert abläuft und je nach PROFIBUS-Master auch in speziellen Bausteinen verarbeitet und/oder auch optisch angezeigt wird.

Zusätzlich können über die Diagnose Min- und Maxwerte abgesetzt werden, z.B. bei Über- oder Unterschreiten eines Füllstandes. Gerade bei verfahrenstechnischen Anlagen werden diese Diagnosedaten in speziellen Fehlerloggern aufgezeichnet und gespeichert.