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 

Kopie meines VI enthält nicht alle subVIs



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!

08.02.2010, 10:09
Beitrag #31

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
Kopie meines VI enthält nicht alle subVIs
Du kannst Dateien auch zippen.

Gruß Markus

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
08.02.2010, 10:51
Beitrag #32

Jayden Offline
LVF-Grünschnabel
*


Beiträge: 19
Registriert seit: Feb 2010

8.6
2010
de

88563
Deutschland
Kopie meines VI enthält nicht alle subVIs
ah, ok, hab gar nicht gewusst, dass man da dann den ganzen Ordner hochladen kann.

Also die Datei heißt "ps10demo_1axis.vi"

Diese versuche ich vergeblich zweifach laufen zu lassen


Angehängte Datei(en)
Sonstige .zip  lv82.zip (Größe: 2,23 MB / Downloads: 228)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.02.2010, 20:47
Beitrag #33

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.695
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Kopie meines VI enthält nicht alle subVIs
Also: Ich hab mirs mal angekuckt.

Zuerst muss ich sagen: Die Programmierung bietet viel Optimierungsmöglichkeiten. Da wimmelt es von Race-Conditions, die alle entfernt werden müssten! Genauso wie die vielen unnötigen Lokalen Variablen! Einiges sollte unbedingt sequenziert werden, anderes unbedingt mit Event-Struktur gelöst werden.

Nun zur Problemlösung:
Das VI "ps10demo_1axis.vi" soll - und kann - also eine einzelne Achse steuern. Du willst nun zwei solche Achsen steuern. Ob das alleine dadurch geht, dass du dieses VI zweimal aufrufst (invariant oder nicht) kann ich z.Z. nicht entscheiden. Ein Problem kann darin liegen, dass beide VIs das selbe Device - Serielle Schnittstelle - verwenden könnten. (Verwenden zwei Instanzen das selbe Device, so müssen die Instanzen synchronisiert werden - was den Vorteil der Instanzen zu nichte macht.)

Wie werden denn die Achsen angesteuert: jede Achse eine eigene Serielle Schnittstelle? Oder hängen beide Achsen an der selben COM-Schnittstelle?

Und mach dich mal schlau über die Event-Sequenz: Die Cases, die von Start, Go, GoRef und SwitchFree angesteuert werden, gehören in eine Event-Struktur.
Alle Cases, die von INC abhängen, sollten alle in nur einem einzigen Case liegen.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.02.2010, 21:06
Beitrag #34

Jayden Offline
LVF-Grünschnabel
*


Beiträge: 19
Registriert seit: Feb 2010

8.6
2010
de

88563
Deutschland
Kopie meines VI enthält nicht alle subVIs
ok, interessant zu hören...

jede Achse, also jeder Motor, hat eine eigene com-Schnittstelle, muss man eben immer umstellen wenn man den anderen Motor verwendet.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.02.2010, 21:33
Beitrag #35

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.695
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Kopie meines VI enthält nicht alle subVIs
' schrieb:ok, interessant zu hören...
Was hat das jetzt für Konsequenzen?

Zitat:jede Achse, also jeder Motor, hat eine eigene com-Schnittstelle, muss man eben immer umstellen wenn man den anderen Motor verwendet.
Das wirft aber doch ein Problem auf.

Ich gehe davon aus, dass die DLL PS10.dll prinzipiell schon in der Lage ist, mehrere Motoren zu steuern. Auch dann noch, wenn die Motoren an unterschiedlichen Schnittstellen hängen. (Hingen sie an der selben Schnittstelle, wäre die Schnittstelle vom Typ RS485/RS422).

Woher aber weiß das Modul (also die DLL) welchen Motor es jetzt gerade ansprechen soll? Hängen die Motoren an der selben Schnittstelle, könnte das über den Parameter "Axis Number" gehen, den jeder DLL-Knoten als Eingang hat. Hängen die Motoren aber an unterschiedlichen Schnittstellen, würde das so nicht mehr gehen. Da Schnittstellen initialisiert werden müssen, muss die DLL bereits im SubVI PortInit mitgeteilt bekommen, welcher Motor an welcher Schnittstelle hängt. Da gibt es aber nur den Eingang "Control Unit ID". Ich gehe jetzt davon aus, dass du überall zusätzlich zu Axis Number den Eingang "Control Unit ID" verwenden musst.

Axis Numer hat grundsätzlich den Wert 1. Die eine Schnittstelle, also der eine Motor, bekommt "Control Unit ID=1". Die andere Schnittstelle, also der zweite Motor, bekommt "Control Unit ID=2). Jetzt solltest du das VI ps10demo_1axis.vi zweimal starten können (entweder reentrant oder umbenannt).

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.02.2010, 09:32
Beitrag #36

Jayden Offline
LVF-Grünschnabel
*


Beiträge: 19
Registriert seit: Feb 2010

8.6
2010
de

88563
Deutschland
Kopie meines VI enthält nicht alle subVIs
"ok..interessant zu hören..."

also ich habe das Programm nicht geschrieben. deshalb interessant dass der Entwickler da so viel Fehler reinmacht :-)

Also heißt das, dass ich die Contraol Unit ID fest auf 1 setzten muss, dann das Programm speichern, dann die ID fest auf 2 setzen und das Programm unter einem anderen Namen speichern?

Wenn ich die Motoren immer einzeln ansteuere haben sie immer Control UNit ID 1.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.02.2010, 10:30
Beitrag #37

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.695
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Kopie meines VI enthält nicht alle subVIs
' schrieb:Also heißt das, dass ich die Contraol Unit ID fest auf 1 setzten muss, dann das Programm speichern, dann die ID fest auf 2 setzen und das Programm unter einem anderen Namen speichern?
Besser so:
Ein Programm machen, das als Eingang den Wert von Control Unit ID hat. Diesen wert dann auf alle (!) entspechenden DLL-Knoten etc geben. Dieses VI dann unter zwei Namen abspeichern und ein Haupt-VI machen, das beide SubVIs aufruft.
Wenn du dann eine Änderung machen musst, brauchst du das Programm nur noch unter den anderen Namen speichern - und schon gehen wieder beide Motoren.

Zitat:Wenn ich die Motoren immer einzeln ansteuere haben sie immer Control Unit ID 1.
"Control Unit ID" könnte sowas wie ein Handle sein. Der tatsächliche numerische Wert ist egal. Wichtig ist nur, dass immer genau dieser Wert an den DLL-Knoten übergeben wird.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
11.02.2010, 19:46
Beitrag #38

Jayden Offline
LVF-Grünschnabel
*


Beiträge: 19
Registriert seit: Feb 2010

8.6
2010
de

88563
Deutschland
Kopie meines VI enthält nicht alle subVIs
ok... hat geklapt!

VIELEN DANK AN EUCH ALLE !
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.02.2010, 08:07
Beitrag #39

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
Kopie meines VI enthält nicht alle subVIs
Naja, ich habe schon Hardware gekauft (ich will den Namen nicht nennen), da wurde der LabVIEW-Treiber (DLL-Aufrufe,...) von einem Praktikanten erstellt. Da war auch nicht alles so konform, wie es sein sollte. Manche Dinge habe ich da auch nachträglich geändert / ändern müssen.
Du siehst, dass das leider kein Einzelfall ist.

Gruß Markus

' schrieb:deshalb interessant dass der Entwickler da so viel Fehler reinmacht :-)

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
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
  Durch Schließen des SubVIs reagiert das Haupt VI nicht mehr?! C.Maier 2 3.950 07.10.2016 07:52
Letzter Beitrag: Lucki
  Bedienbarkeit meines Programms Homer-Jay 6 5.426 08.12.2011 22:48
Letzter Beitrag: unicorn
  Verbesserung meines Programms Andy4u 2 3.288 19.05.2011 16:21
Letzter Beitrag: Andy4u
  VI-Name 1 (Kopie).vi geist07 3 4.219 26.07.2010 13:41
Letzter Beitrag: Ricardo1980
  Sicherheitseinstellung Passwort für alle SubVis GT123 5 5.882 12.01.2010 14:26
Letzter Beitrag: GT123
  Kopie erstellen selma 3 4.169 12.11.2009 11:03
Letzter Beitrag: IchSelbst

Gehe zu: