USB-OPTOIN-X-RELAIS-X Hardware-Description 2011 November
INDEX 1. Introduction 6 1.1. General remarks 6 1.2. Customer satisfaction 6 1.3. Customer response 6 2. Hardware description 8 2.1. Introduction 8 2.2. Quick installation 9 2.2.1. Step 1 - Installation of the software and driver 2.2.2. Step 2 - Connecting of the module 2.2.3. Step 3 - Testing the connection and the module 9 9 9 2.3. Technical data 10 2.4. Overview screen 11 2.4.1. Overview screen USB-OPTOIN-8-RELAIS-8 2.4.2. Overview screen USB-OPTOIN-16-RELAIS-16 2.4.3.
INDEX 2.8.1. Registering short input pulses 2.8.2. Galvanically decouppled through optocouplers 2.8.3. Visual control of the inputs 3. Software 22 22 22 24 3.1. Using our products 24 3.1.1. Access via graphical applications 3.1.2. Access via the DELIB driver library 3.1.3. Access via protocol 3.1.4. Access via provided test programs 24 24 24 25 3.2. DELIB driver library 26 3.2.1. Overview 26 3.2.1.1. Program under diverse operating systems 26 3.2.1.2.
INDEX 4.3.3. DapiDIGet16 4.3.4. DapiDIGet32 4.3.5. DapiDIGet64 4.3.6. DapiDIGetFF32 4.3.7. DapiDIGetCounter 4.4. Setting Digital outputs 4.4.1. DapiDOSet1 4.4.2. DapiDOSet8 4.4.3. DapiDOSet16 4.4.4. DapiDOSet32 4.4.5. DapiDOSet64 4.4.6. DapiDOReadback32 4.4.7. DapiDOReadback64 4.5. Setting Output-timeouts 4.5.1. DapiSpecialCMDTimeout 4.5.2. DapiSpecialCMDTimeoutGetStatus 4.6. Example program 5. Appendix 45 46 47 48 49 50 50 51 52 53 54 55 56 57 57 58 59 64 5.1. Revisions 64 5.2.
Introduction I Introduction | Seite 5
1. Introduction 1.1. General remarks First of all, we would like to congratulate you to the purchase of a high quality DEDITEC product. Our products are being developed by our engineers according to quality requirements of high standard. Already during design and development we take care that our products have -besides quality- a long availability and an optimal flexibility. Modular design The modular design of our products reduces the time and the cost of development.
Hardware description II Hardware description | Seite 7
2. Hardware description 2.1. Introduction The USB-OPTOIN-X-RELAIS-X modules provide relays with a maximum switching voltage of 36V DC (max. 1A, 15 watts) and Opto-in inputs, which are suitable for industrial applications for registration of status or even to count the changes of state of the inputs. Our USB modules have been developed for industrial applications for measurement, control and regulation. The modules all feature a USB interface and can therefore be connected to PC systems with USB bus.
2.2. Quick installation 2.2.1. Step 1 - Installation of the software and driver Now install the driver DELIB library with the file "delib_install.exe" from the supplied DEDITEC-Driver CD. These can be found in the "\zip\DELIB\delib_install.exe" on the DEDITEC-Driver CD. Note: On our website www.deditec.de you can always find the latest DELIB driver version. 2.2.2. Step 2 - Connecting of the module Connect your PC via USB cable to the USB connector of the module.
2.3. Technical data USB-Interface (USB 1.1 / USB 2.0) Power supply: +5V (supply occurs over USB bus) 8/16/32/64 opto-coupler inputs (depending on module) Variable input voltage range min 5V, max 30V AC (standard: 15-30V) Galvanically isolated using opto-couplers Logging of impulses between 2 read out cycles 8/16/32/64 Relay outputs (depending on module)(36V, 1A, 15W, Closer-relay) Timeout protection Galvanically isolated using relays Operating temperature: 10°C ..
2.4. Overview screen 2.4.1.
2.4.2.
2.4.3.
2.4.4.
2.4.5.
2.4.6.
2.4.7.
2.5. Pin assignment 2.5.1.
2.5.2.
2.6. J2 - Configuration of the power supply The configuration of the power supply via a jumper.
2.7. Outputs 2.7.1. Relais outputs The relays are able to switch voltages up to 36V. The max. current is 1A at a max. power of 15W. Additionally, the relays provide a safe electrical isolation of the module to the connected equipment. 2.7.2. Timeout-protection The timeout-protection gives the possibility to switch-off automatically the outputs to prevent damage. This takes place, if in a predefined time frame any communication with the module was possible.
2.8. Inputs 2.8.1. Registering short input pulses Schnelle Zustandswechsel an den Eingängen, die innerhalb von größeren Auslesezyklen auftreten, werden durch eine zusätzliche Logik erfasst und können separat per Software ausgelesen werden. 2.8.2. Galvanically decouppled through optocouplers AC input opto-couplers provide a galvanic isolation of the module towards the connected equipment. They also provide a safe connection to the module for reverse currents and high voltage peaks. 2.8.3.
Software III Software | Seite 23
3. Software 3.1. Using our products 3.1.1. Access via graphical applications We provide driverinterfaces e.g. for LabVIEW and ProfiLab. The DELIB driver library is the basis, which can be directly activated by ProfiLAB. For LabVIEW, we provide a simple driver connection with examples! 3.1.2. Access via the DELIB driver library In the appendix, you can find the complete function reference for the integration of our API-functions in your software.
3.1.4. Access via provided test programs We provide simple handling test programs for the most important functions of our products. These will be installed automatically by the installation of the DELIB driver library. So you can test directly e.g. relays or you can check the voltage of an A/D converter.
3.2. DELIB driver library 3.2.1. Overview The following figure explains the structure of the DELIB driver library The DELIB driver library allows an uniform response of DEDITEC hardware with particular consideration of the following viewpoints: Independent of operating system Independent of programming language Independent of the product 3.2.1.1. Program under diverse operating systems The DELIB driver library allows an uniform response of our products on diverse operating systems.
3.2.1.2. Program with diverse programming languages We provide uniform commands to create own applications. This will be solved by the DELIB driver library. You choose the programming language! It can be simply developed applications under C++, C, Visual Basic, Delphi or LabVIEW®. 3.2.1.3. Program independent of the interface Write your application independent of the interface ! Program an application for an USB product of us. - Also, it will work with an ethernet or RS-232 product of us ! 3.2.1.4.
3.2.2. Supported operating systems Our products support the following operating systems: Windows 7 Windows Vista Windows XP Windows 2000 Linux 3.2.3. Supported programming languages Our products are responsive via the following programming languages: C C++ C# Delphi VisualBasic VB.
3.2.4. Installation DELIB driver library Our DELIB Installer start screen. Insert the DEDITEC driver CD into the drive and start „delib_install.exe“. The DELIB driver library is also available on http://www.deditec.
Click on „Install“.
The drivers will be installed.
The DELIB driver library is now installed. Press „Close“ to finish the installation. You can configure your module with the „DELIB Configuration Utility“ (see next chapter). This is only necessary, if more than one module is present.
3.2.5. DELIB Configuration Utility Start the “DELIB Configuration Utility” as follows: Start Programs DEDITEC DELIB DELIB Configuration Utility. The „DELIB Configuration Utility“ is a program to configure and subdivide identical USB-modules in the system. This is only necessary if more than one module is present.
3.3. Test programs 3.3.1. Digital Input-Output Demo Start “Digital Input-Output Demo” as follows: Start Programme DEDITEC DELIB Digital Input-Output Demo. The screenshot shows a test of the RO-USB-O64-R64. The configuration of the module (64 inputs and 64 outputs) is shown on the upper left side.
DELIB API reference IV DELIB API reference | Seite 35
4. DELIB API reference 4.1. Management functions 4.1.1. DapiOpenModule Description This function opens a particular module. Definition ULONG DapiOpenModule(ULONG moduleID, ULONG nr); Parameters moduleID=Specifies the module, which is to be opened (see delib.h) nr=Indicates No of module which is to be opened. nr=0 -> 1. module nr=1 -> 2.
4.1.2. DapiCloseModule Description This command closes an opened module.
4.1.3. DapiGetDELIBVersion Description This function returns the installed DELIB version. Definition ULONG DapiGetDELIBVersion(ULONG mode, ULONG par); Parameters mode=Mode, with which the version is readout (must be 0). par=This parameter is not defined (must be 0). Return value version=Version number of the installed DELIB version [hex]. Example program version = DapiGetDELIBVersion(0, 0); //Bei installierter Version 1.
4.1.4. DapiSpecialCMDGetModuleConfig Description This command returns the hardware equipment (number of in-/output channels) of the module. Definition ULONG DapiSpecialCommand(ULONG handle, DAPI_SPECIAL_CMD_GET_MODULE_CONFIG, par, 0, 0); Parameters handle=This is the handle of an open module.
Return value Get number of digital input channels return=Number of digital input channels Get number of digital output channels return=Number of digital output channels Get number of digital in-/output channels return=Number of digital in-/output channels Get number of analog input channels return=Number of analog input channels Get number of analog output channels return=Number of analog output channels Get number of stepper channels return=Number of stepper channels Example program ret=DapiSpecialCommand(
4.2. Error handling 4.2.1. DapiGetLastError Description This function returns the last registered error. Definition ULONG DapiGetLastError(); Parameters None Return value Error code 0=no error. (see delib.
4.2.2. DapiGetLastErrorText Description This function reads the text of the last registered error.
4.3. Reading Digital inputs 4.3.1. DapiDIGet1 Description This command reads a single digit input. Definition ULONG DapiDIGet1(ULONG handle, ULONG ch); Parameters handle=This is the handle of an opened module. ch=Specifies the number of input that is to be read (0 ..). Return value State of the input (0 / 1).
4.3.2. DapiDIGet8 Description This command reads 8 digital inputs simultaneously. Definition ULONG DapiDIGet8(ULONG handle, ULONG ch); Parameters handle=This is the handle of an opened module. ch=Specifies the number of the input, from which it begins to read from (0, 8, 16, 24, 32, ..) Return value State of the read inputs.
4.3.3. DapiDIGet16 Description This command reads 16 digital inputs simultaneously. Definition ULONG DapiDIGet16(ULONG handle, ULONG ch); Parameters handle=This is the handle of an opened module. ch=Specifies the number of the input, from which it begins to read from (0, 16, 32, ..) Return value State of the read inputs.
4.3.4. DapiDIGet32 Description This command reads 32 digital inputs simultaneously. Definition ULONG DapiDIGet32(ULONG handle, ULONG ch); Parameters handle=This is the handle of an opened module. ch=Specifies the number of the input, from which it begins to read from (0, 32, 64, ..) Return value State of the read inputs.
4.3.5. DapiDIGet64 Description This command reads 64 digital inputs simultaneously. Definition ULONGLONG DapiDIGet64(ULONG handle, ULONG ch); Parameters handle=This is the handle of an opened module. ch=Specifies the number of the input,from which it begins to read from (0, 64, ..) Return value State of the read inputs.
4.3.6. DapiDIGetFF32 Description This command reads the flip-flops from the inputs and resets them. (Input state change). Definition ULONG DapiDIGetFF32(ULONG handle, ULONG ch); Parameters handle=This is the handle of an opened module . ch=Specifies the number of the input, from which it begins to read from (0, 32, ..
4.3.7. DapiDIGetCounter Description This command reads the counter of a digital input Definition ULONG DapiDIGetCounter(ULONG handle, ULONG ch, ULONG mode); Parameters handle=This is the handle of an opened module. ch=Specifies the digital input,from which the counter will be read. mode=0 (Normal counter function) mode=DAPI_CNT_MODE_READ_WITH_RESET (Reading and resetting the counter) mode=DAPI_CNT_MODE_READ_LATCHED (Reading the latched counter) Return value Value of the counter.
4.4. Setting Digital outputs 4.4.1. DapiDOSet1 Description This is the command to set a single output. Definition void DapiDOSet1(ULONG handle, ULONG ch, ULONG data); Parameters handle=This is the handle of an opened module ch=Specifies the number of the output to be set to (0 ..
4.4.2. DapiDOSet8 Description This command sets 8 digital outputs simultaneously. Definition void DapiDOSet8(ULONG handle, ULONG ch, ULONG data); Parameters handle=This is the handle of an opened module ch=Specifies the number of the output, from which it begins to write to (0, 8, 16, 24, 32, ..
4.4.3. DapiDOSet16 Description This command sets 16 digital outputs simultaneously. Definition void DapiDOSet16(ULONG handle, ULONG ch, ULONG data); Parameters handle=This is the handle of an opened module ch=Specifies the number of the output, from which it begins to write to (0, 16, 32, ..
4.4.4. DapiDOSet32 Description This command sets 32 digital outputs simultaneously. Definition void DapiDOSet32(ULONG handle, ULONG ch, ULONG data); Parameters handle=This is the handle of an opened module ch=Specifies the number of the output, from which it begins to write to (0, 32, 64, ..
4.4.5. DapiDOSet64 Description This command is to set 64 digital outputs. Definition void DapiDOSet64(ULONG handle, ULONG ch, ULONG data); Parameters handle=This is the handle of an opened module ch=Specifies the number of the output, from which it begins to write to (0, 64, ..
4.4.6. DapiDOReadback32 Description This command reads back the 32 digital outputs. Definition ULONG DapiDOReadback32(ULONG handle, ULONG ch); Parameters handle=This is the handle of an opened module ch=Specifies the number of the input, from which it begins to read from (0, 32, ..) Return value Status of 32 outputs.
4.4.7. DapiDOReadback64 Description This command reads back the 64 digital outputs. Definition ULONGLONG DapiDOReadback64(ULONG handle, ULONG ch); Parameters handle=This is the handle of an opened module ch=Specifies the number of the input, from which it begins to read from (0, 64, ..) Return value Status of 64 outputs.
4.5. Setting Output-timeouts 4.5.1.
4.5.2. DapiSpecialCMDTimeoutGetStatus Description This command reads the timeout status.
4.6.
DapiClearLastError(); return TRUE; } return FALSE; } //**************************************************************** //**************************************************************** //**************************************************************** //**************************************************************** //**************************************************************** void main(void) { unsigned long handle; unsigned long value; // --------------------------------------------------------// O
DapiDOSet1(handle, 0, 1); IsError(); printf("Output channel 0 has been switched on\n"); printf("Press any key to continue\n"); getch(); DapiDOSet1(handle, 0, 0); IsError(); printf("Output channel 0 has been switched off\n"); printf("Press any key to continue\n"); getch(); DapiDOSet1(handle, 1, 1); IsError(); printf("Output channel 1 has been switched on\n"); printf("Press any key to continue\n"); getch(); DapiDOSet1(handle, 1, 0); IsError(); printf("Output channel 1 has been switched off\n"); printf("Press
getch(); value = DapiDOReadback32(handle, 0); IsError(); printf("Readback output channel 0-3\n"); printf("value = %d\n", value); printf("Press any key to continue\n"); getch(); // ---------------------------------------------------------// Set timeout of output channels to 5 seconds DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_TIMEOUT, DAPI_SPECIAL_TIMEOUT_SET_VALUE_SEC, 5, 0); IsError(); printf("Timeout has been set to 5 seconds\n"); printf("Press any key to continue\n"); getch(); // -----------------------
Appendix V Appendix | Seite 63
5. Appendix 5.1. Revisions Rev 2.
5.2. Copyrights and trademarks Linux is registered trade-mark of Linus Torvalds. Windows CE is registered trade-mark of Microsoft Corporation. USB is registered trade-mark of USB Implementers Forum Inc. LabVIEW is registered trade-mark of National Instruments. Intel is registered trade-mark of Intel Corporation AMD is registered trade-mark of Advanced Micro Devices, Inc.