Azyklischer Kanal

 

 

Übersicht

HINWEIS

Wenn Sie über den Azyklischen Kanal schreibend auf Objekte zugreifen, welche in den I/O-Bereich gemappt sind, so werden deren Werte wieder mit dem nächsten Zyklus überschrieben. Daher sollten Daten, welche im I/O-Bereich gemappt sind, nicht über den Azyklischen Kanal geschrieben werden!

Über den Azyklischen Kanal können Sie azyklisch Schreib- und Lesebefehle ausführen. Hierzu wurden in den Ein-/Ausgabe-Bereich des Funktionsmoduls Datenbereiche für die azyklische Kommunikation implementiert. Dieser Bereich umfasst 8 Byte Ausgabe- und 8 Byte Eingabe-Daten. Diese haben folgende Belegung:

Anfrage

 

Antwort

Ausgabe-Daten

  • Byte 0: CMD - Kommando
  • Byte 1: SUBIDX - Subindex
  • Byte 2: IDX0 - Index (Low-Byte)
  • Byte 3: IDX1 - Index (High-Byte)
  • Byte 4: DATA0 - Data (Low-Byte)
  • Byte 5: DATA1 - Data
  • Byte 6: DATA2 - Data
  • Byte 7: DATA3 - Data (High-Byte)

 

 

 

 

Eingabe-Daten

  • Byte 0: STATUS - Status
  • Byte 1: SUBIDX - Subindex
  • Byte 2: IDX0 - Index (Low-Byte)
  • Byte 3: IDX1 - Index (High-Byte)
  • Byte 4: DATA0 - Data (Low-Byte)
  • Byte 5: DATA1 - Data
  • Byte 6: DATA2 - Data
  • Byte 7: DATA3 - Data (High-Byte)

 

CMD

IDLE→

 

Kommando→

 

IDLE→

Status:

 

←IDLE

 

←Kommando

 

←IDLE

CMD - Kommando

Code

Name

Beschreibung

0x00

IDLE

Setze Leerlauf.

Mit diesem Befehl können Sie den Wartezustand für einen neuen Befehl anfordern, nachdem die Kommandoausführung über STATUS zurückgemeldet wurde.

0x11

READ_ONCE

Lesen eines Datenobjektes

Mit diesem Befehl können sie die Daten einmalig anfordern, nachdem der Befehl erkannt wurde.

0x21

WRITE_ONCE

Schreiben eines Datenobjektes

Mit diesem Befehl werden Daten nur einmalig geschrieben, nachdem der Befehl erkannt wurde.

SUBIDX - Subindex: Subindex im Objektverzeichnis

IDX0 / IDX1 - Index: Index im Objektverzeichnis

DATA0 – DATA3 - Daten: Daten, welche zu übertragen sind

STATUS - Status

Code

Name

Beschreibung

0x00

IDLE

Leerlauf - wartet auf Befehle

0x14

READ_ONCE

Befehl READ_ONCE wurde erkannt, Daten sind gültig.

0x24

WRITE_ONCE

Befehl WRITE_ONCE wurde erkannt, Daten wurden angenommen.

0x81

READ_NOT_EXIST

Fehler - Lesezugriff - Daten nicht vorhanden

Befehl wurde nicht ausgeführt!

0x91

WRITE_NOT_EXIST

Fehler - Schreibzugriff - Daten nicht vorhanden

Befehl wurde nicht ausgeführt!

0x92

WRITE_RNG_ERR

Fehler - Schreibzugriff - Datenbereich überschritten

Befehl wurde nicht ausgeführt!

0x93

WRITE_RDO_ERR

Fehler - Schreibzugriff - Daten können nur gelesen werden

Befehl wurde nicht ausgeführt!

0x94

WRITE_WPR_ERR

Fehler - Schreibzugriff - Daten sind schreibgeschützt

Befehl wurde nicht ausgeführt!

0x99

ACYC_COM_ERR

Fehler während der azyklischen Kommunikation

Befehl wurde nicht ausgeführt!