Datafox Modul » Historie » Revision 7
Revision 6 ([E] Rocco Kreutz, 09.08.2023 10:06) → Revision 7/8 ([E] Rocco Kreutz, 09.08.2023 10:10)
h1. Datafox Modul h2. Kurze Gegenüberstellung der Befehlsausführung mit Active-Mode # "DFCStartActiveConnection()":https://www.datafox.de/files/dfcom/df__active__mode_8h.html#adf339c02981d630049eb95d8c5c6f136 startet die Behandlung von Aktive-Mode-Verbindungen ** "DFCGetFirstActiveChannelID()":https://www.datafox.de/files/dfcom/df__active__mode_8h.html#a8a7604219e668fc07c6579d775fee8b5, "DFCGetNextActiveChannelID()":https://www.datafox.de/files/dfcom/df__active__mode_8h.html#aa9a15c2870f50fddc7e61310283423c0, "DFCGetInfoActiveChannel()":https://www.datafox.de/files/dfcom/df__active__mode_8h.html#a6928f743da2ddd081c0518c1f997d3c5 für die Geräteermittlung aufrufen. ** Gewünschten Befehl ausführen. Z. B. "DFCGetSeriennummer()":https://www.datafox.de/files/dfcom/df__api_8h.html#a7929c7371f6bb7532d4c0fb18d2a2c01 # "DFCStopActiveConnection()":https://www.datafox.de/files/dfcom/df__active__mode_8h.html#ac6a81d2ae68a8be163ccda6adb3bf794 schließt alle Aktive-Mode Verbindungen, typischerweise beim Programmende h2. Starten, Stoppen und Initialisieren des Active-Mode Über die Funktion "DFCStartActiveConnection()":https://www.datafox.de/files/dfcom/df__active__mode_8h.html#adf339c02981d630049eb95d8c5c6f136 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()":https://www.datafox.de/files/dfcom/df__active__mode_8h.html#ac6a81d2ae68a8be163ccda6adb3bf794 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":https://www.datafox.de/files/dfcom/md_doc_doxygen_de_07_system_variables.html#dfc_system_variables. Systemvariablen können mit den Funktionen "DFCSetGlobVar()":https://www.datafox.de/files/dfcom/df__api_8h.html#aad039c1fc7ddd9e340ffd0e7e930c8bf, "DFCGetGlobVar()":https://www.datafox.de/files/dfcom/df__api_8h.html#a26e526354ad8d0e12d34b64a0f240dc8 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". h2. Melden von Datensätzen Standardmäßig ist das Melden von Datensätzen nach dem Start des Active-Mode durch "DFCStartActiveConnection()":https://www.datafox.de/files/dfcom/df__active__mode_8h.html#adf339c02981d630049eb95d8c5c6f136 aktiviert und die Bibliothek verarbeitet somit die Meldungen der Geräte. Durch Aufruf der Funktion "DFCSetRecordAvailable()":https://www.datafox.de/files/dfcom/df__active__mode_8h.html#a59f5925e75b4c5880e80390fddf231dd kann diese Meldungsverarbeitung der Bibliothek aktiviert / deaktiviert werden. Im Gerät geschieht die Aktivierung / Deaktivierung durch die Systemvariable "COM.NOTIFY":https://www.datafox.de/files/dfcom/md_doc_doxygen_de_07_system_variables.html#dfcd_4_sysvar_com. 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()":https://www.datafox.de/files/dfcom/df__active__mode_8h.html#a6f190adccf540859b6ead7a0a1b1b9e8 abgerufen werden. Über diesen Funktionsaufruf wird unter anderem die Verbindungsnummer geliefert und kann zum Abrufen der Datensätze im folgenden Aufruf von "DFCReadRecord()":https://www.datafox.de/files/dfcom/df__setup__records_8h.html#a57a5b73df6c8a64c741403b67b05d50c verwendet werden. h2. 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. h1. 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()":https://www.datafox.de/files/dfcom/df__setup__records_8h.html#a57a5b73df6c8a64c741403b67b05d50c 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()":https://www.datafox.de/files/dfcom/df__setup__records_8h.html#a41a71c05305c18996152afc867d164ca 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()":https://www.datafox.de/files/dfcom/df__setup__records_8h.html#a57a5b73df6c8a64c741403b67b05d50c wird der nächste Datensatz aus dem Gerät gelesen. {{collapse(Datensätze lesen) !clipboard-202307211255-t5r8i.png! }} h2. 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()":https://www.datafox.de/files/dfcom/df__api_8h.html#a5097575ecf07513e339322ee9c6a9881 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()":https://www.datafox.de/files/dfcom/df__api_8h.html#a5097575ecf07513e339322ee9c6a9881 wird die Bedienung erst nach Ablauf des Server-Timeouts freigeschaltet. {{collapse(Datensätze mit Online-Status lesen) !clipboard-202307211257-lhqht.png! }} h3. Datafox Help Quicklinks * Active Mode; https://www.datafox.de/files/dfcom/dfc_explanations.html#dfcd_active_mode * Online Records; https://www.datafox.de/files/dfcom/md_doc_doxygen_de_04_explanations.html#dfc_records_online * DFCRecordAvailable(); https://www.datafox.de/files/dfcom/df__active__mode_8h.html#a6f190adccf540859b6ead7a0a1b1b9e8 * DFCStartActiveConnection(); https://www.datafox.de/files/dfcom/df__active__mode_8h.html#adf339c02981d630049eb95d8c5c6f136 * DFCComSendMessage(); https://www.datafox.de/files/dfcom/df__api_8h.html#a5097575ecf07513e339322ee9c6a9881 * DFCReadRecord(); https://www.datafox.de/files/dfcom/df__setup__records_8h.html#a57a5b73df6c8a64c741403b67b05d50c * DFCQuitRecord(); https://www.datafox.de/files/dfcom/df__setup__records_8h.html#a41a71c05305c18996152afc867d164ca