// ..................... // lesen des A/D-Eingang unsigned long get_usbad(HANDLE hcomm) { unsigned long value, zahl,inp_comstat; int i; value = 0; zahl = 1; // Latch den Messwert in 16bit Speicher vom Modul EscapeCommFunction(hcomm,SETDTR); EscapeCommFunction(hcomm,CLRDTR); EscapeCommFunction(hcomm,SETRTS); EscapeCommFunction(hcomm,CLRRTS); // jetzt 16-bit Wert von Latch-Register seriell einscannen for ( i = 0; i < 15;) { Sleep(3); inp_comstat = GetInCount(hcomm); if ((inp_comstat & 16) == 16) { value = value + zahl; } clockusb(hcomm); zahl = (zahl << 1); i++; } return value; // Digitalwert zurückgeben } // Modul freigeben procedure vm_freeall(hcomm : Thandle); var n : byte; begin EscapeCommFunction(hcomm,CLRBREAK); // TXD = 0 EscapeCommFunction(hcomm,CLRDTR); // DTR = 0 EscapeCommFunction(hcomm,CLRRTS); // RTS = 0 sleep(5); For n := 0 to 7 do begin EscapeCommFunction(hcomm,CLRDTR); // DTR = 0 EscapeCommFunction(hcomm,SETRTS); // RTS = 1 sleep(3); EscapeCommFunction(hcomm,CLRDTR); // DTR = 0 EscapeCommFunction(hcomm,CLRRTS); // RTS = 0 end; end; // Opto-Eingänge latchen procedure latch_inputs(hcomm : Thandle); begin EscapeCommFunction(hcomm,CLRRTS); // Freigabe für Latch EscapeCommFunction(hcomm,SETDTR); // Impuls auf 16-bit Latch sleep(1); EscapeCommFunction(hcomm,CLRDTR); // jetzt ist gelatcht end; // Relais zurücksetzen (alle) procedure reset_vmrelais(hcomm : Thandle);stdcall;export; var i : byte; begin EscapeCommFunction(hcomm,SETRTS); // auf HIGH für Send Data sleep(5); for i := 1 to 2 do begin res_data(hcomm); clock(hcomm); end; EscapeCommFunction(hcomm,CLRRTS); // Übergabe wenn RTS=low sleep(1); end; // Übergabe der Relais procedure set_usbrel(hcomm : Thandle; x_word : word);stdcall;export; begin EscapeCommFunction(hcomm,SETRTS); // auf HIGH für Send Data sleep(0); if ((x_word AND 1)=1) then usbset_data(hcomm) else usbres_data(hcomm); usb_clock(hcomm); if ((x_word AND 2)=2) then usbset_data(hcomm) else usbres_data(hcomm); usb_clock(hcomm); EscapeCommFunction(hcomm,CLRRTS); // Übergabe wenn low sleep(0); end; // lesen der Optokoppler-Eingänge function usbget_vmopto(hcomm : Thandle):word;stdcall;export; var zahl : word; i : byte; value : word; inp_comstat : word; begin value := 0; zahl := 1; latch_inputs(hcomm); // Eingänge zwischenspeichern EscapeCommFunction(hcomm,CLRRTS); // auf Empfang stellen for i := 1 to 2 do begin inp_comstat := GetInCount(hcomm); if (inp_comstat AND 16 = 16) then value := value + zahl; usb_clock(hcomm); sleep(2); // 2 ms für Eingangs-Optokoppler zahl := zahl shl 1; end; usbget_vmopto := word(value); end;Download Driver Pack
After your driver has been downloaded, follow these simple steps to install it.
Expand the archive file (if the download file is in zip or rar format).
If the expanded file has an .exe extension, double click it and follow the installation instructions.
Otherwise, open Device Manager by right-clicking the Start menu and selecting Device Manager.
Find the device and model you want to update in the device list.
Double-click on it to open the Properties dialog box.
From the Properties dialog box, select the Driver tab.
Click the Update Driver button, then follow the instructions.
Very important: You must reboot your system to ensure that any driver updates have taken effect.
For more help, visit our Driver Support section for step-by-step videos on how to install drivers for every file type.