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 

Dieses Thema hat akzeptierte Lösungen:

FGVs in über VI Server gestarteten VIs



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!

01.08.2011, 08:01
Beitrag #1

dimitri84 Offline
Astronaut
*****


Beiträge: 1.496
Registriert seit: Aug 2009

2020 Developer Suite
2009
DE_EN

53562
Deutschland
FGVs in über VI Server gestarteten VIs
Hallo Jungs,

ich starte z.B. 3 Threads über den VI Server; siehe nächstes Snippet.

   

Nun wollte ich die (z.B. 3) Schleifen synchronisieren. Dazu habe ich mir eine FGV gebastelt: die kann 1) ein Rendevous erstellen 2) auf eins Warten 3) das Rendevous wieder eliminieren. Die Referenz sitzt in nem SR - FGV halt ...

Ging nicht - hab immer'n Timeout bekommen. Das ganze nochmal mit Occurrences probiert - selbes Problem.

Frage: Muss ich die Ref erst mit der richtigen Option öffnen (wenn ja, wie denn?), oder was geht da schief?

    so?

(Ich weiß probieren geht über studieren - würd aber lieber zwei Sätze zu hören bevor ich rate.)


Gruß

„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
01.08.2011, 08:38 (Dieser Beitrag wurde zuletzt bearbeitet: 01.08.2011 08:49 von macmarvin.)
Beitrag #2

macmarvin Offline
CLA
***


Beiträge: 445
Registriert seit: Sep 2006

2014
2004
EN

81373
Deutschland
RE: FGVs in über VI Server gestarteten VIs
Ich glaube das geht schon beim starten schief... Du versuchts da eine statische Referenz mehrmals zu starten. Ohne explizite Instanzierung geht das nicht.
z.B. wie unter Problem bei dynamischen Laden des reentrant VI in einer EXE beschrieben.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
01.08.2011, 10:41
Beitrag #3

dimitri84 Offline
Astronaut
*****


Beiträge: 1.496
Registriert seit: Aug 2009

2020 Developer Suite
2009
DE_EN

53562
Deutschland
RE: FGVs in über VI Server gestarteten VIs
Jetzt starte ich die VIs so:
   

Zu deinem Hinweis:
- Wieso starte ich die stat. Ref mehrmals? Versteh ich nicht.
Zum Link:
- Muss die VI Ref strict sein?
- Ich will garkeine ablaufinvariante Ausführung ... also einfach keine "8" anschließen?

Is glaub'sch zu hoch für mich ... jedenfalls funktionieren die FGV eigentlich soweit alle - nur die Sync Funktionen bringen immer nen Timeout. Raff ich nicht. Ich versuch heut abend mal ein Beispiel zu erstellen ... vielleicht werde ich ja selbst auch schon daraus schlau.


Gruß


Danke mac

„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
01.08.2011, 10:48
Beitrag #4

macmarvin Offline
CLA
***


Beiträge: 445
Registriert seit: Sep 2006

2014
2004
EN

81373
Deutschland
RE: FGVs in über VI Server gestarteten VIs

Akzeptierte Lösung

(01.08.2011 10:41 )dimitri84 schrieb:  Jetzt starte ich die VIs so:
Zu deinem Hinweis:
- Wieso starte ich die stat. Ref mehrmals? Versteh ich nicht.
Zum Link:
- Muss die VI Ref strict sein?
- Ich will garkeine ablaufinvariante Ausführung ... also einfach keine "8" anschließen?

Is glaub'sch zu hoch für mich ... jedenfalls funktionieren die FGV eigentlich soweit alle - nur die Sync Funktionen bringen immer nen Timeout. Raff ich nicht. Ich versuch heut abend mal ein Beispiel zu erstellen ... vielleicht werde ich ja selbst auch schon daraus schlau.

Sind die verschiedenen "Threads"/Schleifen denn unterschiedliche VIs? Ich bin von einem VI ausgegangen, das du mehrmals starten willst und das gleichzeitig läuft.
Warum stict:
"Das stellt sicher das alle SubVIs (auch die aus der <vi.lib>) in der Exe enthalten sind und das VI selbst ausführbar ist (deshalb die strikte VIRef Konstante)"
Wenn es nicht reentrant sein soll, dann brauchst du auch keine neue Referenz per VI Ref Open erstellen.

Wenn du _in_ der einen globalen Instanz der FGV wartest, wirst du immer in den Timeout laufen, da alle anderen Aufrufer der FGV, darauf warten erstmal "in" die FGV zu kommen, also garnicht erst zum Rendevous Wait kommen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
01.08.2011, 12:19 (Dieser Beitrag wurde zuletzt bearbeitet: 03.08.2011 13:50 von dimitri84.)
Beitrag #5

dimitri84 Offline
Astronaut
*****


Beiträge: 1.496
Registriert seit: Aug 2009

2020 Developer Suite
2009
DE_EN

53562
Deutschland
RE: FGVs in über VI Server gestarteten VIs
(01.08.2011 10:48 )macmarvin schrieb:  Sind die verschiedenen "Threads"/Schleifen denn unterschiedliche VIs? Ich bin von einem VI ausgegangen, das du mehrmals starten willst und das gleichzeitig läuft.
Ja, sind unterschiedliche VIs: 2 Counter Tasks und ein AI Task. Jetzt hatte ich folgendes vor: Der AI Task holt immer feste Blöcke und feuert direkt im Anschluss eine Occurence. Die Schleifen vom Counter warten auf die Occurence.

(01.08.2011 10:48 )macmarvin schrieb:  Wenn du _in_ der einen globalen Instanz der FGV wartest, wirst du immer in den Timeout laufen, da alle anderen Aufrufer der FGV, darauf warten erstmal "in" die FGV zu kommen, also garnicht erst zum Rendevous Wait kommen.
Jetzt wo du es sagst, fällt's einem wie Schuppen von den Augen. Das war's!

Also einfach Ref rausgeben und draußen warten. Ich probier's. EDIT: Das war's: einfach draußen warten.

(01.08.2011 10:48 )macmarvin schrieb:  Warum stict:
"Das stellt sicher das alle SubVIs (auch die aus der <vi.lib>) in der Exe enthalten sind und das VI selbst ausführbar ist (deshalb die strikte VIRef Konstante)"
Also die stat. Ref (egal ob strict oder nicht) garantiert, dass der Compiler die VIs mitnimmt. Und "strict" garantiert, dass das VI ausführbar ist. Richtig so?

„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Server Client Verbindung über TCP/IP Gabi 5 7.294 30.11.2007 11:43
Letzter Beitrag: Gabi
  Eigenschaften über VI-Server ändern halford 1 2.955 26.01.2006 17:21
Letzter Beitrag: halford

Gehe zu: