Mit ToggleSwitch Heartbeat Simulieren on/off

Comprehensive CAN monitor for Windows® and its add-ins: Plotter, CANdb Import, Instruments Panel, and J1939
Post Reply
ImmerkomischeFragen
Posts: 5
Joined: Wed 7. Mar 2012, 14:00

Mit ToggleSwitch Heartbeat Simulieren on/off

Post by ImmerkomischeFragen » Wed 7. Mar 2012, 14:09

Hallo Peak Team,


wie kann man mit einem Toggle Switch im geschalteten Zustand "On" einen Heartbeat zyklisch senden (Nicht wie im Beispiel NewClientSend() als Sender für Empfänger fungieren sondern nur Senden). Dieser soll natürlich im Zustand "Off" stoppen.

Vielen Dank schon mal

M.Maidhof
Support
Support
Posts: 1751
Joined: Wed 22. Sep 2010, 14:00

Re: Mit ToggleSwitch Heartbeat Simulieren on/off

Post by M.Maidhof » Thu 8. Mar 2012, 11:43

Hallo,

hier ein Beispiel, bestehend aus einem ipf Panel file und einem VBmacro *.pem. Bitte beide Dateien im PCAN-Explorer 5 laden, und dann im Panel den Start und Stopp Button druecken:
Heartbeat.pem
(657 Bytes) Downloaded 707 times
Heartbeat.ipf
(1.07 KiB) Downloaded 632 times

ImmerkomischeFragen
Posts: 5
Joined: Wed 7. Mar 2012, 14:00

Re: Mit ToggleSwitch Heartbeat Simulieren on/off

Post by ImmerkomischeFragen » Fri 9. Mar 2012, 09:01

Vielen Dank für die Antwort.

Wäre es jetzt noch möglich eine LED leuchten zu lassen wenn der Heartbeat auch an ist.

Wie kann man ein Signal auf "=1" setzen wenn HeartbeatStart() aktiv ist?

M.Maidhof
Support
Support
Posts: 1751
Joined: Wed 22. Sep 2010, 14:00

Re: Mit ToggleSwitch Heartbeat Simulieren on/off

Post by M.Maidhof » Fri 9. Mar 2012, 09:35

Hallo,

ja, auch das ist moeglich. einfach im Macro einen Signalwert auf einen entsprechenden 0 bzw. 1 Wert setzen, den Sie dann ueber eine LED auf dem Panel auswerten.

Mit freundlichen Gruessen

Michael Maidhof

ImmerkomischeFragen
Posts: 5
Joined: Wed 7. Mar 2012, 14:00

Re: Mit ToggleSwitch Heartbeat Simulieren on/off

Post by ImmerkomischeFragen » Fri 9. Mar 2012, 09:56

Theoretisch habe ich mir das auch so gedacht, leider funktioniert keine Möglichkeit meines Syntax.

M.Maidhof
Support
Support
Posts: 1751
Joined: Wed 22. Sep 2010, 14:00

Re: Mit ToggleSwitch Heartbeat Simulieren on/off

Post by M.Maidhof » Fri 9. Mar 2012, 10:47

dann haben Sie wohl ein Syntax Problem, da koennen wir Ihnen aber dann auch nicht weiterhelfen, wenn man den Syntax nicht einsehen kann.

ImmerkomischeFragen
Posts: 5
Joined: Wed 7. Mar 2012, 14:00

Re: Mit ToggleSwitch Heartbeat Simulieren on/off

Post by ImmerkomischeFragen » Fri 9. Mar 2012, 11:00

Code: Select all

Public Sub HeartbeatStart()
  Dim msgs, msg, send

  Set msgs = Connections.TransmitMessages.FindID(&H110)
	
    Set send = Signals("Sendesignal")
    If send Is Nothing Then
    Set send = Signals.Add("Sendesignal")
    send.Datatype = peDataTypeFloat
    End If
    
  
  If msgs.Count = 0 Then
    ' Neue Heartbeat-Botschaft anlegen
    Set msg = Connections.TransmitMessages.Add
    With msg
      .BeginUpdate
      Set .Connection = Connections(1)
      .ID = &H110
      .DLC = 1
      .Data(0) = &H01
      .CycleTime = 200
      .EndUpdate
    End With
  Else
    ' Heartbeat nur starten
    msgs(1).IsPaused = False
    
   ---> hier Statuszuweisung send = 1?
    
  End If
End Sub
Schon mal vielen Dank.
Last edited by ImmerkomischeFragen on Fri 9. Mar 2012, 14:12, edited 1 time in total.

ImmerkomischeFragen
Posts: 5
Joined: Wed 7. Mar 2012, 14:00

Re: Mit ToggleSwitch Heartbeat Simulieren on/off

Post by ImmerkomischeFragen » Fri 9. Mar 2012, 14:11

Neuster Versuch, gibt es irgend eine Anweisung die den Signalen eine 1 zuweist?

Code: Select all

Sub HeartbeatStart()
  Dim msgs, msg
  Dim sende
  
    Set sende = Signals("Sendesignal")
    If sende Is Nothing Then
    Set sende = Signals.Add("Sendesignal")
    sende = sende.Datatype = peDataTypeFloat
    End If
    
   
      
  Set msgs = Connections.TransmitMessages.FindID(&H110)
  If msgs.Count = 0 Then
    ' Neue Heartbeat-Botschaft anlegen
    Set msg = Connections.TransmitMessages.Add
    With msg
      .BeginUpdate
      Set .Connection = Connections(1)
      .ID = &H110
      .DLC = 1
      .Data(0) = &H01
      .CycleTime = 200
      .EndUpdate
    End With
  Else
    ' Heartbeat nur starten
    msgs(1).IsPaused = False
    If msgs(1).IsPaused = False Then
   	    
    
    
    'Set sende = Signals("Sendesignal")

   	sende = 1.0 'sende.Value = 1
   	
   	While  msgs(1).IsPaused = False
	
	Exit Sub
	'Wait(10)	' Prevent 100% CPU load
	Wend
   	End If
  
  
 
  End If
End Sub

M.Maidhof
Support
Support
Posts: 1751
Joined: Wed 22. Sep 2010, 14:00

Re: Mit ToggleSwitch Heartbeat Simulieren on/off

Post by M.Maidhof » Fri 9. Mar 2012, 16:17

Hallo,

bitte definieren Sie sich eine virtuelle Variable mit dem Symboleditor, und nutzen Sie diese als LED Signal. Diese ist dann automatisch verfuegbar, und nicht erst nach dem ersten Macrostart. Dann koennen Sie im Macro einfach nur den Wert des Signals aendern, und muessen sich nicht um die Erzeugung kuemmern. Sonst koennten Sie die LED im Panel erst nach dem ersten Start des Macros diesem neuen Signal zuweisen.

Mit freundlichen Gruessen

Michael Maidhof

Post Reply