LabVIEWForum.de
externen Code aus Matlab/Simulink auf cRio nutzen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: DLL & externer Code (/Forum-DLL-externer-Code)
+---- Thema: externen Code aus Matlab/Simulink auf cRio nutzen (/Thread-externen-Code-aus-Matlab-Simulink-auf-cRio-nutzen)



externen Code aus Matlab/Simulink auf cRio nutzen - nator - 26.07.2016 15:25

Hi,

ich arbeite zur Zeit mit Matlab/Simulink und einem cRio Gerät (NI-9024). Aus dem Modell in Simulink generiere ich mit dem Model Interface Toolkit ein VxWorks library file (.out). Diese lade ich anschließend auf mein cRio Gerät.
Aus LabView heraus möchte ich nun auf diese generierten Funktionen zugreifen.

Doch wie genau, mache ich das?
Ich habe schon ein wenig ausprobiert, bin aber leider noch zu keinem zielführenden Ergebnis gekommen.

Ich hoffe, mir kann hier einer helfen.

Grüße


RE: externen Code aus Matlab/Simulink auf cRio nutzen - GerdW - 27.07.2016 10:14

Hallo nator,

willkommen im Forum!

Bitte daran denken, Crossposts in anderen Foren kenntlich zu machen! (Niemand macht gern Arbeit, die woanders vielleicht schon erledigt wurde…)

Idee (ohne jemals sowas gemacht zu haben): Probier doch mal den CLFN (CallLibraryFunctionNode) aus…


RE: externen Code aus Matlab/Simulink auf cRio nutzen - nator - 27.07.2016 11:13

Danke für deine Antwort.

Call Library Function Node habe ich schon versucht, habe dazu vorher auch mit dem Model Interface Toolkit eine dll von meinem Modell erstellt. Wenn ich diese dann laden möchte bekomme ich einige Funktionen angezeigt, jedoch haben diese keine Übergabeparameter, sodass mir diese Lösung leider nicht hilft.
Es gibt allerdings die Möglichkeit eine dll in LabView direkt mit dem Model Interface Toolkit über einen bestimmten Funktionsbaustein zu öffnen und anschließend einen "Time Step" auszuführen. In einem VI (unabhängig von dem cRio) klappt dies auch ohne Probleme. Ich erhalte damit also auch die Ergebnisse, die ich in meinem Simulink Modell bekommen habe.
Dieses Vorgehen wollte ich dann auch auf das VI für das cRio anwenden. Ich lese also den Pfad meiner dll ein und führe einen Time Step aus, bloß bekomme ich gar kein Ergebnis ausgegeben. Es kommt mir so vor, als ob die dll nicht richtig eingelesen wird oder ähnliches.

PS: Ich habe das Thema auch in einem anderen Forum gepostet, wenn sich dort dann neue Erkenntnisse geben, werde ich diese natürlich hier posten.


RE: externen Code aus Matlab/Simulink auf cRio nutzen - GerdW - 27.07.2016 11:54

Hallo nator,

Zitat:Ich lese also den Pfad meiner dll ein und führe einen Time Step aus, bloß bekomme ich gar kein Ergebnis ausgegeben. Es kommt mir so vor, als ob die dll nicht richtig eingelesen wird oder ähnliches.
Fehlermeldungen? Errorcodes?
Wie sieht der DLL-Pfad aus? Die DLL (bzw. die OUT-Datei) befindet sich auf dem cRIO?


RE: externen Code aus Matlab/Simulink auf cRio nutzen - nator - 27.07.2016 12:24

Habe meinen Fehler gefunden.
Ich habe als Pfad im VI immer den Pfad der .dll eingegeben, weil ich dies man dies auch bei einem Aufruf über Call Library Function Node machen sollte. LabView hätte sich dann die .out-Datei auf dem cRio gesucht und genutzt, da das cRio-9024 ja nur mit VxWorks arbeiten kann.
Habe jetzt den Pfad für die .out-Datei direkt angegeben, also die auch auf dem cRio liegt und nun läuft es :-)

Vielen Dank GerdW, du hast mich auf die entscheidende Idee gebracht.