Ich habe eine Bedienoberfläche in Winforms erstellt und sende Commands
an ein Gerät über USB 2.0, wenn ich beispielsweise den button "Test
starten" drücke. wie kann ich mir den Informationsfluss vorstellen? (im
Anhnag ein Beispiel aus der Literatur)
hatte in einem anderen thread folgenden spontanen Vorschlag gemacht:
> 3.Stufe: Software. Hochsprache Bedienoberfläche z.B. Winforms>> ---------->> 2. Stufe: API z.B. VISA (VISA ist emhzr als API, I Know )>> ------>> 1. Stufe:Software: Treiber>> -------> Hardware: Steckverbing, z.B. USB>> ------
sagt mal Bescheid, wenn ich komplett falsch denke...
Ich wag mich mal vor und sage: Ja.
Aber das bringt Dir, denke ich, nichts. Der Zusammenhang ist eigentlich
trivial. Primitiv.
Funktionen rufen andere Funktionen auf. Andere Funktionen rufen wiederum
andere Funktionen nicht auf, weil das nicht sinnvoll ist.
Man sagt vielleicht mal in einer Besprechung die Anbkürzung "API" um die
Gesamtheit an Funktionen zu nennen, die in einer Library, einem Treiber
oder sonst einem zusammenhängen Stück Code einen bestimmten Zweck
erfüllen und von anderem Code aufrufbar sind. Mehr steckt da nicht
dahinter.
Das stelle ich mal einfach so ganz grob in den Raum. Denn es ist unklar:
Worauf zielt eigentlich Deine Frage ab? Was willst Du mit der Antwort
tun?
Die Antwort finde ich gut.
Theor schrieb:> Worauf zielt eigentlich Deine Frage ab? Was willst Du mit der Antwort> tun?
Ich möchte wisse, wie die Informationen zum Gerät gelangen, wenn ich
meine Bedienoberfläche nutze. Und meine damit nicht nur den
hardware-Anteil (USB TMC Protokol), sondern auch die benötigte SW.
Und das möglichst anschaulich. Sodass man die Zusammenhänge erkennen
kann, wozu was benötigt wird. Das mag durchaus primitv sein
12ws schrieb:> Die Antwort finde ich gut.
Danke, für das Lob.
Ich bin mir gar nicht so sicher, dass meine Antwort gut ist - ob sie
irgendwohin führt. Ich habe gehofft, dass wir dazu kommen die Frage
schärfer zu formulieren.
Nun gut. Das scheint ja irgendwie im Ansatz zu funktionieren.
> Theor schrieb:>> Worauf zielt eigentlich Deine Frage ab? Was willst Du mit der Antwort>> tun?>> Ich möchte wisse, wie die Informationen zum Gerät gelangen, wenn ich> meine Bedienoberfläche nutze. Und meine damit nicht nur den> hardware-Anteil (USB TMC Protokol), sondern auch die benötigte SW.> Und das möglichst anschaulich. Sodass man die Zusammenhänge erkennen> kann, wozu was benötigt wird. Das mag durchaus primitv sein
Und warum willst Du das wissen? Was fängst Du mit der Antwort an?
Tatsächlich muss ich unter diesen Umständen sagen, dass Dein Diagramm in
verschiedener Hinsicht noch sehr grob ist.
Du musst bedenken, dass Du hier Entwicklungen verstehen willst, die bis
zu 50 oder 60 Jahre alt sind. Das ist eine Menge Stoff, den man erstmal
verdauen muss.
Ich selbst habe mit solchen Dingen nicht begonnen und schon einige Zeit
Erfahrung in der SW-Entwicklung gehabt, bevor ich angefangen habe mich
um sowas ernsthaft zu kümmern. D.h. ich habe zunächst einzelne
Algorithmen gelernt die ich für meine Arbeit brauchte oder die ich
fallweise interessant fand. Das überschneidet sich thematisch häufig mit
Architekturen, zu denen man bei größeren Programmen leicht kommt.
Du hast ja nun offenbar mit Windows Forms schon Erfahrungen, aber es ist
unklar, was Du sonst noch gelernt und gemacht hast und wie lange. Man
muss es, denke ich, fast schon als Hindernis bezeichnen, wenn man mit
sehr weit entwickelten Systemen zu lernen beginnt, denn die "einfachen"
Dinge. auf denen diese Systeme beruhen werden so im Dunkeln bleiben.
Im Vergleich hat z.B. heute noch niemand mit Quantenphysik begonnen,
bevor er nicht die ganz alte, "einfache" Physik von z.B. Newton gelernt
hat.
Aber wie gesagt: Ich habe keine Kenntnis von Deinen Grundlagen. Musst Du
selbst beurteilen, ob Du schon soweit bist.
Ich schlage vor, Du liest Dir erstmal die Wikipedia-Artikel, beginnend
mit https://en.wikipedia.org/wiki/Windows_Forms und die dort verlinkten
Artikel durch (ich empfehle sehr auch die englischen Artikel zu lesen)
und dann die Dokumentation von Microsoft
https://docs.microsoft.com/de-de/dotnet/framework/winforms/?redirectedfrom=MSDN
Allerdings muss man sagen, dass zum tieferen Verständnis viele weitere
"mittlere" Kenntnisse nötig sind. Z.B. über die "Windows Ereignis
Warteschlange". Und noch darunter, aber schon jenseits der Algorithmen
etc. liegen fundierte Kenntnisse (und Erfahrungen) mit
https://de.wikipedia.org/wiki/Softwarearchitektur und
https://de.wikipedia.org/wiki/Programmierparadigma.
Viel Erfolg.
Theor schrieb:> atsächlich muss ich unter diesen Umständen sagen, dass Dein Diagramm in> verschiedener Hinsicht noch sehr grob ist.
das war Sinnd und Zweck, da ich garnicht so tief eintauchen möchte. Kann
die Schichten als blackbox betrachten, sow ie im Anhang.
Theor schrieb:> 12ws schrieb:>> warum hilft mir niemand?>> Was ist Deine Frage?
Du ich glaube das ist jetzt der vierte Name oder fünfte Name unter dem
der Typ on den letzten Tagen immer wieder neue Threads aufmacht
(Unterschied, noßßa, quick and dirty, 8393, ...). Ist wahrscheinlich der
Schwager von einem Moderator.
Im Prinzip will er nur, dass ihm jemand deinen Funktionsgenerator
anschließt, weil er das nicht selber schafft und schon an der
Konfiguration seiner IDE verzweifelt.
Hi
Eigentlich wollte ich auf Gastanmeldungen nicht mehr antworten, weil
sehr oft plötzlich Funkstille ist und nicht klar wird, ob denn die Hilfe
angekommen ist oder ob einfach nur Langeweile dahinter steckt. Aber
dennoch will ich es einmal versuchen, dir auf deine Skizze eine Antwort
zuu liefern.
Lies das Buch.
https://www.makerconnect.de/media/user/oldmax/PC%20und%20Mikrocontroller%20Teil%201%20und%202%20Stand%2026.07.2019.pdf
Das darin Beschriebene trifft ziemlich genau auf deine Skizze zu. Und
keine Angst, der Download ist kostenlos.
Gruß oldmax
Zwischen verschiedenen Teilen eines Systems benoetigtst du eine
Kommunikation. Die ist in der Regel Master-Slave. Der Master fragt
etwas, der Slave antwortet. Der Master befielt etwas, der Slave
quittiert. Unter der Regel, der slave macht nichts von selbst. Wenn der
slave den Befehl nichts versteht macht er nichts, gibt auch keine
antwort. Der Master muss wiederholen.
Diese Kommunikation erfolgt zustandsfrei. Also
- Gib Messwert 395 - ist zustandsfrei waehrend
- Gib naechsten Messwert - nicht zustandsfrei ist.
Denn es koennte ja einmal eine Meldung verloren gehen, und dann ist
nicht mehr klar worum's geht.
Der PC ist ueblicherweise der Master.
12ws schrieb:> Ich habe eine Bedienoberfläche in Winforms erstellt und sende Commands> an ein Gerät über USB 2.0, wenn ich beispielsweise den button "Test> starten" drücke. wie kann ich mir den Informationsfluss vorstellen? (im> Anhnag ein Beispiel aus der Literatur)>> hatte in einem anderen thread folgenden spontanen Vorschlag gemacht:>>> 3.Stufe: Software. Hochsprache Bedienoberfläche z.B. Winforms>>>> ---------->>>> 2. Stufe: API z.B. VISA (VISA ist emhzr als API, I Know )>>>> ------>>>> 1. Stufe:Software: Treiber>>>> ------->> Hardware: Steckverbing, z.B. USB>>>> ------>> sagt mal Bescheid, wenn ich komplett falsch denke...
Dann mach doch mal einfach weiter. Die GUI hast du ja schon angefangen.
Wenn du ein Command an die Hardware geschickt hast, mußt du die
Schnittstelle auslesen und schauen, was du zurück bekommst. Wenn das
funktioniert, brauchst du dir über den Treiber erstmal keine Gedanken
machen. Der stellt nur eine Verbindung zwischen deiner Hardware und
deiner noch zu schreibenden Software sicher. Als Beispiel sei da der
CP21XX erwähnt. Der nimmt dir die Arbeit zwischen USB und RS232 ab,
indem
er dir einen virtuellen COM-Port zur Verfügung stellt. Da kannst du mit
den RS232 - Befehlen, die dir deine Programmiersprache zur Verfügung
stellt,
ganz einfach arbeiten.
Dann halt das übliche Verfahren :
- Einlesen (ggf. Filtern) in eine Liste (Array, Listbox o. ä.)
- Anzeigen bzw. Visualisieren (Graph zeichnen)
Die Feinheiten kannst du dann gemäß deinen Vorstellungen dazu
programmieren. Dazu gehört dann auch, ob die Schnittstelle während
des Programmlaufes gepollt werden muß oder nur auf Kommando einen
oder mehrere Werte zurück gibt.
Ist für einen Anfänger schon ein gutes Stück Arbeit.
12ws schrieb:> Theor schrieb:>> Was ist Deine Frage?>> da>> 12ws schrieb:>> wie kann ich mir den Informationsfluss vorstellen? (im>> Anhnag ein Beispiel aus der Literatur)
Ich habe Dir schon eine Antwort gegeben, die darauf hinausläuft, dass
ich Dir 1. Lesetips gegeben habe und 2., dass Du Dir das durchlesen
solltest.
Wenn Du das nicht lesen willst, dann sage es offen. Das ist OK. Aber
sich einfach hinstellen, und an das schlechte Gewissen der Leser
appellieren halte ich, milde gesagt, für unhöflich.
Ich habe mir mittlerweise mal einige Deiner anderen Threads
durchgelesen, die Du unter den den Nicks Nußßa, 8232 etc. angefangen
hast. Ich meine festzustellen, dass Du mehr weniger bei jedem Schritt
von Deiner Ausgangsfrage aus, blockiert bist, weil Dir Grundlagen
fehlen.
Ähnliches, habe ich vor der Lektüre Deiner anderen Threads ja hier
Beitrag "Re: Programmierung von Messdatenerfassungssys. - Informationsfluss zw bedienoberfläche und gerät übe"
schon als Hypothese in den Raum gestellt.
In dem Falle, und das ist mehrfach getan worden, wird man Dir in einem
Forum "Hilfe zur Selbsthilfe" leisten. Aber Dir nicht die Arbeit
abnehmen.
Da Du Deine Frage so stellst, wie Du sie stellst, kannst Du nicht
wissen, dass hinter der Antwort ein großes Stück Arbeit steckt. Und ich
rede hier von Wochen und Monaten.
Und Du scheiterst offenbar schon an Englisch und - verzeihe, wenn ich
falsch liege -, an einem ausreichenden Maß an Vorstellungskraft und der
Bildung von Analogien, an der Fähigkeit plausible Vermutungen
anzustellen und in einigen Fällen, daran simple logische Schlüsse zu
ziehen.
An all dem kann man in gewissem Maße arbeiten. Allerdings: Je weniger
Gaben man dazu mitbringt, desto enger sind die Grenzen und desto größer
der nötige Aufwand.
Ich z.B. bin, was das lernen von Fremdsprachen betrifft, eher
minderbegabt. Zumdindest nach den gängigen Schulmethoden.
Ich habe Englisch auch erst richtig zu lernen begonnen, als ich, in dem
unbedingten Willen, Mikroprozessoren zu verstehen, jedes einzelne
verfluchte Wort nachgeschlagen habe, dass ich in irgend einem Fachbuch
gefunden habe.
Überhaupt muss man bedenken, dass die wirklich intensive Beschäftigung
mit einem Thema immer auch eine Arbeit an der eigenen Persönlichkeit
ist. Alles andere ist Herumgeplätscher im Seichten. Es befähigt zu
nichts Sinnvollem.
Das ist, - wenn Du mir nochmal erlaubst, etwas persönlicher zu werden -,
eine der Voraussetzungen. Leidenschaft für das Thema, die sich zwar an
einzelnen Punkten mal zeitweise bricht, aber sich nicht lediglich darauf
beschränkt, sich von anderen die Lernarbeit abnehmen zu lassen.
OK. Genug, der harten Worte. :-)
Wenn Dir, wie Du sagst, eine grobe Darstellung reicht, wie in Deinem
ersten Posting hier. OK. Das ist soweit nicht falsch. Nimm das.
Ich rate Dir, unter Berücksichtigung all dessen, falls Du so wenig wie
möglich lernen willst, Dich auf das unmittelbare Problem zu beschränken,
dass, wenn ich das richtig sehe, darin besteht, SCPI-Kommandos
abzusetzen. Dafür sind Dir auch direkte Hinweise gegeben worden. Befolge
sie.
Das Gesamtbild, nutzt Dir im Moment nichts und ergibt sich auf diesem
Weg, wenn es auch länger dauert, sowieso zu einem gewissen Grade daraus
und aus weiteren Projekten ähnlicher Art. Und wenn Du soweit bist,
kannst Du auch die richtigen Fragen stellen. Zuerst an Dich selbst, dann
an die entsprechenden Dokument und dann an die Leute, die das auch mal
gelernt haben.
Aber, stell Dich bitte nicht mehr hin und stelle Forderungen oder
appelliere an das Gewissen. Das ist einfach unfein.
Falls Du in Zukunft erkennbar gezielte_ _vernünftige , Fragen stellst,
werde ich sie, - vermutlich, das hängt von meiner Zeit ab -,
beantworten.
Ich wünsche Dir Erfolg.
Joggel E. schrieb:> Master-Slave
die Beziehung ist mir soweit jklar. Hätte gerne die Stichworte APi,
VISA, Bibliothek, Treiber, Bedienoberfläche, USB TMC Protokoll im
Kontext
Heinz B. schrieb:> Dann mach doch mal einfach weiter. Die GUI hast du ja schon angefangen.> Wenn du ein Command an die Hardware geschickt hast, mußt du die> Schnittstelle auslesen und schauen, was du zurück bekommst. Wenn das> funktioniert, brauchst du dir über den Treiber erstmal keine Gedanken> machen. Der stellt nur eine Verbindung zwischen deiner Hardware und> deiner noch zu schreibenden Software sicher. Als Beispiel sei da der> CP21XX erwähnt. Der nimmt dir die Arbeit zwischen USB und RS232 ab,> indem
genau.Das Programm läuft. Aber mit dem treiber allein funktioniert es
nicht. Benötige VISA. Oder ähnliche Libs
12ws schrieb:> genau.Das Programm läuft. Aber mit dem treiber allein funktioniert es> nicht. Benötige VISA. Oder ähnliche Libs
Und da ich nicht einfach stumpf programmieren möchte, die Frage, wie
sind da die Zusammenhänge
12ws schrieb:> Benötige VISA. Oder ähnliche Libs
Was denn dieses VISA? Kannst du mal auf eine Webseite verlinken, die
dieses Produkt erklärt?
Ich frage, weil für mich VISA eine Kreditkarte ist.
Ansonsten wurde deine Frage bereits damit beantwortet, dass
Programmteile (Funktionen) sich gegenseitig aufrufen und dabei Daten
übergeben. Mehr kann man dazu nicht sagen, ohne für bestimmte Produkte
spezifisch zu werden.
Ich vermute mal, dass du von den Grundlagen überhaupt keine Ahnung hast
und daher die darauf aufbauende Literatur nicht verstehst, mit der du
dich befassen müsstest.
Wir helfen gerne. Aber dazu musst du konkrete Produkte benennen.
> USB 2.0
Ist ein Anfang. Welches der zahlreichen USB Protokolle wird verwendet
und welche Anwendungsspezifische Protokoll setzt darauf auf? Damit
kommen wir wahrscheinlich wieder zu diesem ominösen VISA. Was ist das?
12ws schrieb:>> genau.Das Programm läuft. Aber mit dem treiber allein funktioniert es> nicht. Benötige VISA. Oder ähnliche Libs
Was verstehst du unter VISA ?
Wenn das Programm schon mal Daten von der Schnittstelle
sammeln kann, ist es schon mal ein Fortschritt. Natürlich
müssen dann auch Baudrate etc. stimmen, damit das einigermaßen
synchron läuft bzw. keine Daten verloren gehen.
Aber sowas mußt du dir dann selbst erarbeiten.
12ws schrieb:> VISA ist der Standadrd überhaupt!
Da hast du doch ein umfangreiches Dokument. Es beschreibt die API
zwischen der Bibliothek und dem Anwendungsprogramm. Wie schon
geschrieben, erfolgt das Absetzen von Kommandos und der Datenaustausch
hier tatsächlich durch Funktionsaufrufe und deren Parameter.
Offenbar ist diese VISA API eine halbwegs einheitliche Schnittstelle
zwischen Anwendungsprogrammen und den physischen Schnittstellen der
Geräte. Für die physischen Schnittstellen braucht man dann noch Treiber,
die teils Bestandteil vom Betriebssystem sind und teils vom
Gerätehersteller geliefert werden.
In deinem Diagramm vermisse ich einen Block, der mit VISA API
beschriftet ist und links davon eine Gruppe mit den Gerätetreibern. Die
VISA API kann ja nicht (mehr) direkt auf die physischen Schnittstellen
zugreifen (bis Windows 98 war das noch möglich).
Wie lauten deine konkreten Fragen dazu?
12ws schrieb:> Hätte gerne die Stichworte APi,> VISA, Bibliothek, Treiber, Bedienoberfläche, USB TMC Protokoll im> Kontext12ws schrieb:> wie kann ich mir den Informationsfluss vorstellen?
und wie kann ich mir das Gnaze grafisch cvorstellene? so in Schichten,
wie ich dargestellt habe? Auf der einen Seite hardware, das Gerät und
auf der anderen Bedienoberfläche. Was wie dazwischen
12ws schrieb:> Theor schrieb:>> Theor>> hättest psychologe werden sollen. Bleib bitte der Diskussion fern.
Stelle einfach eine konkrete Frage. Dann werden Dir meine Beiträge
sinnvoller vorkommen.
Ich würde wohl den Block für die VISA Api auch als Gruppe von mehreren
VISA API Implementierungen dasstellen, weil ja jeder Hersteller seine
eigene Variante davon liefert. Nur nach rechts hin (zur Anwednungsebene)
hast du dann eine einheitliche Schnittstelle.
12ws schrieb:> 12ws schrieb:>> Hätte gerne die Stichworte APi,>> VISA, Bibliothek, Treiber, Bedienoberfläche, USB TMC Protokoll im>> Kontext>> 12ws schrieb:>> wie kann ich mir den Informationsfluss vorstellen?>> und wie kann ich mir das Gnaze grafisch cvorstellene? so in Schichten,> wie ich dargestellt habe? Auf der einen Seite hardware, das Gerät und> auf der anderen Bedienoberfläche. Was wie dazwischen
Das ist Dir schon beantwortet worden. Auch sind Dir Literaturhinweise
gegeben worden und Du hast selbst Dokumente verlinkt, die Du nur noch
LESEN und verstehen brauchst.
Meine Güte.
VISA ist also eine LIB, ähnlich einer DLL, die man
einbinden kann. Dokumentation, wie einzubinden und
welche Funktionen u. Parameter, hast du ja.
Ich benutze auch öfters DLLs, ohne jetzt zu wissen,
wie das intern in der DLL funktioniert. Da reicht
mir die Doku dazu, wo drinsteht, wie welche Funktionen
mit welchen Parametern aufzurufen sind. Ich sehe das
mehr als Blackbox : Ich gebe oben was rein (Funktionsaufruf)
und unten kommt das Erwartete raus. Was meinst du, wieviele
Auto fahren und nicht wissen wie ein Vergaser oder eine
Einspritzanlage funktioniert ? Ich werfe auch 1 € in
den Automaten und unten kommt meine Cola raus. Da interessiert
mich auch nicht, wie der Münzprüfer das macht oder die Ausagbe-
einheit das richtige Getränk in die Ausgabe schiebt. Hauptsache,
ich hab meine Cola.
Lange Rede, kurzer Sinn : Um das Lesen der .PDF kommst du
nicht herum. Evtl. mußt du verschiedenes ausprobieren :
Parameter passen nicht usw.
Das kenne ich auch nur zu gut.
Das können wir dir hier im Forum beim besten Willen nicht
auch noch vorkauen. Fragen kannst du sicher, wenn du bei
einer Funktion nicht weiterkommst. Da gibt es immer mal
Probleme, ob z.B. ein Parameter per Referenz oder per Value
übergben werden muß. Das gleiche gilt natürlich auch beim
Rückgabewert.
Heinz B. schrieb:> VISA ist also eine LIB
Es ist eine API, die in Form einer Bibliothek bereitgestellt wird. Jeder
Hersteller liefert dazu passend seine eigenen Treiber.
Hausaufgabe? Frag Deine Lehrer.
Nein?
Arbeitsaufgabe? Frag Deine Kollegen.
Nein?
Hobby? Frag das Forum. Und beantworte bitte die Nachfragen an Dich.
Nicht jeder ist so ein Genie wie Du.
Blackbird
Hi
12ws schrieb:> sieht stark nach Eigenwerbung aus. Weniger etwas, was mir hilft...
Wenn du meinst, ich hab was davon, wenn ich eine kostenlose Anleitung
zur Programmierung von PC und µC anbiete, ja, dann ist das
Eigenwerbung.Aber ehrlich gesagt, ich hab nix davon, wollte dir und
anderen, die vielleicht gleiche Probleme haben, mal aufzeigen, wie so
etwas machbar ist. Und da deine Skizze in etwa dem thema meines Buches
gleicht, hab ich dir den Link eingestellt. Lies es oder laß es. Wenn du
erwartest, das du hier Komplettlösungen erwarten kannst, ja, dann warte
halt noch.
Gruß oldmax
Stefan ⛄ F. schrieb:> Es ist eine API, die in Form einer Bibliothek bereitgestellt wird. Jeder> Hersteller liefert dazu passend seine eigenen Treiber.
der Treiber wäre beispielsweise IVI COM Driver
im anhang mal eine Abbildung, wie ich mir die schichten /hierarchie
vorstelle
also statt Matlab nutze ich winforms. VISA dDriver... ich bin mir nicht
sicher, was ich nutze. Für meine Bedienoberfläche. Keysight stellte
etliche Treiber für jede Gerätegruppe und für Bedien-SW zur verfügung.
Habe mir damals einiges runtergeladen. Was ist gecko3? das ist SW. Aber
was genau?
Gecko3 is an open-source software for finding gene clusters in 500 and
more genomes on a laptop computer. The underlying gene cluster model can
cope with low degrees of conservation and misannotations, and is
complemented by a sound statistical evaluation. Gecko3 does not assume
monophylecity or collinearity of gene clusters. Gecko3 offers an
easy-to-use graphical user interface, but can also be used as a command
line tool in an analysis pipeline.
12ws schrieb:> visa Lib und VISA API auf einer ebene?
Ich denke schon, weil die API ja in Form der Bibliothek bereitgestellt
wird. Das ist ein Block. Darunter würde ich aber wie bereits gesagt
mehrere Gerätespezifische Treiber einzeichnen, da viele Hersteller dies
anbieten.
Ich fühle mich prächtig unterhalten. Auf einer Skala von 0 bis 1
Amper_skillen sind wir schon bei 0.4 Amper_skillen.
Besonders wie versucht wird den Hund zum Jagen zu tragen. Köstlich.
Fehlt nur noch das der Patient behautet an der TUM oder einer anderen
TU9 Blender-Uni zu studieren.
Theor schrieb:> 12ws schrieb:>> hat denn jemand noch was neues? Was ich bis jetzt noch nicht genannt>> habe?>> Klar. "Neue Büroklammern" hast Du noch nicht genannt.
Eine echte Frage wäre auch schön, aber das will er irgendwie nicht.
Sicher nicht. Ich sehe darin keinen Sinn ihn zu beschimpfen oder herab
zu setzen. Er begreift nur offenbar einfach nicht, was los ist.
Beschimpfungen werden das nicht ändern.
Jeder kann irgend etwas besonders und etwas anderes besonders schlecht.
Auch diejenigen, die hier ihr "Opfer" gefunden haben, können irgend
etwas schlecht. Darüber sollten sie mal nachdenken. Sie könnten in kürze
selbst "Opfer" werden. Ich dachte eigentlich, dass Menschen sich
zivilisiert benehmen möchten.
Stefan ⛄ F. schrieb:> Jeder kann irgend etwas besonders und etwas anderes besonders schlecht.> Auch diejenigen, die hier ihr "Opfer" gefunden haben, können irgend> etwas schlecht. Darüber sollten sie mal nachdenken. Sie könnten in kürze> selbst "Opfer" werden. Ich dachte eigentlich, dass Menschen sich> zivilisiert benehmen möchten.
Jetzt erkläre die Pfeife hier nicht zum Opfer. Seit Tagen verarscht er
uns mit immer neuen Threads und Benutzernamen. Er antwortet nicht
vernünftig auf Fragen, glaubt er müsste uns irgendwie austricksen, tritt
auch dich in den Arsch
(Beitrag "Re: Programmierung von Messdatenerfassungssys. - Informationsfluss zw bedienoberfläche und gerät übe")
und behandelt uns allgemein wie Scheiße.
Hannes J. schrieb:> Jetzt erkläre die Pfeife hier nicht zum Opfer.
Ich kann das nicht mit Sicherheit feststellen. Es könnten auch
unterschiedliche Personen ohne böse Absicht sein.
Überlasse das mal den Moderatoren, solche Zusammenhänge herauszufinden.
Leute wegen unsicherer Vermutungen schlecht zu behandeln scheint mir
nicht angemessen. Man kann wenigstens höflich bleiben oder sich heraus
halten.
So wie ich seine Fragen interpretiere, sucht er ein Stück Software,
welches zwischen seine WinForm-GUI und den Treibern passt.
Das gibt es aber nicht fertig, das muss man selber schreiben. Dafür gibt
es Libs und APIs, passend zu den Treibern und zu WinForm.
Ob er nun das ganze OSI-Modell nachbildet oder nur Layer 2 bis 4 (die
oberen 3 Layer "erschlägt" WinForm), ist egal. Die Hersteller der APIs
nehmen es nicht mehr so genau mit dem Schichtenmodell.
In welche Schicht dann die Signalvorverarbeitung kommt, kann er
großzügig selber festlegen oder sich an den OSI-Standard halten.
Blackbird
Blackbird schrieb:> So wie ich seine Fragen interpretiere, sucht er ein Stück Software,> welches zwischen seine WinForm-GUI und den Treibern passt.
Interessante Interpretation. Ich dachte er will nur ein
Architekturdiagramm zeichnen.
12ws, da siehst du, dass deine Frage immer noch unklar ist. Sogar sehr
unklar.
Dass er Software braucht, schreibt er doch immer wieder in diesem
Thread.
WinForms-GUI hat er, Treiber für (USB-)Geräte auch - und wie kommen die
Daten nun über die dazwischen liegende Lücke. Die Kollegen haben ihm
wohl VISA empfohlen, weil die Geräte von Agilent, Keysight, usw. sind.
Das ist aber nur ein API mit Libs, das die Kommunikation mit den
Treibern beschreibt. Signalvorverarbeitung, Kommunikation mit WinForms
sind nicht enthalten, auch sind nicht alle API-Aufrufe notwendig.
Diesen "Klumpen" Software muss man halt noch selber schreiben. Nur geht
das nicht so schön grafisch per Klick und C&P wie mit WinForms.
User: "8393", "Unterschied", "key", "Key", ... ("noßßa", "quick and
dirty" auch noch).
Behandelt alles das Gleiche. An Hand des Datums kann man auch seine
Lernkurve sehen.
Jeder fängt mal an, da ist Nicht-Wissen keine Schande. Aber die Form und
der Umgang mit den Menschen, die man um Hilfe bitte, die ist schon sehr,
sehr seltsam.
Naja, warten wir ab, unter welchem Nick der nächste Thread kommt.
Blackbird schrieb:> Dass er Software braucht, schreibt er doch immer wieder in diesem> Thread.> [...]
Vielleicht stimmt das ja und ich habe das übersehen, aber wo genau, in
welchem Beitrag und in welchem Satz schreibt er das?
12ws schrieb:> genau.Das Programm läuft. Aber mit dem treiber allein funktioniert es> nicht. Benötige VISA. Oder ähnliche Libs
Hier?
12ws schrieb:> Und da ich nicht einfach stumpf programmieren möchte, die Frage, wie> sind da die Zusammenhänge
Und hier?
Auch die verlinkten Bilder sind in seinen anderen Threads schon
aufgetaucht, ebenso seine Fragen zur Programmierung genau seines
"Problems" in diesem Thread.
Der Sourcecode, den er gepostet hat, ist, nunja, fehlerträchtig. Das
Ganze mal richtig aufzudröseln und funktional getrennt zu gestalten, das
scheint mir auch notwendig zu sein.
Das haben ihm andere hier im Forum in seinen verschiedenen Threads auch
geraten (seine Kollegen scheinbar auch).
Deshalb dieser Thread hier.
Blackbird
Lothar J. schrieb:> 12ws schrieb:>> genau.Das Programm läuft. Aber mit dem treiber allein funktioniert es>> nicht. Benötige VISA. Oder ähnliche Libs>> Hier?> 12ws schrieb:>> Und da ich nicht einfach stumpf programmieren möchte, die Frage, wie>> sind da die Zusammenhänge>> Und hier?>> Auch die verlinkten Bilder sind in seinen anderen Threads schon> aufgetaucht, ebenso seine Fragen zur Programmierung genau seines> "Problems" in diesem Thread.> Der Sourcecode, den er gepostet hat, ist, nunja, fehlerträchtig. Das> Ganze mal richtig aufzudröseln und funktional getrennt zu gestalten, das> scheint mir auch notwendig zu sein.> Das haben ihm andere hier im Forum in seinen verschiedenen Threads auch> geraten (seine Kollegen scheinbar auch).> Deshalb dieser Thread hier.>> Blackbird
Hm. Danke jedenfalls für Deine Antwort, Blackbird. Jetzt verstehe ich,
wie Du darauf kommst.
OK. Du fasst das als Frage nach einer VISA-Lib auf - in dem Sinne darauf
einen Link o.ä. zu bekommen, von dem er sich die herunterladen kann.
Ich habe das nicht so aufgefasst, sondern aus dem Kontext was Anderes
gefolgert.
Aus dem Beitrag hier
Beitrag "SCIP VISA / Verbindung über USB mit Funktionsgenerator" konnte man
schliessen, dass er die VISA-Lib schon hat. Sonst wäre es sinnlos zu
schreiben:
> Ich habe das Programm für mein Gerät angepasst.
Aus den Problemen damit ergaben sich dann Literaturhinweise.
Daraus wiederum, nach einigen Detailfragen mehr, bei denem ihm Details
aus den Dokmenten zitiert wurden, ein plötzlicher Abbruch des Threads.
Und hier in diesem Thread hat er nur noch nach Struktur gefragt.
> ... wie kann ich mir den Informationsfluss vorstellen?
Darauf (da habe ich die anderen Threads noch nicht gekannt) habe ich ihn
gefragt, was er denn mit einer Antwort anfangen will.
Darauf ist er wiederum nicht substantiell eingegangen.
Alles irgendwie problematisch. Zumal das letzte konkrete Problem ja
> 786 Not able to delete a built-in arb waveform
war, was er irgendwie mit OPC vermischt hat.
er hat doch geschrieben, dass sein Programm läuft. Sein Problem ist
glaube ich, zu verstehen, wie die Software Architektur bei keysight ist.
Dazu Anhang
Output schrieb im Beitrag #6364120:
> ich hab eine ähnliche Frage.
Und ähnlich schlecht gestellt. Der Thread geht weiter, wie er begonnen
hat. So wird es wieder nichts.
Stelle konkrete Fragen, dann kann Dir geholfen werden.
Und es wäre vielleicht gut, die großen Themen in kleine Schritte zu
zerlegen. Denn niemand wird dir hier den Stoff eine ganzen Semesters
erläutern. Dafür gibt es nämlich noch ganz altmodische aber wirksame
Bücher.
Stefan ⛄ F. schrieb:> Output schrieb:>> ich hab eine ähnliche Frage.>> Und ähnlich schlecht gestellt.
eigentlich offensichtlich oder? Das ist die Sockenpuppe von 12ws und
all den Anderen
12ws schrieb:> genau.Das Programm läuft. Aber mit dem treiber allein funktioniert es> nicht. Benötige VISA. Oder ähnliche Libs
Sein "Programm", das WinForms-GUI, läuft. Mit Buttons, Listen, etc.
Sieht man an seinen Fragen in den anderen Beiträgen.
Nur wenn er auf einen Button klickt, passiert am (über USB
angeschlossenen) Gerät nichts. Auch kommen die Daten von dort nicht in
seine Listenfelder.
Also hat er noch den passenden Treiber installiert.
Und es passiert immer noch nichts.
Sein Betreuer oder seine Kollegen haben ihm gesagt, er soll VISA und die
passende Library (für das Gerät) verwenden.
Die enthält aber nun mal weder ein Executable noch einen ladbaren
"Treiber".
Also fehlt immer noch was.
Und das sollen wir ihm jetzt verraten.
Was er machen soll (ich nehme an: Student im Praktikum), ist eine
Standardaufgabe: ein Gerät per PC steuern und die Daten auslesen (und
vielleicht schon vorverarbeiten und noch speichern).
Dafür liefert fast jeder Geräte-Hersteller alle Software mit, inclusive
Demos.
Wenn es ein einfaches Gerät ist und die API es gestattet, dann kann man
die Funktionsaufrufe mit in die Software-"fetzen" (Forms) der GUI
einbauen.
Geht, ist aber unübersichtlich und versagt eventuell beim Daten-Transfer
vom Treiber in die GUI-Felder.
Besser ist es, einen Thread zu erstellen, von der GUI gestartet und der
im Hintergrund läuft und per Queue die Daten und Ereignisse von der GUI
holt. Auch viele Treiber geben die Daten gerne per Queue weiter. Aber
das bestimmt das API.
Dieser Thread, oder ein weiterer, kann dann auch Rohdaten in Files
speichern und diese, wenn notwendig, bereits bearbeiten.
Geschickter wäre es, bei der Aufteilung der Software ein passendes
Architekturmodell, oder wenigstens das OSI-Modell, für die Aufteilung
der (uns noch unbekannten) Funktionen anzuwenden.
Ob die nun alle in einem "Stück" Software (z.B. ein Windows-Thread) oder
verteilt in mehrere Software-Teile eingebaut werden, ist egal und nur
vom weiteren, uns unbekannten, Randbedingungen abhängig.
Auf jeden Fall ist es aber Software, die noch zu schreiben ist und die
in die Forms der GUI gehört.
Da kann unser TO noch so viele Architekturmodelle anschauen - in keinem
wird er einen Hinweis oder eine Bezeichnung finden, welche "Software" er
noch laden oder linken muss.
Die muss er selber schreiben!
Blackbird
Wir mutmaßen jetzt seit mehr als einer Woche darüber, wie denn die Frage
lautet. Und vom TO kam dazu nichts weiter.
Das ist die reinste Zeitverschwendung. Der lacht sich doch über uns
scheckig.
Output schrieb im Beitrag #6365933:
> Kann mir jemand den praktischen Unterschied nennen? den Unterschi3ed in> der Anwendung? Ich denke, die Frage ist sehr konkret.
und ist in dem PDF sehr plausibel erklärt....
Ohne COM besteht VISA aus einem Satz DLLs die zur App gelingt werden.
Wie das gemacht werden muss, ist in den Docs zu deiner Sprache zu
finden. (Stichwort Import Library) Keysight bietet vorgefertigte Header
für einiger Sprachen.
COM ist eine MS Erfindung um dem Programmierer das Leben schwer zu
machen. Es wird wohl so sein dass die API Funktionen noch mal in ein COM
Objekt verpackt sind. Für jemanden der programmieren kann ist es egal
was man nimmt im ersten Fall muss die Sprache Support für DLLs haben im
2. Fall für COM Objekte.
Für dich scheinen das bömische Dörfer zu sein. Dann ist es auch egal was
du nutzt.
Edit: beachte COM ist uralt stammt aus der W98 Zeit und hat sich nicht
so richtig etabliert.
Output schrieb im Beitrag #6366185:
> du hast nicht mit einem Wort erwähnt, wo der praktische Unterschied in> der ANWENDUNG liegt
Weil es keinen gibt. Das hat er auch geschrieben.
Output schrieb im Beitrag #6366296:
> Okay, also nachdem VISA den Schritt zu weiteren Programmiersprachen> getan hat, ist VISA COM obsolet?
Es ist eine Alternative Applikationsschnittstelle. Keine der beiden ist
obsolet. Warum phantasierst du soviel herum? Das steht doch nirgendwo!
Output schrieb im Beitrag #6366655:
> es steht geschrieben, dass VISA installiert sein muss, bevor VISA COM> genutzt werden kann.
nun dann wird das wohl so sein. Die Frage ist doch kannst du mit
winforms, ich kenn das nicht, DLLs ansprechen? Gibt es entsprechende
ImportLibs für die VISA DLLs?
Noch was zu COM. Die Dokus dazu gibt's bei MS. Der ursprüngliche Ansatz
war wohl was OOP ähnliches in C nachzurüsten. Später wurde das in
ActiveX umbenannt. NET benutzt das wohl, vermutlich weil DLLs nicht so
ohne weiteres gehen? Das ist aber Spekulation meinerseits ich benutze
kein NET.
Irgendwie verstehe ich dein Problem nicht.
Thomas Z. schrieb:> Irgendwie verstehe ich dein Problem nicht.
Mein Versuch zu erraten was das Ziel der Übung sein könnte: Ich denke
das scheint ein Versuch zu sein irgendwie die "beste" oder die
"modernste" Variante der Ansteuerung zu identifizieren bevor er sich die
Mühe macht die entsprechende Anleitung zu lesen um seine 2-3 Kommandos
abzusetzen. Bloß gibt es sowas nicht! Was es gibt sind viele Jahrzehnte
an Messgeräte-Ansteuerung wo jeder Hersteller sein eigenes Ding gemacht
hat, Versuche es zu standardisieren, Unmengen an alternativen oder auf
sich aufbauenden Abstraktionsschichten, etc. Mein Tipp: in die
Geräteanleitung schauen, identifizieren welche Funktionalität gefragt
ist (nicht jede wird von jeder Abstraktionsschicht unterstützt) und
einfach mal machen. Sobald die Kommunikation mit einem Testprogramm
steht dann in die GUI einbauen und fertig.
Output schrieb im Beitrag #6366906:
> Also, warum
Die Frage stellt sich mir auch... Warum ist es für dich wichtig dass es
2 verschiedene APIs gibt? Ich bin sicher dass Keysight für beide
Varianten Beispiele bereitstellt. Nimm einfach die mit der du besser
klar kommst. Das Leben kann so einfach sein.
Output schrieb im Beitrag #6367843:
> lässt sich die Softwarearchitektur mittels des osi modells darstellen?
Nein.
Das OSI-Schichtenmodell beschreibt die Beziehung von
Netzwerkprotokollen. Siehe https://de.wikipedia.org/wiki/OSI-Modell
Das hättest Du aber auch in 3 Minuten selbst heraus finden können.
Output schrieb im Beitrag #6367876:
> Theor schrieb:>> Beziehung von>> Netzwerkprotokollen>> also zwischen Messgerät und PC?> SCPI wäre Schicht 7> dazwischen Treiber visa oder sonst was> USb Schicht 1Theor schrieb:> Output schrieb im Beitrag #6367843:>> lässt sich die Softwarearchitektur mittels des osi modells darstellen?>> Nein .> Das OSI-Schichtenmodell beschreibt die Beziehung von> Netzwerkprotokollen. Siehe https://de.wikipedia.org/wiki/OSI-Modell> [...]
Nun, pass mal auf.
Es bringt nichts, wenn Du hier immer wieder die selben Fragen stellst,
aber erkennbar nichts, aber auch gar nichts, aus den Antworten oder
sogar aus den von Dir selbst gefundenen Dokumenten lernst.
Es ist absurd, dass Du auf die Antwort "Nein", eine Rückfrage stellst,
die voraussetzt, dass die Antwort "Ja" war.
Das ist dermaßen absurd, dass ich überzeugt bin, dass Du entweder ein
Troll bist, oder geistig nicht in der Lage die Zusammenhänge zu
erfassen.
@ Mods: Ich möchte Euch vorschlagen, den Thread unter die
"hoffnungslosen Fälle" ein zu ordnen.