Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
da mein Problem evtl. etwas verworren ist, versuch ich das mal möglichst strukturiert zu erklären.
Also ich nutze LV2014 SP1 und automatisiere damit einen Teststand. Ein Teil davon ist die analoge Ansteuerung einer HSQ. Um möglichst flexibel zu sein, habe ich mir
ein Evaluation Kit zugelegt, bei dem die Pins frei konfigurierbar sind. Da der Hersteller seine eigene Software bereitstellt, gibt es keine vorgefertigten VI's für das Board.
Der Hersteller hat mir dann für LV 3 .NET-dlls zugesendet. Diese funktionieren eigentlich auch wunderbar, also ich kann mit dem Board kommunizieren (Register auslesen/beschreiben, usw.).
Weil das Board aber 20 Pins plus zusätzliche Funktionen hat, wäre es sehr umständlich alle Register per "Handarbeit" zu konfigurieren. Dafür hat der Hersteller eine
Konfigurationssoftware bereitgestellt, die eine .csv-Konfigurationsdatei erstellt, welche dann in die Register geladen werden kann.
Über die Hersteller-Software funktioniert das auch, aber wenn ich das gleiche über LV versuche, bekomme ich folgenden Fehler angezeigt:
Error 1172 occurred at Invoke Node
System.Reflection.TargetInvocationException: Ein Aufrufziel hat einen Ausnahmefehler verursacht.
Inner Exception: System.NullReferenceException: Die Objektreferenz wurde nicht auf eine Objektinstanz festgelegt.
Mit der Erklärung kann ich leider nicht sonderlich viel anfangen. Die .csv-Datei habe ich mal angehangen. Sie befindet sich auch im selben Ordner wie die VI und die dlls.
Wenn ich die Datei per Hersteller-Software auf das Board lade, macht das Programm folgendes:
MAX11300.ReadPIXIConfigFile(C:\...\MAX11300Register_1.csv)...
MAX11300.ReadPIXIConfigFile Int16Converter().ConvertFromString() threw Exception: Address ist kein gültiger Wert für Int16.
nameStr = "Name"
addrStr = "Address"
initialValueStr = "Value"
descriptionStr = "Description"
MAX11300.ReadPIXIConfigFile(C:\...\MAX11300Register_1.csv) closed;
determining init order...
Ansonsten steht in der Dokumentation des Herstellers zu der entsprechenden .NET-Method nur Folgendes:
Read Configuration Registers from a comma-spaced value file.
IOS requirement: function DetermineInitSequenceFromCache(out regAddrInitSequence) determines register init order based on IOS spec algorithm
Parameters: filename: pathname to the comma-spaced value file to read e.g. "MAX11300Register.csv"
Returns true on success
Bzgl. des IOS requirement habe ich leider keine Ahnung, da es aber über die Hersteller-Software funktioniert, sollte es ja vmtl. nicht daran liegen.
Auch wenn es vmtl. nicht allzu viel bringt, habe ich mal noch ein Screenshot von dem Block angehängt.
Ich hoffe, dass meine Ausführungen halbwegs verständlich waren und jemand zumindest eine Idee zur Lösung des Problems hat.