CANhack.de CAN interfaccia RKS+CAN
Hardware CAN, Software CAN, Protocolli CAN - Forum CAN-Bus per il tuo progetto CAN-Bus.

Simulazione di velocità con errore in VB

 
Nuovo argomento Rispondi 🔗 🖨 CANhack.de - Indice » Sistema CAN-USB CANhack.de: RKS+CAN
Autore Messaggio
dunt
Hacker
Hacker


Iscritto il: 06/11/2015
Messaggi: 11
Karma: +0 / -0   Grazie, mi piace!


Supporto Premium

Messaggio19-11-2015, 19:04    Oggetto: Simulazione di velocità con errore in VB Cita

Ciao, vorrei scrivere un piccolo programma in VB.NET che simuli il numero di giri del tachimetro VDO NEC 24c32/64, ad esempio per modelli come Passat 3C, Golf 6, T5.2, ecc.

Purtroppo, funziona solo per 4-5 secondi e poi non succede più nulla! La luce LED lampeggia allora in rosso/verde. Probabilmente ho commesso un errore nel programma. Qualcuno ha esperienza con questo problema?


Il mio codice:
Codice:

Imports System
Imports System.Threading
Imports System.IO.Ports
Imports System.ComponentModel
Public Class Form1
    Dim myPort As Array
    Dim valuehex As String
    Dim x280 As String

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        myPort = IO.Ports.SerialPort.GetPortNames() 'Array mit den COM Ports füllen
        ComboBox1.Items.AddRange(myPort) 'Array in Combo Box laden
        Timer1.Start() 'timer 1 Starten
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        'open Button
        Try
            SerialPort1.PortName = ComboBox1.SelectedItem
            SerialPort1.Open() 'Serial Port 1 öffnen
            Button2.Enabled = True
            Button1.Enabled = False
            SerialPort1.Write("S6" & vbCr) 'RKS CAN auf 500hBit/s
        Catch ex As Exception
            MsgBox("Bitte COM-Port auswählen!")
        End Try
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        'close Button
        Timer1.Stop()
        SerialPort1.Write("C" & vbCr) 'CAN Channal schliesen
        SerialPort1.Close()
        Button1.Enabled = True
        Button2.Enabled = False
    End Sub

    Private Sub Timer1_Tick_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        If SerialPort1.IsOpen Then 'abfragen ob Serial Port geöffnet ist
            If TrackBar1.Value > 0 Then
                'Trackbar Value in drehzahl umrechnen
                valuehex = Hex(TrackBar1.Value * 4)
                If valuehex.Length = 1 Then
                    valuehex = "000" & valuehex
                ElseIf valuehex.Length = 2 Then
                    valuehex = "00" & valuehex
                ElseIf valuehex.Length = 3 Then
                    valuehex = "0" & valuehex
                End If

                x280 = "t28080000" & Mid(valuehex, 3, 4) & Mid(valuehex, 1, 2) & "00000000" 'komplette Can Message zusammenbauen

                'CAN Message senden
                SerialPort1.Write("O" & vbCr)
                Threading.Thread.Sleep(5)
                SerialPort1.Write(x280 & vbCr)
                Threading.Thread.Sleep(5)
                SerialPort1.Write("C" & vbCr)

                Label3.Text = TrackBar1.Value & " U/min"
            End If
        End If
    End Sub

End Class


Tradotto il 12-07-2026, 6:12.
Torna su Profilo MP
CAN-Diagnose
Administrator
Administrator
Avatar-CAN-Diagnose

Iscritto il: 07/06/2011
Messaggi: 573
Karma: +29 / -0   Grazie, mi piace!
Località: Ländle



Messaggio20-11-2015, 13:31    Oggetto: Simulazione di velocità con errore in VB Cita

Ciao,

Probabilmente il tuo errore risiede in...

Codice:

SerialPort1.Write("O" & vbCr)
Threading.Thread.Sleep(5)
SerialPort1.Write(x280 & vbCr)
Threading.Thread.Sleep(5)
SerialPort1.Write("C" & vbCr)


Motivo: Purtroppo, non stai valutando i codici di ritorno dei comandi "apri", "chiudi" e "invia". L'apertura e la chiusura dell'interfaccia CAN potrebbero richiedere un po' di tempo.
Probabilmente, con tutte queste operazioni di apertura e chiusura, si arriverà a una situazione in cui il sistema sarà aperto e dovrà essere riaperto, e a quel punto succederanno solo cose senza senso.

La procedura corretta sarebbe:
- Aprire (O), dopo aver impostato la velocità di trasmissione corretta sul bus CAN.
- Successivamente, trasmettere e ricevere solo messaggi CAN.
- Se il tuo programma termina o se devi modificare altri parametri, chiudi prima la connessione CAN (C) e attendi brevemente.

La mia proposta è la seguente:

Sostituisci.
Codice:
SerialPort1.Write("S6" & vbCr) 'RKS CAN auf 500hBit/s

attraverso
Codice:

SerialPort1.Write("C" & vbCr)
Threading.Thread.Sleep(50)
SerialPort1.Write("S6" & vbCr) 'RKS CAN auf 500kBit/s
SerialPort1.Write("O" & vbCr)


Sostituisci.
Codice:

'CAN Message senden
SerialPort1.Write("O" & vbCr)
Threading.Thread.Sleep(5)
SerialPort1.Write(x280 & vbCr)
Threading.Thread.Sleep(5)
SerialPort1.Write("C" & vbCr)

attraverso
Codice:

'CAN Message senden
SerialPort1.Write(x280 & vbCr)


Cordiali saluti, Rainer.
Dipl.-Ing. (FH) Rainer Kaufmann - Embedded Software Freelancer
System RKS+CAN: CANHack.de CAN-Bus Interface


Tradotto il 12-07-2026, 6:15.
Torna su Profilo MP WWW
CAN-Diagnose
Administrator
Administrator
Avatar-CAN-Diagnose

Iscritto il: 07/06/2011
Messaggi: 573
Karma: +29 / -0   Grazie, mi piace!
Località: Ländle



Messaggio21-11-2015, 11:26    Oggetto: Simulazione di velocità con errore in VB Cita

Buongiorno,

Ho riflettuto ancora una volta sul tuo problema e ho modificato ulteriormente il messaggio precedente.
Il commento che ti ho fornito inizialmente riguardo al driver di Windows non era appropriato nel tuo caso, mi sono confuso.

Teoricamente, la maggior parte delle chiamate a "Threading.Thread.Sleep(5)" dovrebbe essere superflua, dato che si spera che la funzione per scrivere sulla porta seriale funzioni correttamente.

Riguardo a:
Citazione:
Die LED blinkt dann rot/grün.{MARCATORE}
Purtroppo la descrizione non è sufficientemente precisa: il lampeggio rosso/verde indica diversi stati a seconda del tipo di lampeggio, inclusi anche lo stato operativo normale con il CAN aperto. Potrebbe registrare il comportamento dei LED e caricarlo qui come allegato?

Certo, fornisci il testo che desideri tradurre e le tue modifiche proposte. Sarò felice di fornirti la traduzione in italiano e di valutare se le tue modifiche hanno risolto il problema.

Cordiali saluti, Rainer.
Dipl.-Ing. (FH) Rainer Kaufmann - Embedded Software Freelancer
System RKS+CAN: CANHack.de CAN-Bus Interface


Tradotto il 12-07-2026, 6:17.
Torna su Profilo MP WWW
dunt
Hacker
Hacker


Iscritto il: 06/11/2015
Messaggi: 11
Karma: +0 / -0   Grazie, mi piace!


Supporto Premium

Messaggio21-11-2015, 16:39    Oggetto: Simulazione di velocità con errore in VB Cita

Ciao,
Purtroppo, potrò testare la tua proposta solo oggi. Sfortunatamente, non funziona. Ho anche caricato un video. Con la prima versione del mio programma, il lampeggio era lento e alternato, circa 1/2 secondo tra rosso e verde. Ora, nel video, è difficile da vedere: si vede principalmente il colore rosso e il verde lampeggia brevemente in mezzo, come se venissero ancora inviati messaggi CAN, ma l'indicatore rimane a 0 giri al minuto.

L'ho provato anche su altri computer, ma il risultato è sempre lo stesso.

Credo di inviare troppi dati alla porta seriale quando simulo i tasti multifunzione tramite pulsanti. Se invece di inviare tutti i messaggi CAN ogni 100 millisecondi con un timer, apro e chiudo il canale CAN solo quando viene premuto un pulsante e invio i dati in quel momento, funziona senza problemi.

Saluti, David.



Simulazione di velocità con errore in VB - VID_20151121_150335.mp4
 Descrizione:
 Ansteuerung Drehzahlmesser mit RKS+CAN
 Dimensione file:  12.07 MB
 Visualizzato:  1576 volte





Tradotto il 12-07-2026, 6:19.
Torna su Profilo MP
CAN-Diagnose
Administrator
Administrator
Avatar-CAN-Diagnose

Iscritto il: 07/06/2011
Messaggi: 573
Karma: +29 / -0   Grazie, mi piace!
Località: Ländle



Messaggio21-11-2015, 18:02    Oggetto: Simulazione di velocità con errore in VB Cita

Grazie per il tuo video.

Come vedo io, l'interfaccia funziona normalmente; quando il sistema CAN viene aperto, le spie passano da verde fisso a rosso, con un lampeggio intermittente del verde.

Ecco lo stato dei LED del dispositivo RKS+CAN (firmware 1070):

LED1: rosso.
LED2: verde.

LED_SELFTEST: LED 1 accesa, LED 2 accesa (LED rossa e verde accese).
LED_BOOT: I LED 1 e 2 lampeggiano contemporaneamente (le luci LED rossa e verde lampeggiano insieme).
LED_OK: LED 1 spenta, LED 2 accesa (stato normale quando collegato tramite USB, la luce verde è accesa).
LED_HWFAILURE: I LED 1 e 2 lampe alternativamente (rosso-verde-rosso-verde...).
LED_CANOPEN: LED 1 accesa, LED 2 lampeggiante (LED rossa accesa, LED verde lampeggiante).
LED_CANERR: LED 1 lampe, LED 2 accesa (il LED rosso lampeggia, il LED verde è acceso).
LED_SWFAILURE: LED 1 accesa, LED 2 spenta (LED rossa accesa).

Citazione:
Credo di inviare troppi dati alla porta seriale quando, tramite i pulsanti, simulo i tasti multifunzione e non invio tutti i messaggi CAN alla porta seriale con il timer ogni 100 ms.

Inviare alcuni messaggi ogni 100 millisecondi non dovrebbe essere un problema.

Cosa succede se si interrompe la connessione CAN? La spia LED torna a illuminarsi di verde fisso?
Se invii nuovamente i tuoi messaggi, l'indicatore del regime di giri torna a indicare 4000 rpm?

Quale versione di Visual Studio utilizzi? Le versioni 2008 e 2015 sarebbero utili per testare il tuo programma in Visual Basic.

Cordiali saluti, Rainer.
Dipl.-Ing. (FH) Rainer Kaufmann - Embedded Software Freelancer
System RKS+CAN: CANHack.de CAN-Bus Interface


Tradotto il 12-07-2026, 6:24.
Torna su Profilo MP WWW
dunt
Hacker
Hacker


Iscritto il: 06/11/2015
Messaggi: 11
Karma: +0 / -0   Grazie, mi piace!


Supporto Premium

Messaggio22-11-2015, 14:05    Oggetto: Simulazione di velocità con errore in VB Cita

Gute Nachrichten es funktioniert! icon_lol.gif

Oggi, per caso, ho scoperto che quando l'interfaccia non è collegata al tachimetro, tutto funziona normalmente! Quindi, il problema deve essere dovuto ai messaggi CAN in entrata. Ora, ad ogni ciclo del timer, svuoto il buffer di input del driver seriale e tutto funziona come dovrebbe.

Codice:
SerialPort1.DiscardInBuffer()


Vielen Dank für deine Hilfe!! icon_smile_thumb_up.gif

Ecco il mio esempio di progetto realizzato con VB .NET 2010.

Saluti.
David.



RKS CAN Test 2.zip
 Descrizione:
 Beispiel Ansteuerung Kombiinstrument/Instrumentenbrett mit RKS+CAN, Visual Basic .NET 2010
Beispiel Ansteuerung Kombiinstrument/Instrumentenbrett mit RKS+CAN, Visual Basic .NET 2010
Scarica
 Nome file:  RKS CAN Test 2.zip
 Dimensione file:  912.34 KB
 Scaricato:  748 volte


Tradotto il 12-07-2026, 6:25.
Torna su Profilo MP
CAN-Diagnose
Administrator
Administrator
Avatar-CAN-Diagnose

Iscritto il: 07/06/2011
Messaggi: 573
Karma: +29 / -0   Grazie, mi piace!
Località: Ländle



Messaggio22-11-2015, 14:40    Oggetto: Simulazione di velocità con errore in VB Cita

Prima, vielen Dank für Dein Feedback! icon_biggrin.gif

Per completezza, chi desidera semplicemente testare un'intelligenza artificiale può configurare anche i messaggi CAN da inviare direttamente in KCANMonitor. Non è necessario programmare nulla, ma è sufficiente inserire i messaggi che si desidera trasmettere in KCANMonitor. Questo "mini-programma" può quindi essere salvato (ad esempio come "Test IA-XY") e ricaricato successivamente.
Dipl.-Ing. (FH) Rainer Kaufmann - Embedded Software Freelancer
System RKS+CAN: CANHack.de CAN-Bus Interface


Tradotto il 12-07-2026, 6:26.
Torna su Profilo MP WWW

Valutazioni - Simulazione di velocità con errore in VB

Valutazione media: 0,00 - valutazione peggiore: 0 - valutazione migliore: 0 - numero di valutazioni: 0 - Visualizza valutazioni

Non sei autorizzato a valutare questo argomento. Danke sagen
Nuovo argomento Rispondi 🔗 🖨 CANhack.de - Indice » Sistema CAN-USB CANhack.de: RKS+CAN
Articoli e argomenti simili
Argomento Forum
Nessun nuovo messaggio Can-Bus Fehler eliminieren Bus CAN Generale
Nessun nuovo messaggio C220 CDI Sportcoupé SRS Fehler Hardware specifica del veicolo e assegnazione pin
Nessun nuovo messaggio Errore CAN-BUS? Aiutatemi!:( CAN Abitacolo / Comfort
Nessun nuovo messaggio Fehler bei Treiberinstallation Win7 gelöst Sistema CAN-USB CANhack.de: RKS+CAN
Vai a:  
Non puoi scrivere nuovi argomenti in questo forum.