|
|
Matlab als LabView Alternative - Progammiertipps erbeten |
|
Axel |
Forum-Anfänger
|
|
Beiträge: 12
|
|
|
|
Anmeldedatum: 29.07.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 09.08.2016, 13:29
Titel: Matlab als LabView Alternative - Progammiertipps erbeten
|
|
|
|
|
Hallo,
ich habe eine etwas allgemeinere Frage. Ich möchte meine Versuchsanlagen gerne mit Matlab steuern. Gewünschte Funktionalitäten sind dabei hauptsächlich GUI, online Graphen, und Datenspeicherung. Ich würde das ganze gerne Funktionsbasiert aufbauen, um nicht immer alles neu schreiben zu mussen (bzw. Copy paste).
Hier kurz zwei Beispiele wie ich zur Zeit Daten vom Gerät auslese und in einem Graph anzeigen lasse.
Die Funktion Keithley2701_Rs232:
Die beiden anderen Funktionen initiieren das Messgerät und Lesen einen Temperaturwert aus.
Ich würde mir jetzt beispielsweise gerne einen onlinegraph anzeigen lassen, welcher immer mitläuft. Ich könnte sicherlich einfach den ganzen Code in der Pushbutton funktion zusammenschreiben, was mir aber die Möglichkeit nimmt das einfach über die funktionen aufzurufen. Ich vermute, dass es dort einen geschickteren und besseren Weg gibt. Ich bin mir aber im unklaren darüber in welche Richtung dieser gehen könnte und wäre über Ideen und Anregungen dankbar.
Vielen Grüßen und viele Dank.
|
|
|
|
|
punkNgrind |
Forum-Century
|
|
Beiträge: 136
|
|
|
|
Anmeldedatum: 10.03.11
|
|
|
|
Wohnort: Hamburg
|
|
|
|
Version: R2014b
|
|
|
|
|
|
Verfasst am: 09.08.2016, 14:30
Titel:
|
|
Verstehe jetzt nicht genau, wo dein Problem liegt, aber du kannst auch von deinem Callback des Push-Buttons eine Funktion aufrufen.
Grundsätzlich rufe ich bei mir in Callbacks immer nur eine Funktion auf, in der ich dann die Programmierung mache. Das ermöglicht dann auch leichter weitere Funktionen auf zu rufen oder sogenannte 'Local Functions' zu verwenden.
Mittlerweile bin ich sogar dazu übergegangen - gerade bei umfangreichen GUIs halte ich das für sinnvoll - objektorientierte Programmierung zu verwenden.
Edit: Nochmal dein programmcode angeguckt, in Grunde genommen bist du doch schon auf den richtigen Wege, die Initialisierung deiner Schnittstelle ist doch eine Funktion, was hindert dich daran die Plots in eine weitere Funktion auszugliedern?
|
|
|
Axel |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 12
|
|
|
|
Anmeldedatum: 29.07.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 12.08.2016, 16:24
Titel:
|
|
|
|
|
Hallo,
danke für deine Antwort. Mein Problem liegt wahrscheinlich in der unterschiedlichen Programmierung von LabView und Matlab (parallel und seriel). Ich versuche es mal an einem Beispiel zu erklären.
Ich möchte z.B. einen Push Button "Messung starten" erstellen. Dieser initialisiert dann die Messtechnik. In einem Graph werden dann die aktuellen (z.B. die letzten 100) Messwerte angezeigt. Wenn ich es wie in meinem Beispiel programmiere, werden mir aber erst nach Durchlaufen der Funktion alle (im Beispiel 5) Werte zurück gegeben. Einerseits könnte ich jetzt eine größe Schleife in die Pushbutton Funktion schreiben und jeden Wert einzeln abfragen, verarbeiten und in einen Graphen schreiben. Das widerspricht meiner Auffassung aber der Funktionsgedanken. Anderseits könnte man evtl. mit globalen Variablen oder so arbeiten. Aber wirklich sauber programmiert finde ich das auch nicht.
Ich hoffe ich konnte mich etwas verständlicher ausdrücken.
Allen ein schönes Wochende!
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|