BS-WEU-Serie Hardware-Beschreibung 2022 September
INDEX 1. Einleitung 12 1.1. Vorwort 13 1.2. Kundenzufriedenheit 13 1.3. Kundenresonanz 13 1.4. Kurzbeschreibung 14 1.5. Lieferumfang 15 2. Inbetriebnahme 16 2.1. Schritt 1 - Sicherheitshinweise 17 2.2. Schritt 2 - Anschluss der Stromversorgung 18 2.3. Schritt 3 - Verbinden mit dem PC oder Netzwerk 19 2.3.1. Verbindung via USB 19 2.3.2. Verbindung via Ethernet 19 2.3.3. Verbindung via WiFi 20 2.4. Schritt 4 - Installation der Software und Treiber 21 2.5.
INDEX 3.2.3. BS-WEU-O32-R32 bis BS-WEU-O64-R64 34 3.2.4. BS-WEU-AD16 35 3.3. Schnittstellen 36 3.3.1. USB 36 3.3.2. Ethernet 36 3.3.3. CAN 37 3.3.4. RS-232 38 3.3.5. Schnittstellen nachrüsten 39 3.4. LEDs 40 3.4.1. Definition der LEDs 40 3.4.2. Blinkverhalten der LEDs 41 3.5. Schalter & Taster 46 3.5.1. Funktionen der DIP-Schalter 46 3.5.2. Funktionen des CFG-Tasters 50 3.6. Analoge Ausgänge 51 3.6.1. Technische Daten 51 3.6.2. Pinbelegung 52 3.6.3.
INDEX 3.9.6. Blockschaltbild eines MOSFET-Moduls 65 3.9.7. Timeout Funktion 66 3.10. Digitale Eingänge 67 3.10.1. Technische Daten 67 3.10.2. Pinbelegung 68 3.10.3. Anschlussbeispiel eines Optokopplers 69 3.10.4. Blockschaltbild eines Optokoppler-Moduls 70 3.10.5. Eingangsfilter 71 3.10.6. Zustandsänderungen überwachen 72 4. Software Beschreibung 4.1. Benutzen unserer Produkte 73 74 4.1.1. Ansteuerung über unsere DELIB Treiberbibliothek 74 4.1.2.
INDEX 4.1.6.8.2. Verwendung der VIs in LabVIEW 105 4.1.6.8.3. Setzen der Modul-ID in LabVIEW 107 4.1.6.9. Einbinden der DELIB in Java 4.2. DELIB Treiberbibliothek 4.2.1. Übersicht 109 110 111 4.2.1.1. Unterstützte Programmiersprachen 113 4.2.1.2. Unterstützte Betriebssysteme 114 4.2.1.3. SDK-Kit für Programmierer 114 4.2.2. DELIB Setup 115 4.2.3. DELIB Configuration Utility 121 4.2.3.1. Einführung 121 4.2.3.2. Neue Konfiguration erstellen oder vorhandene Konfiguration bearbeiten 122 4.
INDEX 4.2.5.1.6. WiFi Netzwerkeinstellungen 173 4.2.5.1.7. WiFi WPS-Verbindung 175 4.2.5.1.8. NTP-Konfiguration 176 4.2.5.1.9. Serielle Konfiguration 178 4.2.5.1.10. I/O Kanal-Namen 180 4.2.5.1.11. CAN Konfiguration 181 4.2.5.1.11.1, CAN Status 181 4.2.5.1.11.1, CAN Status Interface 181 4.2.5.1.11.2, CAN Statistik TX/RX 182 4.2.5.1.11.2, CAN Main 183 4.2.5.1.11.1, CAN Main Interface 183 4.2.5.1.11.2, CAN Main I/O Init 185 4.2.5.1.11.3, CAN TX/RX Modi 187 4.2.5.1.11.
INDEX 4.2.7.4. Statistiken vom Modul abfragen 214 4.2.7.5. Konfiguration 217 4.2.7.5.1. Modul Konfiguration 218 4.2.7.5.2. I/O Konfiguration 219 4.2.7.5.3. TX-Konfiguration 222 4.2.7.5.3.1, Beispiel Interval 224 4.2.7.5.3.2, Beispiel Trigger 225 4.2.7.5.4. RX-Konfiguration 226 4.2.7.5.4.1, Beispiel RX-DA 228 4.2.7.5.4.2, Beispiel RX-DO 229 4.2.7.6. Aufbau der CAN-Pakete 230 4.2.7.6.1. Digitale Eingänge 230 4.2.7.6.2. Digitale Ausgänge 231 4.2.7.6.3.
INDEX 4.3.2. Benutzung der DELIB Sample Sources 262 4.3.2.1. Schritt 1 - Produktauswahl 262 4.3.2.2. Schritt 2 - Kategorieauswahl 264 4.3.2.3. Schritt 3 - Programmiersprachenauswahl 265 4.3.2.4. Schritt 4 - Quellcode 266 4.4. DELIB für Linux 4.4.1. Verwenden der DELIB Treiberbibliothek für Linux 269 272 4.4.1.1. Delib USB-Sample in Linux 272 4.4.1.2. Delib ETH-Sample in Linux 275 4.4.2. DELIB CLI (command-line interface) für Linux 279 4.4.2.1. Konfiguration des DELIB CLI 282 4.4.2.2.
INDEX 5.4.4. DapiADGetVolt 307 5.4.5. DapiADGetmA 307 5.4.6. DapiSpecialADReadMultipleAD 308 5.5. D/A Ausgänge verwalten 310 5.5.1. DapiDASetMode 310 5.5.2. DapiDAGetMode 312 5.5.3. DapiDASet 313 5.5.4. DapiDASetVolt 314 5.5.5. DapiDASetmA 315 5.5.6. DapiSpecialCmd_DA 316 5.6. Digitale Eingänge lesen 318 5.6.1. DapiDIGet1 318 5.6.2. DapiDIGet8 318 5.6.3. DapiDIGet16 319 5.6.4. DapiDIGet32 320 5.6.5. DapiDIGet64 321 5.6.6. DapiDIGetFF32 322 5.6.7. DapiDIGetCounter 323 5.6.
INDEX 5.7.7. DapiDOReadback32 335 5.7.8. DapiDOReadback64 335 5.7.9. DapiDOSetBit32 336 5.7.10. DapiDOClrBit32 337 5.8. Ausgabe-Timeout verwalten 5.8.1. DapiSpecialCMDTimeout 338 338 5.8.1.1. DapiSpecialTimeoutSetValueSec 341 5.8.1.2. DapiSpecialTimeoutActivate 342 5.8.1.3. DapiSpecialTimeoutActivateAutoReactivate 343 5.8.1.4. DapiSpecialTimeoutActivateSecureOutputs 344 5.8.1.5. DapiSpecialTimeoutDeactivate 345 5.8.1.6. DapiSpecialTimeoutGetStatus 346 5.8.1.7.
INDEX 5.13. Programmier-Beispiel 377 5.14. Delib Übersichtstabelle 379 6. Anhang 382 6.1. Kontakt / Support 383 6.2. Umwelt und Entsorgung 383 6.3. Revisionen 384 6.4.
Einleitung I Einleitung | Seite 12
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.
1.4. Kurzbeschreibung Unsere BS-WEU Produkte sind eine Weiterentwicklung der ursprünglichen BSSerie. WEU steht hierbei für WIFI, Ethernet und USB. Im Bereich der PCMesstechnik eignen sich diese Module hervorragend für den Aufbau umfangreicher Automatisierungsprojekte, Steuerungsaufgaben oder Messverfahren. Es können sowohl analoge als auch digitale Datensignale erfasst oder ausgegeben werden. Die Bereitstellung und Verarbeitung dieser Signale geschieht durch die Kundenapplikation auf dem Steuer PC.
1.5.
Inbetriebnahme II Inbetriebnahme | Seite 16
2. Inbetriebnahme 2.1. Schritt 1 - Sicherheitshinweise Bitte machen Sie sich vor der Inbetriebnahme Ihres DEDITEC Produktes mit diesem Handbuch vertraut und lesen Sie sich die nachfolgenden Punkte genau durch: · Schäden, die durch Nichtbeachten dieser Bedienungsanleitung verursacht werden, führen zum Erlöschen der Gewährleistung bzw. Garantie dieses Produktes.
2.2. Schritt 2 - Anschluss der Stromversorgung Wählen Sie ein geeignetes Netzteil* mit ausreichender Leistung von mindestens 5 Watt und einer Ausgangsspannung von zum Beispiel +7VDC oder +24VDC. Die Stromversorgung wird an der 2-poligen steckbaren Schraubklemme angeschlossen. Bitte beachten Sie dabei die Polarität, wie unten abgebildet. Links V+ und rechts V-. * Ein passendes Industrie-Netzteil kann als Zubehör bei uns erworben werden.
2.3. Schritt 3 - Verbinden mit dem PC oder Netzwerk 2.3.1. Verbindung via USB Verbinden Sie das Modul, mit dem im Lieferumfang enthaltenen USB-Kabel, mit Ihrem PC oder USB-Hub. Möchten Sie mehrere USB Module gleichzeitig an einem PC anschließen, muss zunächst jedem Modul eine eigene Modulnummer vergeben werden. Siehe Kapitel Beispiel zur Konfiguration identischer USB-Module 2.3.2.
2.3.3. Verbindung via WiFi Um das Modul via WiFi mit Ihrem Router zu verbinden, halten Sie den "CFG-Taster" ca. 7 Sekunden gedrückt. Betätigen Sie anschließend den WPS-Knopf an Ihrem Router. Das Modul verbindet sich nun automatisch mit Ihrem PC-Netzwerk. Die "WIFI-LED" blinkt nach erfolgreicher Verbindung alle 5 Sekunden 1-mal. Mehr Informationen zum Blinkverhalten finden Sie im Kapitel "Blinkverhalten der LEDs".
2.4. Schritt 4 - Installation der Software und Treiber Installation unter Windows: Um dieses Produkt mit einem Windows basierten PC betreiben zu können, gehen Sie bitte wie folgt vor: Installieren Sie zuerst die DELIB-Treiberbibliothek für Windows, indem Sie Datei "delib_install.exe" von der DEDITEC-Treiber CD ausführen. Diese befindet sich Verzeichnis "\zip\delib\delib_install.exe". Alternativ können Sie die aktuellste DELIB Version auch von unserer Homepage herunterladen. http://www.deditec.
2.5. Schritt 5 - Anschluss der I/O Steckverbinder Für den Leitungsanschluss an die I/O Steckverbinder benötigen Sie ein Hilfswerkzeug, welches im Lieferumfang enthalten ist. Gehen Sie zum Anschluss bitte wie folgt vor: · Betätigungswerkzeug in Leiteranschlussrichtung kräftig (nach unten) in die seitliche Öffnung stecken.
· Die Anschlussleitung 6-7mm abisolieren und in den geöffneten Klemmkontakt stecken. · Betätigungswerkzeug wieder herausziehen.
2.6. Schritt 6 - Funktionstest Mit unserem Tool "DELIB-Module Config" können Sie das Modul relativ schnell und einfach und ohne Programmierkenntnisse in Betrieb nehmen und auf dessen Funktionalität überprüfen. Folgen Sie hierfür den Anweisungen im Kapitel "DELIB-Module Config".
Hardw are Beschreibung III Hardware Beschreibung | Seite 25
3. Hardware Beschreibung 3.1. Allgemeine technische Daten 3.1.1. BS-WEU-O8-R8 Elektrische Daten: Versorgungsspannung: 7V DC .. 24V DC Umgebung: Umgebungstemperatur: +10..
3.1.2. BS-WEU-O16-R16 Elektrische Daten: Versorgungsspannung: 7V DC .. 24V DC Umgebung: Umgebungstemperatur: +10..
3.1.3. BS-WEU-O32-R32 Elektrische Daten: Versorgungsspannung: 7V DC .. 24V DC Umgebung: Umgebungstemperatur: +10..
3.1.4. BS-WEU-O48-R48 Elektrische Daten: Versorgungsspannung: 7V DC .. 24V DC Umgebung: Umgebungstemperatur: +10..
3.1.5. BS-WEU-O64-R64 Elektrische Daten: Versorgungsspannung: 7V DC .. 24V DC Umgebung: Umgebungstemperatur: +10..
3.1.6. BS-WEU-AD16-DA4 Elektrische Daten: Versorgungsspannung: 7V DC .. 24V DC Umgebung: Umgebungstemperatur: +10..
3.1.7. BS-WEU-AD16-DA4-OR16 Elektrische Daten: Versorgungsspannung: 7V DC .. 24V DC Umgebung: Umgebungstemperatur: +10..
3.2. Übersichtsbilder Den Leiterplattenaufbau Ihres Modules können Sie sich auf den folgenden Übersichtsbildern ansehen. Informationen zu den Beschreibungen und Funktionen der Komponenten, können Sie den nachfolgenden Kapiteln entnehmen. einzelnen 3.2.1.
3.2.2. BS-WEU-O16-R16 3.2.3.
3.2.4.
3.3. Schnittstellen Die Standard Schnittstelle auf dem Modul ist USB oder Ethernet. Optional kann das Gerät mit einer CAN oder RS-232 Schnittstelle erweitert werden. 3.3.1. USB Technische Daten: Standard: USB 1.1 / USB 2.0 Verbindungsaufbau: USB Kabel Typ A auf Typ B Zugriffszeit PC auf Modul*: 4,06 ms** * Berechnet mit 1000 Zugriffen auf das Modul über die DELIB Treiberbibliothek mit dem Befehl DapiDoSet32 ** durchschnittliche Zeit für 32-Bit Zugriffe 3.3.2.
3.3.3.
3.3.4.
3.3.5. Schnittstellen nachrüsten Das Gerät kann nachträglich mit einem CAN- oder RS-232 Interface Adapter bestückt werden. Beachten Sie hierbei bitte das Kapitel Sicherheitshinweise Für die Nachrüstung gehen Sie bitte folgendermaßen vor: · Trennen Sie das Modul von der Stromzufuhr. · Entfernen Sie eine der seitlichen Abdeckungen des Gehäuses durch lösen der vier Kreuzschrauben. · Ziehen Sie nun die Leiterplatte vorsichtig aus dem Gehäuse und legen Sie diese auf einen festen und trockenen Untergrund.
3.4. LEDs Auf dem Modul befinden sich eine Vielzahl an Leuchtdioden. Es gibt 8 StatusLEDs und zusätzlich für jeden digitalen I/O Kanal jeweils eine LED. 3.4.1. Definition der LEDs LED Status: Signalisiert, ob sich das Modul im Bootloader oder in der Anwendung befindet. siehe Kapitel "Blinkverhalten LEDs" LED I/O Acc: Blinkt, wenn eine Abfrage der I/O Kanäle stattfindet, oder die CPU Daten an diese sendet. LED O.Auto-Off: Leuchtet, wenn die Ausgänge durch ein Timeout Ereignis deaktiviert wurden. LED I.
3.4.2. Blinkverhalten der LEDs Nachfolgend werden die Blinksequenzen der Status LEDs dargestellt. 1. Bootvorgang Der Bootvorgang startet Spannungsversorgung. direkt nach dem Einschalten der Die Bootvorgang-Sequenz wird einmalig durchlaufen. 2. Applikation oder Bootloader 2.1 Applikation Der Bootvorgang wurde erfolgreich durchlaufen und das Produkt befindet sich nun in der Applikation. Das Produkt ist betriebsbereit. Die Status-LED leuchtet 5 Sekunden und erlischt für etwa 300ms.
2.2. Bootloader Das Produkt befindet sich nach dem Bootvorgang im Bootloader. Die Anwendung wurde nicht geladen. Dies deutet auf einen Fehler in der Firmware hin. Eine Aktualisierung der Firmware kann das Problem in der Regel beheben Firmware Update durchführen Die Status-LED leuchtet 2 Sekunden und erlischt für etwa 300ms. Die Bootloader-Sequenz wiederholt sich. 3. Bootloader erzwungen Das Produkt kann mit dem DIP-Schalter 4 in den Bootloader gezwungen werden.
4. LED WIFI Die WIFI-LED zeigt den aktuellen Status der WIFI-Verbindung an. WiFi Disabled Die WiFi-Funktion ist deaktiviert. Die LED bleibt aus. DHCP is ON Eine Verbindung via WiFi wurde erfolgreich hergestellt. Die LED erlischt in ca. 5 Sekunden 1-mal. Starting DHCP connection.. Es wird versucht eine Verbindung per DHCP herzustellen. Die LED erlischt in ca. 5 Sekunden 2-mal. Starting WiFi connection.. Es wird versucht eine Verbindung per WiFi herzustellen. Die LED erlischt in ca. 5 Sekunden 3-mal.
5. LED-LAN Die LAN-LED zeigt den aktuellen Status der LAN-Verbindung an. LAN Disabled Die LAN-Funktion ist deaktiviert. Die LED bleibt aus. Static-IP Success Eine erfolgreiche Verbindung via statischer IP wurde hergestellt. Die LED erlischt in ca. 5 Sekunden 1-mal. DHCP success (DIP) Eine erfolgreiche Verbindung via DHCP wurde hergestellt. DHCP wurde dabei über den DHCP-DIP-Schalter auf dem Board Ihres Moduls aktiviert. Die LED erlischt in ca. 5 Sekunden 2-mal.
NO ethernet cable Das Ethernet-Kabel wurde entfernt oder steckt nicht richtig in der EthernetBuchse. Die LED erlischt in ca. 5 Sekunden 5-mal. TCP not initialized Es konnte keine Verbindung hergestellt werden. Die LED erlischt in ca. 5 Sekunden 6-mal.
3.5. Schalter & Taster 3.5.1.
Erläuerungen der DIP Schalter Funktionen: DIP 1 Modus / Erklärung ON DHCP ist aktiviert Die Netzwerkeinstellungen IP, Subnetzmaske, DNS-Domain sowie Gateway werden über einen DHCP-Server aus Ihrem Netzwerk bezogen. DHCP wird erzwungen auch wenn DHCP per Software deaktiviert wurde. OFF DHCP deaktiviert Die im Module-Configuration-Memory Netzwerkeinstellungen werden verwendet. hinterlegten Mithilfe der DELIB-Software können diese Einstellungen bearbeitet und abgespeichert werden.
DIP 3 Modus / Erklärung ON Werkseinstellungen aktiviert Die im Module-Configuration-Memory gespeicherten Werte (IP-Adresse, Gateway, Subnetzmaske, DHCP) werden beim Modulstart ignoriert. Das Modul startet mit den folgenden Werkseinstellungen. Ethernet/LAN WiFi Boardname: Produktabhängig Boardname: Produktabhängig (z.B.: WEU-O8-R8) (z.B.: WEU-O8-R8_W) Write Protection: OFF WLAN active: OFF DHCP: OFF Router name: DefaultSSID IP: 192.168.1.1 Password: DefaultPWD Subnetzmaske: 255.255.255.
DIP 4 Modus / Erklärung ON Bootloader aktiviert Das Modul bleibt zwangsweise im Bootloader. Die Firmware wird nicht gestartet. ACHTUNG!!! Wird das Modul mit DIP 4 auf ON gestartet, wird die Firmware des Modules gelöscht und muss neu installiert/geflashed werden. Alle im Module-Configuration-Memory Einstellungen bleiben erhalten. OFF gespeicherten Bootloader deaktiviert Das Modul startet normal.
3.5.2. Funktionen des CFG-Tasters Mit Hilfe des auf dem Modul befindlichen CFG-Tasters lassen sich verschiedene WiFi-Modi einstellen. · WiFi enable · WiFi disable · WPS Start Halten Sie den Taster so lange gedrückt, bis die Status LED anfängt zu blinken. Lassen Sie den Taster los, um den aktuellen Modus zu übernehmen. Die Blinkfrequenz zeigt an, welcher Modus aktuell ausgewählt wurde.
3.6. Analoge Ausgänge 3.6.1. Technische Daten Technische Daten DA Wandler Anzahl Kanäle: 4 mit je 16-Bit Auflösung Spannungsbereiche: 0-5V, 0-10V, ±5V, ±10V Galvanische Trennung: max. 500V R Last: 2 kOhm Relative Accuracy: Min: -16 LSB / Max: +16 LSB Bipolar Zero Error (T = 25°C): ±4 ppm FSR/°C Zero-Scale Error (T = 25°C): ±2 ppm FSR/°C Full-Scale Error Temp.
3.6.2.
3.6.3.
3.7. Analoge Eingänge 3.7.1. Technische Daten Technische Daten AD Wandler Anzahl Kanäle: 16 mit je 16-Bit Auflösung Spannungsbereiche: 0-5V, 0-10V, ±5V, ±10V Strombereich: 0..50mA Galvanische Trennung: max. 500V zur Spannungsversorgung des Moduls Eingangswiderstand: > 500kOhm Integral Linearity Error: Min: -1.5 LSB / Max: +1.5 LSB Bipolar Full-Scale Error: Min: – 50 LSB / Max: +50 LSB Unipolar Full-Scale Error: Min: – 70 LSB / Max: +70 LSB Genauigkeit: +3 ppm/C° Zero Error Temp.
3.7.2.
3.7.3.
3.7.4.
Hinweis: Für die Strommessung müssen separate Shunt Widerstände auf das Modul gesteckt werden. Diese sind als Zubehör bei uns erhältlich. Die Steckplätze dafür befinden sich links neben dem 18 poligen Steckverbinder.
3.8.
3.9. Digitale Ausgänge 3.9.1. Technische Daten Technische Daten Relais 1A Anzahl Kanäle pro Block: 8 Typ: Schließer (NO) Max. Schaltspannung: 36V AC / DC Max. Schaltstrom: 0.5A AC / DC Max. Transportstrom: 1A AC / DC Max. Schaltleistung: 10W Technische Daten Relais 3A Anzahl Kanäle pro Block: 8 Typ: Schließer (NO) Max. Schaltspannung: 48V AC / DC Max. Schaltstrom: 3A AC / DC Max. Transportstrom: 3A AC / DC Max.
3.9.2.
3.9.3.
3.9.4.
3.9.5.
3.9.6.
3.9.7. Timeout Funktion Die Timeout-Funktion bietet die Möglichkeit, im Falle eines Verbindungsabbruches zwischen Steuer PC und dem DEDITEC Modul, automatisch die Ausgänge ein- oder auszuschalten. Dies kann für jeden einzelnen Kanal per Software definiert werden. Funktionen: · Zeitlich festlegbare automatische Aktivierung der Timeout-Schutz-Funktion im Timeout-Fall (zwischen 0,1 Sekunden und 6553 Sekunden). · Im Timeout-Fall können digitale Ausgänge aktiviert, deaktiviert unverändert gelassen werden.
3.10. Digitale Eingänge 3.10.1. Technische Daten Technische Daten Optokoppler Anzahl Kanäle pro Block: 8 Spannungsbereiche: 15V – 30V DC/AC (optional 5V – 15V oder 30V – 50V DC/AC) Eingangsstrom: max. 14mA Galvanische Trennung: bis 2,5kV AC für 1 Minute Zusätzliche Funktionen · 16 Bit Zähler je Kanal. · Maximal mögliche Zählvorgänge: 65535 / Kanal. Nach Speicherüberlauf Reset auf Null. · Interne Zähllogik bis 10kHz mit Latch Funktion.
3.10.2.
3.10.3. Anschlussbeispiel eines Optokopplers Beim Anschluss einer Gleichspannungsquelle kann die Polarität vernachlässigt werden.
3.10.4.
3.10.5. Eingangsfilter Jeder Eingang kann mit einer digitalen Filterfunktion versehen werden. Unerwünschte Impulse werden somit vom System ignoriert. Die gültige Impulsdauer lässt sich softwareseitig zwischen 0..255ms einstellen. Ein Wert von 0 ms bedeutet, dass der Filter nicht aktiv ist.
3.10.6. Zustandsänderungen überwachen Diese Funktion ermöglicht es, Zustandsänderungen an den Eingängen zu überwachen. Eine interne Logik erkennt einen Zustandswechsel von High nach Low oder umgekehrt und schreibt diese Information in ein Register. Die LED IChange leuchtet auf. Durch Auslesen der Software Register kann diese Information wieder zurück gesetzt und die LED deaktiviert werden.
Softw are Beschreibung IV Software Beschreibung | Seite 73
4. Software Beschreibung 4.1. Benutzen unserer Produkte 4.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. Im Kapitel DELIB API Referenz finden Sie alle Funktionen unserer Treiberbibliothek erklärt und mit Anwendungsbeispielen versehen. 4.1.2.
4.1.3. Ansteuerung auf Protokollebene Für Produkte mit Ethernet-, CAN- oder Serieller-Schnittstelle bieten wir Ihnen unsere offenen Protokolle an. 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.
4.1.4. DELIB CLI (command-line interface) für Windows Da in manchen Programmiersprachen (wie zum Beispiel PHP) keine DLLs eingebunden werden können, gibt es hierzu ein extra Kommandozeilen-Befehl, der direkt aus dem Programm (mit den entsprechenden Parametern) heraus aufgerufen werden kann. Der DELIB CLI Befehl für Windows befindet sich nach der Installation der DELIB Treiberbibliothek im Verzeichnis C:\Programme\DEDITEC\DELIB\programs\cli\ .
Befehl Kanal Wert unit nounit ai 0, 1, 2, ... - hex, volt, mA nounit 0, 1, 2, ... Ganz oder Hexadezimalz ahl - ao - (beginnend mit 0x).
4.1.4.1. 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 DELIBTreiberbibliothek 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.
4.1.4.2. DELIB CLI Beispiele Digitale Ausgänge delib_cli DO1 17 1 schaltet das 18. digitale Relais an delib_cli DO1 3 0 schaltet das 4.
Digitale Eingänge delib_cli DI1 3 Beispiel eines Rückgabewertes: 1 lese den Zustand des 4.
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 "," als auch Punkt "." können zur Kommatrennung verwendet werden) delib_cli AO 7 13.3mA setzt den Strom des 8. analogen Ausgangs auf 13,3 Milliampere (sowohl Komma "," als auch Punkt ".
Analoge Eingänge delib_cli AI 2 Beispiel eines Rückgabewertes: 1234 liest den Wert des 3. analogen Eingangs als dezimalzahl delib_cli AI 2 hex Beispiel eines Rückgabewertes: 0x1FA liest den Wert des 3. analogen Eingangs als hexadezimalzahl delib_cli AI 2 V Beispiel eines Rückgabewertes: 12.500000V liest die Spannung des 3. analogen Eingangs als kommazahl delib_cli AI 2 mA Beispiel eines Rückgabewertes: 20.551600mA liest den Strom des 3.
4.1.5. Ansteuerung über grafische Anwendungen 4.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 4.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.
4.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.
4.1.6. Einbinden der DELIB in Programmiersprachen 4.1.6.1. Einbinden der DELIB in Visual-C/C++ Zur Erleichterung für Verweise auf das DELIB-Include und das DELIB-Lib Verzeichnis werden bei installation der 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.
DELIB.H Eintrag in den Visual-C/C++ Projekt Einstellungen Unter dem Reiter "C/C++" die "Kategorie" Präprozessor auswählen und unter "Zusätzliche Include Verzeichnisse" "$(DELIB_INCLUDE)" eintragen. DELIB.LIB Eintrag in den Visual-C/C++ Projekt Einstellungen Unter dem Reiter "Linker" bei "Objekt-/Bibliothek-Module" die vorhandene Zeile mit der Endung "$(DELIB_LIB)\delib.lib" erweitern.
4.1.6.2. Einbinden der DELIB in Visual-C/C++ (Visual Studio 2015) Zur Erleichterung für Verweise auf das DELIB-Include und das DELIB-Lib Verzeichnis werden bei Installation der 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 Projekteinstellung
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.
DELIB.LIB Eintrag in den Visual-C/C++ Projekt Einstellungen Unter dem Reiter "Linker" bei "Allgmein" "$(DELIB_LIB)\delib.lib" eintragen.
4.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" im Verzeichnis C:\Programme\DEDITEC\DELIB\include\ die Datei delib.cs zum Importieren öffnen.
4.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" im Verzeichnis C:\Programme\DEDITEC\DELIB\include\ die Datei delib.pas zum Importieren öffnen.
4.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..." im Verzeichnis C:\Programme\DEDITEC\DELIB\include\ die Datei delib.bas zum Importieren öffnen.
4.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" im Verzeichnis C:\Programme\DEDITEC\DELIB\include\ die Datei delib.vb zum Importieren öffnen.
4.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 Editor" öffnen.
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 zum importieren öffnen.
4.1.6.8. Einbinden der DELIB in LabVIEW 4.1.6.8.1. Einbinden der DELIB in LabVIEW Das LabVIEW-Beispielprogramm "Deditec_Modul_Control.vi" ist keine EXE-Datei und benötigt deshalb zur Ausführung die 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 DLL ...
- Wählen Sie den Punkt "VIs für DLL erstellen" und drücken auf "Weiter" Software Beschreibung | Seite 97
- Im nächsten Fenster über die Browser-Buttons den Speicherort der delib.dll und der delib.h Datei angeben und mit "Weiter" fortfahren.
- Nochmals auf "Weiter" klicken um fortzufahren. - Die Header-Datei wird nun analysiert. Anschließend fahren Sie im folgendem Fenster wieder mit "Weiter" fort.
- Den weiteren Anweisungen folgen, bzw. die Konfiguration und den Speicherort für die VIs anpassen.
- Im folgendem Fenster wählen Sie im Drop-Down-Menü die Option "Einfache Fehlerbehandlung" aus und fahren mit "Weiter" fort.
- Bei VIs die mit 64-Bit Werten arbeiten, muss die Darstellung von "Vorzeichenloses Long" in "Vorzeichenloses Quad" geändert werden.
- 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) .
- Es erscheint eine Zusammenfassung der ausgeführten Schritte. - Zum Fortfahren auf "Weiter" drücken. - Die VIs werden nun erzeugt und können verwendet werden.
4.1.6.8.2. Verwendung der VIs in LabVIEW 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 Spannungsbereiches eines A/D Wandlers.
Die delib.h Datei finden sie nach der Installation der DELIB Treiberbibliothek im Verzeichnis C:\Programme\Deditec\DELIB\Include In LabVIEW könnte die Funktion dann so aussehen: Software Beschreibung | Seite 106
4.1.6.8.3. Setzen der Modul-ID in LabVIEW Im folgendem Beispiel wird das Ansprechen eines RO-ETH-Moduls in LabVIEW gezeigt. Die Verbindung zum Modul wird mittels der Funktion DapiOpenModule hergestellt. Die Definition für diese Funktion lautet: ULONG DapiOpenModule(ULONG moduleID, ULONG nr); 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. Die delib.
Beispiel in C: handle = DapiOpenModule(RO_ETH, 0); // öffnet ein RO-ETH-Modul mit Modul-Nr 0. 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.
4.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. Anschließend müssen die verwendeten Module noch importiert werden.
4.2. DELIB Treiberbibliothek Die DELIB Treiberbibliothek enthält die DELIB-API und 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.
4.2.1.
DELIB Treiberbibliothek ETH Während die DELIB für ALLE Produkte zur Verfügung steht, wird bei der DELIBETH 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. USB Treiber installiert. Die DELIB-ETH.
4.2.1.1. Unterstützte Programmiersprachen Die folgenden Programmiersprachen Treiberbibliothek unterstützt: werden von der DELIB ·C · C++ · C# · 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 von der Programmiersprache/Entwicklungsumgebung unterstützen wir sowohl 32-Bit als auch 64-Bit Projekte.
4.2.1.2. Unterstützte Betriebssysteme Die folgende Betriebssysteme sind mit 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 · Windows Vista x64 · Windows XP x64 · Windows Server 2003 x64 · Linux x64 4.2.1.3.
4.2.2. DELIB Setup Das DELIB Setup Treiberbibliothek. führt Sie durch die Installation unserer DELIB Anschließend werden Sie durch den Konfigurationsvorgang sowie Funktionstest für unsere verschiedenen Produkte geführt. Die aktuelle Version des DELIB Setups finden Sie auf unserer Homepage zum Download. Link: https://www.deditec.de/delib Das DELIB Setup führt Sie Schritt für Schritt durch die Installation der DELIB Treiberbibliothek einschließlich der Konfiguration und Inbetriebnahme der Produkte.
Das DELIB Setup prüft das Betriebssystem und ob bereits Versionen der DELIB Treiberbibliothek installiert sind. Anschließend können Sie wählen ob Sie die 32-Bit oder 64-Bit Version der DELIB Treiberbibliothek installieren möchten.
Installationsfortschritt der Treiberbibliothek.
Zusätzlich können Sie wählen, ob Sie die DELIB Beispielprogramme installieren.
Installationsfortschritt der DELIB Beispielprogramme.
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.
4.2.3. DELIB Configuration Utility 4.2.3.1. Einführung Das DELIB Configuration Utility ermöglicht die Konfiguration der Ethernet-, CANoder seriellen Schnittstelle eines Produktes. Die Konfiguration ist für die erste Inbetriebnahme erforderlich. Ausgenommen sind Produkte mit USB-Schnittstelle. Diese müssen nur konfiguriert werden, falls Sie mehrere identische USB Produkte an einem PC betreiben möchten. Das DELIB Configuration Treiberbibliothek enthalten.
4.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.
4.2.3.2.1. Modul Konfiguration USB Die Konfiguration von USB-Modulen ist nur nötig, um mehrere Module einer USBProduktfamilie (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 Produkte über die Modul-ID eindeutig identifizierbar sind.
Die "Aktuelle Modul-Nr" bezieht sich auf die im Modul gespeicherte Modul Nummer. Diese Nummer dient zur Identifikation und muss für identische USBProdukte unterschiedlich konfiguriert werden. Mit dem Punkt "Neue Module-Nr" kann dem Produkt eine neue Nummer zwischen 0 und 255 zugewiesen werden. Im Auslieferungszustand haben alle Produkte die Modul-Nummer 0. Mit "Neue Module-Nr.
4.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. RO-USB-O16 und USB-RELAIS-8) im System, ist keine Konfiguration nötig, da die Produkte über die ID eindeutig identifizierbar sind.
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.
Schritt 3 1. Wählen Sie das entsprechende USB-Modul aus. 2. Ändern Sie die Neue Modul-Nr. auf "1". Im Auslieferungszustand ist diese Nummer bereits mit "0" vordefiniert. 3. Mit Neue Modul-Nr. setzen wird die neue Module-Nr. im Modul gespeichert.
Schritt 4 Schließen Sie nun zusätzlich das zweite USB-OPTOIN-8 an den PC an. 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. Mit Aktualisieren werden nun beide Module angezeigt.
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.
4.2.3.2.2. Modul Konfiguration Ethernet Bei der Konfiguration von Ethernet Produkten kann das Netzwerk automatisch nach DEDITEC Produkten durchsucht werden. Auch eine manuelle Konfiguration kann durchgeführt werden.
Im letzten Schritt der Konfiguration können Sie weitere Optionen für die Kommunikationsverschlüsselung oder der I/O Namensvergabe durchführen. Wenn Sie sich für eine manuelle Konfiguration entschließen, beginnen Sie an dieser Stelle. Bei der Verschlüsselung kann zwischen Deaktiviert, User oder Admin ausgewählt werden.
User · verschlüsselte Kommunikation · Lese-Zugriff auf System-Einstellungen Admin · verschlüsselte Kommunikation · Schreib-Lese-Zugriff auf System-Einstellungen Software Beschreibung | Seite 132
In das Feld Passwort muss das gewünschte Passwort für die Verschlüsselung eingetragen werden. Durch einen Klick auf den Button "Einstellungen zur Verschlüsselung auf das Modul übertragen" werden Sie aufgefordert eine Hardware-Taste am Produkt zu betätigten. Erst nach dem Betätigen dieser Taste werden die Verschlüsslungsoptionen vom Produkt übernommen.
Unsere Ethernet-Produkte, bieten Ihnen die Möglichkeit, für die digitalen und analogen I/Os, Namen zu vergeben. Diese werden beispielsweise auf der Weboberfläche oder in unserer App verwendet. Hinweis Zum Speichern der Kanalnamen wird eine Admin-Kommunikation benötigt. Die maximale Zeichenlänge beträgt 16.
4.2.3.2.2.1. Aut omat ische Suche Verhalten des DELIB Configuration Utility bei der Verwendung mehrerer Netzwerkadapter in einem Windowssystem. Bei der Suche nach DEDITEC Ethernet Modulen über den primären Netzwerkadapter (ETH0) des PCs werden die Netzwerkeinstellungen des DEDITEC Produktes ignoriert. Dies bedeutet, dass unsere Ethernet Produkte selbst dann gefunden werden, wenn diese bedingt durch die IP-Adresse und Subnetzmaske nicht im selben Netzwerk sind.
Folgende Grafik zeigt eine Übersicht der automatischen Suche.
Nach der automatischen Suche werden alle gefundenen DEDITEC Ethernet Produkte in einer Übersicht dargestellt. Die Übersicht zeigt die MAC-Adresse, den DHCP Status, die IP, den Modulnamen, den Produkttypen sowie den Status der Write-Protection.
Mit einem Klick auf ein Modul kann die Netzwerkkonfiguration für dieses Modul geändert werden. Bitte beachten Sie, dass die Write-Protection ausgeschaltet sein muss, wenn Sie die Einstellungen speichern möchten. Die Write-Protection kann über die Authentifzierung temporär deaktiviert werden. siehe Kapitel Authentifizierung Hinweis Bitte beachten Sie, dass in diesem Schritt nur die Modul-Konfiguration geändert wird.
4.2.3.2.2.2. Verschlüsselung einricht en Um wichtige Modul-Einstellungen (z.B. Netzwerkkonfiguration) über TCP bearbeiten zu können, muss die Kommunikation zwischen Modul und PC im sogenannten verschlüsselten Admin-Modus laufen. Hierzu muss im Modul und auf der PC-Seite ein Passwort zur Verschlüsselung konfiguriert werden. Diese Konfiguration kann wahlweise über den automatischen Assisten oder manuell erstellt werden.
Schritt 1 - Konfiguration Modul-Seite Zuerst wird das Modul via Weboberfläche konfiguriert. Geben Sie die IP-Adresse des Moduls (Auslieferungszustand 192.168.1.1) in einem Internet-Browser ein. Sollte eine Authentifizierung notwendig sein, loggen Sie sich ein (Auslieferungszustand: user=admin + passwort=admin). Öffnen Sie nun die Sicherheitseinstellungen (Configuration Security) Falls deaktiviert, aktivieren Sie die Einstellung Allow admin-encrypted protocol.
Mit Update parameter wird, sofern ein neues Passwort korrekt eingegeben wurde, die Konfiguration abgeschlossen. Hinweis Bei der Eingabe des Passwortes sind alle Zeichen erlaubt.
Schritt 2 - Konfiguration PC-Seite Starten Sie das DELIB Configuration Utility und wählen Sie das gewünschte Ethernet-Modul aus. Hier bei Verschlüsselung "Admin" auswählen.
Im neu erscheinenden Passwort Feld das Passwort aus Schritt 1 eintragen. Mit Test kann die neue verschlüsselten Admin-Modus Kommunikation getestet werden. Das DELIB Configuration Utility kann nun geschlossen werden.
Automatische Konfiguration Starten Sie das DELIB Configuration Utility und wählen Sie das gewünschte Ethernet-Modul aus. 1) Bei Verschlüsselung Admin auswählen 2) Im neu erscheinenden Passwort Feld ein Passwort eintragen 3) Mit Einstellungen zur Verschlüsselung auf das Modul übertragen, wird die aktuelle Verschlüsselungs-Einstellung auf das Modul übertragen Hinweis Bei der Eingabe des Passwortes sind alle Zeichen erlaubt.
Um das Modul vor unrechtmäßigen Zugriffen zu schützen, muss beim Editieren von System-Einstellungen eine Authentifizierung durchgeführt werden. Je nach Produkttyp werden Sie aufgefordert, den Firmware-Reset-Taster des Moduls für eine gewisse Zeit zu betätigen (RO-ETH und RO-CPU-800) oder DIPSchalter-Einstellungen zu verändern (alle anderen Produkte, z.B. RO-ETH/LC, NET-ETH, ETH-RELAIS-8, ...). Im nachfolgenden Beispiel wird gezeigt, wie die Authentifzierung bei einem ROETH/LC Modul durchgeführt wird.
Im zweiten Schritt wird DIP-Schalter2 wieder in die Ausgangsstellung zurückgesetzt.
Die Authentifzierung wurde erfolgreich abgeschlossen. Sie sind nun temporär berechtigt, System-Einstellungen zu editieren.
Nach erfolgreicher Authentifizierung werden abschließend die VerschlüsselungsEinstellungen auf das Modul übertragen.
4.2.3.2.3. Modul Konfiguration C AN Wenn Sie eine neue CAN-Konfiguration erstellen, müssen Sie zuerst die Produktfamilie auswählen.
Bei der Konfiguration von RO-CAN Modulen geschieht die Konfiguration des Produktes über eine serielle Verbindung. Hierzu muss der entsprechende COM Port festgelegt werden. Zusätzlich muss die Anzahl der Übertragungsversuche im Falle eines Kommunikationsfehlers angegeben werden. Mit dem Button "Test" wird geprüft, ob eine Kommunikation über den angegebenen COM Port möglich ist.
Die Konfiguration eines RO-CAN2 oder BS-CAN Moduls findet über die USBSchnittstelle statt. Wie bei einem USB-Interface muss bei der Verwendung identischer Produkte eine unterschiedliche Modul-Nr zur eindeutigen Identifikation vergeben werden. siehe Kapitel Beispiel zur Konfiguration identischer USB-Module Zusätzlich zur Modul-Nr kann auch die Anzahl an Übertragungsversuchen im Falle eines Fehlers festgelegt werden.
4.2.3.2.4. Modul Konfiguration Seriell Wenn Sie eine neue serielle Konfiguration erstellen, müssen Sie zuerst die Produktfamilie auswählen.
Bei der Konfiguration der seriellen Produkte muss der entsprechende COM-Port festgelegt werden. Zusätzlich muss die Anzahl der Übertragungsversuche im Falle eines Kommunikationsfehlers angegeben werden. Mit dem Button "Test" wird geprüft, ob eine Kommunikation über den angegebenen COM-Port möglich ist.
4.2.3.3. Modul testen Nachdem die Konfiguration der Schnittstelle durchgeführt wurde, kann anschließend das Produkt getestet werden.
Test der Firmware und Anzeige der Modul-Info.
Die Modul-Info zeigt alle Eigenschaften des Produktes. Neben der Anzahl der vorhandenen I/Os werden auch die unterstützten Software-Features angezeigt.
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.
4.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.
4.2.4. Benutzen des Modulselectors Um unsere Produkte mit der DEDITEC-Software benutzen zu können, müssen diese über den Modul Selector ausgewählt werden. Je nach Modul, kann dies über verschiedene Schnittstellen bewerkstelligt werden. 1. per USB Haben Sie das Modul über die USB-Schnittstelle mit dem PC verbunden, kann das Modul direkt über einen Klick auf den Modul Selector in der rechten oberen Ecke ausgewählt werden.
2. per Ethernet Sollten Sie Ihr Modul über die Ethernet-Schnittstelle angeschlossen haben, können Sie das Modul direkt über die im Netzwerk eingebundene IP-Adresse finden. Fragen Sie hierfür gegebenenfalls Ihren Systemadministrator. Klicken Sie im Modul Selector auf "Add IP/Hostname to list", tragen Sie dort die automatisch erhaltene IP-Adresse unter dem Reiter "IP Adresse" ein und bestätigen Sie die Eingabe mit "Save".
Ist Ihr Modul im DHCP-Modus (siehe Kapitel: LAN Netzwerkkonfiguration) können Sie dieses auch mit Hilfe des Board Namens verbinden. Diesen finden Sie im Modul Config im Bereich "LAN - Netzwerkinformation". Für eine Verbindung per Board-Name klicken Sie im Modul Selector auf "Add IP/Hostname to list". Tragen Sie dort den Namen unter dem Reiter "Hostname" ein und bestätigen Sie die Eingabe mit "Save".
3. per WiFi (nur bei WEU-Modulen) Um das Modul per WiFi zu verbinden, muss dieses im Vorfeld mit USB oder Ethernet verbunden werden. Nun kann unter dem Menüpunkt WiFi-Konfiguration WiFi aktiviert werden. Die an das Modul vergebene IP-Adresse finden Sie unter WiFi-Info. 4. per WPS (nur bei WEU-Modulen) Ist das Modul noch nicht mit dem PC-Netzwerk verbunden, führen Sie den Verbindungsaufbau, wie im Kapitel CFG-Taster beschrieben, durch.
Bei einer erfolgreichen Verbindung mit dem Modul werden nun im Bereich des Modul Selector verschiedene Information, wie unten beschrieben, dargestellt. Beschreibung: 1. Zeigt den Namen der verwendeten DEDITEC Software an 2. Zeigt die aktuell verwendete Versionsnummer der Software an 3. Zeigt die aktuell verwendete DELIB Version an 4. Durch einen Klick auf das Fahnensymbol lässt sich die Sprache zwischen deutsch und englisch ändern 5. Schließt das Programm 6.
Informationsfenster Je nach angeschlossenem Modul werden hier Informationen zu dem verwendeten Interface und den Submodulen angezeigt. Unter Anderem können Sie hier die Anzahl der angeschlossenen Ein- bzw. Ausgänge einsehen und welche DEDITEC Befehle unterstützt werden. In diesem Beispiel wurde ein WEU-RELAIS-8 aus unserer Startet-Serie mit 8 digitalen Ausgängen über Ethernet angeschlossen.
4.2.5. DELIB Module Config Das Module Config ist eine neue Anwendung zur Konfiguration und zum Testen unserer Produkte. Dieses Programm ist im Installationspaket unserer DELIB Treiberbibliothek enthalten. 4.2.5.1. Modul Konfigurationen Im Konfigurations-Bereich können Konfigurationseinstellungen des Moduls eingesehen oder geändert werden.
4.2.5.1.1. Modul-Infoseite Mit dem Module Config lässt sich Ihr WEU-Modul nicht nur schnell und einfach konfigurieren, Sie können sich auch alle wichtigen Modulinformationen auf nur einen Blick anzeigen lassen. Modul-Name Zeigt den Namen des aktuell verwendeten DEDITEC Modules an. Modul-ID Zeigt die ID Ihres verwendeten Moduls an. Diese wird für das Programmieren eigener Software mit DEDITEC Befehlen benötigt. Firmware-Revision Zeigt die aktuelle auf dem Modul installierte Firmware-Version an.
4.2.5.1.2. Modul-Identifikation Identifizieren Sie das Modul, welches Sie gerade mit dem Modul Config ansprechen, um Verwechslungen vorzubeugen. Dies ist besonders hilfreich, wenn mehrere Module gleichzeitig in Betrieb sind. Durch das Betätigen von "Start" wird die Identifikation gestartet. Es fängt nun die Status-LED wiederholt an zu blinken. Dieser Vorgang wird durch drücken von "Stop" beendet.
4.2.5.1.3. LAN Netzwerkinformationen Alle wichtigen LAN Netzwerkinformationen auf einen Blick. Auf dieser Informationsseite finden Sie die aktuellen LAN-Einstellungen Ihres Modules. MAC-Adresse Die MAC-Adresse ist die physikalische Adresse des Produktes und ist fest mit der Hardware verbunden. Board Name Zeigt den aktuellen Board Name Ihres Modules an. LAN-Status Hier wird der Verbindungsstatus Ihres angeschlossenen Moduls angezeigt.
4.2.5.1.4. LAN Netzwerkeinstellungen Hier können Sie Änderungen an den Netzwerkeinstellungen des ausgewählten WEU-Moduls vornehmen. Board Name Der Board Name kann zur Geräteidentifizierung genutzt werden. Ist DHCP aktiv, wird der Board Name als Hostname verwendet. Diese Option ist besonders bei der Verwendung mehrerer Module sehr hilfreich. So können Sie zum Beispiel einem Modul einen speziellen Board Name wie "Garage" oder "Gartenlaube" vergeben.
Network configuration protection active Wenn diese Option aktiviert ist, können Netzwerkkonfiguration nur noch über die Weboberfläche geändert werden. Dies verhindert unautorisierten Zugriff (Beispielsweise über das Modul Config). auf die Netzwerkkonfiguration DHCP active Ist diese Option aktiviert, versucht das Gerät beim Start eine gültige IP-Adresse von einem DHCP Server im Netzwerk zu beziehen. Der Board Name wird als Hostname verwendet.
4.2.5.1.5. WiFi Netzwerkinformationen Alle wichtigen WiFi Netzwerkinformationen auf einen Blick. Auf dieser Informationsseite finden Sie die aktuellen WiFi-Einstellungen Ihres Moduls. MAC-Adresse Die MAC-Adresse ist die physikalische Adresse des Produkts und ist fest mit der Hardware verbunden. Board Name Zeigt den aktuellen Board Name Ihres Moduls an.
WLAN-Status Hier wird der Verbindungsstatus Ihres angeschlossenen Moduls angezeigt. Sollte bei Ihnen der Status "Query not supported (FW-Update)" dargestellt werden, benötigt Ihr Modul eine aktuellere Firmware. WLAN active Zeigt an, ob das Modul über WLAN verbunden ist. IP-Adresse, Netzmaske, Standard Gateway und TCP-Port Zeigt die aktuelle Netzwerkkonfiguration mit der das Modul verbunden ist, an. Router name Zeigt an, welcher Router Name zum Verbinden via WLAN verwendet wird.
4.2.5.1.6. WiFi Netzwerkeinstellungen Hier können Sie die Änderungen an den WiFi-Einstellungen Ihres WEU-Moduls vornehmen. Board name Der Board Name kann zur Geräteidentifizierung genutzt werden. Ist DHCP aktiv, wird der Board Name als Hostname verwendet. Diese Option ist besonders bei der Verwendung mehrerer Module sehr hilfreich. So können Sie zum Beispiel einem Modul einen speziellen Board Name wie "Garage" oder "Gartenlaube" vergeben.
WLAN active Mit dieser Option können Sie das WLAN Ihres Moduls aktivieren oder deaktivieren. Router name Hier können Sie den Routername eintragen, welcher bei einer Verbindung via WLAN verwendet werden soll. Fragen Sie hierfür gegebenenfalls Ihren Systemadministrator. Password Hier können Sie das Routerpasswort des verwendeten Routers eingetragen werden. Fragen Sie hierfür gegebenenfalls Ihren Systemadministrator. TCP port Hier wird der verwendete TCP-Port dargestellt.
4.2.5.1.7. WiFi WPS-Verbindung Hier können Sie Ihr WEU-Modul mit Hilfe der WPS-Funktion mit Ihrem PCNetzwerk verbinden. Klicken Sie hierfür den WPS-Knopf an Ihrem Router. Informationen dazu finden Sie im Handbuch Ihres Netzwerkgerätes. Klicken Sie während des Suchlaufs Ihres Routers auf den "WPS-Start"-Knopf im Modul Config oder betätigen Sie den Taster direkt auf dem Board Ihres WEUModuls.
4.2.5.1.8. NTP-Konfiguration Hier können Änderungen am NTP-Service vorgenommen werden. NTP service active Ist diese Option aktiviert, wird der NTP-Service aktiviert. Server Hier können Sie den NTP-Server, der verwendet werden soll, einstellen. Port Hier können Sie den NTP-Port, der verwendet werden soll, einstellen.
Timezone Hier können Sie die Zeitzone, die vom Modul verwendet werden soll, einstellen. Werkseinstellungen laden Hier wird die TCP-Verschlüsselungseinstellungen auf die Werkseinstellungen zurückgesetzt. Diese sehen wie folgt aus: Werkseinstellungen NTP service active on Server 0.de.pool.ntp.
4.2.5.1.9. Serielle Konfiguration Hier können Sie die gesamte Konfiguration unserer Produkte mit serieller Schnittstelle vornehmen. Vorzugsmodus (Special mode) Im Vorzugsmodus wird das Modul automatisch mit folgenden Einstellungen betrieben: Baud rate: 115200 Modul-Nr.
Baud rate Ist der Vorzugsmodus deaktiviert, kann die Geschwindigkeit der Kommunikation festgelegt werden. 625000 250000 125000 115200 57600 50000 38400 19200 9600 4800 2400 1200 600 300 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.
4.2.5.1.10. I/O Kanal-Namen Hier können Sie die Kanalnamen Ihres Haupt- bzw. Submoduls einstellen. Sie können hier sämtliche Kanäle Ihres Haupt- oder Submoduls individuell benennen und speichern. Hinweis: Der Kanalname darf maximal 16 Zeichen lang sein. Set default channel name Schreibt den oben abgebildeten Text als Namensvorschlag in die Textfelder. Zum Übernehmen auf das Modul muss zusätzlich gespeichert werden.
4.2.5.1.11. C AN Konfiguration 4.2.5.1.11.1. CAN St at us In diesem Bereich finden Sie alle Informationen rund um den Status des CANInterfaces und den TX- und RX-Paketen.
Hier werden alle wichtigen Statistiken zu den TX- und RX-Pakten, wie zum Beispiel die Anzahl der gesendeten und empfangenen CAN-Pakete und deren Übertragungsgeschwindigkeit angezeigt.
4.2.5.1.11.2. CAN Main In diesem Bereich können Sie Einstellungen direkt am CAN-Interface vornehmen. Mit Hilfe dieser Einstellungen lässt sich das CAN Interface konfigurieren. Baudrate Hier kann die Baudrate eingestellt werden, mit der das Modul kommunizieren soll. Address Mode Der Address Mode gibt vor, wie viel Bit zur Adressierung verwendet werden.
DT-CAN-CMD-MODE - Modul-Address[hex] Diese Modul-Address legt fest, unter welcher Adresse das Modul im CAN-Bus identifiziert wird. DT-CAN-CMD-MODE - Response-Address[hex] Response-Address gibt vor, an welche Modul-Adresse eine Bestätigung gesendet wird, sobald ein Paket empfangen wurde.
Diese Einstellungen dienen der Konfiguration der angeschlossenen Submodule. Es kann der jeweilige Filter / Modus eingestellt werden, in dem die angeschlossenen Submodule gestartet werden. A/D Mode Der Wertebereich gibt den Bereich an, in dem analoge Signale, digital (z.B. im Bereich 0-10V) umgesetzt werden. A/D Filter Hier kann der A/D Filter eingestellt werden. D/A Mode Der Wertebereich gibt den Bereich an, in dem digitale Signale, analog (z.B. im Bereich 0-10V) umgesetzt werden.
Timeout-Mode Hier kann der Timeout-Mode eingestellt werden. Mehr Informationen zu den einzelnen Modi finden Sie im Kapitel: DapiSpecialCMDTimeout. Wird kein Timeout gewünscht kann dieser mit "Deactivate", deaktiviert werden. Output Timeout Gibt die Zeit vor, nach der die Ausgänge abschalten, wenn ein Modul nicht mehr erreicht werden kann. CNT48 Mode Stellt ein, welcher Counter Modus benutzt werden soll. Es stehen hierbei 6 verschiedene Modi zur Auswahl.
4.2.5.1.11.3. CAN T X/R X Modi Hier können Sie Einstellungen an den TX- und RX-Paketen vornehmen. Hier können Sie Einstellungen an den TX-Paketen vornehmen. Activate Aktiviert diesen TX-Mode Trigger Mode Gibt an mit welchem Modus das senden stattfinden soll. Zur Auswahl stehen die Modi "Interval" , "RX-Event" und "Fast as possible".
Intervall Wird der Interval-Modus eingestellt, können sie zusätzlich angeben, in welchem Zeitintervall gesendet werden soll. Address Mode Gibt den Bit-Mode an welcher verwendet werden soll. Ausgewählt werden kann zwischen 11-Bit Mode und 29-Bit Mode Send to CAN-ID[hex] Sendet die CAN-Pakete an diese Adresse. In dem obigen Beispiel wird an Adresse 0x200 gesendet. Data to send Hier können Sie angeben, welche Daten an die zuvor eingestellte Adresse gesendet werden sollen.
Hier können Sie Einstellungen an den RX-Paketen vornehmen. Activate Aktiviert diesen RX-Mode Address Mode Hier kann der Address Mode 11-Bit oder 29-Bit eingestellt werden. Receive at CAN-ID[hex] Gibt die Empfängeradresse an. In den obigen Beispiel wird ein CAN-Paket auf der Adresse 0x100 empfangen. Data to send Wird ein Paket an der eingestellten Adresse empfangen, wird der Inhalt des Datenpaketes an die digitalen Ausgänge 1-64 weitergeleitet, woraufhin dort die Ausgänge ein- oder ausgeschaltet werden.
4.2.5.2. I/O-Test Im I/O Bereich können Tests an den Modulen vorgenommen werden. 4.2.5.2.1. Timeout Test-Funktion Im "Read/Write" Bereich können Einstellungen am Timeout vorgenommen werden. Mit diesen Funktionen lässt sich ein Timeout-Fall auslösen. 1 Das Feld zeigt durch wiederholtes Blinken an, ob eine Verbindung zum Modul besteht. Bleibt das Feld leer, ist die Kommunikation unterbrochen. 2 Durch das Entfernen des Häkchens, wird die Verbindung unterbrochen und somit ein Timeout-Fall ausgelöst.
4.2.5.2.2. Digital In Hier finden Sie Informationen zu den Digitalen Eingängen, sowie den Eingangszähler und den FlipFlop-Filter. State on/off Zeigt den aktuellen Zustand der einzelnen Eingangskanäle. Counter Zeigt die Zählerstände der Eingangszähler an. FlipFlop Zeigt die Änderung der Eingangszustände seit dem letzten Auslesen an. Read with reset Mit dieser Option wird festgelegt, ob die Zähler beim nächsten Lesen zurückgesetzt werden sollen.
4.2.5.2.3. Digital Out Hier können Sie die einzelnen digitalen Ausgänge Ihres Modules an- und ausschalten. Eine LED an jedem Ausgangsrelais auf dem Board Ihres Modules, zeigt den aktuellen Status des Ausganges an (LED an = Relais an). On/Off Schaltet das jeweilige Ausgangsrelais an oder aus. Readback Zeigt den aktuellen Status des jeweiligen Relais an (on oder off). Switch all states OFF / Switch all states ON Mit diesen Knöpfen, lassen sich alle Ausgänge des Modules gleichzeitig an- oder ausschalten.
Kanäle schalten mit Timer-Funktion (Wird nur angezeigt, wenn es vom Modul unterstützt wird) Geben Sie im Timer Bereich eine Zeit (in Sekunden) an, nach der die Relais ein oder ausgeschaltet werden sollen. Mit "set" starten Sie den Timer. Invert DO-Timer Ist diese Option aktiviert, wird das Relais nach Ablauf des Timers deaktiviert. Ist diese Option deaktiviert, wird das Relais nach Ablauf des Timers aktiviert.
4.2.5.2.4. Analog In Hier können Sie Einstellungen am A/D-Mode ändern und testen. Value Liest den wert an dem jeweiligen A/D-Kanals aus. Set mode for all channels Auswahl des Spannungs- /Strombereichs für alle Kanäle, in dem gemessen werden soll. Es werden nur Modi angezeigt, die von Ihrem Modul unterstützt werden. Mode Readback Liest den aktuell verwendeten A/D-Mode aus dem Modul. Set filter for all channels Auswahl des anzuwendenden A/D-Filters für alle Kanäle.
4.2.5.2.5. Analog Out In diesem Bereich können Sie Einstellungen an den D/A-Kanälen Ihres Moduls vornehmen und testen. Value Hier kann der Wert eingetragen werden, der an dem jeweiligen D/A-Kanal ausgegeben werden soll. Mode Auswahl des Spannungs-/ Strombereichs in dem der Wert des jeweiligen Kanals ausgegeben werden soll. Es können nur Modi ausgewählt werden, die vom Modul unterstützt werden. Readback Liest den Ist-Wert des jeweiligen D/A-Kanals zurück.
Set mode for all channels Mit dieser Funktion lässt sich der Spannungs-/ Strombereich für alle verfügbaren Kanäle auf einmal ändern.
4.2.6. DELIB Module Demo Nach Installation der DELIB Treiberbibliothek kann das Programm DELIB Module Demo auf folgendem Weg gestartet werden: Start Programme DEDITEC DELIB Module Demo. DELIB oder DELIB64 Sample Programs 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.
4.2.6.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.
4.2.6.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.
6. Manuelles Lesen/Schreiben. Nur aktiv, wenn "Automatic read/write" deaktivert ist. 7. Hier kann das aktuell ausgewählte Modul via DELIB Configuration Utility konfiguriert werden. 8. Sofern vom Modul unterstützt, erhalten Sie hierüber detaillierte DebugInformationen.
4.2.6.2.1. Module Info Dieses Beispiel zeigt die erweiterten Informationen des Moduls ROSER-O16-M16. 1. Allgemeine Informationen des ausgewählten Moduls. 2. Anzahl der angeschlossenen I/O-Kanäle. 3. Übersicht der unterstützten Interface DELIB Kommandos. 4. Übersicht der unterstützten I/O DELIB Kommandos.
4.2.6.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. Zustände der Eingänge. 5. Änderung der Eingangszustände (seit dem letzten Auslesen).
4.2.6.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. 3. Hier können bestimmte Ausgänge gezielt ein- bzw. ausgeschaltet werden.
4.2.6.5. Analog Input Dieses Beispiel zeigt die analogen Eingänge eines RO-SER-AD32-DA8 Moduls. 1. Auswahl des Kanal-Bereichs, der angezeigt werden soll. 2. Auswahl des Spannungs-/Strombereichs in dem gemessen werden sollen. Wird der Modus nicht unterstützt, erscheint die Meldung "illegal" rechts neben dem Drop-Down Menü. 3. Aktueller A/D-Wert an A/D-Kanal 2.
4.2.6.6. Analog Output Dieses Beispiel zeigt die analogen Ausgänge eines RO-SER-AD32-DA8 Moduls. 1. Auswahl des Kanal-Bereichs, der angezeigt werden soll. 2. Auswahl des Spannungs-/Strombereichs in dem die Werte ausgegeben werden sollen. Wird der Modus nicht unterstützt, erscheint die Meldung "illegal" rechts neben dem Drop-Down Menü. 3. Die aktuell ausgegebenen Spannungen/Ströme werden im Modul gespeichert. Bei Modul-Start werden diese direkt ausgegeben. 4.
5. Setzt die Spannungen/Ströme, die bei Modul-Start ausgegeben werden, auf Werkseinstellung zurück. 6. Deaktiviert die Ausgänge. Es werden keine Spannungen/Ströme ausgegeben. 7. An D/A-Kanal 5 sollen 2,5V ausgegeben werden(Soll-Wert). 8. Liest D/A-Kanal 5 zurück (Ist-Wert).
4.2.7. CAN Configuration Utility Hinweis: Um ein CAN-Modul konfigurieren zu können, muss dieses zunächst in den Software-Modus gebracht werden. Konfiguration Produkte der RO-Serie Konfiguration Produkte der BS-Serie Das CAN-Configuration-Utility ermöglicht eine einfache Konfiguration von Produkten mit einer CAN-Schnittstelle. Es ist möglich Konfigurationen auf Module zu übertragen und auszulesen.
Folgende Einstellungen können verändert werden: · Baudrate · Adress-Modus · Modul-ID · Response-ID · Modi, mit denen Submodule gestartet werden · Automatischer Sendemodus (TX-Modus) · Automatischer Empfangsmodus (RX-Modus) Auf den nachfolgenden Seiten wird Schritt für Schritt gezeigt, wie ein CANModul konfiguriert werden kann.
4.2.7.1.
1. In der "Module-Selection" ein entsprechendes CAN-Modul (z.B. das RO-CAN2) auswählen.
4.2.7.2. Neue Konfiguration Erstellen, Laden, Speichern 1. Über "Create new" kann eine neue CAN-Konfiguration erstellt werden. 2. Mit "Load from Module" kann die aktuell auf dem Modul vorhandene Konfiguration ausgelesen werden. 3. "Load from File" erlaubt es, zuvor auf einem Datenträger gespeicherte CANKonfigurationsdateien zu öffnen.
Mit einem Klick auf "File" in der Menüleiste öffnet sich ein Untermenü: 1. Über den Menüpunkt "New" kann eine neue CAN-Konfiguration erstellt werden. 2. "Load" bietet die Möglichkeit, zuvor gespeicherte CAN-Konfigurationsdateien zu öffnen. 3. Wurde eine CAN-Konfigurationsdatei geöffnet, so kann über "Save" die Datei überschrieben und aktuelle Änderungen gespeichert werden. 4. Durch einen Klick auf "Save as" kann die CAN-Konfiguration in einer neuen Datei abgespeichert werden. 5.
4.2.7.3. Konfiguration auf das Modul übertragen 1. Über "Load from Module" kann die aktuelle Konfiguration des ausgewählten Moduls ausgelesen werden. 2. "Save to Module" überträgt die aktuelle CAN-Konfiguration auf das ausgewählte Modul.
4.2.7.4. Statistiken vom Modul abfragen 1. Über den Menüpunkt CAN-Statistic kann ein Informationsfenster angezeigt werden, welches die Anzahl der gesendeten und empfangenen TX- bzw. RXPakete darstellt. Ebenfalls wird die Anzahl der gesendeten und empfangenen DELIB Kommandos dargestellt.
Folgendes Fenster zeigt die Statistiken an: 1. Dieser Bereich zeigt die Anzahl der gesendeten und empfangenen DELIB Kommandos an. 2. Für den TX-Modus wird hier die Anzahl der gesendeten Pakete aufgelistet. 3. Die empfangenen RX-Pakete werden hier dargestellt. 4. Über "Close" kann das Fenster geschlossen werden.
Hinweis Die CAN-Statistik zählt im Hintergrund weiter, auch wenn das Fenster geschlossen ist. Bei einem Neustart des Moduls wird die Statistik auf null zurückgesetzt.
4.2.7.5. Konfiguration Für jedes CAN-Modul können 4 unterschiedliche Konfigurationen für TX- und RXPakete angelegt werden. Ebenfalls kann definiert werden, in welchem Modus Submodule gestartet werden. So ist es z.B. möglich, dass ein AD-Modul in einem Messbereich von 05V und nicht im Standard Messbereich von ±10V gestartet wird. Auf den nachfolgenden Seiten wird gezeigt, wie die verschiedenen Modi konfiguriert werden.
4.2.7.5.1. Modul Konfiguration 1. Über den Menüpunkt "Edit" wird ein Zusatzfenster geöffnet, in dem die Konfiguration vorgenommen werden kann. 2. Hier kann die Baudrate eingestellt werden, mit der das Modul kommunizieren soll. 3. Der Address Mode gibt vor, wie viel Bit zur Adressierung verwendet werden. 4. Die Modul-Address legt fest, unter welcher Adresse das Modul im CAN-Bus identifiziert wird. 5.
4.2.7.5.2. I/O Konfiguration Diese Einstellungen dienen der Konfiguration der angeschlossenen Submodule. Es kann der jeweilige Filter / Modus eingestellt werden, in dem die angeschlossenen Submodule gestartet werden. Hinweis: Sind die entsprechenden Submodule nicht Einstellungen keine Auswirkung. vorhanden, so haben die 1. Über den Menüpunkt "Edit" wird ein Zusatzfenster geöffnet, in dem die Konfiguration vorgenommen werden kann. 2.
4. Ist zuständig für den Counter Modus von O8-R8 Modulen. Wahlweise kann mit 16-Bit hochgezählt werden, oder mit je 8-Bit hoch- und heruntergezählt werden. 5. Gibt die Zeit vor, nach der die Ausgänge abschalten, wenn ein Modul nicht mehr erreicht werden kann. Wird kein Timeout erwünscht wählen Sie bitte die Einstellung "not active".
6. Stellt ein, welcher Counter Modus (nur für RO-CNT8 Module) benutzt werden soll. Es stehen hierbei 5 verschiedene Modi zur Auswahl. Eine genaue Beschreibung der Modi ist im Handbuch "RO-CNT8" zu finden. 7. In Abhängigkeit von dem unter 6. gewählten Modus, stehen hier entsprechende Submodi zur Auswahl. Eine genaue Beschreibung der Submodi ist im Handbuch "RO-CNT8" zu finden. 8. Stellt den Filter ein, wie lange ein Signal mindestens sein muss, damit dieses als High erkannt wird.
4.2.7.5.3. TX-Konfiguration Es können bis zu 4 unabhängige TX-Modi eingestellt werden. Die Konfiguration ist für alle Modi identisch. Das folgende Beispiel zeigt die Konfiguration für den ersten TX-Modus.
1. Über den Menüpunkt "Edit" wird ein Zusatzfenster geöffnet, in dem die Konfiguration vorgenommen werden kann. 2. Um die Konfiguration zu aktivieren, muss hier der Haken gesetzt werden. 3. Der Trigger Mode gibt vor, unter welcher Bedingung Daten gesendet werden. Entweder im Intervall oder in Abhängigkeit eines empfangenen RX-Paketes. 4. Hier wird das Intervall konfiguriert (wenn unter Punkt 3. "Intervall" ausgewählt), in dem Pakete versendet werden. 5.
4.2.7.5.3.1. Beispiel I nt erv al Das Beispiel beinhaltet folgende Einstellungen: Im Intervall von einer Sekunde werden die Daten der digitalen Eingänge 1-64 an die CAN-Adresse 0x100 gesendet.
4.2.7.5.3.2. Beispiel T rigger Das Beispiel beinhaltet folgende Einstellungen: Werden Daten auf der CAN-Adresse 0x200 empfangen, wird TX-1 ausgeführt (Bild oben), welches die Daten der A/D Kanäle 1-4 an die CAN-Adresse 0x100 versendet (Bild unten).
4.2.7.5.4. RX-Konfiguration Es können bis zu 4 unabhängige RX-Modi eingestellt werden. Die Konfiguration ist für alle Modi identisch. Das folgende Beispiel zeigt die Konfiguration für den ersten RX-Modus.
1. Über den Menüpunkt "Edit" wird ein Zusatzfenster geöffnet, in dem die Konfiguration vorgenommen werden kann. 2. Um die Konfiguration zu aktivieren muss hier der Haken gesetzt werden. 3. Der Address Mode gibt vor, wie viel Bit zur Adressierung verwendet werden. 4. Hier wird festgelegt, auf welcher CAN-ID die Datenpakete erwartet werden. 5. Wurden auf der unter Punkt 4. konfigurierten ID Daten empfangen, so wird hier definiert, welche Aktion vom Modul ausgeführt werden soll. Wie z.B.
4.2.7.5.4.1. Beispiel R X- D A Das Beispiel beinhaltet folgende Einstellungen: Wurde ein CAN-Paket auf der Adresse 0x201 empfangen, wird der Inhalt des Datenpaketes an den analogen Ausgängen 5-8, unter Berücksichtigung des ausgewählten D/A-Modus gesetzt.
4.2.7.5.4.2. Beispiel R X- D O Das Beispiel beinhaltet folgende Einstellungen: Wurde ein CAN-Paket auf der Adresse 0x100 empfangen, wird der Inhalt des Datenpaketes an die digitalen Ausgänge 1-64 weitergeleitet, woraufhin dort die Ausgänge ein- oder ausgeschaltet werden.
4.2.7.6. Aufbau der CAN-Pakete Die folgenden Seiten zeigen, wie die CAN-Pakete der unterschiedlichen I/OModule aufgebaut sind. Ebenfalls wird dargestellt, wie A/D- und D/A-Werte berechnet werden können. Die Daten der CAN-Pakete sind jeweils 8 Byte groß. Welche Daten an welcher Stelle zu finden sind, entnehmen Sie bitte den folgenden Seiten. 4.2.7.6.1.
4.2.7.6.2.
4.2.7.6.3.
4.2.7.6.4. Digitale Eingangszähler (48-Bit) - 32-Bit Paket Aufbau eines 8 Byte langen CAN-Paketes: CAN-Data-Byte Inhalt 1 CNT8 counter 1 (Bit 0-7) 2 CNT8 counter 1 (Bit 8-15) 3 CNT8 counter 1 (Bit 16-23) 4 CNT8 counter 1 (Bit 24-31) 5 CNT8 counter 2 (Bit 0-7) 6 CNT8 counter 2 (Bit 8-15) 7 CNT8 counter 2 (Bit 16-23) 8 CNT8 counter 2 (Bit 24-31) Hinweis: Beachten Sie, dass jeweils nur die ersten 32-Bit der beiden 48-Bit Eingangszähler automatisch in einem CAN-Paket versendet werden können.
4.2.7.6.5.
4.2.7.6.6. Analoge Ein- / Ausgänge 4.2.7.6.6.1. Analoge E ingänge Aufbau eines 8 Byte langen CAN-Paketes: CAN-Data-Byte Inhalt 1 A/D channel 5 (Bit 0-7) 2 A/D channel 5 (Bit 8-15) 3 A/D channel 6 (Bit 0-7) 4 A/D channel 6 (Bit 8-15) 5 A/D channel 7 (Bit 0-7) 6 A/D channel 7 (Bit 8-15) 7 A/D channel 8 (Bit 0-7) 8 A/D channel 8 (Bit 8-15) Der Wertebereich eines A/D Wandlers gibt an, in welchem Bereich analoge Signale (z.B. im Bereich 0-5V), digital umgesetzt werden.
Anmerkung: Der hexadezimal Wert FFFF kennzeichnet immer die obere Grenze eines Wertebereiches, der Wert 0000 die untere. Formel (A/D-Modus +/-10V, +/-5V oder +/2,5V) Spannung = (Wert * (max. Spannungswert * 2) / 0xFFFF) - max. Spannungswert Formel (A/D-Modus 0..10V, 0..5V oder 0..2,5V) Spannung = Wert * max. Spannungswert / 0xFFFF Formel (A/D-Modus 0..20mA, 4..20mA oder 0..
4.2.7.6.6.2. Analoge Ausgänge Aufbau eines 8 Byte langen CAN-Paketes: CAN-Data-Byte Inhalt 1 D/A channel 1 (Bit 0-7) 2 D/A channel 1 (Bit 8-15) 3 D/A channel 2 (Bit 0-7) 4 D/A channel 2 (Bit 8-15) 5 D/A channel 3 (Bit 0-7) 6 D/A channel 3 (Bit 8-15) 7 D/A channel 4 (Bit 0-7) 8 D/A channel 4 (Bit 8-15) Der Wertebereich eines D/A Wandlers gibt an, in welchem Bereich digitale Signale analog (z.B. im Bereich 0-5V) umgesetzt werden.
4.2.7.6.6.3.
Beispiel Spannungsbereich 0-5V Wert (hex) Spannung FFFF +5 V 8000 +2,5 V 0000 0V Beispiel zur Berechnung: CAN-Data-Byte0, 1 = 0x4711[hex] Wertebereich = 0-5 V Berechnung: Spannung = 0x4711 * 5 / 0xFFFF = 1,38 V Software Beschreibung | Seite 239
Beispiel Strombereich Wert (hex) Stromstärke FFFF 25 mA 8000 12,5 mA 0000 0 mA Beispiel zur Berechnung: CAN-Data-Byte0, 1 = 0x4711[hex] Wertebereich = 0..20 mA, 4..20 mA oder 0..24 mA Berechnung: Stromstärke = 0x4711 * 25 / 0xFFFF = 6,94 mA Hinweis: Bitte beachten Sie, dass sich bei einem Auto-TX-Paket mit eingestelltem Strombereich, der Wert eines A/D-Kanals im CAN-Paket auf den Modus 0..25mA bezieht.
4.2.7.6.7. Temperatur Eingänge Dieses Beispiel zeigt den Aufbau eines Auto-TX-Paketes mit den Einstellungen für PT-100 Kanal 1 und 2.
CAN-DataByte Bit Inhalt (0 = nicht verbunden, 1 = verbunden) 0-7 nicht benutzt Berechnung der Temperatur Temperatur = (Vorzeichen) Wert[dez] / Faktor Software Beschreibung | Seite 242
4.2.7.6.8. Stepper Aufbau eines 8-Byte langen CAN-Paketes: CAN-Data-Byte Inhalt 1 COMMAND 2 PAR1 (Bit 0-7) 3 PAR1 (Bit 8-15) 4 PAR1 (Bit 16-23) 5 PAR1 (Bit 24-31) 6 PAR2 (Bit 0-7) 7 PAR2 (Bit 8-15) 8 PAR3 (Bit 0-7) 4.2.7.6.8.1.
Kommando DAPI_STEPPER_CMD_ mit Wert (hex) Bedeutung SET_FREQUENCY 6 (hex) Einstellung der Motorsollfrequenz SET_FREQUENCY_DIRECTLY 7 (hex) Einstellung der Motorfrequenz GET_FREQUENCY 8 (hex) Abfrage der Motorfrequenz FULLSTOP 9 (hex) Sofortiges Anhalten des Motors STOP 10 (hex) Anhalten des Motors (Bremsrampe wird eingehalten) GO_REFSWITCH 11 (hex) Anfahren einer Referenzposition DISABLE 14 (hex) Ein-/Ausschalten des Motors MOTORCHARACTERISTIC_LOAD _DEFAULT 15 (hex) Setzen der Moto
Kommando DAPI_STEPPER_CMD_ mit Wert (hex) Bedeutung GET_CPU_TEMP 18 (hex) Abfrage der Temperatur des CPU GET_MOTOR_SUPPLY_VOLTAGE 19 (hex) Abfrage der Versorgungsspannung des CPU GO_POSITION_RELATIVE 20 (hex) Anfahren einer relativen Position Software Beschreibung | Seite 245
4.2.7.6.8.2.
Parameter Wert (dez) Beschreibung INVERT_REFSW2 15 umkehren des Frequenzschalters1 INVERT_DIRECTION 16 Alle umkehren ENDSWITCH_STOPMODE 17 Einstellung des Stoppverhaltens (0=Fullstop / 1=Stop) (DAPI_STEPPER_MOTORCHAR_ PAR_ ...
Parameter (DAPI_STEPPER_MOTORCHAR_ PAR_ ...
4.2.7.6.8.3. Wert e für par 1 z u Befehl GO_R E F SWI T CH Parameter (DAPI_STEPPER_GO_REFSW ITCH_PAR_ ...
4.2.7.6.8.4. Beispiel Programmbeispiel DapiStepperCommand(handle, 1, DAPI_STEPPER_CMD_GO_POSITION, 3200, 0, 0, 0); wird in einem 8 Byte CAN Paket versendet.
4.2.8. 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.
4.2.8.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 zur Verfügung. Mit diesem Tool hat der Kunde die Möglichkeit neu veröffentlichte Firmware-Versionen, direkt bei sich vor Ort auf das Modul zu übertragen.
1. Wählen Sie bei Programmstart das Modul aus, welches Sie mit einer neuen Firmware updaten möchten.
4.2.8.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.
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 aufgespielt war. Ist der Haken bei detailed debug info gesetzt, werden während des Firmware Updates detaillierte Meldungen ins Logbuch(1) geschrieben.
4.2.8.3.1. Flash-Files manuell aktualiseren In manchen Fällen ist es nötig, die Flash-Files manuell zu aktualisieren, z.B. wenn am 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: x86 C:\Program Files(x86)\DEDITEC\DELIB\programs\ x64 C:\Program Files\DEDITEC\DELIB\programs Softwar
4.3. DELIB Sample Sources (Windows Programmbeispiele) Die 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: ·C · C++ · C# · Delphi · VisualBasic · VB.
4.3.1. 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.
Startbild des DELIB Sample Sources Installer Software Beschreibung | Seite 259
Drücken Sie Next. Wählen Sie den Installationsordner und drücken Sie Install.
Die DELIB Sample Sources werden nun installiert. Die DELIB Sample Sources wurden erfolgreich installiert. Drücken Sie Close um die Installation zu beenden.
4.3.2. 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. 4.3.2.1. Schritt 1 - Produktauswahl Sie benötigen beispielsweise eine Hilfestellung zur Programmierung der digitalen Eingänge eines RO-ETH-Moduls (z.
Visual-C. Da es sich um ein RO-ETH-Produkt handelt, wählen bzw. öffnen Sie den Ordner ro-eth-serie.
4.3.2.2. Schritt 2 - Kategorieauswahl Im nächsten Schritt, finden Sie eine Übersicht der verfügbaren Kategorien für das ausgewählte Produkt.
4.3.2.3. Schritt 3 - Programmiersprachenauswahl In diesem Schritt sehen Sie alle verfügbaren Programmierbeispiele der gewählten Kategorie, sortiert nach Programmiersprachen. Da wir uns in diesem Beispiel auf die Programmiersprache Visual-C konzentrieren, öffnen Sie den Ordner vc.
4.3.2.4.
Den Quellcode des Beispielprogramms (in diesem Fall .cpp-Datei) können Sie nun mit einem beliebigen Text-Editor öffnen.
Zusätzlich finden Sie im Ordner debug ein bereits kompiliertes und ausführbares Programm zu diesem Projekt.
4.4. DELIB für Linux Laden Sie sich die Delib Linux Treiberbibliothek unter "www.deditec.de/de/downloads/produkte/" im Reiter „DELIB+Protokolle“ oder unter "www.deditec.de/media/zip/delib/delib-linux.zip" direkt auf ihr LinuxSystem.
Entpacken Sie die "delib-linux.zip" in 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 Beschreibung | Seite 271
4.4.1. Verwenden der DELIB Treiberbibliothek für Linux 4.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“ bei dem Befehl „DapiOpenModule“ ihr Modul angeben. Die genaue Bezeichnung können Sie der „delib.h“ entnehmen. Diese finden sie im Verzeichnis „/delib-sources/delib/library/delib/delib.
Kompilieren des USB-Samples Für das Kompilieren des Testprogramms öffnen Sie ein Terminalfenster und navigieren mit dem Befehl "cd /" zunächst in das "/samples/usb_sample" Verzeichnis. Tipp: Sollten in Ihrem Ordnernamen Leerzeichen enthalten sein, geben Sie diese wie im unteren Beispiel dargestellt in " " an. Zum Kompilieren öffnen Sie nun das darin enthaltene Shell-Skript mit dem Befehl „sudo sh ./1_compile_usb_sample.sh“. Geben Sie, falls nötig, Ihr Benutzerkennwort ein.
Jetzt können Sie das Beispielprogramm mit "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.
4.4.1.2. Delib ETH-Sample in Linux Voreinstellungen Bei diesem Programmbeispiel wird das Modul mit der IP "192.168.1.21“ angesprochen. Diese können Sie in der Datei „/samples/ethernet_sample/source/eth_sample.c“ ändern (siehe Bild unten). Falls Sie ein Kennwort für eine verschlüsselte TCP Verbindung voreingestellt haben, können Sie dieses ebenfalls dort eintragen (siehe Bild unten). Haben Sie kein Passwort angegeben, können Sie diese Zeile unverändert lassen.
Sollten Sie ein Modul ohne digitale Eingänge verwenden, müssen Sie die Zeilen wie unten dargestellt, in der gleichen Datei auskommentieren.
Kompilieren des ETH-Samples Für das Kompilieren des Testprogramms, öffnen Sie ein Terminalfenster und navigieren mit dem Befehl "cd /" Verzeichnis. zunächst in das "/samples/ethernet_sample" Tipp: Sollten in Ihrem Ordnernamen Leerzeichen enthalten sein, geben Sie diese wie im unteren Beispiel dargestellt in " " an. Zum Kompilieren öffnen Sie nun das gewünschte Shell-Skript mit dem Befehl „sudo sh .
Geben Sie, falls nötig, Ihr Benutzerkennwort ein. Bei erfolgreicher Kompilierung Terminalfenster erscheinen. sollte nun "compiling successful" im Es wurde die Datei "ethernet_sample" dem Verzeichnis hinzugefügt. Jetzt können Sie das Beispielprogramm mit ausführen. "sudo ./ethernet_sample" WICHTIG!! Sie benötigen für das Ausführen Admin-Rechte. Benutzen Sie deshalb den Befehl mit "sudo". Das Programm wird nun ausgeführt.
4.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"] ] Hinweis: Die einzelnen Parameter werden nur durch ein Leerzeichen getrennt. Groß und Kleinschreibung wird hierbei nicht beachtet.
Parameter Befehl Kabal di1 0, 1, 2, ... di8 di16 0, 16, ... Wert unit nounit 8, - hex nounit hex nounit - - di32 ff 0, 32, ... - do1 0, 1, 2, ... 0/1 (1-Bit Befehl) 8-Bit Wert do8 do16 0, 16, ... 8, 16-Bit Wert (Bit 0 für Kanal 1, Bit 1 für Kanal 2, ...) 32-Bit Wert do32 ai 0, 1, 2, ... ao 0, 1, 2, ... hex, nounit volt, mA Ganz oder Hexadezimalzahl (beginnend mit 0x).
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" wird der Zustand als hex gelesen In Kombination mit Parameter unit "volt" wird die Spannung gelesen In Kombination mit Parameter unit "mA" wird der Strom gelesen Software Beschreibung | S
4.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. Diese Nummer kann der "delib.h" entnommen werden.
Kompilieren des Delib-CLI-Samples Für das Kompilieren des Testprogramms, öffnen Sie ein Terminalfenster und navigieren mit dem Befehl "cd /" zunächst in das "../delib_cli/" Verzeichnis. Tip: Sollten in Ihrem Ordnernamen Leerzeichen enthalten sein, geben Sie diese wie im unteren Beispiel dargestellt in " " an. Zum Kompilieren öffnen Sie nun das gewünschte Shell-Skript mit dem Befehl „sudo sh ./“ · ETH - "1_compile_delib-cli_eth.sh" · USB - "2_compile_delib-cli_usb.
Software Beschreibung | Seite 284
4.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 lese den Zustand des 4.
Analoge Ausgänge sudo delib_cli AO 7 4711 setzt den dezimalen Wert 4711 auf den 8. analogen Ausgang eines USBModuls 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 liest den Wert des 3. analogen Eingangs als dezimalzahl eines USB-Moduls sudo delib_cli AI 2 hex Beispiel eines Rückgabewertes: 0x1FA liest den Wert des 3.
DELIB API Referenz V DELIB API Referenz | Seite 287
5. DELIB API Referenz 5.1. Verfügbare DEDITEC Modul IDs Hier finden Sie eine Auflistung mit allen verfügbaren Modul IDs. Diese ID wird benötigt, um beispielsweise das Modul zu öffnen und einen "handle" zu erhalten. Mehr Informationen dazu finden Sie im Kapitel DapiOpenModule.
Modul Name ID USB_RELAIS_8 14 USB_OPTOIN_8_RELAIS_8 15 USB_OPTOIN_16_RELAIS_16 16 USB_OPTOIN_32 16 USB_RELAIS_32 16 USB_OPTOIN_32_RELAIS_32 17 USB_OPTOIN_64 17 USB_RELAIS_64 17 BS_USB_8 15 BS_USB_16 16 BS_USB_32 17 USB_TTL_32 18 USB_TTL_64 18 RO_ETH_INTERN 19 BS_SER 20 BS_CAN 21 BS_ETH 22 NET_ETH 23 RO_CAN2 24 RO_USB2 25 DELIB API Referenz | Seite 289
Modul Name ID RO_ETH_LC 26 ETH_RELAIS_8 27 ETH_OPTOIN_8 27 ETH_O4_R4_ADDA 28 ETHERNET_MODULE 29 ETH_TTL_64 30 NET_USB2 31 NET_ETH_LC 32 NET_USB1 33 NET_SER 34 NET_CAN_OPEN 35 NET_RAS_PI 36 USB_CANOPEN_STICK 37 ETH_CUST_0 38 WEU_RELAIS_8 39 WEU_OPTO_8 39 WEU_E_RELAIS_8 40 BS_WEU 41 BS_WEU_E 42 DELIB API Referenz | Seite 290
5.2. Verwaltungsfunktionen 5.2.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 1. Modul nr=1 2.
5.2.2. DapiCloseModule Beschreibung Dieser Befehl schließt 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); 5.2.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).
5.2.4. DapiSpecialCMDGetModuleConfig Beschreibung Diese Funktion gibt die Hardwareausstattung Ausgangskanäle) des Moduls zurück.
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 return=number of digital input channels Query number of digital input flip-flops return=number of digital input flip
Querying the number of digital input/output channels return=number of digital input/output channels Querying the number of analog input channels return=number of analog input channels Querying the number of analog output channels return=number of analog output channels Query number of temperature channels return=number of temperature channels Query number of stepper channels return=number of stepper channels Programmierbeispiele ret=DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_GET_MODULE_CONFIG, DAPI_SPECIAL
5.2.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, 0); Parameter moduleID = Gibt das Modul an, welches geöffnet werden soll (siehe delib.
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.
5.2.6. DapiScanAllModulesAvailable Beschreibung Mit dieser Funktion lassen sich alle am USB-Bus angeschlossen Module scannen. Hierbei wird die Modul-ID und die Modul-Nr. jedes gefundenen Modules ermittelt. Definition ULONG DapiScanAllModulesAvailable(uint nr) Parameter nr = 0: Es wird nach allen am USB-Bus angeschlossenen Module gesucht nr = i: Auslesen der einzelnen angeschlossenen Module Return-Wert Gibt die Anzahl der gefunden Module wieder. Programmierbeispiel no_of_modules = DT.Delib.
5.3. Fehlerbehandlung 5.3.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(). Definition ULONG DapiGetLastError(); Parameter Keine Return-Wert Fehler Code 0=kein Fehler. (siehe delib_error_codes.
5.3.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.
5.3.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); DapiClearLastError(); return TRUE; } return FALSE; }
5.3.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. Return-Wert Fehler Code 0=kein Fehler. (siehe delib_error_codes.
5.3.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
5.4. A/D Wandler Funktionen 5.4.1. DapiADSetMode 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.
Bipolare Spannungen: Modus Wertebereich ADDA_MODE_BIPOL_10V -10V .. +10V ADDA_MODE_BIPOL_5V -5V .. +5V ADDA_MODE_BIPOL_2V5 -2,5V .. +2,5V 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 ..
5.4.2. DapiADGetMode Beschreibung Dieser Befehl liest den eingestellten Modus eines A/D Wandlers zurück. ModusBeschreibung 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 5.4.3. DapiADGet Beschreibung Dieser Befehl liest einen Datenwert von einen Kanal eines A/D Wandlers.
5.4.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 5.4.5. DapiADGetmA Beschreibung Dieser Befehl liest einen Datenwert von einen Kanal eines A/D Wandlers in mA.
5.4.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 (im Vergleich zu den Befehlen DapiADGetVolt, DapiADGetmA oder DapiADGet) anschließend deutlich schneller abgefragt werden.
Programmierbeispiel DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_AD, DAPI_SPECIAL_AD_READ_MULTIPLE_AD, 0, 15); // 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..
5.5. D/A Ausgänge verwalten 5.5.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.
Unipolare Spannungen: Modus Wertebereich ADDA_MODE_UNIPOL_10V 0V .. 10V ADDA_MODE_UNIPOL_5V 0V .. 5V ADDA_MODE_UNIPOL_2V5 0V .. 2,5V Bipolare Spannungen: Modus Wertebereich ADDA_MODE_BIPOL_10V -10V .. +10V ADDA_MODE_BIPOL_5V -5V .. +5V ADDA_MODE_BIPOL_2V5 -2,5V .. +2,5V 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 ..
5.5.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 ..
5.5.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 -> Datenwertebereich: 0-65535) Return-Wert Keiner Programmierbeispiel DapiDASet(handle, 0, 65535); // Setzt den 1.
5.5.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 Programmierbeispiel DapiDASetVolt(handle, 0, 5,4321); // Setzt den 1.
5.5.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 Bemerkung Dieser Befehl ist Modul abhängig. Er funktioniert natürlich nur, wenn das Modul auch den Strom-Modus unterstützt.
5.5.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, ..
Bemerkung DAPI_SPECIAL_CMD_DA_PAR_DA_LOAD_DEFAULT Mit diesem Befehl wird die Default Konfiguration eines D/A Wandlers geladen. Der D/A Wandler hat jetzt als Ausgabespannung 0V. DAPI_SPECIAL_DA_PAR_DA_SAVE_EEPROM_CONFIG Mit diesem Befehl wird die aktuelle D/A Wandler Einstellung (Spannung/StromWert, 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.
5.6. Digitale Eingänge lesen 5.6.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) 5.6.2. DapiDIGet8 Beschreibung Dieser Befehl liest gleichzeitig 8 digitale Eingänge.
5.6.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, ...
5.6.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, ..
5.6.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, ..
5.6.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, ..
5.6.7. DapiDIGetCounter Beschreibung Dieser Befehl liest den Eingangszähler eines digitalen Eingangs.
5.6.8. DapiSpecialCounterLatchAll Beschreibung Dieser Befehl speichert die Zählerstände aller Eingangszähler gleichzeitig in ein Zwischenspeicher (Latch). So können anschließend alle Zählerstände des 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.
5.6.9. DapiSpecialCounterLatchAllWithReset Beschreibung Dieser Befehl speichert die Zählerstände aller Eingangszähler gleichzeitig in einen Zwischenspeicher (Latch). Zusätzlich werden die Zählerstände der Eingangszähler im zurückgesetzt.
5.6.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.
5.6.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 DELIB Übersichtstabelle entnehmen.
5.6.12. Dapi_Special_DI_FF_Filter_Value_Set Beschreibung Dieser Befehl setzt einen Filter [ms], in welchem Zeitintervall die Eingangs-FlipFlops 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.
5.6.13. 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 DELIB Übersichtstabelle entnehmen.
5.7. Digitale Ausgänge verwalten 5.7.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 5.7.2. DapiDOSet8 Beschreibung Dieser Befehl setzt gleichzeitig 8 digitale Ausgänge.
5.7.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, ..
5.7.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, ..
5.7.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, ..
5.7.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, ..
5.7.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. 5.7.8. DapiDOReadback64 Beschreibung Dieser Befehl liest die 64 digitalen Ausgänge zurück.
5.7.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.
5.7.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.
5.8. Ausgabe-Timeout verwalten 5.8.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.
"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.
"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 TimeoutMechanismus des Moduls die Ausgänge auf vordefinierte Werte verändert hat. Vorgehensweise für den Timeout-Befehl: Der Timeout wird per Befehl aktiviert.
5.8.1.1. DapiSpecialTimeoutSetValueSec Beschreibung Dieser Befehl dient zum Setzen der Timeout-Zeit.
5.8.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, Timeout ist nicht weiter aktiv. aber der Erst wieder, wenn er wieder aktiviert wurde.
5.8.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.
5.8.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. Nach dem Timeout-Ereignis werden.. - ..alle Ausgänge ausgeschaltet - ..
5.8.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.
5.8.1.6. DapiSpecialTimeoutGetStatus Beschreibung Dieser Befehl dient dem Auslesen des Timeout-Status.
5.8.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, ..
5.8.1.8. DapiSpecialTimeoutDoValueMaskRDSet32 Beschreibung Dieser Befehl dient dem 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); //Der Wert der dem SET-Befehl üb
5.8.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, ..
5.8.1.10. DapiSpecialTimeoutDoValueMaskRDClr32 Beschreibung Dieser Befehl dient dem 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); //Der Wert der dem CLR-Befehl ü
5.8.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.
5.9. CAN Runtime Funktionen 5.9.1. RunTimeVarWriteToModule Beschreibung Bei dem Start des Moduls werden die Einstellungen aus dem ModuleConfiguration-Memory geladen und benutzt. Mit Hilfe dieser Befehle lassen sich die Einstellungen während der Laufzeit verändern und auslesen. Sie werden jedoch nicht in das Module-Configuration-Memory gespeichert und gehen daher nach Modulneustart verloren.
Definition Für ein besseres Verständnis unserer Beispiele, verwenden wir für das Schreiben die Funktion RunTimeVarWriteToModule und für das Lesen RunTimeVarReadFromModule Der darin befindliche Quellcode lautet wie folgt: //Lesen der Wert e public static uint RunTimeVarReadFromModule(uint handle, uint par, uint index, ref uint value) { byte[] dummy_buff = new byte[] { 0 }; uint u0 = 0; if(DT.Delib.DapiSpecialCommandExt(handle, DT.Ext.
par = DAPI_SPECIAL_CMDEXT_CAN_RUNTIME_DEV_BAUDRATE Mit diesem Befehl kann die Baudrate des Interface eingestellt/ausgelesen werden. Baudrate Value 1 MBit/s 0x00 500 KBit/s 0x01 250 KBit/s 0x02 125 KBit/s 0x03 100 KBit/s 0x04 50 KBit/s 0x05 20 KBit/s 0x06 10 KBit/s 0x07 Programmierbeispiel RunTimeVarWriteToModule(handle, DAPI_SPECIAL_CMDEXT_CAN_RUNTIME_DEV_BAUDRATE, 0, 0x01); // Hier wird die Baudrate auf 500 KBit/s gesetzt.
par = DAPI_SPECIAL_CMDEXT_CAN_RUNTIME_DEV_USEEXTID Mit diesem Befehl kann der Bit-Mode eingestellt/ausgelesen werden. useExtID Value 11 Bit Mode 0x00 29 Bit Mode 0x01 Programmierbeispiel RunTimeVarWriteToModule(handle, DAPI_SPECIAL_CMDEXT_CAN_RUNTIME_DEV_USEEXTID, 0, 0x00); // Hier wird die Ext-ID des Intefaces auf den 11 Bit Mode gesetzt.
par = DAPI_SPECIAL_CMDEXT_CAN_RUNTIME_TX_IS_ACTIVE Mit diesem Befehl kann der Trigger-Mode eingestellt/ausgelesen werden. Bei dem Nutzen des "Interval Mode (0x01)" kann zusätzlich über den IntervalBefehl eingestellt werden, in welchem Zeitinterval die TX-Pakete gesendet werden sollen.
par = DAPI_SPECIAL_CMDEXT_CAN_RUNTIME_TX_INTERVAL Mit diesem Befehl kann das Interval eingestellt/ausgelesen werden. Interval count Value Bit [4..7] 1 0x01 2 0x02 3 0x03 4 0x04 .. 9 .. 0x09 Interval unit Value Bit [0..
par = DAPI_SPECIAL_CMDEXT_CAN_RUNTIME_TX_USE_EXT_ID Mit diesem Befehl kann der Bit-Mode eingestellt/ausgelesen werden. useExtID Value 11 Bit Mode 0x00 29 Bit Mode 0x01 Programmierbeispiel RunTimeVarWriteToModule(handle, DAPI_SPECIAL_CMDEXT_CAN_RUNTIME_TX_USE_EXT_ID, 1, 0x00); // Hier wird die Ext-ID des TX-Paketes[1] auf den 11 Bit Mode gesetzt.
par = DAPI_SPECIAL_CMDEXT_CAN_RUNTIME_TX_MODE Mit diesem Befehl kann der TX-Mode eingestellt/ausgelesen werden.
TX-Mode Value Counter16 29-32 (16 Bit) 0x11 Cnt48 1-2 (32 Bit) 0x12 Cnt48 3-4 (32 Bit) 0x13 Cnt48 5-6 (32 Bit) 0x14 Cnt48 7-8 (32 Bit) 0x15 PT-100 1-2 (32 Bit) 0x16 PT-100 3-4 (32 Bit) 0x17 PT-100 5-6 (32 Bit) 0x18 PT-100 7-8 (32 Bit) 0x19 Cnt48 1 (64 Bit) 0x1a Cnt48 2 (64 Bit) 0x1b Cnt48 3 (64 Bit) 0x1c Cnt48 4 (64 Bit) 0x1d Testcounter 8 bit 0x1e DO Readback 1-64 0x1f DO Readback 1-32 0x23 Custom1 0x20 Custom2 0x21 Custom3 0x22 DELIB API Referenz | Seite 360
Programmierbeispiel RunTimeVarWriteToModule(handle, DAPI_SPECIAL_CMDEXT_CAN_RUNTIME_TX_MODE, 1, 0x0f); // Hier wird der Modus des TX-Paketes[1] auf den TX-Mode "Counter16 21-24 (16 Bit)" gesetzt uint val = 0; RunTimeVarReadFromModule(handle, DAPI_SPECIAL_CMDEXT_CAN_RUNTIME_TX_MODE, 0, ref val); // Hier wird der verwendete TX-Mode des TX-Paketes[0] der Variable val übergeben.
par = DAPI_SPECIAL_CMDEXT_CAN_RUNTIME_RX_IS_ACTIVE Mit diesem Befehl wird das RX-Paket aktiviert/deaktiviert Trigger Mode Value OFF 0x00 ON 0x01 Programmierbeispiel RunTimeVarWriteToModule(handle, DAPI_SPECIAL_CMDEXT_CAN_RUNTIME_RX_IS_ACTIVE, 1, 0x00); // Hier wird das RX-Paket[1] auf OFF gesetzt. uint val = 0; RunTimeVarReadFromModule(handle, DAPI_SPECIAL_CMDEXT_CAN_RUNTIME_RX_IS_ACTIVE, 0, ref val); // Hier wird der Status des RX-Paketes[0] der Variable val übergeben.
par = DAPI_SPECIAL_CMDEXT_CAN_RUNTIME_RX_USE_EXT_ID Mit diesem Befehl kann der Bit-Mode eingestellt/ausgelesen werden. UseExtID Value 11 Bit Mode 0x00 29 Bit Mode 0x01 Programmierbeispiel RunTimeVarWriteToModule(handle, DAPI_SPECIAL_CMDEXT_CAN_RUNTIME_RX_USE_EXT_ID, 1, 0x00); // Hier wird die Ext-ID des RX-Paketes[1] auf den 11 Bit Mode gesetzt.
par = DAPI_SPECIAL_CMDEXT_CAN_RUNTIME_RX_CANID Mit diesem Befehl kann die CAN-ID eingestellt/ausgelesen werden. Programmierbeispiel RunTimeVarWriteToModule(handle, DAPI_SPECIAL_CMDEXT_CAN_RUNTIME_RX_CANID, 1, 0x1e); // Hier wird die CAN-ID des RX-Paketes[1] auf die 30 gesetzt. uint val = 0; RunTimeVarReadFromModule(handle, DAPI_SPECIAL_CMDEXT_CAN_RUNTIME_RX_CANID, 0, ref val); // Hier wird der verwendete CAN-ID des RX-Paketes[0] der Variable val übergeben.
par = DAPI_SPECIAL_CMDEXT_CAN_RUNTIME_RX_MODE Mit diesem Befehl kann RX-Mode eingestellt/ausgelesen werden. RX-Mode Value Digital Out 1-64 0x01 D/A CH 1-4 0x02 D/A CH 5-8 0x03 D/A CH 9-12 0x04 D/A CH 13-16 0x05 D/A CH 17-20 0x06 D/A CH 21-24 0x07 D/A CH 25-28 0x08 D/A CH 29-32 0x09 Stepper No. 1 0x0a Stepper No. 2 0x0b Stepper No. 3 0x0c Stepper No. 4 0x0d Stepper No. 5 0x0e Stepper No. 6 0x0f Stepper No. 7 0x10 Stepper No.
RX-Mode Value D/A CH 9-12 (custom) 0x14 D/A CH 13-16 (custom) 0x15 D/A CH 17-20 (custom) 0x16 D/A CH 21-24 (custom) 0x17 D/A CH 25-28 (custom) 0x18 D/A CH 29-32 (custom) 0x19 Trigger Auto TX 1 0x1a Trigger Auto TX 2 0x1b Trigger Auto TX 3 0x1c Trigger Auto TX 4 0x1d Custom1 0x1e Custom2 0x1f Custom3 0x20 PWM CH 1-8 0x21 PWM CH 9-16 0x22 PWM CH 17-24 0x23 PWM CH 25-32 0x24 PWM CH 33-40 0x25 PWM CH 41-48 0x26 PWM CH 49-56 0x27 DELIB API Referenz | Seite 366
RX-Mode Value PWM CH 57-64 0x28 Trigger Auto TX 5 0x29 Trigger Auto TX 6 0x2a Trigger Auto TX 7 0x2b Trigger Auto TX 8 0x2c Programmierbeispiel RunTimeVarWriteToModule(handle, DAPI_SPECIAL_CMDEXT_CAN_RUNTIME_RX_MODE, 1, 0x0f); // Hier wird der Modus des RX-Paketes[1] auf den RX-Mode "Stepper No. 6" gesetzt uint val = 0; RunTimeVarReadFromModule(handle, DAPI_SPECIAL_CMDEXT_CAN_RUNTIME_RX_MODE, 0, ref val); // Hier wird der verwendete RX-Mode des RX-Paketes[0] der Variable val übergeben.
5.10. Testfunktionen 5.10.1. DapiPing Beschreibung Dieser Befehl prüft die Verbindung zu einem geöffneten Modul.
5.11. Register Schreib-Befehle 5.11.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 Dies sollte nur von erfahrenen Programmieren benutzt werden.
5.11.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 Dies sollte nur von erfahrenen Programmieren benutzt werden.
5.11.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 Dies sollte nur von erfahrenen Programmieren benutzt werden.
5.11.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 Dies sollte nur von erfahrenen Programmieren benutzt werden.
5.12. Register Lese-Befehle 5.12.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. So kann auf alle zur Verfügung stehenden Register direkt zugegriffen werden.
5.12.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. So kann auf alle zur Verfügung stehenden Register direkt zugegriffen werden.
5.12.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. So kann auf alle zur Verfügung stehenden Register direkt zugegriffen werden.
5.12.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. So kann auf alle zur Verfügung stehenden Register direkt zugegriffen werden.
5.13. Programmier-Beispiel // ******************************************************************* // ******************************************************************* // // (c) DEDITEC GmbH, 2009 // // web: http://www.deditec.de // // mail: vertrieb@deditec.de // // dtapi_prog_beispiel_input_output.cpp // // ******************************************************************* // ******************************************************************* // // Folgende Bibliotheken beim Linken mit einbinden: delib.
// No answer printf("E"); } } printf("\n"); // ---------------------------------------------------// Einen Wert auf die Ausgänge schreiben data = 255; DapiWriteByte(handle, 0, data); printf("Schreibe auf Adresse=0 daten=0x%x\n", data); // ---------------------------------------------------// Einen Wert auf die Ausgänge schreiben data = 255; DapiWriteByte(handle, 1, data); printf("Schreibe auf Adresse=0 daten=0x%x\n", data); // ---------------------------------------------------// Einen Wert auf die Ausgänge
5.14.
Befehl St art er St art er R O USB* DAPI_SPECIAL_COUNTER_ E T H* * BS Serie Serie NE T Sonst iges Serie x LATCH_ALL DAPI_SPECIAL_COUNTER_ x LATCH_ALL_WITH_RESET DapiDOSet1_WithTimer x DAPI_SPECIAL_CMD_SW_FIFO x DAPI_SPECIAL_SW_FIFO_INIT_ AND_CLEAR ... DAPI_SPECIAL_SW_FIFO_ IO_DEACTIVATE DAPI_SPECIAL_CMD_AD x DAPI_SPECIAL_RO_AD_ FIFO_ACTIVATE ...
Befehl St art er St art er R O USB* DAPI_SPECIAL_DI_FF_FILTER E T H* * BS Serie Serie NE T Sonst iges Serie 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 x DAPI_SPECIAL_DI_FILTER_ 0, 0, 0, 0, 1-254 1-254 1-254 1-254 VALUE_SET DAPI_SPECIAL_DI_FILTER_ VALUE_GET DAPI_SPECIAL_CMD_GET_ x x x x INTERNAL_STATISTIC *: USB-OPTOIN8, USB-Mini-Stick, USB-TTL-64 **: ETH-TTL64, ETH-OPTOIN8, ETH-RELAIS8 Befehle Verfüg
Anhang VI Anhang | Seite 382
6. Anhang 6.1. Kontakt / Support Wenn Sie Fragen zum Produkt haben oder Unterstützung bei der Inbetriebnahme brauchen, erreichen Sie uns unter folgenden Rufnummern: Support Software Tel. +49 (0) 22 32 / 50 40 8 – 20 Support Hardware Tel. +49 (0) 22 32 / 50 40 8 – 30 Support via E-mail support@deditec.de 6.2. Umwelt und Entsorgung Sie können das defekte oder veraltete Produkt am Ende seiner Lebensdauer wieder an uns zurück senden.
6.3. Revisionen Rev 3.01 DEDITEC Design Update 2022 Rev 3.00 DEDITEC Design Update 2021 6.4. 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.