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 

LVOOP-Beispiel - Stimmt das so?



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!

21.04.2010, 20:43 (Dieser Beitrag wurde zuletzt bearbeitet: 21.04.2010 20:47 von Matze.)
Beitrag #1

Matze Offline
LVF-Team
LVF-Team

Beiträge: 1.027
Registriert seit: Apr 2010

20xx
2010
DE_EN

7xxxx
Deutschland
LVOOP-Beispiel - Stimmt das so?
Hi zusammen,

ich komme aus dem Bereich C# und finde LVOOP im Vergleich zu C# sehr umständlich (vielleicht liegt's an der Gewohnheit). Daher bin ich mir nicht so ganz sicher, ob ich das korrekt umgesetzt habe.
Das folgende Bild zeigt etwas Simples: Die Addition 2er Double-Werte.

   

Ist das korrekt umgesetzt oder seht ihr Fehler beim Aufbau? geht es mit LVOOP auch einfacher?

Ich habe hier im Forum gelesen, dass keine Verzweigungen vorhanden sein sollten, da LVOOP hier mit Call-By-Value arbeitet und somit immer Kopien anlegen würde. Das habe ich daher hintereinander angeordnet.

Das Beispiel selbst funktioniert, aber im Vergleich zu C# finde ich es wahnsinnig umständlich.

Bitte keine Diskussionen für und wider LVOOP. Ich weiß, dass eure Meinungen da sehr stark auseinander gehen und die Tendenz eher gegen LVOOP zeigt.
Ich wollt's mir nur einmal ansehen, da evtl. ein großes Projekt auf mich wartet.

Und die Tutorials kenne ich auch, sind aber meist für Fortgeschrittene und daher nicht unbedingt für LabVIEW-Einsteiger geeignet.

Was ich auch nicht ganz verstehe: In meinem Beispiel sind die "Blöcke" rot. Als ich heute Mittag damit herum gespielt habe, waren diese in einem anderen Projekt grün. Ist das willkürlich gewählt oder steckt da ein System dahinter, was die Farbgebung anbelangt?

Grüße, Matze

Grüße
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
21.04.2010, 20:56 (Dieser Beitrag wurde zuletzt bearbeitet: 21.04.2010 20:56 von eg.)
Beitrag #2

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
LVOOP-Beispiel - Stimmt das so?
Dein Beispiel sieht für mich ok aus. Was ist dran schwierig zu verstehen? Was genau findest du umständlicher als bei C#?
Die Farbe wird bei der Klassenerstellung willkürlich von LV festgelegt, die du abe ändern kannst. Rechtsklick auf die Klasse im Projekt Explorer -> Properties -> Icon

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.04.2010, 21:03 (Dieser Beitrag wurde zuletzt bearbeitet: 21.04.2010 21:04 von Matze.)
Beitrag #3

Matze Offline
LVF-Team
LVF-Team

Beiträge: 1.027
Registriert seit: Apr 2010

20xx
2010
DE_EN

7xxxx
Deutschland
LVOOP-Beispiel - Stimmt das so?
In C# tippe ich meine Variablen kurz ein und kann direkt bei der Deklaration festlegen, ob lesend und/oder schreiben auf diese zugegriffen werden kann.
In LabVIEW benötige ich für jede Variable ein separates VI für den Lese- und Schreibzugriff. Das ist zwar über "VI for Data Member Access" relativ flott angelegt, aber kurzzeitig hatte ich sehr viele VIs offen und die musste ich erst schließen, um das Fenster-Chaos zu beseitigen (ich habe mir immer das zugehörige Blockdiagramm mit angesehen).

Die ganze Bundle- und Unbundle-Geschichte finde ich persönlich auch etwas umständlich.
Aber vielleicht liegt's tatsächlich nur an der fehlenden Erfahrung. Ich versuche morgen noch ein paar andere Beispiele. Vielleicht gefällt's mir dann. ;-)

Danke für deine Antwort.

Grüße
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.04.2010, 21:13 (Dieser Beitrag wurde zuletzt bearbeitet: 21.04.2010 21:20 von eg.)
Beitrag #4

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
LVOOP-Beispiel - Stimmt das so?
In C# schreibst du die Klassenvariable entweder vor dem "=" oder danach, abhängig davon, ob du sie lesen oder schreiben willst. In LV hast du halt zwei VIs dazu.
Du kannst auch einen Cluster in die Klasse packen, dann kannst du gleich auf mehrere Members zugreifen. Oder, du kannst Memeber-Zugriffs-VIs ja auch bearbeiten und gleich mehrere Members lesen/schreiben.
Ausserdem kannst du auch ohne Zugriffs-VIs arbeiten und direkt über Bundle/Unbundle zugreifen (was aber nicht empfohlen wird).

P.S. By Value ist gar nicht schlimm solange du nicht auf die Klasse von parallelen Schleifen zugreifen willst, aber wenn, dann kannst du bestimmte Members z.B. über ne Queue übertragen. Somit ist auch das Lock automatisch gelöst (was man By Ref über Semaphoren machen muss).

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.04.2010, 21:17 (Dieser Beitrag wurde zuletzt bearbeitet: 21.04.2010 21:19 von Matze.)
Beitrag #5

Matze Offline
LVF-Team
LVF-Team

Beiträge: 1.027
Registriert seit: Apr 2010

20xx
2010
DE_EN

7xxxx
Deutschland
LVOOP-Beispiel - Stimmt das so?
In C# mache ich das so:

Code:
public string variable { get; set; }

Aber gut, das spielt keine Rolle.
Direkt zugreifen möchte ich nicht auf die Variablen. Dann lasse ich's so, wie ich's habe.
Vielleicht ist die Addition auch einfach ein schlechtes Beispiel. Dafür ist "OOP" ja nicht wirklich vorteilhaft. Ich baue mir morgen ein Projekt aus mehreren Instanzen und schaue mal, wie es wird.

Grüße
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.04.2010, 21:48
Beitrag #6

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
LVOOP-Beispiel - Stimmt das so?
' schrieb:Vielleicht ist die Addition auch einfach ein schlechtes Beispiel. Dafür ist "OOP" ja nicht wirklich vorteilhaft.

Stimmt, ich mache es normalerweise so


Angehängte Datei(en) Thumbnail(s)
   

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
22.04.2010, 06:56
Beitrag #7

Matze Offline
LVF-Team
LVF-Team

Beiträge: 1.027
Registriert seit: Apr 2010

20xx
2010
DE_EN

7xxxx
Deutschland
LVOOP-Beispiel - Stimmt das so?
Hehe genau. Nur wollte ich mich an LVOOP heran wagen.
Dein Uhr-Tutorial kenne ich übrigens. Das ist auch nett, nur sind die ganzen Einführungen so, dass man sie ohne LVOOP fast einfacher hinbekommt. Zum Aneignen des Grundverständnisses aber ausreichend und darum geht es ja.

Also danke für deine Antworten. Das Thema ist dann erledigt.

Grüße
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.06.2010, 13:45
Beitrag #8

Frederik Berck Offline
LVF-Grünschnabel
*


Beiträge: 19
Registriert seit: Oct 2008

KEINE
2008
de

63225
Deutschland
LVOOP-Beispiel - Stimmt das so?
' schrieb:In C# mache ich das so:
Code:
public string variable { get; set; }

Auch wenn es schon ne Weile her ist, dass du das hier geschrieben hast...
Bedenke, dass Attribute einer LVOOP-Klasse IMMER privat sind...
Wenn du LVOOP also unbedingt mit C# vergleichen willst, dann solltest du auch gedanklich in C# mit privaten, gekapselten Attributen arbeiten...
Gruß
Freddy
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.06.2010, 13:57
Beitrag #9

Matze Offline
LVF-Team
LVF-Team

Beiträge: 1.027
Registriert seit: Apr 2010

20xx
2010
DE_EN

7xxxx
Deutschland
LVOOP-Beispiel - Stimmt das so?
Stimmt, da hast du natürlich recht.

Grüße
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.06.2010, 10:04
Beitrag #10

abrissbirne Offline
LVF-Stammgast
***


Beiträge: 480
Registriert seit: Aug 2007

LV2009, LV2010
2007
EN

66123
Deutschland
LVOOP-Beispiel - Stimmt das so?
' schrieb:Auch wenn es schon ne Weile her ist, dass du das hier geschrieben hast...
Bedenke, dass Attribute einer LVOOP-Klasse IMMER privat sind...
Wenn du LVOOP also unbedingt mit C# vergleichen willst, dann solltest du auch gedanklich in C# mit privaten, gekapselten Attributen arbeiten...
Gruß
Freddy

SorryOfftopic2, aber da ich dich gerade hier sehe Freddy. Ich versuche gerade das autom. Incrementieren beim Erstellen von Klassen VIs auszuschalten (Zahl im Icon), kann die Einstellung aber nicht mehr finden. Wir hatten es diese Woche zu Beginn des Workshops direkt mal ausgestellt.
Danke.
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
  CS++ - A LVOOP Actor based Framework BNT 18 30.494 14.03.2015 14:26
Letzter Beitrag: BNT
  LVOOP und DAQmx - Resource ist reserviert Sundypha 2 10.480 13.08.2012 12:42
Letzter Beitrag: Sundypha
  Neuling, was bringen mir Klassen, LVOOP dali4u 6 18.498 24.02.2012 13:40
Letzter Beitrag: Kiesch
  LVOOP - wann wird Kopie erstellt? Kiesch 7 14.990 21.10.2011 14:23
Letzter Beitrag: Kiesch
Information LVOOP-Anfänger, Kommentar zu Programm Martin Heller 11 25.422 09.03.2011 14:32
Letzter Beitrag: Martin Heller
  LVOOP im Kommen! abrissbirne 49 78.677 02.11.2010 16:50
Letzter Beitrag: BNT

Gehe zu: