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 

Protokollerstellung mittels Tabelle



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!

23.08.2012, 11:28
Beitrag #1

fsteini Offline
LVF-Neueinsteiger


Beiträge: 7
Registriert seit: Jan 2012

9.0
2011
DE



Protokollerstellung mittels Tabelle
Hallo bräuchte mal einen Lösungsansatz um meine VI zu verbessern. Ziel des VI ist es ein Durchführungsprotokoll für ein Gerät mit 4 Ventilen und zwei Schrittmotoren zeitgesteuert zu erstellen
Nun habe ich folgendes Problem erstelle wenn ich eine Applikation aus dem VI kann ich die Werte in den Arrays nicht speichern nun würde ich gern die Array mit einer Text oder Tabellen Datei speisen was für Bausteine nehme ich da am günstigsten.
Falls jemand eine nicht so unschönen Ansatz wie ich über diese Case Struktur hat würde ich mich über Input freuen  vor allem wenn es die möglichkeit gibt unendlich viele Schritte erstellen zu können.


Angehängte Datei(en)
11.0 .vi  220812Protokoll 1.4.vi (Größe: 599,39 KB / Downloads: 193)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
23.08.2012, 11:52 (Dieser Beitrag wurde zuletzt bearbeitet: 23.08.2012 11:53 von GerdW.)
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.470
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Protokollerstellung mittels Tabelle
Hallo fsteini,

dir ist hoffentlich bekannt, dass man Arrays nicht in ihre Einzelelemente aufdröseln muss, um alle Elemente mit dem gleichen Wert zu vergleichen?
   
- man muss auch nicht erst einen Wert nach FXP konvertieren, um dann mit einem DBL-Array zu vergleichen...
- man kann Cases auch zusammenfassen, wenn der Inhalt gleich ist: statt 10, 11, 12, ... alle einzeln aufzuführen schreibt man einfach "10..25"...
- du hast eine RaceCondition bei "Counter 2", ebenso bei deinen Ventilen "V1" bis "V4"!
- für die Rechenoperation "-1" gibt es eine fertige Funktion...
- in deiner "Start"-Schleife würde sich eine Wartefunktion gut machen...

Bitte all das mal umsetzen und dann schauen wir weiter...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.08.2012, 12:38
Beitrag #3

fsteini Offline
LVF-Neueinsteiger


Beiträge: 7
Registriert seit: Jan 2012

9.0
2011
DE



RE: Protokollerstellung mittels Tabelle
Ok danke werde das jetzt ersteinmal verbessern muss mich da nun erstmal durschwurschteln arbeite das ertemal mit Arrays hab och nicht viel mit LV gemacht Punkt zwei ging am schnellsten wenn ich zu deinen Punkten noch Fragen bekommen würd ich mich schon vorher melden
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.08.2012, 13:07
Beitrag #4

fsteini Offline
LVF-Neueinsteiger


Beiträge: 7
Registriert seit: Jan 2012

9.0
2011
DE



RE: Protokollerstellung mittels Tabelle
Zu Punkt eins passiert wie ich schon vermutethabe folgendes konvertiere ich den Wert nicht in FXP so kommt es beim vergleichen der werte an spotanen stellen dazu das die Stopuhr schon am wert vorbeigelaufen ist wenn dieser gerade verglichen werden soll man kann bestimmt beim vergleichen eine toleranz einstellen ich empfand diese variante als die einfachste
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.08.2012, 13:35
Beitrag #5

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Protokollerstellung mittels Tabelle
"Ist-gleich" Vergleich bei Float oder Double sind in der Regel keine gute Idee, da bei einer Gleitkommazahl z.B. 0,1 nicht exakt dargestellt werden kann.

Wie wäre es, in diesem Fall mit den Millisekunden im U32-Format die Vergleiche anzustellen?

Gruß, Jens

Offtopic2
P.S.: Sind bei deiner Tastatur Komma- und Punkttaste defekt? Deine Beiträge wären mit etwas Interpunktion deutlich besser lesbar (vgl. LVF-Regeln). Danke. Wink

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.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.08.2012, 16:41
Beitrag #6

fsteini Offline
LVF-Neueinsteiger


Beiträge: 7
Registriert seit: Jan 2012

9.0
2011
DE



RE: Protokollerstellung mittels Tabelle
Hallo GerdW
Noch mal vielen Dank für deine Hinweise, dass ich die Arrays nicht aufdröseln muss habe ich nicht gewusst. Somit hat sich mein Problem mit der Schrittanzahl auch gelöst danke.
Leider weiß ich nicht was mit RaceCondition gemeint ist  habe es auch nicht gefunden.
Nun bräuchte ich nur noch eine Möglichkeit die Arraywerte auch in einer Applikation zu speichern oder sie eben aus einer Tabelle zu importieren.
Ich lade das verbesserte Programm mal mit hoch habe fürs Programmieren die Visa Schnittstelle und die DAQ Assistenten mal rausgenommen


Angehängte Datei(en)
11.0 .vi  220812Protokoll 1.5.vi (Größe: 62,52 KB / Downloads: 164)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
24.08.2012, 08:15 (Dieser Beitrag wurde zuletzt bearbeitet: 24.08.2012 08:21 von GerdW.)
Beitrag #7

GerdW Offline
______________
LVF-Team

Beiträge: 17.470
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Protokollerstellung mittels Tabelle
Hallo fsteini,

Zitat:Leider weiß ich nicht was mit RaceCondition gemeint ist  habe es auch nicht gefunden.
Schon mal bei Wikipedia nachgelesen?
Schau mal hier:
   
Punkt 2 zeigt auf die RaceCondition: Wird Counter2 zuerst geschrieben oder gelesen? Wenn du einfach einen Draht verwenden würdest, könntest du auf das Control verzichten und hättest keine RaceCondition... (Hatte ich schon mal erwähnt, dass es fertige Funktionen "+1" und "-1" gibt?)
Punkt 1: Wozu soll die Sequenz gut sein? Beide sind unnötig! Die obere ist sinnfrei, da die "Bits" erst nach abarbeiten des Cases nach außen weiter gereicht werden - dein Timing ist da hinfällig... Die linke bringt auch keinen Gewinn...

Zitat:eine Möglichkeit die Arraywerte auch in einer Applikation zu speichern oder sie eben aus einer Tabelle zu importieren
Ich würde die nicht in einer Applikation, sondern einer Datei speichern. Spiel doch mal mit ReadFrom/WriteToSpreadsheetFile herum...

P.S.:
- LV2011 hat eine Aufräumfunktion. Die bringt bei deinem VI auch was...
- Wenn deine V-Arrays nur boolsche Werte speichern sollen, würde ich die entweder als boolsches Array anlegen oder als U8-Array. Dies bringt dir neben Speicherersparnis auch typgenaue Vergleichsfunktionen bzw. kannst du dann auf Vergleiche verzichten. Für den Vergleich würde ich übrigens ">0" verwenden...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Gehe zu: