vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 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

VB.NET - Fortgeschrittene
Re: Relaiskarte ansteuern, übersetzen nach vb.net 
Autor: tsaG
Datum: 05.06.08 10:06

So, ich habe es hinbekommen

Public Class Form1
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles MyBase.Load
        With SerialPort1
            .PortName = "COM1"
            .BaudRate = "19200"
            .Parity = System.IO.Ports.Parity.None
            .DataBits = "8"
            .StopBits = "1"
        End With
    End Sub
    Public Function senden(ByVal box)
        SerialPort1.Open()
        Dim Zeichenfolge(3) As Byte
        Dim IncommingData As String = SerialPort1.ReadExisting
 
 
        Zeichenfolge(0) = "3"
        Zeichenfolge(1) = "0"
        Zeichenfolge(2) = box
 
        Zeichenfolge(3) = Zeichenfolge(0) Xor Zeichenfolge(1) Xor Zeichenfolge( _
          2)
 
 
 
        SerialPort1.Write(Zeichenfolge, 0, 4)
        SerialPort1.Close()
 
    End Function
 
    Private Sub r1_Checked(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles r1.CheckedChanged
        senden(TextBox1.Text)
    End Sub
End Class
So, nun nächstes "Problem". Die Relais Ausgänge werden nicht direkt angesteuert, sondern nach folgendem Schema (versuchs mal zu beschreiben).

Byte 2:
0 = Alle Relais aus
1 = Nur 1. Relais an
2 = Nur 2. Relais an
3 = 1. und 2. an
4 = 3. an
5 = 1 und 3 an
6 = 2 und 3 an
7 = 1, 2 und 3 an
8 = 4 an
9 = 1 und 4 an
10 = 2 und 4 an
11 = 1, 2 und 4 an
12 = 3 und 4 an
13 = 1, 3 und 4 an

etc... kann man da irgendeinen Algorythmus einbauen womit er automatisch die Zahl berechnet?

Wollte das ganze mit Check Boxen machen, wie in dem beispiel Programm oben.

Also quasi, wenn Box 1 und 2 markiert ist der Wert 3
Wenn dann noch box 3 hinzu kommt ist der Wert 7....

Hab da noch keine Mathe Formel entdecken können... ^^

Hab das hier im alten Code gefunden und konnte es nicht zuordnen, kann es sein dass es dafür genutzt wurde?

Public Function RShiftLong(ByVal Value As Long, ByVal Shift As Integer) As Long
    Dim hi As Long
    MakeOnBits
    If (Value And &H80000000) Then hi = &H40000000
 
    RShiftLong = (Value And &H7FFFFFFE) \ (2 ^ Shift)
    RShiftLong = (RShiftLong Or (hi \ (2 ^ (Shift - 1))))
End Function
 
Private Sub MakeOnBits()
    Dim j As Integer, v As Long
    For j = 0 To 30
        v = v + (2 ^ j)
        OnBits(j) = v
    Next j
    OnBits(j) = v + &H80000000
End Sub
Jedoch weiss ich (wiedermal) nicht wie man das benutzt xD (wobei der auch noch an vb.net angepasst werden muss)
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Relaiskarte ansteuern, übersetzen nach vb.net4.157tsaG30.05.08 16:02
Re: Relaiskarte ansteuern, übersetzen nach vb.net2.034Nightshark2131.05.08 12:50
Re: Relaiskarte ansteuern, übersetzen nach vb.net1.999tsaG01.06.08 10:32
Re: Relaiskarte ansteuern, übersetzen nach vb.net1.877Nightshark2102.06.08 10:26
Re: Relaiskarte ansteuern, übersetzen nach vb.net2.035tsaG05.06.08 10:06
Re: Relaiskarte ansteuern, übersetzen nach vb.net1.783GPM05.06.08 12:27
Re: Relaiskarte ansteuern, übersetzen nach vb.net1.779tsaG01.10.08 13:54
Re: Relaiskarte ansteuern, übersetzen nach vb.net1.712GPM01.10.08 15:34
Re: Relaiskarte ansteuern, übersetzen nach vb.net1.509tsaG01.10.08 18:19

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