Page 1 of 1
plotten (oder tracen ?) bei Wertänderung
Posted: Wed 29. Aug 2018, 19:46
by heiko_
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 ?
Re: plotten (oder tracen ?) bei Wertänderung
Posted: Thu 30. Aug 2018, 09:57
by PEAK-Support
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.
Re: plotten (oder tracen ?) bei Wertänderung
Posted: Mon 10. Sep 2018, 08:19
by heiko_
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
Re: plotten (oder tracen ?) bei Wertänderung
Posted: Mon 10. Sep 2018, 10:44
by K.Wolf
Sie könnten auch einen Ringpuffer für den Plotter-Kanal festlegen, so dass der Plot nie eine bestimmte Größe überschreitet.