FC310x - PCI-Karten für PROFIBUS

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