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 

Dieses Thema hat akzeptierte Lösungen:

Technikerprojekt mit Labview und Arduino



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!

07.01.2018, 12:40
Beitrag #11

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.692
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
RE: Technikerprojekt mit Labview und Arduino
Noch ein Hinweis:

Die Abfrage der beiden Eingänge direkt im Haupt-VI zu machen, kann nur als Notlösung gelten. Du hast ja bestimmt festgestellt: Das Auslesen der beiden Eingänge dauert sehr lange!

Besser ist hier eine Modultrennung: Ein Modul verarbeitet alles, was mit dem Arduino zusammenhängt. Ein anderes Modul alles das, was die Ablaufsteuerung an sich betrifft.

Mach also, wenn es denn deine Zeit erlaubt, ein SubVI, das letztendlich kontinuierlich die beiden Eingänge sampelt. Deren Zustände werden dann per Melder zur Verfügung gestellt. Gesteuert wird dieses SubVI durch eine Queue.

Das Hauptprogramm, das in deinem Falle auch die Ablaufsteuerung enthalten kann, pollt in kurzen Abständen (z.B. 50ms) den Melder und reagiert entsprechend.

Mit diesem Verfahren ist die Reaktionszeit auch auf die Tastenbetätigung durch das Schrankenpersonal angemessen ...

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
Anzeige
07.01.2018, 13:34
Beitrag #12

Stryke Offline
LVF-Neueinsteiger


Beiträge: 7
Registriert seit: Jan 2018

17.0f2
2017
DE



RE: Technikerprojekt mit Labview und Arduino
Hallo "Ich Selbst",
vielen Dank für das VI und die schnelle Hilfe!
Damit klappt die Ansteuerung exakt so wie sie soll! Ich habe jetzt noch die Ausfahrtsschranke hinzugefügt und auch das funktioniert problemlos!
Jetzt muss "nur" noch dieses VI mit der Zählung der freien Parkplätze vernetzt werden...
Sofern es weitere Probleme gibt melde ich mich wieder Tongue
>>> Yourock <<<
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.01.2018, 17:50 (Dieser Beitrag wurde zuletzt bearbeitet: 15.01.2018 11:48 von Stryke.)
Beitrag #13

Stryke Offline
LVF-Neueinsteiger


Beiträge: 7
Registriert seit: Jan 2018

17.0f2
2017
DE



RE: Technikerprojekt mit Labview und Arduino
Hallo nochmal,
ich habe das VI von dir um die Ausfahrtsschranke erweitert. Das funktioniert so weit auch alles aber ich habe einen kleinen Fehler, den ich mir nicht erklären kann:
Es tritt manchmal auf, dass die Ausfahrtsschranke über den IR-Sensor der Einfahrtsschranke geöffnet wird. Dieses Phänomen kann ich mir leider nicht erklären. Es tritt meistens auf, wenn der IR-Sensor recht lange ein Objekt erkennt.
Tut mir sehr Leid, dass ich schon wieder nerve Sad ich habe aber leider nur sehr wenig Wissen in Sachen LabView...
(Mein Wissensstand ist "LabView-Grundlagen 1 --> Kapitel 5.1 Bearbeiten von Arrays". Alles darüber hinaus ist durch rumprobieren, Youtube und eure Hilfe entstanden).
In Sachen Sub-VI's und dem ganzen Kram den du noch in deinem Zweiten Post genannt hast kenne ich mich demnach auch nicht aus. Da heißt es dann wieder rumprobieren sobald der komische Fehler weg ist!
Vielen Dank nochmal und einen schönen Abend noch.


Angehängte Datei(en)
17.0 .vi  Servomotor ansteuern Rev-0002.vi (Größe: 759,98 KB / Downloads: 333)

17.0 .ctl  MainState.ctl (Größe: 4,24 KB / Downloads: 313)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.01.2018, 19:59
Beitrag #14

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Technikerprojekt mit Labview und Arduino
Hallo Stryke,

Zitat:Es tritt manchmal auf, dass die Ausfahrtsschranke über den IR-Sensor der Einfahrtsschranke geöffnet wird. Dieses Phänomen kann ich mir leider nicht erklären. Es tritt meistens auf, wenn der IR-Sensor recht lange ein Objekt erkennt.
Die Ausfahrtsschranke wird geöffnet, wenn:
- "Taste Ausfahrt öffnen" vom User betätigt wird
- wenn im Timeout-Event der Wert von Pin11 sich ändert und ungleich Null ist

Hast du mal per Debugging (Sonden, Haltepunkte) geprüft, was von beidem Ursache für das Öffnen ist?
Wozu hast du per Errorwire eine Datenfluss-Abhängigkeit bei den diversen Vergleichen im Timeout-Event erstellt?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.01.2018, 20:28 (Dieser Beitrag wurde zuletzt bearbeitet: 08.01.2018 20:31 von IchSelbst.)
Beitrag #15

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.692
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
RE: Technikerprojekt mit Labview und Arduino
(08.01.2018 19:59 )GerdW schrieb:  Wozu hast du per Errorwire eine Datenfluss-Abhängigkeit bei den diversen Vergleichen im Timeout-Event erstellt?
Um eine Reihenfolge bei der Abarbeitung der Events (durch Wert(signalisierend)) zu definieren.

Funktioniert das überhaupt?


(08.01.2018 17:50 )Stryke schrieb:  Es tritt manchmal auf, dass die Ausfahrtsschranke über den IR-Sensor der Einfahrtsschranke geöffnet wird.
Wenn du mit LabVIEW programmierst, musst du dich um eine ausreichende Sequenzierung kümmern! Du selbst muss dich darum kümmern.


Angehängte Datei(en) Thumbnail(s)
       

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
19.01.2018, 20:35
Beitrag #16

Stryke Offline
LVF-Neueinsteiger


Beiträge: 7
Registriert seit: Jan 2018

17.0f2
2017
DE



RE: Technikerprojekt mit Labview und Arduino
Hallo nochmal,
das Programm ist inzwischen etwas fortgeschritten: Ein Lichtsensor, der die Parkplatzbeleuchtung ansteuert ist jetzt integriert und ein Counter für die verfügbaren Stellplätze ist jetzt auch drin. Ob Parkplätze frei sind oder nicht wird über eine grüne bzw. rote LED angezeigt.

Warum ich euch wieder einmal um Rat fragen muss: Bahn
1. Bei den Schranken besteht immer noch eine kleine Fehlfunktion, dass die IR-Lichtschranke der Einfahrtsschranke zeitweise die Ausfahrtsschranke öffnet....
Diese ist aber erst einmal nicht ganz so wichtig -wäre aber trotzdem schön das gelöst zu bekommen. Tongue

Mein neues Problem beschäftigt sich mit dem nun enthaltenen Counter der verfügbaren Parkplätze.
Geplant sind 8 Parkplätze. Der Wechsel der LED von Grün auf Rot funktioniert auch schon Einwandfrei.
Nun zu meinem Problem:
2. Ich möchte, dass die Einfahrtsschranke beim Erreichen der 8/8 nicht mehr öffnet. Ich habe es schon mit vergleichen, UND-Funktion usw. versucht und effektiv locker 2-3 Stunden rumprobiert -finde aber keine brauchbare Lösung.
Ich hoffe, dass einer von euch die zündende Idee hat Smile

Ich hänge euch nochmal mein aktuelles Programm an und baue auf euch Wink
Liebe Grüße!


Angehängte Datei(en)
17.0 .vi  Servomotor ansteuern Rev-0006 Schranke-Ampel-Beleuchtung.vi (Größe: 297,25 KB / Downloads: 289)

17.0 .ctl  MainState.ctl (Größe: 4,24 KB / Downloads: 298)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
20.01.2018, 16:04 (Dieser Beitrag wurde zuletzt bearbeitet: 20.01.2018 16:05 von IchSelbst.)
Beitrag #17

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.692
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
RE: Technikerprojekt mit Labview und Arduino
Ich hab da mal was vorbereitet. Was mit Queues und Melder und mit unabhängigen Modulen.

Nachtrag:
Und hab gleich mal ein Projekt daraus gemacht.


Angehängte Datei(en)
0.0 .zip  Parkplatz.zip (Größe: 885,36 KB / Downloads: 339)

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
21.01.2018, 13:26
Beitrag #18

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.692
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
RE: Technikerprojekt mit Labview und Arduino
Hallo Stryke

Ich hab da nochmals was angepasst und vorbereitet.

Da ich mir schon gedacht habe, dass meine Version für dich ungeeignet ist, hab ich auch dein Programm etwas angepasst. Ungeeignet ist der Code dann, wenn du ihn nicht verstehst - aber ihn aufgrund des Technikrojektes erklären musst. Im übrigen bin ich der Meinung, dass es überhaupt nichts ausmacht, zuzugeben, etwas nicht zu verstehen. Meistens ist dann allerdings der Lehrer an diesem Zustand Schuld - er hat es nämlich schlecht oder nicht erklärt.

Folgende Hinweise zu deinem Programm:

1. Alles in ein VI zu packen, hat mehrere Nachteile:
1.1 Der Sourcecode wird irgendwann zu groß und deswegen zwangsweise unübersichtlich.
1.2 Verifizieren, Validieren und Debuggen (hat er Lehrer mal erklärt was das ist?) wird mit steigender VI-Größe überproportional schwieriger.
1.3 Der fehlende, modulare Aufbau verhindert ein Wiederverwenden von applikationsunabhängigem Code (ein Modul Arduino könnte auch für was anderes als Parklatz-Ansteuerung verwendet werden).
1.4 Der Code wird auch deswegen vergrößert, weil viele Cases notwendig sind, um die Arduino-Befehle nicht auszuführen, wenn die Arduino-Software keine Arduino-Hardware gefunden hat. Ansonsten ist nämlich das Testen des Programmes ohne Arduino-Hardware extrem mühsam.

2. Du denkst viel zu kompliziert:
2.1 Da bist du nicht der einzige ...
2.2 Warum die Zählung der belegten Parkplätze nicht genau dort machen, wo die Schranke auf und zu geht - also dort, wo der Arduino-Befehl hierfür steht?
2.3 Wo die Einfahrtschranke geöffnet wird, wird die Anzahl der belegten Plätze um eins erhöht - einschließlich Kontrolle ob das Maximum erreicht ist.
2.4 Wo die Einfahrtschranke wieder geschlossen wird, wird die Ampel entsprechend den belegten Plätzen neu berechnet.
2.5 Wo die Ausfahrtschranke geöffnet wird, wird die Anzahl der belegten Plätze um eins erniedrigt - einschließlich Kontrolle ob alle Plätze jetzt frei sind (= Null) erreicht ist.
2.6 Wo die Ausfahrtschranke geöffnet wird, wird die Ampel entsprechend den belegten Plätzen neu berechnet.
2.7 Anstelle von Lokalen Variablen sollten, gerade in LabVIEW, besser Schieberegister verwendet werden. Also alles (naja, zumindest sehr viel) in Schieberegister legen - und dann in allen Cases mit dem Wert aus dem Schieberegister arbeiten.
2.8 Da die Anzahl der belegten Plätze (jetzt aufgrund des Schieberegisters, Variablen täten es aber auch), überall verfügbar ist, kann man den Arduino-Befehl unterbinden, wenn die Parkplätze alle belegt sind ...

3. Fragen des Lehrers:
3.1 Warum geht die Ampel erst beim Schließen der Einfahrtsschranke auf Rot (wenn alle Plätze belegt sind) und nicht schon beim Öffnen?
3.2 Warum ist es bei der Ausfahrtschranke umgekehrt?
3.3 Kann es vorkommen, dass aufgrund von Vorrangproblemen (das ist eine Art Race-Condition) die Ampel einen inkonsistenten Zustand annimmt (= grün, obwohl acht Plätze belegt sind, oder umgekehrt)

4. Frage von mir:
4.1 Kannst du mal ausprobieren, ob mit meiner modularen Programmierung das Problem mit der falschen Schranke behoben ist?


Angehängte Datei(en)
0.0 .zip  Parkplatz_II.zip (Größe: 1,1 MB / Downloads: 305)

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
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Arduino Temperatur-erfassung Timesplinter 4 11.613 13.11.2017 17:02
Letzter Beitrag: Timesplinter
  Servo-Motor mit Labview ansteuern über Arduino fakeshow 9 18.310 08.02.2017 13:19
Letzter Beitrag: fakeshow

Gehe zu: