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.