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







Zitieren

Lesezeichen