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

gehe zum Quellcode dieser Datei

Funktionen

int DF_API_CALL DFCStartActiveConnection (const char *networkAddress, int listenPort, int deviceAddress, int timeout, int aliveTimeout, int maxConnections, int infoFlags, int unused_setTo0, int *errorNumber)
 Initalisiert und startet das Bibiotheksmodule für den Active-Mode.
 
int DF_API_CALL DFCStopActiveConnection (int *errorNumber)
 Stoppt das Bibiotheksmodule für den Active-Mode.
 
int DF_API_CALL DFCGetFirstActiveConnectionId ()
 Liefert die erste Verbindungsnummer mit einer Verbindung im Active-Mode.
 
int DF_API_CALL DFCGetFirstActiveChannelID ()
 Liefert die Erste Verbindungsnummer mit einer Verbindung im Active-Mode.
 
int DF_API_CALL DFCGetNextActiveConnectionId (int previousNumber)
 Liefert die nächste Verbindungsnummer mit einer Verbindung im Active-Mode.
 
int DF_API_CALL DFCGetNextActiveChannelID (int previousNumber)
 Liefert die nächste Verbindungsnummer mit einer Verbindung im Active-Mode.
 
int DF_API_CALL DFCGetInfoActiveChannel (int connectionNumber, char *value, int *valueLength)
 Liefert Informationen zu einer Verbindung im Active-Mode.
 
int DF_API_CALL DFCSetRecordAvailable (int enabled)
 Legt fest ob die Bibliothek die Ereignismeldung "Datensatz vorhanden" auswertet und durch die Funktion DFCRecordAvailable() zur Verfügung stellen soll.
 
int DF_API_CALL DFCRecordAvailable (int *connectionNumber, int *deviceAddress, char *infoText, int *infoTextLength, int *errorNumber)
 Liefert die nächste Verbindung im Active-Mode welche Datensätze gemeldet hat.
 
int DF_API_CALL DFCBindDeviceToChannel (int connectionNumber, int deviceType, int deviceSerial, const char *deviceIp, int *errorNumber)
 Bindet ein Gerät im Active-Mode anhand von Gerätetyp und Seriennummer oder Geräte-Ip an eine vorgegebene Verbindungsnummer.
 

Dokumentation der Funktionen

◆ DFCBindDeviceToChannel()

int DF_API_CALL DFCBindDeviceToChannel ( int  connectionNumber,
int  deviceType,
int  deviceSerial,
const char *  deviceIp,
int *  errorNumber 
)

Bindet ein Gerät im Active-Mode anhand von Gerätetyp und Seriennummer oder Geräte-Ip an eine vorgegebene Verbindungsnummer.

Die Funktion kann vor Ausführung von DFCStartActiveConnection() oder zur Laufzeit aufgerufen werden. Durch sie können Verbindungen im Active-Mode an feste Verbindungsnummern geknüpft werden.
Über die Funktion DFCIsChannelOpen() kann geprüft werden ob eine Verbindung besteht. Die gebundenen Verbidnungs-Id's tauchen auch bei einem Abruf mittels DFCGetFirstActiveChannelID() und DFCGetNextActiveChannelID() auf.

Export
DFComDLL als _DFCBindDeviceToChannel@20
DFCom_x64 als DFCBindDeviceToChannel
Parameter
[in]connectionNumberZu verwendende Verbindungsnummer. Wertebereich 1 - 250.
[in]deviceType
  • Geräteadresse, Liste siehe DFCGetVersionFirmware(). Zu dieser Angabe ist auch die Angabe der Seriennummer (deviceSerial) notwendig. Da nur beide Angaben eine eindeutige Geräteidentifikation darstellen.
  • Wird eine -1 angegeben und es liegt keine Angabe zu deviceIp vor, entfernt dieses eine vorhandene Gerätebindung zu der Verbindungsnummer.
[in]deviceSerialSeriennummer des Gerätes.
[in]deviceIpIp-Adresse des zu bindenden Gerätes oder nullptr wenn eine Bindung über Geräteadresse und Seriennummer erfolgen soll.
[out]errorNumberFehlernummer bei fehlerhafter Ausführung.
Rückgabewerte
0Fehler bei Ausführung.
1Ausführung war erfolgreich.
Seit
04.01.05 enthalten

◆ DFCGetFirstActiveChannelID()

int DF_API_CALL DFCGetFirstActiveChannelID ( )

Liefert die Erste Verbindungsnummer mit einer Verbindung im Active-Mode.

Wurde mindesten eine Verbindung im Active-Mode entgegengenommen wird die zugeordnete Verbindung-Id geliefert. Der Wertebereich ist bei Anwendung von Mapping DFCBindDeviceToChannel() 1 - 250. Bei dynamischer Zuweisung entsprechend 251 - 391.

Veraltet:
Nutzen Sie DFCGetFirstActiveConnectionId() stattdessen.
Export
DFComDLL als _DFCGetFirstActiveChannelID@0
DFCom_x64 als DFCGetFirstActiveChannelID
Rückgabe
Liefert -1 wenn keine Verbindung im Active-Mode besteht, ansonsten wird die Erste Verbindungsnummer zurückgegeben.
Seit
04.01.05 enthalten

◆ DFCGetFirstActiveConnectionId()

int DF_API_CALL DFCGetFirstActiveConnectionId ( )

Liefert die erste Verbindungsnummer mit einer Verbindung im Active-Mode.

Wurde mindesten eine Verbindung im Active-Mode entgegengenommen wird die zugeordnete Verbindung-Id geliefert. Der Wertebereich ist bei Anwendung von Mapping DFCBindDeviceToChannel() 1 - 250. Bei dynamischer Zuweisung entsprechend 251 - 391.

Export
DFComDLL als _DFCGetFirstActiveConnectionId@0
DFCom_x64 als DFCGetFirstActiveConnectionId
Rückgabe
Liefert -1 wenn keine Verbindung im Active-Mode besteht, ansonsten wird die erste Verbindungsnummer zurückgegeben.
Seit
04.01.05 enthalten

◆ DFCGetInfoActiveChannel()

int DF_API_CALL DFCGetInfoActiveChannel ( int  connectionNumber,
char *  value,
int *  valueLength 
)

Liefert Informationen zu einer Verbindung im Active-Mode.

Es werden alle ermittelten und hinterlegten Werte zur Verbindung geliefert.
Beim Start des Active-Mode mit DFCStartActiveConnection() können zusätzlich zu liefernde Werte angegeben werden.

Export
DFComDLL als _DFCGetInfoActiveChannel@12
DFCom_x64 als DFCGetInfoActiveChannel
Parameter
[in]connectionNumberZu verwendende Verbindungsnummer.
[out]valueEs werden immer die Information über den Verbundenen Gerätetypen und dessen Seriennummer geliefert.
Zusätzlich werden die angeforderten Werte aus der Angabe bei DFCStartActiveConnection() geliefert.
Alle Angaben werden mit einem \r getrennt in folgender fester Reihenfolge geliefert. Werte die nicht Ermittelt wurden, da ggf. nicht erwünscht, werden entspreched leer, jedoch nicht ausgelassen.
PositionBedeutung
1Geräteadresse anhand des Kürzels der Firmwareversion. Liste siehe DFCGetVersionFirmware()
2Seriennummer. Siehe DFCGetSeriennummer()
3Firmwareversion. (z. B. 04.03.010.PZE)
4IP Adresse und Port des Gerätes (z. B. 192.68.0.1:8000)
5MAC-Adresse (z.B. 00-20-4a-e7-1c-25)
[in,out]valueLengthAls in die maximale Länge von value, als out die in value übergebene Zeichenfolge.
Rückgabewerte
0Fehler bei Ausführung.
1Ausführung war erfolgreich.
Seit
04.01.05 enthalten

◆ DFCGetNextActiveChannelID()

int DF_API_CALL DFCGetNextActiveChannelID ( int  previousNumber)

Liefert die nächste Verbindungsnummer mit einer Verbindung im Active-Mode.

Es wird eine ggf. folgende Verbindungsnummer mit einer Verbindung im Active-Mode gesucht und zurückgeliefert. Der Wertebereich ist bei Anwendung von Mapping DFCBindDeviceToChannel() 1 - 250. Bei dynamischer Zuweisung entsprechend 251 - 391.

Veraltet:
Nutzen Sie DFCGetNextActiveConnectionId() stattdessen.
Export
DFComDLL als _DFCGetNextActiveChannelID@4
DFCom_x64 als DFCGetNextActiveChannelID
Rückgabe
Liefert -1 wenn keine weitere Verbindung im Active-Mode besteht, ansonsten wird die Nächste Verbindungsnummer zurückgegeben.
Seit
04.01.05 enthalten

◆ DFCGetNextActiveConnectionId()

int DF_API_CALL DFCGetNextActiveConnectionId ( int  previousNumber)

Liefert die nächste Verbindungsnummer mit einer Verbindung im Active-Mode.

Es wird eine ggf. folgende Verbindungsnummer mit einer Verbindung im Active-Mode gesucht und zurückgeliefert. Der Wertebereich ist bei Anwendung von Mapping DFCBindDeviceToChannel() 1 - 250. Bei dynamischer Zuweisung entsprechend 251 - 391.

Export
DFComDLL als _DFCGetNextActiveConnectionId@4
DFCom_x64 als DFCGetNextActiveConnectionId
Rückgabe
Liefert -1 wenn keine weitere Verbindung im Active-Mode besteht, ansonsten wird die Nächste Verbindungsnummer zurückgegeben.
Seit
04.01.05 enthalten

◆ DFCRecordAvailable()

int DF_API_CALL DFCRecordAvailable ( int *  connectionNumber,
int *  deviceAddress,
char *  infoText,
int *  infoTextLength,
int *  errorNumber 
)

Liefert die nächste Verbindung im Active-Mode welche Datensätze gemeldet hat.

Es werden alle ermittelten und hinterlegten Werte zur Verbindung geliefert.
Beim Start des Active-Mode mit DFCStartActiveConnection() können zusätzlich zu liefernde Werte angegeben werden.

Export
DFComDLL als _DFCRecordAvailable@20
DFCom_x64 als DFCRecordAvailable
Parameter
[out]connectionNumberNächste Verbindungsnummer, welche Datensätze gemeldet hat.
[out]deviceAddressNächste Geräteadresse, welche Datensätze gemeldet hat.
[out]infoTextDiese Angabe ist die gleiche wie beim Aufruf von DFCGetInfoActiveChannel(). Siehe dort.
[in,out]infoTextLengthAls in die maximale Länge von infoText, als out die in infoText übergebene Zeichenfolge.
[out]errorNumberFehlernummer bei fehlerhafter Ausführung.
Rückgabewerte
0Fehler bei Ausführung.
1Ausführung war erfolgreich.
Seit
04.01.05 enthalten

◆ DFCSetRecordAvailable()

int DF_API_CALL DFCSetRecordAvailable ( int  enabled)

Legt fest ob die Bibliothek die Ereignismeldung "Datensatz vorhanden" auswertet und durch die Funktion DFCRecordAvailable() zur Verfügung stellen soll.

Nach Ausführung von DFCStartActiveConnection() ist die Annahme und Meldung von Datensatzmeldungen aktiviert. Über diese Funktion kann es Bibliotheksseitig deaktiviert werden.

Export
DFComDLL als _DFCSetRecordAvailable@4
DFCom_x64 als DFCSetRecordAvailable
Parameter
[in]enabledBei Angabe von 0 werden eingehende Datensatzmeldungen ignoriert. Vorhandene zwischengespeicherte Nachrichten werden entsprechend gelöscht. Bei Angabe von 1 werden eingehenden Datensatzmeldungen für den Abruf mittels DFCRecordAvailable() zwischengespeichert.
Rückgabewerte
0Fehler bei Ausführung.
1Ausführung war erfolgreich.
Seit
04.01.05 enthalten

◆ DFCStartActiveConnection()

int DF_API_CALL DFCStartActiveConnection ( const char *  networkAddress,
int  listenPort,
int  deviceAddress,
int  timeout,
int  aliveTimeout,
int  maxConnections,
int  infoFlags,
int  unused_setTo0,
int *  errorNumber 
)

Initalisiert und startet das Bibiotheksmodule für den Active-Mode.

Nach erfolgreicher Ausführung wird auf dem angegebenen Port auf eingehende Geräteverbindungen gewartet.
Bei der entgegennahme werden entsprechende Informationen ermittelt und die Verbindung über eine ggf. dynamisch vergebene Verbindungsnummer oder über ein anzugebendes Mapping (DFCBindDeviceToChannel()) zugängelich gemacht.
Die Annahme von "Datensatzmeldungen" ist standardmäßig aktiv und kann durch Aufruf von DFCSetRecordAvailable() wie gewünscht eingestellt werden.

Export
DFComDLL als _DFCStartActiveConnection@36
DFCom_x64 als DFCStartActiveConnection
Warnung
  • Diese Funktion öffnet einen Listen-Socket für die Entgegennahme von Verbindungen. Bitte stellen Sie sicher, dass Ihre Firewall - Konfiguration dieses zulässt und nicht blockiert.
  • Der angegebene Schnittstellentimeout bezieht sich auf alle entgegengenommenen Verbindungen und muss demnach so gewählt werden, dass die Verbindungsart mit den höchsten Paketlaufzeiten berücksichtigt wird. Betreiben Sie zum Beispiel Geräte im LAN sowie WAN (per GPRS) ist die Vorgabe für WAN (per GPRS) zu wählen.
Zu beachten
Für die Einrichtung des Active-Mode im Gerät, stehen Ihnen auch Systemvariablen, speziell Variablen für Active-Mode, Präfix COM zur Verfügung.
Parameter
[in]networkAddressAdresse der Netzwerkschnittstelle von der Verbindungen entgegengenommen werden sollen. Standardwert 0.0.0.0, dieses Bedeutet es wird von allen Netzwerkschnittstellen die Verbindungen entgegengenommen.
[in]listenPortPort auf dem die Verbindungsanfragen einlaufen müssen. Standardwert 8000.
[in]deviceAddressDie von der Bibliothek zu verwendende Geräteadresse. Standardwert ist 0. Hierbei handelt es sich nicht um die Geräteadresse des später anzusprechenden Gerätes. Diese Angabe hier wird als Absenderadresse in den Protokollpaketen verwendet.
[in]timeoutZu verwendender Schnittstellentimeout in Millisekunden. Standardwert 5000.
[in]aliveTimeoutDieser Wert gibt in Sekunden an, in welchem Zyklus ein Datenpaket zwischen Gerät und Bibliothek gewechselt werden muss um sicherzustellen, dass die Verbindung noch besteht.
Dieser Wert wird bei der Verbindungsentgegennahme auch an das Gerät weitergeleitet, damit dieses ebenfalls eine Verbindungsunterbrechung erkennt.
[in]maxConnectionsMaximal anzunehmende Verbidnungen. Standardwert 20, Maximalwert 140.
[in]infoFlagsEs werden immer die Information über den Verbundenen Gerätetypen und dessen Seriennummer geliefert.
Zusätzlich können Sie folgende Informationen anfordern. Diese werden bei der Verbindungsentgegennahme einmalig ermittelt und zwischengespeichert.
BitnummerWertBedeutung
11Firmwareversion (z. B. 04.03.010.PZE)
22IP Adresse und Port des Gerätes (z. B. 192.68.0.1:8000)
34MAC-Adresse (z.B. 00-20-4a-e7-1c-25)
...Nicht verwendet. Immer mit 0 übergeben.
Um zusätzlich die Informationen über Firmwareversion und MAC-Adresse abzurufen, muss entsprechend der Wert (1 + 4 =) 5 angegeben werden. Alle Angaben werden mit einem \r getrennt in folgender fester Reihenfolge geliefert. Werte die nicht Ermittelt wurden, da ggf. nicht erwünscht, werden entspreched leer, jedoch nicht ausgelassen.
PositionBedeutung
1Geräteadresse anhand des Kürzels der Firmwareversion. Liste siehe DFCGetVersionFirmware()
2Seriennummer. Siehe DFCGetSeriennummer()
3Firmwareversion. (z. B. 04.03.010.PZE)
4IP Adresse und Port des Gerätes (z. B. 192.68.0.1:8000)
5MAC-Adresse (z.B. 00-20-4a-e7-1c-25)
[in]unused_setTo0Reserviert. Standardwert 0.
[out]errorNumberFehlernummer bei fehlerhafter Ausführung.
Rückgabewerte
0Fehler bei Ausführung.
1Ausführung war erfolgreich.
Seit
04.01.05 enthalten

◆ DFCStopActiveConnection()

int DF_API_CALL DFCStopActiveConnection ( int *  errorNumber)

Stoppt das Bibiotheksmodule für den Active-Mode.

Ggf. vorhandene Verbindungen des Active-Mode werden geschlossen. Alle gespeicherten Daten über die Verbindungen und derren aktuelle Zustände werden gelöscht.

Export
DFComDLL als _DFCStopActiveConnection@4
DFCom_x64 als DFCStopActiveConnection
Parameter
[out]errorNumberFehlernummer bei fehlerhafter Ausführung.
Rückgabewerte
0Fehler bei Ausführung.
1Ausführung war erfolgreich.
Seit
04.01.05 enthalten

© 2003-2024 Datafox GmbH