Avatar billede iwatter Nybegynder
11. juli 2006 - 15:21 Der er 15 kommentarer

læsning fra comport

Hej..

Jeg har store problmer med at at læse data fra com-porten. Jeg benytter mscomm modullet.
Mit problem er ikke den egentlige læsning men mere at den data jeg får ud ikke er anvendelig. Jeg prøver at læse nogle simple aflæsniner fra et multimeter men den data jeg får ind i mit program er ikke men tal men derimod mærkelige tegn som "€". Er der nogen som har en ide om hvad der er gjaldt og hvordan jeg kan få konverteret mit data på en måde så det bliver brugbart for mig?????

alle former for hjælp og kommentar tages imod med takhånd...
Avatar billede jens_nuuk Nybegynder
11. juli 2006 - 20:43 #1
Nogle instrumenter sender krypteret data.
Hvilket instrument drejer det sig om?
Avatar billede iwatter Nybegynder
11. juli 2006 - 21:45 #2
Det drejer sig om instrumenter til måling af statisk elektricitet. Jeg tror derfor ikke det er så sandsynligt at data er krypteret.
Avatar billede jens_nuuk Nybegynder
11. juli 2006 - 22:54 #3
Nogle af de multimetre jeg har haft fat i skal have en kommando for at sende data tilbage, der skal vælges bla. område og type.
Hvis den streamer den data ud hele tiden så er det nok ikke tilfældet
Læser du asci værdier eller hex værdier? prøv evt. at bruge chr$() asc() hex() osv

Prøv at vedlægge en streng af de data du modtager.
Avatar billede iwatter Nybegynder
12. juli 2006 - 00:32 #4
Dette er et eksempel en streng

`€

Det som jeg den burde indeholde er et det decimaltal. Jeg har desuden kildekoden til et sample program kodet c++, hvilket jeg desværre ikke forstår særlig meget af.
Avatar billede jens_nuuk Nybegynder
12. juli 2006 - 01:59 #5
Kan du sende selve læsekoden i C++
Avatar billede jens_nuuk Nybegynder
12. juli 2006 - 02:39 #6
siger tallene 961286 dig noget

asc(`) = 96
asc(€) = 128
asc() = 60
er det altid det samme du modtager?
Kan du give mig den værdi du forventer at få igennem serielporten og de data som du modtager
Avatar billede iwatter Nybegynder
12. juli 2006 - 08:57 #7
Jeg har lagt både c kode og en kompileret på følgende link <a href="www.uberdruck.com/comport">comport</a>

Dataen i sæt kan jeg først sende senere i aften.

Tak for interessen
Avatar billede iwatter Nybegynder
12. juli 2006 - 08:58 #8
Nå, den accepterer ikke html. Her er urlen - www.uberdruck.com/comport
Avatar billede jens_nuuk Nybegynder
12. juli 2006 - 14:42 #9
Jeg har lagt en serielport monitor ind på min hjemmeside du kan downloade.
Du skal dog lige registrere dig først, det koster gratis.
Programmet logger alt traffik på serielporten.
Det ser dog ud til på C++ koden at dit instrument skal have nogle kommandoer for at kommunikere.
Avatar billede jens_nuuk Nybegynder
12. juli 2006 - 14:44 #10
P.S. hjemmesiden er http://www.wingps.dk klik på Visual basic stuff
Husk at registrere for at kunne downloade.
Avatar billede iwatter Nybegynder
13. juli 2006 - 00:11 #11
jeg har puslet lidt med programmet du henviser til og får umiddelbart ikke noget output fra mit instrument, selvom jeg tilsynladende får data ind i mit vb program. Jeg aner ikke hvad jeg skal stille op - har du / I nogle foreslag??
Avatar billede jens_nuuk Nybegynder
13. juli 2006 - 02:22 #12
Hej
Så er der kun tilbage at kontakte leverandøren af instrumentet, de plejer gerne at hjælpe med sådanne problemer.
Har du navnet på producenten vil jeg da gerne hjælpe. "jeg keder mig lige for tiden og holder ferie"
Avatar billede iwatter Nybegynder
13. juli 2006 - 09:09 #13
Hej. jeg har desværre allerede haft kontakt til producenten i tyskland (Kleinwächter) som sendte mig sample filen i c++, og i samme forbindelse udtrykte at det var alt det info de havde om produktet da det er en specialproduceret enhed. 

Mht. til at levere strenge som skulle indeholde bestemte data så er det tydeligt for mig at det input jeg får er forskelligt alt efter hvad der aflæses på instrumentet, men at jeg vidst har et problem med inputLenght da jeg ofte får "framing errors".

Det ser desuden ud som om at strengen

€˜`€

burde svare til

-002

Jeg har lagt min vb program op www.uberdruck.com/comport så du kan se hvad jeg gør.

Jeg venter spændt på om det er noget du kan knække...
Avatar billede jens_nuuk Nybegynder
13. juli 2006 - 14:38 #14
Prøv dette her
With MSComm2
        .CommPort = 2
        .Settings = "2400,N,8,1"
        .Handshaking = comRTS
        .RTSEnable = True
        .DTREnable = True
        .RThreshold = 1
        .SThreshold = 1
        .InputMode = comInputModeBinary
        .InputLen = 0
        .PortOpen = True
    End With

og i receive funktionen

Private Sub MSComm2_OnComm()
    Dim strMessage As String
   
    Select Case MSComm2.CommEvent
     
        Case comEvReceive
            strMessage = StrConv(MSComm2.Input, vbUnicode)
    End Select
   
    strBuffer = strBuffer & strMessage
Avatar billede iwatter Nybegynder
14. juli 2006 - 08:26 #15
Umiddelbart får jeg intet data ind i mit program med din kode, men hvis jeg sætter DTREnable = false så får jeg et input som ligner meget det jeg fik tidligere
tilsynladende svarer

`€€˜

til

-002

kan det være rigtigt?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester