DP-V1 Kommunikation
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-Readind, MSAC-C1-Write auf ADS-Writeinc abgebildet:
PROFIBUS DPV1
Der DP-Slave unterstützt eine DPV1-MSAC_C1-Server-Verbindung, die zusammen mit der zyklischen Verbindung aufgebaut wird. Diese kann benutzt werden, um neben den zyklischen Daten noch größere Mengen azyklische Daten übertragen zu können. Ein vom Master empfangenes DPV1-Read-Telegramm wird als ADS-Read-Indication an die PLC gemeldet, ein vom Master empfangenes DPV1-Write-Telegramm wird als ADS-Write-Indication an die PLC gemeldet. Das PLC-Programm ist dann für die Read bzw. Write-Antwort verantwortlich, dazu sind die Funktionen ADS-Read-Response bzw. ADS-Write-Response aufzurufen.
Einstellung im System Manager
Um die DP-V1 Dienste in die SPS zu transportieren muss diese Funktion durch die Angabe des Ports aktiviert werden.
Port 0 deaktiviert, 802 SPS-Laufzeit 1, Task 1
MSAC-C1 Read
Eine DPV1-MSAC_C1-Read-Indication wird wie folgt auf eine ADS-Read-Indication abgebildet:
ADS-Read-Indication-Parameter | Bedeutung |
---|---|
Source-Net-ID (NETID) | Net-ID des Slaves (s. Karteireiter ADS des Devices) |
Source-Port (PORT) | 0x1000+Slave Adresse |
Invoke-ID (INVOKEID) | eindeutige Nummer, muß bei Response wieder auftauchen |
IndexGroup (IDXGRP) | Slot-Number (DPV1-Parameter) |
IndexOffset (IDXOFFS) | Index (DPV1-Parameter) |
Length (LENGTH) | Länge der auszulesenden Daten |
Eine ADS-Read-Response wird wie folgt auf eine DPV1-MSAC_C1-Read-Response abgebildet:
ADS-Read-Response-Parameter | Bedeutung |
---|---|
Destination-Net-ID (NETID) | Net-ID des Slaves (s. Karteireiter ADS des Devices) |
Destination-Port (PORT) | 0x1000+Slave Adresse |
Invoke-ID (INVOKEID) | eindeutige Nummer, wie bei Indication |
Result (RESULT) | Result des Read: 0 = kein Fehler, sonst: Bit 0-15 = Standard-ADS-Fehlercodes, Bit 16-23 = Error_Code_1, Bit 24-31 = Error_Code_2, |
Length (LENGTH) | Länge der gelesenen Daten |
Data (DATAADDR) | gelesene Daten |
MSAC-C1 Write
Eine DPV1-MSAC_C1-Write-Indication wird wie folgt auf eine ADS-Write-Indication abgebildet:
ADS-Write-Indication-Parameter | Bedeutung |
---|---|
Source-Net-ID (NETID) | Net-ID des Slaves (s. Karteireiter ADS des Devices) |
Source-Port (PORT) | 0x1000+Slave Adresse |
Invoke-ID (INVOKEID) | eindeutige Nummer, muß bei Response wieder auftauchen |
IndexGroup (IDXGRP) | Slot-Number (DPV1-Parameter) |
IndexOffset (IDXOFFS) | Index (DPV1-Parameter) |
Length (LENGTH) | Länge der zu schreibenden Daten |
Data (DATAADDR) | zu schreibende Daten |
Eine ADS-Read-Response wird wie folgt auf eine DPV1-MSAC_C1-Read-Response abgebildet:
ADS-Read-Response-Parameter | Bedeutung |
---|---|
Destination-Net-ID (NETID) | Net-ID des Slaves (s. Karteireiter ADS des Devices) |
Destination-Port (PORT) | 0x1000+Slave Adresse |
Invoke-ID (INVOKEID) | eindeutige Nummer, wie bei Indication |
Result (RESULT) | Result des Read: 0 = kein Fehler, sonst: Bit 0-15 = Standard-ADS-Fehlercode, Bit 16-23 = Error_Code_1, Bit 24-31 = Error_Code_2, |
Length (LENGTH) | Länge der gelesenen Daten |