![]() |
synchroner Zugriff auf double variable - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +---- Forum: Signaldarstellung (/Forum-Signaldarstellung) +---- Thema: synchroner Zugriff auf double variable (/Thread-synchroner-Zugriff-auf-double-variable) |
RE: synchroner Zugriff auf double variable - GerdW - 25.11.2013 10:37 Hallo Bitshifter, schau dir doch mal mit Highlighting an, was die innere Schleife macht. Achte auf die Werte, die da gelesen und geschrieben werden. Wo wird welcher Wert gelesen? Warum wird eben dieser Wert gelesen? Warum wird immer derselbe Wert gelesen? Dann nochmal: THINK DATAFLOW... RE: synchroner Zugriff auf double variable - Bitshifter - 25.11.2013 11:05 Hier mal der letze Stand der Dinge, mit minimierten globalen Var. So soll es aber nicht laufen. Ich will halt sehen wie dei Säule (double "Tank" ) steigt, wärend der Haupttank leer läuft. RE: synchroner Zugriff auf double variable - GerdW - 25.11.2013 11:13 Hallo Bitshifter, da sind ja immer noch keine Schieberegister im VI... Zitat:mit minimierten globalen Var.- Das sind keine globalen, sondern lokale Variablen. - Es geht auch ohne... RE: synchroner Zugriff auf double variable - Bitshifter - 25.11.2013 11:31 Enschuldige, mein Fehler! Ich meinte natürlich lokale Var. Wo soll ich das Schieberegister einfügen? Im zweiten Case? RE: synchroner Zugriff auf double variable - GerdW - 25.11.2013 11:38 Hallo Bitshifter, ich habe da ein VI angehangen. Schau doch einfach mal rein... LabVIEW basics: Schieberegister gehören zwingend zu Schleifen und nicht zu Case-Strukturen. Die Links in meiner Signatur sind dir schon einmal aufgefallen? ![]() RE: synchroner Zugriff auf double variable - Bitshifter - 25.11.2013 11:50 Hab gerade erst gesehen das du das VI angehängt hast u nach deinem Kommentar auch die links in deiner Sig entdeckt. Ok, es geht ohne lok Var. aber was mich aber bei meinem Problem nicht weiter bringt da die Darstellung immer noch springt. ![]() Find ich trotzdem eine interessante Variante. RE: synchroner Zugriff auf double variable - GerdW - 25.11.2013 11:52 Hallo Bitshifter, wo "springt" da was? Bei mir bleiben die Tank-Anzeigen immer an der gleichen Stelle im FP! ![]() Wenn die Tankanzeige feiner aufgelöst "laufen" soll, musst du eine kleinere Schrittweite (statt 25 & 800 in meinem Beispiel-VI) programmieren. Außerdem kann eine feinere zeitliche Auflösung als 100ms helfen... RE: synchroner Zugriff auf double variable - Bitshifter - 25.11.2013 12:14 Ich meinte auch nicht das der Tank springt sondern vielmehr das der Füllstand springt, aber das hast du sicherlich erkannt! ![]() Bei diesem Problem wird auch ein Ändern der Zeiten keine Abhilfe schaffen, da der die die Differenz wieder in den double "Tank" wieder in den double geschoben wird. Ich wollte das der Füllstand dynamisch u nicht sprunghaft steigt. Das schein mit langsam unlösbar! ![]() RE: synchroner Zugriff auf double variable - GerdW - 25.11.2013 15:27 Hallo Bitshifter, Zitat:Ich wollte das der Füllstand dynamisch u nicht sprunghaft steigt.Einfache Antwort: dann darfst du auch nicht einfach einen großen Wert hinzuaddieren, sondern musst viele kleine Werte nacheinander addieren... (Einmal 800 addieren ist im Endeffekt das gleiche wie 50mal 16 addieren, nur das einmal ein harter Sprung angezeigt wird und im anderen Fall nicht!) Wenn du eine "flüssige" Animation erstellen willst, dann musst du diese auch programmieren! Oder wie ich oben schon mal sagte: Zitat:musst du eine kleinere Schrittweite (statt 25 & 800 in meinem Beispiel-VI) programmieren. Außerdem kann eine feinere zeitliche Auflösung als 100ms helfen... Und wenn du schon dabei bist: Hier haben wir schon den Grundstein für eine Statemachine gelegt. Du hast (mndestens) folgende States: Zufluss/Abfluss zu/zu, zu/auf, auf/zu, auf/auf... RE: synchroner Zugriff auf double variable - Bitshifter - 26.11.2013 06:07 Das nächste, dabei auftretende, Problem ist das sich der Tank eins dann bei dem Wert vor dem Case hält und sich nicht mehr richtig füllt. Wie soll ich die 16*50 denn umsetzen? |