ADS-Interface

ADS NetId der PROFIBUS-Schnittstelle

Für die ADS-Kommunikation wird eine NetId benötigt. Diese ist im TwinCAT System Manager dem Karteireiter ADS des PROFIBUS-Interfaces zu entnehmen.

ADS-Interface 1:


ADS-Interface

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

Port

Beschreibung

200

Damit wird das PROFIBUS-Interface selbst adressiert, d.h. Daten, die lokal auf dem PROFIBUS-Interface 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 (oder 0x1000 + Slave Adresse), es wird auch immer ein Buszugriff durchgeführt.

 

ADS-Read

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

IndexGroup bei lokaler Adressierung des Embedded-PC (Port 200)

IndexGroup
(Lo-Word)

IndexGroup
(Hi-Word)

IndexOffset

Beschreibung

0xF181

0x0000-0x007E

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

0x0000-0x007E

immer 0

Damit kann festgestellt werden, welche DP-Slaves am PROFIBUS vorhanden sind, unabhängig davon, ob sie projektiert wurden oder nicht, die Stationsadresse wird im IndexGroup (Hi-Word) eingetragen. 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) (siehe: Upload der Konfiguration).

 

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 (siehe: DPV1-Kommunikation)

 

ADS-Write

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

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 (siehe: DPV1-Kommunikation).

 

ADS-WriteControl

Es folgt eine Übersicht der von den Embedded-PCs unterstützten Dienste beim ADS-WriteControl.

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

AdsState

DeviceState

State des Slave

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).