3.7.5
Typische Sequenzen beim DPC1-Betrieb mit Semaphore
Einordnung
Die im Kapitel 3.7.3 beschriebene pollende Betriebsweise für DPC1 kann auch
durch einen Betrieb mit Semaphoren ersetzt werden.
Nachfolgend werden die Initialisierung dieser Betriebsweise, die Elemente des
Dauerbetriebs und das Abmelden erläutert.
Initialisierung der Semaphore
Vor der ersten Benutzung muss das Semaphor wie folgt angelegt werden:
Schritt
1
Benutzen von Semaphore für DPC1
Schritt
1
2
3
Die anderen DPC1-Dienste funktionieren analog.
Programmierschnittstelle DP-Base für CP 5613/CP 5614
C79000-G8900-C139-04
Aktion
Semaphor für asynchrone
Aufträge abholen (Funkti-
on DP_init_sema_object)
Aktion
Schreibauftrag abgeben
(DP_ds_write)
Auf Semaphor warten
(z. B. WaitForMultipleOb-
jects)
Quittung abholen
(DP_get_result)
Übersicht DP-Base-Schnittstelle
Bedeutung
Die DP-Base-DLL bietet hierzu ein
Semaphor für alle asynchronen Aufträ-
ge (Typ DP_OBJECT_TYPE_ASYNC).
Bedeutung
Nach dem Ende der Funktion ist der
Auftrag in Bearbeitung.
Das Anwenderprogramm bzw. der auf-
rufende Thread wartet, bis das Ereignis
eintritt. „WaitForMultipleObjects" ist ei-
ne Windows-32-Bit-API-Funktion.
Die Quittung kann anhand der
Order_id im Request-Block
wiedererkannt werden.
57