vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
Übersetzung von QB45 in VB5 Datenerfassung über com 
Autor: antirosa
Datum: 11.10.03 10:26

Wer kann helfen?
Ich schaffe es nicht den Programmcode von QB45 in VB zu übersetzen.
der Code stammt von einem 8 Kanal 10-bit Datenerfassungssystem für die serielle Schnitstelle von Conrad. Es sollen spannungen von 0 bis 5 Volt eingelesen werden.

Unter Qb45 kein Problem. Aber wie schaffe ich das mit dem MSCommControl. Ich sehe Schwarz.
Hier der QB45 Code:

'__________________________________________________________________________
'
' DEMO_1.BAS Demoprogramm (c) Bernd Kunze
' Toolbox
' zum
' Ver. 1.00 AD-Wandler LTC 1090/1290 20.02.1994
'__________________________________________________________________________
'
'

DECLARE FUNCTION GetMesswert! (Kanal!, Durchlauf!)

'Bildschirm vorbereiten
CLS
LOCATE 25, 13: PRINT "mV";
LOCATE , 35: PRINT "0 1 2 3 4 5 Volt";
LOCATE 1, 1

'Beginn der Endlosschleife
DO

'Meáwertabfrage vom AD-Wandler
MilliVolt = GetMesswert(1, 1)

'Spannungswert auf den Bildschirm schreiben
LOCATE , 10: PRINT USING "#####"; MilliVolt;

'Spannung als Leuchtpunkt ausgeben
LOCATE , 35 + (MilliVolt / 125): PRINT "Ü"

'Wiederhole die Messungen bis eine Taste gedrückt wird
LOOP WHILE INKEY$ = ""

'Programm beenden
END

FUNCTION GetMesswert (Kanal, Durchlauf)

DIM AdressePort(4)
AdressePort(1) = &H3F8: AdressePort(2) = &H2F8
AdressePort(3) = &H3E8: AdressePort(4) = &H2E8

Port = 1
Referenz! = 5#
PC.Speed& = 0
MaxBitWert = 2048

SELECT CASE Kanal
CASE 1
Kanal$ = "100011101111"
CASE 2
Kanal$ = "110011101111"
CASE 3
Kanal$ = "100111101111"
CASE 4
Kanal$ = "110111101111"
CASE 5
Kanal$ = "101011101111"
CASE 6
Kanal$ = "111011101111"
CASE 7
Kanal$ = "101111101111"
CASE 8
Kanal$ = "111111101111"
END SELECT

Messaddition& = 0

FOR Messung = 0 TO Durchlauf

Messchritt = 0
BitWert = MaxBitWert

FOR i = 1 TO 12

OUT AdressePort(Port) + 4, (&HFE AND INP(AdressePort(Port) + 4))

IF MID$(Kanal$, i, 1) = "0" THEN
OUT AdressePort(Port) + 4, (&HFD AND INP(AdressePort(Port) + 4))
ELSE
OUT AdressePort(Port) + 4, (&H2 OR INP(AdressePort(Port) + 4))
END IF

OUT AdressePort(Port) + 4, (&H1 OR INP(AdressePort(Port) + 4))

IF (INP(AdressePort(Port) + 6) AND 16) = 16 THEN
ELSE
Messchritt = Messchritt + BitWert
END IF
BitWert = BitWert / 2

NEXT i

OUT AdressePort(Port) + 4, (&HFD AND INP(AdressePort(Port) + 4))
OUT AdressePort(Port) + 4, (&H2 OR INP(AdressePort(Port) + 4))

FOR Warten& = 1 TO PC.Speed&: NEXT Warten&

IF Messung > 0 THEN
Messaddition& = Messaddition& + Messchritt
END IF

NEXT Messung

Messchritt = (Messaddition& / Durchlauf)
GetMesswert = Messchritt / 4.095 * Referenz!

END FUNCTION
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Übersetzung von QB45 in VB5 Datenerfassung über c...910antirosa11.10.03 10:26

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel