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 

Steuerung einer Case Struktur aus einer parallelen Schleife



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!

24.06.2010, 10:20
Beitrag #1

DerJoeka Offline
LVF-Grünschnabel
*


Beiträge: 18
Registriert seit: Mar 2010

2009
2010
de

42653
Deutschland
Steuerung einer Case Struktur aus einer parallelen Schleife
Hallo,

Ich habe in meinem Programm mehrere parrallele WhileSchleifen, die alle mit 200ms (bedingt durch die Datenerfassung) "getaktet" sind. Zwischen den Schleifen werden mit Queues Datenpakete herumgereicht. Jetzt versuche ich eine Case-Struktur in einer Consumer Schleife mit einem Event (boolches True), welches in der Producer Schleife passiert anzusteuern.
Das ganze habe ich mit einer Lokalen Variablen versucht, doch wie man sich schon denken kann, gibt das eine Race Condition und mein True kommt zu spät bei meinem Case an. Wie kann ich das lösen, damit es schneller geht, quasi noch in der selben Schleifenitteration?

PS. danke für die gute Arbeit hier im Forum

Grüße
Joe
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
24.06.2010, 10:40
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.425
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
Steuerung einer Case Struktur aus einer parallelen Schleife
Hallo Joe,

wenn alle deine Schleifen mit 200ms getaktet sind, wirst du schwerlich schneller auf Ereignisse reagieren können.

Wie wäre denn folgendes: Du reichst dein Bool per Queue weiter. Im Consumer taktest du die Schleife aber mit 20ms, indem du das DequeueQueue mit einem entsprechenden TimeOut versiehst. So reagiert der Consumer "schnell" auf den boolschen Wert, ohne "ewig" zu warten...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.06.2010, 11:14 (Dieser Beitrag wurde zuletzt bearbeitet: 24.06.2010 11:14 von Lucki.)
Beitrag #3

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Steuerung einer Case Struktur aus einer parallelen Schleife
Also die Producer-Schleife ist der primäre Takt, und die Verbraucherschleife synchronisiert sich über die Queue. Richtig?
In der Erzeugerschleife Sequenzrahmen benutzen. Sequenz 1: Update der Variablen, Sequenz 2: Neues Element in Queue.
In der Consumerschleife Sequenz in umgekehrter Reienfolge.
Die bessere Lösung wäre natürlich, in der Queue Cluster zu übertragen und dort die Variable mit als Clusterelement zu haben.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.06.2010, 12:56
Beitrag #4

DerJoeka Offline
LVF-Grünschnabel
*


Beiträge: 18
Registriert seit: Mar 2010

2009
2010
de

42653
Deutschland
Steuerung einer Case Struktur aus einer parallelen Schleife
So,

danke für die Tipps.
Inwischen habe ich es so gemacht: Das boolsche Signal, welches in einer 3. Schleife und nicht im Producer entsteht, wird über einen Melder übertragen, die Messwerttabelle lasse ich im Producer über ein Schieberegister eine Schleifenitteration später verschicken. So kommt das True zum selben Zeitpunkt wie die Queue an.
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
  Eigenversuch einer ComboBox - Optimierung und Kritik gesucht TpunktN 2 1.690 30.05.2023 07:56
Letzter Beitrag: TpunktN
  HTML-Datei - Name einer PNG bzw. JPG ändern Dsans 1 1.497 09.02.2023 04:42
Letzter Beitrag: Martin.Henz
Music FGEN Erzeugung eines Signalverlaufs anhand einer Mathematischen Funktion DavidStefan 11 5.800 29.05.2021 07:03
Letzter Beitrag: GerdW
  Mehrere Spitzenwerte aus einer Messreihe erkennen niklas2016 8 4.202 15.02.2021 14:27
Letzter Beitrag: BNT
  Case-Struktur: Angegebener Case nicht vorhanden braendy 10 5.034 02.02.2021 15:05
Letzter Beitrag: Lucki
  Case Struktur 2 Schleifendurchläufe verzögert True setzen aber sofort auf False bachatero18 4 4.577 07.11.2020 14:08
Letzter Beitrag: Martin.Henz

Gehe zu: