plotten (oder tracen ?) bei Wertänderung

Comprehensive CAN monitor for Windows® and its add-ins: Plotter, CANdb Import, Instruments Panel, and J1939
Post Reply
heiko_
Posts: 2
Joined: Wed 29. Aug 2018, 19:24

plotten (oder tracen ?) bei Wertänderung

Post by heiko_ » Wed 29. Aug 2018, 19:46

Hallo,
ich beschäftige mich selten mit dem PCAN Explorter und äußerst selten mit der Nutzung von Macros. Jedoch möchte ich nun gezielt Daten auf ein Ereignis loggen. Dazu lasse ich ich bei einem Bitwechsel den Plotter starten bzw. stoppen. Mein Problem dabei ist, das mir die ersten Daten nach dem Ereignis fehlen. Ich benötige eine Vortriggerung.
Wie kann ich dies realisieren ?

User avatar
PEAK-Support
Sales & Support
Sales & Support
Posts: 1646
Joined: Fri 10. Sep 2010, 19:34

Re: plotten (oder tracen ?) bei Wertänderung

Post by PEAK-Support » Thu 30. Aug 2018, 09:57

Leider können wir Ihnen Anhand Ihrer Problembeschreibung keine Lösung anbieten.
Das ist sicherlich Lösbar, muss dann eben im Script gemacht werden. Da wir weder sehen ob Sie VBS oder Standard Macros verwenden, fällt es schwer hier überhaupt eine Aussage zu treffen.
--------------------------------
PEAK-System Technik
Technical Support Team
support[at]peak-system.com
-------------------------------

heiko_
Posts: 2
Joined: Wed 29. Aug 2018, 19:24

Re: plotten (oder tracen ?) bei Wertänderung

Post by heiko_ » Mon 10. Sep 2018, 08:19

Angefügt das Script wie es jetzt läuft. Eine Vortriggerung ist in diesem Anwendungsfall nicht notwendig. Offensichtlichster Nachteil ist, das man nicht vergessen darf, den Plott wegzuspeichern, bevor er auf Grund der Größe nicht mehr speicherbar ist (Fehlermeldung zu geringer Arbeitsspeicher).

Sub TriggerPotterStart()
Dim cw, ccw, doc, plotter, merker1, merker2
'Trigger-Signal
Set ccw = Signals("A1_bCcw")
if ccw is nothing then _
Exit Sub
Set cw = Signals("A1_DigitalLogic1_cw")
if cw is nothing then _
Exit Sub
Set doc = Documents.Open("Plot1.plt")
If doc is nothing then _
Exit sub
Set plotter = doc.ActiveWindow.Object
'Entlosschleife
while true
if (ccw.Value <>0)then
plotter.Start
merker1 = 1
End if
if (ccw.Value = 0)and (merker1 = 1) then
Wait 7000
plotter.Stop
merker1 = 0
End if
if (cw.Value <>0)then
plotter.Start
merker2 = 1
End if
if (cw.Value = 0)and (merker2 = 1) then
Wait 7000
plotter.Stop
merker2 = 0
End if
Wait 2
Wend
End Sub

K.Wolf
Software Development
Software Development
Posts: 141
Joined: Wed 22. Sep 2010, 15:37

Re: plotten (oder tracen ?) bei Wertänderung

Post by K.Wolf » Mon 10. Sep 2018, 10:44

Sie könnten auch einen Ringpuffer für den Plotter-Kanal festlegen, so dass der Plot nie eine bestimmte Größe überschreitet.

Post Reply