Programmstruktur vereinfachen - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +---- Forum: Datenbank & File IO (/Forum-Datenbank-File-IO) +---- Thema: Programmstruktur vereinfachen (/Thread-Programmstruktur-vereinfachen) |
Programmstruktur vereinfachen - Y-P - 12.02.2010 09:38 Meinst Du so? [attachment=24390] Gruß Markus Programmstruktur vereinfachen - Burning_Man - 12.02.2010 10:48 Hallo, ich hatte gerade eine Eingebung und dahcte mir eien Lösung des Problems so: Hier mein SubVI: [attachment=24391] und hier mein HauptVI: [attachment=24392] nur ist mein Problem dass das kombinierte Signal nicht ans SubVi übergeben werden kann (gestrichelte Linie) weil es nicht das selbe Format hat. Ich schätze ich habe beim SubVI den falsch Anschluß bzw. Signaleingang gewählt. Wer kann mir helfen? Programmstruktur vereinfachen - GerdW - 12.02.2010 10:59 Hi BurningMan, also: Warum hast du im subVI eine While-Schleife??? Was kommt raus, wenn man ein einfaches DBL auf mehrere "Kanäle" splitten will? (Ich habe da Probleme, nachzuvollziehen was an Daten dabei rauskommt als auch mir vorzustellen, wie das überhaupt gehen soll...) Im subVI hast du ein einfaches DBL als Eingang. Das klappt natürlich nicht, wenn du ein Array of Waveforms (?) übergeben willst... Du kannst im HauptVI einen Rechtsklick auf den gewünschten Draht machen und ein Control erzeugen. Dieses Control dann ins subVI verschieben und entsprechend verdrahten... Programmstruktur vereinfachen - Burning_Man - 12.02.2010 11:13 Hallo ja ich glaube die Whileschlife kann ich entfernen, ich bekomme ja die Taktung der Messzyklen durch die Schlife im HauptVI. Mein Hauptproblem ist jetzt aber die Datenübergabe des kombinierten Signals an mein SubVI. Das es mit einem einfachen Double Eingang nicht geht war mir klar, aber wie geht es dann?? Wie erzeuge ich denn dieses "Control" mit Rechtsklick auf den Draht und wie kann ich einfach etwas von HuaptVI in ein SubVi verschieben? Beim Rechtsklick auf den Draht habe ich diese Möglichkeit nicht gefunden. Programmstruktur vereinfachen - GerdW - 12.02.2010 11:19 Hallo BurningMan, du entfernst die (fehlerhafte) Verbindung zu deinem subVI. Dann auf den (dann fehlerlosen) Draht zwischen DAQ-Funktion und SignalSplit rechts-klicken und Create->Control - schwups, schon hast du ein passendes Control. Dieses dann per drag&drop aufs BD vom subVI ziehen und das DBL-Control damit ersetzen. ConnectorPane wieder verdrahten und im HauptVI auch wieder verdrahten... Haste schon mal auf die oben verlinkten Online-Kurse geguckt? Programmstruktur vereinfachen - Burning_Man - 12.02.2010 11:31 Hallo, die Onlinekurse mus sich mal zuhause übers WE anschauen, da ist auch die Internetverbindung schneller. Kann es sein dass die Control Funktion in der deutschen LV Version anders heißt? Programmstruktur vereinfachen - GerdW - 12.02.2010 11:35 Hallo BurningMan, sicherlich heißen die Elemente/Menüeinträge in der deutschen Version anders - ich arbeite halt nur mit der englischen Version. Die deutsche war mir zu inkonsequent übersetzt... Suche mal nach Einträgen wie "Erstellen->Eingabeelement"... Programmstruktur vereinfachen - Lucki - 12.02.2010 11:40 ' schrieb:Ich möchte das gebündelte Signal in meinem HauptVI (siehe Bild) vor dem Aufspalten in Einzelsignale in mein SubVI weiterleiten. Wie kann ich aber dann in meinem SubVI bei das Eingangsignal aufspalten?Wenn das "gebündelte Signal" ein Array ist - was bei gleichartigen Signalen wegen der einfachen Signalbehandlung die beste Bündelungsmethode ist -, und Du die Werte zusammen mit dem aktuellem Datum speichern willst, dann mußt Du überhaupt nichts aufspalten und brauchst nicht einml eine For-Schleife. Hier Dein VI eingedampft: [attachment=24395][attachment=24396] edit: ersetze addieren durch multipizieren edit2: Falls Du das datenformat "dynamische Signal" von Express-VIs hast, dann gibt es zur Konvertierung in normales Array die Funktion "Von dynamischen Daten konvertieren" Programmstruktur vereinfachen - dimitri84 - 12.02.2010 11:49 Diese Express VIs zum Bündeln und Entbündeln, die 'Dynamic Data' ausspucken, gehören echt verboten. Dabei entstehen manchmal Blockdiagramme die eher an moderne Kunst erinnen als an strukturierten Code. Da muss einem doch schon der Instinkt sagen, dass das besser geht. Was ist, wenn man mal 50 "Kanäle" oder mehr hat. Entweder man läßt es als Array oder man nimmt 'Waveform(Signalverlauf)' und nutzt zu beiden das passende "Indizieren" VI oder die Autoindizierungsfunktion bei Schleifen. Programmstruktur vereinfachen - Y-P - 12.02.2010 12:57 ... was ich schon in Beitrag #5 erwähnt habe. Gruß Markus ' schrieb:Entweder man läßt es als Array oder man nimmt 'Waveform(Signalverlauf)' und nutzt zu beiden das passende "Indizieren" VI oder die Autoindizierungsfunktion bei Schleifen. |