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 

Steuerung eines Labornetzgeräts mit EA-UTA 12



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!

16.09.2015, 13:55 (Dieser Beitrag wurde zuletzt bearbeitet: 16.09.2015 14:29 von toxicomanie.)
Beitrag #1

toxicomanie Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 97
Registriert seit: Feb 2015

2014
2015
DE


Deutschland
Steuerung eines Labornetzgeräts mit EA-UTA 12
Hallo liebes Forum und lieber Gerd,
der Forenschreck ist wieder zurück Tongue

Ich soll diesmal ein Labornetzgerät über die USB-Analog-Schnittstelle EA-UTA 12 steuern, es sollen Spannungsrampen abgelaufen werden können zu Prüfungszwecken, relevant ist an dieser Stelle die ISO-Norm 16750-2. Ich habe heute die Software und Treiber der Schnittstelle installiert und schon ein bisschen rumgestöbert und die Hilfen zu den von EA bereitgestellten Bausteinen gelesen, die da wären:

uta_close.vi
uta_init.vi
uta_list.vi
uta_open&savehandle.vi
uta_rw_with_hex.vi
uta_rw_with_string.vi

Meine konkrete Frage wäre jetzt: Was sind Handles genau? Beschrieben werden sie nur als Nummern, die einem Gerät zugewiesen werden. Können jetzt aber auch mehrere Handles einem Gerät zugewiesen werden? Wie setzt sich eine Handle-Nummer zusammen und was macht man damit?
Weiter wird erklärt, dass der Treiber die Gerätenummern verteilt für den Fall, dass mehrere Schnittstellen angeschlossen sind. Nach welchem Prinzip werden die Nummern verteilt, ist das Zufall oder besitzen die Geräte bestimmte Prioritäten nach denen die Gerätenummern verteilt werden?

Danke mal wieder für eure Hilfe

Edit:
Bei dem VI uta_list.vi verstehe ich nicht, wie das VI bei mehreren angeschlossenen Interfaces arbeiten soll. Welche Nummer wird dann ausgegeben? Meine Überlegung: Es kann nur ein Interface zur selben Zeit geöffnet werden (?) und dessen Gerätenummer wird ausgegeben.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
18.09.2015, 06:50
Beitrag #2

toxicomanie Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 97
Registriert seit: Feb 2015

2014
2015
DE


Deutschland
RE: Steuerung eines Labornetzgeräts mit EA-UTA 12
Guten Morgen,

mittlerweile habe ich das Interface mal angeschlossen und mich mit den Bausteinen beschäftigt. Leider habe ich noch Probleme beim Herstellen der Verbindung des Netzgeräts mit dem PC, aber das sei mal dahingestellt.

Mein Problem ist gerade, dass ich gern von den Beispielen, die da von Elektro-Automatik mitgeliefert werden, einen Teil übernehmen würde, nur zum Testen erst mal.
Mache ich das Ganze jetzt wie bei Bild 2, dann wird mir die IDN beispielsweise nur ein einziges Mal, ganz zu Beginn des Programms aktualisiert - klar, ist ja durch die flache Sequenz so. Aber ich hätte gern, dass sich das laufend aktualisiert, deswegen habe ich das Ganze Gedöns in die while-Schleife gezogen (Bild 1). Leider hängt sich auf die Art und Weise das Programm auf nachdem ich ungefähr 20 mal die Meldung bekommen habe dass er kein angeschlossenes Interface finden kann (das Netzgerät ist aber angeschlossen, im Geräte-Manager ist die Schnittstelle aufgelistet, und am Netzgerät leuchtet die LED für External). Wo liegt der Denkfehler? Mache ich das Ganze wie bei Bild 3, funktioniert gleich gar nichts mehr, die Meldung lässt sich nicht mal durch aus- und wiedereinstecken des Geräts wegkriegen -.- Kann mir jemand helfen?

Grüße,
Franzie


Angehängte Datei(en) Thumbnail(s)
           
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.09.2015, 07:13 (Dieser Beitrag wurde zuletzt bearbeitet: 18.09.2015 07:55 von GerdW.)
Beitrag #3

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Steuerung eines Labornetzgeräts mit EA-UTA 12
Hallo Franziska,

zum Bild2:
- Niemand findet es lustig, ungebremst mit Anfrage bombardiert zu werden. Du dagegen lässt deine WHILE-Schleife(n) ohne jedes (erkennbare) Timing die CPU zum Glühen bringen…
- In der zweiten WHILE-Loop führst du zwei Schreib-/Lesezugriffe durch. Leider erfolgen diese ohne irgendeinen DATAFLOW vollkommen ungeordnet. Ich kenne dein Gerät nicht, aber auch solch eine Vorgehensweise kann ein Gerät verwirren! THINK DATAFLOW!

Zitat:nachdem ich ungefähr 20 mal die Meldung bekommen habe dass er kein angeschlossenes Interface finden kann … Wo liegt der Denkfehler?
Ein Fehler ist es, trotz Fehlermeldung weiterhin das Gerät mit dann wahrscheinlich sinnlosen Anfragen zu belästigen.
Wenn ein Fehler auftritt, dann sollte man darauf reagieren und den Fehler "behandeln": Behandeln heißt aber ganz selten, stupide einfach die Anfrage erneut zu stellen…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.09.2015, 09:45 (Dieser Beitrag wurde zuletzt bearbeitet: 18.09.2015 10:24 von toxicomanie.)
Beitrag #4

toxicomanie Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 97
Registriert seit: Feb 2015

2014
2015
DE


Deutschland
RE: Steuerung eines Labornetzgeräts mit EA-UTA 12
Okay, danke.
Für die Bausteine gibt es eine Anleitung, die hab ich mal als Word-Dokument angehängt. Und hier der Link zu der Download-Seite von Elektro-Automatik falls sich jemand interessiert:
http://www.elektroautomatik.de/de/labview.html



EDIT:
So wie das Beispiel (Anhang Snapshot) gemacht ist funktionierts, aber wenn ich das Read-Write mit Strings dazunehme (ich würde gerne den IDString ändern), hängt sich das Ganze wieder auf :/ Darf man die Read-Writes in Hex und String nicht mischen? o.O


Angehängte Datei(en) Thumbnail(s)
   

14.0 .vi  Agathe.vi (Größe: 17,28 KB / Downloads: 232)

0.0 .docx  Dingsbums.docx (Größe: 46,87 KB / Downloads: 384)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.09.2015, 08:27
Beitrag #5

toxicomanie Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 97
Registriert seit: Feb 2015

2014
2015
DE


Deutschland
RE: Steuerung eines Labornetzgeräts mit EA-UTA 12
Hallo zusammen!

Ich habe das Frontpanel jetzt mal provisorisch so gestaltet, wie es später aussehen sollte. Es soll eine vom Benutzer definierte Spannung als Rampe hochgelaufen werden, die Schrittweite soll in Millivolt ebenfalls festgelegt werden können, genauso die Zeitspanne, innerhalb der der Maximalwert erreicht wird. Anschließend soll das Ganze rückwärts laufen. Gestartet wird die Messung mit dem Betätigen des OK-Buttons, danach öffnet sich ein Fenster in dem der Speicherort für die Handles abgefragt wird und schon gehts los Smile
Ich bin immer noch relativ unerfahren in LabVIEW, aber ich denke, mit einer flachen Sequenz sollte das zumindest von der Folge her gut zu realisieren sein? Mein Problem ist jetzt, dass ich gerne das uta_list.vi ständig aktualisiert haben möchte und ich weiß nicht, wo ich es dazu platzieren muss. Wenn ich es in der flachen Sequenz lasse, dann wird die Device table nicht ein einziges Mal aktualisiert, es erscheinen einfach keine Werte? Könnte der Fehler auch an der Hardware liegen?

Grüße, Franzie

Das Programm ist wie immer im Anhang, vielen Dank schon mal für eure Hilfe!


Angehängte Datei(en)
14.0 .vi  Fridolin.vi (Größe: 42,52 KB / Downloads: 252)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.09.2015, 09:13
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Steuerung eines Labornetzgeräts mit EA-UTA 12
Hallo Forenschreck,

Zitat:aber ich denke, mit einer flachen Sequenz sollte das zumindest von der Folge her gut zu realisieren sein?
Eine Sequenz ist so gut wie immer die schlechtest mögliche Art, einen Ablauf zu programmieren. Eine Statemachine dagegen ist kaum komplizierter, dafür aber unendlich flexibler!

Zitat:dass ich gerne das uta_list.vi ständig aktualisiert haben möchte und ich weiß nicht, wo ich es dazu platzieren muss.
Wenn es unabhängig vom restlichen Programmablauf "ständig" arbeiten soll: in einer parallelen Schleife!
(THINK DATAFLOW!)

Zitat:Wenn ich es in der flachen Sequenz lasse, dann wird die Device table nicht ein einziges Mal aktualisiert, es erscheinen einfach keine Werte?
- Das UTA-List wird im dritten Frame aufgerufen. "THINK DATAFLOW!" sollte das bestätigen…
- Wenn nach dem Aufruf im dritten Frame keine Werte "erscheinen", sollte etwas debuggen helfen! Irgendein Wert muss erscheinen: THINK DATAFLOW!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
23.09.2015, 09:23
Beitrag #7

toxicomanie Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 97
Registriert seit: Feb 2015

2014
2015
DE


Deutschland
RE: Steuerung eines Labornetzgeräts mit EA-UTA 12
Danke für die schnelle Antwort Smile

Auf die Idee mit der parallelen Schleife bin ich doch auch gekommen Wall

Hmm mir macht das Labornetzgerät etwas Probleme, mal leuchtet das Lämpchen "External" und mal nicht, ich weiß nicht ob das an meinen Aufrufen liegen könnte? Ich arbeite viel mit den Beispielen die von Elektro-Automatik bereitgestellt werden, aber sogar die haben ziemlich viele Fehler drin (unverbundene Leitungen etc., die Beispiele sind zum Teil nicht mal ausführbar und durch die Bank mit flachen Sequenzen programmiert).

Danke für den Tipp mit der State Machine, werd ich mir mal anschauen.


Angehängte Datei(en)
14.0 .vi  Fridolin.vi (Größe: 57,88 KB / Downloads: 214)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.09.2015, 09:29 (Dieser Beitrag wurde zuletzt bearbeitet: 23.09.2015 09:30 von GerdW.)
Beitrag #8

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Steuerung eines Labornetzgeräts mit EA-UTA 12
Hallo toxico,

Zitat:Auf die Idee mit der parallelen Schleife bin ich doch auch gekommen
Darf das UTA-List ständig (und ungebremst!) aufgerufen werden? (Das hatten wir doch schon letzte Woche besprochen!)
Evtl. musst du auch dort eine Statemachine drum herum packen: erst das Interface initialisieren, dann Geräte abfragen, eine Pause zwischen den Abfragen wäre auch nicht schlecht, Interface deinitialisieren…

Zitat:Ich arbeite viel mit den Beispielen die von Elektro-Automatik bereitgestellt werden
Wenn du dafür Geld ausgeben musstest, würde ich dir empfehlen, Mängelbehebung durchführen zu lassen (oder das Geld zurückfordern)…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.09.2015, 09:59
Beitrag #9

toxicomanie Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 97
Registriert seit: Feb 2015

2014
2015
DE


Deutschland
RE: Steuerung eines Labornetzgeräts mit EA-UTA 12
Darf das UTA-List ständig (und ungebremst!) aufgerufen werden?

--> Darf es das nicht? Ich verstehe nur nicht, wo das Problem da liegen sollte, es ist eine ganz normale Schleife, die etwas abfragt und falls nötig eine Fehlermeldung ausgibt^^ Auch das habe ich von den Beispielen übernommen (scheint mir mittlerweile so keine gute Idee zu sein Tongue )


Angehängte Datei(en)
0.0 .zip  lv_uta12_v2.03_for_labview_7+.zip (Größe: 735,9 KB / Downloads: 229)

14.0 .vi  Main.vi (Größe: 59,74 KB / Downloads: 222)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.09.2015, 14:54
Beitrag #10

toxicomanie Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 97
Registriert seit: Feb 2015

2014
2015
DE


Deutschland
RE: Steuerung eines Labornetzgeräts mit EA-UTA 12
Hallo "Knight of NI" und liebes Forum Smile

Das mit der State Machine ist Gold wert, danke nochmals!
Ich hab mich jetzt an ein paar Sachen versucht und hänge gerade beim Case "User State 1" fest. Mit dem Hex-Befehl EF lege ich zunächst die ID-Nummer für das Gerät fest, anschließend möchte ich im selben User State mit dem Read-Write-UTA die hochlaufende Spannungsrampe erstellen und zwar indem ich mit der for-Schleife N-mal den Wert der "Schrittweite" auf die minimale Spannung aufaddiere; der Befehl 1F steht für SetVoltage. Für das Read-Write.vi brauche ich aber leider auch die Parameter in Hexadezimal^^ Ich habe dazu schon Lösungsvorschläge im Forum gefunden,aber ich drehe mich gerade im Kreis. Was noch dazu etwas irritierend ist, ist dass Out-Buffer generell keine Werte anzeigt, dabei sollte da ein 18 Felder großes Array auftauchen das mit 0 initialisiert ist und das 0. Element sollte die IDN sein. Ich hoffe mal wieder, mir kann jemand weiterhelfen Wall

Liebe Grüße,

Franzie


Angehängte Datei(en)
14.0 .vi  Main2.vi (Größe: 72,9 KB / Downloads: 234)
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
  Studienarbeit - Hardware für Steuerung eines Motors Dimasq 4 7.912 14.07.2011 08:40
Letzter Beitrag: Dimasq

Gehe zu: