Senden/Empfangen

Comprehensive CAN monitor for Windows® and its add-ins: Plotter, CANdb Import, Instruments Panel, and J1939
Post Reply
CANmaster
Posts: 9
Joined: Mon 19. May 2014, 13:52

Senden/Empfangen

Post by CANmaster » Sat 7. Jun 2014, 14:27

Hallo nochmal an das Team von Peak,

nachdem man mir hier so gut geholfen hat, habe ich nun eine weitere Frage. Ich würde gerne wissen, ob es möglich ist, ein selbsterstelltes Makro (in meinem Fall ein Filter) auf das Senden/Empfangen Fenster anzuwenden? Beispielsweise würden dann gewisse Can-IDs nicht mehr in dem Empfangsfenster erscheinen. So müsste ich nicht selbst ein Anzeigefenster bauen. Über das Makroausgabefenster funktioniert bereits auch alles gut, aber es soll einfach optisch etwas besser aussehen (Tabellenform usw) . Danke für die Hilfe!

Mit freundlichen Grüßen
CANmaster

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

Re: Senden/Empfangen

Post by K.Wolf » Tue 10. Jun 2014, 15:18

Hallo,

mir ist noch nicht ganz klar, was gemacht werden soll.
Soll beim Empfang einer Nachricht ein Makro ausgeführt werden, das entscheidet, ob eine Nachricht in das Empfangsfenster eingetragen wird oder nicht? Das geht leider nicht. Man könnte nur per Makro einen Nachrichtenfilter dem Empfangsfenster zuweisen, dessen Filterelemente die Filterung übernehmen. Der Filter könnte auch per Makro erzeugt und wieder geändert werden. Man steuert also die Filter-Dropdownliste oben im Fenster per Makro.
Man könnte auch per Makro bestimmte Nachrichten in der Empfangsliste löschen, aber wenn die ständig neu reinkommen, macht das nicht wirklich Sinn.

CANmaster
Posts: 9
Joined: Mon 19. May 2014, 13:52

Re: Senden/Empfangen

Post by CANmaster » Tue 10. Jun 2014, 20:57

Hallo,

ja was gemacht werden soll, ist beim laufenden Makro einen Filter auf die Liste des Emfangsfensters gelegt werden. Das würde evtl. schon reichen. Schöner wäre es gewesen noch Teile einer Nachricht zu filtern, oder den Nachrichteninhalt, der angezeigt wird, verändern zu können, aber so sollte die Anzeige schon wesentlich übersichtlicher werden.

Mit freundlichen Grüßen
CANmaster

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

Re: Senden/Empfangen

Post by K.Wolf » Thu 12. Jun 2014, 09:08

Mit einem Makro kann man mit folgendem Code einen neuen Filter erzeugen und konfigurieren:

Code: Select all

Dim objFilter, objItem
Set objFilter = MessageFilters.Add("MeinFilter")
Set objItem = objFilter.AddItem
objItem.Type = peFilterItemIDRange
objItem.IDfrom = &H100
objItem.IDto = &H100
Jeder Filter kann verschiedene Filterelemente (MessageFilterItem-Objekte) enthalten, genau so wie es im Dialogfenster "Botschaftsfilter bearbeiten" gemacht werden kann. Es wird ein Element hinzugefügt, das nach einem Bereich von CAN-ID filtert. Im Beispiel die einzelne ID 100h.

Das Zuweisen zur Empfangsliste geschieht dann so:

Code: Select all

Connections.ReceiveMessages.Filter = objFilter
Zunächst sind dann in der Empfangsliste noch die alten Nachrichten zu sehen, die jetzt nicht mehr empfangen werden. Da sollte man wohl die Empfangsliste erstmal leeren, damit nur noch die vom Filter durchgelassenen Nachrichten sichtbar sind:

Code: Select all

Connections.ReceiveMessages.Clear

Post Reply