Ereignis-Beispiel: Botschaftsversand

<< Click to Display Table of Contents >>

Navigation:  Arbeiten mit CanEasy > Automatisierung mit CanEasy > VBA > Tutorials > Ereignisse-Tutorial >

Ereignis-Beispiel: Botschaftsversand

 

Nachfolgendes Tutorial zeigt, wie das Versenden einer Botschaft erkannt wird. Es basiert auf der im Tutorial erstellen Datenbasis.

 

Legen Sie nun mit Neu ein neues VBA-Projekt an. Speichern Sie das Projekt unter dem Namen "Botschaftsversand".

Legen Sie anschließend im VBA-Editor ein Klassenmodul an. Ändern Sie den Namen des Klassenmoduls in "Gaspedal"

 

Geben Sie den folgenden Code ein:

 

Public WithEvents Msg As Message

 

Public Sub Assign(oMsg As Message)

    Set Msg = oMsg

    'Filter für Sendebestätigung setzen
    Msg.FilterTxConfirm "", "", PositionNeutral, False
    'Event Sendebestätigung ein

    Msg.TxConfirmEvents = True

End Sub

 

Mit Msg.TxConfirmEvents = True teilen Sie der COM-Schnittstelle mit, dass das Ereignis ausgelöst werden soll.

 

Wählen Sie anschließend Msg in der linken Auswahlliste und OnTxConfirm in der rechten um den Rumpf für die Ereignisbehandlungsroutine zu erzeugen:
 
vba_Class2
 
Fügen Sie anschließend in der erstellten Routine Msg_OnTxConfirm den folgenden Code hinzu:
 

Private Sub Msg_OnTxConfirm(ByVal data As CanEasy.ITransmissionData)

   Debug.Print "Botschaft versendet"

End Sub

 

Geben Sie nun den angezeigten Code im Modul Standard ein.

 

Public Pedal As Gaspedal

 

Sub Testdurchlauf()

   Dim Steuergeraet As ControlUnit

   Set Pedal = New Gaspedal

   

   Set Steuergeraet = Database.Busses("CAN1").ControlUnits("ECU1")

   Pedal.Assign Steuergeraet.Messages("MSG1")

 
   StartSimulation               'Simulation starten

   Pedal.Msg.Send               'Botschaft versenden

   CanEasyApplication.Sleep 1000 '1 Sekunde warten

   Pedal.Msg.Send               'Botschaft versenden

   CanEasyApplication.Sleep 1000 '1 Sekunde warten

   StopSimulation               'Simulation beenden

End Sub

 

Wichtig ist hier, dass Sie eine Instanz der Klasse Gaspedal mit dem Schlüsselwort New anlegen.

 

Drücken Sie anschließend Strg-G um den Direktbereich einzublenden und führen Sie die Funktion Testdurchlauf aus. Die Anweisungen in der Ereignisbehandlungsroutine werden ausgeführt und im Fenster Direktbereich angezeigt (es erscheint zweimal die Meldung "Botschaft versendet").