LabVIEWForum.de
Strukturvariablen in Beckhoff TwinCAT schreiben - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: ActiveX & .Net (/Forum-ActiveX-Net)
+---- Thema: Strukturvariablen in Beckhoff TwinCAT schreiben (/Thread-Strukturvariablen-in-Beckhoff-TwinCAT-schreiben)



Strukturvariablen in Beckhoff TwinCAT schreiben - Achim - 24.01.2012 17:01

Hallo miteinander,

hat schon mal jemand Strukturvariablen über OCX von LV nach TwinCAT geschrieben?

Da gibts zwar ein Beispiel auf der Beckhoff-Seite, wie man das aus Visual Basic 6 macht, und das funktioniert auch ganz prima..
http://infosys.beckhoff.com/english.php?content=../content/1031/tcsample_vb/html/tcadsocx_vb_sample02.htm&id=11487

Allerdings werden die Daten dort "byref" (VB-Standard) übergeben, und deswegen kann man "einfach" die erste Variable in der Struktur als "pData" übergeben und dann die Anzahl (in Byte) der gesamten Struktur als "length" und schon klappts...

Call AdsOcx1.AdsSyncWriteIntegerVarReq(hVar, LenB(VBVar), VBVar.VarInteger)

Wie krieg' ich das aber in LabVIEW hin...da werden die Werte ja "byval" übergeben, und wenn man die Daten dann irgendwie in umwandelt (z.B. wie beim VB-Code in "Integer"), dann werden natürlich nicht alle Bytes sondern nur die ersten beiden übertragen...und TwinCAT kann dann unter dem vorgegebenen Variablennamen nichts damit anfangen und verwirft (im besten Fall) die Daten.

Was kann man machen? Im Anhang ein VI, dass den VB-Code nachbildet...allerdings noch ohne "Umwandlung". Um das ordentlich öffnen zu können, muss man vermutlich die TwinCAT-OCX-Bibliothek installieren..
[attachment=38331]
Gruß
Achim


RE: Strukturvariablen in Beckhoff TwinCAT schreiben - Achim - 27.01.2012 07:02

Up!!!!