INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Arbeiten mit Semaphoren



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

26.09.2015, 09:40
Beitrag #1

Herby07 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 54
Registriert seit: Mar 2010

2011
2010
kA


Deutschland
Arbeiten mit Semaphoren
Hallo zusammen,

ich habe ein VI mit drei Tasks, die auf die gleiche Ressource zugreifen.
Den problemlosen Zugriff habe ich mit einem Semaphor geregelt.
VI läuft auch.
Aber: kann man bestimmen (ermitteln), welcher Task bei Start des VIs (Task starten auch gleichzeitigt) zuerst auf die Ressource zugreift und wie die Reihenfolge der Zuteilung aussieht ?

Vielen Dank,
Herby
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.09.2015, 20:59
Beitrag #2

Trinitatis Offline
LVF-Guru
*****


Beiträge: 1.694
Registriert seit: May 2008

7.1 / 8.0 /2014-1, 18
2002
DE

18055
Deutschland
RE: Arbeiten mit Semaphoren
(26.09.2015 09:40 )Herby07 schrieb:  Aber: kann man bestimmen (ermitteln), welcher Task bei Start des VIs (Task starten auch gleichzeitigt) zuerst auf die Ressource zugreift und wie die Reihenfolge der Zuteilung aussieht ?

Hallo Herby,

die Funktion Anfordern der Semaphorreferenz gibt dir einen boolschen Wert zurück, ob diese neu erstellt wurde. Das wird in deinen Tasks nur bei einer der Fall sein, nämlich bei der, die zuerst anfordert.
Die weitere Reihenfolge müsstest du (beispielsweise über Melder oder Queues) selbst definieren.


Gruß, Marko
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.09.2015, 13:53
Beitrag #3

Herby07 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 54
Registriert seit: Mar 2010

2011
2010
kA


Deutschland
RE: Arbeiten mit Semaphoren
Hallo Marko,
vielen Dank für Deine Antwort, aber so ganz ist mir das nicht klar:

Mit ´Semaphorreferenz anfordern´ erstelle ich ein neues Semaphor.

Nun habe ich im VI drei getrennte While-Schleifen, die gleichzeitig starten und die alle das Semaphor belegen (wollen).

Und hierzu habe ich die Frage: lässt sich ermitteln, welche der drei While-Schleifen zuerst den Zugriff bekommt oder läuft das ´rein´ zufällig ab, weil man nicht weiß, wie LabVIEW diese drei Schleifen behandelt ?

Vielen Dank,
Herby
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.09.2015, 14:03
Beitrag #4

Trinitatis Offline
LVF-Guru
*****


Beiträge: 1.694
Registriert seit: May 2008

7.1 / 8.0 /2014-1, 18
2002
DE

18055
Deutschland
RE: Arbeiten mit Semaphoren
Hallo Herby,

da hatte ich dich missverstanden. Ich dachte du sprichst von der Anforderung der Semaphore-Referenz, die ja namentlich und auch VI-übergreifend stattfinden kann.
Auch beim Belegen des Semaphores gilt: Wer zuerst kommt mahlt zuerst.
Du kannst dir natürlich deine 3 Schleifen mit IDs 1-3 versehen und diese je nach Belegung in einunddasselbe Array schreiben, dann weißt du, wer vor wem belegen durfte. Steuern könntest du das ganze ggf. über Queues oder Melder, aber dann stünde die Frage nach dem Sinn der Semaphore im Raum.

Falls dir das alles zu nebulös ist, erläutere doch mal, wozu du diese Info brauchst, bzw. was du vorhast.



Gruß, Marko
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Gehe zu: