Slave
Als Slave werden die Protokolle PROFIBUS DP und PROFIBUS DPV1 unterstützt.
PROFIBUS DP
Um den Slave für den zyklischen DP-Betrieb zu konfigurieren, ist im TwinCAT System Manager wie folgt vorzugehen:
DP-Slave projektieren
Zuerst ist ein E/A-Gerät "Profibus Slave FC310x, PCI" zu projektieren (mit rechter Maustaste auf "E/A-Geräte", dann "Gerät anfügen" auswählen). Dabei wird das Device und eine Box angefügt (dazu muss die GSD-Datei "TCDPSLAV.GSD" im Verzeichnis "TwinCAT\Io\Profibus" stehen):
Der entsprechende Kanal ist auf dem Karteireiter "FC310x" (TwinCAT 2.8 bzw. TwinCAT 2.9) des Devices zu suchen ("Search"-Button), die Stationsadresse anzupassen und ggf. die Baudrate anzupassen (ist standardmäßig auf 12 MBaud eingestellt).
Module anfügen
Entsprechend der zyklisch zu übertragenen Daten sind Module an die Box anzufügen (mit rechter Maustaste auf die Box, dann "Module anfügen" auswählen):
Konfiguration des Masters
Zur Konfiguration des Masters ist die GSD-Datei "TCDPSLAV.GSD" aus dem Verzeichnis "TwinCAT\Io\Profibus" zu nehmen. Die Module müssen im Master-Konfigurator in der gleichen Reihenfolge angefügt werden, wie bei der Konfiguration des Slaves im System-Manager.
Fehlerreaktionen
In der Defaulteinstellung werden die Eingänge des DP-Slaves auf 0 gesetzt, wenn der DP-Slave nicht im Datenaustausch ist. Auf dem Karteireiter "Features" der Box kann diese Input-Fehlerreaktion Changes of the Input Data auf "No Changes" gestellt werden:
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.
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) | 0x200 |
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) | 0x200 |
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, s. Beschreibung DPV1-Fehlercodes |
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) | 0x200 |
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) | 0x200 |
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, s. Beschreibung DPV1-Fehlercodes |
Length (LENGTH) | Länge der gelesenen Daten |
ADS-Interface (ab TwinCAT 2.9)
In TwinCAT-Systemen kann die Kommunikation auch über ADS erfolgen. Von der Funktionalität entspricht das einer ADS-Verbindung zwischen zwei PCs über Ethernet, nur dass stattdessen die Übertragung über PROFIBUS erfolgt, mit der Ausnahme, dass der Requester, der den ADS-Auftrag anstößt, immer der DP-Master-PC ist. Ein FC310x-DP-Master ist dann mit einem FC310x-DP-Slave verbunden.
Beim DP-Master ist dann auf dem Karteireiter "ADS" der Box das ADS-Interface zu aktivieren und die Net-ID des DP-Slave-PCs einzutragen:
Beim DP-Slave ist auf dem Karteireiter "ADS" des Devices die Net-ID des DP-Master-PCs unter Add. NetIds einzutragen: