LabVIEWForum.de - Programmiermöglichkeiten und allg. zu LabVIEW

LabVIEWForum.de

Normale Version: Programmiermöglichkeiten und allg. zu LabVIEW
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

bin kompletter Neueinsteiger und daher stellen sich einige Fragen, die den meisten anfänglich wohl im Kopf rumgeirrt sind:


a) Programmiermöglichkeiten:
-----------------------------------
Existieren wirklich nur diese 2 views ? d.h. Blockdiagramm und Frontpanel ? Intern müssen diese tollen Schleifen etc doch auch wie in jeder "normalen" Programmiersprache verarbeit werden.
Worauf ich rauswill: existiert eine Möglichkeit in LabVIEW auch in Text-form zu coden ?
Ich stelle zumidest aktuell fest, dass ich sehr lange brauche um kleine einfache Strukturen aufzubauen.


b) Hardware-Hunger:
------------------------
Ist es normal das schon eine kleine Testapplikation im laufenden Zustand bis zu 99% meiner CPU frisst ?
AMD Semp 2800++. Selbst mein Intel Dual Core ist ordentlich am röteln. Eigenartig.


c) Tutorials o.ä.:
---------------------
Ich habe einiges auf der NI Seite gefunden, dann einige Links von ausländischen Universitäten und das war es dann eigentlich, leider. Gerade im Vergleich zu anderen Sprachen habe ich bisher wenig umfangreiches und doch gut verständliches Material gefunden.


Schöne Grüsse
fidel
Hallo fidel!

Ich versuch mal einige Fragen Deinerseits zu beantworten, auch wenn ich nicht unbedingt der Experte in LabVIEW bin.

' schrieb:a) Programmiermöglichkeiten:
-----------------------------------
Existieren wirklich nur diese 2 views ? d.h. Blockdiagramm und Frontpanel ? Intern müssen diese tollen Schleifen etc doch auch wie in jeder "normalen" Programmiersprache verarbeit werden.
Worauf ich rauswill: existiert eine Möglichkeit in LabVIEW auch in Text-form zu coden ?
Ich stelle zumidest aktuell fest, dass ich sehr lange brauche um kleine einfache Strukturen aufzubauen.

Also ob man nun explizit in LabVIEW auch in Text-form coden kannst, dass weiß ich auch nicht. Jedoch kann man z.B. ohne Probleme C-Bibilotheken einbinden.

Was meinst Du mit Zeitaufwand bei einfachen Strukturen?

Zitat:b) Hardware-Hunger:
------------------------
Ist es normal das schon eine kleine Testapplikation im laufenden Zustand bis zu 99% meiner CPU frisst ?
AMD Semp 2800++. Selbst mein Intel Dual Core ist ordentlich am röteln. Eigenartig.
Das passiert, wenn z.B. while-oder for-Schleifen ungebremst laufen. Meistens genügt es dann eine kleine Wartezeit von beispielsweise 100ms in diesen einzufügen und CPU-Belastung geht auf einige wenige Prozent zurück.

Zitat:c) Tutorials o.ä.:
---------------------
Ich habe einiges auf der NI Seite gefunden, dann einige Links von ausländischen Universitäten und das war es dann eigentlich, leider. Gerade im Vergleich zu anderen Sprachen habe ich bisher wenig umfangreiches und doch gut verständliches Material gefunden.
Schöne Grüsse
fidel
Also ich kann Dir für den Einstieg in LabVIEW das Buch "Einführung in LabVIEW" von Wolfgang Georgi und Ergun Metin empfehlen. Ich habe es mir vor kurzen auch gekauft und bin sehr begeistert, obwohl ich vieles von den beschriebenen Sachen bereits wußte.
Ansonsten hilft das LabVIEW-Handbuch auch schon einiges. Was darin fehlt sind für mich Beispiele bzw. Übungen.

So das wäre es von meiner Seite aus.

Schöne Grüße
Falk
eine schnelle Antwort zu Frage b:

EDIT: Sorry. habe gerade geschrieben. Endanwender war schneller /EDIT

CPU Auslastungen von nahezu 100 % kommen meistens daher, dass Schleifen abgearbeitet werden, in denen keine Verzögerung eingebaut ist.
Wenn du eine While-Schleife erzeugst, in der du beispielsweise eine Zufallszahl mit dem Zählindex multipliezierst, und dort keine Verzögerung einbaust, dann heißt das soviel wie:
Führe diese Multiplikation so schnell wie möglich ständig aus.
"So schnell wie möglich" bedeutet nunmal, dass die gesamte Rechenleisung beansprucht wird.
Wenn du mit der Funktion "Wait" eine Verzögerung einbaust (es reichen schon 20 oder 30 ms) wirst du sehen, dass die CPU auslastung auf ein kaum merkbares Maß zurückgeht. (vielleicht 2%).

Ausprobieren. Zu den anderen Fragen könnte ich zwar jetzt ausführlich was sagen, aber ich habe feierabend ;-)

nur soviel:
zu a: ja, es geht. du kannst "quelltext" im wahrsten sinne des Wortes einbauen. vielleicht einfach mal googeln.

Nisse
Wenn ich noch etwas Senf zu meinen Vorrednern dazu geben darf:
Ja, man kann nicht nur C-Programme einbinden, sondern auch auf - wie ich finde - einfache Art auf beliebige DLL-Bibliotheken zugreifen, vorausgesetzt man hat deren Beschreibung zur Hand.
Außerdem gibt es den Formelknoten in einer C-ähnlichen Syntax.
Was aber ganz neu ist in LV8 und in LV8.2 noch erheblich ausgebaut ist: Man hat die volle Einbindung des Programms Matlab in LV.
Man kann sich sehr für LV begeistern, aber ein Nachteil ist eben unbestritten: Die rein kosmetischen oder kosmetikähnlchen Tätigkeiten, wie Umgruppienung von Blöcken, Änderung der Hierchie von irgendwelchen Scheifen usw., nehmen ganz erheblich Zeit in Anspruch. Änderungen, die bei einer textorientieren Sprache in Minutenschnelle erledigt sind, können bei LV Stunden in Anspruch nehmen.
Also dieser NAchteil ist ja wohl im Vergeich zu den Vorteilen zu vernachlässigen zumal das auch keine Stunden dauert. Zudem spart man eine Menge Stunden beim erstellen des Codes und auch beim Debugging ist das Datenflussmodell einfach unschlagbar. 10-20 Jahren wird so gut wie keiner mehr was anderes im technischen Bereich programmieren außer spezielle Sachen wo man sehr nah an der Maschine programmieren muss.
Wenn Jemand schreibt er braucht ewigund der totale Anfänger ist aber C gut kann dann sollte er sich vielleicht mal fragen wie es damals war als er gerade mal beim "Hello World" Programm war.

Vielleicht lohnt sich auch der Vergleich auf dieser Seite

http://www.computerbase.de/lexikon/Hallo-W...t_.28Konsole.29

Und das man nicht in textform codest wohl auch klar darum ist es ja eine graphische Sprache,
zudem hat man auch hier ein überschneidendes Modell indem man wie schon angesprochen Formelknoten für Berechnungen und Schleifen wie in C erstellen kann und zudem auch neuerdings für MatLAB und Mathematica scripts soweit ich weis. Und natürlich Dll's-Anbindung usw. usw.

Zudem gibt es noch weitere Views wie die Hierachie und das VI-Profil usw...

Zum Coden selber brauchst Du bei C auch nur den Texteditor oder nicht, zudem sind neuerdings auch ganze Projektstrukturen verankert und können genauso wie bei den IDE's auf C++ gemanaged werden.

Unter LabWindows kann man LabVIEW auch textorientiert programmieren im Grunde soweit wie ich das verstanden habe CWink.

Du musst Dich erst mal ein paar Monate mit außerinandersetzen die Leute die aus der Gegend textorientiert stammen sind immer erst skeptisch und viele haben zu viel Stolz umzusteigen und programmieren dann lieber so einen Rotz wie Delphi, Visaul Basic. Gerade bei Messanwendungen ist diese Sprache nicht zu schlagen. Da kann mir einer erzählen was er will. Und ich bin grantiert schneller wie Du in C wenn ich eine Struktur erstelle und das Programm auch eine Benutzeroberfläche hat!
Außerdem hat man auch hier Zugriff was eingeblendet werden soll und was nicht usw...

Wenn es darum geht Konsole zu programmieren soll man sich in das letzte Jahrtausend begeben und dort bleibenWink
Oder habt Ihr schon mal einen Graphikprogrammierer für 3_D-Shooter gesehen der jeden Pixel einzeln setztWink


Gruß
T.


' schrieb:Wenn ich noch etwas Senf zu meinen Vorrednern dazu geben darf:
Ja, man kann nicht nur C-Programme einbinden, sondern auch auf - wie ich finde - einfache Art auf beliebige DLL-Bibliotheken zugreifen, vorausgesetzt man hat deren Beschreibung zur Hand.
Außerdem gibt es den Formelknoten in einer C-ähnlichen Syntax.
Was aber ganz neu ist in LV8 und in LV8.2 noch erheblich ausgebaut ist: Man hat die volle Einbindung des Programms Matlab in LV.
Man kann sich sehr für LV begeistern, aber ein Nachteil ist eben unbestritten: Die rein kosmetischen oder kosmetikähnlchen Tätigkeiten, wie Umgruppienung von Blöcken, Änderung der Hierchie von irgendwelchen Scheifen usw., nehmen ganz erheblich Zeit in Anspruch. Änderungen, die bei einer textorientieren Sprache in Minutenschnelle erledigt sind, können bei LV Stunden in Anspruch nehmen.
' schrieb:Also dieser NAchteil ist ja wohl im Vergeich zu den Vorteilen zu vernachlässigen,,,
Du rennst damit bei mir offene Türen ein, das deckt sich genau mit meiner Meinung, und ich hätte das wohl besser rüberbringen sollen. Klar, wenn ich einen Nachteil nenne und sonst nichts, dann entsteht die Vermutung, ich beziehe mich damit auf ein wesentlichste Feature von LabVIEW überhaupt. War aber nicht so gemeint.
Darüber hinaus gestehe ich, daß ich das nur mehr oder weniger nachgeplappert habe, ich hatte das ein paar Tage vorher unter dem Wikipedia-Stichwort "LabVIEW" so gelesen. Weil ich da gerade mit Umgruppierungen in einem größeren Prog beschäftigt war, dachte ich mir spontan: "endlich sagts mal einer.."
Zu Deinem Link: Bei allen einfachen Programmen wie hier der Ausgabe von "Hello World" ist ja LabVIEW wirklich haushoch überlegen, und ein Anfänger könnte da auf die Idee kommen, die Programmierung von LV sei überhaupt kinderleicht. In Wirklichkeit ist aber nur der Einstieg kinderleicht, für ein größeres Programm mit komerziellen Ansprüchen muß man sich dann doch genau so reinbeißen wie in andere Programmiersprachen auch.
Um auch etwas Gutes über LV zu sagen, und zwar zum gleichen Thema "Zeitaufwand bei der Programmierung" : Was in anderen Sprachen ein Fluch ist, ist in LV ein regelrechter Genuß: Einen Programmierfehler zu finden. Damit meine ich nicht die einfachen Fehler, die werden ja auch in anderen Sprachen sofort angezeigt, sondern komliziertere logische Fehler. Hier ist LV meines Erachtens unschlagbar.
' schrieb:Hallo,

