Forum: PC-Programmierung C++ Programm um Puls zu senden


von Bal T. (baltam)


Lesenswert?

Hallo,
nach lange suchen habe ich diesen Forum gefunden, ich hoffe ich wird 
Hilfe finden oder zumindest ein paar Tips.

So ich hab eine selbst gebastelte Platine mit eine Ultraschallsensor, 
die mit eine Datenerfassungskarte am PC (also eine PCI-Karte) verbunden 
ist.
Das ganze muss mit MATLAB laufen, da MATLAB sehr gut für Data 
Acquisition geeignet ist .
Um Daten zu erfassen von der Sensorkarte, muss ich dies Triggern, also 
digitale Signale senden um das erwünschten analogen Signal zu bekommen.

Ein einziges Signal kann Matlab nicht senden, der Clock-Puls (muss ca. 
40 kHz sein also 13 µs HIGH / 13 µs LOW). Dafür, laut MATLAB support 
muss ich ein C++ Programm erstellen oder die APIs von meinem Hardware 
Driver bearbeiten.

Ich hab ganz viele APIs mit dem Data Acquisition Hardware installiert, 
und ich weiss nicht wo ich suchen muss.

Hat jemand sowas schonmal gehabt ?
Also einen Puls mit C++ programmiert ?

werde mich freuen Tips zu hören

von Rolf Magnus (Gast)


Lesenswert?

Du willst auf einem PC in Software einen Pin alle 13 µs toggeln? Das 
wird nichts.

von Flo (Gast)


Lesenswert?

einen NE555 als Taktquelle hinhängen, um die Platine zum Arbeiten zu 
überreden?

von Bal T. (baltam)


Lesenswert?

danke für die Antworten.

 @Flo: das klingt schon mal positiv.
   Aber die Data Acquisition Karte (KPCI-3103A) von Keithley ist eine 
Multifunktionskarte.
   Laut die Datasheet die Karte kann einen Takt rausgeben,das bedeutet 
ich brauche keine zusätzliche Hardware.
   Ich versteh nun nicht was ich mit die installierte Driver APIs 
Beispiele (in C++, VB und ActiveX geschrieben) von der DAQ-Karte machen 
soll um das gewünschte Signal zu senden.
   Hatte schon jemand solche Aufgabe gemacht ?
   Das würde mich interessieren zu wissen wie man mit APIs arbeitet.

danke im Voraus.

von Karl H. (kbuchegg)


Lesenswert?

Bal Tam schrieb:


>    Das würde mich interessieren zu wissen wie man mit APIs arbeitet.

Hauptsächlich indem man die mitgelieferte Doku und die mitgelieferten 
Beispiele studiert um rauszufinden, welche Funktionen man in welcher 
Reihenfolge mit welchen Parametern aufrufen muss, damit die Karte genau 
was macht.

Wenn man das dann weiß (und möglicherweise ein paar Vorversuche in 
reinem C++ gemacht hat), ist man soweit, dass man sich ansieht wie man 
MATLAB eine in C++ geschriebene DLL unterjubelt. Diese DLL stellt dann 
die geforderte Funktionalität an MATLAB in Form einer Funktion zur 
Verfügung. In der Funktion passiert dann genau das, was man im ersten 
Schritt beim Studium der Doku/Beispiele rasgefunden hat, bzw. durch 
Programmieren von ein paar Testprogrammen als Wissen abgesichert hat.

von Bal T. (baltam)


Lesenswert?

Erstmal vielen Dank für die Antwort.

ich bin dabei die Dokus durchzulesen und nebenbei Beispiele selbst 
probieren, auch wenn das mir sehr viel Zeit kosten wird.

von Karl H. (kbuchegg)


Lesenswert?

Bal Tam schrieb:

> auch wenn das mir sehr viel Zeit kosten wird.

Was erwartest du?
Das das jemand anders für dich macht?

Es ist dein Projekt und du bearbeitest es. Du erntest letztendes das Lob 
oder was auch immer. Also mach auch die Arbeit.

Wenn du dann weißt wies geht, kannst du ja immer noch
* dem die Arbeit unentgeltlich abnehmen
* Geld dafür verlangen, dass du Zeit investiert hast um zu wissen
  wie es geht.

von Bal T. (baltam)


Lesenswert?

Karl heinz Buchegger schrieb:
> Was erwartest du?
> Das das jemand anders für dich macht?

das aufjedenfall nicht. ich erwarte nicht dass jemand meine Arbeit für 
mich macht.

Wenn ich hier gefragt habe, war das nur um mich zu orientieren.

Noch eine Frage: Der Wert von der Output Frequenz muss mit einem Slider 
in MATLAB GUI änderbar sein. Geht das auch mit einem C++ erstellten DLL 
?

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.