Programmierung unserer Ethernet-Module
Die Programmierung unserer Ethernet-Module erfolgt mit der DELIB Treiberbibliothek.
Folgende Programmiermöglichkeiten (Protokolle / IP-Adresse) stehen zur Verfügung:
Möglichkeiten zur Ansteuerung der Ethernet-Schnittstelle
Unsere Ethernet Produkte lassen sich auf verschiedene Wege ansteuern. Zur besseren Übersicht, haben wir diese in folgende Punkte unterteilt:
- IP-Direct-Methode
- Standard-Methode (Registry)
- DEDITEC TCP/IP Protokoll
- Modbus TCP Protokoll
Ansteuerung von Ethernet-Modulen mit Hilfe der IP-Direct-Methode
Mit dieser Methode können Sie unsere Ethernet-Module direkt über die IP-Adresse öffnen und steuern. Eine Installation des DELIB-Setups ist nicht notwendig.
Im folgenden Beispiel wird das Modul über IP-Direct geöffnet:
DAPI_OPENMODULEEX_STRUCT exbuffer = new DAPI_OPENMODULEEX_STRUCT();
exbuffer.address = „192.168.1.1“;
exbuffer.portno = 9912;
exbuffer.timeout = 5000;
handle = DapiOpenModuleEx(29, 0, exbuffer, 0);
Ansteuerung von Ethernet-Modulen mit Hilfe der Standard-Methode (Registry)
Mit dieser Methode wird das Modul über die in der Registry hinterlegten Netzwerkkonfiguration geöffnet.
Dadurch muss die Anwendungssoftware nicht die IP-Adresse kennen, da diese auf dem Rechner in der Registry gespeichert ist. Die Verteilung von Software auf unterschiedliche Rechner ist dadurch einfacher.
Die Konfiguration kann mit Hilfe des ICT-Tools in der Registry abgespeichert werden.
Im folgenden Beispiel wird das Modul über die Standard-Methode geöffnet:
uint ModulID = 39; (s. delib.h)
uint ModulNr = 0;
handle = DapiOpenModule(ModulID, ModulNr);
Ansteuerung von Ethernet-Modulen über TCP/IP über unser DEDITEC Ethernet Protokoll
Bei Bedarf können Sie Ihre eigene Ansteuerung selber programmieren. Das Protokoll, welches die Kommunikation über TCP/IP beschreibt, ist vollständig dokumentiert. Die Ansteuerung erfolgt registerbasiert. Hierfür wurde ein Kommunikations-Protokoll erstellt, anhand dessen die Register des Moduls angesprochen werden und somit Lese- oder Schreibbefehle ausgeführt werden. Das Handbuch „Protokolle & Registerbelegung“ beschreibt die Sende- und Empfangsrahmen, um mit unseren Ethernet-Modulen zu kommunizieren.
Ansteuerung von Ethernet-Modulen über das Modbus TCP Protokoll
Modbus TCP ist ein Protokoll, das auf TCP/IP basiert und zur Kommunikation zwischen verschiedenen Geräten genutzt wird. Es erlaubt das Lesen und Schreiben von Daten über sogenannte Register und Bits. Dabei kommen standardisierte Funktionscodes zum Einsatz wie zum Beispiel:
Allgemeine Registeraufteilung
| Modbus Register (dez) |
Datentyp | Zugriff | Data size (Bit) |
Beschreibung |
| 0 … 9999 | Coil | write / read | 1 | Digitale Ausgänge schreiben und zurücklesen |
| 10000 … 19999 | Discrete Inputs | read | 1 | Digitale Eingänge lesen |
| 30000 … 39999 | Input Register | read | 16 | Halteregister lesen |
| 40000 … 49999 | Holding Register | write / read | 16 | Register schreiben und zurücklesen |
Steuerung von Ethernet-Modulen über Modbus TCP
Unsere Module können zur schnellen und einfachen Integration über das Modbus-Registerprotokoll gesteuert werden. Mit diesem Protokoll lassen sich Werte bequem lesen und schreiben, digitale Ausgänge schalten oder Eingänge abfragen. Das vollständige Protokoll stellen wir zum Download bereit.
Beispiel:
// Schreibt die digitalen Ausgänge von Kanal 1-16
MASTER.WriteMultipleRegisters(SLAVE_ID, 0x0420, 0x03);
// Liest die Werte von Kanal 1-16
registerValue = MASTER.ReadHoldingRegisters(SLAVE_ID, 0x0420, NUMREGISTERS);