WaitData Syntax

Comprehensive CAN monitor for Windows® and its add-ins: Plotter, CANdb Import, Instruments Panel, and J1939
Post Reply
fm_pal
Posts: 5
Joined: Wed 14. Mar 2018, 07:29

WaitData Syntax

Post by fm_pal » Wed 14. Mar 2018, 07:46

Ich habe ein Problem mit der WaitData Anweisung (Statement).
Jeglicher Parameter wird mit "Zeile xx; Anweisungsende erwartet" quittiert.
Auch Beispiele direkt aus der Dokumentation funktionieren nicht.
z.B.:

Code: Select all

FormatVersion=5.0
...
WaitData 0 1 678h 8 40h 18h 10h 01h 00h 00h 00h 00h
oder (aus der Hilfe):

Code: Select all

WaitData 1000 1 101h 3 BBh CCh DDh
Nur ohne Parameter wird es akzeptiert:

Code: Select all

WaitData
Was mache ich da falsch ?

Mein System:
- Windows 8, 64 Bit
- PCAN-Explorer Version 5.1.3.676

User avatar
M.Gerber
Design & Documentation
Design & Documentation
Posts: 68
Joined: Mon 13. Sep 2010, 16:34

Re: WaitData Syntax

Post by M.Gerber » Wed 14. Mar 2018, 13:56

Hallo fm_pal,

es kann sein, dass bereits eine Anweisung zuvor nicht korrekt/vollständig eingegeben wurde und sich das dann auf die WaitData-Anweisung auswirkt. Leider kann ich das hier anhand der alleinstehenden Code-Zeile nicht erkennen (die so für sich in Ordnung ist).

Abgesehen davon ist es sinnvoll, dass Sie Ihre PE5-Installation aktualisieren auf die derzeit verfügbare Version 5.4.2 (viele Fehlerbehebungen und Funktionsverbesserungen). Ein Download-Link erhalten Sie, wenn Sie im PCAN-Explorer auf der Startseite die News zum entsprechenden Release anklicken (Internet-Verbindung vorausgesetzt).

Freundliche Grüße
Mark Gerber

fm_pal
Posts: 5
Joined: Wed 14. Mar 2018, 07:29

Re: WaitData Syntax

Post by fm_pal » Wed 14. Mar 2018, 14:19

Danke erst einmal für die Antwort.

Allerdings ist da nicht sehr viel an vorherigen Anweisungen ...
Hier ein auf's Minimum reduzierter Ausschnitt, der den gleichen Fehler provoziert:

Code: Select all

'FILE DESCRIPTION: Startup sequence simulation for the Danfoss Telematic module

REM ------------------------------------------------
REM -- PCAN-Explorer VBS Macro File               --
REM -- First edited: 13.03.2018                   --
REM -- FRM                                        --
REM -- (simple) VBS Macro to simulate the startup --
REM -- sequence of the Danfoss Telematic Module   --
REM ------------------------------------------------

FormatVersion=5.0


Sub Run_TM2_Sequence()


' clear RX queue from any possible trash
ClearQueue

' -----------------------------------------------------------
' main sequence, send SDO responses on requests to ID 0x678
' -----------------------------------------------------------

' read identity object / Vendor ID
waitdata 0 1 678h 8 40h 18h 10h 01h 00h 00h 00h 00h
if false then
  stop
Send 5F8h 43h 18h 10h 01h 00h 02h 06h 01h
Die zugehörige Fehlermeldung ist:
Line 25: Anweisungsende erwartet; waitdata 0 1 678h 8 40h 18h 10h 01h 00h 00h 00h 00h

Selbst direkt aus der Hilfe kopierte Beispiele für WaitData werfen diesen Fehler.
Ich stehe da momentan etwas auf dem Schlauch ...

Gruß
Frank

User avatar
M.Gerber
Design & Documentation
Design & Documentation
Posts: 68
Joined: Mon 13. Sep 2010, 16:34

Re: WaitData Syntax

Post by M.Gerber » Wed 14. Mar 2018, 15:09

Hallo Frank,

Sie verwenden hier im Standard-Makro (proprietäres Makro-Format des PCAN-Explorer) Elemente aus VBScript (gesonderte Verwendung im PCAN-Explorer). Das darf nicht gemischt werden.

Für Kommentare müssen Sie zwei Schrägstriche verwenden. REM oder Hochkommata werden hier nicht unterstützt.

Auch die Einleitung mit Sub findet im Standard-Makro nicht statt. Insofern erzeugt alles bis auf die Zeile Formatversion und die letzten vier Zeilen einen Fehler.

[Nachtrag]
Sorry, ClearQueue funktioniert natürlich auch. Hatte ich übersehen.

fm_pal
Posts: 5
Joined: Wed 14. Mar 2018, 07:29

Re: WaitData Syntax

Post by fm_pal » Wed 14. Mar 2018, 15:45

Dann darf ich Makros wahrscheinlich nicht über den Menüpunkt "Macro->VBS-Macro Manager..." hinzufügen.
Dort kann ich nur *.pem - Dateien auswählen - offensichtlich VBS-Makros.

Stattdessen wohl über "Macro->Macro...".
Der Unterschied war (is ?)t mir noch nicht so recht bewußt.

Ich komme wohl leider morgen erst dazu, das zu probieren.
Danke erst einmal.

Gruß
Frank

User avatar
M.Gerber
Design & Documentation
Design & Documentation
Posts: 68
Joined: Mon 13. Sep 2010, 16:34

Re: WaitData Syntax

Post by M.Gerber » Wed 14. Mar 2018, 15:55

Standardmakros (Dateiendung .mcr) verwenden eine eigenständige Makrosprache, um schlichte Sende- und Empfangsaufgaben zu bewältigen.

Am besten erstellen Sie ein neues Standard-Makro im Projekt-Browser (normalerweise rechts) über Neu > Standardmakro.

Mehr Infos gibt's in der Hilfe (F1) unter Referenz > Standardmakros.

fm_pal
Posts: 5
Joined: Wed 14. Mar 2018, 07:29

Re: WaitData Syntax

Post by fm_pal » Fri 16. Mar 2018, 08:21

Danke, das paßt soweit. Zumindest bekomme ich keine Syntaxfehler mehr.
Wie gesagt, der Unterschied zwischen Standardmakros und VBS-Makros war mir nicht ganz klar.

Gibt es eigentlich ein VBS-Äquivalent zu WaitData (oder WaitID) ?
Die einzige Möglichkeit, die mir spontan (bzw. nach kurzer Suche in der Hilfe) einfällt, ist der Empfang eines vollständigen CO-Frames, und manuelle Auswertung.

Noch eine Frage:
Sind eigentlich Makro-Abarbeitung und ein Trace gleichzeitig möglich ?
In meinem Fall warte ich im Makro sequentiell auf verschiedene CO-Botschaften, um darauf eine Antwort zu senden.

User avatar
M.Gerber
Design & Documentation
Design & Documentation
Posts: 68
Joined: Mon 13. Sep 2010, 16:34

Re: WaitData Syntax

Post by M.Gerber » Fri 16. Mar 2018, 08:56

In VBScript ist die Sache halt etwas aufwendiger. Aber dafür hat man damit auch viel mehr Möglichkeiten.

Ja, ein Trace kann gleichzeitig laufen (auch mehrere) und sogar per VBScript gesteuert werden (ein entsprechendes PCAN-Explorer-Objekt ist vorhanden). Es kann jedoch nur ein Makro (Standard oder VBScript) zur Zeit laufen.

In der Makro-Auswahl oben auf der Werkzeugleiste im PCAN-Explorer gibt es ein paar Beispiel-VBScript-Makros, an denen Sie sich orientieren können. Falls sie (auch abseits von der Hilfe mit vielen Code-Schnipseln) weitere Beispiele benötigen, schreiben Sie an support@peak-system.com eine kurze E-Mail inklusive Ihrer Lizenznummer für den PCAN-Explorer.

Freundliche Grüße
Mark Gerber

fm_pal
Posts: 5
Joined: Wed 14. Mar 2018, 07:29

Re: WaitData Syntax

Post by fm_pal » Fri 16. Mar 2018, 09:20

Falls sie (auch abseits von der Hilfe mit vielen Code-Schnipseln) weitere Beispiele benötigen, schreiben Sie ... eine kurze E-Mail ...
Danke, das werde ich notfalls tun.
Ich habe noch eine Menge Skripte und Makros von Kollegen, an die ich mich halten kann.
Im Moment reicht das einfache Makro mit WaitData + Send Sequenzen noch aus.
Ja, ein Trace kann gleichzeitig laufen (auch mehrere) ...
Es kann jedoch nur ein Makro (Standard oder VBScript) zur Zeit laufen.
Dann kann ich wohl davon ausgehen, daß es an meinen Änderungen am Code des CO-Masters liegt, daß ich nicht das sehe was ich erwarte.
Wie befürchtet ...

Danke erst einmal.

Post Reply