Azyklische Daten

Um azyklische Daten zu verschicken, werden die ADS-Bausteine verwendet. Diese greifen dann auf die Record-Daten des PROFINET zu. Damit azyklische Daten gelesen bzw. beschrieben werden können, muss sich das PROFINET Device im Datenaustausch befinden.

Es wird eine ADSReadWrite abgesetzt.

ADS Einstellungen

AMSNetID: Die AMSNetID des PROFINET Controllers

PORT: Port Nummer des Device (Entnehmen sie diese aus der Konfiguration des System Managers)

Index GROUP: 0x0000_F823

Index OFFSET: 0x0000_0000

DATEN

typedef struct {

       WORD            RW;

               #define         PN_READ         0

               #define         PN_WRITE        1

       WORD            NrOfAR;

       DWORD           API;

       WORD            Slot;

       WORD            SubSlot;

       PNIO_RECORD     RecordData;

} PNIO_CONFIGRECORD

Aufbau des Recorddaten Frame

nRW

nNr

nAPI

nSlot

nSubSlot

nIndex

nLen

nTrans

nReserved

Daten (only write)

2 Byte

2 Byte

4 Byte

2 Byte

2 Byte

2 Byte

2 Byte

2 Byte

2 Byte

n Bytes

Bedeutung der Daten aus dem Recorddaten Frame

Bezeichnung

Werte

Beschreibung

nRW

0 – READ
1 - WRITE

Lesender oder schreibender Zugriff

nNr

In der Regel „0“dec

Es können mehrere AR (application relations) zu einem Gerät aufgebaut sein (Controller, Supervisor, DeviceAccess).
Hierüber wird angegeben, in welcher AR die Daten ausgetauscht werden sollen -> normalerweise besteht nur eine AR, in diesem Fall 0.

nAPI

In der Regel „0“dec

-> Ansonsten ist hier das entsprechende Applikationsprofile zu hinterlegen

nSlot

Variabel

Slot Nummer

nSubSlot

Variabel

SubSlot Nummer

nIndex

Variabel

Index Nummer

nLen

Variabel

READ wenn nRW = 0:
wird beim Lesen der Wert „0“ verwendet wird die Anfrage mit der maximalen Buffergröße verschickt, ist nLen ≠ 0 wird die entsprechende Länge verwendet.

WRITE wenn nRW = 1:
beim Schreiben: Anzahl der Bytes die ab bzw. nach dem „nReserved“ Word folgen

nTrans

Beginnt mit „1“dec

Werden mehrere Records auf einmal herunter gegeben, bestimmt diese Transfer Sequenz Nummer die Abarbeitung der Records

nReserved

„0“dec

2 Byte Alignement

Daten

Variabel

Daten (ab hier zählt „nLen“ für die Daten-Länge, nur beim Schreiben)

Beispiel:

Senden einer Lese-Anforderung für I&M Funktion 0

nRW

nNr

nAPI

InSlot

SubSlot

nIndex

nLen

nTrans

nReserved

00 00

00 00

00 00 00 00

00 00

01 00

F0 AF

00 00

01 00

00 00

Es ist auf einen ausreichend großen Empfangsdatenspeicher zu achten!