26.03.2013, 23:25
|
TenaciousB
LVF-Grünschnabel
Beiträge: 20
Registriert seit: Dec 2010
8.5
-
de
Deutschland
|
RE: Ergebnis Rechnung als "Controller" verwenden
Hallo GerdW,
nun hab ichs geschafft. Die Endschalter funktionieren! Ahh super!
Zum FlipFlop kann ich nur sagen, dass ich es nach Lehrbuch nachgebaut habe. Es hat auch funktioniert. Das FlipFlop, welches ich als Sub-VI verwendet habe, habe ich im Netz gefunden. Hab dann das verwendet… einfach so.
Aber hab jetzt deins nachgebaut. Funktioniert wie am Schnürchen, danke!
Und wenn ich nun ein zweites einbaue, was ich auch voraussichtlich machen werde, dann passt das jetzt… bezüglich „Ablaufinvariant“.
Eigentlich kann man mein Thema nun als gelöst markieren.
Jedoch ist das Programm nun nicht ganz beendet. Es fehlt noch das Motor-STOP – Signal durch klatschen oder einen Ton…
Das VI dazu hier.
Soundmodul.vi (Größe: 156,64 KB / Downloads: 128)
Kann ich dieses verwenden und ins Schrittmotorsteuerung-Programm einbauen, oder gibt es hier auch eine bessere Lösung wie beim FlipFlop?
Ich hab schon ein wenig herum experimentiert und das Programm ins Schrittmotorsteuerung-Programm eingebaut. Doch leider ist es auch hier so, dass ich alle anderen Schalter und Regler lahmlege. Wahrscheinlich werden auch hier alle anderen Events blockiert.
Doch irgendwie muss ich es doch so programmiere können, dass das Ganze parallel läuft, denn der Motor soll stoppen, sobald gepfiffen oder geklatscht wird. Und das sollte zu einen X-beliebigen Zeitpunkt geschehen können.
Besten Dank
|
|
|
27.03.2013, 06:49
|
NWOmason
Simultator
Beiträge: 1.078
Registriert seit: Dec 2010
2012.SP1
2008
EN
93047
Deutschland
|
RE: Ergebnis Rechnung als "Controller" verwenden
(26.03.2013 23:25 )TenaciousB schrieb: Ich hab schon ein wenig herum experimentiert und das Programm ins Schrittmotorsteuerung-Programm eingebaut. Doch leider ist es auch hier so, dass ich alle anderen Schalter und Regler lahmlege. Wahrscheinlich werden auch hier alle anderen Events blockiert.
Das kommt nun ganz darauf an, wie du das Sound-VI in dein bisheriges Programm einbaust? Das andere Events blockiert werden ist abhängig, an welcher Stelle das Sound-Vi aufgerufen wird.
(26.03.2013 23:25 )TenaciousB schrieb: Doch irgendwie muss ich es doch so programmiere können, dass das Ganze parallel läuft, denn der Motor soll stoppen, sobald gepfiffen oder geklatscht wird. Und das sollte zu einen X-beliebigen Zeitpunkt geschehen können.
Natürlich kannst du das Parallel laufen lassen. Das Vi läuft parallel, wenn es nicht vom Datenfluss an das bisherige Programm gebunden ist. Heißt, wenn es zum beispeil in einer speraten zum Hauptprogramm parallelen Schleifen läuft. Du könntest z.B. Das boolsche Element 'LED Amplitude' verwenden, um ein Event auslösen zulassen (Wiederrum mittels 'ValSignaling'), um von der parallelen Sound-Schleife in die Hauptschleife eventbasiert einzugreifen und so die Motorsteuerung zu beenden.
Beste Grüße,
NWO
|
|
|
27.03.2013, 22:59
|
TenaciousB
LVF-Grünschnabel
Beiträge: 20
Registriert seit: Dec 2010
8.5
-
de
Deutschland
|
RE: Ergebnis Rechnung als "Controller" verwenden
Hallo NWO,
cool, dass du so schnell geantwortet hast!!
Also ich habe nun mein „Soundmodul“ genommen und in eine neue Schleife im „Schrittmotorsteuerung_N11“ integriert.
So müsste es normal parallel laufen, oder?
Jedoch blockiert das ganze Programm. Hmm??
Ja genau die Amplitude zu verwenden, mit welcher man etwas schalten kann, sobald sie einen bestimmten Wert überschreitet, war von Anfang an meine Intention.
Jedoch ist die Umsetzung nicht gerade so einfach.
Könntest du (ihr), mir vielleicht noch einen Tipp geben, was da das Problem sein könnte?
Schrittmotorsteuerung_N11.vi (Größe: 213,98 KB / Downloads: 126)
Herzlichen Dank
|
|
|
28.03.2013, 06:43
(Dieser Beitrag wurde zuletzt bearbeitet: 28.03.2013 06:44 von NWOmason.)
|
NWOmason
Simultator
Beiträge: 1.078
Registriert seit: Dec 2010
2012.SP1
2008
EN
93047
Deutschland
|
RE: Ergebnis Rechnung als "Controller" verwenden
(27.03.2013 22:59 )TenaciousB schrieb: So müsste es normal parallel laufen, oder?
Ja, sie laufen parallel.
(27.03.2013 22:59 )TenaciousB schrieb: Jedoch blockiert das ganze Programm. Hmm??
Du könntest mal eine Wartezeit ins Sound-VI reinhängen. Evtl. können die Events gar nicht abgearbeitet werden, da die obere Schleife 'so schnell wie möglich' läuft.
(27.03.2013 22:59 )TenaciousB schrieb: Könntest du (ihr), mir vielleicht noch einen Tipp geben, was da das Problem sein könnte?
Hast du das Ganze schon mal (zumindest) mit Sonden gedebugget? dann würdest du genau sehen, wo dein Programm sich befindet und ob die Eventstruktur überhaupt auslöst.
Beste Grüße,
NWO
P.S. Wenn ich beim Sound-Vi eine Wartezeit einfügen und alle 'Motoren'-Vis deaktiviere (Da ich diese nicht habe) und mich dann mit Sonden reinhänge, werden Events in der Eventstruktur registriert und abgearbeitet.
|
|
|
01.04.2013, 23:45
(Dieser Beitrag wurde zuletzt bearbeitet: 01.04.2013 23:50 von TenaciousB.)
|
TenaciousB
LVF-Grünschnabel
Beiträge: 20
Registriert seit: Dec 2010
8.5
-
de
Deutschland
|
RE: Ergebnis Rechnung als "Controller" verwenden
Hallo NWO, hallo GerdW und alle Mitleser,
hoffe Ihr hattet erholsame Ostern!!
NWO ein riesen DANKESCHÖN für deine Info mit der Wartezeit. Hab etwas gebraucht, um zu lernen wie man eine Schleife überhaupt warten lässt. Aber hab`s schlussendlich geschafft
Das bedeutet, dass die beiden Schleifen nun in einem VI parallel laufen!!! Ich hab mich echt gefreut darüber! Aber krass, wie leicht es geht die maximal zur Verfügung stehende Prozessorleistung auszuschöpfen. Als newbie dachte ich, dass man dazu viel aufwändigere Programme schreiben müsste.
Über die Feiertage habe ich nun auch die Endschalter (Microswitch) an die Inputs der Endstufe angeschlossen. (Habe bis jetzt immer nur mit einem Stück Kabel probiert).
Das Problem welches jetzt aufgetreten ist hätte ich nie erwartet. Und zwar:
Ein Endschalter funktioniert genau wie ich es haben möchte. Ich betätige Endschalter (hinunter drücken) und der Motor ändert sogleich die Richtung.
Aber beim Anderen ist es so, dass die Richtungsänderung erst erfolgt, wenn der Endschalter losgelassen wird.
Ich kann mir einfach nicht erklären an was dies liegt.
Wenn ich das Flipflop ganz virtuell in LabView simuliere, schaltet es doch auch gleich beim Drücken um und nicht erst beim Loslassen.
Habe auch meine ersten Versuche angestellt, den Motor bei Erreichen einer bestimmten Amplitude zu stoppen. Möchte dazu den Schalter „Engage“ (dann Event) verwenden. Hat bis jetzt noch nicht hingehaut. Aber ich lass nicht locker.
Das erstere Problem bereitet mir im Moment eher Kopfzerbrechen.
Hat da jemand vielleicht eine Idee dazu?
lG Thankz
TenaciousB
|
|
|
02.04.2013, 08:15
|
GerdW
______________
Beiträge: 17.469
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: Ergebnis Rechnung als "Controller" verwenden
Hallo B,
Zitat:Ich kann mir einfach nicht erklären an was dies liegt.
Wir auch nicht, ohne aktuelles Vi und ohne Hardware. Debugging wäre mal eine gute Idee
Zitat:Wenn ich das Flipflop ganz virtuell in LabView simuliere, schaltet es doch auch gleich beim Drücken um und nicht erst beim Loslassen.
Verwendest du etwa ein FF "in Hardware"? Debugging mittels DMM versucht?
|
|
|
02.04.2013, 10:26
(Dieser Beitrag wurde zuletzt bearbeitet: 02.04.2013 10:27 von TenaciousB.)
|
TenaciousB
LVF-Grünschnabel
Beiträge: 20
Registriert seit: Dec 2010
8.5
-
de
Deutschland
|
RE: Ergebnis Rechnung als "Controller" verwenden
Guten Morgen GerdW,
natürlich stelle ich euch das aktuelle VI gerne ins Forum.
Schrittmotorsteuerung_N12.vi (Größe: 216,4 KB / Downloads: 148)
+ SUBVI`s
SubVI_Library.rar (Größe: 264,68 KB / Downloads: 132)
Da das Problem aber in der unteren Schleife „Schrittmotorsteuerung“ auftritt und sich außer dem Einsetzen des „Soundmoduls“ mit Wartezeit nichts geändert hat, dachte ich, es sei nicht notwendig.
Nicht böse gemeint!
Hmm, also meines Wissens verwende ich kein Hardware FF:
Ich verwende folgende Eingänge:
http://www.phidgets.com/docs/Digital_Input_Primer
Siehe: Using the Digital Inputs
Erstes Beispiel.
Also mit Debuging im Highlightmodus habe ichs versucht. Hilft mir im Moment nicht unbedingt weiter, da ich`s nicht richtig nachvollziehen kann.
Aber folgendes ist mir aufgefallen … Das Problem könnte/sollte irgendwo im FlipFlop liegen. Da die 4 „INPUT“-Leds prompt bei hinunter drücken der Microswitch aufleuchten. Das FlipFlop jedoch erst reagiert, wenn ich den einen Microswitch losgelassen habe.
Ich glaube ich habe eine Vermutung an was es liegen könnte. Das FF habe ich in die falsche Schleife eingebaut?!… mal schaun…
Debuging mit DMM: muss mich erst schlau machen wie dies funktioniert.
Aber vielen Dank für eure Inputs!!
|
|
|
02.04.2013, 11:12
(Dieser Beitrag wurde zuletzt bearbeitet: 02.04.2013 11:14 von TenaciousB.)
|
TenaciousB
LVF-Grünschnabel
Beiträge: 20
Registriert seit: Dec 2010
8.5
-
de
Deutschland
|
RE: Ergebnis Rechnung als "Controller" verwenden
Hallihallo,
habs geschafft Meine Vermutung war richtig. Habe das FF mit allen drum und dran, in die Exec-Schleife eingefügt. Nun funktioniert die Richtungsänderung gleich bei niederdrücken der Endschalter. Super!!
Ich freu mich über jeden kleinen Schritt den ich weiter komme!!
So, nun „nur“ noch Motor-Stopp bei Erreichen einer bestimmten Amplitude und das Testprogramm ist fertig.
Hier das aktuelle VI… wen`s interessiert!
Schrittmotorsteuerung_N14.vi (Größe: 213,91 KB / Downloads: 130)
|
|
|
02.04.2013, 12:06
|
TenaciousB
LVF-Grünschnabel
Beiträge: 20
Registriert seit: Dec 2010
8.5
-
de
Deutschland
|
RE: Ergebnis Rechnung als "Controller" verwenden
Hallo,
hab das Programm nun noch einmal ausprobiert. Es geht nicht mehr, da es sich total aufhängt. Da hab ich mich wohl zu früh gefreut. Obwohl ich nicht ganz nachvollziehen kann, warum es anfangs funktioniert hat.. Ich hab dazwischen doch nix geändert?! Naja, ein kleines Stückchen weiter bin ich zumindest gekommen. Hmm…
|
|
|
04.04.2013, 05:19
|
NWOmason
Simultator
Beiträge: 1.078
Registriert seit: Dec 2010
2012.SP1
2008
EN
93047
Deutschland
|
RE: Ergebnis Rechnung als "Controller" verwenden
(02.04.2013 12:06 )TenaciousB schrieb: Es geht nicht mehr, da es sich total aufhängt. Da hab ich mich wohl zu früh gefreut.
Die Fehlerbeschreibung ist leider wiedermal nur ungenügend. Mit 'es sich total aufhängt' heißt, es können keine Eingaben mehr getätigt werden? Oder LabVIEW hängt? Oder der Motor wird nicht mehr angesteuert?
Hast du es schon mal mit Debugging probiert?
Die Wartezeit von 1ms! ist ja auch mehr als Großzügig
Beste Grüße,
NWO
|
|
|
| |