31.01.2012, 08:23
Beitrag #2
|
Hook1986
LVF-Gelegenheitsschreiber
Beiträge: 149
Registriert seit: Jan 2012
2010
2011
DE_EN
Deutschland
|
RE: Profile anlegen (Geschwindigkeitsprofile)
Hallo,
sofern die Anzahl der "Verfahrprofile" immer gleich bleibt und du VI-Scripting nutzen möchtest gäbe es eine Möglichkeit deinen Wunsch auch ohne eine externe Datenbank zu realisieren.
Hierfür einfach für jede Geschwindigkeit einen Control erstellen. Diese dann alle Unsichtbar machen und über die Eigenschaftsknoten "Wert" und "Defaultwet" (Nur bei VI-Scripting) dann den aktuellen und den Defaultwert ändern. Das zusätzliche Problem daran ist auch, dass sich das VI mit den Controls im Editmode befinden muss, weshalb du dann über eine Referenz aufs VI auf die Elemente zugreifen musst.
Ansonsten sehe ich da keine Chance, die an einer externen Datei vorbeiführt.
MfG Carsten
|
|
|
31.01.2012, 08:30
Beitrag #3
|
M Nussbaumer
Zarathustra
Beiträge: 654
Registriert seit: Sep 2009
2009 SP1
2009
EN
6300
Schweiz
|
RE: Profile anlegen (Geschwindigkeitsprofile)
(30.01.2012 20:38 )NILVuser schrieb: Hallo,
...ich arbeite gerade an einer Robotersteuerung und möchte je nach "Können" unterschiedliche Geschwindigkeitsprofile anlegen. Für jedes Profil können je 6 unterschiedliche Werte eingestellt werden. Nun möchte ich die Profile zB. Amateur, Fortgeschritten, Profi anlegen.
Mir ist klar, dass man die Werte bspw. in ein Excel-File ablegen und beim Start des VIs wieder einlesen kann. Allerdings suche ich nach einer eleganteren Möglichkeit. Am liebsten würde ich das abspeichern der Werte für die einzelnen Profile ohne externes auslagern bewerkstelligen. Allerdings denke ich, dass ich um eine Art Datenbank nicht drum herum komme, zumal es möglich sein sollte die Anzahl der Profile dynamisch zu erweitern. Unter Dynamisch verstehe ich, dass man bei Testfahren zB. die 6 Werte für ein neues Profil ermittelt und mit einem Knopfdruck (nach Eingabe des Profilnamens) in die aktuelle Profilliste aufnimmt. Diese soll dann logischerweise beim nächsten Neustart des VIs wieder zur Verfügung stehen.
Ich hoffe auf eure Unterstützung.
Schöne Grüße
Guten Morgen
Sofern die Anzahl der Werte gleichbleibt würde ich dir zu einem Array of Cluster raten. Dadurch hast die die Möglichkeit beliebig viele Profile ohne Mehraufwand zu verwalten. Einfach das Array of Cluster an den Binär-Write Befehl hängen und gut ist
Solltest du dir nicht sicher sein, ob du die Anzahl der Werte erweitern willst kannst du anstatt der einzelnen Zahlenwerte das Ganze auch als Array ablegen. Vorteil ist hier die Erweiterbarkeit, Nachteil ist dass die Lesbarkeit etwas eingeschränkt wird.
Hier mal ein kleines Beispiel:
Profilverwaltung.vi (Größe: 11,44 KB / Downloads: 196)
Hoffe das hilft dir weiter!
Gruss Marc
|
|
|
31.01.2012, 13:23
(Dieser Beitrag wurde zuletzt bearbeitet: 31.01.2012 13:25 von NILVuser.)
Beitrag #4
|
|
|
31.01.2012, 17:21
Beitrag #5
|
M Nussbaumer
Zarathustra
Beiträge: 654
Registriert seit: Sep 2009
2009 SP1
2009
EN
6300
Schweiz
|
RE: Profile anlegen (Geschwindigkeitsprofile)
(31.01.2012 13:23 )NILVuser schrieb: Hallo Marc,
habe mich gerade mit deinem Profilverwaltung.vi beschäftigt. Ich verstehe nicht ganz was du mit "Typdef" meinst bzgl. deines Kommentars (2). Das Problem was ich habe ist, dass ich momentan das Schreiben und Lesen innerhalb einer While-Schleife plaziert habe. Hier bekomme ich aber ein Problem mit dem Initialisieren des Datentyps für das "Binärlesen" weshalb ich immer einen Fehler erhalte.
Unterm Strich habe ich es noch nicht geschafft, dass ich das neu beschriebene Binärfile beim nächsten Neustart des VIs einlesen kann, sprich es hat die Informationen nicht übernommen.
Fürs bessere Verständnis habe ich das VI im Anhang beigelegt (mit LabView 2011 für 2009 erstellt).
Vielen Dank im voraus.
Schöne Grüße
Mit Typedef meine ich, dass du den Cluster als Typedef speicherst (analog wie du es schon bei deinen Enums gemacht hast). Grund dafür ist wie bei den Enums, dass alle Elemente bei der Änderung eines angepasst werden (nicht die Daten nur die Struktur )
Im Prinzip machst du alles richtig, also mit den Daten schreiben und lesen. Welchen Fehler erhälst du denn?
Am besten machst du einen Screenshot.
Ich würde dir raten die Daten gleich auszulesen, wenn du updatest und ansonsten nur durchzuschlaufen. Die Daten ändern sich ja nach dem Update (zumindest in diesem Beispiel) nicht mehr und du machst nur unnötige Datenzugriffe. Zudem solltest du ein Wait von +/- 200ms hinzufügen, da sonst nur unnötig Prozessorleistung vertrödelt wird.
Hoffe das hilft dir weiter!
Gruss Marc
|
|
|
31.01.2012, 20:40
Beitrag #6
|
NILVuser
LVF-Grünschnabel
Beiträge: 17
Registriert seit: Aug 2011
2010
2011
EN
|
RE: Profile anlegen (Geschwindigkeitsprofile)
Danke,
werd ich baldmöglichst probieren. Für den Fall das ich es nicht zu laufen bekomme kann ich mich da nochmals melden?
Schöne Grüße
|
|
|
01.02.2012, 08:07
Beitrag #7
|
|
|
09.02.2012, 20:33
(Dieser Beitrag wurde zuletzt bearbeitet: 09.02.2012 20:34 von NILVuser.)
Beitrag #8
|
|
|
| |