PROFIBUS DPV1

Der Master unterstützt auf einer C1-Verbindung die Dienste Read und Write sowie auf einer C2-Verbindung die Dienste Read, Write, Data_Transport, Initiate und Abort.

C1-Verbindung (MSAC-C1)

Die C1-Verbindung ist für den Master reserviert, die mit dem Slave zyklischen Datenaustausch durchführt (C1-Master). Um die C1-Verbindung bei einem Slave nutzen zu können, muss der Slave DPV1 unterstützen (in der GSD-Datei müssen dafür die Zeile "DPV1_Slave = 1" und das Schlüsselwort "C1_Max_Data_Len" mit einer entsprechenden Länge eingetragen sein). Weiterhin ist in der Regel die C1-Funktionalität durch Setzen des Bit 7 von PrmData-Byte 0 (s. Karteireiter Profibus des Slaves) bei dem entsprechenden Slave zu aktivieren (bei Beckhoff-Geräten, die DPV1 unterstützen, passiert das automatisch).

MSAC-C1-Read ist auf ADS-Read, MSAC-C1-Write auf ADS-Write abgebildet:

MSAC-C1 Read

ADS-Read-Parameter

Bedeutung

Net-ID

Net-ID des Masters (s. Karteireiter ADS des Devices)

Port

0x1000 + Stationsadresse des Slaves

IndexGroup

Slot-Number (DPV1-Parameter)

IndexOffset 

Index (DPV1-Parameter)

Length

Länge der auszulesenden Daten

Data

bei Response: ausgelesene Daten

MSAC-C1 Write

ADS-Write-Parameter

Bedeutung

Net-ID

Net-ID des Masters (s. Karteireiter ADS des Devices)

Port

0x1000 + Stationsadresse des Slaves

IndexGroup

Slot-Number (DPV1-Parameter)

IndexOffset 

Index (DPV1-Parameter)

Length

Länge der zu schreibenden Daten

Data

bei Request: zu schreibende Daten

C2-Verbindung (MSAC-C2)

Die C2-Verbindung ist in der Regel für einen zweiten Master (C2-Master) gedacht, der nicht zyklisch mit dem Slave kommuniziert, aber auch der C1-Master kann die C2-Verbindung nutzen. Um die C2-Verbindung bei einem Slave nutzen zu können, muss der Slave DPV1 unterstützen (in der GSD-Datei müssen dafür die Zeile "DPV1_Slave = 1" und das Schlüsselwort "C2_Max_Data_Len" mit einer entsprechenden Länge eingetragen sein).

Die Verbindung wird von dem Master automatisch aufgebaut, sobald ein Read, Write oder Data_Transport-Zugriff gefordert wird, sie kann aber auch explizit per Initiate aufgebaut werden. Beim automatischen Aufbau sendet der Master die zuletzt übergebenen Initiate-Parameter (s. Beschreibung Initiate), wobei er die Initiate-Parameter nach einem TwinCAT Start (Restart) mit 0 initialisiert (Ausnahme ist die Verbindung-Überwachung, die entsprechend des im System Manager eingestellten Wertes (Watchdog unter DPV1-Class 2 auf dem Karteireiter Profibus des Slaves) initialisiert wird).

Weiterhin muss die C2-Funktionalität durch Anwählen der Enable-Check-Box unter DPV1-Class 2 (s. Karteireiter Profibus des Slaves) bei jedem Slave, der mit C2-Diensten angesprochen werden soll, aktiviert werden.

Wenn ein anderer Master mit dem Slave zyklischen Datenaustausch macht, muss unter DP-Class 2 die Einstellung "No cyclic connection" angewählt werden (s. Karteireiter Profibus des Slaves). Das ist z. B. sinnvoll, um einen BC3100/IL23xx-C310 per PROFIBUS debuggen zu können, obwohl er an einer Fremd-Steuerung hängt.

MSAC-C2-Read ist auf ADS-Read, MSAC-C2-Write auf ADS-Write, MSAC-C2-Data_Transport auf ADS-ReadWrite, MSAC-C2-Initiate auf ADS-ReadWrite und MSAC-C2-Abort auf ADS-Write abgebildet:

MSAC-C2 Read

ADS-Read-Parameter

Bedeutung

Net-ID

Net-ID des Masters (s. Karteireiter ADS des Devices)

Port

0x1000 + Stationsadresse des Slaves

IndexGroup

0x100 + Slot-Number (DPV1-Parameter)

IndexOffset 

Index (DPV1-Parameter)

Length

Länge der auszulesenden Daten

Data

bei Response: ausgelesene Daten

MSAC-C2 Write

ADS-Write-Parameter

Bedeutung

Net-ID

Net-ID des Masters (s. Karteireiter ADS des Devices)

Port

0x1000 + Stationsadresse des Slaves

IndexGroup

0x100 + Slot-Number (DPV1-Parameter)

IndexOffset 

Index (DPV1-Parameter)

Length

Länge der zu schreibenden Daten

Data

bei Request: zu schreibende Daten

MSAC-C2 Data_Transport

ADS-ReadWrite-Parameter  

Bedeutung

Net-ID

Net-ID des Masters (s. Karteireiter ADS des Devices)

Port

0x1000 + Stationsadresse des Slaves

IndexGroup

0x100 + Slot-Number (DPV1-Parameter)

IndexOffset 

Index (DPV1-Parameter)

Write-Length

Länge der zu schreibenden Daten

Read-Length

Länge der auszulesenden Daten

Data

bei Request: zu schreibende Daten, bei Response: ausgelesene Daten

MSAC-C2 Initiate

Mit dem MSAC-C2-Initiate-Dienst kann die C2-Verbindung zu dem Slave aufgebaut bzw. neue Initiate-Parameter übergeben werden, falls diese schon aufgebaut ist.

ADS-ReadWrite-Parameter  

Bedeutung

Net-ID

Net-ID des Masters (s. Karteireiter ADS des Devices)

Port

0x1000 + Stationsadresse des Slaves

IndexGroup

0x200 + Slot-Number (DPV1-Parameter)

IndexOffset 

0

Read-Length

Länge der Initiate-Response-Parameter (6)

Write-Length

Länge der Initiate-Request-Parameter (10 - 42)

Data

Initiate-Request-Parameter bzw. Initiate-Response-Parameter

Initiate-Request-Parameter

0x00 - 0x01

Feature_Supported

0x02 - 0x03

Profile_Feature_Supported

0x04 - 0x05

Profile_Ident_number

0x06

sType

0x07

sLen: Länge von sAddr (0 - 16)

0x08

dType

0x09

dLen: Länge von dAddr (0 - 16)

0x0A - 0x19

sAddr

0x1A - 0x29

dAddr

Initiate-Response-Parameter

0x00 - 0x01

Feature_Supported (von Slave empfangener Wert)

0x02 - 0x03

Profile_Feature_Supported (von Slave empfangener Wert)

0x04 - 0x05

Profile_Ident_number (von Slave empfangener Wert)

MSAC-C2 Abort

Mit dem MSAC-C2-Abort-Dienst kann die C2-Verbindung zu dem Slave wieder abgebaut werden.

ADS-Write-Parameter

Bedeutung

Net-ID

Net-ID des Masters (s. Karteireiter ADS des Devices)

Port

0x1000 + Stationsadresse des Slaves

IndexGroup

0x400 + Slot-Number (DPV1-Parameter)

IndexOffset 

0

Length

Länge der Abort-Parameter (3)

Data

bei Request: Abort-Parameter

Abort-Parameter

0x00

Reason_Code

0x01 - 0x02

Additional_Detail