09.12.2009, 09:01
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
LV 2009 findet in einem Mikroprogramm erst nach 10 Minuten das Ende
' schrieb:Also mit echten Units geht das doch nicht! LabVIEW behandelt Units in fast allen Belangen so als ob er Teil des Datentyps ist. Und zwei verschiedene Dattypen im Array geht echt nicht.
Und auch die Eigenschaftftswerte sind nicht per Arrayelement setzbar. Oder kann man in 2009 plötzlich die Sichtbarheid von Elementen innerhalb eines Arrays einzeln einstellen? Das fände ich eher komisch und unnütz aber bei solchen skurilen Featuren würden mich solche komischen Probleme dann auch gar nicht überraschen.
Genau, habe es probiert unter . Wenn ich bei einem Array-Element die Unit editiere, ändert sie sich bei allen! Deshalb ist in gottfrieds VI irgendetwas grundverkehrt, daher wird auch das Problem mit der CPU-Auslastung kommen.
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Einführende Links zu LabVIEW, s. GerdWs Signatur.
|
|
|
09.12.2009, 09:29
|
IchSelbst
LVF-Guru
Beiträge: 3.694
Registriert seit: Feb 2005
11, 14, 15, 17, 18
-
DE
97437
Deutschland
|
LV 2009 findet in einem Mikroprogramm erst nach 10 Minuten das Ende
' schrieb:Also mit echten Units geht das doch nicht! LabVIEW behandelt Units in fast allen Belangen so als ob er Teil des Datentyps ist. Und zwei verschiedene Dattypen im Array geht echt nicht.
Das mag schon sein - ist aber falsch so. Guckst du Beispiel von gottfried und die Auswirkungen.
Zitat:Oder kann man in 2009 plötzlich die Sichtbarheid von Elementen innerhalb eines Arrays einzeln einstellen?
Nicht einstellen, anzeigen!
Zitat:Das fände ich eher komisch und unnütz aber bei solchen skurilen Featuren würden mich solche komischen Probleme dann auch gar nicht überraschen.
Ich finde es keine skurile Funktion, wenn gottfried die SI-Schreibweise verwenden will. Leider ist das System dazu nicht in der Lage.
' schrieb:Wenn ich bei einem Array-Element die Unit editiere, ändert sie sich bei allen!
Das mag schon sein.
Zitat:Deshalb ist in gottfrieds VI irgendetwas grundverkehrt
Nein.
Er verwendet eine normale Funktion. Er konfiguriert die Anzeige eines Elementes als SI-Schreibweise. Demzufolge wird der Wert eines jedes Array-Elementes eben in genau dieser Schreibweise dargestellt. Dumm nur, dass der Wert bei SI-Schreibweise eigentlich aus zwei Teilen besteht: Der numerische Wert, der links im Feld steht - und der Wert der Eigenschaft Einheit (hier mm, µm etc), der rechts neben dem numerischen Wert steht. Ich bin der Meinung, der Wert der Einheit ist nicht für alle Array-Elemente gleich - warum auch? Da LV aber denkt, die Einheiten sind alle gleich, kommt es in eine Endlosschleife ...
Auch die Sache mit der optischen Bild hat LV nicht im Griff. Warum wird die Einheit über den Rand hinausgeschrieben? In Sachen Frontpanel können sie sich bei Delphi was abkucken.
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
|
|
|
09.12.2009, 09:41
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
LV 2009 findet in einem Mikroprogramm erst nach 10 Minuten das Ende
@IchSelbst:
Wir sind langsam beim Knackpunkt:
Das Array in gottfrieds VI ist kaputt und zeigt eben Sachen an, die eigentlich gar nicht sein können/dürfen. Wie das zustande gekommen ist, .
Leg einfach mal ein neues Array an und aktiviere dann die Unit-Anzeige. Wenn du dann eine Einheit eingibst, dann ist diese bei allen Array-Elementen identisch. Und die Größe des Array-Rahmens passt sich ebenfalls korrekt an, egal ob ich als SI-Einheit s, ms, oder µs (bzw. us für LabVIEW) eingebe (und egal, bei welchem Array-Element ich das mache).
Bloß, us und ms innerhalb eines Arrays, das darf und kann eigentlich nicht sein. Und deshalb wird LV sich bei diesem VI auch aufhängen, denn es versucht in einem Array etwas darzustellen, was eigentlich nicht sein darf.
Wenn man versucht, bei gottfrieds VI die Einheit im FP zu editieren, dann kommt da auch nur Quatsch raus.
Fazit aus meiner Sicht: Das Array in gottfrieds VI ist defekt. Die Einheiten müssen gleich sein, da die Unit eine Eigenschaft des Elements ist (vgl. rolfk). Deshalb hängt sich LV auf.
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Einführende Links zu LabVIEW, s. GerdWs Signatur.
|
|
|
09.12.2009, 10:00
|
IchSelbst
LVF-Guru
Beiträge: 3.694
Registriert seit: Feb 2005
11, 14, 15, 17, 18
-
DE
97437
Deutschland
|
LV 2009 findet in einem Mikroprogramm erst nach 10 Minuten das Ende
' schrieb:Leg einfach mal ein neues Array an und aktiviere dann die Unit-Anzeige. Wenn du dann eine Einheit eingibst, dann ist diese bei allen Array-Elementen identisch.
Das ist klar und dadagegen hab ich ja auch nichts.
Zitat:Bloß, us und ms innerhalb eines Arrays, das darf und kann eigentlich nicht sein.
Warum darf das nicht sein?
Wenn meine darzustellenden Werte genau das erfordern, dann muss das auch so anzeigbar sein. LV ist ein Hilfmittel, das meine Wünsche erfüllen soll. Wenn der Wunsch lautet: SI-gerechte Darstellung innerhalb eines Arrays, dann muss das so gehen. Hier besteht also Nachholbedarf bei LV.
Zitat:Und deshalb wird LV sich bei diesem VI auch aufhängen, denn es versucht in einem Array etwas darzustellen, was eigentlich nicht sein darf.
Nicht was nicht sein darf, sondern was LV nicht beherrscht - nämlich die SI-gerechte Darstellung eines Wertes.
Zitat:Wenn man versucht, bei gottfrieds VI die Einheit im FP zu editieren, dann kommt da auch nur Quatsch raus.
Hinweis:
Einmal kaputt, immer kaputt. Das kennen wird von LV doch nicht anders.
Zitat:Die Einheiten müssen gleich sein, da die Unit eine Eigenschaft des Elements ist (vgl. rolfk). Deshalb hängt sich LV auf.
Erstens: Es ist doch nicht gottfrieds Schuld, wenn LV sich aufhängt, nur weil gottfried SI-Darstellung haben will.
Zweitens: Und da sind wir unteschiedlicher Meinung: Der Wert der Einheit sollte nicht für alle Arrayelemente gleich sein müssen - was im Falle einer SI-Darstellung völlig sinnlos ist.
Drittens: Unit ist schon eine Eigenschaft - die hat aber einen Index-abhängigen Wert. Genauso wie der Wert des Indexes selbst - da geht es ja auch, dass alle Indices unterschiedlich sind.
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
|
|
|
09.12.2009, 10:32
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
LV 2009 findet in einem Mikroprogramm erst nach 10 Minuten das Ende
' schrieb:Drittens: Unit ist schon eine Eigenschaft - die hat aber einen Index-abhängigen Wert. Genauso wie der Wert des Indexes selbst - da geht es ja auch, dass alle Indices unterschiedlich sind.
Nein, eben NICHT. Sind wir uns einig: Du kannst in LV nicht jedem Arrayelement z.B. eine andere Hintergrundfarbe oder ein anderes Zahlenformat zuweisen. Es haben alle Array-Element z.B. die Hintergrundfarbe weiß oder grau, aber es geht nicht Array-Element 0 ist grau hinterlegt, Array-Element 1 ist weiß hinterlegt.
Denn dies sind Eigenschaften des Elements. Und die sind für alle Array-Elemente identisch.
Genau dasselbe gilt für die Unit. Sie ist eine Eigenschaft des Elements. Somit müssen alle Einheiten identisch sein, also entweder s, ms, us, min, h, etc. Zumindest ist dies aktuell so. OK, gottfried hat es irgendwie hinbekommen, dass es bei seinem VI nicht so ist. Aber daher rührt jetzt IMHO die fehlerhafte Funktion des VIs.
Vielleicht auch noch folgendes: Die im FP angezeigte Einheit wird nicht per Datenfluss transportiert. Da wird nur die Basis-SI-Einheit übertragen, also z.B Sekunde. Du kannst jederzeit ein FP-Control mit der Einheit s erstellen, dann ein Anzeige-Element mit der Einheit h, und diese miteinander verbinden. Die Einheit des Anzeige-Elements bleibt bei Ausführen des Codes bei h.
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Einführende Links zu LabVIEW, s. GerdWs Signatur.
|
|
|
09.12.2009, 11:01
|
IchSelbst
LVF-Guru
Beiträge: 3.694
Registriert seit: Feb 2005
11, 14, 15, 17, 18
-
DE
97437
Deutschland
|
LV 2009 findet in einem Mikroprogramm erst nach 10 Minuten das Ende
' schrieb:Du kannst in LV nicht jedem Arrayelement z.B. eine andere Hintergrundfarbe oder ein anderes Zahlenformat zuweisen.
Hintergrundfarbe sehe ich gerade noch ein - SI-Darstellung nicht.
Zitat:Somit müssen alle Einheiten identisch sein, also entweder s, ms, us, min, h, etc. Zumindest ist dies aktuell so.
Da geb ich dir ja recht, für das fettgedruckte. Für ersteres möchte ich es aber anders haben.
Zitat:OK, gottfried hat es irgendwie hinbekommen, dass es bei seinem VI nicht so ist. Aber daher rührt jetzt IMHO die fehlerhafte Funktion des VIs.
Was heißt hinbekommen? Er hat einfach die Werte seines Arrays so berechnet, dass für ein bestimmtes Arrayelement eine andere SI-angepasste Darstellung erscheinen müsste - nämlich µs anstelle von ms.
Und da das Anzeigeelement ZAHL das auch so sieht, will es die Einheit ändern. Da aber dummerweise das Anzeigeelement ARRAY der falschen Meinung ist diese Einheit jetzt überall hin zu schreiben - kommt es zu einer Endlosschleife.
Zitat:Vielleicht auch noch folgendes: Die im FP angezeigte Einheit wird nicht per Datenfluss transportiert. Da wird nur die Basis-SI-Einheit übertragen, also z.B Sekunde. Du kannst jederzeit ein FP-Control mit der Einheit s erstellen, dann ein Anzeige-Element mit der Einheit h, und diese miteinander verbinden. Die Einheit des Anzeige-Elements bleibt bei Ausführen des Codes bei h.
Das mag ja alles so sein. Nur:
Was du mir hier alles erzählst, ist der Ist-Zustand von LV. Für den Ist-Zustand geb ich dir ja Recht. Nur ist das Feature, alles andere als den Wert eines Indices für alle Elemente gleich machen zu müssen in dem Fall von SI-Einheit nicht ziehlführend. Auch in einem Array will ich eine SI-gerechte Darstellung haben und zwar unabhängig vom Index und vom nominalen Wert der Einheit des Wertes. Hier sehe ich Optimierungsmöglichkeiten für LV.
Was soll gottfried jetzt machen? Seine Werte manipulieren, damit alle den selben Einheitwert haben? Wohl kaum. Die SI-Darstellung abschalten? Wird ihm fast nichts anderes übrigbleiben. Geht ihm halt ein Pluspunkt verloren.
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
|
|
|
09.12.2009, 11:15
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
LV 2009 findet in einem Mikroprogramm erst nach 10 Minuten das Ende
' schrieb:Was du mir hier alles erzählst, ist der Ist-Zustand von LV. Für den Ist-Zustand geb ich dir ja Recht. Nur ist das Feature, alles andere als den Wert eines Indices für alle Elemente gleich machen zu müssen in dem Fall von SI-Einheit nicht ziehlführend. Auch in einem Array will ich eine SI-gerechte Darstellung haben und zwar unabhängig vom Index und vom nominalen Wert der Einheit des Wertes. Hier sehe ich Optimierungsmöglichkeiten für LV.
Im Prinzip ja. Ob sich das ändern lässt, , ich sag nur LabVIEW Idea Exchange, wenn du das haben willst.
IMHO: Der Gag bei der Unit-Anzeige ist, dass ich als Bediener der Software auch bei einem Anzeige-Element zur Laufzeit die Einheit editieren kann, also z.B. von h auf ms umstellen kann. Wenn die Einheit (inkl. der Vorsätze der Einheit ) jetzt beim Schreiben in ein Terminal gesetzt wird, wird dieses Feature ad absurdum geführt.
' schrieb:Was soll gottfried jetzt machen? Seine Werte manipulieren, damit alle den selben Einheitwert haben? Wohl kaum. Die SI-Darstellung abschalten?
Cluster anstatt Array verwenden, solange er weiß, dass er nur vier Werte anzeigen will. Denn die Basis-SI-Einheit (also Sekunde), die muss schon beim Programmieren feststehen, die lässt sich nicht zur Laufzeit ändern.
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Einführende Links zu LabVIEW, s. GerdWs Signatur.
|
|
|
09.12.2009, 11:41
|
IchSelbst
LVF-Guru
Beiträge: 3.694
Registriert seit: Feb 2005
11, 14, 15, 17, 18
-
DE
97437
Deutschland
|
LV 2009 findet in einem Mikroprogramm erst nach 10 Minuten das Ende
' schrieb:Ob sich das ändern lässt,,
Da sehe ich gar kein Problem.
Zitat:ich sag nur LabVIEW Idea Exchange, wenn du das haben willst.
Ich?
Soll gottfried machen, der macht doch so einen Scheiß.
Ich hab einmal mit Einheiten machen wollen. Hab das aber wieder gestrichen - wegen viel zu viel außen rum nötig.
Zitat:Der Gag bei der Unit-Anzeige ist, dass ich als Bediener der Software auch bei einem Anzeige-Element zur Laufzeit die Einheit editieren kann, also z.B. von h auf ms umstellen kann. Wenn die Einheit (inkl. der Vorsätze der Einheit ) jetzt beim Schreiben in ein Terminal gesetzt wird, wird dieses Feature ad absurdum geführt.
[*grübel*]
Da beißen sich aber zwei Features gegenseitig kaputt. Diese Betrachtungsweise hab ich bisher nicht gemacht. Beide Features zusammen geht aber nicht so einfach => Erweiterung der Konfiguration => schwierig und kompliziert => keine Änderung (Pech für gottfried). Fazit: SI-Darstellung in Array nicht möglich (dann muss aber LV eine Fehlermeldung beim Comilieren bringen).
Hinweis:
Dass es prinzipiell geht, sieht am am Konstrukt Array of Graph. Da geht es ungefähr. Klickt man einen Index an, scalliert der sich automatisch. Alle anderen Indices bleiben unscaliert. Erst wenn man mit der Maus über einen anderen Index fährt, scalliert sich der, und nur der, so wie der zuvor angeklickte.
Zitat:Cluster anstatt Array verwenden, solange er weiß, dass er nur vier Werte anzeigen will.
Ach, das wäre ein Lösung: Array nach Cluster.
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
|
|
|
| |