www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

VA-meter in RS232 izhod
Pojdi na stran Prejšnja  1, 2
 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Merilna tehnika in senzorji
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
piroman
Član
Član



Pridružen-a: Čet 23 Okt 2003 12:06
Prispevkov: 2707
Aktiv.: 11.40
Kraj: Ljubljana

PrispevekObjavljeno: Ned Jan 02, 2011 8:04 pm    Naslov sporočila:   Odgovori s citatom

poglaviten podatek je, da je treba vsak byte (8 bitov) razbit na dva 4 bitna nibbla. Pomen posameznih podatkov imaš v nepopolni tabeli:

Nibble Description
13 The measurement mode (see below)
1 First digit
3 Second digit
5 Third digit
7 Forth digit
9 Fifth digit (not in all modes)
11 Decimal point position and unit selection (depends on mode)
17 bit 0 Negative (1) or positive (0)
17 bit 1 Auto (1) or manual (0) range
15 AC, DC or AC+DC (depends on mode)

Šteješ od leve proti desni, vsak prenos pa se konča z 0D8A.

Toliko na hitro, en mulc mi bruha pa sem ves čas v nizkem štartu...

_________________
One shouldn’t work on semiconductors, that is a filthy mess; who knows if they really exist!
Wolfgang Pauli, 1931
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
marko11
Član
Član



Pridružen-a: Ned 14 Dec 2003 17:47
Prispevkov: 893
Aktiv.: 3.76
Kraj: Dobrepolje

PrispevekObjavljeno: Ned Jan 02, 2011 8:23 pm    Naslov sporočila:   Odgovori s citatom

David2204 je napisal/a:
Ne rabiš pretvarjat.

313834b5b3b0b3b0b0 : 184.53 mV


Hvaaalaaa, to si pa zelo dobro razložil. Skoraj vse jasno.

LP,
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
marko11
Član
Član



Pridružen-a: Ned 14 Dec 2003 17:47
Prispevkov: 893
Aktiv.: 3.76
Kraj: Dobrepolje

PrispevekObjavljeno: Tor Jan 04, 2011 7:19 pm    Naslov sporočila:   Odgovori s citatom

Sedaj pa bi rad te podatke, ki jih pošlje multimeter VC940 na serijski port

prečital in obdelal z Visual Basic 5.

Napisal sem sledečo kodo:

Koda:


Private Sub Command1_Click()

If MSComm1.PortOpen = True Then
  MSComm1.PortOpen = False      'Zapremo vrata za sabo
End If

End                             'Izhod iz programa

End Sub

Private Sub Form_Load()

    MSComm1.Settings = "2400,N,8,1"
    MSComm1.CommPort = 2
    MSComm1.InputLen = 22
    MSComm1.PortOpen = True
    MSComm1.RThreshold = 22

End Sub

Private Sub MSComm1_OnComm()

Dim Data As String

    Data = MSComm1.Input
    Text1.Text = Data

End Sub



Do tukaj vse vredu.
Ni pa dobro to da dobim rezultat kot string.

To dobim v taki obliki: °°°°°11°1а°°°°11°1Š

Ko pa gledam na Terminalu RS232 pa dobim v HEX obliki tole:
(Slika iz Terminala na prejšni strani)

B0 B0 B0 B0 B0 31 31 B0 31 0D 8A

Problem pa je v tem, da neznam napisati ta del kode tako, da bi dobil te podatke
v HEX obliki.

Kaj naj napišem v MSComm1_OnComm, da bom dobil podatek v Hex obliki?

LP,
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
marko11
Član
Član



Pridružen-a: Ned 14 Dec 2003 17:47
Prispevkov: 893
Aktiv.: 3.76
Kraj: Dobrepolje

PrispevekObjavljeno: Čet Jan 06, 2011 7:16 pm    Naslov sporočila:   Odgovori s citatom

Bom kar sam odgovoril.

S pomočjo strička Googla sem rešil problem, ampak sem rabil kar nekaj časa.

To pa zato, ker je za mene angleščina španska vas.

Spodaj je delujoča koda, ki ASCii znake spremeni v Hex.

Sedaj pa je potrebno samo še izluščiti prave podatke in jih take prikazati .

Na Formo postaviš TextBox, MSComm, CommandButton, se priklopiš preko kabla na Comm, (Voltcraft VC940), startaš program in meriš.

Koda:
Koda:
 Private Sub Command1_Click()

'Izhod iz programa

If MSComm1.PortOpen = True Then
  MSComm1.PortOpen = False      'Zapremo vrata za sabo
End If

End                             'Izhod iz programa

End Sub

Private Sub Command2_Click()

'Private Function HexString(EvalString As String) As String
Dim intStrLen As Integer
Dim intLoop As Integer
Dim strHex As String

EvalString = Text1.Text  'text1 je to kar dobiš v ASCii iz instrumenta

EvalString = Trim(EvalString)
intStrLen = Len(EvalString)

For intLoop = 1 To intStrLen
    strHex = strHex & " " & Right$("0" & Hex(Asc(Mid(EvalString, intLoop, 1))), 2)
Next

    HexString = strHex

Text2.Text = HexString
'End Function

End Sub

Private Sub Form_Load()

    MSComm1.Settings = "2400,N,8,1"
    MSComm1.CommPort = 2          'katera vrata
    'MSComm1.DTREnable = True
    MSComm1.InputLen = 11         'koliko karakterjev sprejme
    MSComm1.PortOpen = True
    MSComm1.RThreshold = 11

End Sub

Private Sub MSComm1_OnComm()

Dim Data As Integer 'String

  Data = MSComm1.Input
    Text1.Text = Data

End Sub


LP,marko
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Merilna tehnika in senzorji Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Pojdi na stran Prejšnja  1, 2
Stran 2 od 2

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 7 dni


Powered by phpBB © 2001, 2005 phpBB Group