Hier hast du VB-Beispiel Steuerprogramm für RN-Motor

Code:
Option Explicit 

Dim mybuffer As Variant 
Dim low As Byte 
Dim high As Byte 


Private Sub buttlDrehLinks_Click() 
    SendBefehl "#rmd" & Chr(0) & Chr(0), "OK" 
End Sub 

Private Sub buttlDrehRechts_Click() 
 SendBefehl "#rmd" & Chr(0) & Chr(1), "OK" 
End Sub 

Private Sub buttlEndlosdrehen_Click() 
    SendBefehl "#rme" & Chr(0), "OK" 
End Sub 

Private Sub buttlGeschwindigkeituebermitteln_Click() 
    SendBefehl "#rmg" & Chr(0) & Chr(HScrolllgeschwindigkeit.Value), "OK" 
End Sub 

Private Sub buttLMotorAus_Click() 
    SendBefehl "#rma" & Chr(0), "OK" 
End Sub 

Private Sub buttLMotorEin_Click() 
     SendBefehl "#rmo" & Chr(0), "OK" 
      
End Sub 

Private Sub buttlmotorstop_Click() 
     SendBefehl "#rms" & Chr(0), "OK" 
End Sub 

Private Sub buttLSchritt_Click() 
     SendBefehl "#rmm" & Chr(0), "OK" 
End Sub 

Private Sub buttlSchritteuebermitteln_Click() 
     high = Int(HScrolllschritte.Value / 256) 
     low = HScrolllschritte.Value - (high * 256) 
     SendBefehl "#rmz" & Chr(0) & Chr(low) & Chr(high), "OK" 
End Sub 

Private Sub buttLschritteZeigen_Click() 
     SendBefehl "#rmp" & Chr(0), "OK" 
End Sub 

Private Sub buttLStatus_Click() 
     SendBefehl "#rmt", "OK" 
End Sub 

Private Sub buttLStrom_Click() 
    SendBefehl "#rmi" & Chr(0) & Chr(lmaxstrom.Value / 10), "OK" 
End Sub 

Private Sub buttrDrehLinks_Click() 
SendBefehl "#rmd" & Chr(1) & Chr(0), "OK" 
End Sub 

Private Sub buttrDrehRechts_Click() 
  SendBefehl "#rmd" & Chr(1) & Chr(1), "OK" 
End Sub 

Private Sub buttrEndlosdrehen_Click() 
    SendBefehl "#rme" & Chr(1), "OK" 
End Sub 

Private Sub buttrGeschwindigkeituebermitteln_Click() 
    SendBefehl "#rmg" & Chr(1) & Chr(rHScrolllgeschwindigkeit.Value), "OK" 
End Sub 

Private Sub buttRMotorAus_Click() 
  SendBefehl "#rma" & Chr(1), "OK" 
End Sub 

Private Sub buttRMotorEin_Click() 
   SendBefehl "#rmo" & Chr(1), "OK" 
End Sub 

Private Sub buttrmotorstop_Click() 
     SendBefehl "#rms" & Chr(1), "OK" 
End Sub 

Private Sub buttrSchritt_Click() 
     SendBefehl "#rmm" & Chr(1), "OK" 
End Sub 

Private Sub buttRSchritteuebermitteln_Click() 
     high = Int(RHScrolllschritte.Value / 256) 
     low = RHScrolllschritte.Value - (high * 256) 
     SendBefehl "#rmz" & Chr(1) & Chr(low) & Chr(high), "OK" 
End Sub 

Private Sub buttrschritteZeigen_Click() 
     SendBefehl "#rmp" & Chr(1), "OK" 
End Sub 

Private Sub buttrStatus_Click() 
     SendBefehl "#rmt", "OK" 
End Sub 

Private Sub buttRStrom_Click() 
    SendBefehl "#rmi" & Chr(1) & Chr(rmaxstrom.Value / 10), "OK" 
End Sub 

Private Sub buttVref_Click() 
frmVref.Show 1 
End Sub 

Private Sub Form_Load() 
    txtStrom = "" 
    txtLSchritte = "" 
    txtlGeschwindigkeit = "" 
    
    txtStromR = "" 
    txtRSchritte = "" 
    txtrGeschwindigkeit = "" 
    
    'txtStrom = lmaxstrom.Value 
    'txtLSchritte = HScrolllschritte.Value 
    'txtlGeschwindigkeit = HScrolllgeschwindigkeit.Value 
    txtlog = "" 
    
   ComboComPort.ListIndex = 0 
   MSComm1.CommPort = ComboComPort.ListIndex + 1 
   MSComm1.Settings = "9600,N,8,1" 
   MSComm1.InputLen = 0 
   MSComm1.PortOpen = True 
End Sub 

Private Sub Form_Unload(Cancel As Integer) 
  MSComm1.PortOpen = False 
End Sub 

Private Sub HScrolllgeschwindigkeit_Change() 
    txtlGeschwindigkeit = HScrolllgeschwindigkeit.Value 
End Sub 

Private Sub HScrolllschritte_Change() 
txtLSchritte = HScrolllschritte.Value 
End Sub 

Private Sub lmaxstrom_Change() 
    txtStrom = lmaxstrom.Value 
End Sub 



Function SendBefehl(befehl As Variant, warteauf As String) As Boolean 
   Dim buffer As String 
   Dim rueckgabe As String 
   Dim n As Long 
   Dim bytefeld() As Byte 
   Dim anz As Integer 
   Dim i As Integer 
    
   anz = Len(befehl) 
   ReDim bytefeld(anz) 
   For i = 1 To anz 
    bytefeld(i - 1) = Asc(Mid(befehl, i, 1)) 
   Next i 
    
   SendBefehl = False 
   buffer = "" 
   MSComm1.Output = befehl 

   n = 0 
   Do 
      If n > 100000 Then 
        Beep 
        Exit Function 
      End If 
      rueckgabe = MSComm1.Input 
      txtlog = txtlog & rueckgabe 
      DoEvents 
      buffer = buffer & rueckgabe 
   n = n + 1 
   Loop Until InStr(buffer, warteauf) 

txtlog.SelStart = Len(txtlog.Text) 
'txtlog.SelLength = 1 
DoEvents 
SendBefehl = True 
End Function 


Private Sub rHScrolllgeschwindigkeit_Change() 
    txtrGeschwindigkeit = rHScrolllgeschwindigkeit.Value 
End Sub 

Private Sub RHScrolllschritte_Change() 
txtRSchritte = RHScrolllschritte.Value 
End Sub 

Private Sub rmaxstrom_Change() 
 txtStromR = rmaxstrom.Value 
End Sub