Der Wrapper verbindet USB-Geräte von National Instruments (USB-600x-Serie wie z.B. USB-6000, USB-6001, USB-6002, USB-6008, USB-6009 usw.) mit Delphi.
Unterstüzung von anderen Geräten und Funktionen auf Anfrage. Bitte fordern Sie ein Angebot an.
Das Paket enthält diverse Delphi-Units im Quellccode.
In der zentralen Unit
TM_ni.pas sind alle wichtigen Funtionen und Prozeduren zusammen gefasst.
Es ist z.B. möglich, mit nur einer einfachen Prozedur den Analog-Ausgang ao0 auf 5Volt zu setzten:
TM_NI_A_out(gDevice, gNiLineOut0, Value, gNiUp5, gNiU0, gTimeout);
wobei:
const
gDevice ='Dev1; //z.B.
gNiLineOut0 ='ao0';
Value =5.0; //5 Volt Ausgangs-Spannung
gNiU0 =0;
gNiUp5 =5;
gTimeout =10;
Version 1.0.0
Die Zip-Datei beinhaltet u.a.:
TM_ni.pas (kostenpflichtig)
TM_ni_type.pas (kostenplos)
TM_ni_wrap.pas (kostenplos)
Sowie für das Beispiel:
UnitMain.pas
UnitIni.pas
Im Beispiel-Programm TM_NI_Test finden Sie diverse Vorschläge zum Testen der Funktionen.
Voraussetzungen:
-
NI-USB-600x oder ähnlich
-
MS-Windows ab 7
- Delphi (Evtl. auch Lazarus)
- installierte NI-Treiber
unit TM_ni;
(c)TechnoMicro(R)
National USB-600x - Routinen
interface
uses
System.SysUtils, System.Variants, System.Classes, math,
TM_ni_type, TM_ni_wrap;
//Achtung: ShareMem in dpr!!!
//Identification:
function TM_NI_ProductInfos(Device:string):string;
procedure TM_NI_ResetDevice(Device:string);
//Status
function TM_NI_ReturnStatus:string;
//Analog in: (ein Wert)
//open/close getrennt
procedure TM_NI_A_in_open(var hdl:Integer; Port,Line:string; MaxU, MinU:Double);
function TM_NI_A_in_read(hdl:Integer; Timeout:Double):double;
procedure TM_NI_A_in_close(hdl:Integer; TimeToWait:Double);
//Analog in/out: (ein Wert)
//kompletter Durchgang incl open/close
function TM_NI_A_in(Device, Line:string; MaxU, MinU, Timeout, TimeToWait:Double):double;
procedure TM_NI_A_out(Device, Line:string; Value, MaxU, MinU, Timeout:Double);
//Analog in raw: (Multi)
//kompletter Durchgang incl open/close
function TM_NI_A_in_read_raw(hdl, numSamps:Integer; SizeOfres:Integer; Timeout:Double; var res; var numBytesPerSamp:Longint; var sampsRead:Longint):Longint;
//Analog in: (Multi)
//kompletter Durchgang incl open/close
function TM_NI_A_in_Multi(Device, Line:string; MaxU, MinU, Timeout, TimeToWait, SamplesPerSecondPerChannel:Double; numSampsPerChan, arraySizeInSamps:Longint; SizeOfres:Integer; var res; var sampsRead:Longint):Longint;
//Digital in/out open/close:
function TM_NI_D_in_open (var hdl:Integer; Device, Line:string):LongInt;
function TM_NI_D_out_open (var hdl:Integer; Device, Line:string):LongInt;
function TM_NI_D_close (hdl:Integer; TimeToWait:Double):LongInt;
//digital: (ein Wert)
//vorher:open, nachher:close
//vorher alle I/O-Richtung extern mit Hilfe des NI-MAX festlegen !
function TM_NI_D_in(hdl:Integer; Timeout:Double):LongInt;
function TM_NI_D_out(hdl:Integer; autoStart:bool32; Timeout:Double; value:LongInt):LongInt;
//digital: (ein Wert)
//vorher alle I/O-Richtung extern mit Hilfe des NI-MAX festlegen !
function TM_NI_D_in_auto(Device, Line:string; Timeout, TimeToWait:Double):LongInt;
function TM_NI_D_out_auto(Device, Line:string; autoStart:bool32; Timeout, TimeToWait:Double; value:LongInt):LongInt;
//counter:Ereigniszähler an PFI0:
function TM_NI_cnt_in_start(Device, Counter, Line:string; edge:integer; Timeout:Double):LongInt;
function TM_NI_cnt_in_value:LongInt;
function TM_NI_cnt_in_stop:LongInt;
function TM_NI_ThermistorA(Device, Line:string; MinTemp, MaxTemp, Timeout, VoltageVal, Rsensor, Rserie:Double):double;
LIZENZVEREINBARUNG ("EULA")
DIES IST EIN VERTRAG. BITTE LESEN SIE DIESE LIZENZVEREINBARUNG SORGFÄLTIG DURCH. INDEM SIE DIESE SOFTWARE HERUNTERLADEN UND VERWENDEN, AKZEPTIEREN SIE ALLE AUFLAGEN UND BEDINGUNGEN DIESER LIZENZVEREINBARUNG.
Diese Tools stellen wir zur Verfügung. Sie dürfen die Software unter folgenden Bedingungen benutzen:
- Die Tools dürfen für private und kommerzielle Zwecke eingesetzt werden.
- Sie dürfen die Software nicht verkaufen oder für die Weitergabe irgendeine Gegenleistung / Geld verlangen
- Sie haben die Lizenz sowie die folgenden Garantiebestimmungen und den Haftungsausschluss gelesen und sind damit einverstanden.
HAFTUNG
Unter keinen Umständen (eingeschlossen Fahrlässigkeit) ist TechnoMicro haftbar für Einkommensverlust oder Schäden jeglicher Art die durch den Einsatz oder fehlender Möglichkeit zum Einsatz des Produktes in Ihrer Software oder der Dokumentation entstehen könnten. Dies gilt auch, wenn TechnoMicro über die Möglichkeit des Auftretens solcher Fälle informiert wurde. Einige Staaten erlauben die Einschränkung von Garantien bzw. den Ausschluss von Haftung nicht, in diesen Fällen trifft die Einschränkung der Garantie bzw. der Haftungsausschluss für Sie nicht zu. Eventuelle Schadensersatzansprüche bleiben dann auf die Höhe der evtl. entrichteten Lizenzgebühr beschränkt.
COPYRIGHT
Programme und Dokumentation sind Copyright (c) by TechnoMicro
ANWENDBARES RECHT, GERICHTSSTAND, SALVATORISCHE KLAUSEL
a. Für diese EULA gilt das Recht der Bundesrepublik Deutschland.
b. Soweit Sie Kaufmann, juristische Person des öffentlichen Rechts oder öffentlich-rechtliches Sondervermögen sind, soll Frankfurt am Main ausschließlicher Gerichtsstand für alle sich aus dem EULA unmittelbar oder mittelbar ergebenden Streitigkeiten sein. Die Gerichtssprache und die Sprache in außergerichtlichen Streitbeilegungsverfahren ist Deutsch.
c. Sollte eine Bestimmung in diesem EULA unwirksam sein oder werden, so wird dadurch der Bestand dieses EULA oder die unter Zugrundelegung dieses EULA geschlossenen Verträge im Übrigen nicht berührt. An die Stelle der unwirksamen Bestimmung tritt eine wirksame Bestimmung, die dem wirtschaftlichen Sinn der unwirksamen Bestimmung am nächsten kommt.
ÄNDERUNG DER EULA
Wir behalten uns das Recht vor, unsere EULA jederzeit ohne Nennung von Gründen zu ändern, es sei denn, dass dies für den Nutzer nicht zumutbar ist.
PORTIERTES COPYRIGHT
Diese Software beinhalten eine Reihe von Software-Subkomponenten (Third Party Components) mit separaten Copyrights und Lizenzbestimmungen. Die Nutzung dieser Komponenten unterliegt den Bestimmungen des jeweiligen Lizenzgebers bzw. Inhabers. Bei Verwendung dieser Software akzeptieren Sie diese.