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 

Schaltereinlesen innerhalb laufendem Programm erfolglos



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!

31.03.2006, 14:48
Beitrag #1

Stefan22 Offline
LVF-Grünschnabel
*


Beiträge: 22
Registriert seit: Mar 2006



kA



Schaltereinlesen innerhalb laufendem Programm erfolglos
Komischerweise gelingt es mir nicht in einer einfachen while
Schleife während des laufenden Programms, irgenwelche Schalterstellungen, welche vom Benutzer gedrückt werden, einzulesen.

Ich befinde mich in einer einfachen while Schleife, in der wenige Instrumenteneinstellungen vornehme und Messungen durchführe.
U.A. befindet sich noch ein delay Block von 5sec darin, jedoch keine Reaktion auf irgendwelche Art von Schalterveränderungen während des laufenden Programms.

Es muss doch möglich sein mit einem Schalter einen einfachen Interrupt zu erzeugen auch innerhalb einer laufenden Schleife, um diesen überall abrufen und auwerten zu können ?

Habt ihr ein paar Tips parat ?

Danke

Gruss Stefan
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
31.03.2006, 15:08
Beitrag #2

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
Schaltereinlesen innerhalb laufendem Programm erfolglos
Duzu dient ein Eventstructure, bitte LV-Help durchlesen


Gruss, Eugen
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
01.04.2006, 20:37
Beitrag #3

Stefan22 Offline
LVF-Grünschnabel
*


Beiträge: 22
Registriert seit: Mar 2006



kA



Schaltereinlesen innerhalb laufendem Programm erfolglos
OK ich hänge mal mein kleines Beispiel VI dran - es geht
mir da nur um's Prinzip ich starte aus einer Ereignisstruktur auf eine
Buttoneingabe meine kleine Schleife.
Ich möchte nun nichts anderes machen, als mit einem anderen Button eine Aktion auslösen z.B. Pause oder Abbrechen -
das Problem ist nur, dass ich keinerlei Reaktion auf Buttoneingaben während dem laufenden Programm habe!


Angehängte Datei(en)
Sonstige .vi  counter.vi (Größe: 61,39 KB / Downloads: 183)

Danke

Gruss Stefan
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.04.2006, 00:14
Beitrag #4

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

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Schaltereinlesen innerhalb laufendem Programm erfolglos
Habe mir das mal angesehen und sehe da drei Fehlerchen:

1.) Aus einer Pause kommst Du nie wieder heraus. Der Schalter muß sich innerhalb der Schleife befinden (Der Case ist überflüssig), damit er während der Pause laufend abgefragt wird. Siehe Hilfe zu While-Schleifen, dort ist dieser geradezu "klassische" Fehler explizit erwähnt. Außerdem sollte sich in der Schleife ein Timer befinden, damit Dein Prozessor nicht verglüht.

2.) Das Schaltverhalten von Pause ist zu ändern auf "Beim Loslassen schalten". Bei dir wird der Pauseschalter nach Drücken automatisch rückgesetzt, die Pause ist immer nur von winzig kurzer Dauer.

3) Beim Ereignis "Start Counter" ist bei Dir das Häkchen: "Frontpanel bis zum Ausführungsende des Ereignis-Case speren" gesetzt. Der Pause-Schalter ist also, wie alle anderen Bedienelemente auch, während des Zählens totgelegt. Du kannst schlichtweg nichts mehr bedienen.

Ludwig
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.04.2006, 09:29
Beitrag #5

Stefan22 Offline
LVF-Grünschnabel
*


Beiträge: 22
Registriert seit: Mar 2006



kA



Schaltereinlesen innerhalb laufendem Programm erfolglos
Danke, werde die Punkte nochmal durchgehen.

Danke

Gruss Stefan
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.04.2006, 21:28
Beitrag #6

Stefan22 Offline
LVF-Grünschnabel
*


Beiträge: 22
Registriert seit: Mar 2006



kA



Schaltereinlesen innerhalb laufendem Programm erfolglos
Danke, hat soweit funktioniert, mit dem Häkchen, welches
im Frontpanel gesetzt war, und die Abfrage der Buttons in den
Ereignisstrukturen verhindert hat.
Nun habe ich noch eine zusätzliche Frage zur Afrage eines Buttons innerhalb
verschiedener Ereignisse -
als Beispiel will ich nun ein Abbruch Button in 2 unterschiedlichen Ereignissen
abfragen - hatte bisher für solche Fälle immer zusätzliche Lokale Variablen

erstellt, was jedoch anscheinend mit binären Schaltern in Kombi mit Latch -
Schaltverhalten zu Problemen führt.
Habt ihr hierfür auch eine alternative parat - danke


Angehängte Datei(en)
Sonstige .vi  counterMOD1.vi (Größe: 99,42 KB / Downloads: 194)

Danke

Gruss Stefan
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
02.04.2006, 21:48
Beitrag #7

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

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Schaltereinlesen innerhalb laufendem Programm erfolglos
Schnelle Antwort, ohne dein vi angesehen zu haben. 2 Möglichkeiten:
1. Die beiden Ereignisse in einen Ereignisrahmen unterbringen. Mit + (hinzufügen) kannst du für einen Ereignisrahmen nämlich mehr als nur ein Ereignis definieren!
2 Du kannst deinen Button2 auch außerhalb des Ereignisrahmens, aber natürlich noch in der While-Schleife, abfragen. Natürlich wird Button2 dann bei jedem Ereignis abgefragt. Wenn du das nicht willst, dann setzt du den button2 in einen case, der nur dann auf true conditioniert ist, wenn eines der beiden Ereignisse eingetreten ist.
Nachtrag: Habe es jetzt doch kurz angesehen. Ich würde es im Sinne von 2 ändern. Die Ereignisstruktur winzig klein machen, dort überhaupt nichts reintun. Alles in die While-Schleife legen. Die jetzt nicht angeschlossenen Buttons Start up/ Start Down wirst Du dann an Cases anschließen, damit in der richtigen Situation jeweils das Richtige geschieht.
Evtl. wäre noch ein Ereignis für Stop sinnvoll
Ludwig
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.04.2006, 07:51
Beitrag #8

Stefan22 Offline
LVF-Grünschnabel
*


Beiträge: 22
Registriert seit: Mar 2006



kA



Schaltereinlesen innerhalb laufendem Programm erfolglos
danke, das hilft mir in meinem speziellen Fall aber leider nicht weiter, da ich mich in einer Ereignisstruktur befinde und in dieser 2 Cases abfrage.
In jedem dieser Cases befindet sich auch noch eine While Schleife in der ich dann ein und denselben Schalter abfragen will.
Das aktuelle Problem ist nun, ich kann zwar in einer while Schleife diesen Eingabe Button/Schalter (Boolesch) abfragen, aber nicht in der anderen.
Hatte zwar schon eine lokale Variable dieses Schalters verwendet und diese dann in der zweiten while Schleife abgefragt, jedoch kann ich dann kein Latch Schaltverhalten verwenden.

Somit frage ich nun, wie kann ich auf diesen Button in einer zweiten Abfrage verweisen ? Alternativ zum Erstellen von einer lokalen Variable ??

Danke

Gruss Stefan
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.04.2006, 09:41
Beitrag #9

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

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Schaltereinlesen innerhalb laufendem Programm erfolglos
Alles was Du fragst sind Scheinprobleme, die erst durch diesen ganzen total redundanten und verhunzten Code selbst entstehen. Es genügt ein Bruchteil an Code, der so einfach ist, daß die Probleme entfallen. Allein schon das Benutzen der Ereignisstruktur heißt hier mit Kanonen auf Spatzen schießen.
Anbei ein Vorschlag


Angehängte Datei(en)
Sonstige .vi  counterMOD1_WA.vi (Größe: 28,04 KB / Downloads: 185)
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
  RTF, HTML und PDF innerhalb von VI anzeigen achim @ FZK 5 4.497 17.05.2021 08:36
Letzter Beitrag: Zelos
  Kommunikation mit laufendem Python-Script Lime 2 3.319 29.04.2021 16:32
Letzter Beitrag: jg
  Rechteck innerhalb eines Rechtecks oe-ms1 4 4.013 29.03.2018 11:52
Letzter Beitrag: oe-ms1
  Muster suchen, RegEx Ausdruck String innerhalb Klammern dali4u 2 5.676 23.09.2014 10:30
Letzter Beitrag: dali4u
  Ring Eigenschaft innerhalb eines Arrays setzen Marcy 6 8.062 27.08.2014 22:07
Letzter Beitrag: Lucki
  VI-Pfad innerhalb und von außerhalb eines Projektes öffnen Lucius2 5 6.304 20.02.2014 13:26
Letzter Beitrag: Lucius2

Gehe zu: