Moin! Ich hab hier glaube ich mal was Extravagantes: Aslo, ich möchte mir nen VB6 Programm schreiben, was Daten, die von einem Sensor gesendet werden ausliest und dann weiter an Excel schickt, damit ich sie dort weiter verarbeiten kann. Problem 1: Ich bekomme es nicht hin, die Daten zu empfangen. Ich habe es mit OPENCOM aus der Port.dll probiert, jedoch bekomme ich dort ne Fehlermeldung. Der Datenstrom hat folgende Einstellung: Baud-Rate 28800, 8 Datenbits, keine Parität, 1 Stoppbit und keine Datenflusskontrolle. Der Sensor sendet drei Werte, die mit je 12Bit aufgelöst werden. Das Einlese/Empfanginterval soll individuell festlegbar sein. also Quasi für die Aufnahem von Messreihen. Wie bekomme ich diese Werte in VB?! Problem 2: Die eingelesenen/empfangenen Daten sollen dann nach Excel übertragen werden und dort schön untereinander aufgeschrieben werden, damit man z.B. einen Trend absehen kann. Wie organisiere ich denn so nen Datentransfer?! Vielen Dank
Hi, kommen die Daten schon seriell? wenn ja: nimm das MSComm-Control. Datenimport in Excel: Entweder du schreibst eine csv-Datei oder du greifst über ein OLE-Objekt auf Excel zu. Was auch geht (wenn die Daten Live visualisiert werden sollen): in Excel ein Makro schreiben. Schau dich mal auf http://www.activevb.de um, da gibt's einige Infos. Viele Grüße hownottobeseen
Satanas wrote: > Moin! > Problem 1: Ich bekomme es nicht hin, die Daten zu empfangen. Ich habe es > mit OPENCOM aus der Port.dll probiert, jedoch bekomme ich dort ne > Fehlermeldung. Und wie bitteschön lautet die Fehlermeldung? Ich kann sie in der Kristallkugel nicht genau lesen. > Der Datenstrom hat folgende Einstellung: Baud-Rate 28800, 8 Datenbits, Liegt das ev. daran, dass 28800 eine ziemlich "krumme" Baudrate ist? Eine weitere Möglichkeit ist, die Daten nicht in VB6, sondern direkt in Excel aus der seriellen Schnittstelle zu lesen: http://www.b-kainka.de/buch2.htm
Die Baudrate mag zwar krumm sein, die Standard-PC-UART aber unterstützt sie.
Öha, stimmt ja gar nicht, hab grad nachgesehen: Einstellung 110 300 600 1200 2400 9600 (Voreinstellung) 14400 19200 28800 38400 56000 128000 256000 28800 sollte also problemlos möglich sein.
Ich habe ein VB Prgramm mit dem kann ich CD Wechsler ansteuern und einlesen, da es vor ein Paar jahre von einen USER geschrieben worde den ich nicht finde. Frage an euch das Programm liest nur den 200 hunderten aber ich besietze 400er CD wechsler wenn das Programm starte rechnet er entwas um. die 400 CDs im Hex ist 190 schicke ich raus geht nicht die 200 hundertste CD ist c8 geht disk = Right("0" + Hex(cdlade.List(cdlade.ListIndex)), 2) arg1 = Val(disk) arg2 = Val(track) For stega = 1 To (Len(wog) - 2) / 2 muo = Mid(wog, stega * 2 - 1, 2) timuxxx = "&H" + muo Rem muo muss von hex in Dec umgewandelt werden If muo <> "00" Then tittext = tittext + Chr("&H" + muo) Next
Peter wrote: > wenn das Programm starte rechnet er entwas um. > die 400 CDs im Hex ist 190 schicke ich raus geht nicht > die 200 hundertste CD ist c8 geht Weiters benögt man für Hex 190 3 Stellen, während man bei C8 mit 2 Stellen auskommt. > > disk = Right("0" + Hex(cdlade.List(cdlade.ListIndex)), 2) ^ Was bedeutet diese 2 ------------------------------------+
>> disk = Right("0" + Hex(cdlade.List(cdlade.ListIndex)), 2) > ^ > Was bedeutet diese 2 ------------------------------------+ Ich nehme mal an, mit dieser Zeile wird ein String erzeugt, der immer genau zwei Zeichen in Hex enthält. Hex$() liefert bei Zahlen unterhalb 16 (0xa) nur eine Stelle, durch den Code wird vorne eine Null angehängt (Verwendet doch bitte, BITTE nicht '+' für Stringkonkatenationen, sondern '&') und anschliessend die beiden hinteren Stellen verwendet. Ansonsten schliesse ich mich Karl Heinz an: 400 ist wohl zu lang.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.