Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Abruchfunktion
14.02.2010, 16:04
Beitrag: #1
Abruchfunktion
Hallo,
ich nutze den Counter Agilent 53132A untere anderem um die Pulsweite eines Signals zu messen.
Je nach Signal ist aber der Trigger nicht gesetzt. So wartet Vee leider so lange bis ein Signal des Counters reinkommt. Da dieser aber wiederum auf ein Triggersignal wartet wird das gesammte Programm blockiert.

Hat jemand eine Idee wie ich diese Blockierung auf Hardwareseite, d.h. am Counter, oder bei Software lösen kann?

Ziel ist es, dass diese MEssung bei Blockierung gestoppt wird und zumnächsten Punkt springt.

Ich habe schon mehrere Versuche gestartet unter anderen, dass untere.
DIes geht allerdings auch nicht, da

1. die Zeitzählung unterbrochen wird bzw. sie springt erst wieder auf den richtigen Wert, wenn ein Signal vom Counter herein kommt.

2. Der Counter gibtsolange er im Interupt ist überhaupt keinen Wert aus (NIL).

Kann ich den Nil-Wer als Abfrage in die Abbruchbedingung irgendwie implementieren?

Ich bin für jeden Tip dankbar.



Nachtrag: unten rechts erfolgt einfach nur ein Preset des Counters.


Angehängte Datei(en) Thumbnail(s)
   
Diese Nachricht in einer Antwort zitieren
15.02.2010, 14:53 (Dieser Beitrag wurde zuletzt bearbeitet: 15.02.2010 14:58 von detlef.)
Beitrag: #2
RE: Abruchfunktion
Mal auf die Schnelle:
aehnliches Problem hatte ich an der seriellen Schnittstelle.
Werte auslesen, wenn keine ankommen ..was tun?
Die Loesung gab es mittels Interface Event und NOwait.
Da wurde dann zyklisch mit cycle 0.1 sec die Schnittstelle abgefragt, und wenn nichts kam, im Programm weitergemacht.
So muesste es auch bei dir laufen.
Ich stell spaeter mal das Bespiel mit der ser. Schnittstelle hier rein.
Dann nur leicht anpassen.

Und noch so ganz nebenbei: die Beispielprogramme zum Zaehler hast du dir schon angeschaut ??
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
15.02.2010, 17:38
Beitrag: #3
RE: Abruchfunktion
Moin,

versuche es mal mit einem Timeout-Pin am Counter versucht ?

Die Timeoutzeit kannst du vorgeben und wenn ein Timeout vom Counter erzeugt wird, dann mit NEXT erneut in die Abfrageschleife springen.

Die Zeitzählung ist dafür eigentlich überflüssig.

Gruߟ Bratbaecker
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
17.02.2010, 10:35
Beitrag: #4
RE: Abruchfunktion
Danke schön.
Leider funktioniert das mit dem Timeout-Pin am Eingang des Counter weiterhin nicht.
Genauso sieht es mit dem Intervace aus....

Vee steigt weiterhin bei keinen ankommmenden Daten mit "keiner Rückmeldung" aus. Da alle Priorotäten der Schnittstelle zugeortnet werden.

Könntet ihr wohl mal ein Beispielsprogramm einstellen. Vllt seh ich den Wald vor lauter Bäumen nicht mehr Dodgy
Diese Nachricht in einer Antwort zitieren
18.02.2010, 09:25
Beitrag: #5
RE: Abruchfunktion
update
Diese Nachricht in einer Antwort zitieren
18.02.2010, 12:11 (Dieser Beitrag wurde zuletzt bearbeitet: 18.02.2010 12:19 von detlef.)
Beitrag: #6
RE: Abruchfunktion
Hier das versprochene Beispiel , von Les Ord:

mit ON cycle wird alle 0,5 sec das folgende Interface event abgefragt, in diesem Falle die serielle Schnittstelle.
Wenn dort etwas vorhanden ist, gibt der EVENT Output eine Zahl ungleich Null, die naechste Abfrage erkennt das und geht auf ELSE, sodass dann der naechte Block mit COM1 abgearbeitet wird.
Wenn nichts vorhanden ist an dem Interface, gibt das Event eine Null, und man kommt zum NEXT, sodass man zurueck zum Vee-Hauptprogramm springt- da faengt dann wieder das Cycle 0.5 sec an....in der Zwischenzeit kann man aber alles moegliche machen.

Ist BEST PRACTICE fuer die serielle Schnittstelle.


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
04.03.2010, 08:43
Beitrag: #7
RE: Abruchfunktion
Hallo,
kurze Rückmeldung von mienerseits:
Die Idee und Funktion ist unter der seriellen Schnittstelle super. das funktioniert soweit auch. Allerdings muss die Uafgabe mittels GPIB realisiert werden.
Das Problem ist herbei wie gesagt, dass der Counter bei AUsführung alle Prioritäten beansprucht.Dies ist daran zu erkennen, dass die Zeitmessung gestoppt wird sobald der Counter misst. Ist dieser fertig mit dem Messen springt die Zeit auf den vermutlich richitgen Wert um einige Sekungen weiter.

Hat jemand vllt noch eine andere Idde?
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Gehe zu:




Partnerforen: LabVIEWForum.de| DIAdem-Forum.de| Machine-Vision-Forum.de| goMatlab.de| VEEforum.de