Skip to main content

Einrichtung Datafox-Terminals

Einrichtung der Datafox-Geräte

Für die Datenerfassung müssen die Datafox-Geräte entsprechend ihrer vorgesehenen Aufgabe konfiguriert werden.
Hierfür steht die Software DatafoxStudioIV zur Verfügung. Sie dient zur Einrichtung und Verwaltung der Datafox-Geräte und ist bereits im Lieferumfang enthalten. Es wird empfohlen, die Software zentral auf dem myfactory-Server zu installieren. Alternativ kann die Installation auch auf einem dafür vorgesehenen, im Unternehmensnetzwerk erreichbaren Host erfolgen.

Kommunikation der Datafox-Terminals

Die Datafox-Terminals kommunizieren mit der myfactory über zwei verschiedene Kommunikationsverfahren:

  • HTTP
    Über das HTTP-Protokoll werden die am Terminal erfassten Buchungen an den myfactory-Server übertragen.
  • Active Connection
    Die Active Connection dient der Übertragung und Aktualisierung von Stammdaten sowie der Konfiguration und Aktualisierung der Terminals. Dadurch stehen den Benutzern stets aktuelle Daten und Einstellungen auf den Geräten zur Verfügung.

Für einen störungsfreien Betrieb müssen beide Kommunikationswege zwischen den Datafox-Terminals und dem myfactory-Server verfügbar sein.

Active Connection (Kommunikationsbibliothek)

Die Kommunikationsbibliothek (DFComDLL, DFCom_x64) ermöglicht eine direkte Verbindung zwischen der Anwendungssoftware und dem jeweiligen Datafox-Gerät. Dadurch steht eine besonders leistungsfähige und flexible Integrationsmöglichkeit zur Verfügung. Die Kommunikation erfolgt bidirektional, sodass Daten sowohl vom Gerät zur Anwendung als auch von der Anwendung zum Gerät übertragen werden können.

Ein weiterer Vorteil ist die Unterstützung von Online- und Offline-Szenarien. Dadurch können Daten auch bei vorübergehenden Netzwerkunterbrechungen zuverlässig verarbeitet und zu einem späteren Zeitpunkt synchronisiert werden.

Aufgrund der direkten Anbindung bietet die Kommunikationsbibliothek die höchste Flexibilität und Performance für die Integration von Datafox-Geräten in individuelle Softwarelösungen.

Einbindung der Kommunikationsbibliothek

Je nach Entwicklungsstand Ihres Projekts werden möglicherweise nicht alle in der Bibliothek verfügbaren Funktionen verwendet. Die API wurde bewusst mit einer überschaubaren Anzahl von Datentypen gestaltet. Dadurch können neue Funktionsdeklarationen bei Bedarf einfach aus den vorhandenen Beispielen abgeleitet werden.


Umsetzung unter Windows

Allgemeine Hinweise

Für Windows-Systeme wird die Kommunikationsbibliothek in Form einer Dynamic Link Library (DLL) bereitgestellt.

  • 32-Bit-Anwendungen verwenden die Bibliothek DFComDLL.dll.

  • 64-Bit-Anwendungen verwenden die Bibliothek DFCom_x64.dll.

Die 32-Bit-Version kann auch auf einem 64-Bit-Windows-Betriebssystem eingesetzt werden. Voraussetzung hierfür ist jedoch, dass die eigene Anwendung ebenfalls als 32-Bit-Anwendung kompiliert wird.


Besonderheiten bei den Exportnamen

In älteren Versionen der 32-Bit-Bibliothek wurden Funktionsnamen vom C-Compiler automatisch erweitert („dekoriert“). Dabei wurde dem Funktionsnamen ein Unterstrich vorangestellt und die Länge der übergebenen Parameter angehängt.

Beispiel:

_DFCComOpenIV@24

Bei der Deklaration der Funktion innerhalb Ihrer Anwendung wird jedoch ausschließlich der eigentliche Funktionsname verwendet:

DFCComOpenIV

Diese Namenskonvention betrifft ausschließlich die 32-Bit-Versionen bis einschließlich Version 04.03.08. Ab neueren Versionen werden alle Funktionen ohne Namensdekoration exportiert. Aus diesem Grund sind in der API-Dokumentation sowohl die Funktionsnamen als auch die jeweiligen Exportnamen angegeben. Dies ist insbesondere bei der Verwendung von Entwicklungsumgebungen wie Visual Basic oder Delphi relevant.


Unterschiede zwischen 32-Bit- und 64-Bit-Version

Bei der 64-Bit-Version der Bibliothek werden alle Funktionen nach einem einheitlichen Schema exportiert. Die zuvor beschriebene Namensdekoration entfällt vollständig. Die jeweils gültigen Exportnamen für die 32-Bit- und 64-Bit-Version sind in der Funktionsdokumentation aufgeführt. Abgesehen von den unterschiedlichen Exportnamen bestehen keine funktionalen Unterschiede zwischen den Bibliotheken. Das Kommunikationsmodul verhält sich unter 64-Bit-Windows identisch zur 32-Bit-Version.

Active Connection

Die Anforderung zum Aufbau einer Active Connection wird vom myfactory-Server an das jeweilige Datafox-Terminal gesendet. Das geschieht nach dem Empfang einer Buchung vom Terminal.

Nach Erhalt dieser Anforderung baut das Terminal selbstständig eine Verbindung zum Server auf. Hierzu verwendet es die konfigurierte IP-Adresse oder den Fully Qualified Domain Name (FQDN) des Servers sowie einen dedizierten TCP-Port im Bereich von 8000 bis 8999.

Über diese Verbindung können Stammdaten, Konfigurationen und weitere Aktualisierungen, z.B. Uhrzeit, zwischen dem myfactory-Server und dem Terminal ausgetauscht werden. Da die Verbindung vom Terminal zum Server aufgebaut wird, müssen entsprechende Firewall-Regeln den Zugriff auf den konfigurierten Portbereich zulassen, bei NAT muss ein entsprechendes Forwarding eingerichtet sein.

Die Konfiguration der Verbindung erfolgt über INI Dateien mit folgenden exemplarischen Aufbau 

[COM]
ACTIVE=0
DNS1=192.168.2.1          (DNS Server)
FAILOVER=0
FALLBACK_TIME=300
HTTP=0
IDLE=28800
NOTIFY=0
PRIO=10
REPEAT=60
RETENTION_TIME=60

[ACTIVE_CONNECTION]
ACTIVE=0
HOST=192.168.2.136        (öffentliche IP des Servers)
PORT=8001                       (Port zur Kommunikatin)
RETRY=3
TIMEOUT=3000
NOTIFY=0
PRIO=10
REPEAT=60

[COM_ACTIVE_MODE_1]   (Alternative 1)
HOST=192.168.2.136        (öffentliche IP des Servers)
PORT=8001                       (Port zur Kommunikatin)
RETRY=3
TIMEOUT=3000

[COM_ACTIVE_MODE_2]    (Alternative 2)
HOST=192.168.2.136         (öffentliche IP des Servers)
PORT=8001                        (Port zur Kommunikatin)
RETRY=3
TIMEOUT=3000

[COM_DNS_1]
IP=192.168.2.1
PORT=53

[COM_HTTP_MODE_1]
HOST=192.168.2.136
PORT=80
PROXY_PORT=80
SEND=GET /myfactory/kukPZE.aspx?
TIMEOUT=20000

[MODEM_MC35i]
HOST=192.168.2.136                                      (öffentliche IP des WEB-Servers)
PORT=80                                                        (PORT 80/443) 
HTTPSEND=GET /myfactory/kukPZE.aspx?    (myfactory Instanz)
HTTPTIMEOUT=20000
ALIVE=0
HTTPTYPE=1.1

[HTTP]
PROXY_PORT=80
ALIVE=0
API=0
FLAGS=0
RECORD_STATE=-1
TYPE=1.1

[COM_HTTP_MODE_2]
PORT=80
PROXY_PORT=8080
TIMEOUT=20000

Uhrzeit stellen


Die Uhr in den Terminals sollte regelmäßig gestellt werden, um Abweichungen zu vermeiden. Insbesondere, wenn mehrere Terminals verwendet werden. Der ideale Zeitpunkt dafür ist 4:00 Uhr, da hier dann bei Sommer-/Winterzeit gleich die Uhr richtig gestellt wird. Es ist ggf. die automatische Sommer-/Winterzeitumstellung des Betriebssystems zu aktivieren. Zum Einstellen der Zeit aktiviert das Terminal automatisch eine "Active Connection". Weicht die Zeit am Termimal von der des Serverzeit ab,  sind in der Regel Probleme beim Aufbau der "Active Connection" vorhanden.