ADS-Interface

Sämtliche azyklischen Daten werden mit ADS-Read, ADS-Write oder ADS-Write-Control an die bzw. von der FC310x übertragen.  Die FC310x hat eine eigene Net-ID und unterstützt die folgenden Ports:

Port

Beschreibung

200

damit wird die FC310x selbst adressiert, d.h. Daten, die lokal auf der FC310x liegen, bei denen in der Regel kein zusätzlicher Buszugriff nötig ist

0x1000 - 0x107E

damit wird ein angeschlossener PROFIBUS-Teilnehmer adressiert, wobei sich Adresse aus Port-0x1000 berechnet, es wird auch immer ein Buszugriff durchgeführt

ADS-Read

Es folgt eine Übersicht der von der FC310x unterstützten IndexGroup/IndexOffset bei ADS-Read.

IndexGroup bei lokaler Adressierung der FC310x (Port 200)

IndexGroup (Lo-Word)

IndexGroup (Hi-Word)

IndexOffset

Beschreibung

0xF100

0x00

BYTE-Offset innerhalb der Daten

Damit werden die Diagnosedaten der FC310x ausgelesen. Wenn der ADS-Read ohne Fehler (Error-Code = 0) beantwortet wird, enthalten die Daten die im Kapitel Master-Diagnose beschriebenen Diagnosedaten der FC310x. Die FC310x setzt dabei das DiagFlag der FC310x zurück, das dann wieder gesetzt wird, wenn sich die Diagnosedaten der FC310x erneut ändern.

0xF181

0x00-0x7E

BYTE-Offset innerhalb der Daten

Damit werden die Diagnosedaten eines projektierten DP-Slaves ausgelesen, die Stationsadresse berechnet sich aus dem IndexGroup(Hi-Word). Wenn der ADS-Read ohne Fehler (Error-Code = 0) beantwortet wird, enthalten die Daten die im Kapitel Slave-Diagnose beschriebenen Diagnosedaten eines projektierten DP-Slaves.

0xF830

0x8000-0x807E

immer 0

Damit kann festgestellt werden, welche DP-Slaves am PROFIBUS vorhanden sind, unabhängig davon, ob sie projektiert wurden oder nicht, die Stationsadresse berechnet sich aus IndexGroup(Hi-Word)-0x8000. Wenn der ADS-Read ohne Fehler (Error-Code = 0) beantwortet wird, hat der entsprechende DP-Slave korrekt geantwortet, die Daten enthalten die Ident-Nummer des Slaves (BYTE-Offset 0-1) und die ausgelesenen CfgData (ab BYTE-Offset 2) (s. Kapitel Upload Configuration).

0xF840

0

BYTE-Offset innerhalb der Daten

Damit werden Firmware-Version und Stationsadresse der FC310x ausgelesen. Wenn der ADS-Read ohne Fehler (Error-Code = 0) beantwortet wird, enthalten die Daten die Firmware-Version (BYTE-Offset 0-1) und die Stationsadresse der FC310x (BYTE-Offset 2).

IndexGroup bei Adressierung eines projektierten PROFIBUS-Teilnehmers (Port 0x1000-0x107E)

IndexGroup (Lo-Word)

IndexGroup (Hi-Word)

IndexOffset

Beschreibung

0x00-0xFF

0x00

0x00-0xFF

Damit wird ein DPV1-Read an den entsprechenden, projektierten DPV1-Slave über eine Class 1-Verbindung gesendet, die DPV1-Slot-Nummer entspricht der IndexGroup, der DPV1-Index entspricht dem IndexOffset. Wenn der ADS-Read ohne Fehler (Error-Code = 0) beantwortet wird, enthalten die Daten die ausgelesenen DPV1-Daten (s. Kapitel DPV1)

0x100-0x1FF

0x00

0x00-0xFF

Damit wird ein DPV1-Read an den entsprechenden, projektierten DPV1-Slave über eine Class 2-Verbindung gesendet, die DPV1-Slot-Nummer entspricht der IndexGroup - 0x100, der DPV1-Index entspricht dem IndexOffset. Wenn der ADS-Read ohne Fehler (Error-Code = 0) beantwortet wird, enthalten die Daten die ausgelesenen DPV1-Daten (s. Kapitel DPV1)

0x0000 - 0xFFF

0x10000000 - 0xF0000000

0x00-0xFF

Damit wird ein PKW-Read an den entsprechenden, projektierten PROFIDRIVE-Slave gesendet, die Parameternummer (PNU) steht im Lo-Word der IndexGroup, der Sub-Index bei Zugriff auf ein Array steht im IndexOffset, die angesprochene Achse steht in den Bits 28-31 der IndexGroup (bei einem 1-Achser muss hier eine 1 stehen), in Bit 26,27 kann noch die PKW-Kompatibilität angepasst werden (leider sind nicht alle PROFIDRIVE-Slaves hier kompatibel, s. Kapitel PKW-Interface).

0

0x01000000

0

Damit wird FDL-Read für die Siemens AG-Kopplung an die entsprechende projektierte FDL-Station gesendet (s. Kapitel S5-FDL). 

ADS-Write

Es folgt eine Übersicht der von der FC310x unterstützten IndexGroup/IndexOffset bei ADS-Write.

IndexGroup bei lokaler Adressierung der FC310x (Port 200)

IndexGroup (Lo-Word)

IndexGroup (Hi-Word)

IndexOffset

Beschreibung

0xF100

0x00

0 -2

Damit werden die Equidistant-Diagnosedaten (IndexOffset = 0), die Repeat-Counter (IndexOffset = 1) oder die NoAnswer-Counter (IndexOffset = 2) der FC310x zurückgesetzt.

IndexGroup bei Adressierung eines projektierten PROFIBUS-Teilnehmers (Port 0x1000-0x107E)

IndexGroup (Lo-Word)

IndexGroup (Hi-Word)

IndexOffset

Beschreibung

0x00-0xFF

0x00

0x00-0xFF

Damit wird ein DPV1-Write an den entsprechenden, projektierten DPV1-Slave über eine Class 1-Verbindung gesendet, die DPV1-Slot-Nummer entspricht der IndexGroup, der DPV1-Index entspricht dem IndexOffset (-> Kapitel DPV1).

0x100-0x1FF

0x00

0x00-0xFF

Damit wird ein DPV1-Write an den entsprechenden, projektierten DPV1-Slave über eine Class 2-Verbindung gesendet, die DPV1-Slot-Nummer entspricht der IndexGroup - 0x100, der DPV1-Index entspricht dem IndexOffset (-> Kapitel DPV1).

0x400

0x00

0x00

Damit wird ein DPV1-Abort an den entsprechenden, projektierten DPV1-Slave über eine Class 2-Verbindung gesendet, die Abort-Parameter befinden sich in den Daten (-> Kapitel DPV1).

0x0000 - 0xFFF

0x10000000 - 0xF0000000

0x00-0xFF

Damit wird ein PKW-Write an den entsprechenden, projektierten PROFIDRIVE-Slave gesendet, die Parameternummer (PNU) steht im Lo-Word der IndexGroup, der Sub-Index bei Zugriff auf ein Array steht im IndexOffset, die angesprochene Achse steht in den Bits 28-31 der IndexGroup (bei einem 1-Achser muss hier eine 1 stehen), in Bit 26,27 kann noch die PKW-Kompatibilität angepasst werden (leider sind nicht alle PROFIDRIVE-Slaves hier kompatibel, -> Kapitel PKW-Interface).

0

0x01000000

0

Damit wird FDL-Write für die Siemens AG-Kopplung an die entsprechende projektierte FDL-Station gesendet (s. Kapitel S5-FDL). 

0

0x02000000

0

Damit wird ein SetSlaveAddress-Kommando an einen projektierten DP-Slave gesendet, wobei der DP-Slave mit der neuen Stationsadresse projektiert werden mus, die alte Stationsadresse ist dann am BYTE-Offset 0 der ADS-Write-Daten einzutragen. Weiterhin muss unter BYTE-Offset 1 und 2 die Ident-Nummer des Slaves stehen und unter BYTE-Offset 3, ob die Slave später noch einmal geändert werden darf (0) oder nicht (ungleich 0). Insgesamt sind also 4 Bytes ADS-Write-Daten zu übergeben. 

ADS-ReadWrite

Es folgt eine Übersicht der von der FC310x unterstützten IndexGroup/IndexOffset bei ADS-ReadWrite.

IndexGroup bei Adressierung eines projektierten PROFIBUS-Teilnehmers (Port 0x1000-0x107E)

IndexGroup (Lo-Word)

IndexGroup (Hi-Word)

IndexOffset

Beschreibung

0x100-0x1FF

0x00

0x00-0xFF

Damit wird ein DPV1-Data_Transport an den entsprechenden, projektierten DPV1-Slave über eine Class 2-Verbindung gesendet, die DPV1-Slot-Nummer entspricht der IndexGroup - 0x100, der DPV1-Index entspricht dem IndexOffset (-> Kapitel DPV1).

0x200

0x00

0x00

Damit wird ein DPV1-Initiate an den entsprechenden, projektierten DPV1-Slave über eine Class 2-Verbindung gesendet, die Initiate-Parameter befinden sich in den Daten (-> Kapitel DPV1).

ADS-WriteControl

Es folgt eine Übersicht der von der FC310x unterstützten ADS-Write-Control-Kommandos.

ADS-WriteControl bei lokaler Adressierung der FC310x (Port 200)

AdsState

DeviceState

State der FC310x

Beschreibung

STOP (6)

0x00

RUN (5)

Damit wird die FC310x gestoppt, d.h. die Prozessdatenverbindungen zu allen DP-Slaves (Data_Exchange) werden abgebaut (mit SetPrm,Unlock).

RUN (5)

0x00

STOP (6)

Damit wird die FC310x nach einem Stoppen erneut gestartet, d.h. die Prozessdatenverbindungen zu allen DP-Slaves (Data_Exchange) werden wieder aufgebaut (normaler DP-Hochlauf).

ADS-WriteControl bei Adressierung eines projektierten PROFIBUS-Teilnehmer (Port 0x1000-0x107E)

AdsState

DeviceState

State der FC310x

Beschreibung

STOP (6)

0x00

RUN (5)

Damit wird der Slave gestoppt, d.h. die Prozessdatenverbindung zu dem entsprechenden DP-Slave (Data_Exchange) wird abgebaut (mit SetPrm,Unlock).

RUN (5)

0x00

STOP (6)

Damit wird der Slave nach einem Stoppen erneut gestartet, d.h. die Prozessdatenverbindung zu dem entsprechenden DP-Slave (Data_Exchange) wird wieder aufgebaut (normaler DP-Hochlauf).

ADS-Fehlercodes

Der 32-Bit-ADS-Fehlercode besteht immer aus einem allgemeinen ADS-Fehlercode (Lo-Word, siehe ADS-Dokumentation) und einem FC310x-spezifischen, eindeutigen Fehlercode (Hi-Word, -> Kapitel FC310x-ADS-Fehlercodes). Die entsprechende Meldung wird auch im Logger des TwinCAT System Managers textuell angezeigt.