Auf dieser MS2 Verbindung können verschiedene Dienste für Daten ausgeführt werden:
DPV1_Read:
0x5E |
Slot_Number |
Index |
ReqLength |
Mehrere Pollzyklen ohne Daten, letzter Pollzylus mit Antwortdaten. Bei einer positiven Antwort:
0x5E |
Slot_Number |
Index |
ResLength |
Data |
Bei einer negativen Antwort:
0xDE |
Error_Decode |
Error_Code1 |
Error_Code2 |
Als Resultat erhalten wir die Daten und die Länge zurück. Sie widerspiegelt die effektive Länge der zurückgegebenen Daten. Es ist auch erlaubt, nur den Anfang (z.B. header) einer Information zu lesen. Es gibt einen Fehler, wenn das Objekt nicht existiert oder der Zugriff nicht erlaubt ist.
DPV1_Write:
0x5F |
Slot_Number |
Index |
ReqLength |
Data |
Mehrere Pollzyklen ohne Daten, letzter Pollzylus mit Antwortdaten. Bei einer positiven Antwort:
0x5F |
Slot_Number |
Index |
ResLength |
Bei einer negativen Antwort:
0xDF |
Error_Decode |
Error_Code1 |
Error_Code2 |
Als Resultat erhalten wir eine Bestätigung der Anzahl der geschriebenen Bytes. Es darf auch nur ein Teil des Objektes geschrieben werden. Ein ReqLength länger als das Objekt ist aber nicht erlaubt. Fehlermeldungen entstehen, wenn das Objekt nicht vorhanden oder der Zugriff nicht erlaubt ist. Im Fehlerfall wird mit einem Fehlertelegramm geantwortet. Dabei wird die Funktion mit einem Error-Code zurückgegeben.
Mit einem Transport-Dienst können Objekte gleichzeitig geschrieben und gelesen werden:
DPV1_Transport:
0x51 |
Slot_Number |
Index |
ReqLength |
Data |
Mehrere Pollzyklen ohne Daten, letzter Pollzylus mit Antwortdaten. Bei einer positiven Antwort:
0x51 |
Slot_Number |
Index |
ResLength |
Data |
Bei einer negativen Antwort:
0xD1 |
Error_Decode |
Error_Code1 |
Error_Code2 |