Datafox Modul » Historie » Revision 6
« Zurück |
Revision 6/8
(diff)
| Weiter »
[E] Rocco Kreutz, 09.08.2023 10:06
Datafox Modul¶
Kurze Gegenüberstellung der Befehlsausführung mit Active-Mode¶
- DFCStartActiveConnection() startet die Behandlung von Aktive-Mode-Verbindungen
- DFCGetFirstActiveChannelID(), DFCGetNextActiveChannelID(), DFCGetInfoActiveChannel() für die Geräteermittlung aufrufen.
- Gewünschten Befehl ausführen. Z. B. DFCGetSeriennummer()
- DFCStopActiveConnection() schließt alle Aktive-Mode Verbindungen, typischerweise beim Programmende
Starten, Stoppen und Initialisieren des Active-Mode¶
Über die Funktion DFCStartActiveConnection() starten Sie das Modul für den Active-Mode. Dabei wird von der Bibliothek ein Listen-Socket erstellt, an den die Geräte dann eine Verbindungsanfrage stellen können. Mit DFCStopActiveConnection() beenden Sie das 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 dfc_system_variables.
Systemvariablen können mit den 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 "Konfiguration -> Systemvariablen für die Gerätekommunikation".
Melden von Datensätzen¶
Standardmäßig ist das Melden von Datensätzen nach dem Start des Active-Mode durch DFCStartActiveConnection() aktiviert und die Bibliothek verarbeitet somit die Meldungen der Geräte. Durch Aufruf der Funktion DFCSetRecordAvailable() kann diese Meldungsverarbeitung der Bibliothek 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 Bibliothek automatisch gemeldet. Die Meldung wird in einer Prioritätswarteschlange der Bibliothek eingereiht und kann über die Funktion DFCRecordAvailable() abgerufen werden. Über diesen Funktionsaufruf wird unter anderem die Verbindungsnummer geliefert und kann zum Abrufen der Datensätze im folgenden Aufruf von DFCReadRecord() verwendet werden.
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, eine Aktive-Verbindungs-Id gewählt werden muss.
Behandlung von Datensätzen¶
Um Datensätze aus den Geräten zu lesen muss im Active-Mode eine entsprechende Verbindung zustande gekommen sein.
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 DFCReadRecord() wird der nächste Datensatz aus dem Gerät gelesen.
Beschreibung von Online- und Offline-Datensätzen.¶
Sie haben im Gerätesetup die Möglichkeit einen Server-Timeout anzugeben. Wird ein Datensatz am Terminal über die Bedienung erzeugt und innerhalb dieses eingestellten Timeouts abgerufen wird er als ein Online-Datensatz ausgezeichnet. Die Datensatzfunktionen zum Abruf der Daten geben einen entsprechenden Rückgabewert zurück um ihn als Online-Datensatz zu melden.
Datensätze die als Online gemeldet werden, müssen durch Aufruf der Funktion DFCComSendMessage() beantwortet werden. Sie können durch Angabe einer Einblendezeit von 0 auch eine "dummy" Meldung zum Gerät senden. Erst nachdem das Gerät diese Meldung erhalten hat, wird die Bedienung wieder für weitere Eingaben freigeschaltet. Erfolgt keine Rückmeldung per DFCComSendMessage() wird die Bedienung erst nach Ablauf des Server-Timeouts freigeschaltet.
Datensätze mit Online-Status lesen
Datafox Help Quicklinks¶
Von [E] Rocco Kreutz vor mehr als 1 Jahr aktualisiert · 6 Revisionen