BS-Serie Hardware-Beschreibung 2016 September
INDEX 1. Einleitung 11 1.1. Vorwort 11 1.2. Kundenzufriedenheit 11 1.3. Kundenresonanz 11 2. BS-CAN Serie 13 2.1. Hardware Beschreibung 13 13 2.1.1. Einführung 2.1.2. Installation 2.1.3. DIP-Schalter 2.1.4. Technische Daten 2.1.5. Übersichtsbilder 15 15 17 19 2.1.5.1. Übersichtsbild BS-CAN-O8-R8 / BS-CAN-O8-R8-3A 19 2.1.5.2. Übersichtsbild BS-CAN-O16-M16 / BS-CAN-O16-R16 / BS-CAN-O16-R16_3A 20 2.1.5.3. Übersichtsbild BS-CAN-O32-M32 / BS-CAN-O32-R32 / BS-CAN-O32-R32_3A 21 2.1.5.4.
INDEX 3.1.4.3. Übersichtsbild BS-ETH-O32-M32 / BS-ETH-O32-R32 / BS-ETH-O32-R32_3A 34 3.1.4.4. Übersichtsbild BS-ETH-O32 35 3.1.4.5. Übersichtsbild BS-ETH-O64 36 3.1.4.6. Übersichtsbild BS-ETH-M32 / BS-ETH-R32 / BS-ETH-R32_3A 37 3.1.4.7. Übersichtsbild BS-ETH-M64 / BS-ETH-R64 / BS-ETH-R64_3A 38 3.1.5. J2 - Konfiguration der Spannungsversorgung 3.1.6. Blinkverhalten der LEDs 3.1.7. DIP-Schalter 3.2. Weboberfläche 3.2.1. Konfiguration 39 40 43 45 46 3.2.1.1. Allgemein 46 3.2.1.2.
INDEX 4.1.5.3. Übersichtsbild BS-USB-O32-M32 / BS-USB-O32-R32 / BS-USB-O32-R32_3A 71 4.1.5.4. Übersichtsbild BS-USB-O32 72 4.1.5.5. Übersichtsbild BS-USB-O64 73 4.1.5.6. Übersichtsbild BS-USB-M32 / BS-USB-R32 / BS-USB-R32_3A 74 4.1.5.7. Übersichtsbild BS-USB-M64 / BS-USB-R64 / BS-USB-R64_3A 75 4.1.6. J2 - Konfiguration der Spannungsversorgung 5. BS-SER Serie 76 78 5.1. Hardware Beschreibung 78 78 5.1.1. Einführung 5.1.2. Installation 5.1.3. DIP-Schalter 5.1.4. Technische Daten 5.1.5.
INDEX 94 6.2.2. Relais Ausgänge 6.2.3. Relais Ausgänge 3A 6.2.4. MOSFET Ausgänge 6.2.5. Timeout-Schutz 6.2.6. Visuelle Kontrolle der Ausgänge 95 95 95 96 7. Software 98 7.1. DELIB Treiberbibliothek 98 98 7.1.1. Übersicht 99 7.1.1.1. Unterstützte Programmiersprachen 7.1.1.2. Unterstützte Betriebssysteme 100 7.1.1.3. SDK-Kit für Programmierer 101 7.1.2. DELIB Setup 7.1.3. DELIB Configuration Utility 102 7.1.3.1. Einführung 108 7.1.3.2.
INDEX 161 7.1.4.5.4. RX-Konfiguration 7.1.4.5.4.1Beispiel RX-DA 162 7.1.4.5.4.2Beispiel RX-DO 163 164 7.1.4.6. Aufbau der CAN-Pakete 7.1.4.6.1. Digitale Eingänge 164 7.1.4.6.2. Digitale Ausgänge 165 7.1.4.6.3. Digitale Eingangszähler (16-Bit) 166 167 7.1.4.6.4. Digitale Eingangszähler (48-Bit) - 32-Bit Paket 168Paket 7.1.4.6.5. Digitale Eingangszähler (48-Bit) - 64-Bit 7.1.4.6.6. Analoge Ein- / Ausgänge 7.1.4.6.6.1Analoge Eingänge 169 169 7.1.4.6.6.2Analoge Ausgänge 170 7.1.4.6.6.
INDEX 199 7.1.7.3. Retrigger Software 200 7.1.8. DT-Flasher 7.1.8.1. Über DEDITEC-Firmware 201 7.1.8.2. Auswahl des Moduls 201 7.1.8.3. Firmware Update durchführen 203 7.1.8.3.1. Flash-Files manuell aktualiseren 7.2. Benutzung unserer Produkte 204 205 7.2.1. Ansteuerung über unsere DELIB Treiberbibliothek 205 205 7.2.2. Ansteuerung über mitgelieferte Testprogramme 205 7.2.3. Ansteuerung auf Protokollebene 207 7.2.4. Ansteuerung über grafische Anwendungen 7.2.4.1. LabVIEW 207 7.2.4.2.
INDEX 7.4.1. Konfiguration des DELIB CLI 7.4.2. DELIB CLI Beispiele 8. DELIB API Referenz 8.1. Verwaltungsfunktionen 8.1.1. DapiOpenModule 8.1.2. DapiCloseModule 8.1.3. DapiGetDELIBVersion 8.1.4. DapiSpecialCMDGetModuleConfig 8.1.5. DapiOpenModuleEx 8.2. Fehlerbehandlung 8.2.1. DapiGetLastError 8.2.2. DapiGetLastErrorText 8.3. Digitale Eingänge lesen 8.3.1. DapiDIGet1 8.3.2. DapiDIGet8 8.3.3. DapiDIGet16 8.3.4. DapiDIGet32 8.3.5. DapiDIGet64 8.3.6. DapiDIGetFF32 8.3.7. DapiDIGetCounter 8.3.8.
INDEX 8.5. Digitale Zähler Funktionen 8.5.1. DapiCnt48ModeSet 8.5.2. DapiCnt48ModeGet 8.5.3. DapiCnt48CounterGet32 8.5.4. DapiCnt48CounterGet48 8.5.5. DapiSpecialCNT48ResetSingle 8.5.6. DapiSpecialCNT48ResetGroup8 8.5.7. DapiSpecialCNT48LatchGroup8 8.5.8. DapiSpecialCNT48DIGet1 8.6. Ausgabe-Timeout verwalten 8.6.1. DapiSpecialCMDTimeout 8.6.2. DapiSpecialCMDTimeoutGetStatus 8.7. Testfunktionen 289 289 294 295 296 297 298 299 300 301 301 302 303 8.7.1. DapiPing 303 8.8.
Einleitung I Einleitung | Seite 10
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.
BS-CAN Serie II BS-CAN Serie | Seite 12
2. BS-CAN Serie 2.1. Hardware Beschreibung 2.1.1. Einführung Unsere CAN Module sind für den industriellen Einsatz zur Messung, Steuerung und Regelung entwickelt worden. Durch unser offenes CAN-Protokoll verfügen unsere Module über eine hohe Flexibilität und können leicht in bestehende CAN-Systeme integriert werden. Die CAN-Schnittstelle verfügt über eine galvanische Trennung. Störungen und Spannungsspitzen werden somit nicht an andere CAN-Bus Teilnehmer übertragen.
der Timeout-Schutzfunktion. Einen Zugriff auf die digitalen Ein-/Ausgänge kann man anhand der I/O-Access-LED erkennen.
2.1.2. Installation Die Installation und Konfiguration der BS-CAN Produkte geschieht über die USB-Schnittstelle. Verbinden Sie das Produkt mit Ihrem PC und führen das DELIB Setup aus. Zum Kapitel => DELIB Setup 2.1.3. DIP-Schalter Über DIP-Schalter lässt sich das Produkt in 3 verschiedene Betriebsmodi versetzen. Der eingestellte Betriebsmodus wird erst nach einem Neustart des Moduls übernommen. Vorzugsmodus Der Vorzugsmodus dient dazu, das Gerät schnell und einfach auf festgelegte Standardwerte zu setzen.
DIP-Schalter-Modus Im DIP-Schalter-Modus ist das CAN Interface über die DIP Schalter zu konfigurieren. Über das DELIB-Configuration Utility können in diesem Modus die eingestellten DIP-Schalter Werte zur Überprüfung vom PC ausgelesen und somit einfach überprüft werden.
2.1.4. Technische Daten CAN-Interface (galvanisch getrennt) Spannungsversorgung extern 12V bis 24V DC Betriebstemperatur: 10°C ... 50°C Ausgänge 8/16/32/64 Relais (wahlweise 3A) oder MOSFET Galvanische Trennung Timeout-Schutz (Funktion, welche die Ausgänge abschaltet, falls das Modul nicht mehr adressiert (erreicht) wird) BS-CAN-O8-R8: Min. / Max. Max. Schaltspannung Schaltstrom 0V-36V AC 0,5A AC 0,5A Relais 0V-36V DC 0,5A DC Typ Max. Transportstrom 1,25A AC 1,25A DC Max. Schaltleistung Max.
Eingänge 8/16/32/64 Optokoppler-Eingänge Galvanische Trennung Maximal 15-30V AC / DC Signalspannung (optional auf 5V-15V konfigurierbar) 16 Bit-Zähler je Eingangskanal Erfassung von Impulsen zwischen 2 Auslesetakten Produktspezifische Daten: Produkt BS-CAN-O8-R8 BS-CAN-O8-R8_3A BS-CAN-O32 BS-CAN-M32 BS-CAN-R32 BS-CAN-R32_3A BS-CAN-O16-M16 BS-CAN-O16-R16 BS-CAN-O16-R16_3A BS-CAN-O64 BS-CAN-M64 BS-CAN-R64 BS-CAN-R64_3A BS-CAN-O32-M32 BS-CAN-O32-R32 BS-CAN-O32-R32_3A Eingänge Ausgänge Länge x Breite x Höhe in
2.1.5. Übersichtsbilder 2.1.5.1.
2.1.5.2.
2.1.5.3.
2.1.5.4.
2.1.5.5.
2.1.5.6.
2.1.5.7.
2.1.6. J2 - Konfiguration der Spannungsversorgung Die Konfiguration der Spannungsversorgung erfolgt über einen Jumper (J2). Produkte der BS-CAN Serie sind auf eine externe Spannungsversorgung angewiesen.
BS-ETH Serie III BS-ETH Serie | Seite 27
3. BS-ETH Serie 3.1. Hardware Beschreibung 3.1.1. Einführung Unsere Ethernet Produkte sind für den industriellen Einsatz zur Messung, Steuerung und Regelung entwickelt worden. Die Kommunikation über Ethernet ermöglicht eine sehr hohe weltweite Verfügbarkeit. Unsere DELIB API bietet eine einfache Programmierschnittstelle für Ihre eigenen Softwareapplikation. Eine direkte Kommunikation über unser Ethernet-Protokoll ist ebenso möglich.
3.1.2. Installation Verbinden Sie das Produkt mit Ihrem Netzwerk und führen das DELIB Setup an einem PC in diesem Netzwerk aus. Zum Kapitel => DELIB Setup Hinweis: Die MAC-Adresse befindet sich auf dem Ethernet-Adapter. Es sind lediglich die letzten 3 Stellen angegeben. Die ersten 3 Stellen sind auf 00:C0:D5 definiert. Eine vollständige Adresse setzt sich aus den ersten 3 und den letzten 3 Stellen zusammen.
BS-ETH-O8-R8: Typ 0,5A Relais Min. / Max. Max. Schaltspannung Schaltstrom 0V-36V AC 0V-36V DC 0,5A AC 0,5A DC Max. Transportstrom Max. Schaltleistung 1,25A AC 1,25A DC 10W BS-ETH-16 / BS-ETH-32: Min. / Max. Max. Schaltspannung Schaltstrom 0V-36V AC 0,5A AC 0,5A Relais 0V-36V DC 0,5A DC 0V-36V AC 3A AC 3A Relais 0V-30V DC 3A DC MOSFET 2,8V-30V DC 2A DC Typ Max. Transportstrom 1A AC 1A DC 3A AC 3A DC 2A DC Max.
BS-ETH-R64_3A BS-ETH-O32-M32 BS-ETH-O32-R32 BS-ETH-O32-R32_3A 32 32 32 64 32 32 32 BS-ETH Serie | Seite 31
3.1.4. Übersichtsbilder 3.1.4.1.
3.1.4.2.
3.1.4.3.
3.1.4.4.
3.1.4.5.
3.1.4.6.
3.1.4.7.
3.1.5. J2 - Konfiguration der Spannungsversorgung Die Konfiguration der Spannungsversorgung erfolgt über einen Jumper (J2). Produkte der BS-ETH Serie sind auf eine externe Spannungsversorgung angewiesen.
3.1.6. Blinkverhalten der LEDs Erläuterung 1.) Bootvorgang Der Bootvorgang startet direkt nach dem Stecken der Spannungsversorgung. Die Bootvorgang-Sequenz wird einmalig durchlaufen.
2.) Applikation oder Bootloader 2.1 Applikation Der Bootvorgang wurde erfolgreich durchlaufen und das Produkt befindet sich in der Applikation. Das Produkt ist nun Einsatzbereit. Die Status-LED leuchtet 5 Sekunden und erlischt für etwa 300ms. Die Applikation-Sequenz wiederholt sich.
2.2. Bootloader Das Produkt befindet sich nach dem Bootvorgang im Bootloader. Dies deutet auf einen Fehler in der Firmware hin. Eine Aktualisierung der Firmware kann das Problem in den meisten Fällen beheben. Die aktuellsten Firmware Versionen können über den heruntergeladen werden ( -> siehe Firmware Update durchführen) DT-Flasher Die Status-LED leuchtet 2 Sekunden und erlischt für etwa 300ms. Die Bootloader-Sequenz wiederholt sich. 3.
3.1.7. DIP-Schalter Einige Einstellungen lassen sich einfach mit Hilfe von DIP Schaltern konfigurieren. Es lassen sich die DHCP- und EEPROM-Einstellungen konfigurieren. Die DIP-Schalter befinden sich auf der kleinen Zusatzplatine mit der EthernetSchnittstelle. Achtung: Alle Änderungen an den DIP-Schaltern werden nur nach Trennung und Wiederherstellung der Spannungsversorgung übernommen.
DIP Modus / Erklärung Schalter 2 ON EEPROM Schreibschutz aktiviert OFF Ist der Schreibschutz aktiv, kann keine Konfiguration der Netzwerkeinstellungen über das DELIB-Configuration Utility vorgenommen werden. EEPROM Schreibschutz deaktiviert DIP Modus / Erklärung Schalter 3 Das Modul startet mit den im EEPROM gespeicherten ON Parametern. OFF Die im EEPROM gespeicherten Werte (IP-Adresse, Gateway, Subnetzmaske, DHCP) werden beim Modulstart ignoriert. Das Modul startet mit den Werkseinstellungen.
Geben Sie hier den Text ein. 3.2. Weboberfläche Geben Sie die IP-Adresse (Auslieferungszustand 192.168.1.1) des Moduls in einem Internet-Browser ein. Der integrierte Web-Server des Moduls erfordert eine Authentifizierung um das Modul vor unberechtigten Zugriffen zu schützen.
3.2.1. Konfiguration 3.2.1.1. Allgemein Boardname Das ist der Name des Moduls, welcher auch im DELIB-Configuration-Utility angezeigt wird. Dieser Name dient zur Identifizierung mehrerer DEDITEC-Ethernet-Module im Netzwerk. Protect network configuration Ist diese Option aktiviert, kann die Netzwerk Konfiguration nur über die Weboberfläche des Moduls geändert werden. Ein Ändern dieser Konfiguration (z.B. über das DELIB-Configuration Utility) wird in diesem Fall verhindert.
3.2.1.2. Netzwerk Konfiguration Hier kann die Netzwerk Konfiguration des Moduls geändert werden. Wird diese Konfiguration geändert, werden Sie automatisch auf die neue IPAdresse weitergeleitet, sofern diese vom PC erreichbar ist. Eine Änderung des Ports erfordert einen Neustart des Moduls.
3.2.1.3. Benutzer Manager Remove Löscht das entsprechende Benutzerkonto. Add User Erstellt ein neues Benutzerkonto. Die Eingabemaske fordert Sie auf einen Benutzernamen und Passwort einzugeben. Session valid time Gibt die Zeit an, wie lange eine Anmeldung gültig ist. Läuft diese Zeit ab, muss der Nutzer sich neu anmelden. Achtung: Die Änderung dieser Zeit benötigt einen Neustart des Moduls.
Klicken Sie auf ein Benutzerkonto (z.B. gast) um die Einstellungen zu ändern. Edit Ändert die Zugriffsberechtigungen des aktuellen Benutzerkontos. Klicken Sie auf eine Zugriffsberechtigung um diese entweder aus- oder abzuwählen. Update Aktiviert die Zugriffsberechtigungen des aktuellen Benutzerkontos. Password Hier kann für das aktuelle Benutzerkonto ein neues Passwort gesetzt werden, welches mit set bestätigt werden muss.
3.2.1.4. Status Auf der Status Seite sehen Sie die Revisionsnummern der wichtigsten System Prozesse. Darüber hinaus, kann an dieser Stelle das Modul per Klick neugestartet, oder die Netzwerk-Einstellungen auf Werkseinstellungen zurückgesetzt werden. Achtung: Das Neustarten des Moduls, sowie das Zurücksetzen auf Werkseinstellung benötigen Administratoren Berechtigungen.
3.2.1.5. Sicherheit Allow unencrypted protocol Diese Option bestimmt, ob ein Zugriff unverschlüsseltem Protokoll erlaubt wird. auf das Modul mit einem Allow user-encrypted protocol Diese Option bestimmt, ob ein Zugriff auf das Modul mit einem Userverschlüsseltem Protokoll erlaubt wird. Dieses Protokoll verfügt über eingeschränkte Zugriffs-Rechte und empfiehlt sich für Benutzer, deren Kommunikation verschlüsselt aber keine System Einstellungen ändern sollen.
Allow I/O access via webinterface Diese Option bestimmt, ob angeschlossene Ein-/Ausgänge Weboberfläche aus gelesen/geschaltet werden können. von der Achtung: Wenn das Passwort zur User- oder Admin-Verschlüsselung geändert wird, muss dieses auch im DELIB-Configuration-Utility nachgetragen werden.
3.2.2. Ein-/Ausgänge 3.2.2.1.
3.2.2.2. Digitale Eingänge Auf dieser Seite werden in regelmäßigen Abständen die Eingänge des Moduls gelesen. Select channel area Hier kann der angezeigte Kanal-Bereich (16er Blöcke) festgelegt werden. State Zustand der einzelnen Eingänge Edit CH names Zur besseren Übersicht, kann hier jedem Kanal ein Name zugeordnet werden.
3.2.2.3. Digitale Eingänge Zähler Auf dieser Seite werden in regelmäßigen Abständen die Eingangszähler des Moduls gelesen. Select channel area Hier kann der angezeigte Kanal-Bereich (16er Blöcke) festgelegt werden. Counter value Aktueller Stand der Eingangszähler Edit CH names Zur besseren Übersicht, kann hier jedem Kanal ein Name zugeordnet werden.
Reset Resettet alle Eingangszähler des aktuellen Kanal-Bereichs BS-ETH Serie | Seite 56
3.2.2.4. Digitale Ausgänge Auf dieser Seite werden in regelmäßigen Abständen die Ausgänge des Moduls zurückgelesen. Zusätzlich kann jeder Kanal einzeln oder der aktuelle KanalBereich ein-/ausgeschaltet werden. Select channel area Hier kann der angezeigte Kanal-Bereich (16er Blöcke) festgelegt werden.
Edit CH names Zur besseren Übersicht, kann hier jedem Kanal ein Name zugeordnet werden.
3.2.2.5. Analoge Eingänge Auf dieser Seite werden in regelmäßigen Abständen die analogen Eingänge des Moduls gelesen. Select channel area Hier kann der angezeigte Kanal-Bereich (16er Blöcke) festgelegt werden. A/D Mode Aktueller A/D-Modus des Kanal-Bereichs Edit CH names Zur besseren Übersicht, kann hier jedem Kanal ein Name zugeordnet werden.
Aktueller Analog Wert BS-ETH Serie | Seite 60
3.2.2.6. Analoge Ausgänge Auf dieser Seite können analoge Ausgänge gesetzt werden. Select channel area Hier kann der angezeigte Kanal-Bereich (16er Blöcke) festgelegt werden. D/A Mode Aktueller D/A-Modus des Kanal-Bereichs Edit CH names Zur besseren Übersicht, kann hier jedem Kanal ein Name zugeordnet werden. Value Analog Wert, der ausgegeben werden soll.
3.2.2.7. Konfiguration Auf dieser Seite können sämtliche Namen der angeschlossenen I/O-Einheiten bearbeitet werden. Select I/O type Hierüber kann der I/O-Typ ausgewählt werden. Select channel area Sind mehr Ein-/Ausgänge angeschlossen, als auf dieser Form dargestellt werden kann, kann hierüber der Kanalbereich ausgewählt werden. Save Hiermit werden die Namen für diesen Kanalbereich gespeichert. Hinweis: Der Kanalname darf maximal 16 Zeichen lang sein.
BS-ETH Serie | Seite 63
BS-USB Serie IV BS-USB Serie | Seite 64
4. BS-USB Serie 4.1. Hardware Beschreibung 4.1.1. Einführung Unsere USB Produkte sind für den industriellen Einsatz zur Messung, Steuerung und Regelung entwickelt worden. Die High-Speed USB 2.0 Schnittstelle mit bis zu 480Mbit sorgt für eine zuverlässige und schnelle Kommunikation. Die USB-Schnittstelle ist weit verbreitet und flexibel. Das robuste Aluminiumgehäuse ist für die Montage auf einer Hutschiene geeignet.
4.1.2. Installation Verbinden Sie das Produkt per USB-Kabel mit Ihrem PC und führen das DELIB Setup aus. Zum Kapitel => DELIB Setup 4.1.3. DIP-Schalter Die DIP-Schalter haben bei BS-USB-Modulen keine Funktion.
4.1.4. Technische Daten USB 2.0 Interface (maximal 12 Mbit) USB Spannungsversorgung oder extern 12V bis 24V DC Betriebstemperatur: 10°C .. 50°C Ausgänge 8/16/32/64 Relais (wahlweise 3A) oder MOSFET Galvanische Trennung Timeout-Schutz (Funktion, welche die Ausgänge abschaltet, falls das Modul nicht mehr adressiert (erreicht) wird) BS-USB-O8-R8: Min. / Max. Max. Schaltspannung Schaltstrom 0V-36V AC 0,5A AC 0,5A Relais 0V-36V DC 0,5A DC Typ Max. Transportstrom 1,25A AC 1,25A DC Max. Schaltleistung Max.
Eingänge 8/16/32/64 Optokoppler-Eingänge Galvanische Trennung Maximal 15-30V AC / DC Signalspannung (optional auf 5V-15V konfigurierbar) 16 Bit-Zähler je Eingangskanal Erfassung von Impulsen zwischen 2 Auslesetakten Produktspezifische Daten: Produkt BS-USB-O8-R8 BS-USB-O8-R8_3A BS-USB-O32 BS-USB-M32 BS-USB-R32 BS-USB-R32_3A BS-USB-O16-M16 BS-USB-O16-R16 BS-USB-O16-R16_3A BS-USB-O64 BS-USB-M64 BS-USB-R64 BS-USB-R64_3A BS-USB-O32-M32 BS-USB-O32-R32 BS-USB-O32-R32_3A Eingänge Ausgänge Länge x Breite x Höhe in
4.1.5. Übersichtsbilder 4.1.5.1.
4.1.5.2.
4.1.5.3.
4.1.5.4.
4.1.5.5.
4.1.5.6.
4.1.5.7.
4.1.6. J2 - Konfiguration der Spannungsversorgung Die Konfiguration der Spannungsversorgung erfolgt über einen Jumper (J2). Die Module der BS-USB Serie können ihren Spannung wahlweise per USBAnschluss oder von einer externen Quelle beziehen. Versorgung über den USB-Bus (5V DC): Jumperstellung: Pin 1 & 2 Versorgung durch eine externe Spannungsversorgung (12-24V DC): Jumperstellung: Pin 2 & 3 Anmerkung: Der maximale Strom der USB-Schnittstelle liegt bei 500mA. Je nach Anzahl der geschalteten Ausgänge bzw.
BS-SER Serie V BS-SER Serie | Seite 77
5. BS-SER Serie 5.1. Hardware Beschreibung 5.1.1. Einführung Unsere RS-232 Produkte sind für den industriellen Einsatz zur Messung, Steuerung und Regelung entwickelt worden. Die Module verfügen alle über ein RS-232 Interface und können somit problemlos an Geräte mit seriellem Port (z. B. PC, Terminal PC usw.) angeschlossen werden. Der RS-232 Bus hat sich seit vielen Jahren im Einsatz bewährt und zeichnet sich durch seine hohe Flexibilität aus.
5.1.2. Installation Verbinden Sie das Produkt mit einer seriellen Schnittstelle Ihres PCs und führen das DELIB Setup aus. Zum Kapitel => DELIB Setup 5.1.3. DIP-Schalter Einige Einstellungen lassen sich einfach mit Hilfe von DIP Schaltern konfigurieren. Es lassen sich die Baudrate, der Vorzugsmodus, der serielle Textoder der Register-Modus konfigurieren. Vorzugsmodus Mithilfe des ersten DIP-Schalters kann das Modul in den Vorzugsmodus versetzt werden.
DIP Modus / Erklärung Schalter 1 Vorzugsmodus ON (115K Baudrate, Modul-Adresse = 0, Echo = OFF) Baudrate per DIP Schalter 3 und 4 konfigurierbar OFF DIP Schalter 2 ON OFF Modus / Erklärung Register Modus Text Modus DIP DIP Baudrate Schalter 3 Schalter 4 115200 ON ON OFF ON OFF ON OFF OFF 57600 9600 2400 BS-SER Serie | Seite 80
5.1.4. Technische Daten SER-Interface (115.200 Baud - 300 Baud) Spannungsversorgung extern 12V bis 24V DC Betriebstemperatur: 10°C .. 50°C Ausgänge 8/16/32/64 Relais (wahlweise 3A) oder MOSFET Galvanische Trennung Timeout-Schutz (Funktion, welche die Ausgänge abschaltet, falls das Modul nicht mehr adressiert (erreicht) wird) BS-SER-O8-R8: Min. / Max. Max. Schaltspannung Schaltstrom 0V-36V AC 0,5A AC 0,5A Relais 0V-36V DC 0,5A DC Typ Max. Transportstrom 1,25A AC 1,25A DC Max. Schaltleistung Max.
Eingänge 8/16/32/64 Optokoppler-Eingänge Galvanische Trennung Maximal 15-30V AC / DC Signalspannung (optional auf 5V-15V konfigurierbar) 16 Bit-Zähler je Eingangskanal Erfassung von Impulsen zwischen 2 Auslesetakten Produktspezifische Daten: Produkt BS-SER-O8-R8 BS-SER-O8-R8_3A BS-SER-O32 BS-SER-M32 BS-SER-R32 BS-SER-R32_3A BS-SER-O16-M16 BS-SER-O16-R16 BS-SER-O16-R16_3A BS-SER-O64 BS-SER-M64 BS-SER-R64 BS-SER-R64_3A BS-SER-O32-M32 BS-SER-O32-R32 BS-SER-O32-R32_3A Eingänge Ausgänge Länge x Breite x Höhe in
5.1.5. Übersichtsbilder 5.1.5.1.
5.1.5.2.
5.1.5.3.
5.1.5.4.
5.1.5.5.
5.1.5.6.
5.1.5.7.
5.1.6. J2 - Konfiguration der Spannungsversorgung Die Konfiguration der Spannungsversorgung erfolgt über einen Jumper (J2). Produkte der BS-SER Serie sind auf eine externe Spannungsversorgung angewiesen.
Digitale Ein-/Ausgänge VI Digitale Ein-/Ausgänge | Seite 91
6. Digitale Ein-/Ausgänge 6.1. Digitale Eingänge 6.1.1. Pinbelegung Eingänge Pin 1a Belegung Input Channel 1 1b 2a 2b 3a 3b 4a 4b 5a 5b 6a 6b 7a 7b 8a 8b Input Channel 1 Input Channel 2 Input Channel 2 Input Channel 3 Input Channel 3 Input Channel 4 Input Channel 4 Input Channel 5 Input Channel 5 Input Channel 6 Input Channel 6 Input Channel 7 Input Channel 7 Input Channel 8 Input Channel 8 Bei einer Optokoppler-Konfiguration ist keine Polarität erforderlich.
6.1.2. Erfassen von schnellen Eingangsimpulsen Schnelle Zustandswechsel an den Eingängen gehen nicht verloren, auch wenn diese in großen Zeitintervallen abgefragt werden. Diese Zustandsänderungen zwischen zwei Auslesezyklen werden hierbei durch eine zusätzliche Logik erfasst und können separat per Software ausgelesen werden. Ein solcher "Zustandswechsel" wird (für alle Eingänge gemeinsam) mit der Input-Change LED signalisiert.
6.2. Digitale Ausgänge 6.2.1. Pinbelegung Ausgänge Bei einer MOS-Konfiguration ist zu beachten, dass die U_Input Anschlussleitungen an die Steckverbinder mit der Kennzeichnung "a" und die zu schaltenden U_Output Anschlussleitungen an die darunterliegenden Steckverbinder mit der Kennzeichung "b" angeschlossen werden. Bei einer Relais-Konfiguration ist keine Polarität erforderlich. U_Input und U_Output können wahlweise an "a" oder "b" angeschlossen werden.
6.2.3. Relais Ausgänge 3A Mit den wahlweise konfigurierbaren 3A Relais lassen sich Spannungen von bis zu 36V AC/DC schalten. Die maximale Strombelastbarkeit beträgt 3A bei einer maximalen Schaltleistung von 90W. Auch hier sorgen die Relais für eine sichere galvanische Trennung des Moduls zu den angeschlossenen Anlagen. 6.2.4. MOSFET Ausgänge Mit den ebenfalls konfigurierbaren MOSFET Transistoren lassen sich Spannungen von mindestens 2,8V bis zu 30V DC schalten.
6.2.6. Visuelle Kontrolle der Ausgänge Über eine LED wird der Zustand jedes Ausgangskanals angezeigt. Ausgehende Signale sind hierdurch einfach zu erkennen und Fehler in der Verdrahtung schneller zu beheben.
Software VII Software | Seite 97
7. Software 7.1. DELIB Treiberbibliothek 7.1.1.
7.1.1.1. Unterstützte Programmiersprachen Die folgenden Programmiersprachen werden von der DELIB-Treiberbibliothek unterstützt: 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.
7.1.1.2.
7.1.1.3. SDK-Kit für Programmierer Integrieren Sie die DELIB in Ihre Anwendung. Auf Anfrage erhalten Sie von uns kostenlos Installationsskripte, die es ermöglichen, die DELIB Installation in Ihre Anwendung mit einzubinden.
7.1.2. DELIB Setup Das DELIB Setup führt Sie durch die Installation unserer Treiberbibliothek. Anschliessend werden Sie durch den Konfigurationsvorgang Funktionstest für unsere verschiedenen Produkte geführt. DELIB sowie Die aktuelle Version des DELIB Setups finden Sie auf unserer Homepage zum Download. Link: http://www.deditec.de/de/downloads/delib-treiber-bibliothek.
Das DELIB Setup prüft das Betriebssystem und ob bereits Versionen der DELIB Treiberbibliothek installiert sind. Anschliessend können Sie wählen ob Sie die 32-Bit oder 64-Bit Version der DELIB Treiberbibliothek installieren möchten.
Installationsfortschritt der Treiberbibliothek.
Zusätzlich können Sie wählen, ob Sie 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.
7.1.3. DELIB Configuration Utility 7.1.3.1. Einführung Das DELIB Configuration Utility ermöglicht die Konfiguration der Ethernet-, CAN- oder 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 Utility ist in der Installation der DELIB Treiberbibliothek enthalten.
7.1.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.
7.1.3.2.1. Modul Konfiguration USB Die Konfiguration von USB-Modulen ist nur nötig, um mehrere Module einer USB-Produktfamilie (z.B. 2x USB-RELAIS-8) in einem System verwenden zu können. Befindet sich nur ein USB-Modul, oder mehrere USB-Module aus unterschiedlichen Produktfamilien (z.B. RO-USB-O16 und USB-RELAIS-8) im System, ist keine Konfiguration nötig, da die 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-Nr. 0. Mit "Neue Module-Nr. setzen" wird die aktuell ausgewählte Neue Modul-Nr.
7.1.3.2.1.1. Beispiel zur Konfiguration identischer 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-8Serie 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.
Software | Seite 115
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.
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.
7.1.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.
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.
7.1.3.2.2.1. Automatische 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 WriteProtection kann über die Authentifzierung temporär deaktiviert werden. (-> Authentifizierung) Hinweis Bitte beachten Sie, dass in diesem Schritt nur die Modul-Konfiguration geändert wird.
7.1.3.2.2.2. Verschlüsselung einrichten 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.
Falls deaktiviert, aktivieren Sie die Einstellung Allow admin-encrypted protocol, anschließend können Sie mit Set password ein neues Passwort zur Verschlüsselung einstellen.
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-Einstellungen 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 DIP-Schalter-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 RO-ETH/LC Modul durchgeführt wird.
Im zweiten Schritt zurückgesetzt.
Die Authentifzierung wurde erfolgreich abgeschlossen. Sie sind nun temporär berechtigt System-Einstellungen zu editieren.
Nach erfolgreicher Authentifizierung werden abschließend Verschlüsselungs-Einstellungen auf das Modul übertragen.
7.1.3.2.3. Modul Konfiguration CAN 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. (Beispiel zur Konfiguration identischer USBModule) Zusätzlich zur Modul-Nr kann auch die Anzahl an Übertragungsversuche im Falle eines Fehlers festgelegt werden.
7.1.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.
7.1.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.
7.1.4. 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.
7.1.4.1.
1. In der "Module-Selection" ein entsprechendes CAN Modul (z.B. das ROCAN2) auswählen.
7.1.4.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.
7.1.4.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.
7.1.4.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.
7.1.4.5. Konfiguration Für jedes CAN Modul können 4 unterschiedliche Konfigurationen für TX- und RX-Pakete 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 0-5V und nicht im Standard Messbereich von ±10V gestartet wird. Auf den nachfolgenden Seiten wird gezeigt, wie die verschiedenen Modi konfiguriert werden. 7.1.4.5.1. Modul Konfiguration 1.
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. Response-Address gibt vor, an welche Modul-Adresse eine Bestätigung gesendet wird, sobald ein Paket empfangen wurde. 6. Über "Apply" werden die Änderungen übernommen.
7.1.4.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 vorhanden, so haben die Einstellungen keine Auswirkung. 1. Über den Menüpunkt "Edit" wird ein Zusatzfenster geöffnet, in dem die Konfiguration vorgenommen werden kann. 2. Der Wertebereich gibt den Bereich an, in dem analoge Signale, digital (z.
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.
7.1.4.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.
7.1.4.5.3.1. Beispiel Interval 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.
7.1.4.5.3.2. Beispiel Trigger 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).
7.1.4.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.
7.1.4.5.4.1. Beispiel RX-DA 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.
7.1.4.5.4.2. Beispiel RX-DO 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.
7.1.4.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. 7.1.4.6.1.
7.1.4.6.2.
7.1.4.6.3.
7.1.4.6.4. Digitale Eingangszähler (48-Bit) - 32-Bit Paket Aufbau eines 8 Byte langen CAN-Paketes: CAN-Data-Byte Inhalt 1 2 3 CNT8 counter 1 (Bit 0-7) CNT8 counter 1 (Bit 8-15) CNT8 counter 1 (Bit 1623) CNT8 counter 1 (Bit 2431) CNT8 counter 2 (Bit 0-7) CNT8 counter 2 (Bit 8-15) CNT8 counter 2 (Bit 1623) CNT8 counter 2 (Bit 2431) 4 5 6 7 8 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.
7.1.4.6.5.
7.1.4.6.6. Analoge Ein- / Ausgänge 7.1.4.6.6.1. Analoge Eingänge Aufbau eines 8 Byte langen CAN-Paketes: CAN-Data-Byte 1 2 3 4 5 6 7 8 Inhalt A/D channel 5 (Bit 0-7) A/D channel 5 (Bit 8-15) A/D channel 6 (Bit 0-7) A/D channel 6 (Bit 8-15) A/D channel 7 (Bit 0-7) A/D channel 7 (Bit 8-15) A/D channel 8 (Bit 0-7) 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.
7.1.4.6.6.2. Analoge Ausgänge Aufbau eines 8 Byte langen CAN-Paketes: CAN-Data-Byte Inhalt 1 2 3 4 5 6 7 8 D/A channel 1 (Bit 0-7) D/A channel 1 (Bit 8-15) D/A channel 2 (Bit 0-7) D/A channel 2 (Bit 8-15) D/A channel 3 (Bit 0-7) D/A channel 3 (Bit 8-15) D/A channel 4 (Bit 0-7) D/A channel 4 (Bit 8-15) Der Wertebereich eines D/A Wandlers gibt an, in welchem Bereich digitale Signale, analog (z.B. im Bereich 0-5V) umgesetzt werden.
7.1.4.6.6.3.
Beispiel Strombereich Wert (hex) Stromstärke FFFF 8000 0000 25 mA 12,5 mA 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.
7.1.4.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.
7.1.4.6.8. Stepper Aufbau eines 8 Byte langen CAN-Paketes: CAN-Data-Byte Inhalt 1 2 3 4 5 6 7 8 COMMAND PAR1 (Bit 0-7) PAR1 (Bit 8-15) PAR1 (Bit 16-23) PAR1 (Bit 24-31) PAR2 (Bit 0-7) PAR2 (Bit 8-15) PAR3 (Bit 0-7) 7.1.4.6.8.1.
7.1.4.6.8.2. Werte für par 1 zu Befehl SET_MOTORCHARACTERISTIC Parameter (DAPI_STEPPER_MOTORCHAR_PAR_ ...
7.1.4.6.8.4. Beispiel Der Befehl DapiStepperCommand(handle, 1, DAPI_STEPPER_CMD_GO_POSITION, 3200, 0, 0, 0); wird in einem 8 Byte CAN Paket versendet.
7.1.5. DELIB Module Demo Nach Installation der DELIB Treiberbibliothek kann das Programm DELIB Module Demo auf folgendem Weg gestartet werden: Start Programme DEDITEC DELIB oder DELIB64 Sample Programs -> DELIB Module Demo. Das Programm DELIB Module Demo ist ein All-in-One Tool mit dem sämtliche I/Os aller Produkte aus unserem S&R Bereich gesteuert und getestet werden können.
7.1.5.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.
7.1.5.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.
7.1.5.2.1. Module Info Dieses Beispiel zeigt die erweiterten Informationen des Moduls RO-SER-O16M16. 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.
7.1.5.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).
7.1.5.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 bestimme Ausgänge gezielt ein- bzw. ausgeschaltet werden.
7.1.5.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.
7.1.5.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.
7.1.5.7. PT100 Dieses Beispiel zeigt die Temperatur Eingänge eines RO-SER-PT100-4 Moduls. 1. Auswahl des Kanal-Bereichs, der angezeigt werden soll. 2. An PT100-Kanal 1 wird die Temperatur -0,64°C gemessen. 3. PT100-Kanal 4 zeigt die Temperatur -9999°C. Der Sensor ist nicht angeschlossen.
7.1.5.8. 48Bit Counter Input Dieses Beispiel zeigt die 48Bit Counter Eingänge eines RO-SER-CNT8 Moduls. 1. Auswahl des Kanal-Bereichs, der angezeigt werden soll. 2. Auswahl des Eingangsfilter. 3. Auswahl des Counter-Modus. 4. Der Zählerstand von Counter-Kanal 5 ist 150. 5. Hier kann der aktuelle Counter-Modus und Eingangsfilter der Eingangskanäle im Modul gespeichert oder auf Werkseinstellung zurückgesetzt werden. 6. Setzt die Zählerstände des aktuellen Kanal-Bereichs zurück.
7.1.5.9. 32Bit Counter Output Dieses Beispiel zeigt die 32Bit Counter Ausgänge eines RO-SER-CNT8 Moduls. 1. Auswahl des Kanal-Bereichs, der angezeigt werden soll. 2. Die Low-Time, High-Time und die Anzahl der zu generierenden Pulse kann hier eingestellt werden. Bei Klick auf den Button Go wird das Generieren der Pulse gestartet.
7.1.5.10. PWM Output Dieses Beispiel zeigt die digitalen Ausgänge eines RO-SER-PWM16 Moduls. 1. Auswahl des Kanal-Bereichs, der angezeigt werden soll. 2. An PWM-Ausgang 1 wird das Verhähltnis 10% ausgegeben.
7.1.5.11. Stepper Dieses Beispiel zeigt den 1.Stepper-Motor eines RO-SER-Stepper2 Moduls. 1. Auswahl des Stepper-Motors. 2. Aktuelle CPU-Temperatur und Spannungsversorgung des Stepper-Motors. 3. Aktuelle Stepper Position. 4. Öffnet die Ansicht Motor Characteristic. Hier kann beispielsweise der Schrittbetrieb eingestellt werden. 5. Übersicht der aktuell angefahrenen Schalter. 6. Hier kann die Geschwindigkeit des Stepper-Motors gesetzt und zurückgelesen werden. 7.
7.1.5.12. Watchdog Dieses Beispiel zeigt einen USB-Watchdog Stick 1. Hier kann der Watchdog-Stick aktiviert, deaktiviert oder retriggert werden. Beim Retrigger, wird der Watchdog-Counter auf 0 zurückgesetzt. 2. Aktueller Status des Watchdog-Sticks. 3. Wird der Haken bei enabled gesetzt, wird der Watchdog-Stick automatisch im eingestellten Intervall retriggert.
7.1.6. DELIB Module Config Die DELIB Module Config ist eine neue Anwendung zur Konfiguration unserer Produkte. Dieses Programm ist im Installationspaket unserer DELIB Treiberbibliothek enthalten. 7.1.6.1. Netzwerkeinstellungen Hier können Sie die Netzwerkeinstellungen des ausgewählten EthernetProduktes ändern. Board Name Der Board Name kann zur Geräteidentifizierung genutzt werden. Ist DHCP aktiv, wird der Board Name als Hostname verwendet.
Der Schutz kann temporär (3min) durch ein kurzes (2 sek) betätigen des 'FWReset-Key' auf dem Gerät deaktiviert werden. MAC-Adresse Die MAC-Adresse ist die physikalische Adresse des Produktes und ist fest mit der Hardware verbunden. IP-Adresse automatisch über DHCP beziehen 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.
7.1.6.2. Benutzerverwaltung Hier können Sie die Benutzereinstellungen für die Weboberfläche vornehmen. Session Time (10 - 65535 Sekunden) Timeout bei inaktivität. Erreicht die Session Time 0 wird der Benutzer automatisch aus der Weboberfläche ausgeloggt. Login Required Ist diese Option aktiv, wird ein Benutzername/Passwort für den Zugriff auf die Weboberfläche benötigt. Account name Wird verwendet wenn das Feld Login Required eingeschaltet ist. Maximal 16 Zeichen länge.
7.1.6.3. Serielle Konfiguration Über diese Seite können Sie die gesamte Konfiguration unserer Produkte mit serieller Schnittstelle vornehmen. Vorzugsmodus Im Vorzugsmodus wird das Modul automatisch mit folgenden Einstellungen betrieben: Baudrate: 115200 Modul-Nr. 0 Echo = Off Register-Mode = On Baudrate Ist der Vorzugsmodus deaktiviert, kann die Geschwindigkeit der Kommunikation festgelegt werden.
57600 50000 38400 19200 9600 4800 2400 1200 600 300 RS485 Modul address Adresse für die Identifikation im RS485 Bus.
7.1.7. Watchdog Configuration Utility 7.1.7.1. Einführung Das Watchdog-Configuration-Utility dient dazu die Schaltzustände der Relais so zu konfigurieren wie es der Benutzer benötigt. Hiermit können sie ihre persönliche Konfiguration auf den Watchdog-Stick schreiben, oder auch wieder auslesen und ändern.Sie als Benutzer sind in der Lage die von ihnen über den Watchdog-Stick angesteuerten Geräte oder Module durch ihre persönliche Konfiguration individuell zu überwachen.
7.1.7.2. Konfiguration 1. Zu konfigurierenden USB-Watchdog Stick auswählen. Hinweis: Falls mehrere USB-Watchdog Sticks an einem PC verwendet werden sollen, muss mithilfe des DELIB Configuration Utilitys eine eindeutige Modul-Nr für jeden Stick vergeben werden. 2. Der "Global Watchdog timeout" definiert den Zeitraum (in millisekunden), in dem ein Retrigger-Signal vom PC erwartet wird. Bleibt das Retrigger-Signal aus, geht der USB-Watchdog-Stick in den "Timeout"-State und schaltet entsprechend die Relais. 3.
State "Deactivated": In diesem State bedindet sich der USB-Watchdog Stick, wenn er mit Strom durch die USB-Schnittstelle versorgt wird. Dieser State wird ebenfalls durch den Befehl "DapiWatchdogDisable" erreicht. State "Activated": Dieser State wird durch den Befehl "DapiWatchdogEnable" erreicht. State "Retriggered": Dieser "DapiWatchdogRetrigger" erreicht. State wird durch den Befehl State "Timeout": Diese State wird durch das Überschreiten des Global Watchdog Timeouts ausgelöst.
7.1.7.3. Retrigger Software Um ein PC-System zu überwachen, muss der PC regelmässig ein RetriggerSignal an den USB-Watchdog-Stick schicken. Erhält der USB-Watchdog-Stick kein Retrigger-Signal innerhalb des Global Watchdog Timouts, geht der Stick in den Timeout-State und schaltet entsprechend seine Relais. Wir bieten Ihnen ein simples Retrigger-Programm, welches Sie beispielsweise in den Autostart Ordner von Windows kopieren können.
7.1.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.
7.1.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.
Firmware updaten möchten.
7.1.8.3. Firmware Update durchführen Dieses Beispiel zeigt das Modul RO-SER-CNT8-AD32-DA8-PT100-4STEPPER2 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).
4. FW-Ver zeigt die aktuelle Firmware Version des Submoduls. New-FW-Ver zeigt die neuste Version an, die für dieses Submodul verfügbar ist. Über den Button Flash wird das Firmware Update für das jeweilige Submodul durchgeführt. 5. Über den Button Flash all submodules wird das Firmware Update für alle angeschlossenen Submodule durchgeführt. 7.1.8.3.1. Flash-Files manuell aktualiseren In manchen Fällen ist es nötig, die Flash-Files manuell zu aktualisieren, z.B.
7.2. Benutzung unserer Produkte 7.2.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 Treiberbibliothek erklärt und mit Anwendungsbeispielen versehen. unserer 7.2.2.
http://manuals.deditec.de/de/manual_deditec_communication_protocols/index. html Dieses Handbuch bietet eine komplette Übersicht über die benötigten Registeradressen unsere Module sowie den Aufbau der verschiedenen Kommunikationsprotokolle.
7.2.4. Ansteuerung über grafische Anwendungen 7.2.4.1. LabVIEW Unsere DELIB API kann in LabVIEW importiert und verwendet werden. Alle Produkte die unsere DELIB API verwenden, sind somit mit LabVIEW kompatibel. Folgendes Kapitel zeigt, wie Sie die DELIB API in LabVIEW einbinden können: Einbinden der DELIB in LabVIEW 7.2.4.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.
7.2.4.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.
7.2.5. Einbinden der DELIB in Programmiersprachen 7.2.5.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.
7.2.5.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" muss "$(DELIB_LIB)\delib.lib" eingetragen werden.
7.2.5.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.
7.2.5.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.
7.2.5.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.
7.2.5.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.
7.2.5.7. Einbinden der DELIB in MS-Office (VBA) Die benötigte Datei für VBA befindet sich im Verzeichnis C:\Programme\DEDITEC\DELIB\include. Microsoft Excel starten und über das Menue "Extras -> Makro -> Visual Basic Editor" öffnen.
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.
7.2.5.8. Einbinden der DELIB in LabVIEW 7.2.5.8.1. Einbinden der DELIB in LabVIEW Das LabVIEW-Beispielprogramm "Deditec_Modul_Control.vi" ist keine EXEDatei 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.
- Wählen sie den Punkt "VIs für DLL erstellen" und drücken Sie auf "Weiter" Software | Seite 222
- Im nächsten Fenster über die Browse-Buttons den Speicherort der .DLL und der .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) - Anschließend mit "Weiter" fortfahren.
- Es erscheint eine Zusammenfassung der ausgeführten Schritte - Zum fortfahren auf "Weiter" drücken. - Die VIs werden nun erzeugt und können verwendet werden.
7.2.5.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.
In LabVIEW könnte die Funktion dann so aussehen: Software | Seite 231
7.2.5.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.
7.2.5.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 Installation) Files\DEDITEC\DELIB64\\include\DelibJava (64 Bit 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.
7.3. DELIB Sample Sources (Programmierbeispiele) 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.
7.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 Drücken Sie Next.
Software | Seite 238
Wählen Sie den Installation Ordner 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.
7.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.
7.3.2.1. Schritt 1 - Produktauswahl Sie benötigen beispielsweise eine Hilfestellung zur Programmierung der digitalen Eingänge eines RO-ETH-Moduls (z.B RO-ETH-O16) in der Programmiersprache Visual-C. Da es sich um ein RO-ETH-Produkt handelt, wählen bzw.
7.3.2.2. Schritt 2 - Kategorieauswahl Im nächsten Schritt, finden Sie eine Übersicht der verfügbaren Kategorien für das ausgewählte Produkt.
7.3.2.3. Schritt 3 - Programmiersprachenauswahl In diesem Schritt sehen Sie alle verfügbaren Programmierbeispiele der gewählten Kategore, sortiert nach Programmiersprachen. Da wir uns in diesem Beispiel auf die Programmiersprache Visual-C konzentrieren, öffnen Sie den Ordner vc.
7.3.2.4.
Den Quellcode des Beispielprogramm (in diesem Fall .cpp-Datei) können Sie nun mit einem beliebigen Text-Editor öffnen.
Zusätzlich finden Sie im Ordner debug, ein bereits kompliliertes und ausführbares Programm zu diesem Projekt.
7.4. DELIB CLI (command-line interface) Da in manchen Programmiersprachen (wie z.B. 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\ .
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 | Seite 249
7.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/Linux Unter Windows befindet sich die "delib_cli.cfg" nach der Installation der DELIBTreiberbibliothek im Verzeichnis "C: \Programme\DEDITEC\DELIB\programs\cli\". Unter Linux finden Sie die "delib_cli.cfg" im Zip-Archiv des "DELIB CLI für Linux" welches wir auf unserer Website zum Download anbieten. Inhalt der "delib_cli.
7.4.2. DELIB CLI Beispiele Digitale Ausgänge Windows delib_cli DO1 17 1 -> schaltet das 18. digitale Relais an delib_cli DO1 3 0 -> schaltet das 4.
Digitale Eingänge Windows delib_cli DI1 3 Beispiel eines Rückgabewertes: 1 -> lese den Zustand des 4.
Digitale Eingänge Linux sudo delib_cli_usb DI1 3 Beispiel eines Rückgabewertes: 1 -> lese den Zustand des 4.
Analoge Ausgänge Windows 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 milli Ampere (sowohl Komma "," als auch Punkt ".
Analoge Eingänge Windows 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.
DELIB API Referenz VIII DELIB API R eferenz | Seite 256
8. DELIB API Referenz 8.1. Verwaltungsfunktionen 8.1.1. DapiOpenModule Beschreibung Diese Funktion öffnet ein bestimmtes Modul. Definition ULONG DapiOpenModule(ULONG moduleID, ULONG nr); Parameter moduleID=Gibt das Modul an, welches geöffnet werden soll (siehe delib.h) nr=Gibt an, welches (bei mehreren Modulen) geöffnet werden soll. nr=0 -> 1. Modul nr=1 -> 2.
8.1.2. DapiCloseModule Beschreibung Dieser Befehl schliesst ein geöffnetes Modul.
8.1.3. DapiGetDELIBVersion Beschreibung Diese Funktion liest die Version der installierten DELIB Treiberbibliothek. Definition ULONG DapiGetDELIBVersion(ULONG mode, ULONG par); Parameter mode=Modus, mit dem die Version ausgelesen wird (muss immer 0 sein). par=Dieser Parameter ist nicht definiert (muss immer 0 sein). Return-Wert version=Versionsnummer der installierten DELIB-Version [hex] Programmierbeispiel version = DapiGetDELIBVersion(0, 0); //Bei installierter Version 1.
8.1.4. DapiSpecialCMDGetModuleConfig Beschreibung Diese Funktion gibt die Hardwareaustattung Ausgangskanäle) des Moduls zurück. (Anzahl der Ein- bzw.
par=DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_AD DELIB API R eferenz | Seite 261
Anzahl der analogen Ausgangskanäle abfragen par=DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_DA Anzahl der Temperaturkanäle abfragen par=DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_TEMP Anzahl der Stepperkanäle abfragen par=DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_STEPPER DELIB API R eferenz | Seite 262
Return-Wert Anzahl der digitalen Eingangskanäle abfragen return=Anzahl der digitalen Eingangskanäle Anzahl der digitalen Eingangs Flip-Flops abfragen return=Anzahl der digitalen Eingangs Flip-Flops Anzahl der digitalen Eingangszähler abfragen (16-Bit Zähler) return=Anzahl der digitalen Eingangszähler (16-Bit Zähler) Anzahl der digitalen Eingangszähler abfragen (48-Bit Zähler) return=Anzahl der digitalen Eingangszähler (48-Bit Zähler) Anzahl der digitalen Ausgangskanäle abfragen return=Anzahl der digitalen A
Programmierbeispiel ret=DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_GET_MODULE_CONFIG, DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_DI, 0, 0); //Gibt die Anzahl der digitalen Eingangskanäle zurück ret=DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_GET_MODULE_CONFIG, DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_DO, 0, 0); //Gibt die Anzahl der digitalen Ausgangskanäle zurück ret=DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_GET_MODULE_CONFIG, DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_DX, 0, 0); //Gibt die Anzahl der digitalen Ein-/Ausgangs
8.1.5. DapiOpenModuleEx Beschreibung Diese Funktion öffnet gezielt ein Modul mit Ethernet-Schnittstelle. Dabei können die Parameter IP-Adresse, Portnummer und die Dauer des Timeouts 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.
8.2. Fehlerbehandlung 8.2.1. DapiGetLastError Beschreibung Diese Funktion liefert den letzten erfassten Fehler. Definition ULONG DapiGetLastError(); Parameter Keine Return-Wert Fehler Code 0=kein Fehler. (siehe delib.
8.2.2. DapiGetLastErrorText Beschreibung Diese Funktion liest den Text des letzten erfassten Fehlers. Definition extern ULONG __stdcall DapiGetLastErrorText(unsigned char * msg, unsigned long msg_length); Parameter msg = Buffer für den zu empfangenden Text msg_length = Länge des Text Buffers Programmierbeispiel BOOL IsError () { if (DapiGetLastError () != DAPI_ERR_NONE) { unsigned char msg[500]; DapiGetLastErrorText((unsigned char*) msg, sizeof(msg)); printf ("Error Code = %x * Message = %s\n", 0, msg); re
8.3. Digitale Eingänge lesen 8.3.1. DapiDIGet1 Beschreibung Dieser Befehl liest einen einzelnen digitalen Eingang. Definition ULONG DapiDIGet1(ULONG handle, ULONG ch); Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Gibt die Nummer des Eingangs an, der gelesen werden soll (0, 1, 2, 3, ..
8.3.2. DapiDIGet8 Beschreibung Dieser Befehl liest gleichzeitig 8 digitale Eingänge. Definition ULONG DapiDIGet8(ULONG handle, ULONG ch); Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Gibt die Nummer des Eingangs an, ab dem gelesen werden soll (0, 8, 16, 24, ..
8.3.3. DapiDIGet16 Beschreibung Dieser Befehl liest gleichzeitig 16 digitale Eingänge. Definition ULONG DapiDIGet16(ULONG handle, ULONG ch); Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Gibt die Nummer des Eingangs an, ab dem gelesen werden soll (0, 16, 32, ...
8.3.4. DapiDIGet32 Beschreibung Dieser Befehl liest gleichzeitig 32 digitale Eingänge. Definition ULONG DapiDIGet32(ULONG handle, ULONG ch); Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Gibt die Nummer des Eingangs an, ab dem gelesen werden soll (0, 32, 64, ..
8.3.5. DapiDIGet64 Beschreibung Dieser Befehl liest gleichzeitig 64 digitale Eingänge. Definition ULONGLONG DapiDIGet64(ULONG handle, ULONG ch); Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Gibt die Nummer des Eingangs an, ab dem gelesen werden soll (0, 64, ..
8.3.6. DapiDIGetFF32 Beschreibung Dieser Befehl liest die Flip-Flops der Eingänge aus und setzt diese zurück (Eingangszustands-Änderung). Definition ULONG DapiDIGetFF32(ULONG handle, ULONG ch); Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Gibt die Nummer des Eingangs an, ab dem gelesen werden soll (0, 32, 64, ..
8.3.7. DapiDIGetCounter Beschreibung Dieser Befehl liest den Eingangszähler eines digitalen Eingangs.
8.3.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.
8.3.9. DapiSpecialCounterLatchAllWithReset Beschreibung Dieser Befehl speichert die Zählerstände aller Eingangszähler gleichzeitig in ein Zwischenspeicher (Latch). Zusätzlich werden die Zählerstände der Eingangszähler im Anschluß resettet.
8.3.10. Dapi_Special_DI_FF_Filter_Value_Get Beschreibung Dieser Befehl gibt den Filter [ms] zurück, in welchem Zeitintervall digitale Eingangskanäle abgetastet werden. Definition ULONG DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_DI, DAPI_SPECIAL_DI_FF_FILTER_VALUE_GET, 0, 0); Parameter handle=Dies ist das Handle eines geöffneten Moduls Return-Wert Zeit [ms] Bemerkung Dieser Befehl wird nicht von unseren Modulen mit Ethernet-Schnittstelle unterstützt.
8.3.11. Dapi_Special_DI_FF_Filter_Value_Set Beschreibung Dieser Befehl setzt einen Filter [ms], in welchem Zeitintervall digitale Eingangskanäle abgetastet werden. Definition void DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_DI, DAPI_SPECIAL_DI_FF_FILTER_VALUE_SET, ULONG time_ms, 0); Parameter handle=Dies ist das Handle eines geöffneten Moduls time_ms=Zeitintervall [ms], indem digitale Eingangskanäle abgetastet werden. Return-Wert Keiner.
8.4. Digitale Ausgänge verwalten 8.4.1. DapiDOSet1 Beschreibung Dieser Befehl setzt einen einzelnen Ausgang. Definition void DapiDOSet1(ULONG handle, ULONG ch, ULONG data); Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Gibt die Nummer des zu setzenden Ausgangs an (0 ..
8.4.2. DapiDOSet8 Beschreibung Dieser Befehl setzt gleichzeitig 8 digitale Ausgänge. Definition void DapiDOSet8(ULONG handle, ULONG ch, ULONG data); Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Gibt die Nummer des Ausgangs an, ab dem geschrieben werden soll (0, 8, 16, 24, 32, ..
8.4.3. DapiDOSet16 Beschreibung Dieser Befehl setzt gleichzeitig 16 digitale Ausgänge. Definition void DapiDOSet16(ULONG handle, ULONG ch, ULONG data); Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Gibt die Nummer des Ausgangs an, ab dem geschrieben werden soll (0, 16, 32, ..
8.4.4. DapiDOSet32 Beschreibung Dieser Befehl setzt gleichzeitig 32 digitale Ausgänge. Definition void DapiDOSet32(ULONG handle, ULONG ch, ULONG data); Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Gibt die Nummer des Ausgangs an, ab dem geschrieben werden soll (0, 32, 64, ..
8.4.5. DapiDOSet64 Beschreibung Dieser Befehl setzt gleichzeitig 64 digitale Ausgänge. Definition void DapiDOSet64(ULONG handle, ULONG ch, ULONG data); Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Gibt die Nummer des Ausgangs an, ab dem geschrieben werden soll (0, 64, ..
8.4.6. DapiDOSet1_WithTimer Beschreibung Diese Funktion setzt einen Digitalausgang (ch) auf einen Wert (data - 0 oder 1) für eine bestimmte Zeit in ms. Definition void DapiDOSet1_WithTimer(ULONG handle, ULONG ch, ULONG data, ULONG time_ms); Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Gibt die Nummer des Ausgangs an, ab dem geschrieben werden soll (0, 32, 64, ..
8.4.7. DapiDOReadback32 Beschreibung Dieser Befehl liest die 32 digitalen Ausgänge zurück. Definition ULONG DapiDOReadback32(ULONG handle, ULONG ch); Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Gibt die Nummer des Ausgangs an, ab dem zurückgelesen werden soll (0, 32, 64, ..) Return-Wert Zustand von 32 Ausgängen.
8.4.8. DapiDOReadback64 Beschreibung Dieser Befehl liest die 64 digitalen Ausgänge zurück. Definition ULONGLONG DapiDOReadback64(ULONG handle, ULONG ch); Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Gibt die Nummer des Ausgangs an, ab dem zurückgelesen werden soll (0, 64, ..) Return-Wert Zustand von 64 Ausgängen.
8.4.9. DapiDOSetBit32 Beschreibung Mit diesem Befehl können Ausgänge gezielt auf 1 geschaltet werden, ohne die Zustände der benachbarten Ausgänge zu ändern.
8.4.10. DapiDOClrBit32 Beschreibung Mit diesem Befehl können Ausgänge gezielt auf 0 geschaltet werden, ohne die Zustände der benachbarten Ausgänge zu ändern.
8.5. Digitale Zähler Funktionen 8.5.1. DapiCnt48ModeSet Beschreibung Dieser Befehl setzt einen Zählmodus (optional auch Submodus) und Eingangsfilter für einen bestimmten Eingangszählerkanal. Definition void DapiCnt48ModeSet(ULONG handle, ULONG ch, ULONG mode); Parameter handle = Dies ist das Handle eines geöffneten Moduls ch = Nummer des Eingangszählerkanals, dessen Modus gesetzt werden soll (0, 1, 2, 3, ..
Mögliche Werte für mode mode=DAPI_CNT48_MODE_COUNT_RISING_EDGE | DAPI_CNT48_SUBMODE_NO_RESET In diesem Modus wird bei steigender Flanke gezählt. mode=DAPI_CNT48_MODE_COUNT_RISING_EDGE | DAPI_CNT48_SUBMODE_RESET_WITH_READ In diesem Modus wird bei steigender Flanke gezählt. Zusätzlich wird bei jedem Lesevorgang der Zähler resettet. mode=DAPI_CNT48_MODE_COUNT_RISING_EDGE | DAPI_CNT48_SUBMODE_RESET_ON_CH_7 In diesem Modus wird bei steigender Flanke gezählt.
mode=DAPI_CNT48_MODE_T Mit diesem Modus wird die Periodendauer T gemessen. Als Basis hierbei dient ein 100 MHz Zähler. mode=DAPI_CNT48_MODE_FREQUENCY Bei diesem Modus lässt sich die Anzahl der steigenden Flanken innerhalb einer Sekunde (=Frequenz) messen. mode=DAPI_CNT48_MODE_PWM Mit diesem Modus werden die "high" und "low" Zeit eines Signals gemessen. Dadurch kann anschließend das Verhältnis bestimmt werden (PWM).
Dieser Befehl wird nur von unserem Modul RO-CNT8 unterstützt.
Programmierbeispiel DapiCnt48ModeSet(handle, 0, DAPI_CNT48_MODE_COUNT_RISING_EDGE | DAPI_CNT48_SUBMODE_RESET_WITH_READ | DAPI_CNT48_FILTER_20ns); //Eingangszählerkanal 0 zählt alle Impulse <= 20ns bei steigender Flanke. Zusätzlich wird der Zähler nach Abfrage resettet. DapiCnt48ModeSet(handle, 1, DAPI_CNT48_MODE_COUNT_RISING_EDGE | DAPI_CNT48_SUBMODE_RESET_ON_CH_7 | DAPI_CNT48_FILTER_500us); //Eingangszählerkanal 1 zählt alle Impulse <= 500us bei steigender Flanke.
8.5.2. DapiCnt48ModeGet Beschreibung Dieser Befehl liest den Zählmodus eines bestimmten Eingangszählerkanals zurück. Definition ULONG DapiCnt48ModeGet(ULONG handle, ULONG ch); Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Nummer des Eingangszählerkanals, dessen Modus ausgegeben werden soll (0, 1, 2, 3, .. ) Return-Wert Zählmodus des Eingangszählerkanals. (Nähere Informationen / Beschreibung der Bits -> siehe delib.
8.5.3. DapiCnt48CounterGet32 Beschreibung Dieser Befehl liest die ersten 32 Bit eines 48 Bit Eingangszählers. Definition ULONG DapiCnt48CounterGet32(ULONG handle, ULONG ch); Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Gibt die Nummer des Eingangszählerkanals an, der gelesen werden soll (0, 1, 2, 3, .. ) Return-Wert Ausgabe des Zählerwertes. Bemerkung Dieser Befehl wird nur von unseren Modulen RO-CNT8 und RO-CNT/IGR unterstützt.
8.5.4. DapiCnt48CounterGet48 Beschreibung Dieser Befehl liest einen 48 Bit Zähler eines Eingangszählerkanals. Definition ULONGLONG DapiCnt48CounterGet48(ULONG handle, ULONG ch); Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Gibt die Nummer des Eingangszählerkanals an, der gelesen werden soll (0, 1, 2, 3, .. ) Return-Wert Ausgabe des Zählerwertes. Bemerkung Dieser Befehl wird nur von unseren Modulen RO-CNT8 und RO-CNT/IGR unterstützt.
8.5.5. DapiSpecialCNT48ResetSingle Beschreibung Dieser Befehl resettet den Zählerstand eines einzelnen Eingangszählers. Definition void DapiSpecialCommand(ULONG handle, DAPI_SPECIAL_CMD_CNT48, DAPI_SPECIAL_CNT48_RESET_SINGLE, ULONG ch, 0) Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Gibt die Nummer des Eingangszählers an, dessen Zählerstand resettet werden soll (0, 1, 2, ..) Return-Wert Keiner Bemerkung Dieser Befehl wird nur von unserem Modul RO-CNT8 unterstützt.
8.5.6. DapiSpecialCNT48ResetGroup8 Beschreibung Dieser Befehl resettet gleichzeitig die Zählerstände von 8 Eingangszählern. Definition void DapiSpecialCommand(ULONG handle, DAPI_SPECIAL_CMD_CNT48, DAPI_SPECIAL_CNT48_RESET_GROUP8, ULONG ch, 0) Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Gibt die Nummer des Eingangszählers an, ab dem die Zählerstande von 8 Eingangszählern resettet werden (0, 8, 16, ...
8.5.7. DapiSpecialCNT48LatchGroup8 Beschreibung Dieser Befehl speichert die Zählerstände von 8 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 (langsam) einzeln nacheinander ausgelesen werden können.
8.5.8. DapiSpecialCNT48DIGet1 Beschreibung Dieser Befehl liest Eingangszählerkanals. den Eingangszustand (0/1) eines digitalen Definition ULONG DapiSpecialCommand(ULONG handle, DAPI_SPECIAL_CMD_CNT48, DAPI_SPECIAL_CNT48_DI_GET1, ULONG ch, 0) Parameter handle=Dies ist das Handle eines geöffneten Moduls ch=Gibt die Nummer des Eingangszählerkanals an, dessen Eingangszustand gelesen werden soll (0, 1, 2, 3, ..
8.6. Ausgabe-Timeout verwalten 8.6.1.
8.6.2. DapiSpecialCMDTimeoutGetStatus Beschreibung Dieser Befehl dient zum Auslesen des Timeout-Status.
8.7. Testfunktionen 8.7.1. DapiPing Beschreibung Dieser Befehl prüft die Verbindung zu einem geöffneten Modul.
8.8. Register Schreib-Befehle 8.8.1. DapiWriteByte Beschreibung Dieser Befehl führt einen direkten Register Schreibbefehl auf das Modul aus. Definition void DapiWriteByte(ULONG handle, ULONG adress, ULONG value); Parameter handle=Dies ist das Handle eines geöffneten Moduls adress=Adresse, auf die zugegriffen werden soll value=Gibt den Datenwert an, der geschrieben wird (8 Bit) Return-Wert Keiner Bemerkung Dies sollte nur von erfahrenen Programmieren benutzt werden.
8.8.2. DapiWriteWord Beschreibung Dieser Befehl führt einen direkten Register Schreibbefehl auf das Modul aus. Definition void DapiWriteWord(ULONG handle, ULONG adress, ULONG value); Parameter handle=Dies ist das Handle eines geöffneten Moduls adress=Adresse, auf die zugegriffen werden soll value=Gibt den Datenwert an, der geschrieben wird (16 Bit) Return-Wert Keiner Bemerkung Dies sollte nur von erfahrenen Programmieren benutzt werden.
8.8.3. DapiWriteLong Beschreibung Dieser Befehl führt einen direkten Register Schreibbefehl auf das Modul aus. Definition void DapiWriteLong(ULONG handle, ULONG adress, ULONG value); Parameter handle=Dies ist das Handle eines geöffneten Moduls adress=Adresse, auf die zugegriffen werden soll value=Gibt den Datenwert an, der geschrieben wird (32 Bit) Return-Wert Keiner Bemerkung Dies sollte nur von erfahrenen Programmieren benutzt werden.
8.8.4. DapiWriteLongLong Beschreibung Dieser Befehl führt einen direkten Register Schreibbefehl auf das Modul aus. Definition void DapiWriteLongLong(ULONG handle, ULONG adress, ULONGLONG value); Parameter handle=Dies ist das Handle eines geöffneten Moduls adress=Adresse, auf die zugegriffen werden soll value=Gibt den Datenwert an, der geschrieben wird (64 Bit) Return-Wert Keiner Bemerkung Dies sollte nur von erfahrenen Programmieren benutzt werden.
8.9. Register Lese-Befehle 8.9.1. DapiReadByte Beschreibung Dieser Befehl führt einen direkten Register Lese-Befehl auf das Modul aus. Definition ULONG DapiReadByte(ULONG handle, ULONG adress); Parameter handle=Dies ist das Handle eines geöffneten Moduls adress=Adresse, auf die zugegriffen werden soll Return-Wert Inhalt des zu lesenden Registers (8 Bit) Bemerkung Dies sollte nur von erfahrenen Programmieren benutzt werden. So kann auf alle zur Verfügung stehenden Register direkt zugegriffen werden.
8.9.2. DapiReadWord Beschreibung Dieser Befehl führt einen direkten Register Lese-Befehl auf das Modul aus. Definition ULONG DapiReadWord(ULONG handle, ULONG adress); Parameter handle=Dies ist das Handle eines geöffneten Moduls adress=Adresse, auf die zugegriffen werden soll Return-Wert Inhalt des zu lesenden Registers (16 Bit) Bemerkung Dies sollte nur von erfahrenen Programmieren benutzt werden. So kann auf alle zur Verfügung stehenden Register direkt zugegriffen werden.
8.9.3. DapiReadLong Beschreibung Dieser Befehl führt einen direkten Register Lese-Befehl auf das Modul aus. Definition ULONG DapiReadLong(ULONG handle, ULONG adress); Parameter handle=Dies ist das Handle eines geöffneten Moduls adress=Adresse, auf die zugegriffen werden soll Return-Wert Inhalt des zu lesenden Registers (32 Bit) Bemerkung Dies sollte nur von erfahrenen Programmieren benutzt werden. So kann auf alle zur Verfügung stehenden Register direkt zugegriffen werden.
8.9.4. DapiReadLongLong Beschreibung Dieser Befehl führt einen direkten Register Lese-Befehl auf das Modul aus. Definition ULONGLONG DapiReadLongLong(ULONG handle, ULONG adress); Parameter handle=Dies ist das Handle eines geöffneten Moduls adress=Adresse, auf die zugegriffen werden soll Return-Wert Inhalt des zu lesenden Registers (64 Bit) Bemerkung Dies sollte nur von erfahrenen Programmieren benutzt werden. So kann auf alle zur Verfügung stehenden Register direkt zugegriffen werden.
8.10. Programmier-Beispiel // **************************************************************************** // **************************************************************************** // **************************************************************************** // **************************************************************************** // **************************************************************************** // // (c) DEDITEC GmbH, 2009 // // web: http://www.deditec.
return; } // Zum Testen - ein Ping senden // ---------------------------------------------------printf("PING\n"); anz=10; for(i=0;i!=anz;++i) { data=DapiPing(handle, i); if(i==data) { // OK printf("."); } else { // 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 W
Anhang IX Anhang | Seite 314
9. Anhang 9.1. Revisionen Rev 2.00 Rev 2.01 Rev 2.02 Rev 2.03 Rev 2.04 Rev 2.
9.2. Urheberrechte und Marken Linux ist eine registrierte Marke von Linus Torvalds. USB ist eine registrierte Marke von USB Implementers Forum Inc. LabVIEW ist eine registrierte Marke von National Instruments. Intel ist eine registrierte Marke von Intel Corporation. AMD ist eine registrierte Marke von Advanced Micro Devices, Inc. ProfiLab ist eine registrierte Marke von ABACOM Ingenieurbüro GbR.