K8090 Timer

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von Tobse101.

    hi,
    ich arbeite mit eine K8090 auf der sich 8 Relays befinden. Ich habe in VB den Folgenden Code geschrieden um die Relays einzel durch ein Timer anzusteuern. die k8090 befehle sind K8090. SwitchOn (&H1) K8090. SwitchOff (&H1), (&H1) gibt an welches Relays angesteuert wird, wobei die Zahl in den Klammern kan sich als Hexedezimalzahl von 1 bis 8 geendert werden.

    Problem:
    TextBox1 timer2 funktioniert (SwitchOn), TextBox2 timer2 funktioniert (SwitchOff)
    TextBox3 timer4 funktioniert nicht (SwitchOn), TextBox4 timer5 funktioniert nicht (SwitchOff)

    Hier ist der Code:
    Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Timer1.Start() 'starts time in Label1
    Timer2.Start()
    Timer3.Start()
    Timer4.Start()
    Timer5.Start()
    End Sub

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    Label1.Text = Format(TimeOfDay)
    End Sub

    Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
    If TextBox1.Text = Label1.Text Then
    K8090.Connect()
    K8090.SwitchRelayOn(&H1) 'hexadecimal (8 bit code) for velleman board, relay 1
    K8090.Disconnect()
    End If
    End Sub

    Private Sub Timer3_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer3.Tick
    If TextBox2.Text = Label1.Text Then
    K8090.Connect()
    K8090.SwitchRelayOff(&H1)
    K8090.Disconnect()
    End If
    End Sub 'works fine up to here



    Private Sub Timer4_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer4.Tick
    If TextBox3.Text = Label1.Text Then
    K8090.Connect()
    K8090.SwitchRelayOn(&H80) 'hexadecimal (8 bit code) for velleman board, relay 8
    K8090.Disconnect()
    End If
    End Sub

    Private Sub Timer5_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer5.Tick
    If TextBox4.Text = Label1.Text Then
    K8090.Connect()
    K8090.SwitchRelayOff(&H80)
    K8090.Disconnect()
    End If
    End Sub
    End Class
    ich versucher jetzt es mit weniger timer zu machen aber klappt nicht so wie ich es mit vorstelle.
    jetzt habe ich es folgend probiert:

    form1: ein Label1 und ein textbox1

    code:

    Privet Sub Timer1_Tick (.......)
    Label1.Text= Format ( TimeOfDay )
    End Sub

    Privet Sub TextBox1_Click(........)
    If TextBox1.Text=Label1.text Then
    K8090.Conect()
    K8090.SwitchRelayOn (&H1)
    K8090.SwitchRelayOn ()
    End Sub

    ein Signal wird zwar zu dem K8090 gesendet, es geht aber kein Relay an. warum?