Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   .NET-Framework (managed code) (https://www.delphipraxis.net/79-net-framework-managed-code/)
-   -   Ivi visa-com (https://www.delphipraxis.net/191005-ivi-visa-com.html)

Barthiboy 29. Nov 2016 10:10

Ivi visa-com
 
Hallo zusammen,

ich habe zwei verschiedene Messgeräte die bei auf IVI Treiber aufsetzen.
National Instruments bietet die Möglichkeit über NI Max IVI Treiber zu implementieren und die Geräte auch zu testen.
System:
Windows 7 64 bit
RAD Studio 10 Seattle

So viel vorweg.
Es gibt diese Treiber für C .Net und COM.
Ich habe mit regasm die dll´s registriert und tlb's erzeugt. (VISA COM 3.0 Type Library)
Typbib.: C:\Program Files (x86)\IVI Foundation\VISA\VisaCom\GlobMgr.dll

Über COM in Delphi importiert.
So weit so gut.

Wenn ich nun versuche die Schnittstelle zu öffnen bekomme ich eine Zugriffsverletzung beim lesen der Adresse 0.

Delphi-Quellcode:
 
rm := CoResourceManager.Create;
AHRESULT := rm.Open('USB0::0x1313::0x8072::P2005340::INSTR', NO_LOCK, 2000, '', sess);
Es hängt wohl an der sess : IVisaSession.
Leider habe ich keine Idee mehr wie ich dem Problem begegnen kann.

Hier noch ein paar links von denen ich meine Informationen habe.


http://www.ivifoundation.org/resources/default.aspx

Es gibt auch ein Delphi Beispiel. Aber das funktioniert bei mir eben nicht

http://www.keysight.com/upload/cmc_u...?&cc=DE&lc=ger

Danke für eure Hilfe

himitsu 29. Nov 2016 11:24

AW: Ivi visa-com
 
Bei welchem Befehl kommt die Zugriffsverletzung?

Delphi-Quellcode:
rm := CoResourceManager.Create;
if not Assigned(rm) then
  raise Exception.Create('VISA COM 3.0 nicht gefunden');
AHRESULT := rm.Open('USB0::0x1313::0x8072::P2005340::INSTR', NO_LOCK, 2000, '', sess);
if not Assigned(sess) then
  raise Exception.CreateFmt('VISA COM 3.0: Port nicht geöffnet (%d)', [AHRESULT]);
...

Barthiboy 29. Nov 2016 12:05

AW: Ivi visa-com
 
Hallo,

bei
Delphi-Quellcode:
AHRESULT := rm.Open('USB0::0x1313::0x8072::P2005340::INSTR', NO_LOCK, 2000, '', sess);

trojaner 30. Nov 2016 12:41

AW: Ivi visa-com
 
hallo

CoInitializeEx (NIL, COINIT_APARTMENTTHREADED); // Start COM on this thread
rm := CoResourceManager.Create; // Create the VISA COM I/O Resource manager
rm.Open('TCPIP0::127.0.0.1::INSTR', NO_LOCK, 0, '', sess); // Use the resource manager to create a VISA COM Session
sess.QueryInterface(IID_IMessage, io); // The IVisaSession interface is very general and does not have string reading/writing , we want to be able to read and write to the instrument
io.WriteString('*IDN?', retCount); // Write to the instrument
io.ReadString(1000, readResult); // read the result


Gruss
Peter

Barthiboy 1. Dez 2016 05:22

AW: Ivi visa-com
 
Hallo Peter,

ja so wäre der Plan.
Nur leider bekomme ich eine Exception bei rm.open in der NIVisaCom.dll bei dem Lesen von Adresse 000000000.
Aber danke für die Hilfe.

Hast du noch eine Idee?
Bzw. kannst du mir deine TLB + dll´s zukommen lassen?
Danke

Barthiboy 1. Dez 2016 05:55

AW: Ivi visa-com
 
Meine Vermutung liegt bei der Session.
Wenn ich einen Leerstring übergebe beendet sich das Programm sofort ohne exception.
Wenn ich eine gültige resource angebe kommt die exception.
Wenn ich der Session einen Pointer zuweise tritt die exception an einer andren Adresse auf.

Ich habe auch schon verschiedene String Typen probiert. Aber mir gehen echt die Ideen aus.

trojaner 1. Dez 2016 06:56

AW: Ivi visa-com
 
hallo,

die variable:

io : IMessage;
sess : IVisaSession;

hast du diese TLB erstellt?

unit VisaComLib_TLB;

Gruss
Peter

Barthiboy 1. Dez 2016 07:27

AW: Ivi visa-com
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,

ja die tlb habe ich erstellt.
Ich habe leider keine andere gefunden.

trojaner 1. Dez 2016 11:19

AW: Ivi visa-com
 
Liste der Anhänge anzeigen (Anzahl: 1)
hallo,
hier mal meine TLB.

gruss
Peter

trojaner 1. Dez 2016 11:23

AW: Ivi visa-com
 
Hast du auch den
Keysight Connection Expert installiert?

was für ein Messgerät willst du fernsteuern?

gruss
Peter


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:48 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz