Forum: PC Hard- und Software GPIB -, USB- Instrumente austauschbar?


von Daniel T. (peitsche)


Lesenswert?

Hallo zusammen,

ich mache zurzeit mein Praktikum für mein Studium, und ich beschäftige 
mich mit dem Thema Automatisierung.

Es sollen Instrumente (Messgerät, Oszilloskop, Netzteil etc.) an eine 
Testmanagementsoftware angeschlossen werden.

Das Problem ist, der Prüfplan, womit die Software des Prüflings getestet 
wird, ist sehr lang.

Wenn später ein Instrument mit GPIB-Schnittstelle ausgetauscht werden 
soll(neues Gerät ebenfalls GPIB-Schnittstelle), ist es möglich das Gerät 
auszutauschen ohne in den Programmcode einzugreifen?

Gibt es auch eine Möglichkeit USB-Instrumente auszuwechseln?

Ich will später nämlich ein Prüfplatz haben, wo man Instrumente 
auswechseln kann, ohne im Programmcode Änderungen vornehmen zu müssen.

Ist eine Lösung ohne LabVIEW möglich?

Gruß
Daniel

von blablub (Gast)


Lesenswert?

Das kommt ganz darauf an. Wenn es sich um das selbe Gerät handelt, klar. 
Dann musst du nur die GPIB Adresse am Gerät anpassen.

Ansonsten wirst du immer den Code ändern müssen da die Befehle von dem 
Gerät abhängig sind.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

blablub schrieb:
> Ansonsten wirst du immer den Code ändern müssen da die Befehle von dem
> Gerät abhängig sind.

Naja, bei Instrumenten, die dem SCPI-Standard folgen, sind für die
gleiche Geräteklasse (also bspw. Multimeter) zumindest die
Grundfunktionen oft gleich. Bei unterschiedlichen Modellen eines
Herstellers gleichen sich die Befehlssätze oft sehr weitreichend,
sodass man meist ohne Codeänderungen wenigstens das Nachfolgemodell
benutzen kann.

Daniel T. schrieb:
> Ist eine Lösung ohne LabVIEW möglich?

Selbstverständlich.  Wir benutzen in der Firma eine Python-basierte
Scripting-Umgebung. GPIB-Tcl ist auch schon lange da. Das ist zwar
im Umfeld der Opensource-Reimplementierung des GPIB-APIs entstanden,
aber da die Basis-APIs identisch mit dem der NI-Variante gehalten
worden sind, sollte es ziemlich egal sein, ob man nun die Bibliothek
von NI oder die Opensource-Variante da drunter legt.

von Daniel T. (peitsche)


Lesenswert?

Es soll nicht durch das gleiche Instrument ausgetauscht werden, sondern 
durch ein Instrument mit der gleichen Schnittstelle.

Gibt es da echt keine Möglichkeit?

von Rene S. (Firma: BfEHS) (rschube)


Lesenswert?

Ein Netzteil mit GPIB und ein Scope mit GPIB haben die gleiche 
Schnittstelle. Wenn du die gegeneinander austauschen willst und die 
Software nicht ändern willst... was macht das für einen Sinn.

Tauschen kannst du z.Bsp. Multimeter gegen Multimeter. Da gibt es auch 
'höhere' Gerätetreiber z.Bsp. DMM Treiber der mit (fast) allen 
Multimetern spricht.

Sowas ist aber kein Job für einen Praktikanten, dafür werden Ing's mit 
richtigem Geld bezahlt. Sag das mal deinem Chef...

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Rene Schube schrieb:
> Sowas ist aber kein Job für einen Praktikanten, dafür werden Ing's mit
> richtigem Geld bezahlt.

Naja, man kann's doch mal probieren, ob der Praktikant das Problem
auch lösen würde, nicht wahr? ;-)

von Rene S. (Firma: BfEHS) (rschube)


Lesenswert?

Versuchen kann man das, aber dann jammern die Ings wieder wie wenig sie 
verdienen... und keiner braucht einen und das leben ist so schlecht...

von Der Rächer der Transistormorde (Gast)


Lesenswert?

