Herunterladen Inhalt Inhalt Diese Seite drucken

WAGO FireWire 750-339 Handbuch Seite 84

Modulares i/o-system
Inhaltsverzeichnis

Werbung

84 •
IEEE 1394
Netzwerkkommunikation
Lock-Operation
Die Lock-Operation bietet einen Mechanismus, um eine "geschützte" Operati-
on durchzuführen. Ein Knoten initiiert eine Lock-Operation, indem dieser ein
Lock-Request-Paket an einen anderen Knoten versendet.
Der Knoten, für den dieses Paket bestimmt ist, führt die Lock-Operation aus
und garantiert, dass kein Zugriff durch andere Knoten auf die Daten erfolgt,
bis die Lock-Operation abgeschlossen wurde.
Der Kopfbereich (Header) des Lock-Request-Paketes enthält neben der Zie-
laddresse (destination_offset) den Extended-Transaction-Code. Der Code gibt
an, um welche Art von Lock-Operation es sich handelt (siehe Tabelle).
Im Datenbereich des Lock-Request-Pakets wird zum einen ein Argument-
Wert (arg_value) und zum anderen ein Datenwert (data_value) übergeben.
Anhand des Lock-Response-Paketes kann überprüft werden, ob die Lock-
Operation erfolgreich verlaufen ist. Dieses Paket liefert immer den Wert, der
vor der Lock-Operation an der Zieladresse stand (old_value).
Scheitern kann eine Lock-Operation zum Beispiel dann, wenn ein anderer
Knoten bereits auf die Zieladresse eine Lock-Operation durchführt.
Extended-
Transaction-
Code
0x1
0x2
0x3
0x4
0x5
0x6
Lock-Operationen
Name
Beschreibung
Die Bits in der Zieladresse, die mit den Bits im Argument-
mask_swap
Wert übereinstimmen, werden mit den entsprechenden Bits
aus dem Datenwert aktualisiert.
Stimmt der Wert in der Zieladresse mit dem Argument-Wert
compare_swap
überein, wird der Datenwert in die Zieladresse geschrieben.
Der Datenwert wird zu dem Wert an der Zieladresse addiert
fetch_add
und das Ergebnis zurück in die Zieladresse geschrieben.
Der Datenwert wird zu dem Wert an der Zieladresse addiert
little_add
und das Ergebnis zurück in die Zieladresse geschrieben.
Hierbei sind jedoch das LSB und das MSB des Wertes an der
Zieladresse vertauscht.
bounded_add
Stimmt der Wert an der Zieladresse nicht mit dem Argument-
Wert überein, so wird der Datenwert zu dem Wert an der
Zieladresse hinzuaddiert und das Ergebnis zurück in die
Zieladresse geschrieben.
Bei Gleichheit der beiden Werte wird der Wert an der Zielad-
resse nicht verändert.
Stimmt der Wert an der Zieladresse nicht mit dem Argument-
wrap_add
Wert überein, so wird der Datenwert zu dem Wert an der
Zieladresse hinzuaddiert und das Ergebnis zurück in die
Zieladresse geschrieben.
Bei Gleichheit der beiden Werte wird der Wert an der Zielad-
resse durch den Datenwert ersetzt.
WAGO-I/O-SYSTEM 750
IEEE 1394 – FireWire
®

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis