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 

Umstieg auf, bzw. Neueinstieg in LabVIEW, ein paar Fragen



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!

14.06.2010, 16:18 (Dieser Beitrag wurde zuletzt bearbeitet: 14.06.2010 16:19 von GerdW.)
Beitrag #21

GerdW Offline
______________
LVF-Team

Beiträge: 17.427
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
Umstieg auf, bzw. Neueinstieg in LabVIEW, ein paar Fragen
Hallo Rabenflug,

statt eines "Busses" würde ich ein Array benutzen. Wir verwenden hier ja eine Programmiersprache und kein Layout-ProgrammSmile
Außerdem hast du ja momentan 8 Shiftregister, die jeweils einen einzelnen Wert speichern - alle gleichen Typs, alle aus der gleichen Signalquelle. Falls du mal andere Datentypen zusammenfassen willst/musst, bieten sich Cluster an.

- Außerdem ist es "unüblich", subVIs mit 20 In/Outs ("8 (integer) Eingänge, 8 Ausgänge, 1 Boolschen "Messen" Eingang, so wie einen Error-Ausgang und einen Eingang zum senden spezifischer Strings") zu erstellen. Unter Verwendung eines Arrays würdest du ein subVI mit nur 6 In/Outs erhalten!

- Zum String zerlegen gibt es die Funktion SpreadsheetStringToArray, praktischerweise schon mit dem Tab als Trennzeichen per default...

- Der Rest kommt mit der ZeitSmile

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
14.06.2010, 16:33 (Dieser Beitrag wurde zuletzt bearbeitet: 14.06.2010 16:38 von Lucki.)
Beitrag #22

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Umstieg auf, bzw. Neueinstieg in LabVIEW, ein paar Fragen
' schrieb:statt eines "Busses" würde ich ein Array benutzen. Wir verwenden hier ja eine Programmiersprache und kein Layout-ProgrammSmile
Außerdem hast du ja momentan 8 Shiftregister, die jeweils einen einzelnen Wert speichern - alle gleichen Typs, alle aus der gleichen Signalquelle. Falls du mal andere Datentypen zusammenfassen willst/musst, bieten sich Cluster an.
...
...
... und manchmal wirst Du sogar das Glück haben, daß fleißige Helferlein dir das alles (oder einiges davon) an Deinem VI vormachen. Vorausgesetzt natürlich, du hättest das VI gepostest und nicht nur die Graphik.
Vorschlag: Bemühe Dich mal um die von GerdW genannten Verbesserungen so gut es geht und poste dann das VI.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.06.2010, 16:20 (Dieser Beitrag wurde zuletzt bearbeitet: 16.06.2010 16:56 von Y-P.)
Beitrag #23

RabenFlug Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 59
Registriert seit: Apr 2010

2016
2009
DE

22307
Deutschland
Umstieg auf, bzw. Neueinstieg in LabVIEW, ein paar Fragen
Erst mal vielen Dank für den Tip mit den arrays. Das hat wunderbar funktioniert, das String-Array lies sich problemlos an das Schieberegister übergeben. Inzwischen habe ich die Haupt-While Schleife allerdings aus dem VI entfernt und ein SUB-Vi daraus gemacht. Eine Schleife in der Schleife ergibt ja keinen Sinn, denn dieses VI soll ja "nur" Messdaten vom Port abholen und Befehle versenden.

Die jeweils 8 E/A's sollen nun, eurem Tip folgend, ebenfalls als Arrays übergeben, bzw. ausgegeben werden. Das macht mir allerdings noch Probleme. Als das VI noch "autonom" lief konnte ich mit "initialize array", "replace array subset" und "index array" das Array prima initialisieren und diese initialisierten Werte dann (mittels replace array subset) mit anderen, aktuellen Arraywerten überschreiben. Initialisiert habe ich es eigentlich nur um den Datentyp (Uint16) vorzudefinieren. Die Eingänge sollen UINT16 sein, die Ausgänge UINT32.

Leider funktioniert die Übergabe des Arrays noch nicht so richtig :/ Habe jetzt mal das Sub-VI, so wie ein kleines Haupt-VI angehängt, vielleicht könnt ihr mal einen Blick darauf werfen? Ich vermute es ist nur ein kleiner (denk?) Fehler.

Die letzten Tage hatte ich noch mit Hardwareproblemen zu kämpfen. Der Pulscounter meiner Messbox (der seine Pulse von einem Reedkontakt erhält) hatte immer ca. die doppelte Zählrate erfasst. Zunächst dachte ich es sei eventuell ungewöhnlich "gleichmässiges" prellen des Kontaktes und habe diesen durch einen Kapazitiven Näherungsschalter ersetzt, ohne Verbesserung. Habe dann heute mal ein Scope an den Eingang gehängt und gesehen daß die Pulse sauber ankommen. Die Lösung des Problems war daß die (im EEprom der Box gespeicherte interne) Zeitreferenz total daneben lag. Die Box "dachte" immer nach 2 Sekunden daß eine
Sekunde vergangen wäre. Schön blöd, wenn man die Messhardware selber entwickelt kämpft man halt manchmal an mehreren FrontenWink
Na ja, das war jetzt etwas aus dem Nähkästchen geplaudert, hat ja nicht direkt mit LabVIEW zu tun...

Schöne Grüße
RabenFlug

Sonstige .vi  ISL_Communication.vi (Größe: 59,86 KB / Downloads: 164)

Lv09_img2

Sonstige .vi  ISL_Main.vi (Größe: 17,07 KB / Downloads: 170)

Lv09_img2
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.06.2010, 16:56
Beitrag #24

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
Umstieg auf, bzw. Neueinstieg in LabVIEW, ein paar Fragen
Offtopic: Bitte nächstes Mal die Version Deiner VIs mit angeben. Rulez

Gruß Markus

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.06.2010, 22:23
Beitrag #25

RabenFlug Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 59
Registriert seit: Apr 2010

2016
2009
DE

22307
Deutschland
Umstieg auf, bzw. Neueinstieg in LabVIEW, ein paar Fragen
Alles klar, ab jetzt gebe ich die Version immer an. Habe die Regeln gerade gelesen.
Gruß
RabenFlug
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.06.2010, 07:16
Beitrag #26

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Umstieg auf, bzw. Neueinstieg in LabVIEW, ein paar Fragen
Hatte vorgestern mal begonnen, das ISL_Communication - subvi codemäßig einzudampfen. VISA Senden habe ich gemacht, bei VISA empfangen verließ mich die Lust. Vielleicht kann mal jemand anders weitermachen...

lv90
Sonstige .vi  ISL_Communication_wa.vi (Größe: 43,87 KB / Downloads: 160)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
20.06.2010, 15:13
Beitrag #27

RabenFlug Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 59
Registriert seit: Apr 2010

2016
2009
DE

22307
Deutschland
Umstieg auf, bzw. Neueinstieg in LabVIEW, ein paar Fragen
' schrieb:Hatte vorgestern mal begonnen, das ISL_Communication - subvi codemäßig einzudampfen. VISA Senden habe ich gemacht, bei VISA empfangen verließ mich die Lust. Vielleicht kann mal jemand anders weitermachen...
Vielen Dank für deine Mühe, Lucki! Bei dieser Programmiersprache kann man ja leider nicht "eben mal schnell" ein paar Zeilen Code in einen Forenthread posten. Mühsam ernährt sich das Eichhörnchen...

Die Ausgaben mittels einer Schleife zu senden ist natürlich wesentlich eleganter als einzeln, wenn ich es richtig sehe werden dabei aber sämtliche befehle bei jedem Durchlauf geschickt, also ob sich nun ein Bit ändert oder nicht. Das ist ja eigentlich nicht nötig da ja nur Änderungen an die Box geschickt werden sollen um die Sendezeit möglichst gering zu halten. Dazu werde ich noch "HasChanged" VI's einbauen.

Da an einem der digitalen Ausgäng der Box ein GSM-Modul angeschlossen ist (um Anlagenfehler per SMS zu melden) habe ich gerade nach einem VI gesucht das "einfach nur" einen einzelnen binären Puls mit bestimmter Länge erzeugt. Anscheinend gibt es kein solches VI oder ich habe es nicht gefunden. Habe das Problem dann so gelöst und das in ein Sub-VI gepackt:
   
Es würde mich ja schon interessieren ob es dafür tatsächlich keine Standardlösung gibtWink

Als Nächstes muss ich mir mal Gedanken zum Speichern der Einstellungen, dem initialisieren aller wichtigen Werte beim Programmstart und ein paar Berechnungen (Interpolieren, bzw. lineare Funktion) und dem zeitlichen Ablauf machen. Habe gesehen daß es "Flat sequences" gibt, damit sollte sich doch was machen lassen.
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.06.2010, 18:35 (Dieser Beitrag wurde zuletzt bearbeitet: 20.06.2010 18:52 von GerdW.)
Beitrag #28

GerdW Offline
______________
LVF-Team

Beiträge: 17.427
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
Umstieg auf, bzw. Neueinstieg in LabVIEW, ein paar Fragen
Hallo Rabenflug,

habe deine beiden VIs auch noch etwas weiter "eingedampft" & mit ein paar Kommentaren versehen... (Lv09_img2)

Gruß

Edit: Jetzt nochmal dein Original-VI "ISL-Communication", Änderungen hier nur am Sende-Part...


Angehängte Datei(en)
Sonstige .vi  ISL_Communication_wa.vi (Größe: 38,27 KB / Downloads: 129)

Sonstige .vi  ISL_Main.vi (Größe: 15,66 KB / Downloads: 158)

Sonstige .vi  ISL_Communication.vi (Größe: 44,85 KB / Downloads: 120)

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.06.2010, 06:21
Beitrag #29

RabenFlug Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 59
Registriert seit: Apr 2010

2016
2009
DE

22307
Deutschland
Umstieg auf, bzw. Neueinstieg in LabVIEW, ein paar Fragen
Hallo Gerdw,

vielen Dank für die Arbeit und vor Allem die tollen Kommentare. Das hat mir sehr weiter geholfen. Werde kommende Woche ausführlich antworten, die nächsten Tage bin ich unterwegs.

Gruß
RabenFlug
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.07.2010, 07:13
Beitrag #30

RabenFlug Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 59
Registriert seit: Apr 2010

2016
2009
DE

22307
Deutschland
Umstieg auf, bzw. Neueinstieg in LabVIEW, ein paar Fragen
Moin zusammen,

endlich habe ich mal wieder etwas Zeit zum posten. Die letzten Tage waren überschattet von EMV-Problemen, schon erstaunlich wie viel "Rotz" (Transienten) ein großer Schütz beim zuschalten eines FU's auf den Leitungen erzeugen kann. Na ja, die elektrische Seite funktioniert jetzt.

Die Lösung von GerdW für die serielle Kommunikation gefällt mir ausgesprochen gut. Mit wenigen Elementen wurde genau das erreicht was das VI erledigen soll. Nochmals danke für das super kommentierte VI. Durch solche Beispiele lernt man auch "neue" VI's kennen die sonst wohl für immer in der Schatzkiste aller VI's versteckt bleiben würden.
Besonders das For-scheifen gestützte senden des "SET <Ausgang>..." Kommandos in Verbindung mit der Boolschen Überprüfung ob ein Eingangswert geändert wurde scheint mir Elegant.

Gestern Nacht habe ich verzweifelt ein VI gesucht daß Zahlenwerte über einen gewissen Zeitraum (averaging loops) mittelt. Also z.B. bei jedem eingehenden Messwert am Ausgang einen Mittelwert über die letzten 20 Messwerte (incl. dem neu Eingegangenen) ausgibt. Leider konnte ich kein passendes Vi finden und habe es daher selbst als SubVI erstellt. Vielleicht kann das ja mal Jemand von euch brauchen, habe es angehängt (LabVIEW 2009 EN).

Im Moment macht mir noch etwas Anderes Probleme. Ich möchte dem Nutzer die Möglichkeit geben "Profile" in einer Tabelle einzugeben, also absolute Zeitangaben in Min. und dazugehörige Geschwindigkeitswerte. Diese Werte sollen dann zunächst als Diagramm dargestellt, und später vom Prüfstand "gefahren" werden. Das sollte doch an sich keine so großes Problem sein die Daten aus der Tabelle als Array dem Graphen zu übergeben. Ich würde dann alle X Sekunden den Geschwindigkeitswert aus dem Array heraus-interpolieren und als Sollwert verwenden und dem Prüfstand übergeben. Aber irgend wie passen die Arraytypen nicht ganz zusammen, ich bekomme die Werte nicht im Graphen dargestellt. habt ihr mir vielleicht einen guten Tip welche VI's in Frage kommen?
Zur Veranschaulichung habe ich eine Grafik angehängt. (Gibt es irgendwo einen guten MSPaint --> Vi Converter ?Cool)


Angehängte Datei(en) Thumbnail(s)
   

Sonstige .vi  ISL_Averaging.vi (Größe: 16,15 KB / Downloads: 148)
Webseite des Benutzers besuchen 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
  Umstieg von 2016 auf 2021 hulk 1 1.648 18.10.2021 07:19
Letzter Beitrag: TpunktN
  Umstieg von LV2016 auf ? RabenFlug 7 3.399 04.06.2020 13:13
Letzter Beitrag: jg
  Umstieg LV2010 auf LV2015 - div. Fragen FEL 0 2.522 31.05.2016 09:06
Letzter Beitrag: FEL
  Fragen von absoluter Labview-Beginnerin Nea 6 5.250 09.01.2012 07:52
Letzter Beitrag: rolfk
  Statemachine zur Erfassung von Messdaten nach ein paar tausend Messwerten sehr langsa nemesismf 4 4.851 20.09.2011 09:10
Letzter Beitrag: chrissyPu
  Fragen zu PID Regler belu003 3 5.924 18.08.2010 17:50
Letzter Beitrag: Lucki

Gehe zu: