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 

Auf ankommendes UDP-Paket triggern?



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!

06.07.2010, 08:49
Beitrag #1

Yantit Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 160
Registriert seit: Jun 2010

8.2.1
2010
de

63xxx
Deutschland
Auf ankommendes UDP-Paket triggern?
Hallo!

Gibt es eine Möglichkeit auf ein ankommendes UDP-Paket zu triggern?

Hintergrund ist folgender: Es sollen auf zwei verschiedenen Rechner zwei unterschiedliche LV-Programme laufen. Ein Programm soll prinzipiell das Auslesen und Verarbeiten von Daten aus einem angeschlossenen Gerät vornehmen. Das andere Programm ist quasi die Fernsteuerung für das o. g. Programm, mit dem man dann einzelne Parameter versenden kann (via UDP).

Da Programm 1 in einer State Machine läuft, ist mir jetzt als Idee eingefallen, dass man, sobald ein UDP-Paket ankommt, in einen anderen State wechselt, dort die Parameter ändert und dann wieder in den Lese/Verarbeite-Zyklus springt.

Gibt es dafür in LV eine Möglichkeit, dies zu realisieren oder bin ich mit meiner Idee schon komplett auf dem Holzweg?

Danke im Voraus & Gruß
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
06.07.2010, 08:56 (Dieser Beitrag wurde zuletzt bearbeitet: 06.07.2010 08:56 von GerdW.)
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
Auf ankommendes UDP-Paket triggern?
Hallo Yantit,

du kannst doch, wenn ein UDP-Paket ankommt, einen entsprechenden Befehl in die StateMachine einspeisen!
Im Prinzip wie "IF udp THEN state_udp ELSE state_standard"...

Oder du bohrst deine StateMachine zur QueuedStateMachine aufSmile

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.07.2010, 08:59
Beitrag #3

Yantit Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 160
Registriert seit: Jun 2010

8.2.1
2010
de

63xxx
Deutschland
Auf ankommendes UDP-Paket triggern?
Zitat:Hallo Yantit,

du kannst doch, wenn ein UDP-Paket ankommt, einen entsprechenden Befehl in die StateMachine einspeisen!
Im Prinzip wie "IF udp THEN state_udp ELSE state_standard"...

Ja, sowas hatte ich im Auge, aber mir ist noch nicht ganz klar, woher LV "weiß", OB ein UDP-Paket denn da ist...

Zitat:Oder du bohrst deine StateMachine zur QueuedStateMachine aufSmile

Ach du liebe Zeit, was ist denn eine Queued State Machine?Smile
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.07.2010, 09:03 (Dieser Beitrag wurde zuletzt bearbeitet: 06.07.2010 09:05 von GerdW.)
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
Auf ankommendes UDP-Paket triggern?
Hallo Yantit,

"woher LV "weiß", OB ein UDP-Paket denn da ist..."
Du empfängst deine UDP-Pakete in einer parallelen Schleife. Entweder du empfängst was - oder auch nicht (TimeOut!). Je nachdem, was passiert ist, gibst du einen entsprechenden Wert in deine StateMachine weiter...

"was ist denn eine Queued State Machine?"
Eine QSM ist eine StateMachine, bei der die States über eine Queue verwaltet werden. Damit kann man von beliebiger Stelle aus "Befehle" in die StateMachine schicken... Normalerweise hast du ein Enum, welches die StateMachine steuert. Jetzt ist es eine Queue, die jeweils ein Enum ausspuckt...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.07.2010, 09:08 (Dieser Beitrag wurde zuletzt bearbeitet: 06.07.2010 09:33 von Yantit.)
Beitrag #5

Yantit Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 160
Registriert seit: Jun 2010

8.2.1
2010
de

63xxx
Deutschland
Auf ankommendes UDP-Paket triggern?
Zitat:Hallo Yantit,

"woher LV "weiß", OB ein UDP-Paket denn da ist..."
Du empfängst deine UDP-Pakete in einer parallelen Schleife. Entweder du empfängst was - oder auch nicht (TimeOut!). Je nachdem, was passiert ist, gibst du einen entsprechenden Wert in deine StateMachine weiter...

Ah, okay, verstehe. Auf den Ansatz bin ich jetzt direkt nicht gekommen...

Zitat:"was ist denn eine Queued State Machine?"
Eine QSM ist eine StateMachine, bei der die States über eine Queue verwaltet werden. Damit kann man von beliebiger Stelle aus "Befehle" in die StateMachine schicken... Normalerweise hast du ein Enum, welches die StateMachine steuert. Jetzt ist es eine Queue, die jeweils ein Enum ausspuckt...

Das hört sich zweckmäßig an, ich habe da einen Link gefunden, der das scheinbar ganz gut erklärt: klick

Da muss ich mich jetzt erstmal einlesenSmile

EDIT: Sehr abgefahrene Geschichte, diese QSM, aber scheint auf jeden Fall das zu sein, was ich brauche. Wird sich sicherlich lohnen, das umzusetzen. Mal schauen, ob das in gegebener Zeit möglich ist.
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
  UDP-Paket verschwindet M@rRy 15 10.255 26.10.2011 11:03
Letzter Beitrag: M@rRy

Gehe zu: