Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


RS232 - 110,N,8,1 (binary/raw mode) ?

Postades av 2008-10-27 16:10:17 - Magnus Karlsson, i forum vb.net, Tråden har 14 Kommentarer och lästs av 1065 personer


Jag vill läsa in puls/kortslutning via RS232 porten med en givare där tillverkaren säger att inläsningen skall ske efter "110,N,8,1 (binary/raw mode)" ... en 50ms puls läses in som ett tecken med ASCII koden 0xE0 eller 0xF0.
Hur skall man översätta detta till vb.net?



Svara

Sv: RS232 - 110,N,8,1 (binary/raw mode) ?

Postades av 2008-10-27 20:10:50 - Oskar Johansson

Finns en klass i .net framework som heter någonting i stil med "serialport" eller liknande, kolla på google efter den


Svara

Sv:RS232 - 110,N,8,1 (binary/raw mode) ?

Postades av 2008-10-27 21:04:16 - Simon Dahlbacka

System.IO.Ports.SerialPort om jag inte missminner mej...


Svara

Sv: RS232 - 110,N,8,1 (binary/raw mode) ?

Postades av 2008-10-28 08:57:40 - Magnus Karlsson

"serialport" känner jag till redan ... med vad menas med 110,n,8,1 ?


DTR och RxD kopplas samman genom en strömställare som är öppen. När strömställaren kortslutes under en period av ca 50ms vill jag fånga detta genom RxD.

Det som händer är att DTR skickar ut en spänning som kan likställas med en 1:a. Det är denna 1:a som jag vill läsa av genom RxD.

<code>
Dim Comport As SerialPort
Comport = New SerialPort()
With Comport
.PortName = "COM1"
.BaudRate = 110
.Parity = IO.Ports.Parity.None
.DataBits = 8
.StopBits = IO.Ports.StopBits.One
.RtsEnable = True
.DtrEnable = True
.ReadTimeout = 1500
.Open()
End With
</code>

men hur får jag tag på min 1:a ?


Svara

Sv:RS232 - 110,N,8,1 (binary/raw mode) ?

Postades av 2008-10-28 11:25:47 - Oskar Johansson

110,N,8,1 betyder:

110 baud
ingen paritetsbit
8 databitar
1 stopbit

som jag ser det så är det de inställningar du använder

Angående dtr så begriper jag inte riktigt scenariot, vad har dtr att göra med rxd? och i vilken ände?


Svara

Sv: RS232 - 110,N,8,1 (binary/raw mode) ?

Postades av 2008-10-28 13:20:20 - Magnus Karlsson


Det jag vill göra är att läsa av en puls (kortslutning) från en elmätare. kan göra det enkelt för mig och använda redan färdiga mjukvaror men vill lära mig hur det går till från grunden.


DTR ansluts till RxD med en öppen strömbrytare. När strömbrytaren under 50ms stängs (kortslutes) så blir Rxd "hög". Hur läser man av detta?

se: http://www.techtrade.se/sv/emc-connect.asp för hur det skall kopplas mot serieporten om det verkar oklart.


Svara

Sv:RS232 - 110,N,8,1 (binary/raw mode) ?

Postades av 2008-10-28 13:32:13 - Oskar Johansson

Hm.. Kan du läsa av det i error-eventet?


Svara

Sv: RS232 - 110,N,8,1 (binary/raw mode) ?

Postades av 2008-10-28 13:54:25 - Magnus Karlsson


det där med startbit, paritet och stoppbit tillhör asynkron dataöverföring. det jag vill göra känns som ickeasynkron. Jag måste

ett normalvärde är en "etta". en startbit är en "nolla" ...... det borde fungera som så att det alltid är en "etta" med en "nolla" under 50ms. Frågan är bara hur fungar man upp detta...

error event ?


Svara

Sv:RS232 - 110,N,8,1 (binary/raw mode) ?

Postades av 2008-10-28 14:57:00 - Oskar Johansson

Det du vill göra är högst asynkront i mina öron. Testa att se vad som exekveras i eventen på SerialPort-objektet när det kommer "data"


Svara

Sv: RS232 - 110,N,8,1 (binary/raw mode) ?

Postades av 2008-10-28 15:32:25 - Magnus Karlsson


Hittat ett event som kanske skulle passa ... "SerialPort.PinChanged". Man jag är kass på hur man skall använda detta i praktiken ... förslag/hjälp önskas


Svara

Sv:RS232 - 110,N,8,1 (binary/raw mode) ?

Postades av 2008-10-28 17:46:52 - Oskar Johansson

Enligt dokumentationen så kan du inte använda pinchanged. Så, som sagt, titta på error-eventet och datareceived-eventet eller vad det nu heter och se om du kan använda det. (släng in msgbox eller något i eventen å se om å vad som exekveras)


Svara

Sv: RS232 - 110,N,8,1 (binary/raw mode) ?

Postades av 2008-10-29 09:55:29 - Magnus Karlsson

... men "SerialPinChange Enumeration" ... "CtsChanged", "DsrChanged", "CDChanged" ... mm hur kan man använda detta ?


Svara

Sv: RS232 - 110,N,8,1 (binary/raw mode) ?

Postades av 2008-10-29 10:48:24 - Magnus Karlsson

Detta har jag hittat i ett program som jag "deassemblat"... är lite dålig på detta område. behörver hjälp att förstå ...

<code>

Private _commtest As SerialPort

Private Sub CommTest_PinChanged(ByVal sender As Object, ByVal e As SerialPinChangedEventArgs)
If (e.EventType = SerialPinChange.CDChanged) Then
'do my shit
End If
If (e.EventType = SerialPinChange.Break) Then
'do my shit
End If
If (e.EventType = SerialPinChange.DsrChanged) Then
'do my shit
End If
If (e.EventType = SerialPinChange.CtsChanged) Then
'do my shit
End If
If (e.EventType = SerialPinChange.Ring) Then
'do my shit
End If
End Sub


Friend Overridable Property CommTest() As SerialPort
Get
Return Me._CommTest
End Get
Set(ByVal WithEventsValue As SerialPort)
Dim handler2 As SerialPinChangedEventHandler = New SerialPinChangedEventHandler(AddressOf Me.CommTest_PinChanged)
If (Not Me._CommTest Is Nothing) Then
RemoveHandler Me._CommTest.PinChanged, handler2
End If
Me._CommTest = WithEventsValue
If (Not Me._CommTest Is Nothing) Then
AddHandler Me._CommTest.PinChanged, handler2
End If
End Set
End Property

</code>


Svara

Sv: RS232 - 110,N,8,1 (binary/raw mode) ?

Postades av 2008-10-30 09:05:43 - Magnus Karlsson


Varför kan jag inte komma in och köra "do my shit" ?

<code>

Private _commtest As SerialPort

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
CommTest = New SerialPort("COM1")
CommTest.Open()
End Sub

Private Sub CommTest_PinChanged(ByVal sender As Object, ByVal e As SerialPinChangedEventArgs)
If (e.EventType = SerialPinChange.CDChanged) Then
'do my shit
End If
If (e.EventType = SerialPinChange.Break) Then
'do my shit
End If
If (e.EventType = SerialPinChange.DsrChanged) Then
'do my shit
End If
If (e.EventType = SerialPinChange.CtsChanged) Then
'do my shit
End If
If (e.EventType = SerialPinChange.Ring) Then
'do my shit
End If
End Sub


Friend Overridable Property CommTest() As SerialPort
Get
Return Me._CommTest
End Get
Set(ByVal WithEventsValue As SerialPort)
Dim handler2 As SerialPinChangedEventHandler = New SerialPinChangedEventHandler(AddressOf Me.CommTest_PinChanged)
If (Not Me._CommTest Is Nothing) Then
RemoveHandler Me._CommTest.PinChanged, handler2
End If
Me._CommTest = WithEventsValue
If (Not Me._CommTest Is Nothing) Then
AddHandler Me._CommTest.PinChanged, handler2
End If
End Set
End Property

</code>


Svara

Sv:RS232 - 110,N,8,1 (binary/raw mode) ?

Postades av 2008-10-30 10:41:47 - Magnus Karlsson

DTR= true så funkar det


Svara

Nyligen

  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 726
27 958
271 751
402
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies