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 

Block Diagram übersichtlicher



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!

05.09.2011, 09:40
Beitrag #11

Der_Elch Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 93
Registriert seit: Jan 2010

2014
2009
DE

4xxx
Oesterreich
RE: Block Diagram übersichtlicher
(05.09.2011 09:26 )Tomtom79 schrieb:  Mir wäre schon mal geholfen, wenn mir jemand zeigen könnte, wie ich z.B. eine dieser DO-Schleifen mit den Lok-Variablen in ein einziges SUB-VI kriege.

Wie schnell müssen die DO beschrieben werden? Jede Schleife hat keine wait Funktion und dadurch treibst du die CPU Auslastung künstlich in die Höhe.
Was mir jetzt schnell einfallen würde:
Eine While Schleife:
Die jeweils 8 DO in ein Array zusammenfassen --> dann wieder ein Array aus alle 3*8 erstellen und das in eine for-Schleife abarbeiten lassen.
Abbruch der While mit der lok. Var "Ein"
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
05.09.2011, 10:02
Beitrag #12

NWOmason Offline
Simultator
*****


Beiträge: 1.078
Registriert seit: Dec 2010

2012.SP1
2008
EN

93047
Deutschland
RE: Block Diagram übersichtlicher
Hallo Tomtom,

Dein Code liese sich bestimmt noch vereinfachen und auch in Punkto Performance (mindestens eine Schleife läuft mit voller CPU-Last) und RaceConditions (die sich bei dem hier excessiven Einsatz der Globalen Variablen nicht vermeiden lassen) überarbeiten. Auch an der Lesbarkeit gibt es noch Verbesserungsbedarf. Das ist soweit noch (Fleiß-)arbeit, da deine Steuerung anscheinend gut funktioniert.


Aber: Du sprichst in der Funktion des Programmes folgendes an:

(05.09.2011 09:26 )Tomtom79 schrieb:  ...Zeitschleifen die bei jedem Prozess die Sicherheitszeit messen, falls der jeweilige Prozess nach einer bestimmten Zeit nicht abgelaufen ist...

und rufst ernshaft an unterschiedlichen Stellen das Stop-VI auf? Sorry, wenn das hart klingt. Aber weißt du, was da VI macht? Hast du dir schonmal die Kontexthilfe dazu durchgelesen???

Beste Grüße,
NWO

9 von 10 Stimmen in meinem Kopf sagen: Ich bin nicht verrückt,
die andere summt die Melodie von Tetris
.

NI schrieb:To use the abort button is like using a tree to stop a car!

(20.01.2012 11:02 )NWOmason schrieb:  Getting Started with NI LabVIEW Student Training
http://zone.ni.com/devzone/cda/tut/p/id/7466

Introduction to NI LabVIEW - Learn LabVIEW Basics
http://www.ni.com/gettingstarted/labviewbasics/

Top 5 der Empfehlungen für LabVIEW-Einsteiger
http://www.ni.com/newsletter/51735/de/
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.09.2011, 12:42
Beitrag #13

Tomtom79 Offline
LVF-Grünschnabel
*


Beiträge: 41
Registriert seit: Apr 2009

8.0
2005
de

80132
Deutschland
RE: Block Diagram übersichtlicher
Hallo Leute,

Ziel war es die Anlage möglichst schnell zum Laufen zu bringen, und zwar so, dass die Produktions-Prozesse optimal abgearbeitet werden und das habe ich erreicht. Für einen 2-wöchigen LabViewkurs (indem wir was ganz anderes gemacht haben) ist es doch gar nicht so schlecht. Ich gewinne zwar keinen Schönheitswettbewerb, aber die Logik der Anlage ist sehr gut, besser als manch kommerzielle, und das sag nicht nur ich.

Das mit den Scheifen ohne Wait usw. weiss ich auch. Hab beim Programmieren auch dazugelernt und das eine oder andere Nebensächliche vergessen. Der Hauptgrund warum ich mich nicht um die Erstellung von SUB-VIs gekümmert habe, ist der, dass ich geplant habe, (wenn ich dann Zeit finde) die ganzen Schleifen in SUB-VI's zu legen und nicht nur deren Inhalt. Wie man den Schleifen-Inhalt in SUB-VI's zerlegt weiss ich auch, nur wenn die Schleifen bleiben brauch ich ja immer noch einiges an Platz.
Einzelne Prozesse in Stacked-Sequences einzubauen ist doch auch nicht so schlecht. Dann habe ich wenigstens 100%ige Garantie dass die Prozesse im vorgegebener Reihefolge durchlaufen werden und bei einem Programmierfehler nicht plötzlich woanders fortgefahren wird.

Was bei "Stop" passiert ist mir wurst. Ich gebe ein 0.5Hz Watchdog auf die USB-Karte, die steuert einen NE555 der auf die Flanken reagiert und sofort die ganze Stromversorgung ausschaltet falls die Flanken ausbleiben. Zudem gibts mir per Handy einen Anruf. Das funktioniert sogar wenn der PC abstürzt und von dort nichts mehr läuft oder das Kabel ausgezogen wird. Manchmal ist es auch nicht so schlecht unkonventionelle Methoden zu verwenden.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.09.2011, 13:57 (Dieser Beitrag wurde zuletzt bearbeitet: 05.09.2011 14:00 von M Nussbaumer.)
Beitrag #14

M Nussbaumer Offline
Zarathustra
****


Beiträge: 654
Registriert seit: Sep 2009

2009 SP1
2009
EN

6300
Schweiz
RE: Block Diagram übersichtlicher
Hallo Tom,

(05.09.2011 12:42 )Tomtom79 schrieb:  Einzelne Prozesse in Stacked-Sequences einzubauen ist doch auch nicht so schlecht. Dann habe ich wenigstens 100%ige Garantie dass die Prozesse im vorgegebener Reihefolge durchlaufen werden und bei einem Programmierfehler nicht plötzlich woanders fortgefahren wird.

Stacked-Sequences mit Lokalen Variablen untergraben einen der Grundgedanken von LabVIEW, den Datenfluss. Mit diesem kannst du nämlich auch zu 100% festlegen, in welcher Reihenfolge die Prozesse ablaufen sollen und erhöhst sogar noch die Lesbarkeit.

(05.09.2011 12:42 )Tomtom79 schrieb:  Was bei "Stop" passiert ist mir wurst. Ich gebe ein 0.5Hz Watchdog auf die USB-Karte, die steuert einen NE555 der auf die Flanken reagiert und sofort die ganze Stromversorgung ausschaltet falls die Flanken ausbleiben. Zudem gibts mir per Handy einen Anruf. Das funktioniert sogar wenn der PC abstürzt und von dort nichts mehr läuft oder das Kabel ausgezogen wird. Manchmal ist es auch nicht so schlecht unkonventionelle Methoden zu verwenden.

Dir ist es vielleicht Wurst, dem Datenzugriff welcher gerade schreibt jedoch nicht. Mit einem sauberen Datenfluss löst man das über einen Deinitialisierungs/Beenden - Case. Es kommt doch auch keinem Piloten in den Sinn eine Bruchlandung als Erfolg zu verbuchen, nur weil der Flieger wie gewünscht am Boden ist oder?Wink

Allgemein würde ich mir Producer/Consumer, State-Machine und Events ansehen. Ist halt einfach sauberer/wartbarer, dein Nachfolger oder Zukunfts-Ich wird sich bedankenWink Auch könnte ein Boolean-Array als Anzeige-Element interessant sein, wenn du soviele Boolean-Werte pro Erfassung hast oder einen Cluster(Vorteil:Label für jedes Element) oder gleich ein Array of Cluster. Bei Arrays kann man den Dimensions-Index unsichtbar machen und den Clusterrahmen sogar ganz. Dadurch vermindert sich die Anzahl der Variablen auf dem Blockdiagramm dann doch merklich.

Gruss Marc
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.09.2011, 14:02
Beitrag #15

illuminus Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 67
Registriert seit: Jul 2005

LabVIEW Professional 2011, Embedded for ARM MCU, Embedded for ADI BF
1996
EN

55129
Deutschland
RE: Block Diagram übersichtlicher
2-wöchigen LabViewkurs ... LabVIEW Erfahrung seit 2005?

Aber wie auch immer, du hast gefragt wie und ob man das Blockdiagramm vereinfachen kann. Man kann aber noch einmal, da sind soviel Designfehler drin, dass es schwierig ist, die hier im einzelnen in Textform niederzuschreiben, abgesehen nennt sich das ganze grafisches Programmieren.
Jetzt kannst du entscheiden möchtest du was dazulernen, dann poste das VI oder möchtest du deine Programmierkünste weiter verteidigen, dann lass es liebe.
Ich empfehle dir das VI zu posten! keiner möchte dir was böses, alle hier wollen nur helfen.

Gruß

Das Schönste, was wir entdecken können, ist das Geheimnisvolle.
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.09.2011, 19:47
Beitrag #16

Tomtom79 Offline
LVF-Grünschnabel
*


Beiträge: 41
Registriert seit: Apr 2009

8.0
2005
de

80132
Deutschland
RE: Block Diagram übersichtlicher
Hallo Leute,

Ihr habt mir schon ein gutes Stück geholfen, v.a. wie ich mit den vielen Variablen besser zurechtkomme (arrays...). Das bringt jetzt nicht viel, wenn Ihr euch mit meinem VI beschäftigt. Auch ich könnte da noch einiges mit SubVIs zusammenfassen und Ihr wisst ja nicht was das wäre. Ich hab halt das Programm einfach mal ohne SUB-VI's geschrieben. Überlegt hab ich mir schon einiges, wenn auch nur von der Logik her und nicht vom labViewtechnischen Aspekt. Ziel ist es jetzt auch nicht das Programm zu ändern, sondern mehr für die Zukunft ein paar wesentliche Punkte mitzunehmen.

Ich hab 2005 mal einen 2 wöchigen Kurs an der Uni gemacht, darum steht "Erfahrung seit 2005". Oder was soll ich denn dann angeben?

@Elch: Wenn 1 Programm-"Durchgang" bereits 500ms dauert. Bringt es dann überhaupt noch was wenn ich die Schleifen mit z.B. 200ms Takte?

Viele Grüsse

Tom
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.09.2011, 07:44
Beitrag #17

Der_Elch Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 93
Registriert seit: Jan 2010

2014
2009
DE

4xxx
Oesterreich
RE: Block Diagram übersichtlicher
Es würden auch 50ms reichen, das Problem ist das LV Schleifen so oft wie möglich macht und dadurch sehr viel Rechenleistung braucht. Das gilt auch für for-Schleifen, nur dort weiß ich meist wielange es dauert/ wie oft die Schleife durchlaufen wird und will das sie so schnell wie möglich fertig ist.

Da ich annehme das "EIN" nur ein Button durch eine Benutzereingabe kommt, hätte ich das ganze mit einer Event-Struktur aufgezogen (Vorrausgesetzt du hast die passenden LV Version).

Noch ein Tipp:
Wolfgang Georgi - Einführung in LabVIEW ist ein sehr gutes Buch, ich habe mir damit und vielem Testen / Lesen die Grundkenntnisse für LV geholt.

Wie "M@rry" vor kurzem sagte: Nur vom selber fressen wird man dick.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.09.2011, 11:29
Beitrag #18

NWOmason Offline
Simultator
*****


Beiträge: 1.078
Registriert seit: Dec 2010

2012.SP1
2008
EN

93047
Deutschland
RE: Block Diagram übersichtlicher
(05.09.2011 09:26 )Tomtom79 schrieb:  Hallo Leute,
Mir wäre schon mal geholfen, wenn mir jemand zeigen könnte, wie ich z.B. eine dieser DO-Schleifen mit den Lok-Variablen in ein einziges SUB-VI kriege.

Theoretisch können die Schleifen (die auf der linken Seite hauptsächlich) auch komplett in einem Sub-VI laufen, da du über Globale Variablen kommunizierts und diese natürlich auch in einem SubVI laufen.

(05.09.2011 19:47 )Tomtom79 schrieb:  @Elch: Wenn 1 Programm-"Durchgang" bereits 500ms dauert. Bringt es dann überhaupt noch was wenn ich die Schleifen mit z.B. 200ms Takte?

Ja, auch schon eine Einstellung zwischen 10 und 50 würde dazu beitragen, dass die CPU Zeit hat, sich um die anderen Schleifen zu kümmern. So ganz verstehe ich den Durchgang mit 500ms nicht. Du hast doch Schleifen mit 1000ms Waittime drin?!?

(05.09.2011 12:42 )Tomtom79 schrieb:  Was bei "Stop" passiert ist mir wurst. Ich gebe ein 0.5Hz Watchdog auf die USB-Karte, die steuert einen NE555 der auf die Flanken reagiert und sofort die ganze Stromversorgung ausschaltet falls die Flanken ausbleiben. Zudem gibts mir per Handy einen Anruf. Das funktioniert sogar wenn der PC abstürzt und von dort nichts mehr läuft oder das Kabel ausgezogen wird. Manchmal ist es auch nicht so schlecht unkonventionelle Methoden zu verwenden.

Dann ist aber hoffentlich auch kein Bug in der Software Wink

9 von 10 Stimmen in meinem Kopf sagen: Ich bin nicht verrückt,
die andere summt die Melodie von Tetris
.

NI schrieb:To use the abort button is like using a tree to stop a car!

(20.01.2012 11:02 )NWOmason schrieb:  Getting Started with NI LabVIEW Student Training
http://zone.ni.com/devzone/cda/tut/p/id/7466

Introduction to NI LabVIEW - Learn LabVIEW Basics
http://www.ni.com/gettingstarted/labviewbasics/

Top 5 der Empfehlungen für LabVIEW-Einsteiger
http://www.ni.com/newsletter/51735/de/
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
  Eigenschaftsknoten in ein SubVI oder anders übersichtlicher machen Philipp_O 3 1.544 29.07.2022 07:42
Letzter Beitrag: Kiesch
  2 DAQ Assistennten in einem Block Diagramm handsch21 6 3.419 05.04.2018 14:38
Letzter Beitrag: handsch21
Question Peak detector Block Diagram sagittarius 6 3.624 10.01.2018 11:46
Letzter Beitrag: GerdW
  LV allgemein: Labels der VIs im block diagram immer anzeigen laumann 10 7.257 05.02.2016 09:44
Letzter Beitrag: Freddy
  Spannungs-Dehnungs-Diagram fortlaufend Sekonty 2 5.657 19.09.2012 13:38
Letzter Beitrag: Sekonty
  Block Diagram aufmachen Diplomand 5 4.941 15.08.2011 09:12
Letzter Beitrag: GerdW

Gehe zu: