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 

LabVIEW LINX für Raspberry



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!

27.01.2021, 19:22
Beitrag #1

markus78 Offline
LVF-Neueinsteiger


Beiträge: 7
Registriert seit: Jan 2021

2019C
2019
DE


Schweiz
LabVIEW LINX für Raspberry
Ich bin noch ziemlich ein Greenhorn auf dem Gebiet von LabView und vorallem in Bezug auf Raspberry-PI.
Folgendes Problem:
Ich habe ein VI programmiert dass in sich funktioniert. Ein- & Ausgaben sind bis auf Abruf der Systemzeit nur Boolsche Werte die ich in ein Array ein- resp. auslese.
Und genau mit diesen boolschen Werten möchte ich die GPIO des Raspy ansteuern, resp. einlesen. Das Ganze soll eine BCD-Eingabe mit Umwandlung in einen Hammingcode darstellen.
Ich verwende LabView 2020 und habe hierfür bereits von MakerHub das LINX-Toolkit installiert. Angeblich für Raspy's der 2.Gen. geschrieben, aber scheint bedingt auf für das Raspy 4.Gen. zu funktionieren.
Nun zur eigentlichen Frage:
- Kann ich irgendwie das ganze auf das Raspy übertragen, so dass die Anwendung selbst nach einem Stromausfall unabhängig wieder startet und permanent durchläuft? Denn das ganze System muss als Vorgabe auf einem Embedded-System laufen und darf nicht mehr mit dem Programmierlaptop verbunden sein.
- Kann die bei allenfalls lauffähigen Software die Systemzeit des Raspy's automatisch abrufen in meinem VI oder muss ich das auch noch irgendwie verknüpfen?
- Muss ich jedes Boolsche Signal einzeln schreiben/lesen oder kann ich ähnlich wie bei einem myDAQ ganze Array an definierte GPIO's übermitteln.

Viele Fragen .... Bahn hoffe auf gute Antworten

P.S. Für eine allfällige Verbreitung besteht bis am 01.05.2021 ein Copyright durch mich.


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
28.01.2021, 08:23
Beitrag #2

MScz Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 75
Registriert seit: May 2020

2019,2020
2014
DE_EN



RE: LabVIEW LINX für Raspberry
Hallo Markus,

ich empfehle dir diese Artikelserie zu LabVIEW auf dem RPi, da sollten die meisten deiner Fragen beantwortet werden.

https://www.mediamongrels.com/make-ing-w...roduction/
https://www.mediamongrels.com/make-ing-w...iguration/
https://www.mediamongrels.com/make-ing-w...-pi-setup/
https://www.mediamongrels.com/make-ing-w...xg-webvis/

Zum Thema Stromausfall: Stromausfälle mag das RPi Betriebssystem nicht so und ich hatte da schon so meine Probleme mit. Besser den Rpi immer runterfahren und ne echt gute SD Karte kaufen.
Lexar hat bei meinem RPi Probleme gemacht, seid dem ich nur noch Samsung Evo und SanDisk Extreme einsetze habe ich da aber auch weniger Probleme mit.

Meines Wissensstandes nach sollte man die Community Edition von LV nutzen, weil hier LINX direkt mit kommt. Habe damals den selben Weg wie du gewählt (LV2020 + LINX nach installiert) und da hat es nicht geklappt. Mit der Community hat es ohne Probleme geklappt.

Abschließend würde ich LV für diese kleinen Embeded Sachen nicht mehr nutzen, weil man immer mal in Probleme läuft und der Support gefühlt null ist.
Mit Python ist man da auf dem besseren Weg, gerade weil MicroPython ja auch auf dem ESP32 oder Raspberry Pico läuft.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.01.2021, 08:57 (Dieser Beitrag wurde zuletzt bearbeitet: 28.01.2021 08:58 von IchSelbst.)
Beitrag #3

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.697
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
RE: LabVIEW LINX für Raspberry
(27.01.2021 19:22 )markus78 schrieb:  Ich habe ein VI programmiert dass in sich funktioniert.
Das mag zwar hinlänglich funktionieren, hat aber offensichtlich im Signal Ausgabearray mehrere RaceConditions.

Ich weiß ja nicht, ob das so bleibt und ob dein "funktioniert" auch diese ReceConditions beinhaltet. Ich würde das nicht so belassen, auch wenn möglicherweise auf dem Zielsystem tatsächlich nie ein Fehler auftreten würde bzw. könnte - weil um Mitternacht niemand den Taster drückt.

Nachtrag:
Ich vergas den Copyright: Also ich würde diesen Code nie nachmachen, verwenden oder weitergeben.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.01.2021, 12:05
Beitrag #4

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: LabVIEW LINX für Raspberry
Hallo Markus,

neben den schon erwähnten Race-Conditions, um die du dich noch kümmern solltest, zwei Tipps:

1) Die Berechnung des numerischen Werts geht auch einfacher, dafür brauchst du keine Formula Node:
   

2) Anstelle der extrem kreativen Verwendung der FOR-Loop empfehle ich den Einsatz einer Case-Struktur, dann ist das Programm deutlich besser lesbar.

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.01.2021, 21:06 (Dieser Beitrag wurde zuletzt bearbeitet: 28.01.2021 21:16 von markus78.)
Beitrag #5

markus78 Offline
LVF-Neueinsteiger


Beiträge: 7
Registriert seit: Jan 2021

2019C
2019
DE


Schweiz
RE: LabVIEW LINX für Raspberry
(28.01.2021 08:57 )IchSelbst schrieb:  [quote='markus78' pid='198453' dateline='1611771744']Ich habe ein VI programmiert dass in sich funktioniert.Das mag zwar hinlänglich funktionieren, hat aber offensichtlich im Signal Ausgabearray mehrere RaceConditions.

Ich weiß ja nicht, ob das so bleibt und ob dein "funktioniert" auch diese ReceConditions beinhaltet. Ich würde das nicht so belassen, auch wenn möglicherweise auf dem Zielsystem tatsächlich nie ein Fehler auftreten würde bzw. könnte - weil um Mitternacht niemand den Taster drückt.

Vielen Dank für dein Feedback....aber wie Anfangs meines Treads geschrieben steht: Greenhorn BlinkBlinkBlink

Was genau sind ReceConditions? Und wie genau stehen sie in Ursache in meiner Programmierung, resp. was sind die Auswirkungen?
Wie genau müsste ich den mein VI anpassen resp. ergänzen, damit ich dieser Fehlerquelle vorbeugen kann?

Vielen Dank für eine Antwort
(28.01.2021 12:05 )jg schrieb:  Hallo Markus,

neben den schon erwähnten Race-Conditions, um die du dich noch kümmern solltest, zwei Tipps:

1) Die Berechnung des numerischen Werts geht auch einfacher, dafür brauchst du keine Formula Node:


2) Anstelle der extrem kreativen Verwendung der FOR-Loop empfehle ich den Einsatz einer Case-Struktur, dann ist das Programm deutlich besser lesbar.

Gruß, Jens

Vielen Dank für dein Feedback und deine Vorschläge.
Betreffend den Race-Conditions habe ich schon ein geantwortet dass ich keine Ahnung habe was damit gemeint ist.
Kleine Frage zu Pkt.1: Was ist das genau für ein Symbol? Sowas wie ne Matrix....habs nicht gefunden.
Kleine Frage zu Pkt.2: Meinst du dass innerhalb der WHILE eine CASE-Struktur laufen soll in der die folgenden 2 Zustände auftretten - 1.Reset um Mitternacht - 2.Bestätigung und Ausgabe des Ausgabearray?

Vielen Dank für deine Hilfe
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.01.2021, 21:22
Beitrag #6

markus78 Offline
LVF-Neueinsteiger


Beiträge: 7
Registriert seit: Jan 2021

2019C
2019
DE


Schweiz
RE: LabVIEW LINX für Raspberry
(28.01.2021 08:23 )MScz schrieb:  Hallo Markus,

ich empfehle dir diese Artikelserie zu LabVIEW auf dem RPi, da sollten die meisten deiner Fragen beantwortet werden.

Mit Python ist man da auf dem besseren Weg, gerade weil MicroPython ja auch auf dem ESP32 oder Raspberry Pico läuft.

Vielen Dank für die Links...werde mich da mal durchlesen...hoffe das ich das mal verstehe Big Grin
Die Vorgabe mit LabView auf einem Embedded System ist nicht auf meinem Mist gewachsen......Es gibt Dozenten die wollen das so Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
29.01.2021, 08:49 (Dieser Beitrag wurde zuletzt bearbeitet: 29.01.2021 08:53 von GerdW.)
Beitrag #7

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: LabVIEW LINX für Raspberry
Hallo Markus,

Zitat:Was genau sind ReceConditions? Und wie genau stehen sie in Ursache in meiner Programmierung, resp. was sind die Auswirkungen?
Wie genau müsste ich den mein VI anpassen resp. ergänzen, damit ich dieser Fehlerquelle vorbeugen kann?
Schau dir mal die Links in meiner Signatur an…
Um die RaceConditions in deinem Code zu vermeiden, solltest du ALLE lokalen Variablen durch Draht und Schieberegister ersetzen!

Zitat:Kleine Frage zu Pkt.1: Was ist das genau für ein Symbol? Sowas wie ne Matrix....habs nicht gefunden.
BuildArray. Wenn du diese Funktion nicht kennst, muss ich dir nochmal die Links in meiner Signatur nahelegen!

Eine "Matrix" ist in LabVIEW nur angebracht, wenn du mathematische Matrix-Berechnungen durchführen willst. Alles andere macht man mit Arrays…

Zitat:Kleine Frage zu Pkt.2: Meinst du dass innerhalb der WHILE eine CASE-Struktur laufen soll in der die folgenden 2 Zustände auftretten - 1.Reset um Mitternacht - 2.Bestätigung und Ausgabe des Ausgabearray?
Ja.
Ich würde noch einen dritten Case/State hinzufügen: "nichts am Ausgabearray ändern"!

Damit bist du dann ganz kurz vor einer Statemachine, einem der simpelsten (und doch oftmals effektivstem) Programmschemata…

Noch mehr Anmerkungen zu deinem VI:
- Warum musst du "Zwischenarray" erst als Array mit 7 Elementen definieren und dann in der Schleife die 7 Elemente allesamt ersetzen? Würde es dann nicht viel einfacher (und besser lesbar) sein, wenn du einfach ein "Zwischenarray" aus den 7 Elementen baust - mittels BuildArray??? Hmm
- Du verwendest ein InRangeAndCoerce, was prinzipiell nicht schlecht ist. Dummerweise willst du damit Strings prüfen: du weißt schon, dass dieser Check bei Strings anders verläuft als bei numerischen Zahlenwerten?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
31.01.2021, 22:58
Beitrag #8

markus78 Offline
LVF-Neueinsteiger


Beiträge: 7
Registriert seit: Jan 2021

2019C
2019
DE


Schweiz
RE: LabVIEW LINX für Raspberry
(29.01.2021 08:49 )GerdW schrieb:  Hallo Markus,
- Um die RaceConditions in deinem Code zu vermeiden, solltest du ALLE lokalen Variablen durch Draht und Schieberegister ersetzen!
- Ich würde noch einen dritten Case/State hinzufügen: "nichts am Ausgabearray ändern"!
- Du verwendest ein InRangeAndCoerce, was prinzipiell nicht schlecht ist. Dummerweise willst du damit Strings prüfen: du weißt schon, dass dieser Check bei Strings anders verläuft als bei numerischen Zahlenwerten?

Hallo GerdW

Das mit dem InRangeAndCoerce verstehe ich leider überhaupt nicht.
Jedoch habe ich versucht die anderen Punkte im VI umzusetzen. Habe jetzt alle lokalen Variablen entfernt.
Allerdings geht es jetzt grad gar nicht mehr so wie es sollte. Das Zwischenarray habe ich jetzt in einem Case mit einer Bedingung auf das Ausgabearray geführt
Ebenso kann jetzt der TimeReset ein TRUE auf das Case geben und damit das Ausgangsarray mit FALSE-Werten füllen.
Jedoch wenn ich die BCD-Eingabe vom Zwischenarry ins Ausgangsarray übertragen möchte, passiert das jetzt natürlich nur 1 Zyklus lang.
Die übertragenen Werte sollten jetzt aber darin gespeichert werden, bis entweder ein neuer Wert übertragen wird, oder das TimeReset alles auf FALSE stellt.

Ich schnalls echt überhaupt nicht mehr Bahn

Bin froh um jeden Tip....

Vielen Dank im Voraus


Angehängte Datei(en)
19.0 .vi  BCD_Eingabe_V11.vi (Größe: 22,16 KB / Downloads: 178)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
01.02.2021, 13:51 (Dieser Beitrag wurde zuletzt bearbeitet: 02.02.2021 07:55 von jg.)
Beitrag #9

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: LabVIEW LINX für Raspberry
Statt AND und OR, es gibt auch noch andere Operationen. Wenn ich richtig verstehe, dann willst du das hier?

   

Oder doch eine Automatik für den Bestätigungsbutton? Dann musst du nur den "numerischen Wert" auf Wertwechsel untersuchen.

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
01.02.2021, 23:01
Beitrag #10

markus78 Offline
LVF-Neueinsteiger


Beiträge: 7
Registriert seit: Jan 2021

2019C
2019
DE


Schweiz
RE: LabVIEW LINX für Raspberry
(01.02.2021 13:51 )jg schrieb:  Statt AND und OR, es gibt auch noch andere Operationen. Wenn ich richtig verstehe, dann willst du das hier?



Oder noch einen Automatik für den Bestätigungsbutton? Dann musst du nur den "numerischen Wert" auf Wertwechsel untersuchen.

Gruß, Jens

You are my hero Big Grin

JA JA JA .... und das Nahe leigt doch so fern.....darauf dürfte man also auch selbst kommen WallWallWall

Vielen vielen Dank.....so rum läufts Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Raspberry PI LINX Toolkit WLAN SSID abrufen Zelos 2 3.491 14.01.2022 12:24
Letzter Beitrag: Zelos
  Gedankenspielerei LabVIEW Vi auf einem Raspberry Pi 4 8Gb/4Gb bachatero18 6 6.897 10.11.2020 15:29
Letzter Beitrag: jg
  LINX Square Wave Gansalf 4 4.221 26.03.2019 15:57
Letzter Beitrag: Gansalf
  LINX und I2C wolle70 1 3.711 06.03.2019 15:56
Letzter Beitrag: wolle70
  UDP Kommunikation mit Raspberry 3 Fishbone07 1 3.346 22.02.2017 15:55
Letzter Beitrag: Hubert R.

Gehe zu: