Hi, ich hoffe jemand kennt sich hier mit CANe und CAPL aus Oder kann mir einen Tipp geben wo ich solche fragen stellen kann. Ich würde gerne mit der Restbussimulation CANoe CAN Nachrichten versenden über eine Ansteuerung über den Seriellen Bus RS232. Ich würde ich gerne Anfragen an CANoe über RS232 senden, das CANoe einzelnen Signale von Nachrichten verändert welche in der Simulation der einzelnen Knoten zyklisch verwendet werden. Vielen Dank
Muss es CAPL sein? Du kannst auch C# dlls als Testknoten einfügen. Grüße
C# hab ich leider noch keine Erfahrung, will es relativ schnell umsetzen und CAPL kenn ich halt... Habe mir überlegt das mit CAPL so um zusetzen das ich den string mit dem Signal Namen über RS232 an CANoe sende und dann in CAPL das jeweilige Signal beschreibe. Finde nur keine passende Funktion dafür. Habe mal geschaut wo findet man denn Beispiel Projekte für C# in Verbindung mit CANoe? Hast du Tipps wo ich gute Beispiele, Informationen, Tutorials über CANoe mit C# finde? Brauche ich nicht auch von vector dann irgendwelche libraries ?
Das Setzen der Signale ist sowohl in CAPL und C# unproblematisch. In CAPL hab ich bisher nur Dateien gelesen, RS232 aber noch nicht. In C# sollte da Google schnell weiterhelfen. Ich hab selber noch keine Dll aufgesetzt, ich kann mich erst morgen mal schlau machen. Du kannst morgen früh aber auch den vector Support anrufen, die helfen auch weiter. Grüße
Ich brauche eher so einen denk Anstoß. Mein problem ist das ich eine Restbussimulation mit mehreren Knoten habe die zyklisch Nachrichten aussenden. Wenn ich jetzt ein signal ändere würde meine zyklischen Sendungen das gleich wieder zu nichts machen. Weil es das singnal mit dem nächsten Zyklus überschreibt. Weil die Quelle der Signale sind ja in meiner einzelnen CAPL restbussimulation Variablen, Zustandsautomaten, abfragen u.s.w. Suche eher etwas um ein signal zu setzen ohne das es überschrieben wird oder sonst eine Lösung^^;) Grüße
Zu dem Zweck könntest du dir eigene system variablen anlegen. Die können im großen und ganzen wie bussignale verwendet werden. Damit könntest du die Daten von C# nach CAPL transportiert werden. In CAPL werden sie zyklisch gelesen und auf die bussignale geschrieben. Grüße
Ich werde es mal die Tage angehen, werde wohl nicht drum herum kommen alle Simulierten Steuergeräte anzupassen. Denke auch das ich es irgendwie mit system variabel oder Environment variabel machen werde. Kannst du mir vielleicht noch sagen wie ich variabel so global deklariere das die selben variabel von jedem Steuergerät zugreizbar sind. Gibt es in CAPL system variabel oder muss ich das mit env. machen? Grüße
Hallo, CANoe kann aus einem CAPL-Skript heraus auf eine RS232-Schnittstelle zugreifen. Ist z.B. (schreibend / lesend) ganz praktisch, um z.B. externe Spannungsversorgungen / Meßgeräte anzusteuern.Die CANoe-Hilfe ist da ganz "hilfreich". Datenaustausch zwischen Knoten : Systemvariablen, Environmentvariablen Gruß P
Systemvariablen werden nicht in CAPL definiert, sondern in CANoe im Menü unter "Konfiguration". Diese sind dann immer in allen CAPL-Knoten über: @sysvar::Namespace::Variablenname lesbar oder beschreibbar. Environementvariablen sind das alte Konzept und brauchen extra ein DBC-File(eintrag). ->Wenn schon möglich (vorhandener Menüeintrag bei aktuellerer CANoe Version), dann immer Systemvariablen verwenden. Für den Zugriff auf RS232 gibt es auf jeden Fall schon Funktionen in CAPL. Womöglich jedoch nicht in älteren CANoe Versionen. Es gibt auch die Möglichkeit von einer externen .Net-Andwendung (C#,VBA,C++) oder einem Skript über COM (nicht mit der RS232-Schnittstelle verwechseln) aka Component Object Model auf Signale, Systemvariablen etc. zuzugreifen. Dafür wird im .Net-Projekt eine CANoe.Interop.dll eingebunden. Die Programmierung der Anwendung erfordert jedoch Kenntnisse in den jeweiligen Programmiersprachen in .NET. Damit lässt sich CANoe fernsteuern (Configuration laden, Messung starten, etc). Eine Demobeispiel dazu ist bei CANoe mit dabei (irgendwo unter "More Examples" oder im Demoverzeichnis)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.