bin kompletter Neueinsteiger und daher stellen sich einige Fragen, die den meisten anfänglich wohl im Kopf rumgeirrt sind:
a) Programmiermöglichkeiten:
-----------------------------------
Existieren wirklich nur diese 2 views ? d.h. Blockdiagramm und Frontpanel ? Intern müssen diese tollen Schleifen etc doch auch wie in jeder "normalen" Programmiersprache verarbeit werden.
Worauf ich rauswill: existiert eine Möglichkeit in LabVIEW auch in Text-form zu coden ?
Ich stelle zumidest aktuell fest, dass ich sehr lange brauche um kleine einfache Strukturen aufzubauen.
b) Hardware-Hunger:
------------------------
Ist es normal das schon eine kleine Testapplikation im laufenden Zustand bis zu 99% meiner CPU frisst ?
AMD Semp 2800++. Selbst mein Intel Dual Core ist ordentlich am röteln. Eigenartig.
c) Tutorials o.ä.:
---------------------
Ich habe einiges auf der NI Seite gefunden, dann einige Links von ausländischen Universitäten und das war es dann eigentlich, leider. Gerade im Vergleich zu anderen Sprachen habe ich bisher wenig umfangreiches und doch gut verständliches Material gefunden.
Schöne Grüsse
fidel

zu a) Programmiermöglichkeiten:
---------------------------------------
Es existieren nur diese 2 Views. Was LabVIEW intern macht bleibt wohl das Geheimnis der Entwickler von LabVIEW, aber das interessiert ja auch nicht. Ich bin ehrlich gesagt froh, dass ich den Code nicht sehen muss. :DWenn Du aber mal irgendwelchen "Code" einbinden willst geht das, soweit ich weiß, auch problemlos. Im neuen LabVIEW 8.20 sogar noch besser. Außerdem kann man ab LabVIEW 8.20 auch objektorientiert programmieren.

zu b) Hardware-Hunger:
----------------------------
Das kommt nur vor, wie meine Vorredner schon geschrieben haben, wenn Du z.B. irgendwo eine Schleife nicht verzögerst. Da reichen schon 10 ms und Du lastest die CPU nur zu einem Bruchteil aus. Anhand der Systemvoraussetzungen kann man ja schon sehen, dass da relativ wenig gefordert wird, von daher darf ein ziemlich aktueller Rechner kein Problem damit haben und hat es auch nicht.

zu c) Tutorials o.ä.:
-----------------------
In LabVIEW an sich gibt es schon massig Beispiele und die Hilfefunktion ist auch sehr gut. Wenn Du aber mehr wissen willst, dann schlage ich Dir Lehrgänge bei National Instruments vor (z.B. Basic 1 und 2, sowie Intermediate 1 und 2). Wenn Du selber nachlesen willst, dann gibt es die Kurshandbücher mit Beispielen auf CD auch ohne Lehrgang zu kaufen. Ein Buch, das ich nicht schlecht finde ist: LabVIEW - Das Grundlagenbuch von Rahman Jamal und Andre Hagestedt mit der ISBN 3-8273-1714-2

Ich hoffe ich konnte auch etwas weiterhelfen.

Gruß Markus
Hallo,


vielen Dank für die teilweise sehr ausführlichen Antworten.

Was ich mit einfachen Strukturen meinte:
---
Mir ist schon klar, dass z.b. eine Schleife, wenn man den weiss wo man sie findet (Tongue),
recht fix eingebaut ist.

Ich bin noch an der Schwelle wo das auffinden von Funktionen & deren Eigenschaften die eigentliche Spassbremse darstellt bzw den Zeitfresser.


ansonsten nochmal vielen Dank soweit.


Gruss
fidel
Referenz-URLs