Datafox DFCom - API 04.03.22
Dokumentation zur Datafox Kommunikationsbibliothek (DFComDLL.dll / DFCom_x64.dll)
df_connection.h-Dateireferenz
#include "df_defines.h"

gehe zum Quellcode dieser Datei

Funktionen

int DF_API_CALL DFCComInit (int connectionNumber)
 Initialisiert eine serielle Verbindung für die Kommunikation mit einem AEIII+ über RS232/RS485.
 
int DF_API_CALL DFCComOpenSerial (int connectionNumber, const char *commPort, int baudRate, int timeout)
 Initalisiert eine serielle Verbindung für die Kommunikation mit einem AEIII+ für RS232 / RS485.
 
int DF_API_CALL DFCComOpen (int connectionNumber, const char *hostAddress)
 Initalisiert eine TCP/IP Verbindung.
 
int DF_API_CALL DFCComOpenSocket (int connectionNumber, const char *hostAddress, int portNumber, int timeout)
 Initalisiert eine TCP/IP Verbindung.
 
int DF_API_CALL DFCComOpenIV (int connectionNumber, int deviceAddress, int connectionType, const char *connectionString, int connectionValue, int comunicationReadTimeout)
 Initalisiert die Kommunikationsverbindung.
 
void DF_API_CALL DFCComClose (int connectionNumber)
 Schließen einer geöffneten Verbindung.
 
int DF_API_CALL DFCIsChannelOpen (int connectionNumber)
 Ruft den aktuellen Zustand einer Verbindungsnummer ab.
 
int DF_API_CALL DFCWrite (int connectionNumber, const char *buffer, int toWrite, int *written, int *errorNumber)
 Sendet Daten ohne Verwendung des Datafox-Protokolls.
 
int DF_API_CALL DFCRead (int connectionNumber, char *buffer, int toRead, int *read, int *errorNumber)
 Empfängt Daten ohne Verwendung des Datafox-Protokolls.
 

Dokumentation der Funktionen

◆ DFCComClose()

void DF_API_CALL DFCComClose ( int  connectionNumber)

Schließen einer geöffneten Verbindung.

Je nach dem zugrundeliegenden Typ der Verbindungsnummer, wird entweder die serielle Schnittstelle oder die TCP/IP Verbindung geschlossen.

Export
DFComDLL als _DFCComClose@4
DFCom_x64 als DFCComClose
Parameter
[in]connectionNumberZu schließende Verbindungsnummer.
// Close connection.
DFCComClose( connectionId );
void DF_API_CALL DFCComClose(int connectionNumber)
Schließen einer geöffneten Verbindung.

◆ DFCComInit()

int DF_API_CALL DFCComInit ( int  connectionNumber)

Initialisiert eine serielle Verbindung für die Kommunikation mit einem AEIII+ über RS232/RS485.

Die Funktion ruft intern DFCComOpenSerial() mit den Standardparametern baudRate = 38400 und timeout = 800 auf.

Export
DFComDLL als _DFCComInit@4
DFCom_x64 als DFCComInit
Achtung
Diese Funktion sollten Sie nur für die Kommunikation mit AEIII+ Geräten verwenden, bei allen anderen Geräten sollten Sie DFCComOpenIV() zum initalisieren einer Verbindung nutzen. Die Kommunikation startet bei Verwendung mit anderen Geräten verzögert, da vorher das zugrundeliegende Kommunikationsprotokoll ermittelt werden muss. Sie ist aufgrund des verwendeten Timeout's für Modemverbindungen nicht einzusetzen.
Parameter
[in]connectionNumberZu initalisierende Verbindungsnummer. Diese Nummer wird intern zu COM[connectionNumber] oder /etc/ttyS[connectionNumber - 1] formatiert. Eine Angabe von 4 führt Beispielsweise zu einem Aufruf von DFCComOpenSerial( 4, "COM4", 38400, 800 ) bei Windows oder DFCComOpenIV( 4, "/etc/ttyS3", 38400, 800 ) bei Linux.
Rückgabewerte
0Fehler bei Ausführung.
1Ausführung war erfolgreich.

◆ DFCComOpen()

int DF_API_CALL DFCComOpen ( int  connectionNumber,
const char *  hostAddress 
)

Initalisiert eine TCP/IP Verbindung.

Die Funktion ruft intern DFCComOpenSocket() mit den Standardparametern portNumber = 8000 und timeout = 3000 auf.

Export
DFComDLL als _DFCComOpen@8
DFCom_x64 als DFCComOpen
Warnung
Nach einem Verbindungsabriss wird keine automatische Neuverbindung durchgeführt.
Bitte beachten Sie hierzu die Fehlerbehandlung und unter Exemplarischer Programmaufbau beschriebene Umsetzungslösung.
Parameter
[in]connectionNumberZu initalisierende Verbindungsnummer.
[in]hostAddressHostname oder IP - Adresse in Punktnotation.
Rückgabewerte
0Fehler bei Ausführung.
1Ausführung war erfolgreich.

◆ DFCComOpenIV()

int DF_API_CALL DFCComOpenIV ( int  connectionNumber,
int  deviceAddress,
int  connectionType,
const char *  connectionString,
int  connectionValue,
int  comunicationReadTimeout 
)

Initalisiert die Kommunikationsverbindung.

Initalisiert eine Verbindung zu ggf. mehreren Geräten. Nach erfolgreicher Ausführung kann mit der hier initalisierten Verbindungsnummer die anderen Funktionen der Bibliothek aufgerufen werden. Mittels DFCComClose() kann eine bestehende Verbindung geschlossen werden.

Export
DFComDLL als _DFCComOpenIV@24
DFCom_x64 als DFCComOpenIV
Zu beachten
Diese Funktion führt noch keine Kommunikation mit einem Gerät durch. Die erfolgreiche Ausführung stellt somit nur sicher, dass die serielle Schnittstelle ordnungsgemäß initialisiert werden konnte oder eine entsprechende TCP/IP Verbindung hergestellt wurde.
Warnung
Bei TCP/IP Verbindungen wird nach einem Verbindungsabriss keine automatische Neuverbindung durchgeführt.
Bitte beachten Sie hierzu die Fehlerbehandlung und unter Exemplarischer Programmaufbau beschriebene Umsetzungslösung.
Parameter
[in]connectionNumberZu initalisierende Verbindungsnummer.
[in]deviceAddressDie von der Bibliothek zu verwendende Gerätenummer. Standardwert ist 0. Hierbei handelt es sich nicht um die Gerätenummer des später anzusprechenden Gerätes. Diese Angabe hier wird als Absenderadresse in den Protokollpaketen verwendet.
[in]connectionTypeDer zu verwendende Schnittstellentyp.
WertBedeutung
1RS232 direkt oder über Umsetzter (RS232 <-> RS485)
2Funk über den Umsetzer (RS232 <-> BIM2) ohne eigenen Kontroller.
3TCP / IP - Verbindung.
[in]connectionStringJe nach gewähltem Schnittstellentyp:
connectionTypeBedeutung
1, 2Zeiger auf Zeichenkette für die Schnittstelle. "COM1" .. "COM4".
3Zeiger auf Zeichenkette mit IP - Adresse oder Hostname.
[in]connectionValueJe nach gewähltem Schnittstellentyp:
connectionTypeBedeutung
1, 2Übertragungsrate der Schnittstelle. (Standard ist: 38400)
3Portnummer des TCP / IP Anschlusses.
[in]comunicationReadTimeoutJe nach gewähltem Schnittstellentyp:
connectionTypeBedeutung
1, 2Timeout für Lesen von Schnittstelle (Standard ist: 800)
3Timeout für Lesen von Socket (Standard ist: 3000)
Rückgabewerte
0Fehler bei Ausführung.
1Ausführung war erfolgreich.
Beispiel
int connectionId = 1;
int deviceAddress = 0;
// Open connection.
if ( DFCComOpenIV( connectionId, deviceAddress, 3, "192.168.1.2", 8000, 5000 ) == 0 )
{
// Fail to open connection.
return false;
}
int DF_API_CALL DFCComOpenIV(int connectionNumber, int deviceAddress, int connectionType, const char *connectionString, int connectionValue, int comunicationReadTimeout)
Initalisiert die Kommunikationsverbindung.

◆ DFCComOpenSerial()

int DF_API_CALL DFCComOpenSerial ( int  connectionNumber,
const char *  commPort,
int  baudRate,
int  timeout 
)

Initalisiert eine serielle Verbindung für die Kommunikation mit einem AEIII+ für RS232 / RS485.

Export
DFComDLL als _DFCComOpenSerial@16
DFCom_x64 als DFCComOpenSerial
Zu beachten
Unter Windows kann die Schnittstelle als "\\.\COM1" angeben werden. Ab Nummern > 9 wird dieses sogar notwendig. In C-Style Zeichenfolge würden Sie dieses wegen der nötigen Maskierung als "\\\\.\\COM10" schreiben.
Parameter
[in]connectionNumberZu initialisierende Verbindungsnummer.
[in]commPortName der Schnittstelle "COM1", "COM2", "/etc/ttyS0" usw..
[in]baudRateBaudrate mit der die Schnittstelle initalisiert wird. Standardwert 38400.
[in]timeoutZu verwendender Schnittstellentimeout in Millisekunden. Standardwert 1000.
Rückgabewerte
0Fehler bei Ausführung.
1Ausführung war erfolgreich.

◆ DFCComOpenSocket()

int DF_API_CALL DFCComOpenSocket ( int  connectionNumber,
const char *  hostAddress,
int  portNumber,
int  timeout 
)

Initalisiert eine TCP/IP Verbindung.

Export
DFComDLL als _DFCComOpenSocket@16
DFCom_x64 als DFCComOpenSocket
Warnung
Nach einem Verbindungsabriss wird keine automatische Neuverbindung durchgeführt.
Bitte beachten Sie hierzu die Fehlerbehandlung und unter Exemplarischer Programmaufbau beschriebene Umsetzungslösung.
Parameter
[in]connectionNumberZu initalisierende Verbindungsnummer.
[in]hostAddressHostname oder IP - Adresse in Punktnotation.
[in]portNumberPortnummer. Standardwert 8000.
[in]timeoutZu verwendender Schnittstellentimeout in Millisekunden. Standardwert 3000.
Rückgabewerte
0Fehler bei Ausführung.
1Ausführung war erfolgreich.

◆ DFCIsChannelOpen()

int DF_API_CALL DFCIsChannelOpen ( int  connectionNumber)

Ruft den aktuellen Zustand einer Verbindungsnummer ab.

Export
DFComDLL als _DFCIsChannelOpen@4
DFCom_x64 als DFCIsChannelOpen
Parameter
[in]connectionNumberZu verwendende Verbindungsnummer.
Rückgabewerte
-1Verbindungsobjekt nicht verfügbar, Verbindungsnummer wurde noch nicht verwendet.
0Verbingungs-Id hält eine geschlossene Verbindung.
1Verbindungsnummer hält eine geöffnete Verbindung.

◆ DFCRead()

int DF_API_CALL DFCRead ( int  connectionNumber,
char *  buffer,
int  toRead,
int *  read,
int *  errorNumber 
)

Empfängt Daten ohne Verwendung des Datafox-Protokolls.

Diese Funktion ist für die Initalisierung von Zwischengeräten wie Modems gedacht (per AT-Kommandos). Es gibt auch die Möglichkeit die Hauptkommunikation der Datafox Geräte in einen transparenten Modus zu schalten und über diese Funktion Daten von einem dort angeschlossenes Drittgerät wie CNC-Maschinen zu lesen.

Export
DFComDLL als _DFCRead@20
DFCom_x64 als DFCRead
Warnung
Die Funktion sollte nur für Sonderfälle wie Modeminitialisierung verwendet werden! Durch unsachgemäßen Gebrauch, können Störungen in der Kommunikation auftreten.
Parameter
[in]connectionNumberZu verwendende Verbindungsnummer.
[in]bufferPuffer für die zu empfangenen Datenbyte.
[in]toReadAnzahl der maximal in buffer zu speichernden Datenbyte.
[out]readAnzahl der in buffer gespeicherten Datenbyte.
[out]errorNumberFehlernummer bei fehlerhafter Ausführung.
Rückgabewerte
0Fehler bei Ausführung.
1Ausführung war erfolgreich.

◆ DFCWrite()

int DF_API_CALL DFCWrite ( int  connectionNumber,
const char *  buffer,
int  toWrite,
int *  written,
int *  errorNumber 
)

Sendet Daten ohne Verwendung des Datafox-Protokolls.

Diese Funktion ist für die Initalisierung von Zwischengeräten wie Modems gedacht (per AT-Kommandos). Es gibt auch die Möglichkeit die Hauptkommunikation der Datafox Geräte in einen transparenten Modus zu schalten und über diese Funktion Daten an ein dort angeschlossenes Drittgerät wie CNC-Maschinen zu senden.

Export
DFComDLL als _DFCWrite@20
DFCom_x64 als DFCWrite
Warnung
Die Funktion sollte nur für Sonderfälle wie Modeminitialisierung verwendet werden! Durch unsachgemäßen Gebrauch, können Störungen in der Kommunikation auftreten.
Parameter
[in]connectionNumberZu verwendende Verbindungsnummer.
[in]bufferPuffer der zu sendenden Datenbytes.
[in]toWriteAnzahl der Datenbytes.
[out]writtenAnzahl der geschriebenen Datenbytes.
[out]errorNumberFehlernummer bei fehlerhafter Ausführung.
Rückgabewerte
0Fehler bei Ausführung.
1Ausführung war erfolgreich.

© 2003-2024 Datafox GmbH