Daniel T. schrieb:
> Wenn später ein Instrument mit GPIB-Schnittstelle ausgetauscht werden
> soll(neues Gerät ebenfalls GPIB-Schnittstelle), ist es möglich das Gerät
> auszutauschen ohne in den Programmcode einzugreifen?

Grundsätzliche Frage, grundsätzliche Antwort: Nein.

GPIB ist eine Norm der Schnittstelle und des Hardwareprotokolls.

Mehr ist da nicht. Wenn du dich als Praktikant mit der Austauschbarkeit 
der Geräte beschäftigst verzettelst du dich nur.

Wenn allerdings deine Aufgabenstellung die Austauschbarkeit auf GPIB 
Level war so ist Sie hiermit beendet ;-).

Es macht auch wenig Sinn da die Testaufbauten alles Unikate sind und der 
Austausch eines Gerätes gegen ein anderes das Verhalten diese Aufbaus 
ändert (bzw die Wiederholbarkeit nicht mehr gewährleistet ist).


Es gibt alles mögliche um mit Treibern und Anwendungssoftware (Labview, 
Profilab, HT-Basic) dieses Problem anders abzubilden. Ist aber nur eine 
Problemverschiebung. Die Austauschbarkeit kannst du jenseits von 
Spannungsmessung (bei der man GPIB gar nicht braucht) imho vergessen.

von Daniel T. (peitsche)


Lesenswert?

Danke schon mal für eure Unterstützung

Meine Aufgabe ist es als Praktikant nicht das Gesamte Konzept zu 
entwickeln, sondern sich die Anforderungen anzugucken, und sich dann mit 
den Realisierungsmöglichkeiten zu beschäftigen. Entschuldigung, wenn es 
falsch rüber kam.

Als Testmanagementsoftware stehen TestStand und EDTest gegenüber.

Hat jemand schon Erfahrungen mit diesen Programmen gesammelt?

von Daniel T. (peitsche)


Lesenswert?

Noch zur Ergänzung.
Es soll später ein anwenderfreundlicher Prüfplan erstellt werden, d.h. 
wenn man hardwaremäßige Modifikationen vornimmt, sollte kein großer 
Aufwand im Programmcode entstehen.

Es soll keine Senke durch ein Messgerät ausgetauscht werden, sondern 
eher eine Senke mit einer leistungsstärkeren Senke.

Die Kriterien, mit denen ich mich beschäftige sollen evtl. eine Vorlage 
für eine Bachelorarbeit sein.

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

Die Hersteller von Messgeräten achten schon sehr deutlich darauf, dass 
Geräte ähnlicher Kategorien zueinander kompatibel sind. Auf der einen 
Seite gibt es hierfür den SCPI-Standard, auf der anderen Seite 
"Pseudo-Industriestandards" wie z.B. Multimeter der Typen Fluke 88xx, 
HP/Agilent 34xx oder 34401A. Wenn ein Hersteller ein neues 
Systemmultimeter herausbringt, kann er nur dann überhaupt einen 
Blumentopf gewinnen, wenn er zu den obigen "Industriestandards" 
kompatibel ist.

Dennoch ist nicht zwingend eine hundertprozentige Kompatibilität 
gegeben, insbesondere bei den zeitlichen Eigenschaften. Da hilft einfach 
nur ein Blick in die Dokumentation des konkreten Austauschgerätes, 
welche Kommandos wie emuliert werden und wo es Abweichungen gibt.

Ich weiß z.B., dass Rohde&Schwarz sehr viel Aufwand in der Entwicklung 
betreibt, damit deren Geräte auch über etliche Produktgenerationen per 
SCPI kompatibel sind. Aber auch hier muss man schauen, welche konkreten 
Befehle in der Prüfsoftware angesteuert werden und ob es kleine, aber 
feine Unterschiede gibt.

von Der Rächer der Transistormorde (Gast)


Lesenswert?

Daniel T. schrieb:
> Noch zur Ergänzung.
> Es soll später ein anwenderfreundlicher Prüfplan erstellt werden, d.h.
> wenn man hardwaremäßige Modifikationen vornimmt, sollte kein großer
> Aufwand im Programmcode entstehen.

Wir bauen eine Mondrakete, die Komponenten sollen aber wie eine 
Glühbirne austauschbar sein ;-).

Wer dich mit so einer Spezifikation ins Praktikum leitet stürzt dich ins 
Nirwana. So eine Anforderung ist viel zu unspezifisch.

Minimum wäre auf welchem Level mit Aufwand durch welche 
Abteilung/Fremdfirma/Budget was erreicht werden soll. Dann kannst du 
Messungen normalisieren und parametrisch definieren.

Wenn das ganze aber auf dem 70er Jahre retro GPIB/NI OSI 1-2 Level 
definiert wird ist der Systemfehler "vorprogrammiert".


>
> Es soll keine Senke durch ein Messgerät ausgetauscht werden, sondern
> eher eine Senke mit einer leistungsstärkeren Senke.

Auch hier ist die Definition unbrauchbar. Ein Testsystem hat ein Ziel. 
Die und die Tests mit der und der Qualität und dem und dem Aufwand zu 
erreichen.


>
> Die Kriterien, mit denen ich mich beschäftige sollen evtl. eine Vorlage
> für eine Bachelorarbeit sein.

Bei dem ollen Kram wäre ne Anbindung an eine Zuse Z3 dann die richtige 
Praktikumsaufgabe für eine Bewerbung im Technischen Museum :-).

Hab übrigens selbst GPIB/HPIB Gerät entwickelt, aber Stand der Technik 
Konzepte und Standards sind nun mal weit vorangeschritten.

von Reinhard Kern (Gast)


Lesenswert?

Daniel T. schrieb:
> Es soll keine Senke durch ein Messgerät ausgetauscht werden, sondern
> eher eine Senke mit einer leistungsstärkeren Senke.

Das würde ja nur was nützen, wenn die geänderten Eigenschaften des 
Geräts in der jetzigen Software bereits berücksichtigt sind. Dafür 
brauchst du aber keinen Techniker, sondern einen Hellseher.

Gruss Reinhard

von Didi S. (kokisan2000)


Lesenswert?

Daniel T. schrieb:
> Wenn später ein Instrument mit GPIB-Schnittstelle ausgetauscht werden
> soll(neues Gerät ebenfalls GPIB-Schnittstelle), ist es möglich das Gerät
> auszutauschen ohne in den Programmcode einzugreifen?

Grundsätzliche Frage, grundsätzliche Antwort: JA!!!


Hallo Daniel,

hier wurde schon eine Menge zu diesem Thema geschrieben, aber nicht alle 
Kommentare entsprechen so ganz der Wirklichkeit. Wenn Du einen 
automatisierten Messplatz besitzt, der hochverfügbar sein muß, dann ist 
einer der Ansprüche die hohe Flexibilität im Austausch der Geräte, sowie 
in der Verwendung der Schnittstellen. Es wäre doch fein, wenn man ein 
defektes Gerät gegen ein anderes der gleichen Funktion, aber zum 
Beispiel gegen ein Gerät anderer Hersteller, gegen ein moderneres, gegen 
eines mit mehr Leistung oder was auch immer austauschen könnte, OHNE in 
die Software eingreifen zu müssen. Und genau dieses ist auch möglich, 
vorausgesetzt

1) man bleibt in der gelichen Geräteklasse, also Oszi gegen Oszi 
tauschen, Power Supply gegen Power Supply tauschen
2) die einzelnen Geräte bringen vom Hersteller einen geeigneten Treiber 
mit und
3) bei der Erstellung des Automatisierungsprogrammes arbeitet man sehr 
diszipliniert.

Die Firmen haben seit vielen Jahren die Austauschbarkeit der Hardware in 
der sogenannten IVI Foundation vorangetrieben: 
http://www.ivifoundation.org/

Hierzu wurden die wichtigsten Messgeräte in Klassen mit gemeinsamen 
Treiber zusammngefasst, soll heissen: Wenn ein Hersteller zu seinem 
Gerät ein IVI-Treiber anbietet, dann garantiert er, sich an die IVI 
Standardisierung gehalten zu haben und jeder Treiber enthält Funktionen, 
die das gleiche unter dem GLEICHEN Namen tun.

Die unterschiedlichen Geräteklassen und ihre IVI Treiber heissen:

Class                                   IVI Driver
Digital multimeter (DMM)                IviDmm
Oscilloscope                            IviScope
Arbitrary waveform/function generator   IviFgen
DC power supply                         IviDCPwr
AC power supply                         IviACPwr
Switch                                  IviSwtch
Power meter                             IviPwrMeter
Spectrum analyzer                       IviSpecAn
RF signal generator                     IviRFSigGen
Upconverter                             IviUpconverter
Downconverter                           IviDownconverter
Digitizer                               IviDigitizer
Counter/timer                           IviCounter

Wenn Du genaueres dazu wissen möchtest, dann schaue mal in "Getting 
Started" der Foundation. Im allgemeinen sind IVI Treiber auch VISA 
kompatibel. Dann interessiert Dich auch die Schnittstelle IEEE488, USB, 
RS232 oder Ethernet nicht mehr wirklich. Ein Power Meter der Firma ABC 
am USB kann dann durch ein Power Meter der Firma XYZ mit 
Ethernetschnittstelle ohne Problem ausgetauscht werden. Das 
Automatisierungsprogramm kann automatisch nach den Geräteklassen suchen 
und verwendet, was passt.
NI Teststand unterstützt IVI im vollen Umfang, aber auch mit anderen 
Programmiersprachen wie den Visual's ist das kein Problem.

Zum Schluß noch ein paar Anmerkungen ...

1) Die hohe Austauschbarkeit wird bezahlt durch eine saubere 
Programmierung, die mitunter mehr Zeit kostet, als wenn man direkt mit 
LowLevel SCPI Befehlen arbeitet und Geräte direkt anspricht.
2) Wenn man keinen IVI Treiber findet, muß man selber ran. Ist nicht so 
schwierig, aber man sollte sein Gerät schon gut kennen, für das man den 
Treiber schreiben muss.
3) Besonderheiten von Geräten werden in den IVI Treibern nicht 
berücksichtigt, sondern nur die nackten Funktionen werden im IVI Treiber 
abgebildet. Nur so lassen sich die Geräte austauschen. In der Regle 
reicht das aber bestens aus.

Ich habe schon mehrere Systeme mit IVI Treibern realisiert und sie 
laufen und laufen und laufen. Wenn ein Gerät den Geist aufgiebt, wird es 
durch ein anderes, oft durch ein neueres ersetzt.

Ich hoffe, ich konnte helfen ....

Gruß
kokisan

PS: Die Firma National Instruments hält sehr viel Informationsmaterial 
hierzu bereit, ansonsten mal nach IVI Treiber im Netz suchen ...

von Daniel T. (peitsche)


Lesenswert?

Lieben Dank für die zahlreichen Antworten.

Ich habe mir bereits schon sehr viele Informationen auf der Seite von 
National Instruments besorgt, doch NI hat oftmals ihre Open Source 
Produkte im Zusammenhang mit LabVIEW, LabWindows/CVI etc. 
beschrieben(weil sie diese verständlicherweise auch verkaufen wollen). 
Mir fiel es demnach schwer zu Differenzieren, welche kostenpflichtige 
Produkte ich von NI benötige und welche nicht.

Ich hätte mir gewünscht, so eine allgemeine Aussage über Treiber wie von 
Kokisan, auf der NI-HP zu bekommen.
Deswegen nochmal vielen Dank Kokisan!

von Christian R. (supachris)


Lesenswert?

Die Gerätetreiber und die 488 Abstraktionsschickt sind bei NI kostenlos. 
http://joule.ni.com/nidu/cds/view/p/id/2922/lang/de Die nutzen wir auch 
um unsere Geräte von Tek, LeCroy und R&S in unser Testprogramm 
einzubinden. Das Programm selber ist in C# geschrieben und kommuniziert 
über die VISA Treiber mit den Geräten.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Christian R. schrieb:
> Die Gerätetreiber und die 488 Abstraktionsschickt sind bei NI kostenlos.

Allerdings Windows-lastig. (Es gibt m. W. auch eine Linux-Variante,
aber zumindest lange Zeit war x86_64 nicht mit dabei.)

Die Lücke zu den nicht-Windows-Systemen füllt dann Linux-GPIB (welches
auch auf nicht-Linux unixoiden Systemen läuft).  Da das API das
gleiche wie das von NI ist, kann man auf diese Weise auch
plattformübergreifende Steuerungssoftware bauen.

von Daniel T. (peitsche)


Lesenswert?

Hat jemand Erfahrung mit einer alternativen Testmanagementsoftware neben 
TestStand und EDTest gemacht?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Ja, siehe oben: selbst geschriebene. Nein, nicht verkäuflich. ;-)

Bei Chris scheint es ja genauso zu sein, das ist also durchaus nicht
so unüblich, wie es auf den ersten Blick aussehen mag.

von Daniel T. (peitsche)


Lesenswert?

Jörg Wunsch schrieb:
> Nein, nicht verkäuflich. ;-)
Also doch verkäuflich :D
Nein, Spaß!

Selbstgeschriebene Testsoftware ist bei uns leider keine Alternative.
Vielleicht gibt es hier noch Anwender, die eine weitere 
Testmanagementsoftware empfehlen können?!

von Christian R. (supachris)


Lesenswert?

Bei uns wird die Software hauptsächlich zur Kalibrierung der Hardware 
eingesetzt. Zum Testen der Hardwere gegen die entsprechende Norm reicht 
uns eine LabView Software die die Geräte bedient. Müssen wir aber 
demnächst mal neu machen, schei** LabView ist immer kaum erweiterbar und 
wartbar. Vielleicht machen wir das dann gleich in Python oder so.

von Daniel T. (peitsche)


Lesenswert?

Christian R. schrieb:
>LabView ist immer kaum erweiterbar und wartbar.

Inwiefern meinst du kaum erweiterbar? Ich dachte immer, dass man 
LabVIEW, durch die graphische Programmierung, leicht erweitern kann.

von MirkoB (Gast)


Lesenswert?

Christian R. schrieb:
> demnächst mal neu machen, schei** LabView ist immer kaum erweiterbar und
> wartbar. Vielleicht machen wir das dann gleich in Python oder so.

...am besten sowas immer vom Praktikanten machen lassen. Da ist die 
Programmiersprache auch egal... ;)

Man kann in jeder Programmiersprache unwartbaren Code produzieren...das 
liegt dann aber nicht an der Sprache.

Ich habe hier einige LabView Programme, die in der Version 5 erstellt 
wurden. Der Code ist wartbar und Erweiterungen können auch ohne Probleme 
eingepflegt werden. Man muss eben nur etwas selbstdiszipliniert sein.


Daniel T. schrieb:
> Inwiefern meinst du kaum erweiterbar? Ich dachte immer, dass man
> LabVIEW, durch die graphische Programmierung, leicht erweitern kann.

Jain... Wenn die Erweiterung darin besteht, einfach auf einen freien 
Platz 12 VIs zu klatschen und die Verbindungen quer übers Blatt ziehe, 
wirds irgendwann Grütze. Wenn man dann nach 37 weiteren VIs anfängt 
aufzuräumen, wirds ätzend...

Ist einfach gesagt wie Leiterplatten routen... ;)

Ich arbeite viel mit SUB-VIs. Dadurch ist der Programmcode gut 
aufgeräumt und übersichtlich. Beim warten bzw. erweitern muss ich nur 
das entsprechende SUB-VI (und/oder die SUB-SUB-VIs) anfassen. Der Rest 
bleibt so wie er ist.

Mirko

von Christian R. (supachris)


Lesenswert?

MirkoB schrieb:
> ...am besten sowas immer vom Praktikanten machen lassen. Da ist die
> Programmiersprache auch egal... ;)

So wars leider auch. Praktikant hat da was fabriziert, was er selber 
sicher hätte auch noch erweitern verbessern können. Aber Praktikant weg 
und sonst in der Abteilung kann niemand diesen Drahtverhau durschauen. 
Dann lieber eine schlecht programmierte Lösung die wenigstens in einer 
Strukturierten Programmiersprache ist. Klar kann man LabView auch 
sinnvoll machen, aber da muss man viel Erfahrung und vor allem 
Selbstdisziplin haben. Und das haben Praktikanten nun mal nicht. Die 
nächste Lösung wollen wir Ingenieure uns selber machen und Pythos 
deshalb weil dann jeder von uns mal schnell was ändern kann. Mal sehen, 
ob es diesmal nicht wieder für die Tonne ist.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.