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

Dokumentation der Funktionen

◆ DFCComClose()

void DF_API_CALL DFCComClose ( int  connectionId)

Schließen einer geöffneten Verbindung.

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

Export
DFComDLL als _DFCComClose@4
DFCom_x64 als DFCComClose
Parameter
[in]connectionIdZu schließende Verbindungs-Id.
// Close connection.
DFCComClose( connectionId );

◆ DFCComInit()

int DF_API_CALL DFCComInit ( int  connectionId)

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]connectionIdZu initalisierende Verbindungs-Id. Diese Nummer wird intern zu COM[connectionId] oder /etc/ttyS[connectionId - 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  connectionId,
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]connectionIdZu initalisierende Verbindungs-Id.
[in]hostAddressHostname oder IP - Adresse in Punktnotation.
Rückgabewerte
0Fehler bei Ausführung.
1Ausführung war erfolgreich.

◆ DFCComOpenIV()

int DF_API_CALL DFCComOpenIV ( int  connectionId,
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 Verbindungs-Id 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]connectionIdZu initalisierende Verbindungs-Id.
[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 Protokollpacketen 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;
}

◆ DFCComOpenSerial()

int DF_API_CALL DFCComOpenSerial ( int  connectionId,
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]connectionIdZu initialisierende Verbindungs-Id.
[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  connectionId,
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]connectionIdZu initalisierende Verbindungs-Id.
[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  connectionId)

Ruft den aktuellen Zustand einer Verbindungs-Id ab.

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

◆ DFCRead()

int DF_API_CALL DFCRead ( int  connectionId,
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]connectionIdZu verwendende Verbindungs-Id.
[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  connectionId,
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]connectionIdZu verwendende[Verbindungs-Id.
[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-2018 Datafox GmbH