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 

FTDI



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.09.2007, 10:12
Beitrag #11

Otti Offline
LVF-Grünschnabel
*


Beiträge: 36
Registriert seit: Apr 2006

2012
2004
DE

04275
Deutschland
FTDI
Zitat:Das geht natürlich schon und wohl noch eine ganze Weile auch mit mehr Schnittstellen. Aber!!!!!
Lokale Variablen sind nicht synchornisiert, das will heissen die Read Loop pro Schnittstelle kann ganz einfach 200 mal durchlaufen werden bevor Deine Hauptschlaufe einmal im Stande ist diese lokale Variable zu lesen. Falls das kein Problem für Dich ist dann ist das OK, aber Du solltest das schon wissen.
Ich denke mal das es kein Problem für mich ist...?! Meine Hauptschleife greift erst alle 200ms auf die Werte der lokalen Variablen zu und die 3 Leseschleifen machen ihre Sache ja fast as possible. Von daher meinte ich es sollte klappen. Oder wie denkst du?

Zitat:Dein Instrument könnte ja ein ziemlicher dummer Schreier sein der einfach seine Daten wild hinausschreit ohne jeweils erst ein Kommando zu erwarten und für solche Instrumente ist die von Dir gemachte Entkopplung meist die Beste Sache.
Von der Seite her sind meine 3 Module "dumme Schreier" da sie einfach permanent Werte Senden ohne ein Start oder Stop Kommando zu benötigen.

Zitat:Lokale Variablen können Schlaufen entkoppeln, was prinzipiel gut ist aber man muss darauf achten dass die Schreiboperation völlig asynchron zur Leseoperation läuft das heisst, Du kannst in der Hauptschlaufe entweder 100 mal denselben Wert lesen weil die Leseschlaufe eben viel langsamer ist oder im anderen Extremfall liest Du nur jeden x hundersten Wert der von der Leseschlaufe produziert wird. Falls Du Deine Schlaufen doch irgendwie synchronisieren willst wird es komplizierter.
An der Stelle weis ich nicht genau wie du das meinst. Wann oder besser in welchen Fall benötige ich beispielsweise eine Synchrone Abarbeitung?
In meinem Programm werden von den 3 angeschlossenen Modulen nur Werte gelesen, zur Anzeige gebracht und gleichzeitig in ein Binary-File geschrieben...

Mit besten Grüßen und Danke für die Anmerkungen (bin ja eher Anfänger)
Thomas Otto
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.09.2007, 08:16 (Dieser Beitrag wurde zuletzt bearbeitet: 26.09.2007 08:21 von rolfk.)
Beitrag #12

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
FTDI
' schrieb:An der Stelle weis ich nicht genau wie du das meinst. Wann oder besser in welchen Fall benötige ich beispielsweise eine Synchrone Abarbeitung?
In meinem Programm werden von den 3 angeschlossenen Modulen nur Werte gelesen, zur Anzeige gebracht und gleichzeitig in ein Binary-File geschrieben...

Also Deine Eingangsschlaufen lesen beispielsweise alle 10 ms einen Wert, weil die Instrumente diese einfach so "herausschreien". Wenn Du in Deiner Hauptschlaufe nun alle diese Werte haben möchtest (etwa weil der dynamische Verlauf davon wichtig ist) dann musst Du synchronisieren (am Besten mit Queues oder auch LV2 Style Globals).
Wenn es Dir aber nur darum geht ab und an den aktuellen Wert auf Disk zu schreiben und alle anderen Werte ohne Probleme verloren gehen können, dann ist die von Dir gemachte Entkopplung in Ordnung.

Ein Problem solltest Du aber nicht vernachlässigen. So wie Du es jetzt getan hast merkt Deine Hauptschlaufe wohl nicht wenn plötzlich keine Daten mehr kommen, etwa weil das Kabel unterbrochen ist oder das Instrument keinen Strom mehr hat. Du loggst dann einfach stundenlang den letzten gemessenen Wert oder vielleicht 0 je nach dem wie Du die Leseschlaufe mit Dekodierung programmiert hast. Das würde ich dadurch lösen, dass ich im Falle eines Fehlers beim Lesen explizit einen Wert NaN (Not a Number) in die lokale Variable schreiben würde. Dann siehst Du im log automatisch wenn das Instrument nicht mehr arbeitete wie es sollte.

Rolf Kalbermatter

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.09.2007, 17:56
Beitrag #13

Otti Offline
LVF-Grünschnabel
*


Beiträge: 36
Registriert seit: Apr 2006

2012
2004
DE

04275
Deutschland
FTDI
Hallo Rolf,

also nochmal zu der Synchronisierung. Ich lasse die Lese schleifen im Prinzip so schnell wie möglich laufen, dh. es wird wohl ca alle 1ms ein Wert gelesen und diese Werte schreibe ich dann in ein "Data Queue PtByPt ". Das "Data Queue PtByPt " sammelt dann 150 Werte,diese werden dann als summe ausgegeben und durch 150 geteilt. Damit bekomme ich einen gleitenden Mittelwert über 150 Werte. Die Hauptschleife wiederum soll nun alle 200ms (also 5mal pro sek) einen Wert nehmen und den an die Anzeige übergeben.
Ich denke nun, da die Hauptschleife ja nur alle 200ms einen Wert liest und die anderen im Prinzip weg schmeißt, brauche ich keine Synchronisation. Oder was meinst du?

Wegen der zweiten Sache - dass ist für mich eher kein Problem - da dass Programm nicht alleine läuft sondern unter ständiger Aufsicht arbeitet und ich dann selbst bemerken würde wenn das Sensorgerät einen Fehler hätte.

Grüße aus Leipzig
Thomas Otto


Angehängte Datei(en) Thumbnail(s)
   
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
  Probleme mit VISA und FTDI-USB auf RS422 chip wernerIBN 8 7.395 18.06.2012 08:26
Letzter Beitrag: wernerIBN
  Problem mit FTDI USB Chip stevenhiker 14 17.369 10.03.2009 21:23
Letzter Beitrag: stevenhiker
  FTDI-Modul mit DLL dany22 2 5.937 16.07.2006 22:00
Letzter Beitrag: jg

Gehe zu: