Dokumentation zur DFComDLL.dll / DFCom_x64.dll 
(Vers. 04.03.06)

Inhalt:

1   Einleitung
1. 1   Was sind Kanalnummer und Busnummer ?
1. 1. 1   Was ist die Kanalnummer (channelID)?
1. 1. 2   Was ist die Busnummer (deviceID)?
1. 2   Exemplarischer Programmaufbau.
1. 3   Versionsänderungen
1. 4   Funktionsweise der DLL
1. 5   Allgemeine Hinweise
1. 5. 1   Listen des Setups
1. 5. 2   Datentypen
1. 5. 3   Fehler
1. 5. 4   Hintergrundloggen
1. 5. 5   Uhrzeit stellen
1. 5. 6   Übertragen von Timeboylisten
1. 5. 7   Übertragen von Gerätedateien (DFCUpload)
1. 5. 8   IP-Adresse und Hostname
1. 6   Active-Mode
1. 6. 1   Einleitung
1. 6. 2   Grober Überblick
1. 6. 3   Kurze Gegenüberstellung der Befehlsausführung ohne und mit "Active-Mode"
1. 6. 4   Starten Stoppen und Initialisieren des "Active-Mode"
1. 6. 5   Melden von Datensätzen
1. 6. 6   Inbetriebnehmen und Testen
1. 7   Umsetzung des Kommunikationsmoduls für unterschiedliche Betriebssysteme.
1. 7. 1   Umsetzung für Windows.
1. 7. 2   Umsetzung für unixartige Betriebssysteme.
1. 7. 2. 1 Erstellen einer statischen und shared Library.
1. 8   Unterschiede zur Umsetzung des Kommunikationsmoduls für x64 Windows-Betriebssysteme.
1. 9   Verschlüsselung der Kommunikation zwischen dem Kommunikationsmodul und den Geräten.
1. 9. 1   Aktivieren und Einstellen der Verschlüsselung für das Gerät.
1. 9. 2   Aktivieren und Einstellen der Verschlüsselung im Kommunikationsmodul.
2   Exportierte Funktionen
2. 1   Allgemeine Funktionen
2. 1. 1. 1 DFCComInit Serielle Schnittstelle für AEIII+ initialisieren.
2. 1. 1. 2 DFCComOpenSerial Serielle Schnittstelle für AEIII+ initialisieren.
2. 1. 1. 3 DFCComOpen TCP/IP - Schnittstelle für AEIII+ initialisieren.
2. 1. 1. 4 DFCComOpenSocket TCP/IP - Schnittstelle für AEIII+ initialisieren.
2. 1. 2   DFCComOpenIV Serielle oder TCP/IP für MasterIV initialisieren.
2. 1. 3   DFCComClose Zuvor geöffnete Schnittstelle schließen.
2. 1. 4. 1 DFCCheckAE Erreichbarkeit prüfen.
2. 1. 4. 2 DFCCheckDevice Erreichbarkeit prüfen.
2. 1. 5   DFCComSetTime Datum und Uhrzeit schreiben.
2. 1. 6   DFCComGetTime Datum und Uhrzeit lesen.
2. 1. 7   DFCComSendMessage Anzeigemeldung senden.
2. 1. 8   DFCComSendInfotext Hintergrundmeldung senden.
2. 1. 9   DFCGetSeriennummer Seriennummer lesen.
2. 1. 10. 1 DFCLogOn Nicht weiter verwenden.
2. 1. 10. 2 DFCSetLogOn Protokollierung einschalten.
2. 1. 11. 1 DFCLogOff Nicht weiter verwenden.
2. 1. 11. 2 DFCSetLogOff Protokollierung ausschalten.
2. 1. 12   DFCSetCallBack Rückruffunktion bekannt geben.
2. 1. 13   DFCSetLogFileName Name der Protokollierungsdatei setzen.
2. 1. 14   DFCGetErrorText Fehlernummer zu Fehlertext umsetzen.
2. 1. 15   DFCSetGlobVar Wert einer Variablen ändern.
2. 1. 16   DFCGetGlobVar Wert einer Variablen ermitteln.
2. 1. 17   DFCCloseRelay Relais für bestimmbare Zeit schließen.
2. 1. 18   DFCGetRelayState Relaiszustand abfragen.
2. 1. 19   DFCOpenRelay Relais öffnen.
2. 1. 20   DFCGetDevicePollRetry Anzahl Ermittlungsversuche ermitteln.
2. 1. 21   DFCGetComPort Rückgabe des Schnittstellenhandle.
2. 1. 22   DFCSetComPort Setzen des Schnittstellenhandle.
2. 1. 23   DFCWrite In den Kanal schreiben.
2. 1. 24   DFCRead Aus dem Kanal lesen.
2. 1. 25   DFCUpload Gerätedaten (Firmware) laden.
2. 1. 26   DFCGetVersionFirmware Version der Gerätesoftware lesen.
2. 1. 27   DFCGetVersionFirmwareFromFile Version der Gerätesoftware lesen.
2. 1. 28   DFCGetInfo Informationen zu einem Modul abfragen.
2. 1. 29   DFCOpenComServerMode Transparentmodus einschalten.
2. 1. 30   DFCCloseComServerMode Transparentmodus ausschalten.
2. 1. 31   DFCIsChannelOpen Besteht eine Kommunikationsverbindung.
2. 1. 32   DFCUploadModule Update eines eingebauten Moduls durchführen.
2. 1. 33   DFCGetOptionFirmware Zusatzoptionen der Firmware lesen.
2. 1. 34   DFCSetOptionFirmware Zusatzoptionen der Firmware schreiben.
2. 1. 35   DFCReset Rücksetzfunktion je nach Aufrufmodus.
2. 1. 36   DFCSetFontType Zeichensatztyp für SendMessage und SendInfotext.
2. 1. 37   DFCSetPassword Setzen des Passworts für den Zugriffsschutz.
2. 1. 38   DFCGetPasswordKey Abfragen eines Ersatzschlüssels für das Passwort des Zugriffsschutzes.
2. 1. 39   DFCPressVirtualKey Virtuelles betätigen von Funtkionstasten (F1 - F15)
2. 1. 40   DFCGetFlashStatus Aktuellen Zustand des Speicherbausteins abrufen.
2. 1. 41   DFCSetCommunicationPassword Setzen des Passworts für die Kommunikationsverschlüsselung.
2. 1. 42   DFCReadHardwareInfo Lesen von Informationen zur vorliegenden Gerätehartware und verbaute Optionen.
2. 1. 43   DFCFileUpload Daten einer Datei lesen und auf das Gerät hochladen.
2. 1. 44   DFCFileDownload Daten vom Gerät runterladen und in einer Datei speichern.
2. 2   Funktionen für Setup
2. 2. 1   DFCSetupLaden Setupdatei zum Gerät übertragen.
2. 2. 2   DFCDownload Setupdaten aus Gerät in Datei schreiben.
2. 2. 3   DFCModifyStudioFile Setupdaten in Setupdatei verändern.
2. 3   Funktionen für Listen, sowie Zutrittslisten (Version 2)
2. 3. 1   DFCOpenTable Öffnen einer Tabelle.
2. 3. 2   DFCCloseTable Schließen einer Tabelle.
2. 3. 3   DFCSetFilter Filterkriterium setzen.
2. 3. 4   DFCGetFilter Aktuelles Filterkriterium lesen.
2. 3. 5   DFCClearFilter Filterkriterium entfernen.
2. 3. 6   DFCSkip Datensatzzeiger verschieben.
2. 3. 7   DFCSetField Wert eines Datensatzfeldes ändern.
2. 3. 8   DFCGetField Wert eines Datensatzfeldes ermitteln.
2. 4   Funktionen für Daten
2. 4. 1   DFCComClearData Datenzeiger im Gerät zurücksetzen.
2. 4. 2   DFCComCollectData Datenabholvorgang starten.
2. 4. 3   DFCComGetDatensatz Datensatz ermitteln.
2. 4. 4   DFCLoadDatensatzbeschreibung Datensatzbeschreibungen aus Gerätesetup ermitteln.
2. 4. 5   DFCDatBCnt Anzahl ermittelter Datensatzbeschreibungen.
2. 4. 6   DFCDatBDatensatz Grunddaten einer ermittelten Datensatzbeschreibung erhalten.
2. 4. 7   DFCDatBFeld Grunddaten eines ermittelten Datensatzbeschreibungsfeldes erhalten.
2. 4. 8   DFCReadRecord Nächsten anstehenden Datensatz lesen.
2. 4. 9   DFCQuitRecord Zuvor gelesenen Datensatz quittieren (löschen).
2. 4. 10   DFCRestoreRecords Wiederherstellen von Datensätzen.
2. 5   Funktionen für Listen
2. 5. 1   DFCMakeListe Rohdaten einer Liste importieren.
2. 5. 2   DFCLoadListen Importierte Listendaten in Gerät schreiben.
2. 5. 3   DFCClrListenBuffer Listenspeicher für Import löschen.
2. 5. 4   DFCLoadListenbeschreibung Listenbeschreibungen aus Gerätesetup ermitteln.
2. 5. 5   DFCListBCnt Anzahl ermittelter Listenbeschreibungen.
2. 5. 6   DFCListBDatensatz Grunddaten einer ermittelten Listenbeschreibung erhalten.
2. 5. 7   DFCListBFeld Grunddaten eines ermittelten Listenbeschreibungsfeldes erhalten.
2. 6   Funktionen für Zutrittskontrolllisten (Version 1)
2. 6. 1   DFCMakeEntranceList Rohdaten einer Liste importieren.
2. 6. 2   DFCLoadEntranceList Importierte Listendaten in Gerät schreiben.
2. 6. 3   DFCClearEntranceListBuffer Listenspeicher für Import löschen.
2. 7   Funktionen für Zutrittskontrolllisten (Version 2)
2. 7. 1   DFCMakeEntrance2List Rohdaten einer Liste importieren.
2. 7. 2   DFCLoadEntrance2List Importierte Listendaten in Gerät schreiben.
2. 7. 3   DFCClearEntrance2ListBuffer Listenspeicher für Import löschen.
2. 7. 4   DFCEntrance2Identification Zutrittsprüfung per DLL ausführen.
2. 7. 5   DFCEntrance2OnlineAction Zutrittsmodul per DLL ansprechen.
2. 7. 6   DFCAccessControlIdentification Zutrittsprüfung per DLL ausführen.
2. 7. 7   DFCAccessControlOnlineAction Zutrittsmodul per DLL ansprechen.
2. 8   Funktionen für Fingerprint
2. 8. 1   DFCFingerprintAppendRecord Anfügen eines Fingertemplates.
2. 8. 2   DFCFingerprintGetRecord Ermitteln der Daten eines Fingertemplates.
2. 8. 3   DFCFingerprintDeleteRecord Löschen von Fingertemplates.
2. 8. 4   DFCFingerprintList Liste mit allen enthaltenen PID-FIDs erstellen.
2. 8. 5   DFCFingerprintBackup Backup aller enthaltener Fingertemplates erstellen.
2. 8. 6   DFCFingerprintRestore Ein vorhandenes Backup von Fingertemplates wiederherstellen.
2. 9   Funktionen für Timeboylisten
2. 9. 1   DFCMakeTimeboyList Rohdaten einer Liste importieren.
2. 9. 2   DFCLoadTimeboyList Importierte Listendaten in Gerät schreiben.
2. 9. 3   DFCClearTimeboyListBuffer Listenspeicher für Import löschen.
2. 10   Funktionen für Active-Mode
2. 10. 1   DFCStartActiveConnection Starten des DLL-Moduls zur Aktiven Verbindungsannahme.
2. 10. 2   DFCStopActiveConnection Stoppen des DLL-Moduls zur Aktiven Verbindungsannahme.
2. 10. 3   DFCGetFirstActiveChannelID Nummer des ersten "Aktiv" verbundenen Kanals ermitteln.
2. 10. 4   DFCGetNextActiveChannelID Nummer des nächsten "Aktiv" verbundenen Kanals ermitteln.
2. 10. 5   DFCGetInfoActiveChannel Informationen zum "Aktiv" verbundenen Kanals abrufen.
2. 10. 6   DFCSetRecordAvailable An/Abschaltung der Annahme von der Meldung "Datensatz verfügbar".
2. 10. 7   DFCRecordAvailable Zugriff auf die Warteschlange der Meldung "Datensatz verfügbar".
2. 10. 8   DFCBindDeviceToChannel Ein Gerät an diese Kanalnummer binden.
3   Datenstruktur
3. 1   Aufbau der Datensätze im Bytearray
3. 2   Datum und Uhrzeit im Bytearray
4   Systemvariablen
4. 1   Variablen für Mobilfunk, Präfix: _MODEM_MC35i / MOBILE
4. 2   Variablen für Bedienung, Präfix: SERVICE
4. 3   Variablen für Zutritt, Präfix: ACCESS
4. 4   Variablen für Bluetooth, Präfix: BTH
4. 5   Variablen für digitale Ein-/Ausgänge, Präfix: IO
4. 6   Variablen zum Präfix: POWER
4. 7   Variablen für Active-Mode, Präfix: COM
4. 8   Variablen für Datensatzversand mit Http, Präfix: HTTP
4. 9   Variablen für das Gesamtsystem, Präfix: SYSTEM

1     Einleitung

Die DLL "DFComDLL.dll" stellt die grundlegenden Funktionen für die Kommunikation über RS232 bzw. RS485 sowie TCP / IP zur Verfügung. Sie wird ab Version 2.0.0 vom DatafoxStudioIV / AESetup zu 100% verwendet. Die vorhandenen AEIII+ Techniken wurden auf die MasterIV Hardware übertragen, welche durch eine spezielle Initialisierungsroutine angesprochen werden kann.

 

Datafox StudioIV - Setupprogramm
Einstellung des Gerätes für die Datenerfassung.

Kommunikations-DLL
Per DLL ist eine direkte Kommunikation zwischen Gerät und Anwendungssoftware möglich. Dies ist damit die beste Art der Anbindung für Softwarehersteller (OEMs). Die Kommunikation über die DLL ist bidirektional und kann sowohl online als auch offline erfolgen.

HTTP
In diesem Modus sendet das Terminal die Datensätze direkt an einen Webserver.
Datafox stellt Ihnen ein PHP-Muster-Script zur Datenentgegennahme und Quittierung bereit.
Siehe Produkt-DVD.

Datafox-Talk
Schnittstellenprogramm zum Datenaustausch über Dateien oder Datenbank. Diese Lösung ist ideal für Endkunden oder Händler, die Datafox-Produkte an z.B. Warenwirtschaft, ERP, ... anbinden wollen.

Abbildung: Einbindungsmethoden zur Datenübertragung MasterIV-Serie

1.1     Was sind Kanalnummer und Busnummer ?

  Multithreading ist auf einem Kanalobjekt nicht erlaubt. Pro Kanal nur ein Thread !!

 
Abbildung 1

Die Abb. 1 zeigt einen möglichen Hardwareaufbau mit Datafox - Geräten. Dieses Beispiel soll der Verdeutlichung der Begriffe Kanal und Busnummer dienen.  Die Kanalnummer (ChannelID) ist vergleichbar mit einem Straßennamen. Die Busnummer (DeviceID) ist vergleichbar mit der Hausnummer eines Gebäudes (wird im RS485-Netzwerk verwendet). Im abgebildeten Beispiel gibt es insgesamt drei Kanäle (ChannelID's).

Ein Gerät der Abb.1 kann über folgende Wertangaben (Adresse) eindeutig identifiziert werden:
Für das Gerät A lautet die Adresse:  Kanal: 1, Busnummer: 1
Für das Gerät C lautet die Adresse:  Kanal: 1, Busnummer: 3
Für das Gerät D lautet die Adresse:  Kanal: 2, Busnummer: 1
Für das Gerät F lautet die Adresse:  Kanal: 3, Busnummer: 254, IP: 192.168.123.2, Port: 8000 **
**(Sonderfall: Busnummer immer 254)

Um Informationen an die Geräte zu schicken ist es notwendig, dass der jeweilige Kanal (ChannelID) zuvor geöffnet wurde. In Analogie zum Strassenbeispiel würde dies geöffneten Bahnschranken entsprechen.

Es ist nicht notwendig jedes Mal den verwendeten Kanal (ChannelID) zu schließen, wenn die Kommunikation mit einem Gerät beendet wurde (eine Bahnschranke wird ebenfalls nicht nach jedem durchgefahrenen Auto geschlossen). Die Kommunikationskanäle können beim Start des Programms geöffnet werden (siehe 1.2 Exemplarischer Programmaufbau). Ein Schließen der Kommunikationskanäle (ChannelIDs) ist normalerweise erst bei Programmbeendigung notwendig oder wenn es gewisse Situationen erfordern. 
Notwendig ist das Schließen eines Kanals nach der Kommunikationsunterbrechung bei TCP/IP -Verbindungen, Modemverbindungen.

1.1.1     Was ist die Kanalnummer (channelID)?

Die Kanalnummer (ChannelID) ist vergleichbar mit einem Strassennamen. Jedes Gerät gehört genau zu einem Kommunikationskanal. Die Anzahl der möglichen Kanäle ist auf maximal 250 (+99 im Active-Mode) festgelegt (erlaubter Wertebereich: 1-250; Active-Mode: 251-350). Pro Kanal ist eine Geräteanzahl (siehe Busnummer) von 1..n Einzelgeräten (Endgeräten) möglich. Die maximale Anzahl n(max. sind 250 Geräte pro Kanal möglich) wird von dem gewählten Verbindungsschema (siehe Abb.1) bestimmt.

 Tabelle 1
 Verbindungsschema  Verbindungsart  von - auf  max.
 Anzahl
 Geräte
 pro
 Kanal
 zu verwendende
 Busnummern
 bei
 Funktionsaufrufen
  RS232 RS232  direkt   RS232-RS232  n = 1  immer mit 254 !!
  RS232 RS485  über Umsetzer       RS232-RS485  n = 31  von 1 bis 250
  TCP/IP TCP/IP  direkt  TCP/IP-TCP/IP  n = 1  immer mit 254 !!
  TCP/IP RS485  über COM-Server  TCP/IP-RS485  n = 31  von 1 bis 250
  TCP/IP RS232  über COM-Server  TCP/IP-RS232  n = 1  immer mit 254 !!

1.1.2     Was ist die Busnummer (deviceID)?

Die Busnummer (DeviceID) ist vergleichbar mit der Hausnummer eines Gebäudes. Diese Nummer wird zur Adressierung eines bestimmten Gerätes benötigt. In RS485 Netzwerken (Bussystemen) benötigt jedes Endgerät eine eindeutige Nummer. Diese Nummer (Busnummer) wird an jedem Gerät in dessen BIOS eingestellt. Die maximale Anzahl ist auf 250 Geräte begrenzt (erlaubte Busnummern: 1-250 und 254*).

  Die Busnummer 254 hat eine besondere Bedeutung. Sie darf nicht in RS485 Netzwerken verwendet werden. Über diese Busnummer ist jedes Gerät im RS232 Modus ansprechbar. Wenn kein RS485 Bus angesprochen wird ist bei Funktionsaufrufen (wenn nötig) für die Busnummer (DeviceID) immer 254 anzugeben.

 Die Einstellung der Busnummer ist ab der Firmware Version 04.00.21 des PZE-MastersIV nur noch möglich:
 
  • wenn das Gerät mit der RS485 Option ausgestattet ist
  • wenn im BIOS unter communication / interface die RS485 Kommunikation für das Gerät gewählt wurde.

Wird nicht die Kommunikationsart RS485 (ab der Firmware Version 04.00.21 des PZE-MasterIV) gewählt, ist die Busnummer des Gerätes automatisch 254.

1.2  Exemplarischer Programmaufbau


Abbildung 2

Das nebenstehende Schema (Abb.2) zeigt eine mögliche Grundstruktur für ein Programm, für den in Abb.1 gezeigten Hardwareaufbau. Prinzipiell sollte ein Programmierprojekt wie im nebenstehenden Schema aufgebaut sein. 
Nach dem Start des Programms werden alle benötigten Kanäle (ChannelIDs) initialisiert. Im Normalfall ist es völlig ausreichend wenn bei Beendigung des Programms die geöffneten Kanäle (ChannelIDs) geschlossen werden. Nach der Initialisierung der Kanäle können die Endgeräte beliebig oft angesprochen werden.
Eine erneute Initialisierung wäre nur im Falle einer Kommunikations- unterbrechung notwendig. Hierzu ist der betroffene Kanal erst einmal explizit mit der Funktion DFComClose zu schließen. Erst nach dem Schließen des Kanals ist es zulässig mit einer Initialisierungsfunktion diesen wieder zu öffnen.

 

Mit der Funktion DFCGetComPort hat man zum Beispiel die Möglichkeit zu überprüfen ob eine bestimmte Kanalnummer (ChannelID) bereits geöffnet wurde (bzw. noch geöffnet ist). 

Cpp Beispiel: Überprüfen ob der Kanal 2 geöffnet ist

if (DFCGetComPort( 2 ) != -1) {

printf("Kanal 2 bereits geöffnet.\n");
} else {

printf("Kanal 2 nicht geöffnet.\n");
}

 

1.3     Versionsänderungen

Datum Version Änderungen
08.12.01 1.1.0 Funktionen für Listen aufgenommen.
26.01.02 1.1.c Fehler beim lesen von großen Datenmengen beseitigt.
12.02.02 1.1.e Fehler beseitigt wenn im Gerät kein Datensatz. Neu: Datum/Uhrzeit lesen.
29.04.02 1.1.f Funktion DFCComSendInfotext aufgenommen.
14.06.02 1.1.g Erzeugung der Log-Datei abgeschaltet.
04.07.02 1.1.h Log-Datei kann mit den Funktionen DFCLogOn, DFCLogOff ein- / ausgeschaltet werden.
09.09.02 1.1.i Datensatzbeschreibung und Listenbeschreibung aus dem Gerät auslesen.
09.10.02 1.1.j Prüfen ob Gerät erreichbar. Lesen der Seriennummer und übertragen einer Setupdatei.
 Version 2
21.02.03 02.00.00 Kontrollierter Abschluss der ersten Technik. Einleitung einer neuen Technik, mit Datensatzweisen lesen, Setupdaten aus Gerät lesen und Rückruffunktion.
24.02.03 02.00.01 Entfernen des Fehlers bei Setup laden unter Win9X und WinMe.
01.03.03 02.00.02 Unterstützung von Firmwareständen unter FW 2.0. Auch alte Datensatztechnik.
27.03.03 02.00.03 Abgleichen der Exportschnittstelle zu Talk. Unterstützung von FW >= 3.0
13.05.03 02.00.04 Setzen und lesen der Globalen Variablen durch DFCSetGlobVar und DFCGetGlobVar hinzugefügt.
20.05.03 02.00.05 Schließen, Zustandsabfrage und öffnen des internen und der IOModule - Relais. Importieren und laden der Listendaten für Zutrittskontrolle.
11.06.03 02.00.06 Unterstützung von AESetup unter 02.00.00
15.07.03 02.00.07 Kommunikation mit alter Firmware (V1.14) gefestigt.
07.08.03 02.00.08 DFCComSetTime überarbeitet. Parameter von Gerät bleiben nach manueller Änderung und Setupeinspielung erhalten.
11.08.03 02.00.09 Geräteparameter "Tastenton" hinzugefügt, wobei die anderen vom Setupprogramm nicht einstellbaren Parameter ab Firmwareversion 3.1.2 behalten werden.
05.09.03 02.00.10 Die Funktion DFCComOpenIV zum Ansprechen von MasterIV - Geräten hinzugefügt.
12.09.03 02.00.11 Fehlermapping für PZE-MasterIV überarbeitet. Überarbeitung der Funktion DFCSetupLaden um die globalen Variablen durch die Setup - Daten mit standardwerten zu belegen. (ab Setup V03.01.07)
16.09.03 02.00.12 Bugfix von DFCSetupLaden und Einbau von TCP/IP in DFCComOpenIV.
17.09.03 02.00.13 Änderung um Firmwaredateien für PZE-MasterIV über TCP/IP einzuspielen.
29.09.03 02.00.14 DLL - Projekt auf Linux (SuSE 7.3) portiert. 
24.10.03 02.00.15 Hindergrundloggen aller Funktionsaufrufe eingeführt.
08.12.03 02.00.16 DFCSetGlobVar und DFCGetGlobVar für AESetup überarbeitet.
29.01.04 02.00.17 Überarbeitung der DFCMakeEntranceList und DFCLoadEntranceList - Funktionen, da die Personalnummer im Personalstamm von 12 auf 13 Stellen erhöht wurde.
24.02.04 02.00.17 Erweiterung der Dokumentation um die Funktionen DFCGetComPort und DFCSetComPort.
29.04.04 02.00.18 DFCWrite, DFCRead, DFCUpload hinzugefügt und bei der Kommunikation mit den PZE-MasterIV - Geräten die Größe der Datenpakete erhöht.
DFCGetVersionFirmware hinzugefügt, wird unterstützt ab Firmware 04.00.19
20.07.04 02.00.19 Fehler bei interner Sortierung des Zutrittspersonalstammes bereinigt.
Die Kanalklassenanzahl ist von 10 auf 250 erhöht worden.
Die Listendaten werden bei PZE-MasterIV ab FW 04.00.21 im Hintergrund geladen.
08.10.04 02.00.20 Fehlerbereinigung; bei unaufgeführten internen Kommunikationsversionsnummern, wurde immer der Fehler (Gerät antwortet nicht) geliefert, obwohl der Befehl eigentlich nicht vom Gerät unterstützt wurde. 
Abfrage der Firmwareversion mit DFCGetFirmwareVersion nun auch beim AEIII+ möglich. 
DFCComInit
größer COM9 möglich.
02.02.05 02.00.21 Die Funktion DFCGetFirmwareVersionFromFile zum auslesen der Firmwareversion aus einer Gerätedatei hinzugefügt. 
Bootloaderversion 2.2 wird unterstützt.
18.02.05 02.00.22 Die Listengröße ist auf ca. 256kByte erhöht worden. Die Listendaten können in dieser Größe mit der Funktion DFCMakeListe importiert werden. Beim Einspielen der Listendaten mit DFCLoadListen wird aufgrund der Firmwareversion eventuell der Fehler 13 zurückgeliefert, dann wird die Listengröße von der Firmwareversion nicht unterstützt.

Die Funktionen DFCListBDatensatz, DFCListBFeld wurden so überarbeitet, daß auch die Struktur der Zutrittskontrolllisten Version 1 abgefragt werden kann.

02.03.06 02.00.23 Die Funktionen DFCReadRecord, sowie DFCQuitRecord wurden nach aussenhin freigelegt. Die Funktionen DFCComCollectData und DFCComGetDatensatz verwenden diese intern und können durch diese ersetzt werden.
 Version 4.1 Die Version 3.x und 4.0 wurden nicht vergeben, damit eine Versionsgleichheit mit der aktuellen Firmware und dem DatafoxStudioIV entsteht. 
Die neuen Funktionen der Version 4.1 werden vom AEIII+ nicht mehr unterstützt.
27.06.06 04.01.01 Funktionen für die Zutrittskontrolle Version 2 hinzugefügt:
DFCClearEntrance2ListBuffer, DFCMakeEntrance2List, DFCLoadEntrance2List

Die Funktionen DFCListBDatensatz, DFCListBFeld wurden so überarbeitet, dass auch die Struktur der Zutrittskontrolllisten Version 1 / Version 2 abgefragt werden kann.

Die Funktionen DFCOpenTable, DFCCloseTable, DFCSetFilter, DFCGetFilter, DFCClearFilter, DFCSkip, DFCSetField, DFCGetField wurden hinzugefügt um auf Listenspalten zuzugreifen und deren Werte zu ändern.

11.08.06 04.01.02 Importierbare Listengröße für FW 04.00.xx wurde falsch bestimmt. 
Der CallBack - Aufruf bei Verwendung der FW 04.01.xx wurde nicht bei jeder Kommunikationsfunktion durchgeführt. 
Die Listenspeicher für Standard- sowie Zutrittslisten werden dynamisch verwaltet. Die Standard- sowie Zutrittslisten werden, wenn gefordert, vor der Übertragung lexikografisch sortiert. 
Die Funktion DFCComSendInfotext wurde für den BDE- /MDE-MasterIV aktiviert.
13.12.06 04.01.03 siehe entsprechende Einträge im Dokument "MasterIV, SoftwareVersionen Stand xxxx.xx.xx.pdf"
10.04.08 04.01.04 Erweiterung um die Funktionen DFCGetInfo, DFCEntrance2Identification, DFCOpenComServerMode, DFCCloseComServerMode, DFCFingerprintAppendRecord, DFCFingerprintGetRecord, DFCFingerprintDeleteRecord, DFCMakeTimeboyList, DFCLoadTimeboyList, DFCClearTimeboyListBuffer.
Die Funktion DFCUpload zum einspielen der Firmwaredateien, akzeptiert (in Win32) spezielle Zip-Archive. Unter Linux kann ein Verzeichnis angegeben werden.
22.10.08 04.01.05 Erweiterung um die Funktionen DFCStartActiveConnection, DFCStopActiveConnection, DFCGetFirstActiveChannelID, DFCGetNextActiveChannelID, DFCGetInfoActiveChannel, DFCSetRecordAvailable, DFCRecordAvailable, DFCModifyStudioFile, DFCEntrance2OnlineAction, DFCUploadModule.
Ab dieser Version wird der Activ-Mode für Win32 unterstützt.
16.03.09 04.01.06 Erweiterung der Funktionen DFCUpload um die Möglichkeit Textdaten zur Firmware einzuspielen. Funktion DFCRestoreRecords zum Wiederherstellen von Datensätzen hinzugefügt. Funktionen DFCGetOptionFirmware und DFCSetOptionFirmware hinzugefügt.
22.01.10 04.01.07 Funktion DFCReset zum auslösen eines Warmstarts hinzugefügt. Funktion DFCSetFontType zum verändern der Schriftart bei angezeigten Nachrichten, hinzugefügt. Funktionen DFCSetPassword, DFCGetPasswordKey für das Passwort des Zugriffsschutzes, hinzugefügt. Funktion DFCPressVirtualKey zum virtuellen drücken von Tasten, hinzugefügt. Funktion DFCFingerprintList zum erstellen einer Liste, die alle enthaltenen PID-FID-Kombinationen des Fingerprintmoduls enthält. Funktionen DFCFingerprintBackup und DFCFingerprintRestore zum erstellen und wiedereinspielen von Backups, hinzugefügt. Funktion DFCGetFlashStatus zum Abrufen des Zustandes vom Hauptspeicherbaustein hinzugefügt.
 Version 4.2 Unterstützung der Hardwaregeneration 3.
27.10.10 04.02.00 Activ-Mode kann nun auch unter Linux verwendet werden. Unterstützung des Firmwarestandes 04.02.00 und Gerätetypen Flex-MasterIV sowie Exklusiv-LineIV
28.01.11 04.02.01 Unterstützung des Gerätetyps TimeboyIV und Timeboy-Mobil-PZE.
16.09.11 04.02.02 Unterstützung der Mehrfachdocking für TimeboyIV und Timeboy-Mobil-PZE.
20.07.12 04.02.03 Funktion DFCSetCommunicationPassword für die Kommunikationsverschlüsselung, hinzugefügt. Funktion DFCReadHardwareInfo zum ermitteln von Informationen zur Gerätehardware und integrierter Optionen, hinzugefügt. Funktionen DFCFileUpload und DFCFileDownload zur Übertragung von Dateidaten zwischen Gerät und PC, hinzugefügt. Die Busnummer wurde vom Bereich 1 - 31 auf 1 - 250 erweitert.
04.01.13 04.02.04 Anpassungen auf die Unterstützung der Firmware-Version 04.02.04.
 Version 4.3 Unterstützung der EVO-Line Serie.
12.12.13 04.03.00 Unterstützung der Gerätetypen EVO-Line 2.8, EVO-Line 4.2, IPC-Extension. Unterstützung der Firmware-Version 04.03.00.
06.01.14 04.03.01 Unterstützung der Firmware-Version 04.03.01.
20.03.14 04.03.02 Unterstützung der Firmware-Version 04.03.02.
15.10.14 04.03.03 Unterstützung der Firmware-Version 04.03.03.
19.01.15 04.03.04 Erweiterung um die Funktionen DFCAccessControlIdentification, DFCAccessControlOnlineAction zur Unterstützung mehrerer Zutrittsbusse.
22.07.15 04.03.05 Unterstützung der Firmware-Version 04.03.05.
21.01.16 04.03.06 Unterstützung der Firmware-Version 04.03.06.

 

1.4     Funktionsweise der DLL

Die DLL ist die Schnittstelle zwischen einer Softwareanwendung und den AEIII+ / MasterIV - Geräten. Alle die Geräte betreffenden Aufgaben werden von der Softwareanwendung an die DLL übergeben, dort verarbeitet und gegebenenfalls an das anzusprechende Gerät weitergeleitet.

Behandlung von Datensätzen

Um Datensätze aus den Geräten zu lesen muss zuerst die jeweilige Kommunikationsschnittstelle mit einer der Funktionen DFCComOpenSerial, DFCComOpenSocket (AEIII+) oder DFCComOpenIV (MasterIV) erfolgreich initialisiert werden.

verwendende Technik bei AEIII+
Danach wird mit der Methode DFCComCollectData das Gerät mit der angegebenen Busnummer bekannt gegeben und der erste Datensatz (oder alle Daten, je nach Firmwareversion) aus dem Gerät gelesen. Die Funktion DFCComGetDatensatz bestätigt diesen zuvor durch DFCComCollectData ausgelesenen Datensatz, übergibt die Daten in den zur verfügung zu stellenden Datenpuffer und liest den ggf. nächsten Datensatz aus dem Gerätespeicher aus. Dieser wird dann bei dem nächsten Aufruf von DFCComGetDatensatz quittiert und in den Datenpuffer übergeben. Auf diese Weise werden durch folgeaufrufe der Funktion DFCComGetDatensatz einzelne Datensätze aus dem Gerät an die Anwendung übergeben.

Zu verwendende Technik bei MasterIV
Danach wird mit der Methode DFCReadRecord das Gerät angesprochen und der erste Datensatz aus dem Gerät gelesen. Nach erfolgreicher Verarbeitung des Datensatzes durch Ihre Anwendung muss mit der Funktion DFCQuitRecord der zuvor gelesenen Datensatz quittiert werden. Erst nach erfolgreicher Ausführung der quittierung wird durch die Firmware auf den nächsten Datensatz gewechselt. Durch erneuten Aufruf der Funktion bestätigt diesen zuvor durch DFCComCollectData ausgelesenen Datensatz, übergibt die Daten in den zur verfügung zu stellenden Datenpuffer und liest den ggf. nächsten Datensatz aus dem Gerätespeicher aus. Dieser wird dann bei dem nächsten Aufruf von DFCComGetDatensatz quittiert und in den Datenpuffer übergeben. Auf diese Weise werden durch folgeaufrufe der Funktion DFCComGetDatensatz einzelne Datensätze aus dem Gerät an die Anwendung übergeben.

Nach Ausführung aller benötigten Kommunikationsbefehle, muss mit der Funktion DFCComClose die Kommunikationsschnittstelle wieder geschlossen werden.
Es kann während der Kommunikation kein Datensatz verloren gehen, bei einer Störung während der Kommunikation kann es jedoch vorkommen das ein Datensatz zweimal ausgelesen wird (Aussage gilt für Firmwareversion > 2.0).

Die Datensätze werden ab der Firmwareversion 03.01.20 beim AEIII+ sowie 04.00.21 beim PZE-MasterIV in der chronologischen Reihenfolge geliefert.

Anmerkung zur Datensatz- und Listenbeschreibung (Tabellendefinitionen)
Es können gleichzeitig mehrere Verbindungen, so genannte Kanäle, unter verwendung verschiedenen Schnittstellen aufgebaut werden. Für jeden Kanal wird ein eigener interner Speicherbereich verwendet, der jedoch die Datensatzbeschreibungen und Listenbeschreibungen des zuletzt mit DFCLoadDatensatzbeschreibungausgelesenen Gerätes ( und DFCLoadListenbeschreibung) vorhält. D. h., wenn Sie verschiedene Setupkonfigurationen in den Geräten verwenden, ist eine Aktualisierung der Datensatz- und Listenbeschreibungen erforderlich.
Bei offen gehaltenen Kanälen ist folgendes zusätzlich zu beachten.
Wenn die Verbindung zwischen der DLL und dem Gerät unterbrochen wurde, dann sollte dieses durch die Fehlerbehandlung auf folgende Weise abgefangen werden (siehe auch 1.2 Exemplarischer Programmaufbau).

1.5     Allgemeine Hinweise

Der C-Compiler dekoriert die in den Funktionsprototypen angegebenen Namen. Vor den Namen wird das Zeichen "_" gesetzt und an den Namen wird die Anzahl der übergebenen Parameter in Längen - Byte durch "@" getrennt angehängt. Zusätzlich zum Funktionsprototyp werden daher auch die dekorierten Namen angegeben. Sie werden z.B. bei Verwendung von Visual Basic oder Delphi zum Import benötigt.

Beim Arbeiten mit der DLL ist es unter Umständen hilfreich, das Tool "Depends" oder "Dependency Walker" einzusetzen. So können alle in der DLL vorhandenen Funktionen und die erwarteten Parameterbytes angezeigt werden. Dieses Tool ist im Umfang von Visual Studio 6.0 enthalten. Dieser Export ist weiter unten bei jeder Funktion angegeben.

Die Datei DFComDll.lib muss in den Projekteinstellungen bei den Optionen "Link" in Visual C++ Projekten bei den Objekt / Bibliothek-Modulen eingetragen sein und beim Kompilieren des Projektes im Projektverzeichnis liegen (oder in dem in den Einstellungen eingestellten Pfad). Bei der Programmierung in C++ kann die Headerdatei aus dem Beispielcode verwendet werden. Auch für Visual Basic ist ein Modul mit den notwendigen Exportangaben vorhanden.

1.5.1     Listen des Setups

Speicherverwaltung der Listen

Jeder Kanal verwaltet seinen eigenen Speicher für die 20 möglichen Listen. Für jede zu importierende Liste wird entsprechend ihrer Größe ein dynamischer Speicher reserviert. Mit der Funktion DFCClrListenBuffer werden alle reservierten Speicher im entsprechenden Kanal freigegeben.

Achtung: 
Bitte beachten Sie, daß in den MasterIV-Geräten ein Flashspeicher zum Einsatz kommt. Laut dem Hersteller kann jeder Speicherblock (512Byte) maximal 100.000 mal beschrieben werden. Die Firmware der Geräte verteilt die Zugriffslast auf die einzelnen Speicherblöcke und markiert intern defekte Blöcke. Es ist jedoch trotz dieses Sicherheitsmechanismus von all zu häufiger Übertragung der Listendaten abzuraten. Die Applikation sollte nur bei Änderungen die Listen neu übertagen und nicht zyklisch permanent.
Übertragen von Listen

Die Verarbeitung erfolgt in zwei Schritten. Zuerst wird der DLL interne Speicher durch einen Aufruf der Funktion DFCMakeListe für jede Liste mit Listendaten gefüllt. Danach werden die Listendaten durch Aufruf der Funktion DFCLoadListen in das Gerät übertragen. Zu beachten ist, dass alle im Setup definierten Listen nacheinander mit der Funktion DFCMakeListe in den Speicher der DLL übertragen werden. Durch Aufruf der Funktion DFCLoadListen werden dann alle zuvor importieren Listen auf einmal übertragen und alle entsprechend alten Listen im Gerät automatisch gelöscht.

Achtung: 
Zwischen der Übertragung von Listen muss ggf. eine Wartezeit eingehalten werden. Hierzu siehe Abschnitt: Beschreibung der Übernahme von Listen
Übertragen einzelner Listen

Um eine einzelne Liste zu übertragen importieren Sie diese mit DFCMakeListe und übertragen sie dann mit DFCLoadListen. Die Funktion DFCLoadListen überträgt immer alle zuvor importierten Listen, egal ob eine oder mehrere.

Achtung: 
Das Laden einzelner Listen ist bei der MasterIV - Serie erst ab Firmwareständen >= 04.01.00 möglich. Beim AEIII+ müssen immer alle Listen übertragen werden, das Laden einzelner Listen ist nicht möglich.
Achtung: 
Zwischen der Übertragung von Listen muss ggf. eine Wartezeit eingehalten werden. Hierzu siehe Abschnitt: Beschreibung der Übernahme von Listen
Löschen von Listen

Es ist nicht möglich einzelne Listen komplett zu entfernen. Dies geschieht lediglich nach Übertragung einer Setupdatei. Durch Aufruf der Funktion DFCMakeListe mit der Datensatzanzahl 0 wird die Liste in der DLL als Leere Liste importiert und durch Aufruf der Funktion DFCLoadListen wird diese dann übertragen.

Beschreibung der Übernahme von Listen

Beschreibung wie die Listenübernahme der Firmware arbeitet. Die Listenübernahme des Setups ist je nach gewähltem Betriebsmodus "Normal, MDE" oder "PZE Modus 1, 2" leicht verschieden.

Listen für Betriebsmodus "Normal, MDE"

Nach übertragen einer oder mehrerer Listen, werden diese in folgenden Situationen übernommen:

Listen für den Betriebsmodus "PZE Modus 1, 2"

Zusätzlich zu den Situationen des Betriebsmodus "Normal, MDE", die hier auch gelten, kommt noch der einstellbare Tastentimeout dazu. Erfolgt keine Bedienung des Geräts für den eingestellten Tastentimeout, durchläuft das Gerät zwangsläufig das Hauptmenü und die Listendaten werden dadurch übernommen.

Listen für die Zutrittskontrolle

Nach übertragen einer oder mehrerer Zutrittslisten wird die Zutrittskontrolle gestoppt und die Listendaten in das System übernommen. Danach nimmt die Zutrittskontrolle ihren Betrieb wieder auf.

Listen für Timeboys

Nach übertragen einer oder mehrerer Listen für Timeboys, werden diese sofort übernommen, sofern nicht gerade eine Übertragung der bereits vorliegenden Listen in einen Timeboy aktiv ist. Dann wird die aktuelle Übertragung zuerst abgeschlossen bevor die neuen Listendaten übernommen werden.

Beim AEIII+ sowie MasterIV Firmwareversionen < 04.01.00

Hier müssen immer alle definierten Listen des Setups importiert und übertragen werden.

Der DLL interne Puffer wird für jede "ComNum" getrennt geführt. Die Listendaten müssen daher auch für jede verwendete "ComNum" getrennt aufgebaut werden. 

Wenn an einer "ComNum" mehrere Geräte angeschlossen sind, die unterschiedliche Listen benötigen, müssen die Listendaten vor der Übertragung zu der entsprechenden Busnummer, deren Gerät eine unterschiedene Listenstruktur hat, neu in den Puffer der DLL geladen werden.

Ablauf des Listenladen:

Testsoftware für die Listen liegt in folgenden Dateien bei: 

Die Testliste besteht aus den 3 Namen: 
Mueller, Maier und Schmidt mit den Personalnummern: 101, 102 und 103.

1.5.2     Datentypen

Die Datentypen werden meist ohne Vorzeichenbehaftung genutzt ( unsigned ).
Es werden folgende Datentypen verwendet:

Type Beschreibung
int Ganze Zahl 4 Byte
char Ein Zeichen entspricht einem Byte
int* Zeiger auf einen int. Umfasst 4 Byte
char* Zeiger auf Zeichen (Array). Umfasst 4 Byte.
unsigned char* Zeiger auf Datenbyte (Array). Umfasst 4 Byte.

1.5.3     Fehler

Die meisten Funktionen bieten eine Fehlerauswertung über das Error Argument nach folgender Tabelle, nachdem sie mit einer "if (DFCxxx == 0)" Abfrage gescheitert sind.
Folgende Fehler können im Error-Parameter auftreten:

Nummer
(in Var. "Error") 
Bedeutung
0 Kein Fehler angegeben.
1 CRC (Prüfsumme) von Daten falsch.
2 Serielle Schnittstelle kann nicht geöffnet werden.
z.B.: belegt durch anderes Programm oder Kanal.
3 Der Kanal ist für die benötigte Kommunikation noch nicht geöffnet worden.
4 Allgemeiner Fehler bei Kommunikation mit AEIII+ / MasterIV.
5 AEIII+ / MasterIV antwortet nicht auf Anfrage.
6 Fehler beim Senden eingetreten.
7 Fehler beim Empfangen eingetreten.
8 Antwort vom falschen Gerät oder im Kontext nicht sinnvoll.
9 Die verwendete Busnummer ist ungültig. Wertebereich: (1 - 250, 254)
10 Kanalobjekt nicht vorhanden. Kanalobjekt nicht herstellbar. Wertebereich: (1 - 350)
11 Öffnen einer Datei gescheitert. Meist nicht vorhanden.
12 Falsches Format der Setupdaten. Meist bezieht sich dies auf das Setup.
13 Fehler bei Verarbeitung der Listendaten.
14 Firmwareversion vom anzusprechenden Gerät ist nicht Kompatible.
15 Es sind noch Datensätze im Gerät vorhanden, welche unbrauchbar würden.
16 Befehlsausführung wurde durch Anwender abgebrochen.
17 Es ist keine Datensatzbeschreibung im entsprechenden Kanal geladen.
18 Es ist keine Listenbeschreibung im entsprechenden Kanal geladen.
19 Fehler beim Programmieren des Flash, Firmware. 
20 Parameter einer Funktion außerhalb ihres Gültigkeitsbereiches.
21 Globale Variable nicht definiert.
22 Anfrage obwohl keine Daten.
23 Duplikat von Datensätzen abgefangen.
24 Gerätedatei nicht mit Bootloaderversion kompatible.
25 Firmwaredatei nicht mit Bootloaderversion kompatible.
26 Wert einer Variablen konnte nicht gesetzt werden.
27 Funktion steht im vorliegenden Fall nicht zur Verfügung.
28 Fehler in Applikationsschicht bei Befehlsausführung.
(Der Befehl wurde erfolgreich zwischen dem Gerät und der DLL übertragen, die geforderte Ausführung konnte jedoch nicht erfolgen. z. B. unterstützt das Gerät die geforderte Funktion nicht oder ist augenblicklich nicht bereit die Funktion auszuführen.)
29 Der Gerätetyp ist unbekannt. Update der Software erforderlich.
30 Die angegebene Geraetedatei stimmt nicht mit der vorliegenden Hardware ueberein. Oder aber, es liegt keine passende Gerätedatei für die vorliegende Hardware im Zip-Archiv vor. Kommt bei DFCUpload zur Anwendung.
31 Gerätetyp stimmt nicht. 
z.B. Versuchtes Einspielen von Setupdatei für PZE-MasterIV in BDE-MasterIV
32 Die vorliegende Dateiendung wird nicht unterstützt.
33 Der Tabellenname oder Spaltenname ist undefiniert.
34 Ein angegebener Handle ist nicht gültig.
35 Der anzuwendende Filter würde keine Datensätze liefert.
36 Sprung führte zum Anfang der Tabelle. (Base of File)
37 Sprung führte zum Ende der Tabelle. (End of File)
38 Der angegebene Wert ist Fehlerhaft.
39 Die Zutrittskontrolle ist deaktiviert.
40 Bei einer Datenübertragung ist ein Speicherüberlauf eingetreten.
41 Es liegen keine Daten vor.
42 Der Befehl konnte zwar übermittelt werden, bei den Daten liegt jedoch ein fehler vor.
43 Das angesprochene Modul ist zur Zeit durch einen anderen Process blockiert.
44 Fehler beim Laden einer XML-Datei.
45 Unbekannte Elemente in einer XML-Datei.
46 Fehlerhafter Dateninhalt einer XML-Datei.
47 Fehler beim Übernehmen oder Anwenden der Daten.
48 Speicherallokation konnte nicht durchgefuehrt werden.
49 Diese Version der Geraetedatei kann aufgrund ihrer Aktualität nicht verarbeitet werden.
50 Bei der Verarbeitung der Dateidaten trat ein Fehler auf.
51 Die vorliegende Geraetedatei passt nicht zur vorliegenden Hardware. Oder aber: Im Archiv wurde keine passende Gerätedatei gefunden.
52 Fehler beim Laden der Gerätedatei(archive) aufgetreten.
53 Der Activ-Mode ist gestartet.
54 Der Activ-Mode ist nicht gestartet.
55 Der angegebene Listensocket ist bereits in Verwendung.
56 Die Meldung von Datenätzen im Active-Mode ist deaktiviert.
57 Allgemeiner Fehler beim Starten des Active-Mode.
58 Das angegebene Passwort stimmt nicht mit dem benötigten überein. Es wird ein Passwort gefordert.
59 Gerät ist aufgrund von fehlerhaften Passworteingaben für 60 Sekunden gesperrt.
60 Das Schreiben in die Datei ist fehlgeschlagen.
61 Das Lesen aus der Datei ist fehlgeschlagen.
62 Fehlerhafter Dateninhalt. Die Prüfung auf die Datenkonsistenz per CRC schlug fehl.
63 Es steht kein weiterer Speicherplatz zur Verfügung. Z. B. kann die maximale aufnehmbare Anzahl Fingertemplates erreicht sein.
64 Die in der Datei vorliegenden Daten stimmen nicht mit den geforderten überein. Z. B. in der Datei liegen Fingertemplates vom Typ Idencom-Compact vor, es werden jedoch DIN Erfordert.
65 Es steht nicht genügend Flash-Speicher zur Verfügung, um die Daten aufzunehmen.
66 Das von Ihnen angesprochene Modul ist eine Optionale Hardware-Erweiterung und ist im vorliegenden Gerät nicht verfügbar.
67 In der Setupdatei werden Erweiterungen verwendet, die einen aktuelleren Firmwarestand voraussetzen.
68 Die abzuarbeitende Aufgabe wird durch die vorliegenden Firmwareversion nicht unterstuetzt.
69 Die abzuarbeitende Aufgabe wird durch die vorliegenden Geraetekonfiguration nicht unterstuetzt.
77 Bei dem angesprochenen Timeboy handelt es sich um kein Model der MasterIV Reihe.
80 Die Setupdatei setzt eine nicht erreichte Mindestversion der DFComDLL voraus.
81 Die Setupdatei gibt eine nicht erreichte Soll-Version der DFComDLL vor.
82 Die Setupdatei wird von der vorliegenden Firmwareversion 04.01.xx nicht unterstuetzt.
83 Die Setupdatei setzt eine nicht erreichte Mindestversion der Firmware 04.01.xx voraus.
84 Die Setupdatei gibt eine nicht erreichte, jedoch empfohlene, Firmwareversion 04.01.xx vor.
85 Die Setupdatei wird von der vorliegenden Firmwareversion 04.02.xx nicht unterstuetzt.
86 Die Setupdatei setzt eine nicht erreichte Mindestversion der Firmware 04.02.xx voraus.
87 Die Setupdatei gibt eine nicht erreichte, jedoch empfohlene, Firmwareversion 04.02.xx vor.
88 Das Geraet erfordert eine verschluesselte Kommunikation, es wird das Passwort benoetigt (DFCSetCommunicationPassword).

1.5.4     Hintergrundloggen

In der DLL ist ein Logmechanismus für ein Hintergrundloggen eingebracht, welches alle Funktionsaufrufe in Dateien (Standard: YYYY_MM_DD_DFComDLL_channelID.log) die in einem angelegten Ordner (Standard: DFComLog) liegen schreibt. Dieses Hintergrundloggen ist Standardmäßig aktiviert und kann über die Initialisierungsdatei "DFCom.ini" gesteuert werden. Es werden die letzten fünf aufeinanderfolgenden Anwendungstage mitgeschnitten und die so gesammelten Daten umfassen im Mittel ein Datenvolumen von ca. 300MB.

Aufbau der Logeinträge
Durch den Dateinamen ist das Datum und der Kanal bekannt. Die Zeit des Funktionsaufrufes ist die erste Logangabe. Danach folgt durch Tabstopp getrennt der Funktionsname mit den jeweils übergebenen Parameterwerten. Als Abschluss wird der Rückgabewert (wenn vorhanden) in Klammern angegeben. Bei Parametern die über Zeiger bekannt gegeben werden, wie Fehlerobjekt oder Datenbuffer, werden immer die Übergebenen Werte nicht die Adresse mitgeschrieben. Wenn keine Werte Vorliegen werden trotzdem immer alle Tabstopp ausgegeben und es ist somit möglich die Datei für eine weitere Verarbeitung zu verwenden. In einer Eckigen Klammer wird nach setzen des Elapse - Schlüssels die Ausführungsdauer der Funktion angegeben, diese gibt an wie lange die DLL - Funktion für die Abarbeitung des Befehls benötigte (Stark abhängig von den verwendeten Schnittstellentimeouts).
 Beispiel: 2007_02_05_DFComDLL_1.log
11:14:57	DFCComOpenSerial	1	COM1	38400	800	(1) [0.1]
Initialisierungsdatei
Der zu Verwendende Dateiname lautet: DFCom.ini

Bedeutung der Schlüsselwerte in der Sektion Log:

 Beispiel:
[Log]
Enable=1
Path=.\
Folder=DFComLog
Trace=0
Erase=1
Keep=10
Elapse=1
List=1

1.5.5     Uhrzeit stellen

Die Uhr in den Terminals sollte regelmäßig gestellt werden, um Abweichungen zu vermeiden. Insbesondere, wenn mehrere Terminals verwendet werden. Wir empfehlen die Uhr mindestens einmal pro Tag zu stellen. Der ideale Zeitpunkt dafür ist 4:00 Uhr, da hier dann bei Sommer-/Winterzeit gleich die Uhr richtig gestellt wird.
Die Firmwareversionen unter 04.00.23 haben keine automatische Sommer-/Winterzeitumstellung. Hierfür ist die Anwendung verantwortlich. 
Es ist ggf. die automatische Sommer-/Winterzeitumstellung des Betriebssystems zu aktivieren.

Zum stellen der Uhr verwenden Sie die Funktion DFCComSetTime.

1.5.6     Timeboylisten übertragen

 Achtung: 
Dieses Feature gilt erst ab MasterIV-Firmwareversion 04.01.04 und nur für TimeboyIII-Geräte. Ebenfalls muss Ihr MasterIV-Gerät mit der Option, Timeboygeräte anzusprechen ausgestattet sein.
Der Speicherbedarf der Timeboylisten, reduziert den Speicherplatz für die MasterIV-Listen.
GroupID

Ist eine im Timeboy hinterlegte Nummer. Standardmäßig ist diese 0 und kann über das TbSetup gesetzt werden. Timeboys können über diese Nummer in Gruppen eingeteilt werden und über die DLL-Funktionen mit separaten Listen Versorgt werden.
Beispiel zur Erklärung:
Problem: Sie haben drei Timeboys mit dem gleichen Setup im Einsatz, möchten aber auf jedem Timeboy eine eigene Auftragsliste aufspielen.
Lösung: Sie Vergeben jedem Timeboy eine eigene GroupID und übertragen die Listen, die für alle Geräte gültig sind mit der GroupID 0 und die jeweilige Auftragsliste mit derren GroupID.

1.5.7     Übertragen von Gerätedateien (DFCUpload)

 Beim PZE-MasterIV zu beachten 
Um ein Update von einer Firmwareversion kleiner 04.00.23.769 auf eine Version >= 04.01.xx durchzuführen, muß zuvor eine Version der Reihe 04.00 >= 04.00.769 eingespielt werden.
Ein Downgrade von der Versionsreihe 04.01 oder höher, auf die Versionsreihe 04.00, ist aufgrund einer möglichen Inkompatibilität zur eingesetzten Hardware, vorher zu prüfen und ggf. zu vermeiden.
Das Aufspielen einer Firmwareversion der Reihe 04.00 darf nur auf PZE-MasterIV mit einer Revision 2.0 geschehen. Die Revision können sie dem Typenschild entnehmen, dabei fehlt die Revisionsangabe hinter der Gerätebezeichnung, wenn sie 2.0 ist.
Im Beispiel links ist die Revision rot umrahmt.
 Beim Update über Gerätedateiarchiv (*.dfz) ist folgendes zu beachten. 
Folgende Optionen können mitlerweile zusätzlich durch den Anwender eingestellt werden:
  • Externe Leserserie (PHG oder Datafox)
  • IOModul an Gerät angebunden.
  • Timeboy an Gerät angebunden.
  • Vorhandenes Setup und Listen nach Fimrwareupdate beibehalten. (Nur Mobil-MasterIV)
Diese Informationen werden (so weit vorhanden) von der Updateroutine herangezogen um die gewünschte Gerätedatei aus dem Gerätedateiarchiv (*.dfz) auszuwählen.

Von folgenden Einstellungen geht die DLL aus, wenn die Optionen im Gerät undefiniert sind.
  • Externe Leserserie: Datafox
  • IOModul an Gerät angebunden: Nein
  • Timeboy an Gerät angebunden: Beim Mobil-MasterIV: Ja, ansonsten Nein.
  • Vorhandenes Setup und Listen nach Fimrwareupdate beibehalten. (Nur Mobil-MasterIV): Nein
Beim Update über das DatafoxStudioIV werden Sie automatisch zur Einstellung der Optionen aufgefordert, wenn diese undefiniert sind. Beim Update über die DLL werden die oben aufgeführten Standardvorgaben verwendet. Die Umschaltung der Optionen ist über das DatafoxStudioIV möglich.
 Allgemeine Hinweise zu allen MasterIV-Geräten 
Das Wechseln in den Bootloadermodus ist im jeweiligen Handbuch beschrieben.
Im Bootloadermodus verwendet das Gerät fest die Kommunikationsart RS232.
Nach Aufspielen einer Firmwareversion über den Bootloadermodus, wird von der aufgespielten Firmwareversion nach Neustart, die vor dem Wechsel in den Bootloadermodus gewählte Kommunikationsart verwendet.
Ein Downgrade ist generell über den Bootloadermodus durchzuführen.
Nach Aufspielen einer Firmwareversion über GSM/GPRS, führt das Gerät eine Neueinwahl mit den zuvor verwendeten Einwahldaten durch. Diese gehen durch das Aufspielen einer Firmwareversion nicht verloren.
Die Setupdatei und Listendaten müssen nach jedem Aufspielen einer Firmwareversion neu übertragen werden. Einzige Ausnahme ist das Mobil-MasterIV mit einer Version >= 04.01.04.53 und gesetzter Option zum Halten der Daten.
 Bekannte Probleme und deren Fehlerbehebung 
Nach Übertragung einer Firmwareversion werden bei Geräten mit Anzeige, keine Schriften und Grafiken angezeigt. Übertragen Sie die gleiche Fimrwareversion bitte nochmals.

1.5.8     IP-Adresse und Hostname

Angabe einer IP-Adresse in Punktnotation:
IP-AdresseBeschreibung
"4.3.2.16"Dezimale Angabe
"004.003.002.020"Oktale Angabe
"0x4.0x3.0x2.0x10"Hexadezimale Angabe
"4.003.002.0x10"Mix
Bitte beachten Sie, dass vornullen zur Oktalen Angabe führen!!

Die Angabe von Hostnamen. Z. B.: www.datafox.de

1.6     Active-Mode

1.6.1     Einleitung

Im nachfolgenden Dokument wird kurz Erläutert wie das Konzept des "Active-Mode" funktioniert und eingesetzt werden kann. Es bezieht sich auf die Version 4.1.5 der Firmware, DFComDLL und DatafoxStudioIV.

1.6.2     Grober Überblick

Bei dem "Active-Mode" bauen die Geräte eine Verbindung zur DLL auf. Diese Verbindung bleibt über die gesamte Laufzeit bestehen und wird durch Alive-Pings sichergestellt. Das Bedeutet, dass bei einem Verbindungsabriss oder einer Verbindungsunterbrechung die Geräte selbstständig eine Neuverbindung unternehmen.

Jede bestehende Verbindung im Active-Mode hat eine eindeutige Kanalnummer die über die entsprechenden DLL Funktionen abgerufen werden können. Unter Verwendung dieser Kanalnummer kann jede DLL Funktion wie gewohnt ausgeführt werden. Die Busnummer ist in diesem Fall immer 254.

Zusätzlich zur Verbindung im Active-Mode kann eine "Datensatzmeldung" konfiguriert werden. Dabei melden die Geräte der DLL ob Datensätze vorliegen und diese speichert die Information bis zum Abruf zwischen, dieses vermindert die Netzwerkbelastung, da nicht ständig auf die Geräte mit einer Datensatzanfrage gepollt werden muss.

1.6.3     Kurze Gegenüberstellung der Befehlsausführung ohne und mit Active-Mode.

DLL ohne Active-Mode

  1. DFCComOpenIV für den Verbindungsaufbau aufrufen
  2. Gewünschten Befehl ausführen. Z.B. DFCGetSeriennummer
  3. DFCComClose für den Verbindungsabbau aufrufen
DLL mit Active-Mode
  1. DFCGetFirstActiveChannelID, DFCGetNextActiveChannelID, DFCGetInfoActiveChannel für die Geräteermittlung aufrufen.
  2. Gewünschten Befehl ausführen. Z. B. DFCGetSeriennummer

1.6.4     Starten Stoppen und Initialisieren des Active-Mode

Über die DLL Funktion DFCStartActiveConnection starten Sie das DLL - Modul für den Active-Mode. Dabei wird von der DLL ein Listen-Socket erstellt, an den die Geräte dann eine Verbindungsanfrage stellen können. Mit DFCStopActiveConnection beenden Sie das DLL - Modul für den Active-Mode, dabei werden alle bestehenden Verbindungen getrennt.

Im Gerät geschieht die Aktivierung / Deaktivierung durch die Systemvariable COM.ACTIVE.

Die im Gerät zu hinterlegenden Verbindungsdaten können über Systemvariablen eingestellt werden. Eine Liste aller benötigten Systemvariablen für den Präfix COM finden Sie im Kapitel 4.7.

Systemvariablen können mit den DLL Funktionen DFCSetGlobVar, DFCGetGlobVar gesetzt bzw. gelesen werden.

Die Systemvariablen für Präfix COM, können über das DatafoxStudioIV eingestellt werden. Bitte beachten Sie den hierfür zuständigen Dialog unter "Kommunikation -> Active-Mode - Konfiguration".

1.6.5     Melden von Datensätzen

Standardmäßig ist das Melden von Datensätzen nach dem Start des Active-Mode durch DFCStartActiveConnection aktiviert und die DLL verarbeitet somit die Meldungen der Geräte. Durch Aufruf der Funktion DFCSetRecordAvailable kann diese Meldungsverarbeitung der DLL aktiviert / deaktiviert werden.

Im Gerät geschieht die Aktivierung / Deaktivierung durch die Systemvariable COM.NOTIFY.

Wenn im Gerät mindestens ein Datensatz abrufbereit ist, wird dieses durch das Gerät der DLL automatisch gemeldet. Die Meldung wird in einer Prioritätswarteschlange der DLL eingereiht und kann über die Funktion DFCRecordAvailable abgerufen werden. Über diesen Funktionsaufruf wird unter anderem die Kanalnummer geliefert und kann zum Abrufen der Datensätze im folgenden Aufruf von DFCReadRecord verwendet werden.

1.6.6     Inbetriebnehmen und Testen

Die Verbindung im Active-Mode sowie Melden von Datensätzen kann über das DatafoxStudioIV geprüft und in Betrieb genommen werden. Hierzu steht ein eigener Kommunikationspunkt unter "Kommunikation -> Einstellungen" zur Verfügung. Bitte beachten Sie, dass Sie bevor eine Kommunikation mit einem Gerät durchgeführt werden kann, ein Aktiver Kanal gewählt werden muss.

 

1.7     Umsetzung des Kommunikationsmoduls für unterschiedliche Betriebssysteme.

1.7.1     Umsetzung für Windows.

Für Windows 32bit Betriebssysteme liegt dem Bundle eine erstellte dynamik link library DFComDLL.dll bei.
Die DLL ist generell auch unter Windows 64bit Betriebssystem einsetzbar, dieses setzt jedoch vorraus, dass die einbindende Anwendung ebenfalls in einer 64bit Konfiguration erstellt wird.

1.7.2     Umsetzung für unixartige Betriebssysteme.

Für unixartige Betriebssysteme liegen dem Bundle die Quelltexte und ein Makefile bei. Das Makefile befindet sich im Projektverzeichnis DatafoxCommIV. Die Übersetzung des Projektes in eine statische oder dynamische Bibliothek kann durch Aufruf des Kommanzozeilentools make erfolgen.
Bitte beachten Sie, dass zur Erstellung eine Projektabhängige Bibliothek 'pthread' verfügbar ist.

1.7.2.1     Erstellen einer statischen und shared Library.

Erstellung von Debug oder Release
Im Makefile ist zu Beginn ein Abschnitt, der darüber entscheidet ob bei der Kompilierung eine Debug oder Release Konfiguration zum Einsatz kommt.
Bitte stellen Sie vor Erstellung sicher, dass die Konfigruation auf den Einsatzzweck passt.

Durch den Aufruf von 'make all' werden folgende Dateien erstellt. Die Pfadangaben beziehen sich auf das Projektverzeichnis DatafoxCommIV.

Durch den Aufruf von 'make clean' werden alle erstellen Dateien gelöscht.

 Allgemeine Hinweise zu Erstellungsproblemen 
Da in Windowssystemen die Groß-Kleinschreibung der Dateinamen eine untergeordnete Rolle spielt, kommt es vor, dass beim Übersetzungsvorgang unter Linux diese nicht gefunden werden.
Bitte prüfen Sie im Fall einer 'angeblich' Fehlenden Datei zuerst ob der geschilderte Fall vorliegt und bennen die Datei richtig.
Zur Ausführung einer Anwendung die eine Shared library verwendet, muss ggf. die Umgebungsvariable LD_LIBRARY_PATH angepasst oder gesetzt werden.
Ob die Quelltexte unter unixartigen Betriebssystemen geprüft wurde, entnehmen Sie bitte der dem Release beiliegenden Softwareversionsliste.

 

1.8     Unterschiede zur Umsetzung des Kommunikationsmoduls für x64 Windows-Betriebssysteme.

Bei dem Import der einzelnen Funktionen ist darauf zu achten, dass sich in der Umsetzung für die x64 Plattform sämtliche Funktionsnamen nach einem einheitlichen Schema abändern.
Die jeweiligen Exportnamen der 32 und 64bit Variante sind bei jeder Funktion in der Dokumentation angegebenen.

Zur Verdeutlichung wird für einen Umstieg von 32bit auf 64bit der Unterschied anhand des Exports der Funktion DFComOpenIV beschrieben.
Exportiert von DFComDLL: _DFCComOpenIV@24
Bei der eigentlichen Deklaration in Ihrer Anwendung muss der vorgesetzte _ und das hinter dem eigentlichen Namen stehende @24 weggelassen werden, somit ergibt sich DFCComOpenIV. Diese Vorgehensweise gilt für jede der enthaltenen Funktionen.
Ggf. können Sie Sich auch den Unterschied mittels Tools wie DependencyWalker anzeigen lassen, indem Sie die 32bit und 64bit Versionen Vergleichen.
Ob die Namensänderungen sich für Sie auswirken, hängt letztlich von der verwendeten Programmiersprache ab.
Die beschriebene Namensänderung ist die einzige zu beachtende Änderung. Das Kommunikationsmodul muss sich so verhalten, wie die Umsetzung für die x86-32 Plattform.

1.9     Verschlüsselung der Kommunikation zwischen dem Kommunikationsmodul und den Geräten.

1.9.1     Aktivieren und Einstellen der Verschlüsselung für das Gerät.

Über die Systemvariable COM.KEY

1.9.2     Aktivieren und Einstellen der Verschlüsselung im Kommunikationsmodul.

Über die Funktion DFCSetCommunicationPassword

1.9.3     Funktionsweise der Verschlüsselung im Kommunikationsmodul.

 

2.0     Exportierte Funktionen

Die nachfolgenden Funktionen werden von der DLL zur Verfügung gestellt.

2.1     Allgemeine Funktionen

Grundlegende Funktionen zum Verbindungsaufbau und Kommunikation sowie loggen des Verbindungsablaufs.

2.1.1.1     DFCComInit ( RS232 / RS 485 )

 Achtung: 
Diese Funktion ist ausschließlich für das AEIII+.
Sie ist aufgrund des verwendeten Timeout's für Modemverbindungen nicht einzusetzen.
Ruft intern die Funktion DFCComOpenSerial auf.
Wird unterstützt ab Firmwareversion:
uneingeschränkt
Deklaration: 
extern "C" __declspec(dllexport)
int __stdcall DFCComInit(int iChannelNum);

Exportiert von DFComDLL: _DFCComInit@4
Exportiert von DFCom_x64: DFCComInit
Parameter: 
int iChannelNum Zu initialisierender Kanal der die Schnittstelle (COM1, COM2, ...), entsprechend seiner Nummer verwendet.
Rückgabewert: 
0 Fehler beim Initialisieren (siehe auch Fehlerbehandlung und Exemplarischer Programmaufbau)
1 Schnittstelle initialisiert
Beschreibung: 
Initialisiert die serielle Schnittstelle ("COM1" - "COM4" oder "/dev/ttyS0" - "/dev/ttyS3") mit:
DFCComOpenSerial(iChannelNum, szCom, 38400, 150). Wobei szCom = "COM1" , usw.. ist.
Die Funktion muss bei Verwendung von RS232 bzw. RS485 erfolgreich aufgerufen werden, bevor mit den Kommunikationsfunktionen gearbeitet werden kann.

Ab der DLL - Version 04.01.00 wurde der Defaulttimeout von 150 auf 800 erhöht.

 

2.1.1.2     DFCComOpenSerial ( RS232 / RS 485 )

 Achtung: 
Diese Funktion ist ausschließlich für das AEIII+.
Wird unterstützt ab Firmwareversion:
uneingeschränkt
Deklaration: 
extern "C" __declspec(dllexport)
int __stdcall DFCComOpenSerial(int iChannelNum, char *szComPort,
int iBaudRate, int iTimeOut);

Exportiert von DFComDLL: _DFCComOpenSerial@16
Exportiert von DFCom_x64: DFCComOpenSerial
Parameter: 
int iChannelNum Zu initialisierender Kanal. Wertebereich: (1 - 250)
char *szComPort Zeichenkette für die Schnittstelle. "COM1" .. "COM4", 
"/dev/ttyS0" .. "/dev/ttyS3"
int iBaudRate Übertragungsrate der Schnittstelle in Baud. (Standard: 38400bd) 
int iTimeOut TimeOut für Lesen von Schnittstelle in Millisekunden. (Standard: 800ms) Bei Modem min. 1500ms empfohlen.
Rückgabewert: 
0 Fehler beim Initialisieren (siehe auch Fehlerbehandlung und Exemplarischer Programmaufbau)
1 Schnittstelle initialisiert
Beschreibung: 
Initialisiert den Kanal für die serielle Schnittstelle (COM1 - COM4).
Die Funktion muss bei Verwendung von RS232 bzw. RS485 erfolgreich aufgerufen werden, bevor mit den Kommunikationsfunktionen gearbeitet werden kann.

 

2.1.1.3     DFCComOpen ( TCP/IP )

 Achtung: 
Diese Funktion ist ausschließlich für das AEIII+.
Nach einem Verbindungsabriss wird keine automatische Neuverbindung durchgeführt. Bitte beachten Sie hierzu die Fehlerbehandlung und unter Exemplarischer Programmaufbau beschriebene Umsetzungslösung.
Ruft intern die Funktion DFCComOpenSocket auf.
Wird unterstützt ab Firmwareversion:
uneingeschränkt
Deklaration: 
extern "C" __declspec(dllexport)
int __stdcall DFCComOpen(int iChannelNum, char *szHost);

Exportiert von DFComDLL: _DFCComOpen@8
Exportiert von DFCom_x64: DFCComOpen
Parameter: 
int iChannelNum Nummer des Kanals. Wertebereich: (1 - 250)
Die Kanalnummer dient dazu die TCP/IP-Verbindung bei weiteren Befehlen zu identifizieren. Wenn auch gleichzeitig RS232-Verbindungen verwendet werden, darf sich die Nummer nicht mit einer verwendeten Com - Nummer überschneiden.

Beispiel: 
In einem Rechner werden COM1: und COM2: verwendet.
Dann sollten für TCP/IPVerbindungen die Nummern 3, 4, 5, ... 10 verwendet werden.
char *szHost IP-Adresse ( z.B. "192.168.123.99") oder Hostname.
Rückgabewert: 
0 Fehler beim Initialisieren (siehe auch Fehlerbehandlung und Exemplarischer Programmaufbau)
1 Schnittstelle initialisiert.
Beschreibung: 
Initialisiert den Kanal für die Socket (TCP / IP) Schnittstelle zum Com - Server. mit:
DFCComOpenSocket(iChannelNum, szHost, 8000, 3000).
Die Funktion muss bei Verwendung von TCP / IP erfolgreich aufgerufen werden, bevor mit den Kommunikationsfunktionen gearbeitet werden kann.

Ab der DLL - Version 04.01.00 wurde der Defaulttimeout von 3000 auf 5000 erhöht.

 

2.1.1.4     DFCComOpenSocket ( TCP/IP )

 Achtung: 
Diese Funktion ist ausschließlich für das AEIII+.
Nach einem Verbindungsabriss wird keine automatische Neuverbindung durchgeführt. Bitte beachten Sie hierzu die Fehlerbehandlung und unter Exemplarischer Programmaufbau beschriebene Umsetzungslösung.
Wird unterstützt ab Firmwareversion:
uneingeschränkt
Deklaration: 
extern "C" __declspec(dllexport)
int __stdcall DFCComOpenSocket(int iChannelNum, char *szRemoteIP,
int iPortNum, int iTimeOut);

Exportiert von DFComDLL: _DFCComOpenSocket@16
Exportiert von DFCom_x64: DFCComOpenSocket
Parameter: 
int iChannelNum Nummer des Kanals. Wertebereich: (1 - 250)
Die Kanalnummer dient dazu die TCP/IP-Verbindung bei weiteren Befehlen zu identifizieren. Wenn auch gleichzeitig RS232-Verbindungen verwendet werden, darf die Nummer nicht mit einer verwendeten Com - Nummer identisch sein.

Beispiel: 
In einem Rechner werden COM1: und COM2: verwendet.
Dann sollten für TCP/IPVerbindungen die Nummern 3, 4, 5, ... 10 verwendet werden.
char *szRemoteIP IP-Adresse in Punktnotation oder Hostname.
int iPortNum Portnummer des COM - Server. W&T-Standard: 8000
int iTimeOut TimeOut für lesen von Schnittstelle in Millisekunden. (Standard: 5000ms)
Rückgabewert: 
0 Fehler beim Initialisieren (siehe auch Fehlerbehandlung und Exemplarischer Programmaufbau)
1 Schnittstelle initialisiert.
Beschreibung: 
Initialisiert den Kanal für die Socket (TCP / IP) Schnittstelle zum Com - Server
Die Funktion muss bei Verwendung von TCP / IP erfolgreich aufgerufen werden, bevor mit den Kommunikationsfunktionen gearbeitet werden kann.

 

2.1.2     DFCComOpenIV ( RS232 / RS 485 / Funk( BIM2 ) / TCP-IP )

 Achtung: 
Diese Funktion ist ausschließlich für die MasterIV-Serie.
Nach einem Verbindungsabriss wird keine automatische Neuverbindung durchgeführt. Bitte beachten Sie hierzu die Fehlerbehandlung und unter Exemplarischer Programmaufbau beschriebene Umsetzungslösung.
Die Funktion initialisiert den Kanal zur Verwendung mit einem Multimaster - Protokoll. Sie können dadurch kein AEIII+ und MasterIV in ein und dem selben RS485 - Netzwerk betreiben, da dass AEIII+ mit einem zum MasterIV nicht kompatiblen Protokoll arbeitet!
Wird unterstützt ab Firmwareversion:
04.00.00
Deklaration: 
extern "C" __declspec(dllexport)
int __stdcall DFCComOpenIV(int iChannelNum, int iBusNum, int iType,
char *szComString, int iComValue, int iComTimeOut);

Exportiert von DFComDLL: _DFCComOpenIV@24
Exportiert von DFCom_x64: DFCComOpenIV
Parameter: 
int iChannelNum Zu initialisierender Kanal. Wertebereich: (1 - 250)
int iBusNum Ab Version 04.02.03 nicht weiter verwendet. Standardwert: 0
int iType Der zu verwendende Schnittstellentyp.
WertBedeutung
1RS232 direkt oder über Umsetzter (RS232 <-> RS485)
3TCP / IP - Verbindung.
4RS232 Autobaud, direkt oder über Umsetzter (RS232 <-> RS485)
char *szComString Je nach Schnittstellentyp:
iTypeBedeutung
1, 4Zeiger auf Zeichenkette für die Schnittstelle.
3Zeiger auf Zeichenkette mit IP - Adresse oder Hostname.
int iComValue Je nach Schnittstellentyp:
iTypeBedeutung
1Übertragungsrate der Schnittstelle. (Standard: 38400bd)
3Portnummer des TCP / IP Anschlusses. (Standard: 8000)
4Zuerst zu prüfende Übertragungsrate, es wird mit folgender Prio versucht (38400, 9600, 19200). (Standard: 38400bd)
int iComTimeOut Je nach Schnittstellentyp:
iTypeBedeutung
1, 4Timeout für Lesen von Schnittstelle in Millisekunden. (Standard: 800ms)
Bei Modem min. 1500ms empfohlen.
3Timeout für Lesen von Socket in Millisekunden. (Standard: 5000ms)
Rückgabewert: 
0 Fehler beim Initialisieren (siehe auch Fehlerbehandlung und Exemplarischer Programmaufbau)
1 Schnittstelle initialisiert.
Beschreibung: 
Initialisiert den Kanal. Je nach angegebenem Typ wird ein anderes Initialisierungsverfahren verwendet um die entsprechend nachfolgenden Funktionsaufrufe der exportierten Funktionen richtig umzusetzen.
Die Funktion muss aufgerufen werden, bevor mit den Kommunikationsfunktionen gearbeitet werden kann.

Achtung: Nach einem Verbindungsabriss (TCP / IP) wird keine automatische Neuverbindung durchgeführt. Bitte beachten Sie hierzu die Fehlerbehandlung und unter Exemplarischer Programmaufbau beschriebene Umsetzungslösung. 

 

2.1.3     DFCComClose

Wird unterstützt ab Firmwareversion:
uneingeschränkt
Deklaration:
extern "C" __declspec(dllexport)
void __stdcall DFCComClose(int iChannelNum);

Exportiert von DFComDLL: _DFCComClose@4
Exportiert von DFCom_x64: DFCComClose
Parameter: 
int iChannelNum Zu schließender Kanal. Wertebereich: (1 - 250; Active-Mode auch: 251 - 350)
Rückgabewert: 
keiner (siehe auch Fehlerbehandlung und Exemplarischer Programmaufbau)
Beschreibung: 
Schließt den Kanal der seriellen Schnittstelle bzw. der TCP / IP - Verbindung.

 

2.1.4.1     DFCCheckAE

Ruft intern die Funktion DFCCheckDevice auf.
Wird unterstützt ab Firmwareversion:
uneingeschränkt
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCCheckAE(int iChannelNum, int iBusNum);

Exportiert von DFComDLL: _DFCCheckAE@8
Exportiert von DFCom_x64: DFCCheckAE
Parameter: 
int iChannelNum Der zu verwendende Kanal. Wertebereich: (1 - 350)
int iBusNum Die zu verwendende Busnummer. Wertebereich: (1 - 250, 254)
Rückgabewert: 
0 Fehler bei Durchführung. Es ist kein Gerät mit dieser Busnummer erreichbar.
(siehe auch Fehlerbehandlung und Exemplarischer Programmaufbau)
1 Die angegebene Busnummer ist erreichbar. 
Beschreibung:
Prüfen ob Gerät am Bus angeschlossen ist. Diese Funktion verwendet die DFCCheckDevice - Funktion.

 

2.1.4.2     DFCCheckDevice

Wird unterstützt ab Firmwareversion:
uneingeschränkt
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCCheckDevice(int iChannelNum, int iBusNum,
int *piError, int iDevicePollRetry);

Exportiert von DFComDLL: _DFCCheckDevice@16
Exportiert von DFCom_x64: DFCCheckDevice
Parameter: 
int iChannelNum Der zu verwendende Kanal. Wertebereich: (1 - 350)
int iBusNum Die zu verwendende Busnummer. Wertebereich: (1 - 250, 254)
int *piError Error erhält eine Fehlernummer nach Tabelle 1.3.3.
int iDevicePollRetry Wiederholungen zur Erreichbarkeit.
Rückgabewert: 
0 Fehler bei Durchführung. Es ist kein Gerät mit dieser Busnummer erreichbar, dabei behält der Fehlercode seinen zuvor übergebenen Wert.
(siehe auch Fehlerbehandlung und Exemplarischer Programmaufbau)
1 Die angegebene Busnummer ist erreichbar. 
Beschreibung:
Prüfen ob Gerät am Bus angeschlossen ist.

 

2.1.5     DFCComSetTime

Wird unterstützt ab Firmwareversion:
uneingeschränkt
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCComSetTime(int iChannelNum, int iBusNum,
unsigned char *pucDateTime);

Exportiert von DFComDLL: _DFCComSetTime@12
Exportiert von DFCom_x64: DFCComSetTime
Parameter:
int iChannelNum Der zu verwendende Kanal. Wertebereich: (1 - 350)
int iBusNum Die zu verwendende Busnummer. Wertebereich: (1 - 250, 254)
unsigned char *pucDateTime Zeiger auf das Datum - Uhrzeit - Feld von 7 Byte. Für den genauen Aufbau siehe: Datum und Uhrzeit im ByteArray
Verwenden Sie eine DLL mit Versionsnummer größer 2.0.7 können Sie  hier NULL (Wert: 0) übergeben, wodurch die Routine das aktuelle Systemdatum und die aktuelle Systemzeit verwendet.
Rückgabewert: 
0 Fehler beim setzen der Uhrzeit.
1 Uhrzeit erfolgreich eingestellt.
Beschreibung: 
Stellt das Datum und die Uhrzeit des Gerätes.
 Beispiel:
27.02.1981 15:30:13
0 Jahreszahl Hunderter (0..255) 19
1 Jahreszahl Einer (0..99) 81
2 Monat (0..12) 2
3 Tag (1..31) 27
4 Stunde (0..23) 15
5 Minute (0..59) 30
6 Sekunde (0..59) 13
// Die Schnittstelle zum Gerät muss natürlich geöffnet
// worden sein.
unsigned char Buffer[7];

Buffer[0] = 20;
Buffer[1] = 12;
Buffer[2] = 4;
Buffer[3] = 6; // 06.04.2012 Datum
Buffer[4] = 4;
Buffer[5] = 12;
Buffer[6] = 0; // 04:12:00 Uhrzeit

// Auf Fehler wird hier nicht geprüft !!! (siehe Rückgabewert)
// Senden des DatumUhrzeit - Array
// über Kanal 1 an Gerät mit Busnummer 2
DFCComSetTime(1, 2, Buffer);

 

2.1.6     DFCComGetTime

Wird unterstützt ab Firmwareversion:
uneingeschränkt
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCComGetTime(int iChannelNum, int iBusNum,
unsigned char *pucDateTime);

Exportiert von DFComDLL: _DFCComGetTime@12
Exportiert von DFCom_x64: DFCComGetTime
Parameter: 
int iChannelNum  Der zu verwendende Kanal. Wertebereich: (1 - 350)
int iBusNum Die zu verwendende Busnummer. Wertebereich: (1 - 250, 254)
unsigned char *pucDateTime Zeiger auf ein Feld von min. 7 Byte, in das Datum und Uhrzeit geschrieben wird. Für den genauen Aufbau siehe: Datum und Uhrzeit im ByteArray
Rückgabewert: 
0 Fehler beim lesen der Uhrzeit.
1 Uhrzeit erfolgreich gelesen und in Feld "Time" abgelegt.
Beschreibung: 
Liest Datum und Uhrzeit des Geräts.
Beispiel:
06.04.2012 04:12:00
0 Jahreszahl Hunderter (0..255) 20
1 Jahreszahl Einer (0..99) 12
2 Monat (0..12) 4
3 Tag (1..31)  6
4 Stunde (0..23) 4
5 Minute (0..59) 12
6 Sekunde (0..59) 0
// Die Schnittstelle zum Gerät muss natürlich geöffnet
// worden sein.
unsigned char Buffer[7];

// Aktuelles Datum und Uhrzeit über Kanal 1 von Gerät
// mit Busnummer 2 ermitteln.
// Auf Fehler wird hier nicht geprüft !!! (siehe Rückgabewert)
DFCComGetTime(1, 2, Buffer);

// Daten ausgeben. 
printf("Jahr: %02d%02d\n", Buffer[0], Buffer[1]);
printf("Monat: %02d\n",    Buffer[2]);
printf("Tag: %02d\n",      Buffer[3]);
printf("Stunde: %02d\n",   Buffer[4]);
printf("Minute: %02d\n",   Buffer[5]);
printf("Sekunde: %02d\n",  Buffer[6]); 

Ausgabe: 
Jahr: 2012
Monat: 04
Tag: 06
Stunde: 04
Minute: 12
Sekunde: 00

 

2.1.7     DFCComSendMessage

 Achtung: 
Nachfolgend der Eintrag zu "Freigabe: 12.11.04, Firmwareversion 04.00.22 aus dem Dokument PZE-MasterIV, SoftwareVersionen Stand 2004-12-02.pdf"
  • Die SendMessage-Funktion wurde beim Online-Betrieb überarbeitet. Nach dem "online" abholen vom Server wird auf eine Message vom Server gewartet. Falls keine Message geschickt werden soll, muß man eine Dummy-Nachricht mit der Anzeigedauer von 0 Sekunden schicken, sonst bekommt der Benutzer am Terminal eine Fehlermeldung. SendMessage ist für Online-Betrieb erst mit dieser Version freigegeben.
Wird unterstützt ab Firmwareversion:
uneingeschränkt
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCComSendMessage(int iChannelNum, int iBusNum,
unsigned char ucDelayTime, unsigned char ucAction,
unsigned char ucAudio, char *szMessage, int iLength);

Exportiert von DFComDLL: _DFCComSendMessage@28
Exportiert von DFCom_x64: DFCComSendMessage
Parameter:
int iChannelNum Der zu verwendende Kanal. Wertebereich: (1 - 350)
int iBusNum  Die zu verwendende Busnummer. Wertebereich: (1 - 250, 254)
unsigned char ucDelayTime Dauer in Sekunden, während der die Meldung angezeigt werden soll. Beim AEIII+ kann durch Übergabe von 255 die Nachricht so lange angezeigt werden bis ein Bediener diese durch Enter oder ESC bestätigt.
AEIII+ Bereich (1 - 255)
AEIV Bereich (0 - 254)
unsigned char ucAction
WertBedeutung
0normal weiter
unsigned char ucAudio
SymbolBedeutung
+50ms Ton an
-50ms Ton aus
WertTonfolge
0
-                 Off
1
++++++++          Ok
2
+++++-----+++++   Error
3
+++++
4
++--+++++
5
++--++
6
+++++--+++++
7
++--++--++
8
+++++--+++++--+++++
9
++--+++++--++
10
+++++--++--+++++
char *szMessage Zeiger auf die darzustellende Zeichenkette. 
int iLength Zeichenlänge der Meldung. Maximal 242. 
(PZE-MasterIV, siehe Beschreibung)
Rückgabewert: 
0 Fehler beim Senden.
1 Meldung erfolgreich gesendet.
Beschreibung: 
Sendet eine Meldung an das Gerät mit der angegebenen Busnummer. Die Meldung kann zur optischen Quittierung der eingegebenen Benutzerdaten im Onlinebetrieb verwendet werden. Da die Meldung sich in die Bedienung des Gerätes integriert, steht sie maximal bis zur nächsten Eingabe zur Verfügung.

Nur AEIII+
Das AEIII+ kann pro Zeile maximal 19 Zeichen darstellen, das zwanzigste ist für die Laufleiste reserviert. Bitte beachten Sie, daß Sonderzeichen sowie Umlaute durch den vorgegebenen Displayzeichensatz nicht richtig dargestellt werden können.
Wenn Sie einen Zeilenumbruch erreichen möchten, füllen Sie die Anzeigezeile mit Leerzeichen auf 19 Zeichen auf, dadurch erfolgt ein automatischer Umbruch auf die nächste Zeile. Die Anzeige der Nachricht während sich das Gerät in einer Eingabekette befindet ist erst ab der Firmware mit Majorversion >= 2 möglich.

Nur MasterIV
Zeilenumbrüche müssen mit dem Zeichen (Dec. 13) eingefügt werden. 
Beim MasterIV ist durch den proportionalen Zeichensatz die Anzahl der Zeichen pro Zeile vom Zeileninhalt abhängig und die Zeile wird bei Randüberschreitung abgeschnitten.  

 

Die gesendete Zeichenfolge unterliegt folgender Aufteilung:

Kopfzeile 3\rKopfzeile 4\rBoxenüberschrift\rBoxenzeile 1\rBoxenzeile 2 usw...

\r muß hierbei durch ein Zeilenumbruch (Dec. 13) ersetzt werden. Wenn Sie keine Kopfzeilen wünschen, dann müßen Sie für jede Kopfzeile ein Leerzeichen mit folgendem Zeilenumbruch einfügen, damit die Aufteilung nach obigem Schema erfolgen kann. Das anzeigen von mehr als fünf Boxzeilen wird in der Fimrwareversion 04.00.22 noch nicht unterstützt, auch darf in der Box die Gesamtanzahl der Zeichen 128 (inklusive Nullterminierung) nicht überschreiten.

Beispiel:
char *Buffer = "HALLO DIES IST EIN TEST !";

DFCComSendMessage(1, 254, 255, 0, 2, Buffer, 26);

 

2.1.8     DFCComSendInfotext

Wird unterstützt ab Firmwareversion:
02.02.00, 03.01.00, BDE.04.01.02, MDE.04.01.02
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCComSendInfotext(int iChannelNum, int iBusNum,
char *szMessage, int iLength);

Exportiert von DFComDLL: _DFCComSendInfotext@16
Exportiert von DFCom_x64: DFCComSendInfotext
Parameter: 
int iChannelNum Der zu verwendende Kanal. Wertebereich: (1 - 350)
int iBusNum Die zu verwendende Busnummer. Wertebereich: (1 - 250, 254)
char *szMessage Zeiger auf die darzustellende Zeichenkette.
int iLength Zeichenlänge der Meldung. Maximal 242.
Rückgabewert:
0 Fehler beim Senden.
1 Meldung erfolgreich gesendet.
Beschreibung:
Sendet einen Infotext an das Gerät mit der angegebenen Busnummer. Der Infotext wird im Speicher des Geräts gehalten und steht so zur ständigen Verfügbarkeit. 
Er kann über die linke Pfeiltaste aus dem Hauptmenü heraus erreicht werden. 

Im PZE - Modus ist durch die Fixierung der Eingabe auf die ersten Einträge im Hauptmenü (F1 / F2), das Erreichen des Infobildschirms versperrt. Im PZE - Betrieb ist das Infobild deswegen nicht allzu sinnvoll anzuwenden.

Das AEIII+ kann pro Zeile maximal 19 Zeichen darstellen, das zwanzigste ist für die Laufleiste reserviert. Bitte beachten Sie, daß Sonderzeichen sowie Umlaute durch den vorgegebenen Displayzeichensatz nicht richtig dargestellt werden können.
Wenn Sie einen Zeilenumbruch erreichen möchten, füllen Sie die Anzeigezeile mit Leerzeichen auf 19 Zeichen auf, dadurch erfolgt ein automatischer Umbruch auf die nächste Zeile.
Beispiel:
char *Buffer = "HALLO DIES IST EIN TEST !";

DFCComSendInfotext(1, 254, Buffer, 26);

 

2.1.9     DFCGetSeriennummer

Wird unterstützt ab Firmwareversion:
02.02.00, 03.01.00, 04.00.00
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCGetSeriennummer(int iChannelNum, int iBusNum,
int *piError, int *piSerialNum); 

Exportiert von DFComDLL: _DFCGetSeriennummer@16
Exportiert von DFCom_x64: DFCGetSeriennummer
Parameter:
int iChannelNum Der zu verwendende Kanal. Wertebereich: (1 - 350)
int iBusNum Die zu verwendende Busnummer. Wertebereich: (1 - 250, 254)
int *piError Error erhält eine Fehlernummer nach Tabelle 1.3.3.
int *piSerialNum Zeiger auf Variable welche die Seriennummer erhält.
Rückgabewert: 
0 Fehler bei Durchführung.
1 Erfolgreich durchgeführt.
Beschreibung: 
Liest die Seriennummer des angesprochenen Gerätes.

 

2.1.10.1     DFCLogOn

 Nicht weiter in Verwendung. 

Wird unterstützt ab Firmwareversion:
uneingeschränkt
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCLogOn(char *szFileName);

Exportiert von DFComDLL: _DFCLogOn@4
Exportiert von DFCom_x64: DFCLogOn
Parameter: 
char* szFileName Zeichenkette mit Dateinamen der Log-Datei (inklusive Pfad).
Rückgabewert: 
0 Funktion nicht implementiert.
Beschreibung: 
Die Implementierung wurde entfernt!!! Bitte auf DFCSetLogOn umsetzen.

 

2.1.10.2     DFCSetLogOn

Wird unterstützt ab Firmwareversion:
uneingeschränkt
Deklaration:
extern "C" __declspec(dllexport)
void __stdcall DFCSetLogOn(int iChannelNum);

Exportiert von DFComDLL: _DFCSetLogOn@4
Exportiert von DFCom_x64: DFCSetLogOn
Parameter: 
int iChannelNum Der zu verwendende Kanal. Wertebereich: (1 - 250)
Rückgabewert: 
keiner
Beschreibung: 
Log-Funktion wird eingeschaltet und Log-Datei wird geöffnet.
Alle aus dem Gerät gelesenen Daten werden binär abgespeichert. Vor den Datenbyte wird ein Byte mit der Anzahl der Datenbyte abgespeichert. Dieses Byte wird nicht mitgezählt.

Beispiel:
Ein Datensatz enthält 20 Byte. 
Das vorangestellte Byte hat den Wert 20.
Die Gesamtzahl der gespeicherten Byte für diesen Datensatz incl. Längenbyte ist 21.

Zuvor müssen Sie mit DFCSetLogFileName den Name der Datei bekannt geben.

 

2.1.11.1     DFCLogOff

 Nicht weiter in Verwendung. 

Wird unterstützt ab Firmwareversion:
uneingeschränkt
Deklaration:
extern "C" __declspec(dllexport)
void __stdcall DFCLogOff(void);

Exportiert von DFComDLL: _DFCLogOff@0
Exportiert von DFCom_x64: DFCLogOff
Parameter: 
keine  
Rückgabewert: 
keiner  
Beschreibung: 
Implementierung wurde entfernt!!! Bitte auf DFCSetLogOff umstellen.

 

2.1.11.2     DFCSetLogOff

Wird unterstützt ab Firmwareversion:
uneingeschränkt
Deklaration:
extern "C" __declspec(dllexport)
void __stdcall DFCSetLogOff(int iChannelNum);

Exportiert von DFComDLL: _DFCSetLogOff@4
Exportiert von DFCom_x64: DFCSetLogOff
Parameter: 
int iChannelNum Der zu verwendende Kanal. Wertebereich: (1 - 250)
Rückgabewert: 
keiner  
Beschreibung: 
Log - Funktion wird für angegebenen Kanal abgeschaltet.

 

2.1.12     DFCSetCallBack

Wird unterstützt ab Firmwareversion:
uneingeschränkt
Deklaration:
extern "C" __declspec(dllexport)
void __stdcall DFCSetCallBack(int iChannelNum, int (*CBFunction)());

Exportiert von DFComDLL: _DFCSetCallBack@8
Exportiert von DFCom_x64: DFCSetCallBack
Parameter: 
int iChannelNum Der zu verwendende Kanal. Wertebereich: (1 - 250)
int (*CBFunction)() Zeiger auf die aufzurufende Funktion.
RückgabewertBedeutung
0Die Befehlsausführung wird abgebrochen.
1Der Befehl wird weiter abgearbeitet.
Rückgabewert: 
Keiner  
Beschreibung: 
Unter Zuhilfenahme einer CallBack-Funktion besteht die Möglichkeit eine Fortschrittsanzeige zu realisieren. Die mit dieser Funktion an die DLL übergebene CallBack-Funktion, wird bei der Übertragung größerer Datenblöcke zyklisch aufgerufen. Über den zurückgegebenen Wert, kann eine z.B. die Übertragung einer Setupdatei oder Gerätedatei (Firmware) abgebrochen werden.
Der Aufruf dieser Funktion gibt jedoch keinen Aufschluss über die zu übertragende Datenmenge um mit Prozenten zu rechnen.

 

2.1.13     DFCSetLogFileName

Wird unterstützt ab Firmwareversion:
uneingeschränkt
Deklaration:
extern "C" __declspec(dllexport)
void __stdcall DFCSetLogFileName(int iChannelNum,
const unsigned char *szLogFileName);

Exportiert von DFComDLL: _DFCSetLogFileName@8
Exportiert von DFCom_x64: DFCSetLogFileName
Parameter: 
int iChannelNum Der zu verwendende Kanal. Wertebereich: (1 - 250)
const unsigned char *szLogFileName Datei die zum Loggen verwendet werden soll.
Rückgabewert: 
keiner  
Beschreibung: 
Setzt die Datei für die Loggfunktionen im jeweiligen Kanal.

 

2.1.14     DFCGetErrorText

Wird unterstützt ab Firmwareversion:
uneingeschränkt
Deklaration:
extern "C" __declspec(dllexport)
void __stdcall DFCGetErrorText(int iChannelNum, int iError,
int iLanguage, char *szText, int iLength);

Exportiert von DFComDLL: _DFCGetErrorText@20
Exportiert von DFCom_x64: DFCGetErrorText
Parameter: 
int iChannelNum Der zu verwendende Kanal. Wertebereich: (1 - 350)
int iError Fehlercode der durch Parameter von den meisten anderen zurückgegeben wird.
int iLanguage noch nicht verwendet. Alles Deutsch
char *szText Zeiger auf die verwendbar Zeichenkette.
int iLength Länge des Reservierten Speichers auf die Zeichenkette.
Rückgabewert: 
keiner  
Beschreibung: 
Löst die von den verschiedenen Funktionen zurückgegebene Fehlernummer nach Tabelle 1.3.3 auf.

 

2.1.15     DFCSetGlobVar

Wird unterstützt ab Firmwareversion:
02.02.20, 03.01.00, 04.00.00
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCSetGlobVar(int iChannelNum, int iBusNum,
unsigned char *pucVar, int iType, unsigned char *pucValue, int *piError);

Exportiert von DFComDLL: _DFCSetGlobVar@24
Exportiert von DFCom_x64: DFCSetGlobVar
Parameter:
int iChannelNum Der zu verwendende Kanal. Wertebereich: (1 - 350)
int iBusNum Die zu verwendende Busnummer. Wertebereich: (1 - 250, 254)
unsigned char *pucVar Name oder Nummer der Variablen.
int iType
WertBedeutung
0pucVar zeigt auf Byte welches die Variablennummer darstellt. Der gültige Bereich liegt zwischen 1 - 8. Im AESetup auf der Seite für die Globalen Variablen entspricht dies der Anordnung von oben links nach unten links 1 - 4 und auf der rechten Seite entsprechend 5 - 8.
1pucVar zeigt auf terminierte Zeichenfolge die den Namen darstellt. Zwischen Groß- und Kleinschreibung wird unterschieden und er kann maximal 16 ASCII - Zeichen umfassen.
2pucVar zeigt auf terminierte Zeichenfolge die den Namen einer Systemvariable darstellt. z. B. "_MODEM_MC35i.PHONE". Siehe auch Kapitel Systemvariablen
unsigned char *pucValue Zeigt auf terminierte Zeichenfolge die den Wert darstellt. Bei der unterstützenden FW mit Majornummer 2, sind maximal 20 ASCII - Zeichen möglich. Bei der unterstützenden FW mit Majornummer 3, sind maximal 60 ASCII - Zeichen möglich.
int *piError Error erhält eine Fehlernummer nach Tabelle 1.3.3.
Rückgabewert:
0 Fehler bei Durchführung.
1 Erfolgreich durchgeführt.
Beschreibung:
Setzen des Wertes einer Globalen Variablen.

 

2.1.16     DFCGetGlobVar

Wird unterstützt ab Firmwareversion:
02.02.20, 03.01.00, 04.00.00
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCGetGlobVar(int iChannelNum, int iBusNum,
unsigned char *pucVar, int iType, unsigned char *pucValue,
int iValueLength, int *piError);

Exportiert von DFComDLL: _DFCGetGlobVar@28
Exportiert von DFCom_x64: DFCGetGlobVar
Parameter:
int iChannelNum Der zu verwendende Kanal. Wertebereich: (1 - 350)
int iBusNum Die zu verwendende Busnummer. Wertebereich: (1 - 250, 254)
unsigned char *pucVar Name oder Nummer der Variablen.
int iType
WertBedeutung
0pucVar zeigt auf Byte welches die Variablennummer darstellt. Der gültige Bereich liegt zwischen 1 - 8. Im AESetup auf der Seite für die Globalen Variablen entspricht dies der Anordnung von oben links nach unten links 1 - 4 und auf der rechten Seite entsprechend 5 - 8.
1pucVar zeigt auf terminierte Zeichenfolge die den Namen darstellt. Zwischen Groß- und Kleinschreibung wird unterschieden und er kann maximal 16 ASCII - Zeichen umfassen.
2pucVar zeigt auf terminierte Zeichenfolge die den Namen einer Systemvariable darstellt. z. B. "_MODEM_MC35i.PHONE". Siehe auch Kapitel Systemvariablen
unsigned char *pucValue Wenn die Ausführung erfolgreich war, enthält der Buffer auf den dieser Zeiger zeigt die ermittelte Zeichenfolge für den Wert der Variablen. Bei der unterstützenden FW mit Majornummer 2, sind maximal 20 ASCII - Zeichen möglich. Bei der unterstützenden FW mit Majornummer 3, sind maximal 60 ASCII - Zeichen möglich.
int iValueLength Länge des reservierten Speicherbereiches auf den mit pucValue verwiesen wird. Bitte beachten Sie das die NULL - Terminierung in den Wert mit einfliest. d.h. Wenn Sie eine Längenangabe von 1 machen, bekommen Sie eine Leere Zeichenfolge zurückgeliefert, da kein ausreichender Bufferbereich für die Daten reserviert wurde.
int *piError Error erhält eine Fehlernummer nach Tabelle 1.3.3.
Rückgabewert:
0 Fehler bei Durchführung.
1 Erfolgreich durchgeführt.
Beschreibung:
Lesen des Wertes einer Globalen Variablen.

 

2.1.17     DFCCloseRelay

Wird unterstützt ab Firmwareversion:
02.02.20, 03.01.00, 04.00.00
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCCloseRelay(int iChannelNum, int iBusNum, int iNum,
int iTime, int *piError); 

Exportiert von DFComDLL: _DFCCloseRelay@20
Exportiert von DFCom_x64: DFCCloseRelay
Parameter:
int iChannelNum Der zu verwendende Kanal. Wertebereich: (1 - 350)
int iBusNum Die zu verwendende Busnummer. Wertebereich: (1 - 250, 254)
int iNum Nummer des anzusprechenden Relais. Mit der Nummer "0" wird der interne Open - Collector - Ausgang geschaltet. Der Bereich "1 - 8" ist für die jeweils 4 (42V) und 4(230V) Relais des IO - Module.
int iTime Zeitangabe in Sekunden, für die der Ausgang, (das Relais), geschaltet werden soll. (1 .. 65535)
int *piError Error erhält eine Fehlernummer nach Tabelle 1.3.3.
Rückgabewert: 
0 Fehler bei Durchführung.
1 Erfolgreich durchgeführt.
Beschreibung:
Schließen eines Ausgangs oder Relais für eine bestimmbare Zeit.

 

2.1.18     DFCGetRelayState

Wird unterstützt ab Firmwareversion:
02.02.20, 03.01.00, 04.00.00
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCGetRelayState(int iChannelNum, int iBusNum, int iNum,
int *piState, int *piTime, int *piError);

Exportiert von DFComDLL: _DFCGetRelayState@24
Exportiert von DFCom_x64: DFCGetRelayState
Parameter:
int iChannelNum Der zu verwendende Kanal. Wertebereich: (1 - 350)
int iBusNum Die zu verwendende Busnummer. Wertebereich: (1 - 250, 254)
int iNum Nummer des anzusprechenden Relais. Mit der Nummer "0" wird der interne Open - Collector - Ausgang geschaltet. Der Bereich "1 - 8" ist für die jeweils 4 (42V) und 4(230V) Relais des IO - Module.
int *piState Erhält den aktuellen Relaiszustand. "1" steht für geschlossen.
int *piTime Erhält die verbleibende Zeitangabe in Sekunden, für die der Ausgang, (das Relais), noch geschaltet werden soll.
int *piError Error erhält eine Fehlernummer nach Tabelle 1.3.3.
Rückgabewert: 
0 Fehler bei Durchführung.
1 Erfolgreich durchgeführt.
Beschreibung:
Lesen des aktuellen Zustandes eines Ausgangs oder Relais.

 

2.1.19     DFCOpenRelay

Wird unterstützt ab Firmwareversion:
02.02.20, 03.01.00, 04.00.00
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCOpenRelay(int iChannelNum, int iBusNum, int iNum,
int *piError);

Exportiert von DFComDLL: _DFCOpenRelay@16
Exportiert von DFCom_x64: DFCOpenRelay
Parameter:
int iChannelNum Der zu verwendende Kanal. Wertebereich: (1 - 350)
int iBusNum Die zu verwendende Busnummer. Wertebereich: (1 - 250, 254)
int iNum Nummer des anzusprechenden Relais. Mit der Nummer "0" wird der interne Open - Collector - Ausgang geschaltet. Der Bereich "1 - 8" ist für die jeweils 4 (42V) und 4(230V) Relais des IO - Module.
int *piError Error erhält eine Fehlernummer nach Tabelle 1.3.3.
Rückgabewert: 
0 Fehler bei Durchführung.
1 Erfolgreich durchgeführt.
Beschreibung:
Öffnen eines Ausgangs oder Relais.

 

2.1.20     DFCGetDevicePollRetry

Wird unterstützt ab Firmwareversion:
uneingeschränkt
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCGetDevicePollRetry(int iChannelNum);

Exportiert von DFComDLL: _DFCGetDevicePollRetry@4
Exportiert von DFCom_x64: DFCGetDevicePollRetry
Parameter: 
int iChannelNum Der zu verwendende Kanal. Wertebereich: (1 - 250)
Rückgabewert: 
Anzahl Benötigte Anzahl Versuche für DFCCheckDevice - Vorgabe.
Beschreibung:
Bei der Funktion DFCCheckDevice wird ein Parameter übergeben, welcher die mögliche Anzahl der Versuche angibt. Diese Funktion liefert die Anzahl der benötigten Anfragen, bis die Funktion -erfolgreich- zurückmelden konnte, zurück.

 

2.1.21     DFCGetComPort

Wird unterstützt ab Firmwareversion:
uneingeschränkt
Deklaration:
extern "C" __declspec(dllexport)
HANDLE __stdcall DFCGetComPort(int iChannelNum);

Exportiert von DFComDLL: _DFCGetComPort@4
Exportiert von DFCom_x64: DFCGetComPort
Parameter: 
int iChannelNum Der zu verwendende Kanal. Wertebereich: (1 - 250)
Rückgabewert: 
Handle Schnittstellenhandle (seriell) oder Socket der letzten Kanalinitialisierung. Der Wert ist (-1 = INVALID_HANDLE_VALUE / INVALID_SOCKET), wenn die Rückgabe scheitert. 
Der Typ HANDLE ist in C gleich einem Zeiger auf void.
Beschreibung:
Verwendung dieser Funktion ist nur bei einem direkten Zugriff auf die Schnittstelle nötig. Dieses kann bei einer Modeminitialisierung der Fall sein, wobei die Verbindungsstrecke zuerst aufgebaut werden muss und danach die anderen Funktionen der DLL wie bisher verwendet werden können. 
Bitte beachten Sie: 
Die DLL schließt durch DFCComClose keine zuvor geöffnete Modemverbindung durch AT-Befehle.
Der zurückgelieferte HANDLE ist nur für die zuvor geöffnete Schnittstelle und während dessen Bestehen als gültig zu betrachten.

 

2.1.22     DFCSetComPort

Wird unterstützt ab Firmwareversion:
uneingeschränkt
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCSetComPort(int iChannelNum, HANDLE hComPort,
int iType, int iComValue, int iTimeOut);

Exportiert von DFComDLL: _DFCSetComPort@20
Exportiert von DFCom_x64: DFCSetComPort
Parameter: 
int iChannelNum Der zu verwendende Kanal. Wertebereich: (1 - 250)
HANDLE hComPort Schnittstellenhandle (seriell) oder Socket der gesetzt werden soll.
Der Typ HANDLE ist in C gleich einem Zeiger auf void.
int iType Der Wert gibt an, welche Schnittstellenart vorliegt:
WertBedeutung
0DFCComOpenSerial, DFComInit
1DFCComOpenSocket, DFCComOpen
2DFCComOpenIV für serielle Verbindung.
3DFCComOpenIV für TCP/IP Verbindung.
int iComValue Bei seriellen Verbindungen gibt dieser Parameter die Baudrate an (Standard: 38400bd) und bei TCP/IP die Portnummer (Standard: 8000).
int iTimeOut Dieser Parameter gibt den zu verwendenden Schnittstellentimeout in Millisekunden an. Bei serieller Verbindung ist Standardmäßig 150ms einzustellen, bei TCP/IP Standardmäßig 3000ms.
Rückgabewert: 
0 Fehler bei Durchführung.
1 Erfolgreich durchgeführt.
Beschreibung:
Die Verwendung dieser Funktion ist in äußerst wenigen Fällen nötig, z.B. zum Einstellen eines anderen Schnittstellentimeouts, während die Schnittstelle bereits geöffnet ist oder um der DLL einen zuvor anderweitig genutzten Handle zu übergeben. 

 

2.1.23     DFCWrite

 Achtung: 
Die Funktion sollte nur für Sonderfälle wie Modeminitialisierung verwendet werden! Durch unsachgemäßen Gebrauch, können Störungen in der Kommunikation auftreten.
Wird unterstützt ab Firmwareversion:
uneingeschränkt
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCWrite(int iChannelNum, char *pBuf, int iLength,
int *piWriteLength, int *piError);

Exportiert von DFComDLL: _DFCWrite@20
Exportiert von DFCom_x64: DFCWrite
Parameter: 
int iChannelNum Der zu verwendende Kanal. Wertebereich: (1 - 250)
char *pBuf Zeiger auf die zu versendenden Zeichen.
int iLength Anzahl der zu versendenden Zeichen.
int *piWriteLength (Rückgabe) Anzahl der wirklich gesendeten Zeichen.
int *piError Error erhält eine Fehlernummer nach Tabelle 1.3.3.
Rückgabewert: 
0 Fehler bei Durchführung.
1 Erfolgreich durchgeführt.
Beschreibung:
Schreibt, je nach verwendeter Schnittstelle, die übergebenen Daten in den Kanal.

 

2.1.24     DFCRead

 Achtung: 
Die Funktion sollte nur für Sonderfälle wie Modeminitialisierung verwendet werden! Durch unsachgemäßen Gebrauch, können Störungen in der Kommunikation auftreten.
Wird unterstützt ab Firmwareversion:
uneingeschränkt
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCRead(int iChannelNum, char *pBuf, int iLength,
int *piReadLength, int *piError);

Exportiert von DFComDLL: _DFCRead@20
Exportiert von DFCom_x64: DFCRead
Parameter: 
int iChannelNum Der zu verwendende Kanal. Wertebereich: (1 - 250)
char *pBuf Zeiger auf Zeichenpuffer für die zu empfangenden Zeichen.
int iLength Anzahl der zu lesenden Zeichen. (größe Zeichenpuffer)
int *piReadLength (Rückgabe) Anzahl der wirklich gelesenen Zeichen.
int *piError Error erhält eine Fehlernummer nach Tabelle 1.3.3.
Rückgabewert: 
0 Fehler bei Durchführung.
1 Erfolgreich durchgeführt.
Beschreibung:
Liest, je nach verwendeter Schnittstelle, die anliegenden Daten aus dem Kanal.
Hinweis:
 

Es ist wichtig, nicht nur den Rückgabeparameter auf seinen Wert zu überprüfen. Ob ein Fehler vorlag ist nur in Verbindung mit dem zurückgelieferten Error-Code möglich. Handelt es sich um eine serielle Verbindung und es waren keine Daten zum lesen verfügbar wird von der Funktion ein Returnwert von 1 zurückgegeben. Bei einer TCP/IP Verbindung wird allerdings ein Returnwert von 0 zurückgeliefert, wenn es keine Daten zu lesen gab. Es empfiehlt sich für eine Fehlerbehandlung dieser Funktion grundsätzlich den Errorcode zu verwenden (ist dieser 0 lag ein Fehler vor). 

Verbindung Returnwert ReadLength Error Status  Beschreibung
seriell =1 =0 =0 Ok es wurde erfolgreich gelesen, die Anzahl der gelesenen Zeichen war jedoch 0
seriell =1 >0 =0 OK es wurde erfolgreich gelesen, die Anzahl der gelesenen Zeichen war >=1
TCP/IP =0 =0 =0 Ok es wurde erfolgreich gelesen, die Anzahl der gelesenen Zeichen war jedoch 0
TCP/IP =1 >0 =0 Ok es wurde erfolgreich gelesen, die Anzahl der gelesenen Zeichen war >=1
seriell
TCP/IP
=0 >=0 0 Error es wurde nicht erfolgreich gelesen, in ReadLength steht die Anzahl und in Buf die Zeichen die bis zum Auftreten des Fehlers gelesen  werden konnten.

!! Wichtig: Die entsprechenden Funktionen der DLL für den Timeboy, haben genau das entgegengesetzte Verhalten wenn es keine Daten zu lesen gab!

 

 

 

2.1.25     DFCUpload

 Achtung: 
Mehr Informationen zum Übertragen von Gerätedateien (DFCUpload).
Wird unterstützt ab Firmwareversion:
04.00.08
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCUpload(int iChannelNum, int iBusNum, char *szFileName,
int *piError);

Exportiert von DFComDLL: _DFCUpload@16
Exportiert von DFCom_x64: DFCUpload
Parameter: 
int iChannelNum Der zu verwendende Kanal. Wertebereich: (1 - 350)
int iBusNum Die zu verwendende Busnummer. Wertebereich: (1 - 250, 254)
char *szFileName Dateiname der Gerätedatei oder Textdatendatei, wenn nötig mit Pfadangabe.
  1. Firmware mit Zusatzdaten, Endung: *.hex, mit Archiv Endung: *.dfz
    Unter Win32 kann ein Gerätedateiarchiv (Endung: *.dfz/*.zip) angegeben werden. Unter Linux kann ein Verzeichnis mit den enthaltenen Gerätedateien (Endung: *.hex) angegeben werden.
  2. Textdaten der Firmware, Endung: *.dfl; Enthält die Benutzerdefinierten Texte der Firmware.
  3. Touchdaten der Firmware, Endung: *.dfk; Enthält die Tastendefinitionen für Geräte mit Touch.
int *piError Error erhält eine Fehlernummer nach Tabelle 1.3.3.
Rückgabewert: 
0 Fehler bei Durchführung.
1 Erfolgreich durchgeführt.
Beschreibung:
Übertragen der notwendigen Gerätedaten, die aus Zeichensatz-, Grafik-, Text-, "Firmwaredaten" usw.. bestehen und zusammen in einer Datei mit der Endung (*.hex) geliefert werden.
Die Gerätedateien können auch (unter Win32) in einem Zip-Archiv vorliegen. Die Routine wählt in diesem Fall die für die jeweils vorliegende Hardware benötigte Gerätedatei aus dem Zip-Archiv aus.
Achtung: Unter Linux ist das Zip-Archiv zu entpacken und das Verzeichnis anzugeben.
Mehr Informationen zum Übertragen von Gerätedateien (DFCUpload).

Übertragen der Textdaten zur Firmware. Die Daten liegen in einer Datei mit der Endung *.dfl ([D]ata[f]ox [L]anguage) vor. Die Datei kann mit hilfe des DatafoxStudioIV erstellt werden.
Übertragen der Touchdaten zur Firmware. Die Daten liegen in einer Datei mit der Endung *.dfk ([D]ata[f]ox [K]eys) vor. Die Datei kann mit hilfe des DatafoxStudioIV erstellt werden.

 

2.1.26     DFCGetVersionFirmware

Wird unterstützt ab Firmwareversion:
04.00.19, 03.01.21
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCGetVersionFirmware(int iChannelNum, int iBusNum,
char *szVersion, int *piError);

Exportiert von DFComDLL: _DFCGetVersionFirmware@16
Exportiert von DFCom_x64: DFCGetVersionFirmware
Parameter: 
int iChannelNum Der zu verwendende Kanal. Wertebereich: (1 - 350)
int iBusNum Die zu verwendende Busnummer. Wertebereich: (1 - 250, 254)
char *szVersion Zeiger auf Zeichenkette für die Versionsnummer. Mindestens 32 Zeichen.
int *piError Error erhält eine Fehlernummer nach Tabelle 1.3.3.
Rückgabewert: 
0 Fehler bei Durchführung.
1 Erfolgreich durchgeführt.
Beschreibung:
Lesen der Gerätesoftwareversion im Textformat. z. B.: 04.00.19

 

2.1.27     DFCGetVersionFirmwareFromFile

Wird unterstützt ab Firmwareversion:
04.00.23
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCGetVersionFirmwareFromFile(int iChannelNum,
char *szFileName, char *szVersion, int *piError);

Exportiert von DFComDLL: _DFCGetVersionFirmwareFromFile@16
Exportiert von DFCom_x64: DFCGetVersionFirmwareFromFile
Parameter: 
int iChannelNum Der zu verwendende Kanal. Wertebereich: (1 - 250)
char *szFileName Dateiname der Gerätedatei, wenn nötig mit Pfadangabe.
("Firmware" mit Zusatzdaten, Endung: *.hex)
char *szVersion Zeiger auf Zeichenkette für die Versionsnummer. Mindestens 32 Zeichen.
int *piError Error erhält eine Fehlernummer nach Tabelle 1.3.3. Dieser Wert besagt mit der Nummer 1, dass die Prüfsumme des Dateikopfes oder der enthaltenen Firmwaredaten unstimmig ist.
Rückgabewert: 
0 Fehler bei Durchführung.
>7 Anzahl der kopierten Zeichen in den Puffer "szVersion".
Beschreibung:
Lesen der Gerätesoftwareversion im Textformat. z. B.: 04.00.23 direkt aus der Firmwaredatei (*.hex).

 

2.1.28     DFCGetInfo

Wird unterstützt ab Firmwareversion:
04.01.04
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCGetInfo(int channelID, int deviceID, char *name, char *params,
char *info, int *len, int *piError);

Exportiert von DFComDLL: _DFCGetInfo@28
Exportiert von DFCom_x64: DFCGetInfo
Parameter: 
int channeID Der zu verwendende Kanal. Wertebereich: (1 - 350)
int deviceID Die zu verwendende Busnummer. Wertebereich: (1 - 250, 254)
char *name Name der abzurufenden Information. (z.B. "ACCESS.MODULE")
Der Name setzt sich aus zwei Bestandteilen zusammen die mit einem Punkt miteinander verbunden werden.
Der erste Teil gibt den Bereich an und kann folgende Zeichenfolge sein:
BereichBeschreibung
ACCESSfür Zutritt
FINGERPRINTfür Fingerprint
USBHOSTfür USB-Host
der zweite Teil gibt den Namen der anzusprechenden Komponende an, und kann folgende Zeichenfolgen sein:
BereichKomponendeBeschreibung
ACCESSMODULEZutrittsmodul / -leser
FINGERPRINTMODULEFingerprintmodul firmwareversion
USBHOSTMODULEUSB-Host firmwareversion (z.B. "3.62-000VDAP").
char *params Zeiger auf die ggf. anzugebende Parameterliste als Zeichenfolge. Die einzelnen Parameter müssen durch ein CR (dezimal 13) voneinander getrennt werden.
Die anzugebende Parameterliste setzt sich für die entsprechenden Namen folgendermaßen zusammen:
NameParameterBeschreibung
ACCESS.MODULE 1 Türmodulnummer gemäß der Spalte "TM" der Zutrittsliste "Reader". Der Wert muss immer 3 Ziffern umfassen. Genauere Angaben hierzu finden sie im Handbuch im Kapitel "Zutrittskontrolle 2".
2 Optional die Bus-Id bei Systemen mit mehreren Zutrittsbussen. Bei fehlen, wird der erste Bus angenommen.
FINGERPRINT.MODULE 1Leer
USBHOST.MODULE 1Leer
char *info Zeiger auf Zeichenkette für den Informationsstring. Die einzelnen Teilangaben sind mit dem Steuerzeichen CR ('\r')  voneinander getrennt.


Der Informationsstring für ACCESS.MODULE gliedert sich wie folgt.

WertPositionBeschreibung
Status1Gibt den aktuellen Status des Moduls zurück. Genauere Angaben hierzu finden sie im Handbuch im Unterkapitel "Statusmeldungen der Zutrittskontrolle" der Zutrittskontrolle 2.
Name2Gibt die Bezeichnung des angesprochenen Moduls zurück.
Firmwareversion3Gibt die Firmwareversion des angesprochenen Moduls zurück.
.........
...nZur Zeit noch nicht definiert, jedoch denkbar.
int *len Als Eingabe die Länge des reservierten Buffers auf den der Zeiger *info verweist, als Ausgabe die Länge der übergebenen Zeichenkette.
int *piError Error erhält eine Fehlernummer nach Tabelle 1.3.3
Rückgabewert: 
0 Fehler bei Durchführung.
1 Erfolgreich durchgeführt.
Beschreibung:
Lesen der Information eines bestimmten Moduls. 

Die zurückgelieferte Information liegt in einer Zeichenfolge vor, die je nach abgefragtem Modul verschiedene Informationen enthalten kann. Diese Informationszeichenfolge muss für die weitere Verarbeitung ggf. in ihre Bestandteile zerlegt werden, wozu alle einzelnen Informationsteile durch ein CR (dezimal 13) Zeichen voneinander getrennt werden. Bitte beachten Sie auch, dass sich der Name aus zwei Bestandteilen zusammensetzt, zum einen aus Bereichsbezeichner wie ACCESS um das Zutrittsmodul anzusprechen und zum zweiten aus der Bezeichnung der anzusprechenden "Komponente" in diesem Bereich. 

Möchten Sie z. B. die Information zum angeschlossenen Stichleser am Türmodul mit der Busnummer 2 abrufen, benötigen Sie zum einen den "name" "ACCESS.MODULE\0" und die zugehörige "params" Parameterliste "021\0". Nach erfolgreicher Ausführung der Funktion stehen Ihnen die gelieferten Informationen in der Zeichenkette auf die "info" verweist zur Verfügung. (Das Zeichen '\0' stellt die Nullterminierung der Zeichenfolge dar.)

 

2.1.29     DFCOpenComServerMode

Wird unterstützt ab Firmwareversion:
04.01.04
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCOpenComServerMode(int channelID, int deviceID, char *comm, int baudRate,
int byteSize, int parity, int stopBits, int flags,int timeoutToClose, int *error);

Exportiert von DFComDLL: _DFCOpenComServerMode@40
Exportiert von DFCom_x64: DFCOpenComServerMode
Parameter: 
int channeID Der zu verwendende Kanal. Wertebereich: (1 - 250)
int deviceD Gibt die Busnummer an. Muss in der derzeitigen Implementierung immer 254 sein, da der “Transparentmodus” in einem RS485 - Netzwerk nicht vorgesehen ist.
char *comm Zeiger auf Zeichenkette für den zu öffnenden virtuellen COM-Port.
ZeichenketteBedeutung
COM5
GerätSchnittstelle
BDE-MasterIVCOM3 (siehe Handbuch)
Mobil-MasterIVCOM2 (siehe Handbuch)
MDE-BoxIVCOM2 (siehe Handbuch)
AE-MasterIVCOM2 (siehe Handbuch)
Sonstige GeräteNicht vorhanden.
COM6
GerätSchnittstelle
PZE-MasterIVCOM1 (siehe Handbuch)
ZK-MasterIVCOM1 (siehe Handbuch)
BDE-MasterIVCOM2 (siehe Handbuch)
Mobil-MasterIVCOM1 (siehe Handbuch)
MDE-BoxIVCOM1 (siehe Handbuch)
AE-MasterIVCOM1 (siehe Handbuch)
Sonstige GeräteNicht vorhanden.
int baudRate Die zu verwendende Baud Rate der Schnittstelle.
WertBedeutung
96009600bd
1920019200bd
3840038400bd
int byteSize Die zu verwendende Anzahl "Bits per Byte" der Schnittstelle.
WertBedeutung
44 Bit
55 Bit
66 Bit
77 Bit
88 Bit (Standard)
int parity
WertBedeutung
0Paritätsprüfung nicht durchführen. (Standard)
1Paritätsprüfung durchführen.
int stopBits Die zu verwendende Anzahl Stoppbits
WertBedeutung
01 Stoppbit (Standard)
11,5 Stoppbits
22 Stoppbits
int flags Zusätzliche Informationen um den Com-Server-Mode zu beeinflussen:
Bit Nr.Bedeutung
0Bei gesetztem Bit, wird nach einem Pufferüberlauf, die Datenweiterleitung in beide Richtungen abschalten.
...Unbenutzt. Bitte immer 0.
int timeoutToClose Zeitspanne nachdem der COM-Port geschlossen wird, wenn kein Datentransfer statt findet.
WertBedeutung
0Es wird nicht automatisch geschlossen.
1..255Es wird, wenn für die Angegebene Zeit (in Sekunden) kein Datenfluss vorhanden war, automatisch geschlossen.
int *error Error erhält eine Fehlernummer nach Tabelle 1.3.3
Rückgabewert: 
0 Fehler bei Durchführung.
1 Erfolgreich durchgeführt.
Beschreibung:
Aktiviert bei dem angesprochenen Gerät einen “Transparentmodus” zwischen dem aktuell geöffneten Kanal und einem COM-Port des Gerätes. Nachdem Sie einen COM-Port des Gerätes mit dem Kanal verbunden haben ist es z. B. möglich eine Datei direkt an eine angeschlossene CNC-Maschine zu senden. Es werden sozusagen alle darauffolgenden Daten 1:1 zwischen dem Geräte-COM-Port und dem geöffneten Kanal durchgereicht, lediglich der Befehl zum Aufheben des “Transparentmodus” (DFCCloseComServerMode) wird abgefangen.
Um Daten direkt in den Kanal zu schreiben steht Ihnen die Funktion DFCWrite zur Verfügung, um ggf. Antwortdaten aus dem Kanal zu lesen, steht Ihnen die Funktion DFCRead zur Verfügung. Sie könnten z. B. auch über einen Aufruf der Funktion DFCGetComPort, den DLL-eigenen Schnittstellenhandle ermitteln und somit über eigene Schreib-/Leseroutinen arbeiten, ggf. die Timeboy-DLL anbinden.
Bitte beachten Sie, dass der Geräteinterne Puffer für jede Kommunikationsrichtung 512Byte umfasst und bei Verwendung ungleicher Übertragungsraten ein Überlauf stattfinden kann. Wenn Sie z.B. über die TCP/IP Schnittstelle (57600bd) Daten an einen COM-Port mit eingestellten 9600bd übertragen muss der Gesamtdatenstrom immer nach 512 Byte für ca. 400ms unterbrochen werden.
Einen eventuell eingetretenen Überlauf bekommen Sie von der Funktion DFCCloseComServerMode gemeldet.

 

2.1.30     DFCCloseComServerMode

Wird unterstützt ab Firmwareversion:
04.01.04
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCCloseComServerMode(int channelID, int deviceID, int *error);

Exportiert von DFComDLL: _DFCCloseComServerMode@12
Exportiert von DFCom_x64: DFCCloseComServerMode
Parameter: 
int channeID Der zu verwendende Kanal. Wertebereich: (1 - 250)
int deviceD Gibt die Busnummer an. Muss in der derzeitigen Implementierung immer 254 sein, da der “Transparentmodus” in einem RS485 - Netzwerk nicht vorgesehen ist.
int *error Error erhält eine Fehlernummer nach Tabelle 1.3.3
Rückgabewert: 
0 Fehler bei Durchführung.
1 Erfolgreich durchgeführt.
Beschreibung:
Deaktiviert bei dem angesprochenen Gerät einen evntl. zuvor eingestellten “Transparentmodus”. Siehe Funktion DFCOpenComServerMode zum öffnen der Verbindung.
Wenn wärend der Datenübertragung ein Geräteinterner Speicherüberlauf stattfindet, gibt die Funktion den Fehlercode 40 zurück.

 

2.1.31     DFCIsChannelOpen

Wird unterstützt ab Firmwareversion:
uneingeschränkt
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCIsChannelOpen(int channelID);

Exportiert von DFComDLL: _DFCIsChannelOpen@4
Exportiert von DFCom_x64: DFCIsChannelOpen
Parameter: 
int channeID Der auszuwerdente Kanal. Wertebereich: (1 - 350)
Rückgabewert: 
0 Kanal ist nicht geöffnet.
1 Kanal ist offen.
Beschreibung:
Prüft ob der Kanal geöffnet ist. Die Funktion stellt dabei nicht Sicher das ein Verbundenes Gerät auch angesprochen werden kann.

 

2.1.32     DFCUploadModule

Wird unterstützt ab Firmwareversion:
04.01.05
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCUploadModule(int iChannelNum, int iBusNum, int type, char *szFileName,
int *piError);

Exportiert von DFComDLL: _DFCUploadModule@20
Exportiert von DFCom_x64: DFCUploadModule
Parameter: 
int iChannelNum Der zu verwendende Kanal. Wertebereich: (1 - 350)
int iBusNum Die zu verwendende Busnummer. Wertebereich: (1 - 250, 254)
int type Gibt den zu aktualisierenden Modultypen an.
Derzeit: 0 -> Biokey3000.
char *szFileName Dateiname der Updatedatei, wenn nötig mit Pfadangabe.
Derzeit muss bei type = 0 die Dateiendung *.upd sein.
int *piError Error erhält eine Fehlernummer nach Tabelle 1.3.3.
Rückgabewert: 
0 Fehler bei Durchführung.
1 Erfolgreich durchgeführt.
Beschreibung:
Übertragen der notwendigen Updatedaten, an das über type angegebene Module.

 

2.1.33     DFCGetOptionFirmware

Wird unterstützt ab Firmwareversion:
04.01.06
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCGetOptionFirmware(int channelID, int deviceID, int *mask, int *options,
int *error);

Exportiert von DFComDLL: _DFCGetOptionFirmware@20
Exportiert von DFCom_x64: DFCGetOptionFirmware
Parameter: 
int channeID Der zu verwendende Kanal. Wertebereich: (1 - 350)
int deviceD Die zu verwendende Busnummer. Wertebereich: (1 - 250, 254)
int *mask Zeiger auf die Maskenvariable, welche nach dem auslesen angibt welche Werte der Optionen gültig sind.
WertBedeutung
0x00000001Externer Lesertyp
0x00000002IO-Modul Anbindung
0x00000004Timeboy Anbindung
0x00000008Com-Server Funktionalität.
0x00000010Transpondermenü zum schreiben der Ausweise benötigt.
0x00000020HTTP-Protokoll Unterstützung.
0x00000040Funktionalität für Update des Biokey Moduls benötigt.
0x00000080Unterstützung der Signalverarbeitung (digitale Eingänge vorhanden).
int *options Zeiger auf die Optionsvariable, welche nach dem auslesen angibt welche Werte der Optionen gesetzt sind.
WertBedeutung
Externer Lesertyp0 = Datafox-TMR33, 1 = PHG (VOXIO, Relino,...)
IO-Modul Anbindung0 = Nein, 1 = Ja
Timeboy Anbindung0 = Nein, 1 = Ja
Com-Server Funktionalität.0 = Nein, 1 = Ja
Transpondermenü zum schreiben der Ausweise benötigt.0 = Nein, 1 = Ja
HTTP-Protokoll Unterstützung.0 = Nein, 1 = Ja
Funktionalität für Update des Biokey Moduls benötigt.0 = Nein, 1 = Ja
Unterstützung der Signalverarbeitung (digitale Eingänge vorhanden).0 = Nein, 1 = Ja
int *error Error erhält eine Fehlernummer nach Tabelle 1.3.3
Rückgabewert: 
0 Fehler bei Durchführung.
1 Erfolgreich durchgeführt.
Beschreibung:
Auslesen der aktuell gesetzten Optionen.

 

2.1.34     DFCSetOptionFirmware

Wird unterstützt ab Firmwareversion:
04.01.06
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCSetOptionFirmware(int channelID, int deviceID, int mask, int options,
int *error);

Exportiert von DFComDLL: _DFCSetOptionFirmware@20
Exportiert von DFCom_x64: DFCSetOptionFirmware
Parameter: 
int channeID Der zu verwendende Kanal. Wertebereich: (1 - 350)
int deviceD Die zu verwendende Busnummer. Wertebereich: (1 - 250, 254)
int mask Maskenvariable, welche angibt, welche Werte der Optionsvariable gültig sind.
WertBedeutung
0x00000001Externer Lesertyp
0x00000002IO-Modul Anbindung
0x00000004Timeboy Anbindung
0x00000008Com-Server Funktionalität.
0x00000010Transpondermenü zum schreiben der Ausweise benötigt.
0x00000020HTTP-Protokoll Unterstützung.
0x00000040Funktionalität für Update des Biokey Moduls benötigt.
0x00000080Unterstützung der Signalverarbeitung (digitale Eingänge vorhanden).
int options Optionsvariable, welche angibt wie die Optionen gesetzt werden.
WertBedeutung
Externer Lesertyp0 = Datafox-TMR33, 1 = PHG (VOXIO, Relino,...)
IO-Modul Anbindung0 = Nein, 1 = Ja
Timeboy Anbindung0 = Nein, 1 = Ja
Com-Server Funktionalität.0 = Nein, 1 = Ja
Transpondermenü zum schreiben der Ausweise benötigt.0 = Nein, 1 = Ja
HTTP-Protokoll Unterstützung.0 = Nein, 1 = Ja
Funktionalität für Update des Biokey Moduls benötigt.0 = Nein, 1 = Ja
Unterstützung der Signalverarbeitung (digitale Eingänge vorhanden).0 = Nein, 1 = Ja
int *error Error erhält eine Fehlernummer nach Tabelle 1.3.3
Rückgabewert: 
0 Fehler bei Durchführung.
1 Erfolgreich durchgeführt.
Beschreibung:
Setzen der aktuell gesetzten Optionen.

 

2.1.35     DFCReset

Wird unterstützt ab Firmwareversion:
04.01.07
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCReset(int channelID, int deviceID, int mode, int *error);

Exportiert von DFComDLL: _DFCReset@16
Exportiert von DFCom_x64: DFCReset
Parameter: 
int channeID Der zu verwendende Kanal. Wertebereich: (1 - 350)
int deviceD Die zu verwendende Busnummer. Wertebereich: (1 - 250, 254)
int mode Modusvariable, welche angibt, was zurückgesetzt durchgeführt wird.
WertBedeutung
1Warmstart des Gerätes.
2Flash formatieren. (Setup und Listen müssen neu aufgespielt werden!)
3Setup loeschen. (Setup und Listen müssen neu aufgespielt werden!)
...Unbenutzt
int *error Error erhält eine Fehlernummer nach Tabelle 1.3.3
Rückgabewert: 
0 Fehler bei Durchführung.
1 Erfolgreich durchgeführt.
Beschreibung:
Reset je nach gewähltem Modus durchführen. Das Geräte macht nach der Ausführung einen Neustart.

 

2.1.36     DFCSetFontType

Wird unterstützt ab Firmwareversion:
04.01.07
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCSetFontType(int channelID, int deviceID, int iType, int *error);

Exportiert von DFComDLL: _DFCSetFontType@16
Exportiert von DFCom_x64: DFCSetFontType
Parameter: 
int channeID Der zu verwendende Kanal. Wertebereich: (1 - 350)
int deviceD Die zu verwendende Busnummer. Wertebereich: (1 - 250, 254)
int iType Typ der zu verwendenden Schriftart.
WertBedeutung
0Standardschrift
116 Pixel (7Anzeigezeilen)
216 Pixel,feste breite(7Zeilen)
319 Pixel(6Anzeigezeilen)
419 Pixel,feste breite(6Zeilen)
521 Pixel(5Anzeigezeilen)
621 Pixel,feste breite(5Zeilen)
...Unbenutzt
int *error Error erhält eine Fehlernummer nach Tabelle 1.3.3
Rückgabewert: 
0 Fehler bei Durchführung.
1 Erfolgreich durchgeführt.
Beschreibung:
Setzt den zu verwendenden Schrifttyp zur Darstellung der Nachrichten bei DFCComSendMessage oder DFCComSendInfotext. Bei den Nachrichten wird der zuvor gewählte Schrifttyp bis zum Neustart des Gerätes beibehalten. Sie können unterschiedliche Schrifttypen verwenden, wenn Sie jeweils vor SendMessage und SendInfotext einen entsprechenden Schrifttyp einstellen, der zuletzt gesetzte Schrifttyp wird für die Funktion solange beibehalten bis ein Neustart erfolgt.

 

2.1.37     DFCSetPassword

Wird unterstützt ab Firmwareversion:
04.01.07
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCSetPassword(int channelID,
char *password, int *piError);

Exportiert von DFComDLL: _DFCSetPassword@12
Exportiert von DFCom_x64: DFCSetPassword
Parameter: 
int channelID Der zu verwendende Kanal. Wertebereich: (1 - 350)
char *password Zeiger auf das zu verwendende Kommunikationspasswort. Maximal 16 Zeichen.
int *piError Error erhält eine Fehlernummer nach Tabelle 1.3.3.
Rückgabewert: 
0 Fehler bei Übernahme.
1 Erfolgreich übernommen.
Beschreibung:
Setzen des zu verwendenden Kommunikationspasswortes für diesen Kanal. Das Passwort wird der Firmware, bei Aufforderung mitgeteilt. Es wird über die Setupdaten in das Gerät übertragen und muss nach der erfolgeichen Übertragung durch diese Routine der DLL mitgeteilt werden.

 

2.1.38     DFCGetPasswordKey

Wird unterstützt ab Firmwareversion:
04.01.07
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCGetPasswordKey(int channelID, int deviceID,
char *key, int *len, int *piError);

Exportiert von DFComDLL: _DFCGetPasswordKey@20
Exportiert von DFCom_x64: DFCGetPasswordKey
Parameter:
int channelID Der zu verwendende Kanal. Wertebereich: (1 - 350)
int deviceID Die zu verwendende Busnummer. Wertebereich: (1 - 250, 254)
char *key Key erhält den gelesenen Passwortschlüssel. Dieser ist 16 Zeichen lang.
int *len Als Eingabe die Länge des Buffers auf den der Zeiger *key verweist, als Ausgabe die übergebene Anzahl Daten. Die Länge muss mindestens 17 Zeichen sein.
int *piError Error erhält eine Fehlernummer nach Tabelle 1.3.3.
Rückgabewert:
0 Fehler bei Durchführung.
1 Erfolgreich durchgeführt.
Beschreibung:

Für den Fall, dass das Kommunikationspasswort verloren gegangen ist, kann über diese Funktion ein Passwortschlüssel vom Gerät angefordert werden.
Dieser kann über die Fa. Datafox zu einem Ersatzpasswort gewandelt werden. Hierdurch bleibt Ihr vergebenes Passwort unbekannt.<
Mit dem Ersatzpasswort könnten Sie Ihr Setup aus dem Gerät lesen um das verlegte Passwort zu erhalten. Wenn Sie wieder mit Ihrem Passwort mit dem Gerät kommunizieren wird durch die Firmware ein neuer Passwortschlüssel (Ersatzpasswort) generiert. Das erhaltene Ersatzpasswort ist danach ungültig.

2.1.39     DFCPressVirtualKey

Wird unterstützt ab Firmwareversion:
04.01.07
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCPressVirtualKey(int channelID, int deviceID, int virtualKey,
 int flags, int *piError);

Exportiert von DFComDLL: _DFCPressVirtualKey@20
Exportiert von DFCom_x64: DFCPressVirtualKey
Parameter:
int channelID Der zu verwendende Kanal. Wertebereich: (1 - 350)
int deviceID Die zu verwendende Busnummer. Wertebereich: (1 - 250, 254)
int virtualKey Gibt den Tastencode an:
WertBedeutung
112F1 -> Entspricht einem drücken der Funktionstaste 1
113F2 -> Entspricht einem drücken der Funktionstaste 2
114F3 -> Entspricht einem drücken der Funktionstaste 3
115F4 -> Entspricht einem drücken der Funktionstaste 4
116F5 -> Entspricht einem drücken der Funktionstaste 5
117F6 -> Entspricht einem drücken der Funktionstaste 6
118F7 -> Entspricht einem drücken der Funktionstaste 7
119F8 -> Entspricht einem drücken der Funktionstaste 8
120F9 -> Entspricht einem drücken der Funktionstaste 9
121F10 -> Entspricht einem drücken der Funktionstaste 10
122F11 -> Entspricht einem drücken der Funktionstaste 11
123F12 -> Entspricht einem drücken der Funktionstaste 12
124F13 -> Entspricht einem drücken der Funktionstaste 13
125F14 -> Entspricht einem drücken der Funktionstaste 14
126F15 -> Entspricht einem drücken der Funktionstaste 15
...Unbenutzt
int flags Gibt zuzätzliche Bedeutungen zum Tastendruck an:
BitnummerWertBedeutung
10, 1Wenn Sie dieses Bit setzen, wird der Tastendruck nur ausgeführt, wenn sich das Gerät aktuell im Hauptmenü befindet. Wenn Sie das Bit nicht gesetzt haben, verhält sich das Gerät so als ob eine Person direkt die Taste auf der Tastatur betätigt.
......Unbenutzt
int *piError Error erhält eine Fehlernummer nach Tabelle 1.3.3.
Rückgabewert: 
0 Fehler bei Durchführung.
1 Erfolgreich durchgeführt.
Beschreibung:
Über diese Funktion können Sie einen Tastendruck auslösen. Sie können somit per DLL-Befehl zwischen den verschiedenen Funktionstasten umschalten.
Es ist über diesen Befehl möglich, Tasten anzusprechen die nicht direkt auf der Tastatur verfügbar sind z. B. F6 - F15 beim PZE-MasterIV.

 

2.1.40     DFCGetFlashStatus

Wird unterstützt ab Firmwareversion:
04.01.07
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCGetFlashStatus(int channelID, int deviceID, int *status,
 int *piError);

Exportiert von DFComDLL: _DFCGetFlashStatus@16
Exportiert von DFCom_x64: DFCGetFlashStatus
Parameter:
int channelID Der zu verwendende Kanal. Wertebereich: (1 - 350)
int deviceID Die zu verwendende Busnummer. Wertebereich: (1 - 250, 254)
int *status Zeiger auf die Variable, welche den Status erhält.
Bei dem Wert handelt es sich um Bit-Flags mit folgender Bedeutung:
BitWertBedeutung
11Service: Bei gesetztem Bit ist die vom Hersteller zugesicherte Beschreibbarkeit des Bausteins erreicht. Ein Bausteinaustausch sollte vorgenommen werden.
22Warnung: Es liegt ein CRC Fehler im Datensatz- oder Listenbereich vor. Ein Neuübertragung des verwendeten Setups und der zugehörigen Listen behebt die Warnung.
34Fehler: Der Speicherbaustein ist defekt und muss für den weiteren Gerätebetrieb ausgetauscht werden.
......Unbenutzt
int *piError Error erhält eine Fehlernummer nach Tabelle 1.3.3.
Rückgabewert: 
0 Fehler bei Durchführung.
1 Erfolgreich durchgeführt.
Beschreibung:
Über diese Funktion können Sie den aktuellen Status des Hauptspeicherbausteins abrufen. Das Speichermanagement prüft automatisch die Datenkonsistenz und Schreibzyklen auf alle Speicherzellen, tritt hierbei ein Fehler oder Warnung auf, kann dieses über diese Funktion abgerufen werden.

2.1.41     DFCSetCommunicationPassword

Wird unterstützt ab Firmwareversion:
04.02.03
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCSetCommunicationPassword(int channelID, unsigned char *password, 
int size, int sessionTimeout, int *piError);

Exportiert von DFComDLL: _DFCSetCommunicationPassword@20
Exportiert von DFCom_x64: DFCSetCommunicationPassword
Parameter: 
int channelID Der zu verwendende Kanal. Wertebereich: (-1, 1 - 350)
Verwenden Sie -1, wenn alle Kanäle das selbe Passwort verwenden.
unsigned char *password Zeiger auf das zu verwendende Verschlüsselungspasswort. Maximal 16 Zeichen.
int size Gibt die Länge des Passwortes an. Bei einem String kann auch 0 angegeben werden.
int sessionTimeout Gibt einen Timeout an, nachdem der ausgehandelte Session-Key seine Gültigkeit verliert und eine Neuaushandlung notwendig macht. Einheit ist Sekunden, bei Verwendung von 0 wird keine zyklische Neuaushandlung durchgeführt. Wertebereich (0, 60 - 100000)
int *piError Error erhält eine Fehlernummer nach Tabelle 1.3.3.
Rückgabewert: 
0 Fehler bei Übernahme.
1 Erfolgreich übernommen.
Beschreibung:
Setzen des zu verwendenden Verschlüsselungspasswortes der Kommunikation für diesen Kanal. Das Passwort wird für die Verschlüsselte Kommuniation verwendet und muss ebenfalls im Gerät hinterlegt sein. Siehe Systemvariable COM.KEY. Je nach Angabe des sessionTimeouts wird eine Neuaushandlung eines Sessionkeys vorgenommen.

 

2.1.42     DFCReadHardwareInfo

Wird unterstützt ab Firmwareversion:
04.01.01
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCReadHardwareInfo(int channelID, int deviceID, 
char *infoString, int *infoStringLength,
int flags, int *error);

Exportiert von DFComDLL: _DFCReadHardwareInfo@24
Exportiert von DFCom_x64: DFCReadHardwareInfo
Parameter: 
int channeID Der zu verwendende Kanal. Wertebereich: (1 - 350)
int deviceD Die zu verwendende Busnummer. Wertebereich: (1 - 250, 254)
char *infoString Zeiger auf die Informationszeichenfolge. Die einzelnen Werte sind durch LF (dec. 10) Zeichen voneinander getrennt. Sie liegen in dem Format Name=Value vor und ihre Position in der Zeichenfolge ist nicht fest und könne in späteren Version der DLL an anderer Position liegen.
WertBedeutung
serialSeriennummer des Gerätes.
typeBezeichnung des Gerätes:
0 - PZE-MasterIV
1 - ZK-MasterIV
2 - BDE-MasterIV
3 - Mobil-MasterIV
4 - MDE-BoxIV
5 - AE-MasterIV
6 - TimeboyIV
7 - Exklusiv-Line IV
8 - Flex-MasterIV
9 - Timeboy-Mobil-PZE
10 - EVO-Line 2.8
11 - EVO-Line 4.3
12 - IPC-Extension A
13 - IPC-Extension B
14 - IPC-Extension C
15 - IO-Box
16 - ZK-Box
17 - Mobil-Box
boardBordrevision: Die Angabe wird intern als Hexwert verstanden, da hier die Angabe dezimal erfolgt, bedeutet dieses:
Bordrevision 1.1 -> 0x11 hex. -> 17 dec.
Bordrevision 2.1 -> 0x21 hex. -> 33 dec.
Bordrevision 3.0 -> 0x30 hex. -> 48 dec.
etc..
rs485ZKOption der Zutrittskontrolle verfügbar. 0 = Nein, 1 = Ja
transponderVerbautes Transpondermodul:
0 - Kein integriertes Transpondermodul
1 - Unique, Hitag
2 - Unique, Hitag
3 - Legic Prime
4 - Mifare Classic
5 - iButton
6 - S&V SmartRelais
7 - Nedap
8 - iButton
9 - HID Proxy
10 - Mifare DESFire (ISO14443 / ISO15693)
11 - Legic Prime / Advant
12 - Unique, Hitag
13 - HID iClass
14 - Mifare DESFire (ISO14443 / ISO15693)
15 - Legic Prime / Advant
16 - S&V SmartRelais G2
17 - Mifare NFC
18 - IDTronic UHF
externalReaderTyp des Externen Lesermoduls der ZK:
1 - Datafox
2 - PHG
8 - IDTronic UHF
int *infoStringLength Zeiger auf die Größe des Puffers auf den infoString verweist. Als Eingabe muss er die Größe des Puffers enthalten, als Ausgabe erhählt er die in infoString kopierte Länge der Zeichenfolge.
int flags Derzeit noch nicht verwendet.
int *error Error erhält eine Fehlernummer nach Tabelle 1.3.3
Rückgabewert: 
0 Fehler bei Durchführung.
1 Erfolgreich durchgeführt.
Beschreibung:
Lesen von Informationen zur vorliegenden Gerätehardware und optionalen Modulen.

 

2.1.43     DFCFileUpload

Wird unterstützt ab Firmwareversion:
04.02.03
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCFileUpload(int channelID, int deviceID, int fileType, char *fileName,
int flags, int *errorResult);

Exportiert von DFComDLL: _DFCFileUpload@24
Exportiert von DFCom_x64: DFCFileUpload
Parameter: 
int channelID Der zu verwendende Kanal. Wertebereich: (1 - 350)
int deviceID Die zu verwendende Busnummer. Wertebereich: (1 - 250, 254)
int fileType Gibt den zu übertragenden Dateityp an.
-1 - Dateityp an der Dateiendung festmachen (gilt für Typen 0 - 3).
0 - Datei für Sprachtabelle ( *.dfl )
1 - Datei für Tastendefinitionen ( *.dfk )
2 - Datei für Farbauswahl ( *.dfc )
3 - Datei für WLAN - Konfiguration ( *.df0 )
4 - Datei beliebigen Types. ( *.* )
char *fileName Name der Datei, wenn nötig mit Pfadangabe.
int flags Reserviert. Akzeptiert nur 0 als Wert.
int *errorResult Erhält eine Fehlernummer nach Tabelle 1.3.3.
Rückgabewert: 
0 Fehler bei Durchführung.
1 Erfolgreich durchgeführt.
Beschreibung:
Übertragen der Daten einer Datei auf das Gerät.

 

2.1.44     DFCFileDownload

Wird unterstützt ab Firmwareversion:
04.02.03
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCFileDownload(int channelID, int deviceID, int fileType, char *fileName,
int flags, int *errorResult);

Exportiert von DFComDLL: _DFCFileDownload@24
Exportiert von DFCom_x64: DFCFileDownload
Parameter: 
int channelID Der zu verwendende Kanal. Wertebereich: (1 - 350)
int deviceID Die zu verwendende Busnummer. Wertebereich: (1 - 250, 254)
int fileType Gibt den zu übertragenden Dateityp an.
-1 - Dateityp an der Dateiendung festmachen.
3 - Datei für WLAN - Konfiguration ( *.df0 )
4 - Datei beliebigen Types. ( *.* )
char *fileName Name der Datei, wenn nötig mit Pfadangabe.
int flags Reserviert. Akzeptiert nur 0 als Wert.
int *errorResult Erhält eine Fehlernummer nach Tabelle 1.3.3.
Rückgabewert: 
0 Fehler bei Durchführung.
1 Erfolgreich durchgeführt.
Beschreibung:
Übertragen der Daten von einem Gerät in eine Datei.

 

 

2.2     Funktionen für Setup

Konfigurationsdaten mit dem Gerät abgleichen.

2.2.1     DFCSetupLaden

Wird unterstützt ab Firmwareversion:
uneingeschränkt
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCSetupLaden(int iChannelNum, int iBusNum,
char *szFileName, int *piError);

Exportiert von DFComDLL: _DFCSetupLaden@16
Exportiert von DFCom_x64: DFCSetupLaden
Parameter: 
int iChannelNum Der zu verwendende Kanal. Wertebereich: (1 - 350)
int iBusNum Die zu verwendende Busnummer. Wertebereich: (1 - 250, 254)
char *szFileName Dateiname der Setup-Datei (wenn notwendig mit Pfad).
int *piError Error erhält eine Fehlernummer nach Tabelle 1.3.3.
Rückgabewert:
0 Fehler bei Durchführung.
1 Erfolgreich durchgeführt.
Beschreibung: 
Setup-Daten aus Datei (*.aes) lesen und in Gerät übertragen.

 

2.2.2     DFCDownload

Wird unterstützt ab Firmwareversion:
uneingeschränkt
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCDownload(int iChannelNum, int iBusNum,
char *szFileName, int *piError);

Exportiert von DFComDLL: _DFCDownload@16
Exportiert von DFCom_x64: DFCDownload
Parameter: 
int iChannelNum Der zu verwendende Kanal. Wertebereich: (1 - 350)
int iBusNum Die zu verwendende Busnummer. Wertebereich: (1 - 250, 254)
char *szFileName Dateiname der Setup-Datei (wenn notwendig mit Pfad).
int *piError Error erhält eine Fehlernummer nach Tabelle 1.3.3.
Rückgabewert:
0 Fehler bei Durchführung.
1 Erfolgreich durchgeführt.
Beschreibung: 
Setup-Daten aus Gerät lesen und in Datei (*.aes) übertragen.

 

2.2.3     DFCModifyStudioFile

Wird unterstützt ab Firmwareversion:
uneingeschränkt
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCModifyStudioFile(char *sourceFile, char *destFile,
char *changeData, int flags, int *piError);

Exportiert von DFComDLL: _DFCModifyStudioFile@20
Exportiert von DFCom_x64: DFCModifyStudioFile
Parameter: 
char *sourceFile Quelldatei: Dateiname der Setup-Datei mit zu verändernden Daten. (wenn notwendig mit Pfad).
char *destFile Zieldatei: Dateiname der Setup-Datei mit veränderten Daten. (wenn notwendig mit Pfad).
char *changeData Entweder ein Textpuffer mit xml-Daten (Beginnt mit <?xml) oder Dateiname der XML-Datei mit den enspechenden Daten.
int flags Reserviert.
int *piError Error erhält eine Fehlernummer nach Tabelle 1.3.3.
Rückgabewert:
0 Fehler bei Durchführung.
1 Erfolgreich durchgeführt.
Beschreibung: 
Daten einer Setupdatei (*.aes) modifizieren und abspeichern.
 Beispiel der XML-Daten:
<?xml version="1.0" ?>
<modify>

	<password>
		<system>
			<value>1234</value>
		</system>
		<user>
			<value>2345</value>
		</user>
		<menu_item>
			<name>MEID_003</name>
			<value>4711</value>
		</menu_item>
	</password>

	<fingerprint>
		<security_level>20</security_level>
		<image_quality>70</image_quality>
		<minutiae_count>20</minutiae_count>
	</fingerprint>

	<replace>
		<name>
			<search>MID_001</search>
			<replacement>PZE Setup</replacement>
		</name>
		<name>
			<search>MEID_001</search>
			<replacement>Kommt:</replacement>
		</name>
		<name>
			<search>MEID_002</search>
			<replacement>Geht:</replacement>
		</name>
		<name>
			<search>MEID_003</search>
			<replacement>Abwesend</replacement>
		</name>
	</replace>

</modify>

 

2.3     Funktionen für Listen, sowie Zutrittslisten (Version 2)

Zugriff auf die Listen im Gerät.

2.3.1     DFCOpenTable

Wird unterstützt ab Firmwareversion:
PZE-MasterIV, ZK-MasterIV, MDE-MasterIV: 04.01.01.30
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCOpenTable(int channelID, int deviceID, char *name, int options,
int *handle, char *reserved, int *piError); 

Exportiert von DFComDLL: _DFCOpenTable@28
Exportiert von DFCom_x64: DFCOpenTable
Parameter:
int channelID Der zu verwendende Kanal. Wertebereich: (1 - 350)
int deviceID Die zu verwendende Busnummer. Wertebereich: (1 - 250, 254)
char *name Der Name der zu öffnenden Tabelle.
Die Gerätetabellen sind in verschiedene Bereiche eingeteilt, welche Sie über ein Namenspräfix ansprechen.
LIST. -> für Listenbeschreibungen aus dem Setup. (z. B. LIST.Personalstamm)
ACCESS. -> für Listen der Zutrittskontrolle Version 2
int options Zur Zeit nicht verwendet. Bitte immer 0 übergeben.
int *handle Handle erhält eine eindeutige Nummer, die bei allen weiteren Funktionsaufrufen verwendet werden muss.
char *reserved Reserviert. Bitte immer einen Leerstring übergeben.
int *piError Error erhält eine Fehlernummer nach Tabelle 1.3.3.
Rückgabewert:
0 Fehler bei Durchführung.
1 Erfolgreich durchgeführt.
Beschreibung:

Öffnet eine Liste und gibt einen Handle darauf zurück. Alle weiteren Listenfunktionen unter diesem Kapitel arbeiten mit dem hier zurückgelieferten Handle.
Die Liste muß um sie öffnen zu können, zuvor mit der Funktion DFCLoadListen in das Gerät übertragen worden sein.

Um die Liste "Personalstamm" aus dem Setup zu öffnen müssen Sie den Namen "LIST.Personalstamm" verwenden, um die Liste "Identification" aus der Zutrittskontrolle zu öffnen, müssen Sie den Namen "ACCESS.Identification" verwenden.

 

2.3.2     DFCCloseTable

Wird unterstützt ab Firmwareversion:
PZE-MasterIV, ZK-MasterIV, MDE-MasterIV: 04.01.01.30
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCCloseTable(int channelID, int deviceID, int handle, int *piError); 

Exportiert von DFComDLL: _DFCCloseTable@16
Exportiert von DFCom_x64: DFCCloseTable
Parameter:
int channelID Der zu verwendende Kanal. Wertebereich: (1 - 350)
int deviceID Die zu verwendende Busnummer. Wertebereich: (1 - 250, 254)
int handle Der Listenhandle. Handle von vorherigem Aufruf von DFCOpenTable.
int *piError Error erhält eine Fehlernummer nach Tabelle 1.3.3.
Rückgabewert:
0 Fehler bei Durchführung.
1 Erfolgreich durchgeführt.
Beschreibung:

Schließen der zuvor mit DFCOpenTable geöffneten Liste.

 

2.3.3     DFCSetFilter

Wird unterstützt ab Firmwareversion:
PZE-MasterIV, ZK-MasterIV, MDE-MasterIV: 04.01.01.30
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCSetFilter(int channelID, int deviceID, int handle,
char *filter, int *piError); 

Exportiert von DFComDLL: _DFCSetFilter@20
Exportiert von DFCom_x64: DFCSetFilter
Parameter:
int channelID Der zu verwendende Kanal. Wertebereich: (1 - 350)
int deviceID Die zu verwendende Busnummer. Wertebereich: (1 - 250, 254)
int handle Der Listenhandle. Handle von vorherigem Aufruf von DFCOpenTable.
char *filter Filterzeichenfolge nach folgendem Schema:
Spaltenname = 'Spaltenwert'
Der Spaltenwert kann in einzel- oder Doppelten Anführungszeichen stehen.
int *piError Error erhält eine Fehlernummer nach Tabelle 1.3.3.
Rückgabewert:
0 Fehler bei Durchführung.
1 Erfolgreich durchgeführt.
Beschreibung:

Setzt einen Filter auf die angegebene Liste. Nach Aufruf dieser Funktion muss mit DFCSkip der Datensatzzeiger auf einen gültigen Datensatz verschoben werden.

 

2.3.4     DFCGetFilter

Wird unterstützt ab Firmwareversion:
PZE-MasterIV, ZK-MasterIV, MDE-MasterIV: 04.01.01.30
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCGetFilter(int channelID, int deviceID, int handle,
char *filter, int *len, int *piError); 

Exportiert von DFComDLL: _DFCGetFilter@24
Exportiert von DFCom_x64: DFCGetFilter
Parameter:
int channelID Der zu verwendende Kanal. Wertebereich: (1 - 350)
int deviceID Die zu verwendende Busnummer. Wertebereich: (1 - 250, 254)
int handle Der Listenhandle. Handle von vorherigem Aufruf von DFCOpenTable.
char *filter Filter erhält die ermittelte Zeichenfolge des Filterkriteriums.
Auf nach folgendem Schema: Spaltenname = 'Spaltenwert'
int *len Als Eingabe die Länge des reservierten Buffers auf den der Zeiger *filter verweist, als Ausgabe die Länge der übergebenen Zeichenkette.
int *piError Error erhält eine Fehlernummer nach Tabelle 1.3.3.
Rückgabewert:
0 Fehler bei Durchführung.
1 Erfolgreich durchgeführt.
Beschreibung:

Ermittelt das aktuell gesetzte Filterkriterium auf der Liste.

 

2.3.5     DFCClearFilter

Wird unterstützt ab Firmwareversion:
PZE-MasterIV, ZK-MasterIV, MDE-MasterIV: 04.01.01.30
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCClearFilter(int channelID, int deviceID, int handle, int *piError);

Exportiert von DFComDLL: _DFCClearFilter@16
Exportiert von DFCom_x64: DFCClearFilter
Parameter:
int channelID Der zu verwendende Kanal. Wertebereich: (1 - 350)
int deviceID Die zu verwendende Busnummer. Wertebereich: (1 - 250, 254)
int handle Der Listenhandle. Handle von vorherigem Aufruf von DFCOpenTable.
int *piError Error erhält eine Fehlernummer nach Tabelle 1.3.3.
Rückgabewert:
0 Fehler bei Durchführung.
1 Erfolgreich durchgeführt.
Beschreibung:

Entfernt einen gesetzten Filter von der Liste. Nach Aufruf dieser Funktion muss mit DFCSkip der Datensatzzeiger auf einen gültigen Datensatz verschoben werden.

 

2.3.6     DFCSkip

Wird unterstützt ab Firmwareversion:
PZE-MasterIV, ZK-MasterIV, MDE-MasterIV: 04.01.01.30
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCSkip(int channelID, int deviceID, int handle,
int offset, int origin, int *piError);

Exportiert von DFComDLL: _DFCSkip@24
Exportiert von DFCom_x64: DFCSkip
Parameter:
int channelID Der zu verwendende Kanal. Wertebereich: (1 - 350)
int deviceID Die zu verwendende Busnummer. Wertebereich: (1 - 250, 254)
int handle Der Listenhandle. Handle von vorherigem Aufruf von DFCOpenTable.
int offset Anzahl zu übergehenden Datensätze. Der Wert kann auch Negativ sein.
int origin Worauf sich Offset beziehen soll:
WertBedeutung
0vom Beginn der Liste.
1von aktueller Position in Liste.
2vom Ende der Liste.
int *piError Error erhält eine Fehlernummer nach Tabelle 1.3.3.
Rückgabewert:
0 Fehler bei Durchführung.
1 Erfolgreich durchgeführt.
Beschreibung:

Versetzen des Datensatzzeigers einer Liste.

 

2.3.7     DFCSetField

 Achtung: 
Bei Verwendung von sortierten Listen, darf die Sortierspalte (Schlüsselfel) nicht verändert werden, da keine automatische Umsortierung erfolgt.
Wird unterstützt ab Firmwareversion:
PZE-MasterIV, ZK-MasterIV, MDE-MasterIV: 04.01.01.30
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCSetField(int channelID, int deviceID,
int handle, char *name, char *value, int *piError); 

Exportiert von DFComDLL: _DFCSetField@24
Exportiert von DFCom_x64: DFCSetField
Parameter:
int channelID Der zu verwendende Kanal. Wertebereich: (1 - 350)
int deviceID Die zu verwendende Busnummer. Wertebereich: (1 - 250, 254)
int handle Der Listenhandle. Handle von vorherigem Aufruf von DFCOpenTable.
char *name Feldname.
char *value Wert der gesetzt werden soll.
int *piError Error erhält eine Fehlernummer nach Tabelle 1.3.3.
Rückgabewert:
0 Fehler bei Durchführung.
1 Erfolgreich durchgeführt.
Beschreibung:

Setzen eines Feldwerts.

 

2.3.8     DFCGetField

Wird unterstützt ab Firmwareversion:
PZE-MasterIV, ZK-MasterIV, MDE-MasterIV: 04.01.01.30
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCGetField(int channelID, int deviceID, int handle,
char *name, char *value, int *len, int *piError);

Exportiert von DFComDLL: _DFCGetField@28
Exportiert von DFCom_x64: DFCGetField
Parameter:
int channelID Der zu verwendende Kanal. Wertebereich: (1 - 350)
int deviceID Die zu verwendende Busnummer. Wertebereich: (1 - 250, 254)
int handle Der Listenhandle. Handle von vorherigem Aufruf von DFCOpenTable.
char *name Feldname.
char *value Value erhält die gelesenen Daten Feldes.
int *len Als Eingabe die Länge des Buffers auf den der Zeiger *value verweist, als Ausgabe die übergebene Anzahl Daten.
int *piError Error erhält eine Fehlernummer nach Tabelle 1.3.3.
Rückgabewert:
0 Fehler bei Durchführung.
1 Erfolgreich durchgeführt.
Beschreibung:

Lesen eines Feldwerts.

 

2.4     Funktionen für Daten

Sammeln der anfallenden Daten aus den Geräten und Interpretieren der gelieferten Informationen durch Abgleich mit Gerätekonfiguration.

2.4.1     DFCComClearData

 Achtung: 
Es ist nicht notwendig diese Funktion zu benutzen. Es ist davon sogar abzuraten, da aktuell eingegebene Daten ungeachtet gelöscht werden könnten.
Wird unterstützt ab Firmwareversion:
uneingeschränkt
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCComClearData(int iChannelNum, int iBusNum);

Exportiert von DFComDLL: _DFCComClearData@8
Exportiert von DFCom_x64: DFCComClearData
Parameter:
int iChannelNum Der zu verwendende Kanal. Wertebereich: (1 - 350)
int iBusNum Die zu verwendende Busnummer. Wertebereich: (1 - 250, 254)
Rückgabewert:
0 Bei der Befehlsausführung ist ein Fehler aufgetreten.
1 Funktion wurde erfolgreich ausgeführt.
Beschreibung:

Löscht alle Daten im Gerät. Rücksetzten der Schreib und Lesezeiger im Gerät auf Speicheranfang.

 

2.4.2     DFCComCollectData

Ruft intern die Funktion DFCReadRecord auf.
Wird unterstützt ab Firmwareversion:
uneingeschränkt
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCComCollectData(int iChannelNum, int iBusNum,
int *piError);

Exportiert von DFComDLL: _DFCComCollectData@12
Exportiert von DFCom_x64: DFCComCollectData
Parameter:
int iChannelNum Der zu verwendende Kanal. Wertebereich: (1 - 350)
int iBusNum Die zu verwendende Busnummer. Wertebereich: (1 - 250, 254)
int *piError Error erhält eine Fehlernummer nach Tabelle 1.3.3.
Rückgabewert:
-1 Fehler bei Durchführung.
0 Keine Daten vorhanden
1 Offline Daten vorhanden
2 Online Daten vorhanden
Beschreibung:
Liest alle vorhandenen Daten aus dem Gerät aus und speichert sie im internen DLL-Speicher. Ab der Firmware mit Majorversion >= 2 wird hier nur ein Datensatz aus dem Gerät gelesen und die Busnummer für die weiteren Datensatzanfragen mit DFCComGetDatensatz festgelegt.

Die Datensätze werden zwischen Online und Offline unterschieden.
Online - Daten sind Daten die gerade eingegeben wurden. Ihr Zeitbereich liegt im definierten Server - Timeout, in diesem wurden sie von der DLL ausgelesen. Online - Daten können geprüft werden und der Benutzer kann mittels Mitteilung zu einer Neueingabe aufgefordert werden (siehe DFCComSendMessage). Offline-Daten wurden nach dem Server - Timeout aufgenommen.

 

2.4.3     DFCComGetDatensatz

Ruft intern die Funktionen DFCQuitRecord, DFCReadRecord auf.
Wird unterstützt ab Firmwareversion:
uneingeschränkt
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCComGetDatensatz(int iChannelNum, unsigned char *pucBuf,
int *piLength, int *piError); 

Exportiert von DFComDLL: _DFCComGetDatensatz@16
Exportiert von DFCom_x64: DFCComGetDatensatz
Parameter:
int iChannelNum Der zu verwendende Kanal. Wertebereich: (1 - 350)
unsigned char *pucBuf Speicher, in dem die Daten abgelegt werden sollen.
 int *piLength Speicher in dem die Länge der gerade empfangen Daten gespeichert werden soll.
int *piError Error erhält eine Fehlernummer nach Tabelle 1.3.3.
Rückgabewert:
-1 Fehler bei Durchführung.
0 Keine Daten vorhanden.
1 Weitere Daten vorhanden.
2 Letzter Datensatz.
Beschreibung:
Gibt genau einen Datensatz an die aufrufende Anwendung zurück.
Ist unter mehreren Datensätzen ein Online-Datensatz vorhanden, so wird dieser immer als letzter Datensatz aus der DLL in die Anwendung übertragen (er ist ja auch derjenige, der zuletzt eingegeben wurde). Die im Datensatz enthaltene Datenstruktur ist in Kapitel 3 beschrieben. 
Ab der Firmwareversion mit Majorversion >= 2 wird hier der zuletzt gelesene Datensatz übergeben, dann quittiert und der nächste aus dem Gerät gelesen (wenn vorhanden). Auf diese art werden die Datensätze satzweiße aus dem Gerät geladen. Wenn mit dem vorherigen Aufruf der Funktion DFCComCollectData ein Online - Datensatz gemeldet wurde, wird dieser als erster geliefert.

 

2.4.4     DFCLoadDatensatzbeschreibung

Wird unterstützt ab Firmwareversion:
uneingeschränkt
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCLoadDatensatzbeschreibung(int iChannelNum, int iBusNum,
int *piError);

Exportiert von DFComDLL: _DFCLoadDatensatzbeschreibung@12
Exportiert von DFCom_x64: DFCLoadDatensatzbeschreibung
Parameter:
int iChannelNum Der zu verwendende Kanal. Wertebereich: (1 - 350)
int iBusNum Die zu verwendende Busnummer. Wertebereich: (1 - 250, 254)
int *piError Error erhält eine Fehlernummer nach Tabelle 1.3.3.
Rückgabewert:
0 Fehler bei Durchführung.
1 Erfolgreich durchgeführt.
Beschreibung:
Datensatzbeschreibungen aus dem Gerät lesen. Die Datensatzbeschreibungen werden in der DLL in einen Buffer abgelegt und können mit den Funktionen "DFCDatB..." ausgewertet werden.

 

2.4.5     DFCDatBCnt

Wird unterstützt ab Firmwareversion:
uneingeschränkt
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCDatBCnt(int iChannelNum); 

Exportiert von DFComDLL: _DFCDatBCnt@4
Exportiert von DFCom_x64: DFCDatBCnt
Parameter:
int iChannelNum Der zu verwendende Kanal. Wertebereich: (1 - 350)
Rückgabewert:
Anzahl Anzahl gefundener Datensatzbeschreibungen im Gerät.
Beschreibung:
Anzahl der ausgelesenen Datensatzbeschreibungen (nur gültig wenn vorher die Funktion "DFCLoadDatensatzbeschreibung" aufgerufen wurde).

 

2.4.6     DFCDatBDatensatz

Wird unterstützt ab Firmwareversion:
uneingeschränkt
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCDatBDatensatz(int iChannelNum,
int iDataNum, unsigned char *szName, int *piFieldCount);

Exportiert von DFComDLL: _DFCDatBDatensatz@16
Exportiert von DFCom_x64: DFCDatBDatensatz
Parameter:
int iChannelNum Der zu verwendende Kanal. Wertebereich: (1 - 350)
int iDataNum Nummer der Datensatzbeschreibung aus Setup.
(wird ab 0 gezählt)
unsigned char *szName Name der Datensatzbeschreibung.
(Speicher für Name muss min. 17 Byte haben) 
int *piFieldCount Anzahl Felder der Datensatzbeschreibung.
Rückgabewert:
0 Datensatzbeschreibung im Gerät nicht vorhanden.
1 Daten wurden übergeben.
Beschreibung:
Daten einer Datensatzbeschreibung abrufen (nur gültig wenn vorher die Funktion "DFCLoadDatensatzbeschreibung" aufgerufen wurde). Im Gerät können Datensätze mit unterschiedlichem Format gespeichert werden. Im Setup-Programm werden die Datensätze unter dem Punkt "Datensatzbeschreibungen" festgelegt. Die erste Datensatzbeschreibung im Setup-Baum hat die Nummer 0, die zweite die Nummer 1 ...

 

2.4.7     DFCDatBFeld

Wird unterstützt ab Firmwareversion:
uneingeschränkt
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCDatBFeld(int iChannelNum, int iDataNum,
int iField, unsigned char *szName, int *piType, int *piLength);

Exportiert von DFComDLL: _DFCDatBFeld@24
Exportiert von DFCom_x64: DFCDatBFeld
Parameter:
int iChannelNum Der zu verwendende Kanal. Wertebereich: (1 - 350)
int iDataNum Nummer der Datensatzbeschreibung (wird ab 0 gezählt).
int iField Feld der Datensatzbeschreibung entsprechend Reihenfolge im Setup (wird ab 0 gezählt).
unsigned char *szName Name des Feldes. (Speicher für Name muss min. 17 Byte haben)
int *piType Datentyp des Feldes wie im Setup definiert:
WertBedeutung
1unsigned long 4 Byte
2Date und Time 7 Byte
3wie Typ 4, es sind jedoch nur Ziffern erlaubt
4Alpha-Numerisch ASCII
5Datum 4 Byte Y100,Y,M,D
6Zeit 3 Byte (Stunde, Minute, Sekunde)
int *piLength Länge des Feldes in Byte. Bei Typ 3 und 4 wird die abschließende "0" mitgezählt.
z.B. ASCII-Feld 15 Zeichen, Len = 15 + 1 = 16 Byte
Rückgabewert:
0 Datensatzbeschreibung oder Feldnummer im Gerät nicht vorhanden.
1 Daten wurden übergeben.
Beschreibung:
Daten eines Feldes einer Datensatzbeschreibung abrufen (nur gültig wenn vorher die Funktion "DFCLoadDatensatzbeschreibung" aufgerufen wurde).

 

2.4.8     DFCReadRecord

Wird unterstützt ab Firmwareversion:
uneingeschränkt
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCReadRecord(int channelID, int deviceID,
char *buf, int *length, int *err);

Exportiert von DFComDLL: _DFCReadRecord@20
Exportiert von DFCom_x64: DFCReadRecord
Parameter:
int channelID Der zu verwendende Kanal. Wertebereich: (1 - 350)
int deviceID Die zu verwendende Busnummer. Wertebereich: (1 - 250, 254)
char *buf Speicher, in dem die Daten abgelegt werden sollen.
int *length Speicher in dem die Länge der gerade empfangen Daten gespeichert werden soll.
int *err Error erhält eine Fehlernummer nach Tabelle 1.3.3.
Rückgabewert:
-1 Fehler bei Durchführung.
0 Es liegen keine Datensätze vor.
1 Daten eines Online - Datensatzes gelesen.
2 Wiederholt die Daten eines Online - Datensatzes gelesen.
3 Daten eines Offline - Datensatzes gelesen.
4 Wiederholt die Daten eines Offline - Datensatzes gelesen.
Beschreibung:
Lesen der Daten des nächsten anstehenden Datensatzes. Nachdem der Datensatz gelesen wurde, muss mit DFCQuitRecord dieser quittiert werden. Erst wenn der Datensatz mit DFCQuitRecord erfolgreich quittiert wurde, kann mit einem folgenden Aufruf von DFCReadRecord der nächste anstehende Datensatz gelesen werden.

 

2.4.9     DFCQuitRecord

Wird unterstützt ab Firmwareversion:
uneingeschränkt
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCQuitRecord(int channelID, int deviceID, int *err);

Exportiert von DFComDLL: _DFCQuitRecord@12
Exportiert von DFCom_x64: DFCQuitRecord
Parameter:
int channelID Der zu verwendende Kanal. Wertebereich: (1 - 350)
int deviceID Die zu verwendende Busnummer. Wertebereich: (1 - 250, 254)
int *err Error erhält eine Fehlernummer nach Tabelle 1.3.3.
Rückgabewert:
-1 Fehler bei Durchführung.
0 Keine Quittung nötig.
1 Daten eines Online - Datensatzes quittiert.
2 Wiederholt die Daten eines Online - Datensatzes quittiert.
3 Daten eines Offline - Datensatzes quittiert.
4 Wiederholt die Daten eines Offline - Datensatzes quittiert.
Beschreibung:
Quittieren (löschen) der Daten des zuvor mit DFCReadRecord gelesenen Datensatzes.

 

2.4.10     DFCRestoreRecords

Wird unterstützt ab Firmwareversion:
04.01.06
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCRestoreRecords(int channelID, int deviceID, int *piError);

Exportiert von DFComDLL: _DFCRestoreRecords@12
Exportiert von DFCom_x64: DFCRestoreRecords
Parameter: 
int channelID Der zu verwendende Kanal. Wertebereich: (1 - 350)
int deviceID Die zu verwendende Busnummer. Wertebereich: (1 - 250, 254)
int *piError Error erhält eine Fehlernummer nach Tabelle 1.3.3.
Rückgabewert: 
0 Fehler bei Durchführung.
1 Erfolgreich durchgeführt.
Beschreibung:
Setzt den Geräteinternen Datensatzspeicher auf den ersten gültigen Datensatz zurück. Nach erfolgreicher Ausführung des Befehls, können alle Datensätze erneut ausgelesen werden.
Achtung: Ggf. kann durch das Rücksetzen des Datenspeichers eine große Datensatzmenge abrufbreit sein.

 

2.5     Funktionen für Listen

Aufbereiten von Listendaten und laden dieser in die Geräte.

2.5.1     DFCMakeListe

Wird unterstützt ab Firmwareversion:
uneingeschränkt
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCMakeListe(
int iChannelNum, int iListNum, int iLineCount, int iListSize,
unsigned char *pucBuf, int iListMemSizeNum);

Exportiert von DFComDLL: _DFCMakeListe@24
Exportiert von DFCom_x64: DFCMakeListe
Parameter:
int iChannelNum Der zu verwendende Kanal. Wertebereich: (1 - 350)
int iListNum  Ist die Nummer der Liste entsprechend der Listenbeschreibung im Setup. Die erste Listenbeschreibung im Setup hat die Nummer "0".
int iLineCount Anzahl der Zeilen (Datensätze) der Liste.
int iListSize Gesamtgröße der Liste in Byte.
Berechnet sich aus "iLineCount" mal Anzahl der Byte pro Zeile.
unsigned char *pucBuf Zeiger auf die Listendaten.
int iListMemSizeNum Größe des Speichers für Listen.
Muss beim AE III+ immer "0" sein (ist vom Timeboy übernommen). Es sind (100kByte / (256kByte - 12kByte Verwaltungsdaten => 244kByte) für Listen fest eingestellt.
Rückgabewert:
0 Fehler bei Durchführung.
1 Erfolgreich durchgeführt.
Beschreibung:
Daten einer Liste in den internen Buffer der DLL schreiben.
Die Listendaten müssen immer exakt mit der Listenbeschreibung im Setup übereinstimmen.  Zeichenketten sind mit NULL (Hexadezimalwert 0x00, nicht zu verwechseln mit ASCII Zeichen "0", Hexadezimalwert 0x30) auf die im Setup vorgegebene Feldlänge zu füllen. Zusätzlich ist die abschließende NULL zu beachten.
Wenn im Setup eine Zeichenkette mit 16 Zeichen angelegt wurde, ist die Feldlänge exakt 17 Byte. Trennzeichen zwischen den Feldern und den Zeilen werden nicht verwendet.

Beispiel:
Liste mit 2 Feldern:
Personalnummer (nur Ziffern) 4 Byte;
Name Zeichenkette (ASCII - Zeichen) 16 Zeichen.
Eine Zeile besteht dann aus genau 4 + 1 + 16 + 1 = 22 Byte. Wenn 3 Zeilen angelegt werden sind exakt 3*22 = 66 Byte anzulegen.

 

2.5.2     DFCLoadListen

 Achtung: 
Bitte beachten Sie, daß in den MasterIV-Geräten ein Flashspeicher zum Einsatz kommt. Laut dem Hersteller kann jeder Speicherblock (512Byte) maximal 100.000 mal beschrieben werden. Die Firmware der Geräte verteilt die Zugriffslast auf die einzelnen Speicherblöcke und markiert intern defekte Blöcke. Es ist jedoch trotz dieses Sicherheitsmechanismus von all zu häufiger Übertragung der Listendaten abzuraten. Die Applikation sollte nur bei Änderungen die Listen neu übertagen und nicht zyklisch permanent.
Wird unterstützt ab Firmwareversion:
uneingeschränkt
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCLoadListen(int iChannelNum, int iBusNum,
int *piError);

Exportiert von DFComDLL: _DFCLoadListen@12
Exportiert von DFCom_x64: DFCLoadListen
Parameter:
int iChannelNum Der zu verwendende Kanal. Wertebereich: (1 - 350)
int iBusNum Die zu verwendende Busnummer. Wertebereich: (1 - 250, 254)
int *piError Error erhält eine Fehlernummer nach Tabelle 1.3.3.
Rückgabewert:
0 Fehler bei Durchführung.
1 Erfolgreich durchgeführt.
Beschreibung:
Listendaten aus internen Buffer der DLL in das Gerät laden. Upload der zuvor mit DFCMakeListe erstellten Listendaten. Wenn die Firmwareversion die importierte Menge der Listendaten nicht unterstützt, wird die Fehlermeldung 13 (siehe Tabelle 1.3.3) zurückgegeben. Die Firmwarestände des AEIII+, sowie Firmwarestände des PZE-MasterIV bis 04.00.23 unterstützen 100kByte Listenspeicher, spätere Versionen wie 04.00.23 ca. 256kByte.

 

2.5.3     DFCClrListenBuffer

Wird unterstützt ab Firmwareversion:
uneingeschränkt
Deklaration:
extern "C" __declspec(dllexport)
void __stdcall DFCClrListenBuffer(int iChannelNum);

Exportiert von DFComDLL: _DFCClrListenBuffer@4
Exportiert von DFCom_x64: DFCClrListenBuffer
Parameter:
int iChannelNum Der zu verwendende Kanal. Wertebereich: (1 - 350)
Rückgabewert:
keiner  
Beschreibung:
Die Listendaten im Buffer der DLL werden gelöscht.

 

2.5.4     DFCLoadListenbeschreibung

Wird unterstützt ab Firmwareversion:
uneingeschränkt
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCLoadListenbeschreibung(int iChannelNum, int iBusNum,
int *piError);

Exportiert von DFComDLL: _DFCLoadListenbeschreibung@12
Exportiert von DFCom_x64: DFCLoadListenbeschreibung
Parameter:
int iChannelNum Der zu verwendende Kanal. Wertebereich: (1 - 350)
int iBusNum Die zu verwendende Busnummer. Wertebereich: (1 - 250, 254)
int *piError Error erhält eine Fehlernummer nach Tabelle 1.3.3.
Rückgabewert:
0 Fehler bei Durchführung.
1 Erfolgreich durchgeführt.
Beschreibung:
Listenbeschreibungen aus dem Gerät lesen. Die Listenbeschreibungen werden in der DLL in einen Buffer abgelegt und können mit den Funktionen "DFCListB..." ausgewertet werden.

 

2.5.5     DFCListBCnt

Wird unterstützt ab Firmwareversion:
uneingeschränkt
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCListBCnt(int iChannelNum);

Exportiert von DFComDLL: _DFCListBCnt@4
Exportiert von DFCom_x64: DFCListBCnt
Parameter:
int iChannelNum Der zu verwendende Kanal. Wertebereich: (1 - 350)
Rückgabewert:
Anzahl Anzahl gefundener Listenbeschreibungen im Gerät.
Beschreibung:
Anzahl der ausgelesenen Listenbeschreibungen (nur gültig wenn vorher die Funktion "DFCLoadListenbeschreibung" aufgerufen wurde). 

 

2.5.6     DFCListBDatensatz

Wird unterstützt ab Firmwareversion:
uneingeschränkt
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCListBDatensatz(int iChannelNum, int iDataNum,
unsigned char *szName, int *piFieldCount, int *piVar);

Exportiert von DFComDLL: _DFCListBDatensatz@20
Exportiert von DFCom_x64: DFCListBDatensatz
Parameter:
int iChannelNum Der zu verwendende Kanal. Wertebereich: (1 - 350)
int iDataNum Nummer der Listenbeschreibung aus Setup.
(wird ab 0 gezählt).

Ab DLL - Verison 02.00.22 Bereich:
100 - 103 für Zutrittslisten Version 1. (z. B. 102 für Liste "Personalstamm")
Offsetnummern der Listen siehe DFCMakeEntranceList.

Ab DLL - Version 04.01.00 Bereich:
200 - 207 für Zutrittslisten Version 2. (z. B. 203 für Liste "Time")
Offsetnummern der Listen siehe DFCMakeEntrance2List.

unsigned char *szName Name der Listenbeschreibung.
(Speicher für Name muss min. 17 Byte haben).
int *piFieldCount Anzahl Felder der Liste.
int *piVar Ob Variable Liste. Immer 0. 
(Ist vorhanden wegen Kompatibilität mit Timeboy).
Rückgabewert:
0 Listenbeschreibung im Gerät nicht vorhanden.
1 Daten wurden übergeben.
Beschreibung:
Daten einer Listenbeschreibung abrufen (nur gültig wenn vorher die Funktion "DFCLoadListenbeschreibung" aufgerufen wurde, dieses wird bei Zutrittslisten nicht benötigt). Im Gerät können Listen mit unterschiedlichem Format gespeichert werden. Im Setup - Programm werden die Listen unter dem Punkt "Listenbeschreibungen" festgelegt. Die erste Listenbeschreibung im Setup-Baum hat die Nummer 0, die zweite die Nummer 1 ...

 

2.5.7     DFCListBFeld

Wird unterstützt ab Firmwareversion:
uneingeschränkt
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCListBFeld(int iChannelNum, int iDataNum,
int iField, unsigned char *szName, int *piType, int *piLength);

Exportiert von DFComDLL: _DFCListBFeld@24
Exportiert von DFCom_x64: DFCListBFeld
Parameter: 
int iChannelNum Der zu verwendende Kanal. Wertebereich: (1 - 350)
int iDataNum Nummer der Listenbeschreibung aus Setup.
(wird ab 0 gezählt).

Ab DLL - Verison 02.00.22 Bereich:
100 - 103 für Zutrittslisten Version 1. (z. B. 102 für Liste "Personalstamm")
Offsetnummern der Listen siehe DFCMakeEntranceList.

Ab DLL - Version 04.01.00 Bereich:
200 - 206 für Zutrittslisten Version 2. (z. B. 203 für Liste "Time")
Offsetnummern der Listen siehe DFCMakeEntrance2List.

int iField Feld der Listenbeschreibung entsprechend Reihenfolge im Setup. 
(wird ab 0 gezählt).
unsigned char *szName Name des Feldes.
(Speicher für Name muss min. 17 Byte haben) 
int *piType Datentyp des Feldes wie im Setup definiert:
WertBedeutung
1unsigned long 4 Byte
2Date und Time 7 Byte
3wie Typ 4, es sind jedoch nur Ziffern erlaubt.
4Alpha-Numerisch ASCII.
5Datum 4 Byte Y100,Y,M,D.
6Zeit 3 Byte (Stunde, Minute, Sekunde).
int *piLength Länge des Feldes in Byte wie im Setup definiert. Bei Typ 3 und 4 wird die anbschliesende "0" mitgezählt.
z.B.: ASCII-Feld 15 Zeichen, Len = 15 + 1 = 16 Byte
Rückgabewert: 
0 Listenbeschreibung oder Feldnummer im Gerät nicht vorhanden.
1 Daten wurden übergeben.
Beschreibung:
Daten eines Feldes einer Listenbeschreibung abrufen (nur gültig wenn vorher die Funktion "DFCLoadListenbeschreibung" aufgerufen wurde, dieses wird bei Zutrittslisten nicht benötigt).

 

2.6     Funktionen für Zutrittskontrolllisten (Version 1)

Aufbereiten und laden von Listendaten für die Zutrittskontrolle.

2.6.1     DFCMakeEntranceList

Wird unterstützt ab Firmwareversion:
03.01.00, 04.00.00
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCMakeEntranceList(
int iChannelNum, int iListNum, int iLineCount, int iListSize,
unsigned char *pucBuf, int *piError);

Exportiert von DFComDLL: _DFCMakeEntranceList@24
Exportiert von DFCom_x64: DFCMakeEntranceList
Parameter:
int iChannelNum Der zu verwendende Kanal. Wertebereich: (1 - 250)
int iListNum  Ist die Nummer der Liste entsprechend der Listenbeschreibung im Setup unter Baumeintrag Zutrittskontrolle. Die erste Listenbeschreibung unter dem Eintrag hat die Nummer "0".
int iLineCount Anzahl der Zeilen (Datensätze) der Liste.
int iListSize Gesamtgröße der Liste in Byte.
Berechnet sich aus "iLineCount" mal Anzahl der Byte pro Zeile.
unsigned char *pucBuf Zeiger auf die Listendaten.
int *piError Error erhält eine Fehlernummer nach Tabelle 1.3.3.
Rückgabewert:
0 Fehler bei Durchführung.
1 Erfolgreich durchgeführt.
Beschreibung:
Daten einer Liste in den internen Buffer der DLL schreiben.

Die Listendaten müssen immer exakt mit der Listenbeschreibung im Setup übereinstimmen.  Zeichenketten sind mit NULL (Hexadezimalwert 0x00, nicht zu verwechseln mit ASCII Zeichen "0", Hexadezimalwert 0x30) auf die im Setup vorgegebene Feldlänge zu füllen. Zusätzlich ist die abschließende NULL zu beachten.
Wenn im Setup eine Zeichenkette mit 16 Zeichen angelegt wurde, ist die Feldlänge exakt 17 Byte. Trennzeichen zwischen den Feldern und den Zeilen werden nicht verwendet.

Beispiel:
Liste mit 2 Feldern:
Personalnummer Zeichenkette (nur Ziffern) 4 Byte;
Name Zeichenkette (ASCII - Zeichen) 16 Zeichen.
Eine Zeile besteht dann aus genau 4 + 1 + 16 + 1 = 22 Byte. Wenn 3 Zeilen angelegt werden sind exakt 3*22 = 66 Byte anzulegen.

Die Listendaten werden in der DLL für das Gerät komprimiert und sortiert aufbereitet, dadurch kann der Aufruf bei einer Personalliste mit 5120 Einträgen im ungünstigsten Fall bis zu 7 Sekunden dauern.

Bedeutung des Parameters iListNum ist:
0: Zeitzonen (22 Byte) "zu komprimierten (6 Byte) max. 16 DS möglich"
1: Zeitmodelle (35 Byte) "zu komprimierten (3 Byte) max. 32 DS möglich"
2: Personalstamm (19 Byte) "zu komprimierten (16 Byte) max. 5120 DS möglich"
3: Feiertage (16 Byte) "zu komprimierten (6 Byte) max. 64 DS möglich"

 

2.6.2     DFCLoadEntranceList

 Achtung: 
Bitte beachten Sie, daß in den MasterIV-Geräten ein Flashspeicher zum Einsatz kommt. Laut dem Hersteller kann jeder Speicherblock (512Byte) maximal 100.000 mal beschrieben werden. Die Firmware der Geräte verteilt die Zugriffslast auf die einzelnen Speicherblöcke und markiert intern defekte Blöcke. Es ist jedoch trotz dieses Sicherheitsmechanismus von all zu häufiger Übertragung der Listendaten abzuraten. Die Applikation sollte nur bei Änderungen die Listen neu übertagen und nicht zyklisch permanent.
Wird unterstützt ab Firmwareversion:
03.01.00, 04.00.00
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCLoadEntranceList(int iChannelNum, int iBusNum,
int iListNum, int *piError);

Exportiert von DFComDLL: _DFCLoadEntranceList@16
Exportiert von DFCom_x64: DFCLoadEntranceList
Parameter:
int iChannelNum Der zu verwendende Kanal. Wertebereich: (1 - 250)
int iBusNum Die zu verwendende Busnummer. Wertebereich: (1 - 250, 254)
int iListNum Ist die Nummer der Liste entsprechend der Listenbeschreibung im Setup unter Baumeintrag Zutrittskontrolle. Die erste Listenbeschreibung unter dem Eintrag hat die Nummer "0". Mit "-1" werden alle Listen angesprochen.
int *piError Error erhält eine Fehlernummer nach Tabelle 1.3.3.
Rückgabewert:
0 Fehler bei Durchführung.
1 Erfolgreich durchgeführt.
Beschreibung:
Listendaten aus internen Buffer der DLL in das Gerät laden. Upload der zuvor erstellten Listendaten. Mit der Angabe "-1" als Listennummer werden alle Listenbuffer übertragen, wobei der Import aller Listen abgeschlossen sein sollte.

 

2.6.3     DFCClearEntranceListBuffer

Wird unterstützt ab Firmwareversion:
03.01.00, 04.00.00
Deklaration:
extern "C" __declspec(dllexport)
void __stdcall DFCClearEntranceListBuffer(int iChannelNum, int iListNum);

Exportiert von DFComDLL: _DFCClearEntranceListBuffer@8
Exportiert von DFCom_x64: DFCClearEntranceListBuffer
Parameter:
int iChannelNum Der zu verwendende Kanal. Wertebereich: (1 - 250)
int iListNum Ist die Nummer der Liste entsprechend der Listenbeschreibung im Setup unter Baumeintrag Zutrittskontrolle. Die erste Listenbeschreibung unter dem Eintrag hat die Nummer "0". Mit "-1" werden alle Listen angesprochen.
Rückgabewert:
keiner  
Beschreibung:
Der Buffer für die Listendaten wird gelöscht. Mit der Angabe "-1" als Listennummer werden alle für die Zutrittskontrolle zur Verfügung gestellten Buffer gelöscht.

 

2.7     Funktionen für Zutrittskontrolllisten (Version 2)

Aufbereiten und laden von Listendaten für die Zutrittskontrolle.

2.7.1     DFCMakeEntrance2List

Wird unterstützt ab Firmwareversion:
04.01.00
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCMakeEntrance2List(
int iChannelNum, int iListNum, int iLineCount, int iListSize,
unsigned char *pucBuf, int *piError);

Exportiert von DFComDLL: _DFCMakeEntrance2List@24
Exportiert von DFCom_x64: DFCMakeEntrance2List
Parameter:
int iChannelNum Der zu verwendende Kanal. Wertebereich: (1 - 350)
int iListNum  Ist die Nummer der Liste entsprechend der Listenbeschreibung im Setup unter Baumeintrag Zutrittskontrolle. Die erste Listenbeschreibung unter dem Eintrag hat die Nummer "0".
int iLineCount Anzahl der Zeilen (Datensätze) der Liste.
int iListSize Gesamtgröße der Liste in Byte.
Berechnet sich aus "iLineCount" mal Anzahl der Byte pro Zeile.
unsigned char *pucBuf Zeiger auf die Listendaten.
int *piError Error erhält eine Fehlernummer nach Tabelle 1.3.3.
Rückgabewert:
0 Fehler bei Durchführung.
1 Erfolgreich durchgeführt.
Beschreibung:
Daten einer Liste in den internen Buffer der DLL schreiben.

Die Listendaten müssen immer exakt mit der Listenbeschreibung im Setup übereinstimmen.  Zeichenketten sind mit NULL (Hexadezimalwert 0x00, nicht zu verwechseln mit ASCII Zeichen "0", Hexadezimalwert 0x30) auf die im Setup vorgegebene Feldlänge zu füllen. Zusätzlich ist die abschließende NULL zu beachten.
Wenn im Setup eine Zeichenkette mit 16 Zeichen angelegt wurde, ist die Feldlänge exakt 17 Byte. Trennzeichen zwischen den Feldern und den Zeilen werden nicht verwendet.

Beispiel:
Liste mit 2 Feldern:
Personalnummer Zeichenkette (nur Ziffern) 4 Byte;
Name Zeichenkette (ASCII - Zeichen) 16 Zeichen.
Eine Zeile besteht dann aus genau 4 + 1 + 16 + 1 = 22 Byte. Wenn 3 Zeilen angelegt werden sind exakt 3*22 = 66 Byte anzulegen.

Bedeutung des Parameters iListNum ist:
0: Reader (33 Byte)
1: Identification (64 Byte)
2: Location (20 Byte)
3: Time (25 Byte)
4: Holiday (21 Byte)
5: Events (17 Byte)
6: Action (21 Byte)
7: Action2 (39 Byte)

 

2.7.2     DFCLoadEntrance2List

 Achtung: 
Bitte beachten Sie, daß in den MasterIV-Geräten ein Flashspeicher zum Einsatz kommt. Laut dem Hersteller kann jeder Speicherblock (512Byte) maximal 100.000 mal beschrieben werden. Die Firmware der Geräte verteilt die Zugriffslast auf die einzelnen Speicherblöcke und markiert intern defekte Blöcke. Es ist jedoch trotz dieses Sicherheitsmechanismus von all zu häufiger Übertragung der Listendaten abzuraten. Die Applikation sollte nur bei Änderungen die Listen neu übertagen und nicht zyklisch permanent.
Wird unterstützt ab Firmwareversion:
04.01.00
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCLoadEntrance2List(int iChannelNum, int iBusNum,
int iListNum, int *piError);

Exportiert von DFComDLL: _DFCLoadEntrance2List@16
Exportiert von DFCom_x64: DFCLoadEntrance2List
Parameter:
int iChannelNum Der zu verwendende Kanal. Wertebereich: (1 - 350)
int iBusNum Die zu verwendende Busnummer. Wertebereich: (1 - 250, 254)
int iListNum Ist die Nummer der Liste entsprechend der Listenbeschreibung im Setup unter Baumeintrag Zutrittskontrolle 2. Die erste Listenbeschreibung unter dem Eintrag hat die Nummer "0". Mit "-1" werden alle zuvor importierten Listen angesprochen.
int *piError Error erhält eine Fehlernummer nach Tabelle 1.3.3.
Rückgabewert:
0 Fehler bei Durchführung.
1 Erfolgreich durchgeführt.
Beschreibung:
Listendaten aus internen Buffer der DLL in das Gerät laden. Upload der zuvor erstellten Listendaten. Mit der Angabe "-1" als Listennummer werden alle belegten Listenbuffer übertragen.

 

2.7.3     DFCClearEntrance2ListBuffer

Wird unterstützt ab Firmwareversion:
04.01.00
Deklaration:
extern "C" __declspec(dllexport)
void __stdcall DFCClearEntrance2ListBuffer(int iChannelNum, int iListNum);

Exportiert von DFComDLL: _DFCClearEntrance2ListBuffer@8
Exportiert von DFCom_x64: DFCClearEntrance2ListBuffer
Parameter:
int iChannelNum Der zu verwendende Kanal. Wertebereich: (1 - 350)
int iListNum Ist die Nummer der Liste entsprechend der Listenbeschreibung im Setup unter Baumeintrag Zutrittskontrolle. Die erste Listenbeschreibung unter dem Eintrag hat die Nummer "0". Mit "-1" werden alle Listen angesprochen.
Rückgabewert:
keiner  
Beschreibung:
Der Buffer für die Listendaten wird gelöscht. Mit der Angabe "-1" als Listennummer werden alle für die Zutrittskontrolle zur Verfügung gestellten Buffer gelöscht.

 

2.7.4     DFCEntrance2Identification

Wird unterstützt ab Firmwareversion:
04.01.04
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCEntrance2Identification(int channelID, int deviceID,
char *TM, char *Id, char *Pin, char *status, int *len, int *piError);

Exportiert von DFComDLL: _DFCEntrance2Identification@32
Exportiert von DFCom_x64: DFCEntrance2Identification
Parameter:
int channelID Der zu verwendende Kanal. Wertebereich: (1 - 350)
int deviceID Die zu verwendende Busnummer. Wertebereich: (1 - 250, 254)
char *TM Der Wert der Zeichenfolge auf den dieser Zeiger verweist, muss dem Format des Feldes "TM" der "Reader" Liste folgen. Er muss demnach immer 3 Ziffern umfassen.
char *Id Der Wert der Zeichenfolge auf den dieser Zeiger verweist, muss dem Format des Feldes "Id" der "Identification" Liste folgen. Er darf maximal 20 Zeichen lang sein.
char *Pin Der Wert der Zeichenfolge auf den dieser Zeiger verweist, muss dem Format des Feldes "Pin" der "Identification" Liste folgen. Er darf maximal 8 Ziffern beinhalten.
char *status Zeiger auf Zeichenkette die nach erfolgreicher Abarbeitung der Funktion den Status der Zutrittsprüfung erhält. Sie sollten mindestens 5 Zeichen vorsehen.
int *len Als Eingabe die Länge des Buffers auf den der Zeiger *status verweist, als Ausgabe die übergebene Anzahl Zeichen.
int *piError Error erhält eine Fehlernummer nach Tabelle 1.3.3.
Rückgabewert:
0 Fehler bei Durchführung.
1 Erfolgreich durchgeführt
Beschreibung:
Durch Aufruf dieser Funktion kann eine Zutrittsbuchung per DLL ausgeführt werden. Die Funktion lässt sich aus Sicherheitsgründen nur auf Ausweise anwenden die im Feld "ActiveGeneral" der "Identification" Liste entweder den Wert "2" oder "9" eingetragen haben.  

Nähere Informationen für die zu übergebenen Feldwerte (TM, Id, Pin) sowie den zurückgelieferten Status (status) entnehmen Sie bitte dem jeweiligen Handbuch aus dem Kapitel "Zutrittskontrolle 2" und Unterkapitel "Statusmeldungen der Zutrittskontrolle".

 

2.7.5    DFCEntrance2OnlineAction

Wird unterstützt ab Firmwareversion:
04.01.05
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCEntrance2OnlineAction(int channelID, int deviceID,
char *TM, int mask, int type, int duration, int *piError);

Exportiert von DFComDLL: _DFCEntrance2OnlineAction@28
Exportiert von DFCom_x64: DFCEntrance2OnlineAction
Parameter:
int channelID Der zu verwendende Kanal. Wertebereich: (1 - 350)
int deviceID Die zu verwendende Busnummer. Wertebereich: (1 - 250, 254)
char *TM Der Wert der Zeichenfolge auf den dieser Zeiger verweist, muss dem Format des Feldes "TM" der "Reader" Liste folgen. Er muss demnach immer 3 Ziffern umfassen.
int mask Enthält den Wert der zu schaltenden Komponenten:
Bit Nr.Bedeutung
0Bei gesetztem Bit, wird der Buzzer angesprochen.
1Bei gesetztem Bit, wird die grüne LED angesprochen.
2Bei gesetztem Bit, wird die rote LED angesprochen.
3Bei gesetztem Bit, wird das erste Relais angesprochen.
4Bei gesetztem Bit, wird das zweite Relais angesprochen.
...Unbenutzt. Bitte immer 0.
int type
Nr.Bedeutung
0Aus
1Ein
2Wechsel (600ms an, 600ms aus)
33 x Wechsel (400ms an, 400ms aus)
int duration Ist eine Zeitdauer und nur bei type = 1 gültig.
Bedeutung: 0 = ständig ein, 1 - 40 = Sekunden ein.
int *piError Error erhält eine Fehlernummer nach Tabelle 1.3.3.
Rückgabewert:
0 Fehler bei Durchführung.
1 Erfolgreich durchgeführt
Beschreibung:
Durch Aufruf dieser Funktion kann der Buzzer, LED oder Relais auf einem Zutrittsmodul per DLL geschaltet werden.

 

2.7.6     DFCAccessControlIdentification

Wird unterstützt ab Firmwareversion:
04.03.04
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCAccessControlIdentification(int channelID, int deviceID,
int masterId, char *TM, char *Id, char *Pin, char *status, int *len, int *piError);

Exportiert von DFComDLL: _DFCAccessControlIdentification@36
Exportiert von DFCom_x64: DFCAccessControlIdentification
Parameter:
int channelID Der zu verwendende Kanal. Wertebereich: (1 - 350)
int deviceID Die zu verwendende Busnummer. Wertebereich: (1 - 250, 254)
int masterId Die MasterId entspricht dem Zutrittsbus bei Geräten mit mehreren Bussen. (Standard ist 1) Wertebereich: (1 - 9999)
char *TM Der Wert der Zeichenfolge auf den dieser Zeiger verweist, muss dem Format des Feldes "TM" der "Reader" Liste folgen. Er muss demnach immer 3 Ziffern umfassen.
char *Id Der Wert der Zeichenfolge auf den dieser Zeiger verweist, muss dem Format des Feldes "Id" der "Identification" Liste folgen. Er darf maximal 20 Zeichen lang sein.
char *Pin Der Wert der Zeichenfolge auf den dieser Zeiger verweist, muss dem Format des Feldes "Pin" der "Identification" Liste folgen. Er darf maximal 8 Ziffern beinhalten.
char *status Zeiger auf Zeichenkette die nach erfolgreicher Abarbeitung der Funktion den Status der Zutrittsprüfung erhält. Sie sollten mindestens 5 Zeichen vorsehen.
int *len Als Eingabe die Länge des Buffers auf den der Zeiger *status verweist, als Ausgabe die übergebene Anzahl Zeichen.
int *piError Error erhält eine Fehlernummer nach Tabelle 1.3.3.
Rückgabewert:
0 Fehler bei Durchführung.
1 Erfolgreich durchgeführt
Beschreibung:
Durch Aufruf dieser Funktion kann eine Zutrittsbuchung per DLL ausgeführt werden. Die Funktion lässt sich aus Sicherheitsgründen nur auf Ausweise anwenden die im Feld "ActiveGeneral" der "Identification" Liste entweder den Wert "2" oder "9" eingetragen haben.  

Nähere Informationen für die zu übergebenen Feldwerte (masterId, TM, Id, Pin) sowie den zurückgelieferten Status (status) entnehmen Sie bitte dem jeweiligen Handbuch aus dem Kapitel "Zutrittskontrolle 2" und Unterkapitel "Statusmeldungen der Zutrittskontrolle".

 

2.7.7    DFCAccessControlOnlineAction

Wird unterstützt ab Firmwareversion:
04.03.04
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCAccessControlOnlineAction(int channelID, int deviceID,
int masterId, char *TM, int mask, int type, int duration, int *piError);

Exportiert von DFComDLL: _DFCAccessControlOnlineAction@32
Exportiert von DFCom_x64: DFCAccessControlOnlineAction
Parameter:
int channelID Der zu verwendende Kanal. Wertebereich: (1 - 350)
int deviceID Die zu verwendende Busnummer. Wertebereich: (1 - 250, 254)
int masterId Die MasterId entspricht dem Zutrittsbus bei Geräten mit mehreren Bussen. (Standard ist 1) Wertebereich: (1 - 9999)
char *TM Der Wert der Zeichenfolge auf den dieser Zeiger verweist, muss dem Format des Feldes "TM" der "Reader" Liste folgen. Er muss demnach immer 3 Ziffern umfassen.
int mask Enthält den Wert der zu schaltenden Komponenten:
Bit Nr.Bedeutung
0Bei gesetztem Bit, wird der Buzzer angesprochen.
1Bei gesetztem Bit, wird die grüne LED angesprochen.
2Bei gesetztem Bit, wird die rote LED angesprochen.
3Bei gesetztem Bit, wird das erste Relais angesprochen.
4Bei gesetztem Bit, wird das zweite Relais angesprochen.
...Unbenutzt. Bitte immer 0.
int type
Nr.Bedeutung
0Aus
1Ein
2Wechsel (600ms an, 600ms aus)
33 x Wechsel (400ms an, 400ms aus)
int duration Ist eine Zeitdauer und nur bei type = 1 gültig.
Bedeutung: 0 = ständig ein, 1 - 40 = Sekunden ein.
int *piError Error erhält eine Fehlernummer nach Tabelle 1.3.3.
Rückgabewert:
0 Fehler bei Durchführung.
1 Erfolgreich durchgeführt
Beschreibung:
Durch Aufruf dieser Funktion kann der Buzzer, LED oder Relais auf einem Zutrittsmodul im entsprechenden Zutrittsbus per DLL geschaltet werden.

 

2.8     Funktionen für Fingerprint

Zugriff auf die Fingertemplates eines evntl. eingebauten Fingerprintmoduls.

2.8.1     DFCFingerprintAppendRecord

Wird unterstützt ab Firmwareversion:
04.01.04
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCFingerprintAppendRecord(int channelID, int deviceID,
int type, unsigned char *fingertemplate, int size, int *piError);

Exportiert von DFComDLL: _DFCFingerprintAppendRecord@24
Exportiert von DFCom_x64: DFCFingerprintAppendRecord
Parameter:
int channelID Der zu verwendende Kanal. Wertebereich: (1 - 350)
int deviceID Die zu verwendende Busnummer. Wertebereich: (1 - 250, 254)
int type Templatetype der übergeben wird.
WertBedeutung
0DIN V66400 (161 Byte)
Byte Nr.Bezeichnung
1..8PID (Es werden Byte 1 bis 4, als 32bit Wert, verwendet.)
9FID
10Quality
11Anzahl Minutiae
12X1
13Y1
14W1
15X2
16Y2
17W2
.....
.....
159X50
160Y50
161W50
1Idencom-Compact (216 Byte)
Byte Nr.Bezeichnung
1..8PID (Es werden Byte 1 bis 4, als 32bit Wert, verwendet.)
9FID
10Quality
11Anzahl Minutiae
12X1
13Y1
14W1
15XN1
16YN1
.....
.....
214W41
215XN41
216YN41
2Idencom-Standard (561 Byte)
Byte Nr.Bezeichnung
1..8PID (Es werden Byte 1 bis 4, als 32bit Wert, verwendet.)
9FID
10Quality
11Anzahl Minutiae
12,13X1
14,15Y1
16,17W1
18V1
19,20XN1
21,22YN1
.....
.....
555, 556W50
557V50
558, 559XN50
560, 561YN50
... 
unsigned char *fingertemplate Zeiger auf die Templatedaten.
int size Die Länge des Buffers auf den der Zeiger *fingertemplate verweist.
int *piError Error erhält eine Fehlernummer nach Tabelle 1.3.3.
Rückgabewert:
0 Fehler bei Durchführung.
1 Erfolgreich durchgeführt.
Beschreibung:
Anfügen eines Fingertemplates an die Datentabelle des Fingerprints.

 

2.8.2     DFCFingerprintGetRecord

Wird unterstützt ab Firmwareversion:
04.01.04
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCFingerprintGetRecord(int channelID, int deviceID,
int type, int pid, int fid, unsigned char *fingertemplate,int *size int *piError);

Exportiert von DFComDLL: _DFCFingerprintGetRecord@32
Exportiert von DFCom_x64: DFCFingerprintGetRecord
Parameter:
int channelID Der zu verwendende Kanal. Wertebereich: (1 - 350)
int deviceID Die zu verwendende Busnummer. Wertebereich: (1 - 250, 254)
int type Templatetype der übergeben wird.
WertBedeutung
0DIN V66400 (161 Byte)
Byte Nr.Bezeichnung
1..8PID (Es werden Byte 1 bis 4, als 32bit Wert, verwendet.)
9FID
10Quality
11Anzahl Minutiae
12X1
13Y1
14W1
15X2
16Y2
17W2
.....
.....
159X50
160Y50
161W50
1Idencom-Compact (216 Byte)
Byte Nr.Bezeichnung
1..8PID (Es werden Byte 1 bis 4, als 32bit Wert, verwendet.)
9FID
10Quality
11Anzahl Minutiae
12X1
13Y1
14W1
15XN1
16YN1
.....
.....
214W41
215XN41
216YN41
2Idencom-Standard (561 Byte)
Byte Nr.Bezeichnung
1..8PID (Es werden Byte 1 bis 4, als 32bit Wert, verwendet.)
9FID
10Quality
11Anzahl Minutiae
12,13X1
14,15Y1
16,17W1
18V1
19,20XN1
21,22YN1
.....
.....
555, 556W50
557V50
558, 559XN50
560, 561YN50
... 
int pid Personal Id des zu lesenden Templates.
int fid Finger Id des zu lesenden Templates. Wertebereich (1 - 10)
unsigned char *fingertemplate Zeiger auf die Templatedaten.
int *size Als Eingabe die Länge des Buffers auf den der Zeiger *template verweist, als Ausgabe die übergebene Anzahl Zeichen.
int *piError Error erhält eine Fehlernummer nach Tabelle 1.3.3.
Rückgabewert:
0 Fehler bei Durchführung.
1 Erfolgreich durchgeführt.
Beschreibung:
Lesen eines Fingertemplates. Über die eindeutige Kombination aus PID/FID können mit dieser Funktion die entsprechenden Templatedaten ermittelt werden.

 

2.8.3    DFCFingerprintDeleteRecord

Wird unterstützt ab Firmwareversion:
04.01.04
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCFingerprintDeleteRecord(int channelID, int deviceID,
int pid, int fid, int *piError);

Exportiert von DFComDLL: _DFCFingerprintDeleteRecord@20
Exportiert von DFCom_x64: DFCFingerprintDeleteRecord
Parameter:
int channelID Der zu verwendende Kanal. Wertebereich: (1 - 350)
int deviceID Die zu verwendende Busnummer. Wertebereich: (1 - 250, 254)
int pid Personal Id des zu löschenden Templates.
int fid Finger Id des zu löschenden Templates. Wertebereich (0, 1 - 10)
int *piError Error erhält eine Fehlernummer nach Tabelle 1.3.3.
Rückgabewert:
0 Fehler bei Durchführung.
1 Erfolgreich durchgeführt
Beschreibung:
Löschen von Fingertemplates. Sie können einzelne Templates durch Angabe des entsprechenden pid,fid Pärchens löschen. Es ist auch möglich durch Angabe einer pid und einer fid = 0, alle Fingertemplates zu dieser pid zu löschen. Wird eine pid = 0 und fid = 0 angegeben, werden alle Fingertemplates gelöscht.

 

2.8.4    DFCFingerprintList

Wird unterstützt ab Firmwareversion:
04.01.07
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCFingerprintList(int channelID, int deviceID,
int flags, int *piError);

Exportiert von DFComDLL: _DFCFingerprintList@16
Exportiert von DFCom_x64: DFCFingerprintList
Parameter:
int channelID Der zu verwendende Kanal. Wertebereich: (1 - 350)
int deviceID Die zu verwendende Busnummer. Wertebereich: (1 - 250, 254)
int flags Die Einzelnen Bitwerte entsprechen Dezimal 1, 2, 4, 8 ...
Bit Nr.Bedeutung
0Bei gesetztem Bit (Dezimal 1), gibt die Funktion die Anzahl der enthaltenen Datensätze zurück.
Wenn keine Daten im Modul vorliegen wird eine entsprechende Fehlernummer geliefert, die Datensatzanzahl 0 gibt es somit nicht.
...Unbenutzt. Bitte immer 0.
int *piError Error erhält eine Fehlernummer nach Tabelle 1.3.3.
Rückgabewert:
0 Fehler bei Durchführung.
1 Erfolgreich durchgeführt. Ggf. mit gesetztem Flag die Anzahl Datensätze der erzeugten Liste (1 bis n).
Beschreibung:
Erzeugt eine Liste mit dem Namen "FINGERPRINT.IDLIST". In dieser Liste sind alle Datesätze des Fingerprintmoduls aufgeführt. Sie ist zweispaltig und enthält in der ersten Spalte die PID, in der zweiten die FID, des jeweiligen Fingertemplates. Es kann auf sie mit den Routinen aus Kapitel 2.3 zugegriffen werden.

 

2.8.5    DFCFingerprintBackup

Wird unterstützt ab Firmwareversion:
04.01.04
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCFingerprintBackup(int channelID, int deviceID,
char *backupFile, int flags, int *piError);

Exportiert von DFComDLL: _DFCFingerprintBackup@20
Exportiert von DFCom_x64: DFCFingerprintBackup
Parameter:
int channelID Der zu verwendende Kanal. Wertebereich: (1 - 350)
int deviceID Die zu verwendende Busnummer. Wertebereich: (1 - 250, 254)
char *backupFile Zeiger auf die Zeichenkette mit der Dateiangabe. Ggf. mit Pfad. Sie gibt die zu erzeugende Backupdatei an.
int flags Derzeit nicht verwendet. Bitte immmer 0 übergeben.
int *piError Error erhält eine Fehlernummer nach Tabelle 1.3.3.
Rückgabewert:
0 Fehler bei Durchführung.
1 Erfolgreich durchgeführt
Beschreibung:
Legt eine neue Backupdatei an in der alle im Fingerprint-Modul enthaltenen Fingertemplates abgespeichert werden. Eine eventuell vorhandene Datei unter dem angegebenen Namen wird überschrieben. Die Daten können mit der Funktion DFCFingerprintRestore zurückgeschrieben werden.

 

2.8.6    DFCFingerprintRestore

Wird unterstützt ab Firmwareversion:
04.01.04
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCFingerprintRestore(int channelID, int deviceID,
char *backupFile, int flags, int *piError);

Exportiert von DFComDLL: _DFCFingerprintRestore@20
Exportiert von DFCom_x64: DFCFingerprintRestore
Parameter:
int channelID Der zu verwendende Kanal. Wertebereich: (1 - 350)
int deviceID Die zu verwendende Busnummer. Wertebereich: (1 - 250, 254)
char *backupFile Zeiger auf die Zeichenkette mit der Dateiangabe. Ggf. mit Pfad. Sie stellt die einzuspielende Backupdatei dar.
int flags
Bit Nr.Bedeutung
0Bei gesetztem Bit (Wert 1), werden die enthaltenen Fingertemplates beibehalten, bei gelöschtem Bit (Wert 0) wird vor der Übertragung ein Befehl zum Löschen aller enthaltener Templates ausgeführt.
...Unbenutzt. Bitte immer 0.
int *piError Error erhält eine Fehlernummer nach Tabelle 1.3.3.
Rückgabewert:
0 Fehler bei Durchführung.
1 Erfolgreich durchgeführt
Beschreibung:
Überträgt die angegebene Backupdatei, mit den enthaltenen Fingertemplates, in das Fingerprint-Modul. Dabei werden eventuell bereits enthaltene und gleiche Fingertemplates beibehalten. Die Backupdatei kann mit der Funktion DFCFingerprintBackup erstellt werden.

 

2.9     Funktionen für Timeboylisten

Aufbereiten und laden von Listendaten für angebundene Timeboy-Geräte.

2.9.1     DFCMakeTimeboyList

Wird unterstützt ab Firmwareversion:
04.01.04
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCMakeTimeboyList(int iChannelNum, int iGroupID, int iListNum,
int iLineCount, int iListSize, unsigned char *pucBuf, int flags, int *piError);

Exportiert von DFComDLL: _DFCMakeTimeboyList@32
Exportiert von DFCom_x64: DFCMakeTimeboyList
Parameter:
int iChannelNum Der zu verwendende Kanal. Wertebereich: (1 - 350)
int iGroupID  Ist die Timeboy-GruppenID. Bei Verwendung von 0 als GroupID, ist die so übergebene Liste für alle Gruppen gültig. Über eine GroupID im Bereich 1 bis 19 kann eine eventuell vorhandene Globale Liste überlagert werden.
int iListNum  Ist die Nummer der Liste entsprechend der Listenbeschreibung im Timboysetup unter Baumeintrag Listenbeschreibungen. Die erste Listenbeschreibung unter dem Eintrag hat die Nummer "0". Der Mögliche Bereich ist 0 bis 19.
int iLineCount Anzahl der Zeilen (Datensätze) der Liste.
int iListSize Gesamtgröße der Liste in Byte.
Berechnet sich aus "iLineCount" mal Anzahl der Byte pro Zeile.
unsigned char *pucBuf Zeiger auf die Listendaten.
int flags
Bit Nr.Bedeutung
0Bei gesetztem Bit (Wert 1), wird diese Liste im Mobil-MasterIV gelöscht. Eventuell übergebenen Daten werden ignoriert.
...Unbenutzt. Bitte immer 0.
int *piError Error erhält eine Fehlernummer nach Tabelle 1.3.3.
Rückgabewert:
0 Fehler bei Durchführung.
1 Erfolgreich durchgeführt.
Beschreibung:
Daten einer Liste in den internen Buffer der DLL schreiben.

Die Listendaten müssen immer exakt mit der Listenbeschreibung im Setup übereinstimmen.  Zeichenketten sind mit NULL (Hexadezimalwert 0x00, nicht zu verwechseln mit ASCII Zeichen "0", Hexadezimalwert 0x30) auf die im Setup vorgegebene Feldlänge zu füllen. Zusätzlich ist die abschließende NULL zu beachten.
Wenn im Setup eine Zeichenkette mit 16 Zeichen angelegt wurde, ist die Feldlänge exakt 17 Byte. Trennzeichen zwischen den Feldern und den Zeilen werden nicht verwendet.

Beispiel:
Liste mit 2 Feldern:
Personalnummer Zeichenkette (nur Ziffern) 4 Byte;
Name Zeichenkette (ASCII - Zeichen) 16 Zeichen.
Eine Zeile besteht dann aus genau 4 + 1 + 16 + 1 = 22 Byte. Wenn 3 Zeilen angelegt werden sind exakt 3*22 = 66 Byte anzulegen.

 

2.9.2     DFCLoadTimeboyList

Wird unterstützt ab Firmwareversion:
04.01.04
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCLoadTimeboyList(int iChannelNum, int iBusNum,
int iGroupID, int iListNum, int reserve, int *piError);

Exportiert von DFComDLL: _DFCLoadTimeboyList@24
Exportiert von DFCom_x64: DFCLoadTimeboyList
Parameter:
int iChannelNum Der zu verwendende Kanal. Wertebereich: (1 - 350)
int iBusNum Die zu verwendende Busnummer. Wertebereich: (1 - 250, 254)
int iGroupID  Ist die Timeboy-GruppenID. Bei Verwendung von 0 als GroupID, ist die so übergebene Liste für alle Gruppen gültig. Über eine GroupID im Bereich 1 bis 19 kann eine eventuell vorhandene Globale Liste überlagert werden.
int iListNum  Ist die Nummer der Liste entsprechend der Listenbeschreibung im Timeboysetup unter Baumeintrag Listenbeschreibungen. Die erste Listenbeschreibung unter dem Eintrag hat die Nummer "0". Der Mögliche Bereich ist 0 bis 19.
int reserve  Reserviert. Bitte immer eine 0 uebergeben.
int *piError Error erhält eine Fehlernummer nach Tabelle 1.3.3.
Rückgabewert:
0 Fehler bei Durchführung.
1 Erfolgreich durchgeführt.
Beschreibung:
Listendaten aus internen Buffer der DLL in das Gerät laden. Upload der zuvor erstellten Listendaten. Mit der Angabe "-1" als Listennummer werden alle belegten Listenbuffer übertragen.

 

2.9.3    DFCClearTimeboyListBuffer

Wird unterstützt ab Firmwareversion:
04.01.04
Deklaration:
extern "C" __declspec(dllexport)
void __stdcall DFCClearTimeboyListBuffer(int iChannelNum,
int iGroupID, int iListNum);

Exportiert von DFComDLL: _DFCClearTimeboyListBuffer@12
Exportiert von DFCom_x64: DFCClearTimeboyListBuffer
Parameter:
int iChannelNum Der zu verwendende Kanal. Wertebereich: (1 - 350)
int iGroupID  Ist die Timeboy-GruppenID. Bei Verwendung von 0 als GroupID, ist die so übergebene Liste für alle Gruppen gültig. Über eine GroupID im Bereich 1 bis 19 kann eine eventuell vorhandene Globale Liste überlagert werden.
int iListNum  Ist die Nummer der Liste entsprechend der Listenbeschreibung im Timeboysetup unter Baumeintrag Listenbeschreibungen. Die erste Listenbeschreibung unter dem Eintrag hat die Nummer "0". Der Mögliche Bereich ist 0 bis 19.
Rückgabewert:
keiner  
Beschreibung:
Der Buffer für die Listendaten wird gelöscht. Mit der Angabe "-1" als GroupID, werden alle Listenpuffer dieser GroupID gelöscht. Mit der Angabe "-1" als Listennummer werden alle Listenpuffer dieser Listennummer, unter Beachtung der GroupID, gelöscht.

 

2.10     Funktionen für Active-Mode

Routinen zum Initialisieren und arbeiten mit Aktiven Verbindungen.

2.10.1     DFCStartActiveConnection

Hinweis: 
Für die Einrichtung des Active-Mode stehen Ihnen auch Systemvariablen, speziell Variablen für Active-Mode, Präfix: COM zur Verfügung.
Achtung: 
  • Der Listenport (Parameter port)muss ggf. in der Firewall freigeschaltet werden.
    Sie können nach Parametrierung der Geräte den Active-Mode im DatafoxStudioIV prüfen, wenn dort keine Verbindung der Geräte zustande kommt überprüfen Sie bitte die Einstellungen Ihrer Firewall.
  • Der Schnittstellentimeout (Parameter timeout) ist so zu wählen, dass die "langsamste" Verbindungsart berücksichtigt wird.
    Betreiben Sie zum Beispiel einen Mischbetrieb in dem sich Geräte im LAN sowie im WAN (per GPRS) Verbinden ist die Vorgabe von WAN (per GPRS) zu wählen.
Wird unterstützt ab Firmwareversion:
04.01.05
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCStartActiveConnection(char *ip, int port, int deviceID,
int timeout, int aliveTO, int maxConnections, int infoFlags, int reserved, int *piError);

Exportiert von DFComDLL: _DFCStartActiveConnection@36
Exportiert von DFCom_x64: DFCStartActiveConnection
Parameter:
char *ip Adresse der Netzwerkkarte von der eingehende Verbindungen entgegen genommen werden. (Vorgabe: 0.0.0.0, bedeutet alle)
int port Port auf dem eingehende Verbindungsanfragen einlaufen müssen. (Vorgabe: 8000)
int deviceID Ab 04.02.03 nicht weiter verwendet. Vorgabe: 0
int timeout Schnittstellentimeout für das Lesen von Daten. Einheit ist Millisekunden.
Vorgabe: LAN 3000ms, WLAN 5000ms, WAN per GPRS 9000ms. Bitte berücksichtigen Sie, dass die Angaben Erfahrungswerte darstellen und ggf. Angepasst werden müssen.
int aliveTO Auszeit um die bestehende Verbindung, auch wenn keine Kommunikation geschieht, sicher zu stellen. (Alive-Ping) (Wird auch über die entsprechende Systemvariable an das Gerät weitergegeben.)
int maxConnections Maximalanzahl gleichzeitig bestehender Verbindungen. (Vorgabe: 20, können maximal 100 sein)
int infoFlags
Bit Nr.Bedeutung
1Firmwareversion (z.B. 04.03.03.PZE)
2Verwendete IP und Port des Gerätes. (z. B. 192.168.0.1:8000)
3Mac-Adresse. (z. B. 00-20-4a-e7-1c-25).
...Unbenutzt.
Dieser Parameter stellt ein Bitfeld dar.
Die einzelnen Bits haben folgende Wertigkeit:
Bit Nr.Wertigkeit
11
22
34
48
516
632
764
8128
Durch ein Aufaddieren dieser Werte erhalten Sie die gewünschte Information. Möchten Sie z. B. nur die Mac-Adresse zusätzlich erhalten übergeben Sie eine 4, bei IP:Port + Mac-Addresse eine 6.
int reserved Reservierter Parameter. (Vorgabe 0)
int *piError Error erhält eine Fehlernummer nach Tabelle 1.3.3.
Rückgabewert:
0 Fehler bei Durchführung.
1 Erfolgreich durchgeführt.
Beschreibung:
Startet das DLL-Modul zum Active-Mode. An dem angegebenen Listen-Socket wird nach erfolgreicher Ausführung auf eingehende Verbindungsanfragen geprüft und Verarbeitet. Die Annahme von "Datensatzmeldungen" ist standardmäßig aktiv und kann durch Aufruf von DFCSetRecordAvailable wie gewünscht eingestellt werden.
Durch die Angabe von infoFlags können Sie zusätzliche Informationen zur Verbindung abrufen. Übergeben Sie hier z. B. eine 7 um (1 + 2 + 4) die Zusatzinformation über Firmwareversion, IP+Port und Mac-Adresse zu erhalten.

 

2.10.2     DFCStopActiveConnection

Wird unterstützt ab Firmwareversion:
04.01.05
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCStopActiveConnection(int *piError);

Exportiert von DFComDLL: _DFCStopActiveConnection@4
Exportiert von DFCom_x64: DFCStopActiveConnection
Parameter:
int *piError Error erhält eine Fehlernummer nach Tabelle 1.3.3.
Rückgabewert:
0 Fehler bei Durchführung.
1 Erfolgreich durchgeführt.
Beschreibung:
Beendet das DLL-Modul zum Active-Mode. Alle zur Zeit bestehenden Verbindungen des Active-Mode werden durch die DLL beendet.

 

2.10.3     DFCGetFirstActiveChannelID

Wird unterstützt ab Firmwareversion:
04.01.05
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCGetFirstActiveChannelID();

Exportiert von DFComDLL: _DFCGetFirstActiveChannelID@0
Exportiert von DFCom_x64: DFCGetFirstActiveChannelID
Parameter:
  Keiner
Rückgabewert:
-1 Es besteht kein Aktiver Kanal.
... Kanalnummer des ersten Aktiven Kanals.
Beschreibung:
Ermittelt bei bestehenden Verbindungen im Active-Mode die erste Kanalnummer und gibt diese zurück. Durch weitere Aufrufe von DFCGetNextActiveChannelID können alle Aktiven Kanäle ermittelt werden.

2.10.4     DFCGetNextActiveChannelID

Wird unterstützt ab Firmwareversion:
04.01.05
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCGetNextActiveChannelID(int prev);

Exportiert von DFComDLL: _DFCGetNextActiveChannelID@4
Exportiert von DFCom_x64: DFCGetNextActiveChannelID
Parameter:
int prev Kanalnummer des vorherigen Aktiven Kanals. Siehe auch DFCGetFirstActiveChannelID.
Rückgabewert:
-1 Keine weiteren Aktiven Kanäle.
... Kanalnummer des nächsten Aktiven Kanals.
Beschreibung:
Gibt auf eine Kanalnummer eines Aktiven Kanals die ggf. vorhandene nächste zurück. Durch Folgeaufrufe können alle Aktiven Kanäle ermittelt werden.

 

2.10.5     DFCGetInfoActiveChannel

Wird unterstützt ab Firmwareversion:
04.01.05
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCGetInfoActiveChannel(int channelID, char *info, int *infoStringLength);

Exportiert von DFComDLL: _DFCGetInfoActiveChannel@12
Exportiert von DFCom_x64: DFCGetInfoActiveChannel
Parameter:
int channelID Nummer des Aktiven Kanals, für den die Information abgerufen wird.
char *info Zeiger auf die Zeichenkette die den Informationsstring erhält.
Der String enthält eine durch CR (Dezimal 13) getrennte Wertezeichenfolge.
Die Zeichenfolge setzt sich aus verschiedenen Werten zusammen und kann durch den Parameter infoFlags beim Starten des DLL-Moduls zum Active-Mode mit zusätzlichen Informationen erweitert werden.
Für Werte die dort ausgelassen wurden, wird ein CR (auch \r, dezimal 13) gesetzt. Wurde z. B. zusätzlich die Mac-Adresse gewählt wird die Zeichenfolge ggf. so aus sehen 0\r1234\r\r\r00-11-22-33-44-55\r
PositionBeschreibung
1Gerätetyp.
0PZE-MasterIV
1ZK-MasterIV
2BDE-MasterIV
3Mobil-MasterIV
4MDE-BoxIV
5AE-MasterIV
6TimeboyIV
7Exklusiv-LineIV
8Flex-MasterIV
9Timeboy-Mobil-PZE
10EVO-Line 2.8
11EVO-Line 4.3
12IPC-Extension A
13IPC-Extension B
14IPC-Extension C
15IO-Box
16ZK-Box
17Mobil-Box
2Seriennummer.
3Firmwareversion (z.B. 04.03.03.PZE)
4Verwendete IP und Port des Gerätes. (z. B. 192.168.0.1:8000)
5Mac-Adresse. (z. B. 00-20-4a-e7-1c-25).
...Noch unbenutzt. Bezieht sich auf den Parameter infoFlags von DFCStartActiveConnection
int *infoStringLength Als Eingabe die Länge des reservierten Buffers auf den der Zeiger *info verweist, als Ausgabe die Länge der übergebenen Zeichenkette. Die Zeichenkette sollte möglichst groß gewählt werden, da nur so viele Parameter übergeben werden, wie übergeben werden können. (Empfehlung 200 Zeichen)
Rückgabewert:
0 Fehler bei Durchführung.
1 Erfolgreich durchgeführt.
Beschreibung:
Gibt zu einer Aktiven Kanalnummer eine Informationszeichenfolge zurück.

 

2.10.6     DFCSetRecordAvailable

Wird unterstützt ab Firmwareversion:
04.01.05
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCSetRecordAvailable(int enable);

Exportiert von DFComDLL: _DFCSetRecordAvailable@4
Exportiert von DFCom_x64: DFCSetRecordAvailable
Parameter:
int enable Aktivierung/Deaktivierung der Verarbeitung von Ereignismeldungen "Datensatz vorhanden". (Vorgabe: An)
Rückgabewert:
0 Fehler bei Durchführung.
1 Erfolgreich durchgeführt.
Beschreibung:
Legt fest ob die DLL die Ereignismeldung "Datensatz vorhanden" auswerten und durch die Funktion DFCRecordAvailbale zur Verfügung stellen soll.

 

2.10.7     DFCRecordAvailable

Wird unterstützt ab Firmwareversion:
04.01.05
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCRecordAvailable(int *channelID, int *deviceID, char *infoString, int *infoStringLength, int *piError);

Exportiert von DFComDLL: _DFCRecordAvailable@20
Exportiert von DFCom_x64: DFCRecordAvailable
Parameter:
int *channelID Zeiger auf die Variable, welche die Kanalnummer der abrufbaren Aktiven Verbindung erhält.
int *deviceID Zeiger auf die Variable, welche die Busnummer des abrufbaren Gerätes erhält.
char *info Siehe Parameter info bei Funktion DFCGetInfoActiveChannel.
int *infoStringLength Als Eingabe die Länge des reservierten Buffers auf den der Zeiger *info verweist, als Ausgabe die Länge der übergebenen Zeichenkette.
int *piError Error erhält eine Fehlernummer nach Tabelle 1.3.3.
Rückgabewert:
0 Fehler bei Durchführung.
1 Erfolgreich durchgeführt.
Beschreibung:
Über diese Funktion ist die Abfrage auf die Meldung der verfügbare Datensätze möglich, hierbei wird nicht mit dem Gerät kommuniziert.
Die von den Geräten abgesetzte Meldung, dass Datensätze im Gerät vorliegen wird in eine Prioritätswarteschlange gestellt und kann über diese Funktion abgerufen werden.
Bei Abruf wird die Meldung aus der Warteschlange entfernt und bei einem weiterem Aufruf die nächste geliefert. Über die gelieferten Parameterwerte ist ein gezieltes Abrufen der Datensätze möglich. Grundlegender Ablauf eines Abruf-Tasks:

Mit DFCRecordAvailable auf Verfügbare Datensätze prüfen. Keine direkte Kommunikation mit dem Geräte notwendig.
Mit DFCReadRecord, DFCQuitRecord alle Datensätze abrufen. Kommunikation mit dem Gerät notwendig.

 

2.10.8     DFCBindDeviceToChannel

Wird unterstützt ab Firmwareversion:
04.01.05
Deklaration:
extern "C" __declspec(dllexport)
int __stdcall DFCBindDeviceToChannel(int channelID, int deviceType, int deviceSerial,
 char *deviceIp, int *piError);

Exportiert von DFComDLL: _DFCBindDeviceToChannel@20
Exportiert von DFCom_x64: DFCBindDeviceToChannel
Parameter:
int channelID Kanalnummer an welche das Gerät gebunden werden soll.
int deviceType Typ des zu bindenden Gerätes. Zu dieser Angabe ist auch die Seriennummer erforderlich (nächster Parameter).
Für eine Liste der zugeordneten Nummer zum Gerätetyp siehe info-Parameter von DFCGetInfoActiveChannel.
Wenn hier eine -1 als Wert übergeben wird und keine deviceIp vorliegt, wird eine eventuelle Bindung zu dem Kanal entfernt.
int deviceSerial Seriennummer des zu bindenden Gerätes.
char *deviceIp IP-Adresse des zu bindenden Gerätes.
int *piError Error erhält eine Fehlernummer nach Tabelle 1.3.3.
Rückgabewert:
0 Fehler bei Durchführung.
1 Erfolgreich durchgeführt.
Beschreibung:
Über diese Funktion kann ein sich Aktiv verbindendes Gerät an eine vorgegebene Kanalnummer gebunden werden. Es kann entweder der Gerätetyp und die Seriennummer oder nur die IP-Adresse angegeben werden. Über die Funktion kann die Bindung auch wieder aufgehoben werden.

 

3. Datenstruktur

Die verwendeten Datenstrukturen werden nachfolgend erklärt.

3.1     Aufbau der Datensätze im ByteArray

Es wird in jedem Datensatz die zugehörige Datensatzbeschreibung aus dem Setup mitgeführt.
Ein an die Anwendung überlieferter Datensatz sieht immer wie folgt aus:

Byte - Nummer: 0 1 2 3... (length-1)
Byte - Inhalt:   DataNum Daten des Datensatzes.

Es werden immer alle Felder eines Datensatzes aufeinanderfolgend und in der im Setup definierten Feldbreite (eventuell plus einem Terminierungszeichen) geliefert. 
Bitte beachten Sie, dass alle als ASCII - Feld definierten Felder ein zusätzliches Terminierungszeichen erhalten, wodurch ein im Setup mit einem Byte definiertes Feld in den "Daten des Datensatzes" zwei Byte umfasst!

Mit Hilfe der Auswertefunktionen für die Datensatzbeschreibungen und Listenbeschreibungen können Sie die "Daten des Datensatzes" interpretieren. Das Terminierungszeichen ist in der Angabe zur Feldbreite des  jeweiligen Datensatzfeldes enthalten.

 

3.2 Datum und Uhrzeit im ByteArray

Das Datum - Uhrzeit Feld in einem Datensatz sieht wie folgt aus:

Byte - Nummer Bedeutung Beispiel: 06.04.2012 04:12:00
0 Jahreszahl Hunderter (0..255) 20
1 Jahreszahl Einer (0..99) 12
2 Monat (0..12) 4
3 Tag (1..31) 6
4 Stunde (0..23) 4
5 Minute (0..59) 12
6 Sekunde (0..59) 0

 

4. Systemvariablen

Die verwendeten Systemvariablen beziehen sich auf verschiedene Softwarebereiche. Jeder Softwarebereich wird über einen entsprechenden Präfix angesprochen, hinter dem der Name der systemvariablen mit einem Punkt getrennt folgt. Sie können über die beiden DLL-Funktionen DFCSetGlobVar und DFCGetGlobVar ggf. geschrieben und gelesen werden.

4.1    Variablen für Mobilfunk, Präfix: _MODEM_MC35i oder MOBILE

Name Informationen
PHONE Tel.Nr. für Einwahl. Bereich: bis 23 Zeichen ASCII. Vorgabe: keine
GPRS oder APN Access Point Name. Bereich: bis 49 Zeichen ASCII. Vorgabe: keine
USER Benutzername für Interneteinwahl. Bereich: bis 20 Zeichen ASCII. Vorgabe: keine
PASSWORD Passwort für Interneteinwahl. Bereich: bis 20 Zeichen ASCII. Vorgabe: keine
HOST Ziel-IP oder Hostnamen. Bereich: bis 59 Zeichen ASCII. Vorgabe: keine
PORT Ziel-Port. Bereich: 1 bis 65535 Zahl. Vorgabe: keine
HTTPSEND Ziel-Pfad (Sendepräfix) Bereich: bis 39 Zeichen ASCII. Vorgabe: keine
ALIVE Sekunden zwischen zwei Alive - Datensätzen. Bereich: 0 = aus, 60 bis 65500, Zahl in Sekunden. Vorgabe: keine
HTTPTIMEOUT Wartezeit nach HTTP-Paketversand auf die Serverantwort. Bereich: 5000 bis 65000, Zahl in Millisekunden. Vorgabe: keine
HTTPTYPE Typ des verwendeten HTTP-Protokoll. (1.0, 1.1, off) Bereich: 3 Zeichen [1.0, 1.1, off] ASCII. Vorgabe: keine
SIMPIN Die zu setzende PIN. Dieser Wert ist Temporär. Bereich: 0 = Nicht übertragen, 1 bis 999999999 Zahl. Vorgabe: keine
SIMPUK Die zu setzende PUK. Dieser Wert ist Temporär. Bereich: 0 = Nicht übertragen, 1 bis 999999999 Zahl. Vorgabe: keine
ROAMING Angabe ob die Einwahl in Fremdnetzen erlaubt ist. Bereich: 0 = Nicht erlaubt, 1 = Erlaubt Zahl. Vorgabe: Erlaubt
RESETTRIGGER Dieser Wert gibt an wie oft in Folge der Status 40 angenommen wird, bevor eine komplette Neueinwahl stattfindet. Bereich: 1 bis 32 Zahl. Vorgabe: 32
ATTACH Anzahl wie oft sich das Gerät zwischen 00:00 - 23:59 Uhr bei dem Provider einwählen darf. Bereich: 3 - 50 Ziffern Zahl. Vorgabe: 32
ERRORLEVEL Reaktionsverhalten bei Fehlern einstellen. 0 = Standardverhalten, 1 = Close von Webserver zwischen einzelnen Datensätzen ignorieren. Bereich: 5 Ziffern Zahl. Vorgabe: 0
SMSKEY Passwort für die Annahme von SMS-Nachrichten. Kann über das DatafoxStudioIV genieriert werden. Bereich: 42 Zeichen Hex-String. Vorgabe: keine

4.2    Variablen für Bedienung, Präfix: SERVICE

Name Informationen
DBLINPUT Zeit für Buchungswiederholsperre. Bereich: 0 = Deaktiviert, 1 bis 65499, Zahl in Sekunden. Vorgabe: 60
DEMANDTIMER Timeout zur Tastenumschaltung. Bereich: 5 bis 60, Zahl in Sekunden. Vorgabe: 10

4.3    Variablen für Zutritt, Präfix: ACCESS

Name Informationen
MASTERID Die verwendete Id des Masters der Spalte Reader.ZM. Bereich: 1 bis 9999 Zahl. Vorgabe: 1

4.4    Variablen für Bluetooth, Präfix: BTH

Name Informationen
MODEL Name des Bluetoothmoduls.
VERSION Version des Moduls.
NAME Anzeigename des Moduls.
ADDRESS Adresse des Moduls.
AUTH Nummer der Authentifikation.
MODE Modus des Moduls.

4.5    Variablen für digitale Ein-/Ausgänge, Präfix: IO

Name Informationen
INPUT.[0-7].Count Gibt den Zählerteiler des digitalen Eingangs 0-7 an. Beispiel: IO.INPUT.0.Count für ersten digital Eingang. Bereich: 0 bis 4294967295, Zahl in Impulse. Vorgabe: Aus Setupdaten.
INPUT.[0-7].Timeout Gibt den Timeout des digitalen Eingangs 0-7 an. Beispiel: IO.INPUT.1.Timeout für zweiten digital Eingang. Bereich: 0 bis 65535, Zahl in Sekunden. Vorgabe: Aus Setupdaten.
INPUT.[0-7].Cycle Gibt den Zyklus des digitalen Eingangs 0-7 an. Beispiel: IO.INPUT.2.Cycle für dritten digital Eingang. Bereich: 0 bis 65535, Zahl in Sekunden. Vorgabe: Aus Setupdaten.
INPUT.[0-7].Cavity Gibt die Kavität (pro Impuls n-Teile) des digitalen Eingangs 0-7 an. Beispiel: IO.INPUT.3.Cavity für vierten digital Eingang. Bereich: 0 bis 65535, Zahl in Sekunden. Vorgabe: Aus Setupdaten.
INPUT.[0-7].Strokes Gibt die Hubzahl (n-Impulse pro Teil) des digitalen Eingangs 0-7 an. Beispiel: IO.INPUT.4.Strokes für fünften digital Eingang. Bereich: 0 bis 65535, Zahl in Sekunden. Vorgabe: Aus Setupdaten.

4.6    Variablen zum Präfix: POWER

Name Informationen
BATTERY Gibt den aktuellen Batteriezustand an. Bereich:
ok (=Alles in Ordnung),
unknown (=Prüfung steht nicht zur Verfügung),
low (=Batterie muß getauscht werden um die korrekte Funktionalität zu gewährleisten.).
LOW Spannungsangabe für den Tiefentladeschutz. Bereich: 0 bis 255, Zahl in Volt, wobei die letze Ziffer für die erste Nachkommastelle steht (45 sind 4.5V, 126 sind 12.6V). Vorgabe: 0.
VOLTAGE Aktuelle Versorgungsspannung. Bereich: 0 bis 36, Kommazahl mit einer Nachkommastellte und Einheitszeichen in Volt. Z.b. 12.6V

4.7    Variablen für Active-Mode, Präfix: COM

Name Informationen
ACTIVE Ein-/Ausschalten der Aktiven Verbindung. Bereich: 0=aus, 1=ein, Zahl. Vorgabe: 0
NOTIFY Ein-/Ausschalten der Datensatzmeldung. Bereich: 0=aus, 1=ein, Zahl. Vorgabe: 1
PRIO Priorität des Gerätes, für Warteschlange in DLL. Bereich: 0 bis 65535, Zahl. Vorgabe: 0
HOST Adresse des Remoterechners für den Active-Mode. Bereich: IP/Host. Vorgabe: 0.0.0.0
PORT Portnummer des Remoterechers. Bereich: 0 bis 65535, Zahl. Vorgabe: 8000
RETRY Anzahl der Versuche zum Verbindungsaufbau. Bereich: 0 bis 65535, Zahl. Vorgabe: 3
TIMEOUT Auszeit zwischen den Versuchsblöcken (RETRY). Bereich: 0 bis 4294967295, Zahl in Sekunden. Vorgabe: 900
REPEAT Auszeit zur wiederholten Datensatzmeldung, wenn diese nicht abgerufen wurden. Bereich: 0 bis 4294967295, Zahl in Sekunden. Vorgabe: 60
HTTP Versenden von Datensätzen mit HTTP im (W)LAN. Bereich: 0 = aus, 1 = ein, Bool. Vorgabe: 0
KEY Passwort und Modus für die Verschlüsselte Kommunikation. Bereich: 42 Zeichen, Hexstring. Vorgabe: leer
DNS1 IP eines DNS-Servers für die Namensauflösung im LAN/WLAN. Bereich: Ip im Format ###.###.###.###. Vorgabe: 130.149.17.5
GROUPID Bei TimeboyIV die Gruppen-Id. Wird benötigt für die Listenfunktionalität: Übertragen von Timeboylisten. Bereich: 0 bis 19, Zahl. Vorgabe: 0

4.8    Variablen für Datensatzversand mit Http, Präfix: HTTP

Name Informationen
KEY Passwort für eine Feldweise Verschlüsselung bei Versand der Datensätze mit HTTP. Kann über das DatafoxStudioIV genieriert werden. Bereich: 42 Zeichen Hex-String. Vorgabe: keine

4.9    Variablen für das Gesamtsystem, Präfix: SYSTEM

Name Informationen
STATUS Gibt den Systemstatus in einem Text zurück. READ-ONLY. Bereich: Variable Länge (ca. 800), Text. Vorgabe: keine