Seite 19
3. Firmware update 3.1. DEDITEC Flasher You can find the latest firmware version for your DEDITEC product always at the download section of our homepage. -> http://www.deditec.de/en/module/downloads/firmware-updates. html Approach after download Unzip the ZIP archive Start the program deditec-flasher.exe The following application will be opened: You can find a detailed description of the available commands on the following page.
Command (Key) Description Flasher runs in DEBUG mode Therefore, additional information will be displays Reads the current firmware of connected DEDITEC products 3. Select the module which you want to flash (RO-Series only) Command (Key) Description Flash the RO-Interface module...
Seite 21
Flash AD16, AD16-DA4, AD16_ISO sub modules Flash all DA2_ISO sub modules Flash all STEPPER2 sub modules Flash all O8-R8 or M16 sub modules Flash all PT100 sub modules Flash all CNT8 or CNT/IGR sub modules Scan the module for available sub modules Firmware update | Seite...
Seite 22
After successful update procedure, the message FLASH-OK! appears. Firmware update | Seite...
Seite 25
4.1.3. Access via protocol 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, ..) data=Specifies the data values, to write to the outputs Return value...
Seite 26
4.1.4. Access via graphical applications 4.1.4.1. LabVIEW Unsere DELIB API kann in LabVIEW importiert und verwendet werden. Alle Produkte die unsere DELIB API verwenden, sind somit mit LabVIEW kompatibel. Folgendes Kapitel zeigt, wie Sie die DELIB API in LabVIEW einbinden können: Einbinden der DELIB in LabVIEW 4.1.4.2.
4.1.4.3. Licht24 Pro The Licht24 Pro software from bksoft also supports a large number of our products. For more information, please visit: http://www.bksoft.de/licht24pro. Software | Seite...
Seite 29
DELIB.H entry in the Visual-C/C++ Project configurations Under the tab "C/C++" choose the "Kategorie" Präprozessor and enter "Zusätzliche Include Verzeichnisse" "$(DELIB_INCLUDE)". Software | Seite...
Seite 30
DELIB.LIB entry in the Visual-C/C++ Project configurations Under the tab "Linker" extend the existing line in "Zusätzliche Include Verzeichnisse" with the ending "$(DELIB_LIB)\delib.lib" Software | Seite...
Seite 32
DELIB.H entry in the Visual-C/C++ Project settings In the tab "C/C++" choose the general options and enter in additional include directory "$(DELIB_INCLUDE)". Software | Seite...
Seite 33
DELIB.LIB entry in the Visual-C/C++ project settings In the tab "Linker" choose the general options and enter in the additional library directory "$(DELIB_LIB)\delib.lib" Software | Seite...
The required file for Visual C # is located in the directory C:\Programme\DEDITEC\DELIB\include. Visual C # and choose "Project -> Add existing element" in the directory C: \ Program Files \ DEDITEC \ DELIB \ include \ to open the delib.cs file for import. Add the following reference in your program: using DeLib;...
4.1.5.4. Integration of the DELIB in Delphi Description of the "delib.pas" integration in Delphi You can find the needed files for Delphi in the directory C: \Programme\DEDITEC\DELIB\include\delib.pas. Start Delphi and open via menu "Projekt -> dem Projekt hinzufügen" the file "delib.pas" to import.
4.1.5.5. Integration of the DELIB in Visual-Basic (VB) Description of the "delib.bas" integration in Visual Basic You can find the needed files for VB in the directory C: \Programme\DEDITEC\DELIB\include\delib.bas. Start Visual Basic and open via menu "Projekt -> Datei hinzufügen..." the file "delibi.bas" to import.
Seite 37
Description of the DELIB integration in VB.NET You can find the needed files for VB.NET in the directory C: \Programme\DEDITEC\DELIB\Include\delib.vb. Start VB.NET and open via menu "Projekt -> Vorhandes Element hinzufügen" in the directory C:\Programme\DEDITEC\DELIB\Include\ the file "delib. vb" to import. Software | Seite...
Description of the "delib.bas" integration in Visual Basic for Applications You can find the needed files for VBA in the directory C: \Programme\DEDITEC\DELIB\include\delib.bas. Start Microsoft Excel and open via menu "Extras -> Makro -> Visual Basic Editor". Software | Seite...
Seite 39
Creation of UserForm Create a new UserForm via menu "Einfügen -> UserForm". In the top left-hand corner of the project manager right click on "UserForm -> Datei importieren". Open in the directory C: \Programme\DEDITEC\DELIB\include the file "delib.bas" to import. Software | Seite...
Description of the delib.dll integration in LabVIEW Version 11 - You can find the needed files for LabVIEW in the directorys "C:\Windows\System32\delib.dll" "C: \Programme\DEDITEC\DELIB\include\ delib.h" - Start LabVIEW and open the menu "Tools -> Import -> DLL ..." Software | Seite...
Seite 41
- Choose the option "create VIs for DLL" and press continue Software | Seite...
Seite 42
- In the next window, choose the path to the delib.h and delib.dll and press continue Software | Seite...
Seite 43
- Press continue again - The Header-File will now be analized. Afterwards press continue. Software | Seite...
Seite 44
- Follow the instructions and configurate the name and the saving location for the VIs. Software | Seite...
Seite 45
- In the new window choose "Easy error correction" in the drop- down menu and press continue. Software | Seite...
Seite 46
- VIs which are working with 64-bit values must be edited. The display must be changed from "unsigned long" to "unsigned quad". - The following VIs must be edited: -> DapiCNT48CounterGet48 (function return) -> DapiDIGet64 (function return) -> DapiDOSet64 (data) ->...
Seite 47
- In addition for some VIs you need to change the elementype to "numeric". - The following VIs must be edited: -> DapiWriteLongLong (value) -> DapiReadLongLong (function return) - Afterwards press continue. Software | Seite...
Seite 48
- You recive a summary of the executed steps. - Press continue - The VIs will now be created and are ready to use. Software | Seite...
Seite 50
The function could look like this in LabVIEW: The channel and mode are passed as unsigned long Software | Seite...
An overview of all possible module IDs can be found in the file "delib.h". You will find the delib.h after the installation of the DELIB driver library in the directory: C:\Programme\Deditec\DELIB\Include Example in C: handle = DapiOpenModule(RO_ETH, 0); // öffnet ein RO-ETH-Modul mit Modul-Nr Software | Seite...
Seite 52
Alternatively, you can also use the following notation: handle = DapiOpenModule(8, 0); Software | Seite...
Seite 53
Because LabVIEW does not allow you to pass these "C-Defines" as parameters for the DapiOpenModule function, the alternate notation must be used here. Example in LabVIEW: Software | Seite...
4.1.5.9. Integration of the DELIB in Java Depending on the DELIB installation, the required files for Java are located in the following directory C:\Program Files (x86)\DEDITEC\DELIB\include\DelibJava (32 Bit Installation) C:\Program Files\DEDITEC\DELIB64\\include\DelibJava Bit Installation) If Eclipse is used, the DelibJava folder can be simply added to the project by drag &...
Seite 55
4.2. DELIB driver library 4.2.1. DT-Flasher Nach Installation der DELIB Treiberbibliothek kann Programm DT-Flasher auf folgendem Weg gestartet werden: Start Programme DEDITEC DELIB oder DELIB64 DT-Flasher. Software | Seite...
Seite 57
4.2.1.2. Select the module 1. When you start the program, select the module you want to update with a new firmware. For this purpose, you will find a list of all available modules in the "Module Selector". Software | Seite...
Seite 60
If no administrator rights are available on the PC. Step 1: Download the latest version of the Flash-Files http://www.deditec.de/zip/deditec-flash_files.zip Step 2: Unzip the downloaded ZIP archive, depending on the DELIB installation, to the following directory. C:\Program Files(x86)\DEDITEC\DELIB\programs\ C:\Program Files\DEDITEC\DELIB\programs Software | Seite...
Treiberbibliothek kann Programm DELIB Module Demo auf folgendem Weg gestartet werden: Start Programme DEDITEC DELIB oder DELIB64 Sample Programs -> DELIB Module Demo. Das Programm DELIB Module Demo ist ein All-in-One Tool mit dem sämtliche I/Os aller Produkte aus unserem S&R Bereich gesteuert und getestet werden können.
Seite 63
On the following sides is shown step by step, how a CAN module can be configured. Software | Seite...
Seite 64
4.2.2.1.1. Select your module 2 You can start the CAN-Configuration Utility via the windows start menu: Start -> Programs -> DEDITEC -> DELIB -> CAN Software | Seite...
Seite 65
1. Select a corresponding CAN module (for example the RO-CAN2) in the "Module Selection". Software | Seite...
Seite 66
4.2.2.1.2. Create/load or save a module configuration 2 1. With "Create new" a new CAN configuration will be created 2. With "Load from Module" can you read the configuration from the selected module 3. With "Load from File" can you read a configuration from a file Software | Seite...
Seite 67
Click on "File" in the menu bar to open a submenu: 1. "New" will create a new CAN configuration 2. "Load" will create a CAN configuration from a file 3. If a configuration file was opened. "Save" will save the current settings to fhis file 4.
Seite 68
4.2.2.1.3. Transfer the configuration to your module 2 1. With "Load from Module" can you read the configuration from the module. 2. "Save to Module" saves the current CAN-configuration to the module. Software | Seite...
Seite 69
4.2.2.1.4. Query statistics from the module 2 1. Via the menu option "Diagnostic -> CAN Statistic" can you open a information window there you can see different counts for TX and RX packages. Also can you see the count of delib commands you received and sent.
Seite 74
module can no longer be reached. If no timeout is desired, please select the "not active" setting. Software | Seite...
Seite 79
The example contains the following settings: If data is received at the CAN address 0x200, TX-1 is executed (picture above) which sends the data of the A / D channels 1-4 to the CAN address 0x100 (picture below). Software | Seite...
Seite 81
The example contains the following settings: If a CAN packet was received at address 0x201, the content of the data packet is set at the analog outputs 5-8, taking into account the selected D / A mode. Software | Seite...
Seite 82
The example contains the following settings: If a CAN packet was received at the address 0x100, the contents of the data packet are forwarded to the digital outputs 1-64, whereupon the outputs are switched on or off. Software | Seite...
Seite 84
4.2.2.1.6.2. Digital outputs 2 Configuration of an 8-byte CAN package: CAN-Data-Byte Content DO channel 1-8 (Bit 0- DO channel 9-16 (Bit 0-7) DO channel 17-24 (Bit 0-7) DO channel 25-32 (Bit 0-7) DO channel 33-40 (Bit 0-7) DO channel 41-48 (Bit 0-7) DO channel 49-56 (Bit 0-7)
Seite 85
4.2.2.1.6.3. Digital input-counter (16-Bit) 2 Configuration of an 8-byte CAN package: CAN-Data-Byte Content DI counter 1 (Bit 0-7) DI counter 1 (Bit 8-15) DI counter 2 (Bit 0-7) DI counter 2 (Bit 8-15) DI counter 3 (Bit 0-7) DI counter 3 (Bit 8-15) DI counter 4 (Bit 0-7) DI counter 4 (Bit 8-15) Software | Seite...
4.2.2.1.6.5. Digital input-counter (48-Bit) - 64-Bit package 2 Configuration of an 8-byte CAN package: CAN-Data-Byte Bit Content CNT8 counter 1 (Bit 0-7) CNT8 counter 1 (Bit 8-15) CNT8 counter 1 (Bit 16-23) CNT8 counter 1 (Bit 24-31) CNT8 counter 1 (Bit 31-39) CNT8 counter 1 (Bit 40-47) CNT8 counter 1 Counter mode CNT8 counter 1 Sub mode...
Seite 90
Aufbau eines 8 Byte langen CAN-Paketes: CAN-Data-Byte Inhalt D/A channel 1 (Bit 0-7) D/A channel 1 (Bit 8-15) D/A channel 2 (Bit 0-7) D/A channel 2 (Bit 8-15) D/A channel 3 (Bit 0-7) D/A channel 3 (Bit 8-15) D/A channel 4 (Bit 0-7) D/A channel 4 (Bit 8-15) Der Wertebereich eines D/A Wandlers gibt an, in welchem Bereich digitale Signale, analog (z.B.
Seite 202
DELIB.H entry in the Visual-C/C++ Project configurations Under the tab "C/C++" choose the "Kategorie" Präprozessor and enter "Zusätzliche Include Verzeichnisse" "$(DELIB_INCLUDE)". Software | Seite 202...
Seite 203
DELIB.LIB entry in the Visual-C/C++ Project configurations Under the tab "Linker" extend the existing line in "Zusätzliche Include Verzeichnisse" with the ending "$(DELIB_LIB)\delib.lib" Software | Seite 203...
You can find the needed files for Visual-C# in the directory C: \Programme\DEDITEC\DELIB\Include\delib.cs. Start Visual-C# and open via menu "Projekt -> Vorhandes Element hinzufügen" in the directory C:\Programme\DEDITEC\DELIB\Include\ the file "delib. cs" to import. Add the following reference in your program: using DeLib;...
Seite 205
4.3.3. Integration of the delib.cs in Visual-C# unter Windows 64bit Program sample for the DELIB driver library under Windows 64 Bit In the following sections there is a description how to compile the project as "x86" Show all settings Open the options via menue "Extras -> Optionen" Check “Alle Einstellungen anzeigen"...
Seite 206
Check under "Projekte Projektmappen" "Erweiterte Buildkonfigurationen anzeigen". Software | Seite 206...
Seite 208
Start debugging You can start the debugging as normal via the "Start-Button". Note that the toolbar combobox for Platform Configuration now lists both "x86" and "AnyCPU" and has "x86" selected Software | Seite 208...
4.3.4. Integration of the delib.pas in Delphi Description of the "delib.pas" integration in Delphi You can find the needed files for Delphi in the directory C: \Programme\DEDITEC\DELIB\include\delib.pas. Start Delphi and open via menu "Projekt -> dem Projekt hinzufügen" the file "delib.pas" to import.
4.3.5. Integration of the delib.bas in Visual Basic Description of the "delib.bas" integration in Visual Basic You can find the needed files for VB in the directory C: \Programme\DEDITEC\DELIB\include\delib.bas. Start Visual Basic and open via menu "Projekt -> Datei hinzufügen..." the file "delibi.bas" to import.
Seite 211
Description of the DELIB integration in VB.NET You can find the needed files for VB.NET in the directory C: \Programme\DEDITEC\DELIB\Include\delib.vb. Start VB.NET and open via menu "Projekt -> Vorhandes Element hinzufügen" in the directory C:\Programme\DEDITEC\DELIB\Include\ the file "delib. vb" to import. Software | Seite 211...
Description of the "delib.bas" integration in Visual Basic for Applications You can find the needed files for VBA in the directory C: \Programme\DEDITEC\DELIB\include\delib.bas. Start Microsoft Excel and open via menu "Extras -> Makro -> Visual Basic Editor". Software | Seite 212...
Seite 213
Create a new UserForm via menu "Einfügen -> UserForm". In the top left-hand corner of the project manager right click on "UserForm -> Datei importieren". Open in the directory C: \Programme\DEDITEC\DELIB\include the file "delib.bas" to import. Software | Seite 213...
Description of the delib.dll integration in LabVIEW Version 11 - You can find the needed files for LabVIEW in the directorys "C:\Windows\System32\delib.dll" "C: \Programme\DEDITEC\DELIB\include\ delib.h" - Start LabVIEW and open the menu "Tools -> Import -> DLL ..." Software | Seite 214...
Seite 215
- Choose the option "create VIs for DLL" and press continue Software | Seite 215...
Seite 216
- In the next window, choose the path to the delib.h and delib.dll and press continue Software | Seite 216...
Seite 217
- Press continue again - The Header-File will now be analized. Afterwards press continue. Software | Seite 217...
Seite 218
- Follow the instructions and configurate the name and the saving location for the VIs. Software | Seite 218...
Seite 219
- In the new window choose "Easy error correction" in the drop- down menu and press continue. Software | Seite 219...
Seite 220
- VIs which are working with 64-bit values must be edited. The display must be changed from "unsigned long" to "unsigned quad". - The following VIs must be edited: -> DapiCNT48CounterGet48 (function return) -> DapiDIGet64 (function return) -> DapiDOSet64 (data) ->...
Seite 221
- In addition for some VIs you need to change the elementype to "numeric". - The following VIs must be edited: -> DapiWriteLongLong (value) -> DapiReadLongLong (function return) - Afterwards press continue. Software | Seite 221...
Seite 222
- You recive a summary of the executed steps. - Press continue - The VIs will now be created and are ready to use. Software | Seite 222...
Seite 224
The function could look like this in LabVIEW: The channel and mode are passed as unsigned long Software | Seite 224...
Seite 226
noun 0, 32, ... 0, 1, 2, ... 0/1 (1-bit command) 8-bit value (Bit 0 for channel 0, 8, 16-bit do16 1, Bit 1 for 16, ... value channel 2, ...) 24-bit do24 value noun 0, 1, 2, ... hex, volt, mA integer or hexadecimal number 0, 1, 2, ...
Seite 227
Return-value Read the state of the digital inputs In combination with the parameter unit "hex" the state will be read as Read the state of the FlipFlops of the digital inputs In combination with the parameter unit "hex" the state will be read as Read the state of the analog inputs In combination with the parameter unit "hex"...
Seite 229
Utility and the Webinterface of the module. Software | Seite 229...
Seite 230
4.4.2. DELIB CLI examples Digital Outputs Windows delib_cli DO1 17 1 -> digital output 18 will be switched on delib_cli DO1 3 0 -> digital output 4 will be switched on delib_cli DO8 0 255 -> digital outputs 1-8 will be switched on delib_cli DO16 0 0 ->...
Seite 231
Digital Inputs Windows delib_cli DI1 3 Example return value: 1 -> read the state of digital input 4. delib_cli DI8 0 hex Example return value: 0xC8 (channel 4, 7 and 8 have a high signal) -> read the states of digital inputs 1-8 as hex delib_cli DI16 0 hex Example return value: 0xE 0C0 (channel 7, 8, 14 ,15 and 16 have a high signal)
Seite 232
-> read the state of digital input channel 4 of a usb-module sudo delib_cli_eth DI8 0 hex Example return value: 0xFF (channel 1-8 have a high signal) -> read the state of digital input channel 1-8 of a usb-module as hex sudo delib_cli_usb FF 0 Example return value: 192 (channel 7 and 8 have a change of state)
Seite 233
Analog Outputs Windows delib_cli AO 7 4711 ->analog output 8 will be set to the decimal value 4711 delib_cli AO 6 0x4711 ->analog output 7 will be set to the hexadecimal value 0x4711 delib_cli AO 7 3.7V -> the voltage of analog output 8 will be set to 3,7 Volt (the comma ","...
Seite 234
Analog Inputs Windows delib_cli AI 2 Example of a return value: 1234 -> reads the value of analog input 3 as decimal delib_cli AI 2 hex Example of a return value: 0x1FA -> reads the value of analog input 3 as hexadecimal delib_cli AI 2 V Example of a return value: 12.500000V ->...
Seite 235
DELIB API reference DELIB API reference | Seite 235...
Seite 236
5. DELIB API reference 5.1. Management functions 5.1.1. DapiOpenModule Beschreibung Diese Funktion öffnet ein bestimmtes Modul. Definition ULONG DapiOpenModule(ULONG moduleID, ULONG nr); Parameter moduleID=Gibt das Modul an, welches geöffnet werden soll (siehe delib.h) nr=Gibt an, welches (bei mehreren Modulen) geöffnet werden soll. nr=0 ->...
Seite 237
Programmierbeispiel // USB-Modul öffnen handle = DapiOpenModule(RO_USB1, 0); printf("handle = %x\n", handle); if (handle==0) // USB Modul wurde nicht gefunden printf("Modul konnte nicht geöffnet werden\n"); return; DELIB API reference | Seite 237...
Seite 238
5.1.2. DapiCloseModule Beschreibung Dieser Befehl schliesst ein geöffnetes Modul. Definition ULONG DapiCloseModule(ULONG handle); Parameter handle=Dies ist das Handle eines geöffneten Moduls Return-Wert Keiner Programmierbeispiel // Modul schliessen DapiCloseModule(handle); DELIB API reference | Seite 238...
Seite 239
5.1.3. DapiGetDELIBVersion Beschreibung Diese Funktion liest die Version installierten DELIB Treiberbibliothek. Definition ULONG DapiGetDELIBVersion(ULONG mode, ULONG par); Parameter mode=Modus, mit dem die Version ausgelesen wird (muss immer 0 sein). par=Dieser Parameter ist nicht definiert (muss immer 0 sein). Return-Wert version=Versionsnummer der installierten DELIB-Version [hex] Programmierbeispiel version = DapiGetDELIBVersion(0, 0);...
Seite 240
5.1.4. DapiSpecialCMDGetModuleConfig Beschreibung Diese Funktion gibt die Hardwareaustattung (Anzahl der Ein- bzw. Ausgangskanäle) des Moduls zurück. Definition ULONG DapiSpecialCommand(ULONG handle, DAPI_SPECIAL_CMD_GET_MODULE_CONFIG, par, 0, 0); Parameter handle=Dies ist das Handle eines geöffneten Moduls Anzahl der digitalen Eingangskanäle abfragen par=DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_DI Anzahl der digitalen Eingangs Flip-Flops abfragen par=DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_DI_FF Anzahl der digitalen Eingangszähler abfragen (16-Bit Zähler) par=DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_DI_COUNT...
Seite 241
Anzahl der digitalen Pulsgenerator-Ausgänge abfragen par=DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_PULSE_G Anzahl der digitalen PWM-Ausgänge abfragen par=DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_PWM_OUT Anzahl der digitalen Ein-/Ausgangskanäle abfragen par=DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_DX Anzahl der analogen Eingangskanäle abfragen par=DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_AD Anzahl der analogen Ausgangskanäle abfragen par=DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_DA Anzahl der Temperaturkanäle abfragen par=DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_TEMP Anzahl der Stepperkanäle abfragen par=DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_STEPPER DELIB API reference | Seite 241...
Seite 242
Return-Wert Anzahl der digitalen Eingangskanäle abfragen return=Anzahl der digitalen Eingangskanäle Anzahl der digitalen Eingangs Flip-Flops abfragen return=Anzahl der digitalen Eingangs Flip-Flops Anzahl der digitalen Eingangszähler abfragen (16-Bit Zähler) return=Anzahl der digitalen Eingangszähler (16-Bit Zähler) Anzahl der digitalen Eingangszähler abfragen (48-Bit Zähler) return=Anzahl der digitalen Eingangszähler (48-Bit Zähler) Anzahl der digitalen Ausgangskanäle abfragen return=Anzahl der digitalen Ausgangskanäle...
Seite 243
Anzahl der Stepperkanäle abfragen return=Anzahl der Stepperkanäle DELIB API reference | Seite 243...
Seite 244
Programmierbeispiel ret=DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_GET_MODULE_CONFIG, DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_DI, 0, 0); //Gibt die Anzahl der digitalen Eingangskanäle zurück ret=DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_GET_MODULE_CONFIG, DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_DO, 0, 0); //Gibt die Anzahl der digitalen Ausgangskanäle zurück ret=DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_GET_MODULE_CONFIG, DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_DX, 0, 0); //Gibt die Anzahl der digitalen Ein-/Ausgangskanäle zurück ret=DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_GET_MODULE_CONFIG, DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_AD, 0, 0); //Gibt die Anzahl der analogen Eingangskanäle zurück ret=DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_GET_MODULE_CONFIG, DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_DA, 0, 0);...
Seite 245
5.1.5. DapiOpenModuleEx Beschreibung Diese Funktion öffnet gezielt ein Modul mit Ethernet-Schnittstelle. Dabei können die Parameter IP-Adresse, Portnummer, die Dauer des Timeouts und der Encryption Type bestimmt werden. Das Öffnen des Moduls geschieht dabei unabhängig von den im DELIB Configuration Utility getroffenen Einstellungen. Definition ULONG DapiOpenModuleEx(ULONG moduleID, ULONG nr, unsigned char* exbuffer, Parameter...
5.2. Error handling 5.2.1. DapiGetLastError Beschreibung Diese Funktion liefert den letzten erfassten Fehler. Sofern ein Fehler aufgetreten ist, muss dieser mit DapiClearLastError() gelöscht werden, da sonst jeder Aufruf von DapiGetLastError() den "alten" Fehler zurückgibt. Sollen mehrere Module verwendet werden, empfielt sich die Verwendung von DapiGetLastErrorByHandle().
Seite 248
Programmierbeispiel BOOL IsError() unsigned char msg[500]; unsigned long error_code = DapiGetLastError(); if (error_code != DAPI_ERR_NONE) DapiGetLastErrorText((unsigned char*) msg, sizeof(msg)); printf("Error Code = 0x%x * Message = %s\n", error_code, msg); DapiClearLastError(); return TRUE; return FALSE; DELIB API reference | Seite 248...
Seite 249
5.2.2. DapiGetLastErrorText Beschreibung Diese Funktion liest den Text des letzten erfassten Fehlers. Sofern ein Fehler aufgetreten ist, muss dieser mit DapiClearLastError() gelöscht werden, da sonst jeder Aufruf von DapiGetLastErrorText() den "alten" Fehler zurückgibt. Definition ULONG DapiGetLastErrorText(unsigned char * msg, unsigned long msg_length); Parameter msg = Buffer für den zu empfangenden Text msg_length = Länge des Text Buffers...
Seite 250
5.2.3. DapiClearLastError Beschreibung Diese Funktion löscht den letzten Fehler, der mit DapiGetLastError erfasst wurde. Definition void DapiClearLastError(); Parameter Keine Return-Wert Keine Programmierbeispiel BOOL IsError() unsigned char msg[500]; unsigned long error_code = DapiGetLastError(); if (error_code != DAPI_ERR_NONE) DapiGetLastErrorText((unsigned char*) msg, sizeof(msg)); printf("Error Code = 0x%x * Message = %s\n", error_code, msg);...
Seite 251
5.2.4. DapiGetLastErrorByHandle Beschreibung Diese Funktion liefert den letzten erfassten Fehler eines bestimmten Moduls (handle). Sofern ein Fehler aufgetreten ist, muss dieser mit DapiClearLastErrorByHandle() gelöscht werden, da sonst jeder Aufruf von DapiGetLastErrorByHandle() den "alten" Fehler zurückgibt. Definition ULONG DapiGetLastErrorByHandle(ULONG handle); Parameter handle=Dies ist das Handle eines geöffneten Moduls.
Seite 252
5.2.5. DapiClearLastErrorByHandle Beschreibung Diese Funktion löscht den letzten Fehler eines bestimmten Moduls (handle), der mit DapiGetLastErrorByHandle() erfasst wurde. Definition void DapiClearLastErrorByHandle(); Parameter handle=Dies ist das Handle eines geöffneten Moduls. Return-Wert Keine Programmierbeispiel BOOL IsError(ULONG handle) unsigned long error_code = DapiGetLastErrorByHandle(handle); if (error_code != DAPI_ERR_NONE) printf("Error detected on handle 0x%x - Error Code = 0x%x\n", handle, error_code);...
Seite 253
5.3. Reading Digital inputs 5.3.1. DapiDIGet1 Beschreibung Dieser Befehl liest einen einzelnen digitalen Eingang. Definition ULONG DapiDIGet1(ULONG handle, ULONG ch); Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Gibt die Nummer des Eingangs an, der gelesen werden soll (0, 1, 2, 3, .. ) Return-Wert Zustand des Eingangs (0/1) DELIB API reference | Seite 253...
Seite 254
5.3.2. DapiDIGet8 Beschreibung Dieser Befehl liest gleichzeitig 8 digitale Eingänge. Definition ULONG DapiDIGet8(ULONG handle, ULONG ch); Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Gibt die Nummer des Eingangs an, ab dem gelesen werden soll (0, 8, 16, 24, .. ) Return-Wert Zustand der gelesen Eingänge DELIB API reference | Seite 254...
Seite 255
5.3.3. DapiDIGet16 Beschreibung Dieser Befehl liest gleichzeitig 16 digitale Eingänge. Definition ULONG DapiDIGet16(ULONG handle, ULONG ch); Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Gibt die Nummer des Eingangs an, ab dem gelesen werden soll (0, 16, 32, ...) Return-Wert Zustand der gelesen Eingänge DELIB API reference | Seite 255...
Seite 256
5.3.4. DapiDIGet32 Beschreibung Dieser Befehl liest gleichzeitig 32 digitale Eingänge. Definition ULONG DapiDIGet32(ULONG handle, ULONG ch); Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Gibt die Nummer des Eingangs an, ab dem gelesen werden soll (0, 32, 64, ..) Return-Wert Zustand der gelesen Eingänge Programmierbeispiel unsigned long data;...
Seite 257
5.3.5. DapiDIGet64 Beschreibung Dieser Befehl liest gleichzeitig 64 digitale Eingänge. Definition ULONGLONG DapiDIGet64(ULONG handle, ULONG ch); Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Gibt die Nummer des Eingangs an, ab dem gelesen werden soll (0, 64, ..) Return-Wert Zustand der gelesen Eingänge DELIB API reference | Seite 257...
Seite 258
5.3.6. DapiDIGetFF32 Beschreibung Dieser Befehl liest die Flip-Flops der Eingänge aus und setzt diese zurück (Eingangszustands-Änderung). Definition ULONG DapiDIGetFF32(ULONG handle, ULONG ch); Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Gibt die Nummer des Eingangs an, ab dem gelesen werden soll (0, 32, 64, ..) Return-Wert Zustand von 32 Eingangszustandsänderungen...
Seite 259
5.3.7. DapiDIGetCounter Beschreibung Dieser Befehl liest den Eingangszähler eines digitalen Eingangs. Definition ULONG DapiDIGetCounter(ULONG handle, ULONG ch, ULONG mode); Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Gibt die Nummer des Eingangs an, ab dem gelesen werden soll mode=0 (Normale Zählfunktion) mode=DAPI_CNT_MODE_READ_WITH_RESET (Zähler auslesen und direktes Counter resetten)
5.3.8. DapiSpecialCounterLatchAll Beschreibung Dieser Befehl speichert die Zählerstände aller Eingangszähler gleichzeitig in ein Zwischenspeicher (Latch). können anschließend alle Zählerstände Latches nacheinander ausgelesen werden. Besonderheit hierbei ist, dass ein gleichzeitiges "Einfrieren" der Zählerstände möglich ist und die Eingefrorenen Stände (Latch) dann einzeln nacheinander ausgelesen werden können. Definition void DapiSpecialCommand(ULONG...
5.3.9. DapiSpecialCounterLatchAllWithReset Beschreibung Dieser Befehl speichert die Zählerstände aller Eingangszähler gleichzeitig in ein Zwischenspeicher (Latch). Zusätzlich werden die Zählerstände der Eingangszähler im Anschluß resettet. Definition void DapiSpecialCommand(ULONG handle, DAPI_SPECIAL_CMD_COUNTER, DAPI_SPECIAL_COUNTER_LATCH_ALL_WITH_RESET, 0, 0); Parameter Keine Return-Wert Keiner Bemerkung Dieser Befehl wird nur von unserem O8-R8 Zeitmodulen unterstützt! Programmierbeispiel DapiSpecialCommand(ULONG handle, DAPI_SPECIAL_CMD_COUNTER, DAPI_SPECIAL_COUNTER_LATCH_ALL_WITH_RESET, 0, 0);...
Seite 262
5.3.10. DapiSpecialDIFilterValueSet Beschreibung Dieser Befehl setzt einen Eingansfilter in [ms], in welchem Zeitintervall Störimpulse bei digitalen Eingangskanälen gefiltert werden. Definition DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_DI, DAPI_SPECIAL_DI_FILTER_VALUE_SET, ULONG time_ms, 0); Parameter handle=Dies ist das Handle eines geöffneten Moduls time_ms=Zeitintervall [ms], indem digitale Eingangskanäle gelesent werden.
Seite 263
5.3.11. DapiSpecialDIFilterValueGet Beschreibung Dieser Befehl gibt den vorher festgelegten Wert des Zeitintervalls zur Filterung von Störimpulsen bei digitalen Eingangskanäle in [ms] zurück. Definition ULONG DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_DI, DAPI_SPECIAL_DI_FILTER_VALUE_GET, 0, 0); Parameter handle=Dies ist das Handle eines geöffneten Moduls Return-Wert Zeit [ms] Bemerkung Module, die von diesen Befehlen unterstützt werden, können Sie unserer...
Seite 264
5.3.12. Dapi_Special_DI_FF_Filter_Value_Get Beschreibung Dieser Befehl gibt den Filter [ms] zurück, in welchem Zeitintervall digitale Eingangskanäle abgetastet werden. Definition ULONG DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_DI, DAPI_SPECIAL_DI_FF_FILTER_VALUE_GET, 0, 0); Parameter handle=Dies ist das Handle eines geöffneten Moduls Return-Wert Zeit [ms] Bemerkung Dieser Befehl wird nicht von unseren Modulen mit Ethernet- Schnittstelle unterstützt.
Seite 265
5.3.13. Dapi_Special_DI_FF_Filter_Value_Set Beschreibung Dieser Befehl setzt einen Filter [ms], in welchem Zeitintervall digitale Eingangskanäle abgetastet werden. Definition void DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_DI, DAPI_SPECIAL_DI_FF_FILTER_VALUE_SET, ULONG time_ms, 0); Parameter handle=Dies ist das Handle eines geöffneten Moduls time_ms=Zeitintervall [ms], indem digitale Eingangskanäle abgetastet werden. Return-Wert Keiner.
Seite 266
5.4. Setting Digital outputs 5.4.1. DapiDOSet1 Beschreibung Dieser Befehl setzt einen einzelnen Ausgang. Definition void DapiDOSet1(ULONG handle, ULONG ch, ULONG data); Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Gibt die Nummer des zu setzenden Ausgangs an (0 .. ) data=Gibt den Datenwert an, der geschrieben wird (0 / 1) Return-Wert Keiner...
Seite 267
5.4.2. DapiDOSet8 Beschreibung Dieser Befehl setzt gleichzeitig 8 digitale Ausgänge. Definition void DapiDOSet8(ULONG handle, ULONG ch, ULONG data); Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Gibt die Nummer des Ausgangs an, ab dem geschrieben werden soll (0, 8, 16, 24, 32, ..) data=Gibt die Datenwerte an, die geschrieben werden Return-Wert Keiner...
Seite 268
5.4.3. DapiDOSet16 Beschreibung Dieser Befehl setzt gleichzeitig 16 digitale Ausgänge. Definition void DapiDOSet16(ULONG handle, ULONG ch, ULONG data); Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Gibt die Nummer des Ausgangs an, ab dem geschrieben werden soll (0, 16, 32, ..) data=Gibt die Datenwerte an, die geschrieben werden Return-Wert Keiner...
Seite 269
5.4.4. DapiDOSet32 Beschreibung Dieser Befehl setzt gleichzeitig 32 digitale Ausgänge. Definition void DapiDOSet32(ULONG handle, ULONG ch, ULONG data); Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Gibt die Nummer des Ausgangs an, ab dem geschrieben werden soll (0, 32, 64, ..) data=Gibt die Datenwerte an, die geschrieben werden Return-Wert Keiner...
Seite 270
5.4.5. DapiDOSet64 Beschreibung Dieser Befehl setzt gleichzeitig 64 digitale Ausgänge. Definition void DapiDOSet64(ULONG handle, ULONG ch, ULONG data); Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Gibt die Nummer des Ausgangs an, ab dem geschrieben werden soll (0, 64, ..) data=Gibt die Datenwerte an, die geschrieben werden Return-Wert Keiner...
Seite 271
5.4.6. DapiDOSet1_WithTimer Beschreibung Diese Funktion setzt einen Digitalausgang (ch) auf einen Wert (data - 0 oder 1) für eine bestimmte Zeit in ms. Definition void DapiDOSet1_WithTimer(ULONG handle, ULONG ch, ULONG data, ULONG time_ms); Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Gibt die Nummer des Ausgangs an, ab dem geschrieben werden soll (0, 32, 64, ..) data=Gibt die Datenwerte an, die geschrieben werden...
Seite 272
5.4.7. DapiDOReadback32 Beschreibung Dieser Befehl liest die 32 digitalen Ausgänge zurück. Definition ULONG DapiDOReadback32(ULONG handle, ULONG ch); Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Gibt die Nummer des Ausgangs an, ab dem zurückgelesen werden soll (0, 32, 64, ..) Return-Wert Zustand von 32 Ausgängen.
Seite 273
5.4.8. DapiDOReadback64 Beschreibung Dieser Befehl liest die 64 digitalen Ausgänge zurück. Definition ULONGLONG DapiDOReadback64(ULONG handle, ULONG ch); Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Gibt die Nummer des Ausgangs an, ab dem zurückgelesen werden soll (0, 64, ..) Return-Wert Zustand von 64 Ausgängen.
Seite 278
5.5. Reading Digital Counter 5.5.1. DapiCnt48ModeSet Beschreibung Dieser Befehl setzt einen Zählmodus (optional auch Submodus) und Eingangsfilter für einen bestimmten Eingangszählerkanal. Definition void DapiCnt48ModeSet(ULONG handle, ULONG ch, ULONG mode); Parameter handle = Dies ist das Handle eines geöffneten Moduls ch = Nummer des Eingangszählerkanals, dessen Modus gesetzt werden soll (0, 1, 2, 3, ..
Seite 279
[hex] verfügbar DAPI_CNT48_SUBMODE_NO_RESE DAPI_CNT48_SUBMODE_RESET_W ITH_READ DAPI_CNT48_SUBMODE_NO_RESE DAPI_CNT48_SUBMODE_RESET_W ITH_READ DELIB API reference | Seite 279...
Seite 280
Mögliche Werte für mode mode=DAPI_CNT48_MODE_COUNT_RISING_EDGE | DAPI_CNT48_SUBMODE_NO_RESET In diesem Modus wird bei steigender Flanke gezählt. mode=DAPI_CNT48_MODE_COUNT_RISING_EDGE | DAPI_CNT48_SUBMODE_RESET_WITH_READ In diesem Modus wird bei steigender Flanke gezählt. Zusätzlich wird bei jedem Lesevorgang der Zähler resettet. mode=DAPI_CNT48_MODE_COUNT_RISING_EDGE | DAPI_CNT48_SUBMODE_RESET_ON_CH_7 In diesem Modus wird bei steigender Flanke gezählt. Zusätzlich kann der Zähler über ein externes Signal (letzer Kanal des Moduls = 1) resettet werden.
Seite 281
mode=DAPI_CNT48_MODE_T Mit diesem Modus wird die Periodendauer T gemessen. Als Basis hierbei dient ein 100 MHz Zähler. mode=DAPI_CNT48_MODE_FREQUENCY Bei diesem Modus lässt sich die Anzahl der steigenden Flanken innerhalb einer Sekunde (=Frequenz) messen. mode=DAPI_CNT48_MODE_PWM Mit diesem Modus werden die "high" und "low" Zeit eines Signals gemessen.
Seite 282
DAPI_CNT48_FILTER_5ms Return-Wert Keiner Bemerkung Dieser Befehl wird nur von unserem Modul RO-CNT8 unterstützt. Programmierbeispiel DapiCnt48ModeSet(handle, 0, DAPI_CNT48_MODE_COUNT_RISING_EDGE | DAPI_CNT48_SUBMODE_RESET_WITH_READ | DAPI_CNT48_FILTER_20ns); //Eingangszählerkanal 0 zählt alle Impulse <= 20ns bei steigender Flanke. Zusätzlich wird der Zähler nach Abfrage resettet. DapiCnt48ModeSet(handle, 1, DAPI_CNT48_MODE_COUNT_RISING_EDGE | DAPI_CNT48_SUBMODE_RESET_ON_CH_7 | DAPI_CNT48_FILTER_500us);...
Seite 283
5.5.2. DapiCnt48ModeGet Beschreibung Dieser Befehl liest Zählmodus eines bestimmten Eingangszählerkanals zurück. Definition ULONG DapiCnt48ModeGet(ULONG handle, ULONG ch); Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Nummer Eingangszählerkanals, dessen Modus ausgegeben werden soll (0, 1, 2, 3, .. ) Return-Wert Zählmodus des Eingangszählerkanals. (Nähere Informationen / Beschreibung der Bits ->...
5.5.3. DapiCnt48CounterGet32 Beschreibung Dieser Befehl liest die ersten 32 Bit eines 48 Bit Eingangszählers. Definition ULONG DapiCnt48CounterGet32(ULONG handle, ULONG ch); Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Gibt die Nummer des Eingangszählerkanals an, der gelesen werden soll (0, 1, 2, 3, .. ) Return-Wert Ausgabe des Zählerwertes.
5.5.4. DapiCnt48CounterGet48 Beschreibung Dieser Befehl liest einen 48 Bit Zähler eines Eingangszählerkanals. Definition ULONGLONG DapiCnt48CounterGet48(ULONG handle, ULONG ch); Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Gibt die Nummer des Eingangszählerkanals an, der gelesen werden soll (0, 1, 2, 3, .. ) Return-Wert Ausgabe des Zählerwertes.
Seite 286
5.5.5. DapiSpecialCNT48ResetSingle Beschreibung Dieser Befehl resettet Zählerstand eines einzelnen Eingangszählers. Definition void DapiSpecialCommand(ULONG handle, DAPI_SPECIAL_CMD_CNT48, DAPI_SPECIAL_CNT48_RESET_SINGLE, ULONG ch, 0) Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Gibt die Nummer des Eingangszählers an, dessen Zählerstand resettet werden soll (0, 1, 2, ..) Return-Wert Keiner Bemerkung...
Seite 287
5.5.6. DapiSpecialCNT48ResetGroup8 Beschreibung Dieser Befehl resettet gleichzeitig die Zählerstände von 8 Eingangszählern. Definition void DapiSpecialCommand(ULONG handle, DAPI_SPECIAL_CMD_CNT48, DAPI_SPECIAL_CNT48_RESET_GROUP8, ULONG ch, 0) Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Gibt die Nummer des Eingangszählers an, ab dem die Zählerstande von 8 Eingangszählern resettet werden (0, 8, 16, ...) Return-Wert Keiner Bemerkung...
Seite 288
5.5.7. DapiSpecialCNT48LatchGroup8 Beschreibung Dieser Befehl speichert die Zählerstände von 8 Eingangszähler gleichzeitig Zwischenspeicher (Latch). können anschließend alle Zählerstände Latches nacheinander ausgelesen werden. Besonderheit hierbei ist, dass ein gleichzeitiges "Einfrieren" der Zählerstände möglich ist und die eingefrorenen Stände (Latch) dann (langsam) einzeln nacheinander ausgelesen werden können. Definition void DapiSpecialCommand(ULONG...
Seite 289
Programmierbeispiel DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_CNT48, DAPI_SPECIAL_CNT48_LATCH_GROUP8, 0, 0) // Zählerstände der Eingangszähler 0-7 werden gelatched DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_CNT48, DAPI_SPECIAL_CNT48_LATCH_GROUP8, 8, 0) // Zählerstände der Eingangszähler 8-15 werden gelatched DELIB API reference | Seite 289...
Seite 290
5.5.8. DapiSpecialCNT48DIGet1 Beschreibung Dieser Befehl liest den Eingangszustand (0/1) eines digitalen Eingangszählerkanals. Definition ULONG DapiSpecialCommand(ULONG handle, DAPI_SPECIAL_CMD_CNT48, DAPI_SPECIAL_CNT48_DI_GET1, ULONG ch, 0) Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Gibt die Nummer des Eingangszählerkanals an, dessen Eingangszustand gelesen werden soll (0, 1, 2, 3, .. ) Return-Wert Zustand des Eingangszählers (0/1) Bemerkung...
Seite 291
5.6. PWM Functions 5.6.1. DapiPWMOutSet Beschreibung Dieser Befehl setzt das PWM Verhältnis eines PWM-Kanals Definition void DapiPWMOutSet(ULONG handle, ULONG ch, float data); Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Gibt die Nummer des Ausgangs an, der gesetzt werden soll data=PWM-Verhältnis in von 0% bis 100% in 1% Schritten Kleinstes PWM-Verhältnis ist abhängig von der PWM-Frequenz 10Hz data muss >= 0% sein...
Seite 292
5.6.2. DapiPWMOutReadback Beschreibung Dieser Befehl liest das PWM-Verhältnis eines PWM-Kanals Definition float DapiPWMOutReadback(ULONG handle, ULONG ch); Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Gibt die Nummer des Ausgangs an, der gelesen werden soll Return-Wert PWM Verhältnis des Kanals von 0% bis 100% Programmierbeispiel float data = DapiPWMOutReadback(handle, 0);...
Seite 293
5.6.3. DAPI_SPECIAL_PWM_FREQ_SET Beschreibung Dieser Befehl setzt die PWM Frequenz des Moduls Definition void DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_PWM, cmd, par1, par2); Parameter handle=Dies ist das Handle eines geöffneten Moduls cmd=DAPI_SPECIAL_PWM_FREQ_SET par1=channel area 0 (ch 0-15), 16 (ch 16-31) ... usw. par2=Frequenz = DAPI_PWM_FREQUENCY_10HZ, DAPI_PWM_FREQUENCY_100HZ, DAPI_PWM_FREQUENCY_250HZ oder DAPI_PWM_FREQUENCY_1000Hz Return-Wert Keiner...
Seite 294
5.6.4. DAPI_SPECIAL_PWM_FREQ_READBACK Beschreibung Dieser Befehl liest die aktuelle PWM Frequenz des Moduls Definition void DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_PWM, cmd, par1, par2); Parameter handle=Dies ist das Handle eines geöffneten Moduls cmd=DAPI_SPECIAL_PWM_FREQ_READBACK par1=0 par2=0 Return-Wert uint = DAPI_PWM_FREQUENCY_10HZ, DAPI_PWM_FREQUENCY_100HZ, DAPI_PWM_FREQUENCY_250HZ oder DAPI_PWM_FREQUENCY_1000Hz Programmierbeispiel uint frequency = DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_PWM, DAPI_SPECIAL_PWM_FREQ_READBACK // Liest die PWM Frequenz des Moduls DELIB API reference | Seite 294...
Seite 297
5.8. A/D converter functions 5.8.1. DapiADSetMode Beschreibung Dieser Befehl konfiguriert den Spannungsbereich für einen A/D Wandler. Definition void DapiADSetMode(ULONG handle, ULONG ch, ULONG mode); Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Gibt den Kanal des A/D Wandlers an (0 .. ) mode=Gibt den Modus für den Kanal an Return-Wert keiner...
Seite 298
Modus Wertebereich ADDA_MODE_BIPOL_10V -10V .. +10V ADDA_MODE_BIPOL_5V -5V .. +5V ADDA_MODE_BIPOL_2V5 -2,5V .. +2,5V DELIB API reference | Seite 298...
Seite 299
Ströme: Modus Wertebereich ADDA_MODE_0_20mA 0 .. 20 mA ADDA_MODE_4_20mA 4 .. 20 mA ADDA_MODE_0_24mA 0 .. 24 mA ADDA_MODE_0_25mA 0 .. 25 mA ADDA_MODE_0_50mA 0 .. 50 mA DELIB API reference | Seite 299...
Seite 300
5.8.2. DapiADGetMode Beschreibung Dieser Befehl liest den eingestellten Modus eines A/D Wandlers zurück. Modus-Beschreibung siehe DapiADSetMode. Definition ULONG DapiADGetMode(ULONG handle, ULONG ch); Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Gibt den Kanal des A/D Wandlers an (0 .. ) Return-Wert Modus des A/D Wandlers DELIB API reference | Seite 300...
Seite 301
5.8.3. DapiADGet Beschreibung Dieser Befehl liest einen Datenwert von einen Kanal eines A/D Wandlers. Definition ULONG DapiADGet(ULONG handle, ULONG ch); Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Gibt den Kanal des A/D Wandlers an (0 .. ) Return-Wert Wert vom A/D Wandler in Digits DELIB API reference | Seite 301...
Seite 302
5.8.4. DapiADGetVolt Beschreibung Dieser Befehl liest einen Datenwert von einen Kanal eines A/D Wandlers in Volt. Definition float DapiADGetVolt(ULONG handle, ULONG ch); Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Gibt den Kanal des A/D Wandlers an (0 .. ) Return-Wert Wert vom A/D Wandler in Volt DELIB API reference | Seite 302...
Seite 303
5.8.5. DapiADGetmA Beschreibung Dieser Befehl liest einen Datenwert von einen Kanal eines A/D Wandlers in mA. Definition float DapiADGetmA(ULONG handle, ULONG ch); Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Gibt den Kanal des A/D Wandlers an (0 .. ) Return-Wert Wert vom A/D Wandler in mA.
Seite 304
5.8.6. DapiSpecialADReadMultipleAD Beschreibung Dieser Befehl speichert die Werte bestimmer, benachbarter Kanäle eines A/D Wandlers gleichzeitig in einen Zwischenpuffer. So können anschließend die Werte nacheinander ausgelesen werden. Vorteil hierbei ist, dass die A/D-Werte zum einen gleichzeitig gepuffert werden, zum anderen können die Werte mehrerer AD- Kanäle Vergleich Befehlen...
Seite 305
// Puffert die Werte von AD-Kanal 0..15 DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_AD, DAPI_SPECIAL_AD_READ_MULTIPLE_AD, 0, 63); // Puffert die Werte von AD-Kanal 0..63 DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_AD, DAPI_SPECIAL_AD_READ_MULTIPLE_AD, 16, 31); // Puffert die Werte von AD-Kanal 16..31 value = DapiADGetVolt(handle, 0x8000 | 0); // Gibt den gepufferten Wert von AD-Kanal 0 in Volt zurück. value = DapiADGetmA(handle, 0x8000 | 15);...
Seite 306
5.9. D/A outputs management 5.9.1. DapiDASetMode Beschreibung Dieser Befehl setzt den Modus für einen D/A Wandler. Definition void DapiDASetMode(ULONG handle, ULONG ch, ULONG mode); Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Gibt den Kanal des D/A Wandlers an (0 .. ) mode=Gibt den Modus für den D/A Wandler an (siehe delib.h) Return-Wert Keiner...
Seite 307
ADDA_MODE_BIPOL_10V -10V .. +10V ADDA_MODE_BIPOL_5V -5V .. +5V ADDA_MODE_BIPOL_2V5 -2,5V .. +2,5V DELIB API reference | Seite 307...
Seite 308
Ströme: Modus Wertebereich ADDA_MODE_0_20mA 0 .. 20 mA ADDA_MODE_4_20mA 4 .. 20 mA ADDA_MODE_0_24mA 0 .. 24 mA ADDA_MODE_0_25mA 0 .. 25 mA ADDA_MODE_0_50mA 0 .. 50 mA DELIB API reference | Seite 308...
Seite 309
5.9.2. DapiDAGetMode Beschreibung Dieser Befehl liest den eingestellten Modus eines D/A Wandlers zurück. Definition ULONG DapiDAGetMode(ULONG handle, ULONG ch); Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Gibt den Kanal des D/A Wandlers an (0 .. ) Return-Wert Modus des D/A Wandlers DELIB API reference | Seite 309...
Seite 310
5.9.3. DapiDASet Beschreibung Dieser Befehl übergibt ein Datenwert an einen Kanal eines 16-Bit D/ A Wandlers. Definition void DapiDASet(ULONG handle, ULONG ch, ULONG data); Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Gibt den Kanal des D/A Wandlers an (0 .. ) data=Gibt den Datenwert an, der geschrieben wird (16-Bit Datenwert ->...
Seite 311
5.9.4. DapiDASetVolt Beschreibung Dieser Befehl setzt eine Spannung an einen Kanal eines D/A Wandlers. Definition void DapiDASetVolt(ULONG handle, ULONG ch, float data); Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Gibt den Kanal des D/A Wandlers an (0 .. ) data=Gibt die Spannung an, die eingestellt werden soll [V] Return-Wert Keiner...
Seite 312
5.9.5. DapiDASetmA Beschreibung Dieser Befehl setzt einen Strom an einen Kanal eines D/A Wandlers. Definition void DapiDASetmA(ULONG handle, ULONG ch, float data); Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Gibt den Kanal des D/A Wandlers an (0 .. ) data=Gibt den Strom an, der geschrieben wird [mA] Return-Wert Keiner...
Seite 313
5.9.6. DapiSpecialCmd_DA Beschreibung Dieser Befehl setzt die Spannungswerte bei einem Kanal beim Einschalten bzw. nach einem Timeout eines D/A Wandlers (EEPROM-Konfiguration). Definition void DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_DA, cmd, ch, 0); Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Gibt den Kanal des D/A Wandlers an (0, 1, 2, ..) Zurücksetzen der Einstellungen auf Default Konfiguration cmd=DAPI_SPECIAL_DA_PAR_DA_LOAD_DEFAULT Speichern der Konfiguration in das EEPROM...
Seite 314
(Spannung/Strom-Wert, Enable/Disable und D/A Wandler Modus) in das EEPROM gespeichert. DAPI_SPECIAL_DA_PAR_DA_LOAD_EEPROM_CONFIG Mit diesem Befehl wird der D/A Wandler, mit der im EEPROM gespeicherten Konfiguration, gesetzt. Programmierbeispiel DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_DA, DAPI_SPECIAL_DA_PAR_DA_LOAD_DEFAULT, 1, 0); //Zurücksetzen der EEPROM-Konfiguration auf Default Konfiguration bei Kanal 1. DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_DA, DAPI_SPECIAL_DA_PAR_DA_SAVE_EEPROM_CONFIG, 3, 0);...
5.10. Temperature functions 5.10.1. DapiTempGet Beschreibung Dieser Befehl liest einen Temperatur Eingang. Definition float DapiTempGet(ULONG handle, ULONG ch); Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Gibt die Nummer des Eingangs an, der gelesen werden soll (0, 1, 2, 3, .. ) Return-Wert Temperatur [°C] Programmierbeispiel...
5.11. Set TTL-In-/Outputs direction with DapiSpecialCommand 5.11.1. DAPI_SPECIAL_CMD_SET_DIR_DX_1 Beschreibung Dieser Befehl setzt die Richtung von 8 hintereinanderliegenden TTL-Ein/Ausgängen (1-Bit weise). Definition void DapiSpecialCommand(ULONG handle, DAPI_SPECIAL_CMD_SET_DIR_DX_1, ULONG ch, ULONG dir, 0); Parameter handle = Dies ist das Handle eines geöffneten Moduls ch = Muss immer 0 sein! dir = Gibt die Richtung für 8 Kanäle an (1=output / 0=input) / Bit 0 steht für Kanal 0, Bit 1 für Kanal 1 ...
Seite 317
DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_SET_DIR_DX_1, 0, 0x0f , 0); // Set Dir of TTL-I/O CH0-3 to output, others to input DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_SET_DIR_DX_1, 0, 0xff , 0); // Set Dir of TTL-I/O CH0-7 to output, others to input DELIB API reference | Seite 317...
Seite 318
5.11.2. DAPI_SPECIAL_CMD_SET_DIR_DX_8 Beschreibung Dieser Befehl setzt Richtung hintereinanderliegenden TTL-Ein/Ausgängen (8-Bit weise). 1-Bit repräsentiert dabei 8 TTL-Ein/Ausgänge. Definition void DapiSpecialCommand(ULONG handle, DAPI_SPECIAL_CMD_SET_DIR_DX_8, ULONG ch, ULONG dir, 0); Parameter handle = Dies ist das Handle eines geöffneten Moduls ch = Muss immer 0 sein! dir = (8-Bit) gibt die Richtung für bis zu 64 hintereinanderliegende TTL-Ein/Ausgänge an.
Seite 319
5.12. Watchdog functions 5.12.1. DapiWatchdogEnable Description This function enables the watchdog. Definition void DapiWatchdogEnable(ULONG handle); Parameters handle=This is the handle of an opened module Return value None Example program DapiWatchdogEnable(handle); //Aktiviert den Watchdog DELIB API reference | Seite 319...
Seite 320
5.12.2. DapiWatchdogDisable Description This function disables the watchdog. Definition void DapiWatchdogDisable(ULONG handle); Parameters handle=This is the handle of an opened module Return value None Example program DapiWatchdogDisable(handle); //Deaktiviert den Watchdog DELIB API reference | Seite 320...
Seite 321
5.12.3. DapiwatchdogRetrigger Beschreibung Diese Funktion retriggert den Watchdog-Timer. Definition void DapiWatchdogRetrigger(ULONG handle); Parameter handle=Dies ist das Handle eines geöffneten Moduls Return-Wert Keiner Programmierbeispiel DapiWatchdogRetrigger(handle); //Retriggert den Watchdog-Timer DELIB API reference | Seite 321...
Seite 322
5.13. Stepper motor functions 5.13.1. Commands with DapiStepperCommand 5.13.1.1. DAPI_STEPPER_CMD_GO_POSITION Beschreibung Hiermit wird eine bestimmte Position angefahren. Dieses Kommando darf nur ausgeführt werden, wenn der Motor nicht "disabled" ist und kein Go_Position oder Go_Referenz ausgeführt wird. Definition DapiStepperCommand(handle, motor, DAPI_STEPPER_CMD_GO_POSITION, position, 0, 0, 0);...
Seite 323
5.13.1.2. DAPI_STEPPER_CMD_GO_POSITION_RELATIVE Description With this command the motor will go to a relative position. In contrast to the command GO_POSITION, which goes to an absolute position, this command considers the current position. This command can only be used when the motor is not disabled and Go_Position or Go_Reference are not executed.
Seite 324
5.13.1.3. DAPI_STEPPER_CMD_SET_POSITION Beschreibung Dieses Kommando dient zum setzten der Motorposition. Die Auflösung beträgt 1/16 Vollschritt. Dieses Kommando darf nur bei angehaltenem Motor verwendet werden. Definition DapiStepperCommand(handle, motor, DAPI_STEPPER_CMD_SET_POSITION, par1, 0, 0, 0); Parameter par1 = Motorposition DELIB API reference | Seite 324...
Seite 325
5.13.1.4. DAPI_STEPPER_CMD_SET_FREQUENCY Beschreibung Dieses Kommando dient zur Einstellung der Motorsollfrequenz. Die Motorfrequenzregelung übernimmt dabei die Einhaltung Beschleunigungs- / Bremsrampe. Schrittverluste treten nicht auf. Die Motorsollfrequenz ist bezogen auf Vollschrittbetrieb. Über das Vorzeichen wird die Richtung ausgewählt. Die Motorsollfrequenz darf nicht über der Maxfrequenz liegen, ansonsten wird das Kommando abgelehnt.
Seite 326
5.13.1.5. DAPI_STEPPER_CMD_GET_FREQUENCY Beschreibung Dieses Kommando dient zum Abfragen der Motorfrequenz. Dieses Kommando darf immer verwendet werden. Definition DapiStepperCommand(handle, motor, DAPI_STEPPER_CMD_GET_FREQUENCY, par1, 0 ,0 ,0); Return-Wert Motorfrequenz [Hz] DELIB API reference | Seite 326...
Seite 327
5.13.1.6. DAPI_STEPPER_CMD_SET_FREQUENCY_DIRECTLY Beschreibung Dieses Kommando dient zur Einstellung der Motorfrequenz. Die Motorfrequenzregelung übernimmt dabei keine Funktion. Für die Einhaltung der Beschleunigungs- / Bremsrampe ist der Anwender verantwortlich. Schrittverluste können bei Nichteinhaltung auftreten. Die Motorfrequenz ist bezogen auf Vollschrittbetrieb. Über das Vorzeichen wird die Richtung ausgewählt.
Seite 328
5.13.1.7. DAPI_STEPPER_CMD_STOP Beschreibung Dieses Kommando dient zum Anhalten des Motors, Bremsrampe wird dabei eingehalten. Definition DapiStepperCommand(handle, motor, DAPI_STEPPER_CMD_STOP, 0, 0, 0, 0); DELIB API reference | Seite 328...
Seite 329
5.13.1.8. DAPI_STEPPER_CMD_FULLSTOP Beschreibung Dieses Kommando dient zum sofortigen Anhalten des Motors, die Bremsrampe wird dabei nicht eingehalten. Die Motorposition kann vielleicht danach nicht mehr stimmen, da der Motor unkontrolliert angehalten wird. Definition DapiStepperCommand(handle, motor, DAPI_STEPPER_CMD_FULLSTOP, 0, 0, 0, 0); Programmierbeispiel DapiStepperCommand(handle, motor, DAPI_STEPPER_CMD_FULLSTOP, 0, 0, 0, 0);...
Seite 330
5.13.1.9. DAPI_STEPPER_CMD_DISABLE Beschreibung Dieses Kommando dient zum disablen/enabeln des Motors, der Motor verfährt dann nicht mehr/oder wieder. Dieses Kommando darf nur bei Motorstillstand benutzt werden. Definition DapiStepperCommand(handle, motor, DAPI_STEPPER_CMD_DISABLE, par1, 0, 0, Parameter par1 = Disablemode (0=Normale Funktion / 1=Disable) DELIB API reference | Seite 330...
Seite 331
5.13.1.10. DAPI_STEPPER_CMD_SET_MOTORCHARACTERISTIC Beschreibung Hiermit werden neue Motor Konfigurationen gesetzt. Definition DapiStepperCommand(handle, motor, DAPI_STEPPER_CMD_SET_MOTORCHARACTERISTIC, par1, par2, 0, 0); Parameter Parameter-Stepmode setzen par1=DAPI_STEPPER_MOTORCHAR_PAR_STEPMODE par2=0 (Vollschrittbetrieb) par2=1 (Halbschrittbetrieb) par2=2 (Viertelschrittbetrieb) par2=3 (Achtelschrittbetrieb) par2=4 (Sechzehntelschrittbetrieb) Parameter-GO-Frequency setzen par1=DAPI_STEPPER_MOTORCHAR_PAR_GOFREQUENCY par2=Geschwindigkeit [Vollschritt / s] - bezogen auf Vollschritt Frequenz - (Maximalwert=5000) Parameter-Start-Frequency setzen par1=DAPI_STEPPER_MOTORCHAR_PAR_STARTFREQUENC...
Seite 333
par2=0 = (MOVE - LED leuchtet bei Motorbewegung) par2=1 = (HALT - LED leuchtet bei Motorstillstand) par2=2 = (ENDSW1 leuchtet geschlossenen Endschalter1) par2=3 = (ENDSW2 leuchtet geschlossenen Endschalter2) par2=4 = (REFSW1 - LED leuchtet bei geschlossenen Referenzschalterschalter1) par2=5 = (REFSW2 - LED leuchtet bei geschlossenen Referenzschalterschalter2) DELIB API reference | Seite 333...
Seite 335
REQUENCY Bemerkung: Dieser Parameter wird durch die nachfolgenden drei Parametern vollständig ersetzt. Parameter-GoReferenceFrequnecyToEndSwitch setzen par1=DAPI_STEPPER_MOTORCHAR_PAR_GOREFERENCEF REQUENCY_TOENDSWITCH par2=Geschwindigkeit, mit der der Enschalter angefahren wird (Frequenz [Vollschritt / s] - (Maximalwert=5000)) DELIB API reference | Seite 335...
Seite 336
Parameter GoReferenceFrequencyAfterEndSwitch setzen par1=DAPI_STEPPER_MOTORCHAR_PAR_GOREFERENCEF REQUENCY_AFTERENDSWITCH par2=Geschwindigkeit, mit der vom Enschalter abgefahren wird (Frequenz [Vollschritt / s] - (Maximalwert=5000)) Parameter GoReferenceFrequencyToOffset setzen par1=DAPI_STEPPER_MOTORCHAR_PAR_GOREFERENCEF REQUENCY_TOOFFSET par2=Geschwindigkeit, mit der der optionale Offset angefahren wird (Frequenz [Vollschritt / s] - (Maximalwert=5000)) Programmierbeispiel DapiStepperCommand(handle, motor, DAPI_STEPPER_CMD_SET_MOTORCHARACTERISTIC, DAPI_STEPPER_MOTORCHAR_PAR_STEPMODE, 4,0,0);...
Seite 337
DapiStepperCommand(handle, motor, DAPI_STEPPER_CMD_SET_MOTORCHARACTERISTIC, DAPI_STEPPER_MOTORCHAR_PAR_HOLDTIME, 15000,0,0); // Zeit in der der Haltestrom fließt nach Motorstop [s] DapiStepperCommand(handle, motor, DAPI_STEPPER_CMD_SET_MOTORCHARACTERISTIC, DAPI_STEPPER_MOTORCHAR_PAR_STATUSLEDMODE, 0,0,0); // Betriebsart der Status-LED DapiStepperCommand(handle, motor, DAPI_STEPPER_CMD_SET_MOTORCHARACTERISTIC, DAPI_STEPPER_MOTORCHAR_PAR_INVERT_ENDSW1, 0,0,0); // invertiere Funktion des Endschalter1 DapiStepperCommand(handle, motor, DAPI_STEPPER_CMD_SET_MOTORCHARACTERISTIC, DAPI_STEPPER_MOTORCHAR_PAR_INVERT_ENDSW2, 0,0,0); // invertiere Funktion des Endschalter2 DapiStepperCommand(handle, motor, DAPI_STEPPER_CMD_SET_MOTORCHARACTERISTIC, DAPI_STEPPER_MOTORCHAR_PAR_INVERT_REFSW1, 0,0,0);...
Seite 338
5.13.1.11. DAPI_STEPPER_CMD_GET_MOTORCHARACTERISTIC Beschreibung Hiermit wird der Motorspezifische Parameter ausgelesen. Dieses Kommando darf immer benutzt werden. Es teilt sich in Unterkommandos auf, analog Parametern DAPI_STEPPER_CMD_SET_MOTORCHARACTERISTIC sind. Definition DapiStepperCommand(handle, motor, DAPI_STEPPER_CMD_GET_MOTORCHARACTERISTIC, par1, 0, 0, 0); Parameter Parameter-Stepmode abfragen par1=DAPI_STEPPER_MOTORCHAR_PAR_STEPMODE Parameter-GO-Frequency abfragen par1=DAPI_STEPPER_MOTORCHAR_PAR_GOFREQUENCY Parameter-Start-Frequency abfragen par1=DAPI_STEPPER_MOTORCHAR_PAR_STARTFREQUENC Parameter-Stop-Frequency abfragen...
Seite 339
LOPE Parameter-Phasecurrent abfragen par1=DAPI_STEPPER_MOTORCHAR_PAR_PHASECURRENT DELIB API reference | Seite 339...
Seite 340
Parameter-Hold-Phasecurrent abfragen par1=DAPI_STEPPER_MOTORCHAR_PAR_HOLDPHASECURR Parameter-Hold-Time abfragen par1=DAPI_STEPPER_MOTORCHAR_PAR_HOLDTIME Parameter-Status-LED-Mode abfragen par1=DAPI_STEPPER_MOTORCHAR_PAR_STATUSLEDMODE Parameter-Invert-END-Switch1 abfragen par1=DAPI_STEPPER_MOTORCHAR_PAR_INVERT_ENDSW1 Parameter-Invert-END-Switch2 abfragen par1=DAPI_STEPPER_MOTORCHAR_PAR_INVERT_ENDSW2 Parameter-Invert-Ref-Switch1 abfragen par1=DAPI_STEPPER_MOTORCHAR_PAR_INVERT_REFSW1 Parameter-Invert-Ref-Switch2 abfragen par1=DAPI_STEPPER_MOTORCHAR_PAR_INVERT_REFSW2 Parameter-Invert-direction abfragen par1=DAPI_STEPPER_MOTORCHAR_PAR_INVERT_DIRECTI Parameter-Endswitch-Stopmode abfragen par1= DAPI_STEPPER_MOTORCHAR_PAR_ENDSWITCH_STOPMO Parameter-GoReferenceFrequency abfragen (ACHTUNG: Dieser Parameter wird nicht mehr unterstützt!) DELIB API reference | Seite 340...
Seite 341
par1=DAPI_STEPPER_MOTORCHAR_PAR_GOREFERENCEF REQUENCY Bemerkung: Dieser Parameter wird durch die nachfolgenden drei Parametern vollständig ersetzt. Parameter-GoReferenceFrequnecyToEndSwitch abfragen par1=DAPI_STEPPER_MOTORCHAR_PAR_GOREFERENCEF REQUENCY_TOENDSWITCH Parameter GoReferenceFrequencyAfterEndSwitch abfragen par1=DAPI_STEPPER_MOTORCHAR_PAR_GOREFERENCEF REQUENCY_AFTERENDSWITCH Parameter GoReferenceFrequencyToOffSet abfragen par1=DAPI_STEPPER_MOTORCHAR_PAR_GOREFERENCEF REQUENCY_TOOFFSET DELIB API reference | Seite 341...
Seite 343
LOPE return= Bremsrampe [Vollschritten / ms] DELIB API reference | Seite 343...
Seite 344
Parameter-Phasecurrent par1=DAPI_STEPPER_MOTORCHAR_PAR_PHASECURRENT return=Phasenstrom [mA] Parameter-Hold-Phasecurrent par1=DAPI_STEPPER_MOTORCHAR_PAR_HOLDPHASECURR return= Phasenstrom bei Motorstillstand [mA] Parameter-Hold-Time par1=DAPI_STEPPER_MOTORCHAR_PAR_HOLDTIME return=Zeit in der der Haltestrom fließt nach Motorstop [ms] return=-1 / FFFF hex / 65535 dez (Zeit unendlich) Parameter-Status-LED-Mode par1=DAPI_STEPPER_MOTORCHAR_PAR_STATUSLEDMODE return=Betriebsart der Status-LED return=0 (MOVE - LED leuchtet bei Motorbewegung) return=1 (HALT - LED leuchtet bei Motorstillstand) return=2 (ENDSW1...
Seite 345
par1=DAPI_STEPPER_MOTORCHAR_PAR_INVERT_ENDSW2 return=Endschalter2 wird invertiert (0=normal / 1=invertieren) Parameter-Invert-Ref-Switch1 par1=DAPI_STEPPER_MOTORCHAR_PAR_INVERT_REFSW1 return=Referenzschalterschalter1 wird invertiert (0=normal 1=invertieren) DELIB API reference | Seite 345...
Seite 348
DAPI_STEPPER_CMD_GET_MOTORCHARACTERISTIC, DAPI_STEPPER_MOTORCHAR_PAR_INVERT_ENDSW1, 0, 0, 0); // invertiere Funktion des Endschalter1 value = DapiStepperCommand(handle, motor, DAPI_STEPPER_CMD_GET_MOTORCHARACTERISTIC, DAPI_STEPPER_MOTORCHAR_PAR_INVERT_ENDSW2, 0, 0, 0); // invertiere Funktion des Endschalter12 value = DapiStepperCommand(handle, motor, DAPI_STEPPER_CMD_GET_MOTORCHARACTERISTIC, DAPI_STEPPER_MOTORCHAR_PAR_INVERT_REFSW1, 0, 0, 0); // invertiere Funktion des Referenzschalterschalter1 value = DapiStepperCommand(handle, motor, DAPI_STEPPER_CMD_GET_MOTORCHARACTERISTIC, DAPI_STEPPER_MOTORCHAR_PAR_INVERT_REFSW2, 0, 0, 0);...
Seite 349
5.13.1.12. DAPI_STEPPER_CMD_MOTORCHARACTERISTIC_EEPROM_SAVE Beschreibung Es wird die aktuelle Motorcharakteristik des Motors ins EEPROM abgespeichert. Definition DapiStepperCommand(handle, motor, DAPI_STEPPER_CMD_MOTORCHARACTERISTIC_EEPROM_SAVE, 0, 0, 0, 0); DELIB API reference | Seite 349...
Seite 350
5.13.1.13. DAPI_STEPPER_CMD_MOTORCHARACTERISTIC_EEPROM_LOAD Beschreibung Es wird die Motorcharakteristik des Motors aus dem EEPROM geladen. Definition DapiStepperCommand(handle, motor, DAPI_STEPPER_CMD_MOTORCHARACTERISTIC_EEPROM_LOAD, 0, 0, 0, 0); DELIB API reference | Seite 350...
Seite 351
5.13.1.14. DAPI_STEPPER_CMD_MOTORCHARACTERISTIC_LOAD_DEFAULT Beschreibung Es wird die Motorcharakteristik des Motors auf Defaultwerte zurück gesetzt. Definition DapiStepperCommand(handle, motor, DAPI_STEPPER_CMD_MOTORCHARACTERISTIC_LOAD_DEFAULT, 0, 0, 0, 0); Bemerkung Die Defaultwerte sind folgende: Stepmode Vollschritt Schrittfrequenz bei GoPosition [Vollschritt / s]: 1000 Hz Startfrequenz [Vollschritt / s]: 200Hz Stopfrequenz [Vollschritt / s]: 200Hz Maximale Schrittfrequenz [Vollschritt / s]: 3000Hz Beschleunigungsrampe [Hz/10ms]: 10Hz/10ms...
Seite 352
5.13.1.15. DAPI_STEPPER_CMD_GO_REFSWITCH Beschreibung Der Motor fährt zur Referenzposition. Definition DapiStepperCommand(handle, motor, DAPI_STEPPER_CMD_GO_REFSWITCH, par1, par2, par3, 0); Parameter Mögliche Werte für par1: (werden mehrere benötigt, müssen die einzelnen addiert werden) DAPI_STEPPER_GO_REFSWITCH_PAR_REF1 DAPI_STEPPER_GO_REFSWITCH_PAR_REF2 DAPI_STEPPER_GO_REFSWITCH_PAR_REF_LEFT DAPI_STEPPER_GO_REFSWITCH_PAR_REF_RIGHT DAPI_STEPPER_GO_REFSWITCH_PAR_REF_GO_POSITIVE DAPI_STEPPER_GO_REFSWITCH_PAR_REF_GO_NEGATIVE DAPI_STEPPER_GO_REFSWITCH_PAR_SET_POS_0 par2=Motorpositionsoffset (1/16 Vollschritt) par3=Timeoutzeit [ms] Bemerkung Anfahren des Referenzschalters Zunächst fährt der Motor zur Referenzposition 1 oder 2 (siehe...
Seite 353
Hierbei wird Geschwindigkeit GOREFERENCEFREQUENCY_TOENDSWITCH benutzt (siehe DapiStepperCommand_SetMotorcharacteristic). DELIB API reference | Seite 353...
Seite 354
Herausfahren aus dem Referenzschalter Danach fährt Motor Geschwindigkeit GOREFERENCEFREQUENCY_AFTERENDSWITCH Referenzposition heraus. Dabei läßt sich wählen, ob der Motor die rechte oder linke Seite des Referenzschalters anfährt. Mit dem Parameter DAPI_STEPPER_GO_REFSWITCH_PAR_REF_LEFT wird die linke Kante angefahren und mit dem Parameter DAPI_STEPPER_GO_REFSWITCH_PAR_REF_RIGHT wird die rechte Kante angefahren.
Seite 355
5.13.1.16. DAPI_STEPPER_CMD_GET_CPU_TEMP Beschreibung Die Temperatur des CPU wird abgefragt. Definition ULONG DapiStepperCommand(handle, motor, DAPI_STEPPER_CMD_GET_CPU_TEMP, 0, 0, 0, 0); Parameter cmd=DAPI_STEPPER_CMD_GET_CPU_TEMP Return-Wert Temperatur [°C] DELIB API reference | Seite 355...
Seite 356
5.13.1.17. DAPI_STEPPER_CMD_GET_MOTOR_SUPPLY_VOLTAGE Beschreibung Hiermit wird die Versorgungsspannung des Motors abgefragt. Definition DapiStepperCommand(handle, motor, DAPI_STEPPER_CMD_GET_MOTOR_SUPPLY_VOLTAGE, 0, 0, 0, 0); Parameter cmd=DAPI_STEPPER_CMD_GET_MOTOR_SUPPLY_VOLTAG Return-Wert Motorversorgungsspannung in [mV] DELIB API reference | Seite 356...
Seite 357
5.13.2. Query status with DapiStepperGetStatus 5.13.2.1. DAPI_STEPPER_STATUS_GET_ACTIVITY Beschreibung Hiermit werden verschiedene Statusinformationen (z.B. die Aktivität des Motorstroms, etc.) abgefragt. Definition ULONG DapiStepperGetStatus(handle, motor, DAPI_STEPPER_STATUS_GET_ACTIVITY); Parameter handle=Dies ist das Handle eines geöffneten Moduls motor=Nummer des anzusprechenden Motors Return-Wert Command Beschreibung DISABLE Motor darf nicht verfahren MOTORSTROMACTIV Motorstrom ist aktiv...
Seite 358
5.13.2.2. DAPI_STEPPER_STATUS_GET_POSITION Beschreibung Hiermit wird eine bestimmte Position abgelesen. Definition ULONG DapiStepperGetStatus(handle, motor, cmd); Parameter cmd=DAPI_STEPPER_STATUS_GET_POSITION Return-Wert Es wird die aktuelle Motorposition in 1/16 Schritteinheiten zurückgegeben Programmierbeispiel value = DapiStepperGetStatus(handle, motor, DAPI_STEPPER_STATUS_GET_POSITION); DELIB API reference | Seite 358...
Seite 359
5.13.2.3. DAPI_STEPPER_STATUS_GET_SWITCH Beschreibung Hiermit wird der Zustand der Schalter abgefragt. Definition ULONG DapiStepperGetStatus(handle, motor, cmd); Parameter cmd=DAPI_STEPPER_STATUS_GET_SWITCH Return-Wert Es wird der Zustand der Schalter zurückgeliefert: Bit0: ENDSCHALTER1; 1 = Endschalter1 ist geschlossen Bit1: ENDSCHALTER2; 1 = Endschalter2 ist geschlossen Bit2: REFSCHALTER1; 1 = Referenzschalter1 ist geschlossen Bit3: REFSCHALTER2;...
Seite 360
5.13.3. DapiStepperCommandEx Beschreibung Dieser erweiterte Befehl steuert Schrittmotoren an. Definition ULONG DapiStepperCommandEx(ULONG handle, ULONG motor, ULONG cmd, ULONG par1, ULONG par2, ULONG par3, ULONG par4, ULONG par5, ULONG par6, ULONG par7); Parameter handle=Dies ist das Handle eines geöffneten Moduls motor=Nummer des anzusprechenden Motors cmd=Erweitertes Kommando par1..7=Erweiterte kommandoabhängige Parameter (s.
Seite 361
5.14. Software FIFO Control 5.14.1. DapiSpecialCMDSoftwareFifo Beschreibung Dieser Befehl verwaltet die Steuerung des Software-FIFO bei RO- ETH-Modulen. Definition ULONG DapiSpecialCommand(ULONG handle, DAPI_SPECIAL_CMD_SOFTWARE_FIFO, ULONG cmd, 0, 0); Parameter handle=Dies ist das Handle eines geöffneten Moduls Software FIFO aktivieren cmd=DAPI_SPECIAL_SOFTWARE_FIFO_ACTIVATE Software FIFO deaktivieren cmd=DAPI_SPECIAL_SOFTWARE_FIFO_DEACTIVATE Software FIFO Status abfragen cmd=DAPI_SPECIAL_SOFTWARE_FIFO_GET_STATUS...
Seite 362
return=0 (Software FIFO deaktiviert) return=1 (Software FIFO aktiviert) Programmierbeispiel DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_SOFTWARE_FIFO, DAPI_SPECIAL_SOFTWARE_FIFO_ACTIVATE, 0, 0); // Aktiviert den Software FIFO status = DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_SOFTWARE_FIFO, DAPI_SPECIAL_SOFTWARE_FIFO_GET_STATUS, 0, 0); // Liest den aktuellen Software FIFO Status zurück DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_SOFTWARE_FIFO, DAPI_SPECIAL_SOFTWARE_FIFO_DEACTIVATE, 0, 0); // Deaktiviert den Software FIFO DELIB API reference | Seite 362...
Seite 363
5.14.2. DapiReadFifo Beschreibung Dieser Befehl liest den Software-FIFO aus. Definition ULONG DapiReadFifo(ULONG handle, ULONG fifo_instance, ULONG type, UCHAR * buffer, ULONG buffer_length); Parameter handle=Dies ist das Handle eines geöffneten Moduls fifo_instance=Gibt die Instanz des Software FIFO an type=Gibt den FIFO-Typ an buffer=Buffer für den zu empfangenden Datensatz buffer_length=Länge des Buffers Return-Wert...
Seite 364
Aufbau eines FIFO-Datensatz (Beispiel mit 2 aktiven AD Kanälen, AD0 und AD4) Byte Bedeutung Wert [hex] RO_FIFO_ID_START 0xf0 FIFO-Typ Zeitstempel (Bit0..Bit7) Zeitstempel (Bit8..Bit15) Aktive A/D-Kanäle (Bit0..Bit7) 0x11 Aktive A/D-Kanäle (Bit8..Bit15) 0x00 A/D Wert Kanal 0 (Bit0..Bit7) A/D Wert Kanal 0 (Bit8..Bit15) A/D Wert Kanal 4 (Bit0..Bit7) A/D Wert Kanal 4 (Bit8..Bit15) RO_FIFO_ID_END...
Seite 365
RO_FIFO_ID_START Signalisiert den Anfang eines neuen FIFO-Datensatzes. Die RO_FIFO_ID_START hat immer den Wert 0xf0 [hex] FIFO Typ Gibt den FIFO Typ an (z.B. RO_FIFO_ID_TYPE_AD16M0 für A/D- FIFO) Zeitstempel Gibt den 16 Bit Zeitstempel des aktuellen Datensatzes an. Zeit- Referenz ist hierbei der Zeitpunkt der Aktivierung des FIFO. Beim Überlauf des Zeitstempels, wird dieser auf 0 zurückgesetzt.
Seite 366
Bemerkung Beachten Sie, dass der Software FIFO zuvor mit dem Befehl "DapiSpecialCMDAD" aktiviert, bzw. initialisiert werden muss. Programmierbeispiel bytes_received = DapiReadFifo(handle, fifo_instance, DAPI_FIFO_TYPE_READ_AD_FIFO, buffer, sizeof(buffer)); //Liest den Software FIFO aus DELIB API reference | Seite 366...
Seite 367
5.14.3. A/D Converter FIFO 5.14.3.1. DapiSpecialCMDAD Description This command controls the Software FIFO of a A/D converter. Definition ULONG DapiSpecialCommand(ULONG handle, DAPI_SPECIAL_CMD_AD, ULONG cmd, ULONG ch_range, ULONG par0); Parameter handle=This is the handle of a opened module. ch_range=Determine the number of the A/D module(see example below or delib.h file) FIFO initialize cmd=DAPI_SPECIAL_AD_FIFO_INIT...
Seite 368
cmd=DAPI_SPECIAL_AD_FIFO_SET_CHANNEL par0=16 Bit value for A/D channels which will be written into the fifo. Every bit represents one A/D converter (Bit0 -> AD0, Bit1 -> AD1, .. Bit15 -> AD15). To activate the fifo for the specific A/D converter the represent bit must be set to high.
Seite 369
0x80 RO_FIFO_STATUS_MASK_ FIFO is activ MEASURE_ENABLED 0x40 RO_FIFO_STATUS_MASK_ TEST_DATA 0x20 RO_FIFO_STATUS_MASK_ FIFO buffer is full OVERFLOW 0x10 RO_FIFO_STATUS_MASK_ UNDERRUN 0x08 RO_FIFO_STATUS_FULL_2 256 Byte values available 56_BYTE 0x04 RO_FIFO_STATUS_FULL_6 64 Byte values available 4_BYTE 0x02 RO_FIFO_STATUS_FULL_1 16 Byte values available 6_BYTE 0x01 RO_FIFO_STATUS_FULL_1 1 Byte values available...
Seite 370
DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_AD, DAPI_SPECIAL_AD_FIFO_ACTIVATE, DAPI_SPECIAL_AD_CH0_CH15, 0); // starts / activates the recording status = DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_AD, DAPI_SPECIAL_AD_FIFO_GET_STATUS, DAPI_SPECIAL_AD_CH0_CH15, 0); // get the current AD-FIFO status DELIB API reference | Seite 370...
Seite 371
5.15. Output timeout management 5.15.1. DapiSpecialCMDTimeout Beschreibung Dieser Befehl dient zum Einstellen der Timeout-Schutz-Funktion. Es gibt seit 2021 drei unterschiedliche Timeout-Methoden. "normalen" Timeout Dies ist der Timeout, den unsere Module schon seit 2009 besitzen. Vorgehensweise für den Timeout-Befehl: Der Timeout wird per Befehl aktiviert. Findet dann ein sogenanntes Timeout-Ereignis statt(Pause...
Seite 372
- Der Timeout-Status geht auf "4". - Die Timeout-LED geht an (bei Modulen, die solch einen Status haben) Weitere Zugriffe auf die Ausgänge sind dann weiterhin möglich. UND der Timeout ist weiter aktiv. Bei erneuter Zeitüberschreitung der Timeout-Zeit werden die Ausgänge wieder ausgeschaltet. "secure outputs"...
Seite 373
Definition DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_TIMEOUT, cmd, par1, par2); Parameter handle=Dies ist das Handle eines geöffneten Moduls cmd = auszuführende Funktion par1 = Wert, der an die Funktion übergeben wird par2 = Wert, der an die Funktion übergeben wird DELIB API reference | Seite 373...
Seite 374
5.15.1.1. DapiSpecialTimeoutSetValueSec Beschreibung Dieser Befehl dient zum Setzen der Timeout-Zeit. Definition DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_TIMEOUT, cmd, par1, par2); Parameter cmd = DAPI_SPECIAL_TIMEOUT_SET_VALUE_SEC par1 = Sekunden [s] par2 = Millisekunden [100ms] (Wert 6 = 600ms) Bemerkung Der zulässige Wertebereich der Zeitangabe liegt zwischen 0,1 Sekunden und 6553 Sekunden Programmierbeispiel DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_TIMEOUT,...
Seite 375
5.15.1.2. DapiSpecialTimeoutActivate Beschreibung Dieser Befehl aktiviert den "normalen" Timeout. Nach dem Timeout-Ereignis werden.. - ..alle Ausgänge ausgeschaltet - ..der Timeout-Status auf "2" gesetzt - ..die Timeout-LED angeschaltet (bei Modulen, die solch einen Status haben) Weitere Zugriffe auf die Ausgänge sind dann weiterhin möglich, aber der Timeout ist nicht weiter aktiv.
Seite 376
5.15.1.3. DapiSpecialTimeoutDeactivate Beschreibung Dieser Befehl deaktiviert den Timeout. Definition DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_TIMEOUT, cmd, 0, 0); Parameter cmd = DAPI_SPECIAL_TIMEOUT_DEACTIVATE Programmierbeispiel DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_TIMEOUT, DAPI_SPECIAL_TIMEOUT_DEACTIVATE, 0, 0); //Der Timeout wird deaktiviert. DELIB API reference | Seite 376...
Seite 377
5.15.1.4. DapiSpecialTimeoutGetStatus Beschreibung Dieser Befehl dient zum Auslesen des Timeout-Status. Definition ULONG DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_TIMEOUT, DAPI_SPECIAL_TIMEOUT_GET_STATUS, 0, 0); Parameter cmd = DAPI_SPECIAL_TIMEOUT_GET_STATUS Return-Wert Return = 0 (Timeout ist deaktiviert) Werte für den "normalen" Timeout Return = 1 (Timeout "normal" ist aktiviert) Return = 2 (Timeout "normal"...
Seite 378
Programmierbeispiel unsigned long status = DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_TIMEOUT, DAPI_SPECIAL_TIMEOUT_GET_STATUS, 0, 0); printf("Status = %lu\n", status); //Abfrage des Timeout-Status mit Ausgabe. DELIB API reference | Seite 378...
Seite 379
5.15.1.5. DapiSpecialTimeoutDoValueMaskWRSet32 Beschreibung Dieser Befehl bestimmt die Ausgänge, die bei einem Timeout gesetzt werden sollen. Definition DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_TIMEOUT, cmd, ch, par2); Parameter DAPI_SPECIAL_TIMEOUT_DO_VALUE_MASK_WR_SET32 ch = Gibt die Nummer des Ausgangs an, ab dem geschrieben werden soll (0, 32, 64, ..) par2 = [32 Bit] Gibt die Ausgänge an, welche bei einem Timeout aktiviert werden sollen Programmierbeispiel...
Seite 380
Programmierbeispiel long value = DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_TIMEOUT, DAPI_SPECIAL_TIMEOUT_DO_VALUE_MASK_RD_SET32, 0, 0); printf("%0x\n", value); //Der Wert der dem SET-Befehl übergeben wurde, wird ausgelesen und dargestellt. DELIB API reference | Seite 380...
Seite 381
5.15.1.7. DapiSpecialTimeoutDoValueMaskWRClr32 Beschreibung Dieser Befehl bestimmt die Ausgänge, die bei einem Timeout ausgeschaltet werden sollen. Definition DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_TIMEOUT, cmd, ch, par2); Parameter DAPI_SPECIAL_TIMEOUT_DO_VALUE_MASK_WR_CLR32 ch = Gibt die Nummer des Ausgangs an, ab dem geschrieben werden soll (0, 32, 64, ..) par2 = [32 Bit] Gibt die Ausgänge an, welche bei einem Timeout deaktiviert werden sollen Programmierbeispiel...
Seite 382
Programmierbeispiel long value = DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_TIMEOUT, DAPI_SPECIAL_TIMEOUT_DO_VALUE_MASK_RD_CLR32, 0, 0); printf("%0x\n", value); //Der Wert der dem CLR-Befehl übergeben wurde, wird ausgelesen und dargestellt. DELIB API reference | Seite 382...
Seite 383
5.15.1.9. DapiSpecialTimeoutDoValueLoadDefault Beschreibung Setzt die SET- und CLR-Werte auf den Default-Wert zurück. (SET-Wert = 0, CLR-Wert = FFFFFFFF) Definition DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_TIMEOUT, cmd, 0, 0); Parameter DAPI_SPECIAL_TIMEOUT_DO_VALUE_LOAD_DEFAULT Programmierbeispiel DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_TIMEOUT, DAPI_SPECIAL_TIMEOUT_DO_VALUE_LOAD_DEFAULT, 0, 0); //SET- und CRL-Werte werden auf den Default-Wert gesetzt. DELIB API reference | Seite 383...
5.16. Test functions 5.16.1. DapiPing Beschreibung Dieser Befehl prüft die Verbindung zu einem geöffneten Modul. Definition ULONG DapiPing(ULONG handle, ULONG value); Parameter handle=Dies ist das Handle eines geöffneten Moduls value=Übergebener Testwert, im Wertebereich von 0-255 (8-Bit), an das Modul Return-Wert Hier muß...
Seite 385
5.17. Register write commands 5.17.1. DapiWriteByte Beschreibung Dieser Befehl führt einen direkten Register Schreibbefehl auf das Modul aus. Definition void DapiWriteByte(ULONG handle, ULONG adress, ULONG value); Parameter handle=Dies ist das Handle eines geöffneten Moduls adress=Adresse, auf die zugegriffen werden soll value=Gibt den Datenwert an, der geschrieben wird (8 Bit) Return-Wert Keiner...
Seite 386
5.17.2. DapiWriteWord Beschreibung Dieser Befehl führt einen direkten Register Schreibbefehl auf das Modul aus. Definition void DapiWriteWord(ULONG handle, ULONG adress, ULONG value); Parameter handle=Dies ist das Handle eines geöffneten Moduls adress=Adresse, auf die zugegriffen werden soll value=Gibt den Datenwert an, der geschrieben wird (16 Bit) Return-Wert Keiner Bemerkung...
Seite 387
5.17.3. DapiWriteLong Beschreibung Dieser Befehl führt einen direkten Register Schreibbefehl auf das Modul aus. Definition void DapiWriteLong(ULONG handle, ULONG adress, ULONG value); Parameter handle=Dies ist das Handle eines geöffneten Moduls adress=Adresse, auf die zugegriffen werden soll value=Gibt den Datenwert an, der geschrieben wird (32 Bit) Return-Wert Keiner Bemerkung...
Seite 388
5.17.4. DapiWriteLongLong Beschreibung Dieser Befehl führt einen direkten Register Schreibbefehl auf das Modul aus. Definition void DapiWriteLongLong(ULONG handle, ULONG adress, ULONGLONG value); Parameter handle=Dies ist das Handle eines geöffneten Moduls adress=Adresse, auf die zugegriffen werden soll value=Gibt den Datenwert an, der geschrieben wird (64 Bit) Return-Wert Keiner Bemerkung...
Seite 389
5.18. Register read commands 5.18.1. DapiReadByte Beschreibung Dieser Befehl führt einen direkten Register Lese-Befehl auf das Modul aus. Definition ULONG DapiReadByte(ULONG handle, ULONG adress); Parameter handle=Dies ist das Handle eines geöffneten Moduls adress=Adresse, auf die zugegriffen werden soll Return-Wert Inhalt des zu lesenden Registers (8 Bit) Bemerkung Dies sollte nur von erfahrenen Programmieren benutzt werden.
Seite 390
5.18.2. DapiReadWord Beschreibung Dieser Befehl führt einen direkten Register Lese-Befehl auf das Modul aus. Definition ULONG DapiReadWord(ULONG handle, ULONG adress); Parameter handle=Dies ist das Handle eines geöffneten Moduls adress=Adresse, auf die zugegriffen werden soll Return-Wert Inhalt des zu lesenden Registers (16 Bit) Bemerkung Dies sollte nur von erfahrenen Programmieren benutzt werden.
Seite 391
5.18.3. DapiReadLong Beschreibung Dieser Befehl führt einen direkten Register Lese-Befehl auf das Modul aus. Definition ULONG DapiReadLong(ULONG handle, ULONG adress); Parameter handle=Dies ist das Handle eines geöffneten Moduls adress=Adresse, auf die zugegriffen werden soll Return-Wert Inhalt des zu lesenden Registers (32 Bit) Bemerkung Dies sollte nur von erfahrenen Programmieren benutzt werden.
Seite 392
5.18.4. DapiReadLongLong Beschreibung Dieser Befehl führt einen direkten Register Lese-Befehl auf das Modul aus. Definition ULONGLONG DapiReadLongLong(ULONG handle, ULONG adress); Parameter handle=Dies ist das Handle eines geöffneten Moduls adress=Adresse, auf die zugegriffen werden soll Return-Wert Inhalt des zu lesenden Registers (64 Bit) Bemerkung Dies sollte nur von erfahrenen Programmieren benutzt werden.
Seite 393
5.19. DELIB Overview Table Commands Available for DAPI_SPECIAL_CMD_SET_DIR_DX_1 USB-MINI-TTL8 DAPI_SPECIAL_CMD_SET_DIR_DX_8 USB-MINI-TTL8 USB-TTL32, USB-TTL64, ETH-TTL64 DAPI_SPECIAL_CMD_GET_DIR_DX_1 wird nicht unterstützt DAPI_SPECIAL_CMD_GET_DIR_DX_8 wird nicht unterstützt Befehle Verfügbar Geht nicht bei für DAPI_SPECIAL_CMD_TIMEOUT USB-Mini-Stick ETH-TTL64 DAPI_SPECIAL_TIMEOUT_DO_VALUE_MASK_WR_SET USB-TTL-64 ETH- DAPI_SPECIAL_TIMEOUT_DO_VALUE_MASK_RD_SET3 RELAIS8 DAPI_SPECIAL_TIMEOUT_DO_VALUE_MASK_WR_CLR USB- RELAIS8 DAPI_SPECIAL_TIMEOUT_DO_VALUE_MASK_RD_CLR3 RO-SERIE DAPI_SPECIAL_TIMEOUT_DO_VALUE_LOAD_DEFAULT BS-SERIE...