VB 6 Einlesen von Meßsignalen über COM1

Hallo Liebe Community.

Ich bin neu hier und auf dem Gebiet der Proramierung ein wissbegieriger Amateuer. Bin aber ein Profi in Chemischen Anfragen (zur Info…)

Ich habe folgendes Problem bzw. folgende Aufgabenstellung die ich gerne mit Visual Basic lösen möchte.

Aus einm I/O-Controller eines industriellen Meßgerätes kann ich sowohl digitale als auch analoge Signale (4-20 mA) aussenden. Ich würde gerne diese Signale über die serielle Schnittstelle (kann aber auch USB sein) auslesenm und mir in VB anzeigen lassen. Bei den digitalen Signalen stelle ich mir das so vor dass ich zwischen 2 Ports abfrage ob Strom fließ oder nicht. Ob ich jedoch nA-Werte direkt auslesen kann wäre ja ein anderes Thema.

Soviel ich weiß wird hierfür eine DLL-Datei benötigt. Bitte welche und wie binde ich die in meinen Quellcode ein. Das ganze hört sich für mich ein bisschen nach C bzw. C++ an, obwohl VB soviel ich weiß dialog- und nicht objektorientier ist.

Bitte um eueren Input.

Hallo,

Ich bin neu hier und auf dem Gebiet der Proramierung ein
wissbegieriger Amateuer. Bin aber ein Profi in Chemischen
Anfragen (zur Info…)

gut zu wissen! :smile:

Ich habe folgendes Problem bzw. folgende Aufgabenstellung die
ich gerne mit Visual Basic lösen möchte.

VB5 / VB6 hoffe ich. Sonst wäre es das falsche Brett. Für .NET ist weiter oben ‚.NET & C#‘.

Aus einm I/O-Controller eines industriellen Meßgerätes kann
ich sowohl digitale als auch analoge Signale (4-20 mA)
aussenden. Ich würde gerne diese Signale über die serielle
Schnittstelle (kann aber auch USB sein) auslesenm und mir in
VB anzeigen lassen.

Die Serielle Schnittstelle ist für Kommunikation gedacht, an die kommst Du IMO so nicht heran, daß Du sie für diesen Zweck missbrauchen kannst.
Wenn Du einen Druckerport hast (was allmählich aus der MMode kommt) kannst Du mit ganz wenig zusätzlicher Elektronik (Optokoppler) den Parallellport auslesen.

Bei den digitalen Signalen stelle ich mir
das so vor dass ich zwischen 2 Ports abfrage ob Strom fließ
oder nicht. Ob ich jedoch nA-Werte direkt auslesen kann wäre
ja ein anderes Thema.

Nein. Am Parallellport kannst Du zwei Pins kurz schließen.
Strom anlegen zerstört Deinen Computer.

Soviel ich weiß wird hierfür eine DLL-Datei benötigt.

Ich suche danach, gelesen habe ich das schon, nur wiederfinden muß ich es. :smile:
Im Prinzip wird nur ein Byte von einer Hardwareadresse gelesen, alles andere musst Du selbst machen, aber das ist nicht schwer.

Bitte
welche und wie binde ich die in meinen Quellcode ein. Das
ganze hört sich für mich ein bisschen nach C bzw. C++ an,
obwohl VB soviel ich weiß dialog- und nicht objektorientier
ist.

C C++ ist hardwarenäher. Ob Du das Programmierproblem objektorientiert angehst oder nicht, hat mit der Lösbarkeit der Aufgabe aber nichts zu tun.

Gruß Rainer

Hallo,

hmm, viele Messkartenhersteller bieten mit ihren Produkten eben DLL´s an. Ohne diese wird es wohl sehr schwer die Karten anständig anzusprechen. DLL´s kann Du natürlich mit VB/C#/J# usw. ansprechen. Hier sind alle notwendigen Infos/Codes gespeichert um das Auslesen der Karten recht einfach für den Programmierer zu machen. Ich selbst habe auch schon damit gearbeitet und ist wirklich einfach.

Also als Tip: Ab zur Hersteller Page und nach einer DLL für die Karte/Gerät schauen. Meistens gibts dafür noch beispielcode.

bye
Markus

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,
erfinde das Rad nicht neu. Kaufe dir besser eine IO Karte die USB/seriell Support hat.
(zb http://codemercs.de/D_index.html) oder ähnliches. (->Google)

Die sind nicht teuer und haben die Software/Bibliotheken um eine einfache Anbindung zu machen.
Alles andere zerstört entweder den Rechner oder du verbringst Tage mit der Programmierung die sich weder vom Aufwand noch Qualität her rechnen.

Gruß
Joey

Hallo Liebe Community.

Hallo

Ich habe folgendes Problem bzw. folgende Aufgabenstellung die
ich gerne mit Visual Basic lösen möchte.

Aus einm I/O-Controller eines industriellen Meßgerätes kann
ich sowohl digitale als auch analoge Signale (4-20 mA)
aussenden. Ich würde gerne diese Signale über die serielle
Schnittstelle (kann aber auch USB sein) auslesenm und mir in
VB anzeigen lassen.

Das was Du I/O Controller nennst, müßte eine passende serielle Schnittstelle haben. Parallel geht auch, aber bei parallel und bei USB würde ich ein fertiges Programm beziehungsweise einen Treiber empfehlen.
Ein Anschluss am PC über die serielle Schnittstelle ist einfach was den PC betrifft; es gibt ein sogenanntes Control welches die für die Aufgaben eines seriellen Ports passenden Ereignisse und Methoden bildet.(Bei VB5 weiß ich das.)Man braucht auch keine zusätzliche DLL.

Bei den digitalen Signalen stelle ich mir
das so vor dass ich zwischen 2 Ports abfrage ob Strom fließ
oder nicht. Ob ich jedoch nA-Werte direkt auslesen kann wäre
ja ein anderes Thema.

„Zwischen 2 Ports abfragen“, da kann ich mir ehrlich gesagt nichts drunter vorstellen. Auf jeden Fall gibts am Computer normalerweise keinen Port für Ströme.

Soviel ich weiß wird hierfür eine DLL-Datei benötigt. Bitte
welche und wie binde ich die in meinen Quellcode ein. Das
ganze hört sich für mich ein bisschen nach C bzw. C++ an,
obwohl VB soviel ich weiß dialog- und nicht objektorientier
ist.

Bitte um eueren Input.

Du bekommst aber nur meinen Output.
VB ist objektorientiert, es gibt aber verschiedene Grade davon und ehrlich gesagt, hast Du glaub ich nicht viel Ahnung von Computern.
Auch weiß ich nicht, was sich nach C anhören soll.
Für Einsteiger empfehle ich immer Basic als allgemeine Computer-Sprache, bzw. für den PC das Visual Basic.
Man kann aber auch einfach mal schauen, was einem liegt.
Bei Visual C++ hat man ebenfalls eine schnelle Möglichkeit um Oberflächen herzustellen und man kann Treiber mit C erstellen, aber das Lernen der Sprache frustriert besonders Anfänger schnell.
Wesentlich für eine gute Nutzbarkeit ist eine gute Dokumentation, eine gute Hilfedatei.
Ich fand übrigens auch viele kostenlose Downloads, so das du eigentlich nicht alles kaufen must, um es zu testen.

MfG
Matthias