Herunterladen Inhalt Inhalt Diese Seite drucken
Inhaltsverzeichnis

Werbung

USB-TTL-32 / USB-TTL-64
Hardware-Beschreibung
2021
September

Werbung

Inhaltsverzeichnis
loading

Inhaltszusammenfassung für Deditec USB-TTL-32

  • Seite 1 USB-TTL-32 / USB-TTL-64 Hardware-Beschreibung 2021 September...
  • Seite 2: Inhaltsverzeichnis

    2.2.1. Schritt 1 - Installation der Software und Treiber 2.2.2. Schritt 2 - Anschluss des Moduls 2.2.3. Schritt 3 - Test der Verbindung und des Moduls 2.3. Technische Daten 2.4. Übersichtsbilder 2.4.1. Übersichtsbild USB-TTL-32 2.4.2. Übersichtsbild USB-TTL-64 2.5. Blockschaltbilder 2.5.1. Blockschaltbild USB-TTL-32 2.5.2. Blockschaltbild USB-TTL-64 2.6.
  • Seite 3 INDEX 3.1.4.2. DELIB CLI Beispiele 3.1.5. Ansteuerung über grafische Anwendungen 3.1.5.1. LabVIEW 3.1.5.2. ProfiLab 3.1.5.3. Licht24 Pro 3.1.6. Einbinden der DELIB in Programmiersprachen 3.1.6.1. Einbinden der DELIB in Visual-C/C++ 3.1.6.2. Einbinden der DELIB in Visual-C/C++ (Visual Studio 2015) 3.1.6.3. Einbinden der DELIB in Visual-C# 3.1.6.4.
  • Seite 4 3.2.4.4. Digital Output 3.2.5. DELIB Module Config 3.2.5.1. Netzwerkeinstellungen 3.2.5.2. Benutzerverwaltung 3.2.5.3. Serielle Konfiguration 3.2.6. DT-Flasher 3.2.6.1. Über DEDITEC-Firmware 3.2.6.2. Auswahl des Moduls 3.2.6.3. Firmware Update durchführen 3.2.6.3.1. Flash-Files manuell aktualiseren 3.3. DELIB Sample Sources (Windows Programmbeispiele) 3.3.1. Installation DELIB Sample Sources 3.3.2.
  • Seite 5 INDEX 4.1.2. DapiCloseModule 4.1.3. DapiGetDELIBVersion 4.1.4. DapiSpecialCMDGetModuleConfig 4.1.5. DapiOpenModuleEx 4.2. Fehlerbehandlung 4.2.1. DapiGetLastError 4.2.2. DapiGetLastErrorText 4.2.3. DapiClearLastError 4.2.4. DapiGetLastErrorByHandle 4.2.5. DapiClearLastErrorByHandle 4.3. Digitale Eingänge lesen 4.3.1. DapiDIGet1 4.3.2. DapiDIGet8 4.3.3. DapiDIGet16 4.3.4. DapiDIGet32 4.3.5. DapiDIGet64 4.3.6. DapiDIGetFF32 4.3.7. DapiDIGetCounter 4.3.8. DapiSpecialCounterLatchAll 4.3.9.
  • Seite 6 INDEX 4.4.7. DapiDOReadback32 4.4.8. DapiDOReadback64 4.4.9. DapiDOSetBit32 4.4.10. DapiDOClrBit32 4.5. TTL-Ein-/Ausgangs Richtungen setzen mit DapiSpecialCommand 4.5.1. DAPI_SPECIAL_CMD_SET_DIR_DX_1 4.5.2. DAPI_SPECIAL_CMD_SET_DIR_DX_8 4.6. Ausgabe-Timeout verwalten 4.6.1. DapiSpecialCMDTimeout 4.6.1.1. DapiSpecialTimeoutSetValueSec 4.6.1.2. DapiSpecialTimeoutActivate 4.6.1.3. DapiSpecialTimeoutActivateAutoReactivate 4.6.1.4. DapiSpecialTimeoutActivateSecureOutputs 4.6.1.5. DapiSpecialTimeoutDeactivate 4.6.1.6. DapiSpecialTimeoutGetStatus 4.6.1.7. DapiSpecialTimeoutDoValueMaskWRSet32 4.6.1.8. DapiSpecialTimeoutDoValueMaskRDSet32 4.6.1.9.
  • Seite 7 INDEX 4.9.4. DapiReadLongLong 4.10. Delib Übersichtstabelle 5. Anhang 5.1. Revisionen 5.2. Urheberrechte und Marken Index | Seite...
  • Seite 8: Einleitung

    Einleitung Einleitung | Seite...
  • Seite 9: Vorwort

    1. Einleitung 1.1. Vorwort Wir beglückwünschen Sie zum Kauf eines hochwertigen DEDITEC Produktes! Unsere Produkte werden von unseren Ingenieuren nach den heutigen geforderten Qualitätsanforderungen entwickelt. Wir achten bereits bei der Entwicklung auf flexible Erweiterbarkeit und lange Verfügbarkeit. Wir entwickeln modular! Durch eine modulare Entwicklung verkürzt sich bei uns die...
  • Seite 10: Kundenresonanz

    1.3. Kundenresonanz Die besten Produkte wachsen mit unseren Kunden. Für Anregungen oder Vorschläge sind wir jederzeit dankbar. Einleitung | Seite...
  • Seite 11: Hardware Beschreibung

    Hardware Beschreibung Hardware Beschreibung | Seite...
  • Seite 12: Einführung

    2. Hardware Beschreibung 2.1. Einführung Das USB-TTL-32 und das USB-TTL-64 finden dort Einsatz, wo über den USB-Bus direkt auf TTL-Ein- bzw. Ausgänge zugegriffen werden soll. Durch die mitgelieferte Treiberbibliothek ist ein einfaches Ansprechen der Module möglich. Die TTL-Ein/Ausgänge können in 8-er Blöcken als Ein- oder Ausgang per Software programmiert werden.
  • Seite 13: Kurzanleitung Installation

    2.2.3. Schritt 3 - Test der Verbindung und des Moduls Im Startmenü finden Sie unter "Start -> Alle Programme -> DEDITEC -> DELIB -> Sample Programs" Beispiel-Programme um Ihr Modul zu testen. Hardware Beschreibung | Seite...
  • Seite 14: Technische Daten

    USB-Activity-LED (Signalisiert, dass eine Signalverarbeitung über den USB-Bus stattfindet) Betriebstemperatur 10°C..+50°C Abmessungen 90 mm x 77 mm x 42 mm (L x B x H) Produktspezifische Daten: Produkt TTL-I/O's Steckverbinder USB-TTL-32 1*37 polige D-Sub Buchse USB-TTL-64 2*37 polige D-Sub Buchse Hardware Beschreibung | Seite...
  • Seite 15: Übersichtsbilder

    2.4. Übersichtsbilder 2.4.1. Übersichtsbild USB-TTL-32 Hardware Beschreibung | Seite...
  • Seite 16: Übersichtsbild Usb-Ttl

    2.4.2. Übersichtsbild USB-TTL-64 Hardware Beschreibung | Seite...
  • Seite 17: Blockschaltbilder

    2.5. Blockschaltbilder 2.5.1. Blockschaltbild USB-TTL-32 Hardware Beschreibung | Seite...
  • Seite 18: Blockschaltbild Usb-Ttl

    2.5.2. Blockschaltbild USB-TTL-64 Hardware Beschreibung | Seite...
  • Seite 19: Spannungspegel Der Ttl-I/O's Konfigurieren

    2.6. Spannungspegel der TTL-I/O's konfigurieren TTL Pegel von 1,8V bis 5V: Standardmäßig können Sie TTL Pegel wahlweise von 3,3V oder 5V über eine jeweilige Jumperbelegung einstellen. Entfernen Sie die Jumper auf dem Modul, so können Sie eine eigene Spannung von 1,8V bis 5V an die TTL-I/O's des Moduls anlegen.
  • Seite 20: Pinbelegung

    2.7. Pinbelegung 2.7.1. J1 - Pinbelegung USB-TTL-I/O 0-31 Belegung Belegung I/O 16 I/O 17 I/O 18 I/O 19 I/O 20 I/O 21 I/O 22 I/O 23 I/O 24 I/O 25 I/O 26 I/O 27 I/O 28 I/O 29 I/O 30 I/O 31 I/O 0 I/O 1...
  • Seite 21: Anmerkung

    Belegung Belegung I/O 6 I/O 7 I/O 8 I/O 9 I/O 10 I/O 11 I/O 12 I/O 13 I/O 14 I/O 15 VIN 0-15 VIN 16-31 Anmerkung: Der VIN-Pin dient dazu, eine eigene Spannung an die TTL-I/O's des Moduls zu legen. Diese Spannung kann zwischen 1,8V und 5V liegen.
  • Seite 22: J2 - Pinbelegung Usb-Ttl-I/O 32

    2.7.2. J2 - Pinbelegung USB-TTL-I/O 32-63 Belegung Belegung I/O 48 I/O 49 I/O 50 I/O 51 I/O 52 I/O 53 I/O 54 I/O 55 I/O 56 I/O 57 I/O 58 I/O 59 I/O 60 I/O 61 I/O 62 I/O 63 I/O 32 I/O 33 I/O 34*...
  • Seite 23 Belegung Belegung I/O 36* I/O 37 I/O 38 I/O 39 I/O 40 I/O 41 I/O 42 I/O 43 I/O 44 I/O 45 I/O 46 I/O 47 VIN 32-47 VIN 48-63 Anmerkung: Der VIN-Pin dient dazu, eine eigene Spannung an die TTL-I/O's des Moduls zu legen. Diese Spannung kann zwischen 1,8V und 5V liegen.
  • Seite 24 Software Software | Seite...
  • Seite 25: Software

    3. Software 3.1. Benutzung unserer Produkte 3.1.1. Ansteuerung über unsere DELIB Treiberbibliothek Im Lieferumfang unserer DELIB Treiberbibliothek ist die DELIB- API und diverse Programme zur Konfiguration Test unserer Produkte enthalten. Die API bietet Ihnen Zugriff auf alle Funktionen die Sie zur Kommunikation mit unseren Produkten benötigen.
  • Seite 26 Diese Protokolle können ohne unsere DELIB Treiberbibliothek auf Geräten mit entsprechender Schnittstelle verwendet werden. Der Weg über unsere Protokolle sind Betriebssystem unabhängig. Unser Handbuch Protokolle & Registerbelegung finden Sie hier: Download PDF: http://www.deditec.de/pdf/ manual_d_deditec_communication_protocols.pdf Online HTML-Manual: http://manuals.deditec.de/de/ manual_deditec_communication_protocols/index.html Dieses Handbuch bietet eine komplette Übersicht über die benötigten Registeradressen unsere Module sowie den Aufbau...
  • Seite 27: Delib Cli (Command-Line Interface) Für Windows

    Der DELIB CLI Befehl für Windows befindet sich nach der Installation DELIB-Treiberbibliothek Verzeichnis \Programme\DEDITEC\DELIB\programs\cli\ . Definition (Windows) delib_cli command channel [value | unit ["nounit"] ] Hinweis: Die einzelnen Parameter werden nur durch ein Leerzeichen getrennt. Groß und Kleinschreibung wird hierbei nicht beachtet.
  • Seite 28 Parameter Befehl Kanal Wert unit nounit 0, 1, 2, ... nounit 0, 8, 16, ... di16 di32 0, 32, ... nounit 0, 1, 2, ... 0/1 (1-Bit Befehl) 8-Bit Wert (Bit 0 für Kanal 16-Bit do16 0, 8, 16, ... 1, Bit 1 für Wert Kanal 2, ...)
  • Seite 29 Return-Wert Zustand der gelesenen digitalen Eingänge In Kombination mit Parameter unit "hex" wird der Zustand als hex gelesen Zustand der FlipFlips der digitalen Eingänge In Kombination mit Parameter unit "hex" wird der Zustand als hex gelesen Zustand der gelesenen analogen Eingänge In Kombination mit Parameter unit "hex"...
  • Seite 30: Konfiguration Des Delib Cli

    Vor der ersten Verwendung des DELIB CLI muss die "delib_cli.cfg" mit einem Texteditor bearbeitet werden. Konfiguration unter Windows Unter Windows befindet sich die "delib_cli.cfg" nach der Installation der DELIB-Treiberbibliothek im Verzeichnis "C: \Programme\DEDITEC\DELIB\programs\cli\". Inhalt der "delib_cli.cfg": moduleID=14; moduleNR=0; RO-ETH_ipAddress=192.168.1.11; moduleID Als moduleID muss die entsprechende Nummer der eingesetzten Hardware eingetragen werden.
  • Seite 31: Delib Cli Beispiele

    RO-ETH_ipAddress Dieser Eintrag wird ausschließlich für die Verbindung zu unseren ETH Modulen benötigt. Die IP-Adresse der ETH Module können über das DELIB Configuration Utility sowie über die Weboberfläche des Moduls eingestellt werden. 3.1.4.2. DELIB CLI Beispiele Digitale Ausgänge delib_cli DO1 17 1 ->...
  • Seite 32 Digitale Eingänge delib_cli DI1 3 Beispiel eines Rückgabewertes: 1 -> lese den Zustand des 4. digitalen Eingangs und gebe ihn zurück delib_cli DI8 0 hex Beispiel eines Rückgabewertes: 0xC8 (auf den Kanälen 4, 7 und 8 liegt ein Signal an) ->...
  • Seite 33 Analoge Ausgänge delib_cli AO 7 4711 -> setzt den dezimalen Wert 4711 auf den 8. analogen Ausgang delib_cli AO 6 0x4711 -> setzt den hexadezimalen Wert 0x4AF1 auf den 7. analogen Ausgang delib_cli AO 7 3.7V -> setzt die Spannung des 8. analogen Ausgangs auf 3,7 Volt (sowohl Komma ","...
  • Seite 34: Ansteuerung Über Grafische Anwendungen

    3.1.5. Ansteuerung über grafische Anwendungen 3.1.5.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 Software | Seite...
  • Seite 35: Profilab

    3.1.5.2. ProfiLab Die ProfiLab Software der Firma Abacom unterstützt eine große Anzahl unserer Steuer- & Regelungstechnik Produkte. Link zum Hersteller: http://www.abacom-online.de/html/profilab- expert.html Die folgenden I/Os werden unterstützt. Digitale Ein-/Ausgänge - Relais - MOSFET - Optokoppler - Bistabile-Relais Analoge Ein-/Ausgänge - Analog zu digital Wandler - Digital zu analog Wandler TTL-I/Os - 8/32/64 TTL-Kanäle...
  • Seite 36: Licht24 Pro

    3.1.5.3. Licht24 Pro Die Licht24 Pro Software der Firma bksoft unterstützt ebenfalls eine hohe Anzahl unserer Produkte. Mehr Informationen finden Sie unter: http://www.bksoft.de/ licht24pro.htm Software | Seite...
  • Seite 37: Einbinden Der Delib In Programmiersprachen

    Zur Erleichterung für Verweise auf das DELIB-Include und das DELIB-Lib Verzeichnis werden installation DELIB Umgebungsvariablen definiert. DELIB_LIB = C:\Programme\DEDITEC\DELIB\lib DELIB_INCLUDE = C:\Programme\DEDITEC\DELIB\include Diese werden im Folgenden in den Projekteinstellungen des Compilers eingetragen. Visual-C/C++ Starten und im Menue "Projekt -> Einstellungen" öffnen. Software | Seite...
  • Seite 38 DELIB.H Eintrag in den Visual-C/C++ Projekt Einstellungen Unter dem Reiter "C/C++" die "Kategorie" Präprozessor auswählen unter "Zusätzliche Include Verzeichnisse" "$(DELIB_INCLUDE)" eintragen. Software | Seite...
  • Seite 39 DELIB.LIB Eintrag Visual-C/C++ Projekt Einstellungen Unter dem Reiter "Linker" bei "Objekt-/Bibliothek-Module" die vorhandene Zeile Endung "$(DELIB_LIB)\delib.lib" erweitern. Software | Seite...
  • Seite 40: Einbinden Der Delib In Visual-C/C++ (Visual Studio 2015)

    DELIB-Lib Verzeichnis werden installation DELIB Umgebungsvariablen definiert. 32 Bit DELIB Installation DELIB_LIB = C:\Programme\DEDITEC\DELIB\lib DELIB_INCLUDE = C:\Programme\DEDITEC\DELIB\include 64 Bit DELIB Installation DELIB64_LIB = C:\Programme\DEDITEC\DELIB64\lib DELIB64_INCLUDE = C:\Programme\DEDITEC\DELIB64\include Diese werden im Folgenden in den Projekteinstellungen des Compilers eingetragen. Visual-C/C++ Starten und im Menue "Projekt -> Eigenschaften"...
  • Seite 41 Software | Seite...
  • Seite 42 DELIB.H Eintrag in den Visual-C/C++ Projekt Einstellungen Unter dem Reiter "C/C++" die "Kategorie" Allgmein auswählen und unter "Zusätzliche Include Verzeichnisse" "$(DELIB_INCLUDE)" eintragen. Software | Seite...
  • Seite 43 DELIB.LIB Eintrag Visual-C/C++ Projekt Einstellungen Unter dem Reiter "Linker" bei "Allgmein" muss "$(DELIB_LIB) \delib.lib" eingetragen werden. Software | Seite...
  • Seite 44: Einbinden Der Delib In Visual-C

    3.1.6.3. Einbinden der DELIB in Visual-C# Die benötigte Datei für Visual-C# befindet sich im Verzeichnis C:\Programme\DEDITEC\DELIB\include. Visual-C# starten und über das Menue "Projekt -> Vorhandenes Element hinzufügen" Verzeichnis \Programme\DEDITEC\DELIB\include\ die Datei delib.cs Importieren öffnen. Folgenden Verweis in Ihrem Programm hinzufügen: using DeLib; Software | Seite...
  • Seite 45: Einbinden Der Delib In Delphi

    3.1.6.4. Einbinden der DELIB in Delphi Die benötigte Datei für Delphi befindet sich im Verzeichnis C:\Programme\DEDITEC\DELIB\include. Delphi starten und über das Menue "Projekt -> dem Projekt hinzufügen" Verzeichnis \Programme\DEDITEC\DELIB\include\ die Datei delib.pas Importieren öffnen. Software | Seite...
  • Seite 46: Einbinden Der Delib In Visual-Basic (Vb)

    3.1.6.5. Einbinden der DELIB in Visual-Basic (VB) Die benötigte Datei für Visual-Basic befindet sich im Verzeichnis C:\Programme\DEDITEC\DELIB\include. Visual Basic starten und über das Menue "Projekt -> Datei hinzufügen..." Verzeichnis \Programme\DEDITEC\DELIB\include\ die Datei delib.bas Importieren öffnen. Software | Seite...
  • Seite 47: Einbinden Der Delib In Visual-Basic.net (Vb.net)

    3.1.6.6. Einbinden der DELIB in Visual-Basic.NET (VB.NET) Die benötigte Datei für VB.NET befindet sich im Verzeichnis C:\Programme\DEDITEC\DELIB\include. VB.NET starten und über das Menue "Projekt -> Vorhandenes Element hinzufügen" Verzeichnis \Programme\DEDITEC\DELIB\include\ die Datei delib.vb Importieren öffnen. Software | Seite...
  • Seite 48: Einbinden Der Delib In Ms-Office (Vba)

    3.1.6.7. Einbinden der DELIB in MS-Office (VBA) Die benötigte Datei für VBA befindet sich im Verzeichnis C:\Programme\DEDITEC\DELIB\include. Microsoft Excel starten und über das Menue "Extras -> Makro -> Visual Basic Editor" öffnen. Software | Seite...
  • Seite 49 Erstellen der UserForm Ein neues Arbeitsblatt (UserForm) über das Menue "Einfügen -> UserForm" erstellen. Oben links im Projektmanager einen Rechtsklick auf "UserForm -> Datei importieren". Im Verzeichnis C:\Programme\DEDITEC\DELIB\include die Datei delib.bas importieren öffnen. Software | Seite...
  • Seite 50: Einbinden Der Delib In Labview

    LabVIEW Entwicklungsumgebung Beschreibung der Einbindung der "delib.dll" in LabVIEW Version 11 - Die benötigten Dateien für LabVIEW befinden sich im Verzeichnis C:\Windows\System32\delib.dll und in C:\Programme\DEDITEC\DELIB\include\delib.h - LabVIEW starten und folgende Option auswählen "Werkzeuge -> Importieren -> DLL ..." Software | Seite...
  • Seite 51 Software | Seite...
  • Seite 52 - Wählen sie den Punkt "VIs für DLL erstellen" und drücken Sie auf "Weiter" Software | Seite...
  • Seite 53 - Im nächsten Fenster über die Browse-Buttons den Speicherort der .DLL und der .H Datei angeben und mit "Weiter" fortfahren. Software | Seite...
  • Seite 54 - Nochmals auf "Weiter" klicken um fortzufahren. - Die Header-Datei wird nun analysiert. Anschließend fahren sie im folgendem Fenster wieder mit "Weiter" fort. Software | Seite...
  • Seite 55 - Den weiteren Anweisungen folgen, bzw. die Konfiguration und den Speicherort für die VIs anpassen. Software | Seite...
  • Seite 56 - Im folgendem Fenster wählen sie im Drop-Down Menü die Option "Einfache Fehlerbehandlung" aus und fahren mit "Weiter" fort. Software | Seite...
  • Seite 57 - Bei VIs die mit 64-bit Werten arbeiten, muss die Darstellung von "Vorzeichenloses Long" in "Vorzeichenloses Quad" geändert werden. - Folgende VIs müssen bearbeitet werden: -> DapiCNT48CounterGet48 (function return) -> DapiDIGet64 (function return) -> DapiDOSet64 (data) -> DapiDOReadBack64 (function return) Software | Seite...
  • Seite 58 - Bei manchen VIs muss zusätzlich noch der Elementtyp auf "Numerisch" geändert werden und anschließend die Darstellung auf "Vorzeichenloses Quad" - Folgende VIs müssen bearbeitet werden: -> DapiWriteLongLong (value) -> DapiReadLongLong (function return) - Anschließend mit "Weiter" fortfahren. Software | Seite...
  • Seite 59 - Es erscheint eine Zusammenfassung der ausgeführten Schritte - Zum fortfahren auf "Weiter" drücken. - Die VIs werden nun erzeugt und können verwendet werden. Software | Seite...
  • Seite 60: Verwendung Der Vis In Labview

    3.1.6.8.2. Verwendung der VI s in LabVI E W In unseren Beispielprogrammen werden bei manchen Funktionen sogenannte Defines als Übergabeparameter verwendet. Diese Defines werden in LabVIEW nicht unterstützt. Dieses Beispiel soll zeigen, wie solche Funktionen in LabVIEW genutzt werden können. Als Beispiel dient uns hierbei die Funktion zur Konfiguration des Spannungsbereiches eines A/D Wandlers.
  • Seite 61 Datei finden sie nach der Installation der DELIB Treiberbibliothek Verzeichnis \Programme\Deditec\DELIB\Include Software | Seite...
  • Seite 62 In LabVIEW könnte die Funktion dann so aussehen: Software | Seite...
  • Seite 63: Setzen Der Modul-Id In Labview

    Als Parameter für moduleID wird überlicherweise die Modul-ID (z.B. "RO_ETH") des verwendeten Moduls übergeben. Eine Übersicht aller möglichen Modul-IDs kann der Datei "delib.h" entnommen werden. delib.h finden Sie nach der Installation der DELIB Treiberbibliothek im Verzeichnis C:\Programme\Deditec\DELIB\Include Software | Seite...
  • Seite 64 Beispiel in C: handle = DapiOpenModule(RO_ETH, 0); // öffnet ein RO-ETH-Modul mit Modul-Nr Alternativ kann man auch folgende Schreibweise verwenden: handle = DapiOpenModule(8, 0); Da es in LabVIEW nicht möglich ist, diese "C-Defines" als Parameter für die Funktion DapiOpenModule zu übergeben, muss hier die alternative Schreibweise verwendet werden.
  • Seite 65: Einbinden Der Delib In Java

    3.1.6.9. Einbinden der DELIB in Java Die benötigten Dateien für Java befinden sich, je nach DELIB- Installation, in folgendem Verzeichnis C:\Program Files (x86)\DEDITEC\DELIB\include\DelibJava (32 Bit Installation) C:\Program Files\DEDITEC\DELIB64\\include\DelibJava (64 Bit Installation) Wird Eclipse verwendet, kann der DelibJava-Ordner einfach per Drag&Drop dem Projekt hinzugefügt werden.
  • Seite 66: Delib Treiberbibliothek

    3.2. DELIB Treiberbibliothek DELIB-Treiberbibliothek enthält DELIB-API verschiedene Programme für den Konfigurationstest unserer Produkte. Über die API haben Sie Zugriff auf alle Funktionen, die Sie zur Kommunikation mit unseren Produkten benötigen. In dem Kapitel DELIB API Referenz finden Sie alle Funktionen unserer Treiberbibliothek erklärt und mit Anwendungsbeispielen versehen.
  • Seite 67: Übersicht

    Die folgende Abbildung erläutert den Aufbau der DELIB Treiberbibliothek DELIB Treiberbibliothek ermöglicht einheitliches Ansprechen von DEDITEC Hardware, mit der besonderen Berücksichtigung folgender Gesichtspunkte: Betriebssystem unabhängig Programmiersprachen unabhängig Produkt unabhängig Diese Versionen der Treiberbibliothek bieten wir an: 32/64-Bit DELIB Treiberbibliothek für Windows 32/64-Bit DELIB Treiberbibliothek für Linux...
  • Seite 68 DELIB Treiberbibliothek ETH Während die DELIB für ALLE Produkte zur Verfügung steht, werden bei der DELIB-ETH auf keine weiteren Treiber zugegriffen (wie z.B. USB). Dies bedeutet, dass die DELIB-ETH nicht installiert werden muss. Kunden, die eigene Applikationen schreiben, müssen nicht mehr ein eigenes SETUP erstellen, welches auch z.B.
  • Seite 69 Software | Seite...
  • Seite 70: Unterstützte Programmiersprachen

    3.2.1.1. Unterstützte Programmiersprachen Die folgenden Programmiersprachen werden von der DELIB- Treiberbibliothek unterstützt: Delphi VisualBasic VB.NET MS-Office (VBA) Java (Plattformunabhänig, nur für Ethernet-Produkte) Java JNI (nur für Windows, alle Produkte werden unterstützt) Falls Programmiersprache/Entwicklungsumgebung vorgesehen, unterstützen wir sowohl 32-Bit als auch 64-Bit Projekte.
  • Seite 71: Unterstützte Betriebssysteme

    3.2.1.2. Unterstützte Betriebssysteme folgende Betriebssysteme sind unserer DELIB- Treiberbibliothek kompatibel: 32-Bit: Windows 10 Windows 7 Windows 8 Windows Server 2012 Windows Server 2008 Windows Vista Windows XP Windows Server 2003 Windows 2000 Linux 64-Bit: Windows 10 x64 Windows 7 x64 Windows 8 x64 Windows Server 2012 x64 Windows Server 2008 x64...
  • Seite 72: Sdk-Kit Für Programmierer

    3.2.1.3. SDK-Kit für Programmierer Integrieren Sie die DELIB in Ihre Anwendung. Auf Anfrage erhalten Sie von uns kostenlos Installationsskripte, die es ermöglichen, die DELIB Installation in Ihre Anwendung mit einzubinden. Software | Seite...
  • Seite 73: Delib Setup

    Funktionstest für unsere verschiedenen Produkte geführt. Die aktuelle Version des DELIB Setups finden Sie auf unserer Homepage zum Download. Link: http://www.deditec.de/de/downloads/delib-treiber- bibliothek.html Das DELIB Setup führt Sie Schritt für Schritt durch die Installation der DELIB Treiberbibliothek einschliesslich der Konfiguration und Inbetriebnahme der Produkte.
  • Seite 74 Das DELIB Setup prüft das Betriebssystem und ob bereits Versionen der DELIB Treiberbibliothek installiert sind. Anschliessend können Sie wählen ob Sie die 32-Bit oder 64-Bit Version der DELIB Treiberbibliothek installieren möchten. Software | Seite...
  • Seite 75 Installationsfortschritt der Treiberbibliothek. Software | Seite...
  • Seite 76 Zusätzlich können wählen, DELIB- Beispielprogramme installieren. Software | Seite...
  • Seite 77 Installationsfortschritt der DELIB-Beispielprogramme. Software | Seite...
  • Seite 78 Für den Abschluss der Installation wird das Programm neu gestartet. Im nächsten Schritt, wird mit dem DELIB Configuration Utility das Produkt konfiguriert und getestet. Software | Seite...
  • Seite 79: Delib Configuration Utility

    Das DELIB Configuration Utility ist in der Installation der DELIB Treiberbibliothek enthalten. Standardpfad: 32-Bit: C:\Program Files (x86)\DEDITEC\DELIB\programs\delib- configuration-utility.exe 64-Bit: C:\Program Files\DEDITEC\DELIB64\programs\delib- configuration-utility_x64.exe Sie können das DELIB Configuration Utility auch über das Startmenü unter "Alle Programme" -> "DEDITEC" -> "DELIB Configuration Utility" öffnen. Software | Seite...
  • Seite 80: Neue Konfiguration Erstellen Oder Vorhandene Konfiguration Bearbeiten

    3.2.3.2. Neue Konfiguration erstellen oder vorhandene Konfiguration bearbeiten Für eine neue Konfiguration wählen Sie in der linken Auswahlbox unter "Neues Modul" die gewünschte Schnittstelle aus. Möchten Sie eine bestehende Konfiguration bearbeiten, finden Sie rechts die Auswahlbox der vorhandenen Konfigurationen. Software | Seite...
  • Seite 81: Modul Konfiguration Usb

    3.2.3.2.1. Modul Konfigurat ion USB Die Konfiguration von USB-Modulen ist nur nötig, um mehrere Module einer USB-Produktfamilie (z.B. 2x USB-RELAIS-8) in einem System verwenden zu können. Befindet sich nur ein USB-Modul, oder mehrere USB-Module aus unterschiedlichen Produktfamilien (z.B. RO-USB-O16 und USB- RELAIS-8) im System, ist keine Konfiguration nötig, da die...
  • Seite 82 "Aktuelle Modul-Nr" bezieht sich auf die im Modul gespeicherte Modul Nummer. Diese Nummer dient Identifikation muss für identische USB-Produkte unterschiedlich konfiguriert werden. Mit dem Punkt "Neue Module-Nr" kann dem Produkt eine neue Nummer zwischen zugewiesen werden. Auslieferungszustand haben alle Produkte die Modul-Nr. 0. "Neue Module-Nr.
  • Seite 83: 2.1.1Beispiel Zur Konfiguration Identischer Usb-Module

    3.2.3.2.1.1. Beispiel z ur Konfigurat ion ident ischer USB- Module Um mehrere identische USB-Module (USB-Module mit gleicher Modul-ID) in einem System verwenden zu können, muss jedem Modul mit dem DELIB Configuration Utility eine eindeutige Modul-Nr. zugeordnet werden. Befindet sich nur ein USB-Modul, oder mehrere USB-Module mit unterschiedlicher Modul-ID (z.B.
  • Seite 84 Software | Seite...
  • Seite 85 Schritt 2 Sind mehrere USB-Module verschiedener DEDITEC-USB-Serien angeschlossen, muss in diesem Schritt die entsprechende Produktfamilie ausgewählt werden. In diesem Beispiel sind Module der RO-USB2-Serie und USB-OPT/ REL-8-Serie angeschlossen. Dieser Schritt entfällt, wenn die angeschlossenen Module der gleichen Serie angehören. Software | Seite...
  • Seite 86 Schritt 3 1. Wählen Sie das entsprechende USB-Modul aus. 2. Ändern Neue Modul-Nr. "1". Auslieferungszustand ist diese Nummer bereits mit "0" vordefiniert. 3. Mit Neue Modul-Nr. setzen wird die neue Module-Nr. im Modul gespeichert. Software | Seite...
  • Seite 87 Software | Seite...
  • Seite 88 Schritt 4 Schließen Sie nun zusätzlich das zweite USB-OPTOIN-8 an den PC Da im Auslieferungszustand die Modul-Nr bereits mit "0" vordefiniert, und somit unterschiedlich zur Modul-Nr des ersten Moduls (Module-Nr = 1) ist, sind beide Module konfiguriert und betriebsbereit. Aktualisieren werden nun beide Module angezeigt Software | Seite...
  • Seite 89: Ansprechen Des Usb-Optoin-8 Mit Der Nr

    Schritt 5 Nachfolgend, finden Sie Hinweise, was bei der Programmierung der beiden Module beachten werden muss. Alle Module werden einheitlich mit dem Befehl DapiOpenModule geöffnet. Dieser Befehl ist wie folgt definiert: ULONG DapiOpenModule(ULONG moduleID, ULONG nr); Ansprechen des USB-OPTOIN-8 mit der NR 0 ulong handle;...
  • Seite 90: Modul Testen

    3.2.3.3. Modul testen Nachdem die Konfiguration der Schnittstelle durchgeführt wurde, kann anschließend das Produkt getestet werden. Software | Seite...
  • Seite 91 Test der Firmware und Anzeige der Modul-Info. Software | Seite...
  • Seite 92 Die Modul-Info zeigt alle Eigenschaften des Produktes. Neben der Anzahl der vorhandenen I/Os werden auch die unterstützten Software-Features angezeigt. Software | Seite...
  • Seite 93 Es folgt ein Test der I/Os. In diesem Beispiel werden die digitalen Ausgänge geschaltet. Wurden alle Tests erfolgreich durchlaufen, ist das Produkt einsatzbereit. Software | Seite...
  • Seite 94: Debug Optionen Einstellen

    3.2.3.4. Debug Optionen einstellen Über den Knopf "Debug Ausgabe Optionen" gelangen Sie in das folgende Optionsmenü. Dort können Sie einstellen, welche Debugausgaben Sie ein- oder ausschalten möchten. Software | Seite...
  • Seite 95: Delib Module Demo

    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 96: Auswahl Des Moduls

    3.2.4.1. Auswahl des Moduls Bei Programmstart muss ein Modul ausgewählt werden. 1. Klicken Sie den "Module-Selector" an. Sie erhalten eine Auflistung der verfügbaren/angeschlossenen Module. 2. Wählen Sie nun das gewünschte Modul aus. Software | Seite...
  • Seite 97: Allgemein

    3.2.4.2. Allgemein 1. Timeout-Status ("Disabled", "Enabled" oder "Occured"). 2. Aktiviert oder deaktiviert den Timeout-Schutz. 3. Timeout-Zeit für den Timeout-Schutz. 4. Status für "Automatic read/write" (Blinkt, wenn "Automatic read/write" aktiviert ist). 5. Mit dem Haken bei "Automatic read/write" wird festgelegt, ob die Messdaten automatisch gelesen/geschrieben werden sollen.
  • Seite 98: Module Info

    8. Sofern vom Modul unterstützt, erhalten Sie hierüber detaillierte Debug-Informationen. Hierüber erhalten detailierte Informationen ausgewähltem Modul. 10. Kommunikations-Status mit dem ausgewähltem Modul. 3.2.4.2.1. Module I nfo Dieses Beispiel zeigt die erweiterten Informationen des Moduls RO-SER-O16-M16. 1. Allgemeine Informationen des ausgewählten Moduls. 2.
  • Seite 99: Digital Input

    3.2.4.3. Digital Input Dieses Beispiel zeigt die digitalen Eingänge eines RO-SER-O16 Moduls. 1. Auswahl des Kanal-Bereichs, der angezeigt werden soll. 2. Mit dem Haken bei "Read with reset" wird festgelegt, ob die Zähler beim nächsten Lesen resettet werden. 3. Zählerstände der Eingangszähler. 4.
  • Seite 100: Digital Output

    3.2.4.4. Digital Output Dieses Beispiel zeigt die digitalen Ausgänge eines RO-SER-M32 Moduls. 1. Auswahl des Kanal-Bereichs, der angezeigt werden soll. 2. Hiermit werden alle Ausgänge des aktuellen Kanal-Bereichs ein- bzw. ausgeschaltet. Hier können bestimme Ausgänge gezielt ein- bzw. ausgeschaltet werden. Software | Seite 100...
  • Seite 101: Delib Module Config

    3.2.5. DELIB Module Config Die DELIB Module Config ist eine neue Anwendung zur Konfiguration unserer Produkte. Dieses Programm ist im Installationspaket unserer DELIB Treiberbibliothek enthalten. 3.2.5.1. Netzwerkeinstellungen Hier können Sie die Netzwerkeinstellungen des ausgewählten Ethernet-Produktes ändern. Board Name Der Board Name kann zur Geräteidentifizierung genutzt werden. Ist DHCP aktiv, wird der Board Name als Hostname verwendet.
  • Seite 102: Netzwerkkonfiguration Schützen

    Netzwerkkonfiguration schützen Wenn die Netzwerkkonfiguration geschützt ist, kann diese nur noch über die Weboberfläche geändert werden. Dies verhindert unautorisierten Zugriff Netzwerkkonfiguration (Beispielsweise über DELIB Configuration Utility) Der Schutz kann temporär (3min) durch ein kurzes (2 sek) betätigen des 'FW-Reset-Key' auf dem Gerät deaktiviert werden. MAC-Adresse Die MAC-Adresse ist die physikalische Adresse des Produktes und ist fest mit der Hardware verbunden.
  • Seite 103: Benutzerverwaltung

    3.2.5.2. Benutzerverwaltung Hier können Sie die Benutzereinstellungen für die Weboberfläche vornehmen. Session Time (10 - 65535 Sekunden) Timeout bei inaktivität. Erreicht die Session Time 0 wird der Benutzer automatisch aus der Weboberfläche ausgeloggt. Login Required Ist diese Option aktiv, wird ein Benutzername/Passwort für den Zugriff auf die Weboberfläche benötigt.
  • Seite 104 Account passwort Wird verwendet wenn das Feld Login Required eingeschaltet ist. Maximal 16 Zeichen länge. Software | Seite 104...
  • Seite 105: Serielle Konfiguration

    3.2.5.3. Serielle Konfiguration Über diese Seite können Sie die gesamte Konfiguration unserer Produkte mit serieller Schnittstelle vornehmen. Vorzugsmodus Im Vorzugsmodus wird das Modul automatisch mit folgenden Einstellungen betrieben: Baudrate: 115200 Modul-Nr. 0 Echo = Off Register-Mode = On Software | Seite 105...
  • Seite 106 Baudrate Ist der Vorzugsmodus deaktiviert, kann die Geschwindigkeit der Kommunikation festgelegt werden. 625000 250000 125000 115200 57600 50000 38400 19200 9600 4800 2400 1200 RS485 Modul-adresse Adresse für die Identifikation im RS485 Bus. Echo Seriell empfangene Zeichen werden vom Modul zurückgesendet. Registermodus Deaktivieren Sie den Registermodus um den Textmodus zu aktivieren.
  • Seite 107: Dt-Flasher

    3.2.6. DT-Flasher Nach Installation der DELIB Treiberbibliothek kann das Programm DT-Flasher auf folgendem Weg gestartet werden: Start Programme DEDITEC DELIB oder DELIB64 DT-Flasher. Software | Seite 107...
  • Seite 108: Über Deditec-Firmware

    3.2.6.1. Über DEDITEC-Firmware Die meisten DEDITEC-Produkte verfügen über einen eigenen Microcontroller. Dieser Prozessor ist für die Steuerung aller Abläufe der Hardware verantwortlich. Um die für den Prozessor benötigte Firmware im nachhinein zu ändern, stellen wir unser kostenloses Tool DT-Flasher Verfügung. Mit diesem Tool hat der Kunde die Möglichkeit neu veröffentlichte Firmware-Versionen, direkt bei sich vor Ort auf...
  • Seite 109: Auswahl Des Moduls

    3.2.6.2. Auswahl des Moduls 1. Wählen Sie bei Programmstart das Modul aus, welches Sie mit einer neuen Firmware updaten möchten. Hierzu finden Sie eine Auflistung aller verfügbaren Module im "Module-Selector" Software | Seite 109...
  • Seite 110: Firmware Update Durchführen

    3.2.6.3. Firmware Update durchführen Dieses Beispiel zeigt das Modul RO-SER-CNT8-AD32-DA8-PT100- 4-STEPPER2 vor einem Firmware Update. 1. Logbuch - Alle Meldungen während des Firmware Updates werden hier angezeigt. Über Auto-scroll wird festgelegt, ob immer automatisch bis zum letzten Ereignis heruntergescrollt werden soll. Über Clear log wird das gesamte Logbuch gelöscht.
  • Seite 111 2. Hier erhalten Sie Informationen zum Interface-Modul (in diesem Beispiel das RO-SER-Interface). Newest FW zeigt die neuste Firmware-Version an, die für das Modul verfügbar ist. Current FW zeigt die Version an, die aktuell auf dem Modul vorhanden ist. Nachdem das Modul erfolgreich geflasht wurde, zeigt Last FW die Version an, die vor dem Firmware Update...
  • Seite 112: Flash-Files Manuell Aktualiseren

    PC keine Administratoren-Rechte verfügbar sind. Schritt1 Downloaden Sie die aktuellste Version der Flash-Files unter http://www.deditec.de/zip/deditec-flash_files.zip Schritt 2 Entpacken Sie das heruntergeladene ZIP-Archiv, je nach DELIB- Installation, in folgendes Verzeichnis. C:\Program Files(x86)\DEDITEC\DELIB\programs\ C:\Program Files\DEDITEC\DELIB\programs Software | Seite 112...
  • Seite 113: Delib Sample Sources (Windows Programmbeispiele)

    3.3. DELIB Sample Sources (Windows Programmbeispiele) DELIB Sample Sources bieten Beispielprogramme inklusive Quellcode zu nahezu allen DEDITEC-Produkten. Um den Schnelleinstieg mit unseren Modulen zu vereinfachen, finden Sie Quellcodes zu folgenden Programmiersprachen: Delphi VisualBasic VB.NET MS-Office LabVIEW Java Software | Seite 113...
  • Seite 114: Installation Delib Sample Sources

    Die DELIB Sample Sources können entweder während der Durchführung des DELIB Setups installiert werden oder als eigenständiges Setup. Legen Sie die DEDITEC Driver CD in das Laufwerk und starten Sie delib_sample_sources_install.exe. Eine aktuelle Version der Sample Sources finden Sie auch im Internet unter http://www.deditec.de/de/delib...
  • Seite 115 Startbild des DELIB Sample Sources Installer Software | Seite 115...
  • Seite 116 Drücken Sie Next. Wählen Sie den Installation Ordner und drücken Sie Install Software | Seite 116...
  • Seite 117 Die DELIB Sample Sources werden nun installiert. Die DELIB Sample Sources wurden erfolgreich installiert. Drücken Close um die Installation zu beenden. Software | Seite 117...
  • Seite 118: Benutzung Der Delib Sample Sources

    Nach Installation der DELIB Sample Sources finden Sie diese unter Start -> Programme -> DEDITEC -> DELIB -> Sample-Sources -> Sources Nun öffnet sich der Windows-Explorer mit einer Übersicht aller Produkte für die ein Beispielprogramm verfügbar ist. Software | Seite 118...
  • Seite 119: Schritt 1 - Produktauswahl

    3.3.2.1. Schritt 1 - Produktauswahl benötigen beispielsweise eine Hilfestellung Programmierung der digitalen Eingänge eines RO-ETH-Moduls (z. B RO-ETH-O16) in der Programmiersprache Visual-C. Da es sich um ein RO-ETH-Produkt handelt, wählen bzw. öffnen Sie den Ordner ro-eth-serie Software | Seite 119...
  • Seite 120: Schritt 2 - Kategorieauswahl

    3.3.2.2. Schritt 2 - Kategorieauswahl Im nächsten Schritt, finden Sie eine Übersicht der verfügbaren Kategorien für das ausgewählte Produkt. Da wir uns in diesem Beispiel auf die digitalen Eingänge konzentrieren, wählen Sie die Kategorie digital-input Software | Seite 120...
  • Seite 121: Schritt 3 - Programmiersprachenauswahl

    3.3.2.3. Schritt 3 - Programmiersprachenauswahl diesem Schritt sehen alle verfügbaren Programmierbeispiele der gewählten Kategore, sortiert nach Programmiersprachen. Da wir uns in diesem Beispiel auf die Programmiersprache Visual- C konzentrieren, öffnen Sie den Ordner vc. Software | Seite 121...
  • Seite 122: Schritt 4 - Quellcode

    3.3.2.4. Schritt 4 - Quellcode Nach Auswahl der Programmiersprache erhalten Sie folgende Übersicht: Software | Seite 122...
  • Seite 123 Den Quellcode des Beispielprogramm (in diesem Fall .cpp-Datei) können Sie nun mit einem beliebigen Text-Editor öffnen. Software | Seite 123...
  • Seite 124 Zusätzlich finden Sie im Ordner debug, ein bereits kompliliertes und ausführbares Programm zu diesem Projekt. Software | Seite 124...
  • Seite 125: Delib Für Linux

    3.4. DELIB für Linux Laden Sie sich die Delib-Linux-Treiberbibliothek unter "www. deditec.de/de/downloads/produkte/" Reiter „ DELIB+Protokolle“ oder unter "www.deditec.de/media/zip/delib/delib-linux.zip" direkt auf ihr Linux-System. Software | Seite 125...
  • Seite 126 Entpacken "delib-linux.zip" einen beliebigen Zielordner. Doppelklicken Sie dafür auf die Zip-Datei und benutzen Sie dann den "Entpacken"-Knopf in der oberen Menüleiste. Wählen Sie Ihren Zielordner aus und klicken Sie dann auf den "Entpacken"-Knopf. Software | Seite 126...
  • Seite 127 Software | Seite 127...
  • Seite 128: Verwenden Der Delib Treiberbibliothek Für Linux

    3.4.1. Verwenden der DELIB Treiberbibliothek für Linux 3.4.1.1. Delib USB-Sample in Linux Voreinstellungen In diesem Programmbeispiel wird ein USB_RELAIS_8 Modul angesprochen. Sollten Sie ein anderes Modul verwenden, müssen Sie in der Datei „/samples/usb_sample/source/usb_sample.c“ Befehl „DapiOpenModule“ ihr Modul angeben. Die genaue Bezeichnung können Sie der „delib.h“...
  • Seite 129 Kompilieren des USB-Samples Für das Kompilieren des Testprogramms, öffnen Sie ein Terminalfenster und navigieren mit dem Befehl "cd /<Verzeichnispfad>" zunächst "/samples/ usb_sample" Verzeichnis. Tipp: Sollten in Ihrem Ordnernamen Leerzeichen enthalten sein, geben Sie diesen wie im unteren Beispiel dargestellt in " " an. Zum Kompilieren öffnen Sie nun das darin enthaltene Shell-Skript mit dem Befehl „sudo sh...
  • Seite 130 Jetzt können Beispielprogramm "sudo usb_sample" ausführen. WICHTIG!! Sie benötigen für das Ausführen Admin-Rechte. Benutzen Sie deshalb den Befehl mit "sudo" Das Programm wird nun ausgeführt. In diesem Beispiel werden alle digitalen Ausgänge des USB_RELAIS_8 in einer Schleife an und wieder ausgeschaltet. Software | Seite 130...
  • Seite 131: Delib Cli (Command-Line Interface) Für Linux

    3.4.2. DELIB CLI (command-line interface) für Linux Der DELIB CLI Befehl für Linux befindet sich nach Entpacken des Zip-Archivs "delib-linux-cli" im Ordner /deditec-cli/ . Definition für USB-Module (Linux) sudo delib_cli [command] [channel] [value | unit ["nounit"] ] Definition für ETH-Module (Linux) delib_cli [command] [channel] [value | unit ["nounit"] ]...
  • Seite 132 Parameter Befehl Kabal Wert unit nounit 0, 1, 2, ... nounit 0, 8, 16, ... di16 di32 0, 32, ... nounit 0, 1, 2, ... 0/1 (1-Bit Befehl) 8-Bit Wert (Bit 0 für Kanal 1, Bit 16-Bit do16 0, 8, 16, ... 1 für Kanal 2, ...) Wert 32-Bit...
  • Seite 133 Return-Wert Zustand der gelesenen digitalen Eingänge In Kombination mit Parameter unit "hex" wird der Zustand als hex gelesen Zustand der FlipFlips der digitalen Eingänge In Kombination mit Parameter unit "hex" wird der Zustand als hex gelesen Zustand der gelesenen analogen Eingänge In Kombination mit Parameter unit "hex"...
  • Seite 134: Konfiguration Des Delib Cli

    3.4.2.1. Konfiguration des DELIB CLI Voreinstellungen Vor der ersten Verwendung des DELIB CLI muss die "delib_cli. cfg" mit einem Texteditor bearbeitet werden. Sie finden die "delib_cli.cfg" im Verzeichnis "/delib_cli/". Inhalt der "delib_cli.cfg": moduleID=14; moduleNR=0; RO-ETH_ipAddress=192.168.1.11; moduleID Als moduleID muss die entsprechende Nummer der eingesetzten Hardware eingetragen werden.
  • Seite 135 Kompilieren des Delib-CLI-Samples Für das Kompilieren des Testprogrammes, öffnen Sie ein Terminalfenster und navigieren mit dem Befehl "cd /<Verzeichnispfad>" zunächst in das "../delib_cli/" Verzeichnis. Tip: Sollten in Ihrem Ordnernamen Leerzeichen enthalten sein, geben Sie diesen wie im unteren Beispiel dargestell in "...
  • Seite 136 Verzeichnis erstellt. Jetzt können Sie das Beispielprogramm mit "sudo ./delib_cli " [command] [channel] [value | unit ["nounit"] ] ausführen WICHTIG!! Sie benötigen für das Ausführen Admin-Rechte. Benutzen Sie deshalb den Befehl mit "sudo" Software | Seite 136...
  • Seite 137: Delib Cli Beispiele

    3.4.2.2. DELIB CLI Beispiele Digitale Ausgänge sudo delib_cli DO1 17 1 -> schaltet das 18. digitale Relais eines USB-Moduls an sudo delib_cli DO1 3 0 -> schaltet das 4. digitale Relais eines RO-ETH-Moduls aus Digitale Eingänge sudo delib_cli DI1 3 Beispiel eines Rückgabewertes: 1 ->...
  • Seite 138 Analoge Ausgänge sudo delib_cli AO 7 4711 -> setzt den dezimalen Wert 4711 auf den 8. analogen Ausgang eines USB-Moduls sudo delib_cli AO 6 0x4711 -> setzt den hexadezimalen Wert 0x4AF1 auf den 7. analogen Ausgang eines RO-ETH-Moduls Analoge Eingänge sudo delib_cli AI 2 Beispiel eines Rückgabewertes: 1234 ->...
  • Seite 139: Delib Api Referenz

    DELIB API Referenz DELIB API Referenz | Seite 139...
  • Seite 140: Verwaltungsfunktionen

    4. DELIB API Referenz 4.1. Verwaltungsfunktionen 4.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.
  • Seite 141 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 Referenz | Seite 141...
  • Seite 142 4.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 Referenz | Seite 142...
  • Seite 143 4.1.3. DapiGetDELIBVersion Beschreibung Diese Funktion gibt die installierte DELIB-Version zurück. Definition ULONG DapiGetDELIBVersion(ULONG mode, ULONG par); Parameters mode=Modus, mit dem die Version ausgelesen wird (muss 0 sein). par=Dieser Parameter ist nicht definiert (muss 0 sein). Return-Wert version=Versionsnummer der installierten DELIB-Version [hex]. Programmierbeispiel version = DapiGetDELIBVersion(0, 0);...
  • Seite 144 4.1.4. DapiSpecialCMDGetModuleConfig Beschreibung Diese Funktion gibt die Hardwareausstattung (Anzahl der Ein- und Ausgangskanäle) des Moduls zurück. Definition ULONG DapiSpecialCommand(ULONG handle, DAPI_SPECIAL_CMD_GET_MODULE_CONFIG, par, 0, 0); Parameter handle=Dies ist der handle eines offenen Moduls Querying the number of digital input channels par=DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_DI Query number of digital input flip-flops par=DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_DI_FF Query number of digital input counters (16-bit counter)
  • Seite 145 Querying the number of digital PWM outputs par=DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_PWM_OUT Querying the number of digital input/output channels par=DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_DX Querying the number of analog input channels par=DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_AD Querying the number of analog output channels par=DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_DA Query number of temperature channels par=DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_TEMP Query number of stepper channels par=DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_STEPPER return value Querying the number of digital input channels...
  • Seite 146 Query number of digital input counters (48-bit counter) return=number of digital input counters (48-bit counter) Querying the number of digital output channels return=number of digital output channels Querying the number of digital pulse generator outputs return=number of digital pulse generator outputs Querying the number of digital PWM outputs return=number of digital PWM outputs Querying the number of digital input/output channels...
  • Seite 147 Programmierbeispiele ret=DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_GET_MODULE_CONFIG, DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_DI, 0, 0); //Returns the number of digital input channels ret=DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_GET_MODULE_CONFIG, DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_DO, 0, 0); //Returns the number of digital output channels ret=DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_GET_MODULE_CONFIG, DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_DX, 0, 0); //Returns the number of digital input/output channels ret=DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_GET_MODULE_CONFIG, DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_AD, 0, 0); //Returns the number of analog input channels ret=DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_GET_MODULE_CONFIG, DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_DA, 0, 0);...
  • Seite 148 4.1.5. DapiOpenModuleEx Beschreibung Diese Funktion öffnet gezielt Modul Ethernet- Schnittstelle. Dabei können 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...
  • Seite 149: Bemerkung

    Bemerkung Der von dieser Funktion zurückgegebene Handle wird zur Identifikation des Moduls für alle anderen Funktionen benötigt. Dieser Befehl wird von allen Modulen mit Ethernet-Schnittstelle unterstützt. Universelle Ethernet moduleID Die moduleID: ETHERNET_MODULE = 29 ist eine universelle Ethernet moduleID und kann benutzt werden, um jedes Ethernet Produkt anzusprechen.
  • Seite 150 Programmierbeispiel // Open ETH-Module with parameter DAPI_OPENMODULEEX_STRUCT open_buffer; strcpy((char*) open_buffer.address, "192.168.1.10"); open_buffer.portno = 0; open_buffer.timeout = 5000; open_buffer.encryption_type = 0; handle = DapiOpenModuleEx(RO_ETH, 0, (unsigned char*) &open_buffer, 0); printf("Module handle = %x\n", handle); DELIB API Referenz | Seite 150...
  • Seite 151: Fehlerbehandlung

    4.2. Fehlerbehandlung 4.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 152 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 Referenz | Seite 152...
  • Seite 153 4.2.2. DapiGetLastErrorText Beschreibung Diese Funktion liest den Text des letzten erfassten Fehlers. Sofern Fehler aufgetreten ist, muss dieser 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 154 4.2.3. DapiClearLastError Beschreibung Diese Funktion löscht letzten Fehler, 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); DapiClearLastError();...
  • Seite 155 4.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 156 4.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 157: Digitale Eingänge Lesen

    4.3. Digitale Eingänge lesen 4.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 Referenz | Seite 157...
  • Seite 158 4.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 Referenz | Seite 158...
  • Seite 159 4.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 Referenz | Seite 159...
  • Seite 160 4.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 161 4.3.5. DapiDIGet64 Beschreibung Dieser Befehl liest gleichzeitig 64 digitale Eingänge. Definition ULONG 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 Referenz | Seite 161...
  • Seite 162 4.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 163 4.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)
  • Seite 164: Dapispecialcounterlatchall

    4.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...
  • Seite 165: Dapispecialcounterlatchallwithreset

    4.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 Module, die von diesen Befehlen unterstützt werden, können Sie unserer DELIB Übersichtstabelle entnehmen.
  • Seite 166 4.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. Bemerkung Standardwert: Wertebereich:...
  • Seite 167 4.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 168 4.3.12. Dapi_Special_DI_FF_Filter_Value_Get Beschreibung Dieser Befehl gibt den vorher festgelegten Wert des Zeitintervalls zur Abtastung der Eingangs-Flip-Flops und der Eingangs-Zähler in [ms] zurück. 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 Module, die von diesen Befehlen unterstützt werden, können Sie unserer...
  • Seite 169 4.3.13. Dapi_Special_DI_FF_Filter_Value_Set Beschreibung Dieser Befehl setzt einen Filter [ms], in welchem Zeitintervall die Eingangs-Flip-Flops und die Eingangs-Zähler abgefragt werden. Definition 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. Bemerkung Dieser Befehl unterstützt nur Impulszeiten zwischen 5ms und 255ms.
  • Seite 170: Digitale Ausgänge Verwalten

    4.4. Digitale Ausgänge verwalten 4.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 171 4.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 172 4.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 173 4.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 174 4.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 175 4.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 176 Programmierbeispiel DapiDOSet1_WithTimer(handle, 2, 1, 1000); //Setting channel 2 for 1000msec to 1 DELIB API Referenz | Seite 176...
  • Seite 177 4.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 178 4.4.8. DapiDOReadback64 Beschreibung Dieser Befehl liest die 64 digitalen Ausgänge zurück. Definition ULONG 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 179 4.4.9. DapiDOSetBit32 Beschreibung Mit diesem Befehl können Ausgänge gezielt auf 1 geschaltet werden, ohne die Zustände der benachbarten Ausgänge zu ändern. Definition void DapiDOSetBit32(uint handle, uint ch, uint data); Parameter handle = Dies ist das Handle eines geöffneten Moduls ch = Gibt die Nummer des Ausgangs an, ab dem geschrieben werden soll data = Gibt den Datenwert an, der geschrieben werden soll (bis zu 32 Bit)
  • Seite 180 Programmierbeispiel data = 0x1; // Ausgang 0 wird auf 1 gesetzt, der Zustand von Ausgang 1-31 bleibt unberührt DapiDOSetBit32(handle, 0, data); data = 0xf; // Ausgang 0-3 wird auf 1 gesetzt, der Zustand von Ausgang 4-31 bleibt unberührt DapiDOSetBit32(handle, 0, data); data = 0xff;...
  • Seite 181 4.4.10. DapiDOClrBit32 Beschreibung Mit diesem Befehl können Ausgänge gezielt auf 0 geschaltet werden, ohne die Zustände der benachbarten Ausgänge zu ändern. Definition void DapiDOClrBit32(uint handle, uint ch, uint data); Parameter handle = Dies ist das Handle eines geöffneten Moduls ch = Gibt die Nummer des Ausgangs an, ab dem geschrieben werden soll data = Gibt den Datenwert an, der geschrieben werden soll (bis zu 32 Bit)
  • Seite 182 Programmierbeispiel data = 0x1; // Ausgang 0 wird auf 0 gesetzt, der Zustand von Ausgang 1-31 bleibt unberührt DapiDOSetBit32(handle, 0, data); data = 0xf; // Ausgang 0-3 wird auf 0 gesetzt, der Zustand von Ausgang 4-31 bleibt unberührt DapiDOSetBit32(handle, 0, data); data = 0xff;...
  • Seite 183: Ttl-Ein-/Ausgangs Richtungen Setzen Mit

    4.5. TTL-Ein-/Ausgangs Richtungen setzen mit DapiSpecialCommand 4.5.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 184 Programmierbeispiel DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_SET_DIR_DX_1, 0, 0x01 , 0); // Set Dir of TTL-I/O CH0 to output, others to input DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_SET_DIR_DX_1, 0, 0x02 , 0); // Set Dir of TTL-I/O CH1 to output, others to input DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_SET_DIR_DX_1, 0, 0x04 , 0); // Set Dir of TTL-I/O CH2 to output, others to input DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_SET_DIR_DX_1, 0, 0x08 , 0);...
  • Seite 185 4.5.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 186: Ausgabe-Timeout Verwalten

    4.6. Ausgabe-Timeout verwalten 4.6.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 zwischen zwei Zugriffen auf das Modul ist grösser, als die erlaubte Timeout-Zeit) passiert folgendes:...
  • Seite 187 "auto reactivate" Timeout Dies ist ein seit 2021 implementierter Timeout-Modus, der nach Auftreten des Timeout-Ereignisses den Timeout automatisch wieder aktiviert. Vorgehensweise für den Timeout-Befehl: Der Timeout wird per Befehl aktiviert. Findet dann ein sogenanntes Timeout-Ereignis statt(Pause zwischen zwei Zugriffen auf das Modul ist grösser, als die erlaubte Timeout-Zeit) passiert folgendes: - Alle Ausgänge werden ausgeschaltet.
  • Seite 188 "secure outputs" Timeout Dies ist ein seit 2021 implementierter Timeout-Modus, der nach Auftreten des Timeout-Ereignisses einen Schreibenden Zugriff auf die Ausgänge verhindert.Somit wird sichergestellt, dass die Software erst einmal einen "sicheren" Zustand der Ausgänge wiederherstellen muss, da der Timeout-Mechanismus des Moduls die Ausgänge auf vordefinierte Werte verändert hat.
  • Seite 189 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 Referenz | Seite 189...
  • Seite 190 4.6.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 191 4.6.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 192 4.6.1.3. DapiSpecialTimeoutActivateAutoReactivate Beschreibung Dieser Befehl aktiviert den "auto reactivate" Timeout. In diesem Modus wird der Timeout nach dem Timeout-Ereignis automatisch wieder aktiviert. Nach dem Timeout-Ereignis werden.. - ..alle Ausgänge ausgeschaltet - ..der Timeout-Status auf "4" gesetzt - ..die Timeout-LED angeschaltet (bei Modulen, die solch einen Status haben) Weitere Zugriffe auf die Ausgänge sind dann weiterhin möglich UND der Timeout ist weiter aktiv.
  • Seite 193 4.6.1.4. DapiSpecialTimeoutActivateSecureOutputs Beschreibung Dieser Befehl aktiviert den "secure" Timeout. In diesem Modus wird ein schreibender Zugriff auf die Ausgänge nach einem Timeout-Ereignis verhindert. Somit wird sichergestellt, dass die Software erst einmal einen "sicheren" Zustand der Ausgänge wiederherstellen muss, da der Timeout-Mechanismus des Moduls die Ausgänge auf vordefinierte Werte verändert hat.
  • Seite 194 4.6.1.5. 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 Referenz | Seite 194...
  • Seite 195 4.6.1.6. 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 196 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 Referenz | Seite 196...
  • Seite 197 4.6.1.7. 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 cmd = 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 198 4.6.1.8. DapiSpecialTimeoutDoValueMaskRDSet32 Beschreibung Dieser Befehl dient zum Auslesen der übergebenen Werte. Definition ULONG DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_TIMEOUT, cmd, 0, 0); Parameter cmd = DAPI_SPECIAL_TIMEOUT_DO_VALUE_MASK_RD_SET32 Return-Wert [32 Bit] Wert der dem SET-Befehl übergeben wird Programmierbeispiel long value = DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_TIMEOUT, DAPI_SPECIAL_TIMEOUT_DO_VALUE_MASK_RD_SET32, 0, 0); printf("%0x\n", value);...
  • Seite 199 4.6.1.9. 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 cmd = 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 200 4.6.1.10. DapiSpecialTimeoutDoValueMaskRDClr32 Beschreibung Dieser Befehl dient zum Auslesen der übergebenen Werte. Definition ULONG DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_TIMEOUT, cmd, 0, 0); Parameter cmd = DAPI_SPECIAL_TIMEOUT_DO_VALUE_MASK_RD_CLR32 Return-Wert [32 Bit] Wert der dem CLR-Befehl übergeben wird Programmierbeispiel long value = DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_TIMEOUT, DAPI_SPECIAL_TIMEOUT_DO_VALUE_MASK_RD_CLR32, 0, 0); printf("%0x\n", value);...
  • Seite 201 4.6.1.11. 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 cmd = 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 Referenz | Seite 201...
  • Seite 202 4.7. Testfunktionen 4.7.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ß der mit “value” übergebene Testwert zurückkommen DELIB API Referenz | Seite 202...
  • Seite 203: Register Schreib-Befehle

    4.8. Register Schreib-Befehle 4.8.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 Bemerkung...
  • Seite 204 4.8.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 205 4.8.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 206 4.8.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 207: Register Lese-Befehle

    4.9. Register Lese-Befehle 4.9.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 208 4.9.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 209 4.9.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 210 4.9.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 211: Delib Übersichtstabelle

    4.10. Delib Übersichtstabelle Befehle Verfügbar für 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 für Geht nicht bei DAPI_SPECIAL_CMD_TIMEOUT ETH-TTL64 USB-Mini-Stick DAPI_SPECIAL_TIMEOUT_DO_VALUE_ ETH-RELAIS8 MASK_WR_SET32 USB-RELAIS8 DAPI_SPECIAL_TIMEOUT_DO_VALUE_ RO-SERIE MASK_RD_SET32 BS-SERIE DAPI_SPECIAL_TIMEOUT_DO_VALUE_ NET-SERIE MASK_WR_CLR32 USB-TTL-64 DAPI_SPECIAL_TIMEOUT_DO_VALUE_...
  • Seite 212 Befehl St art er St art er NE T Sonst iges USB* 1 E T H* 2 Serie Serie Serie DAPI_SPECIAL_COUNTER_ LATCH_ALL DAPI_SPECIAL_COUNTER_ LATCH_ALL_WITH_RESET DapiDOSet1_WithTimer DAPI_SPECIAL_CMD_SW_FIFO DAPI_SPECIAL_SW_FIFO_INIT_ AND_CLEAR DAPI_SPECIAL_SW_FIFO_ IO_DEACTIVATE DAPI_SPECIAL_CMD_AD DAPI_SPECIAL_RO_AD_ FIFO_ACTIVATE DAPI_SPECIAL_RO_AD_ FIFO_INIT : USB-OPTOIN8, USB-Mini-Stick, USB-TTL-64 : ETH-TTL64, ETH-OPTOIN8, ETH-RELAIS8 DELIB API Referenz | Seite 212...
  • Seite 213 Befehl St art er St art er NE T Sonst iges USB* 1 E T H* 2 Serie Serie Serie DAPI_SPECIAL_DI_FF_FILTER 5-255 1-255 1-255 1-255 1-255 DAPI_SPECIAL_DI_FF_FILTER_ VALUE_SET DAPI_SPECIAL_DI_FF_FILTER_ VALUE_GET DAPI_SPECIAL_DI_FILTER DAPI_SPECIAL_DI_FILTER_ 1-254 1-254 1-254 1-254 VALUE_SET DAPI_SPECIAL_DI_FILTER_ VALUE_GET DAPI_SPECIAL_CMD_GET_ INTERNAL_STATISTIC : USB-OPTOIN8, USB-Mini-Stick, USB-TTL-64 : ETH-TTL64, ETH-OPTOIN8, ETH-RELAIS8...
  • Seite 214: Anhang

    Anhang Anhang | Seite 214...
  • Seite 215 5. Anhang 5.1. Revisionen Rev 3.00 DEDITEC Design Update Kapitel "Software" und "DELIB API Referenz" Rev 2.03 überarbeitet Index hinzugefügt Rev 2.02 Kapitel "Firmware Update" hinzugefügt, Rev 2.01 Kapitel "Software" überarbeitet Erste DEDITEC Anleitung Rev 2.00 Anhang | Seite 215...
  • Seite 216 5.2. Urheberrechte und Marken Linux ist eine registrierte Marke von Linus Torvalds. USB ist eine registrierte Marke von USB Implementers Forum Inc. LabVIEW ist eine registrierte Marke von National Instruments. Intel ist eine registrierte Marke von Intel Corporation. AMD ist eine registrierte Marke von Advanced Micro Devices, Inc. ProfiLab ist eine registrierte Marke von ABACOM Ingenieurbüro GbR.

Diese Anleitung auch für:

Usb-ttl-64Usb-relais-8Usb-optoin-8

Inhaltsverzeichnis