Dokumentation QuickHMI-Schnittstelle für das File-System Version 1.0 D-28359 Bremen info@indi-systems.de Tel + 49 421-989703-30 Fax + 49 421-989703-39
Inhaltsverzeichnis Was ist die QuickHMI-Schnittstelle in das Filesystem?... 3 Wie muss ich die Schnittstelle vorbereiten?... 4 Für welche Zwecke können Sie die Schnittstelle einsetzen?... 5 Einstellungen vornehmen... 6 Datenarchivierung... 8 Aktuelles Datenabbild... 9 Aufbau Datenabbild im Textformat... 9 Aufbau Datenabbild im XML-Format... 10 Command-Schnittstelle... 11 Ver- und Entschlüsselung... 12 Haben Sie Fragen?... 14 Seite 2
Was ist die QuickHMI-Schnittstelle in das Filesystem? Die Schnittstelle in das Filesystem bietet QuickHMI-Entwicklern eine einfache Möglichkeit, dem Anwender über das Dateisystem eine Schnittstelle mit folgenden Features zur Verfügung zu stellen: 1. Daten-Archivierer Hier werden alle im QuickHMI auflaufenden Daten der Endgeräte in fortlaufende Dateien tagesweise in das Filesystem geschrieben. Die maximale Dateigröße sowie die max. Anzahl der Dateien sind einstellbar. 2. Daten-Abbild Komplettes Abbild der Variablen mit aktuellem Wert und Zeitpunkt der letzten Änderung in einer Datei pro Datenquelle 3. Command-Schnittstelle Sie können über einfache Dateien, Schreibbefehle an das QuickHMI-System senden. Der Befehl wird an das QuickHMI-System übertragen und die Datei danach gelöscht. 4. Optionale Verschlüsselung Auflaufende Daten werden verschlüsselt abgelegt. Tools zur einfachen Entschlüsselung sind beigefügt. 5. Automatische Reorganisation der Daten, wenn gewünscht Zum Beispiel kann über diese Schnittstelle eine externe Applikation auf den Datenbestand des Systems zugreifen, und auch Schreibbefehle in Richtung SPS oder Bussystem absetzen. Für einen optimalen Schutz können sämtliche Daten auch 256-Bit AES-verschlüsselt abgelegt werden. Hier hat dann nur der Anwender/Applikation Zugriff, der auch über den frei festlegbaren Verschlüsselungskey verfügt. Seite 3
Wie muss ich die Schnittstelle vorbereiten? Sie müssen dem QuickHMI- System einen festen erreichbaren Ordner im Dateisystem bereitstellen. Der Ordner muss vorhanden sein, das System wird aber auch versuchen den Ziel-Ordner anzulegen wenn er nicht vorhanden ist. Die Prozesse benötigen innerhalb dieses Ordners Lese-, Schreib- und Löschrechte. Stehen diese Rechte nicht zur Verfügung, können Fehlfunktionen bzgl. Der Schnittstellenprozesse auftreten. Im Besonderen müssen die Löschrechte vorhanden sein, ansonsten können die Reorganisationsfunktionen alte Dateien nicht wegräumen, das kann dann durch Volllaufen des Datenträgers Probleme bis zum Windowsabsturz nach sich ziehen. Das gleich gilt, wenn die Dateien von externen Prozessen dauerhaft gesperrt werden. Bitte prüfen Sie auch während des Betriebes, dass ausreichend Speicherplatz auf dem Zieldatenträger zur Verfügung steht. Die Rechte müssen während der Entwicklungszeit für aktuellen Windows-Benutzer vorhanden sein, sodass im Laufzeitmodus des Editors die Daten geschrieben und gelesen werden können. Außerdem sind die oben genannten Rechte während des Runtime- Betriebes, für den Benutzer unter dem die Datenquellendienste laufen, notwendig. Bitte beachten Sie bei Vorbereitung des Zielsystems: Die Archivierung in das Dateisystem ist hoch performant und wurde mit handelsüblicher Hardware und einer Datenmenge von 1000 Variablenänderungen pro 100ms problemlos getestet. Sollte aber aus unterschiedlichen Gründen das Problem auftreten, dass das QuickHMI- System höhere Datenmengen bereitstellt, als in das Archiv geschrieben werden können, so speichert das System diese Daten im Arbeitsspeicher zwischen und arbeitet diese Daten nacheinander ab. Wenn allerdings diese intern gespeicherte Datenmenge einen Schwellwert von 50000 Datensätze pro Datenquelle übersteigt, werden keine neuen Datensätze angenommen, sondern verworfen. Das geschilderte Problem kann z.b. bei anderweitig ausgelasteter Hardware oder zu wenig bereitgestellten Ressourcen (z.b. virtueller Server) auftreten. Bitte überprüfen Sie aus diesem Grunde vor produktiver Nutzung die Auslastung des Zielsystems. Außerdem ist auf dem Zieldatenträger eine ausreichende Menge an freiem Speicherplatz zur Verfügung zu stellen. Eine allgemeine Empfehlung kann nur insoweit getroffen werden, dass 20GB freier Speicherplatz zur Verfügung stehen sollte, eine genaue Angabe hängt von der Anzahl benutzter Variablen sowie der Intensität und Menge von Wechselvorgängen der Variablenwerte ab. Seite 4
Für welche Zwecke können Sie die Schnittstelle einsetzen? Für die Benutzung der Schnittstelle gibt es unzählige Einsatzmöglichkeiten. Sie steht Ihnen immer dann zur Verfügung, wenn Sie von Außerhalb auf QuickHMI oder die angeschlossenen Geräte wie SPS, Modbusteilnehmer oder ähnliche zugreifen möchten. Außerdem können Sie die Daten für externe Auswertungen, Charts, Reports oder einfach für Archivierungszwecke nutzen. Zum Beispiel kann über diese Schnittstelle eine selbst programmierte Applikation auf den Datenbestand des Systems zugreifen, auswerten, und auch Schreibbefehle in Richtung SPS oder Bussystem absetzen. Durch die Universalität brauchen Sie sich auch nicht mehr in diverse Scripting-Sprachen einarbeiten, sondern benutzen eine Programmierumgebung Ihrer Wahl. Seite 5
Einstellungen vornehmen Sie können für die Files-System-Schnittstelle folgende Einstellungen vornehmen: 1. Zielpfad 2. Ein- oder Ausschalten der Archiv-Funktionalität 3. (Option) Maximale Anzahl Archiv-Dateien innerhalb des Zielordners Wird die maximale Anzahl überschritten, werden die ältesten Archiv-Dateien automatisch gelöscht 4. (Option) Das maximale Alter der Archiv-Dateien nach der Erstellung in Stunden Wird das angegebene Alter der Archiv-Dateien überschritten, so werden diese Dateien automatisch gelöscht 5. Maximale Größe der Archiv-Dateien in MB. Wenn die angegebene Größe erreicht wurde, wird eine neue Datei mit nachfolgender Sequence-Nummer geschrieben. Sollte keine Größe angegeben werden, liegt die maximale Dateigröße bei 2GB. 6. Ein- oder Ausschalten der automatischen Reorganisation innerhalb des Archivs. Bei Deaktivierung werden die aufgeführten Löschfunktionen nicht ausgeführt. In diesem Falle muss der Benutzer die Dateien selbst löschen. 7. Ein- oder Ausschalten der Bereitstellung eines Variablenabbildes (Image) Wahlweise im Flat- oder XML-Format. 8. Ein- oder Ausschalten der Entgegenname von Schreibbefehlen über das Dateisystem 9. Ein- oder Ausschalten der Dateiverschlüsselung 10. (Option) Übergabe eines Passwortes zur Verschlüsselung. Bei Einschalten der Verschlüsselung ist die Passwort-Übergabe Pflicht. Bitte heben Sie das Passwort für andere unzugänglich auf und geben Sie es nicht weiter. Seite 6
Über den Unterpunkt Datenquellen im Projekt Explorer können Sie beim Anlegen/Bearbeiten einer Datenquelle mittels des Logging Buttons die Einstellung für das Archivieren öffnen. Hier können Sie nun Datei selektieren und im Anschluss den Pfad für den Speicherort der Datei angeben. Des Weiteren können Sie entscheiden ob das Schreiben erlaubt ist ob ein Variablenabbild (Image) erzeugt ob das Variablenabbild(Image) im XML Format gespeichert werden soll und ob die Datei Verschlüsselt werden soll. Bei letzterem kann hierfür ein Password angegeben werden. Seite 7
Datenarchivierung Mit der Daten-Archivierer-Funktionalität werden alle Datenänderungen in das Dateisystem protokolliert. Sie können diese Daten für beliebige Zwecke nutzen. Hierzu werden Dateien nach folgender Namenskonvention angelegt: <datum>_<zähler 5-stellig>_<Datenquellenname>.log z.b. 20140112_00001_DataSource1.log Optional verschlüsselte Archivfiles tragen den gleichen Dateinamen mit der Endung *.logx Wenn die Datei die festgelegte max. Größe oder 2GB erreicht, wird eine neue Datei mit nachfolgendem Zähler angelegt. Die Felder in den Dateien sind mit Semikolon separiert, in der ersten Zeile befinden die Spaltenbezeichnungen. Es werden folgende Informationen geschrieben: 1. Zeitpunkt mit Millisekunden 2. Sender (Name der Datenquelle) 3. Datentyp 4. Name der Variable 5. Aktueller Wert 6. Qualität (GOOD wenn die QuickHMI-Anbindung zum Zielgerät vorschriftsmäßig arbeitet oder BAD wenn Probleme (z.b. Timeouts) auftreten Seite 8
Aktuelles Datenabbild Mithilfe des Datenabbildes können Sie über externe Applikationen auf den Variablenvorrat des QuickHMI-Systems zugreifen und aktuelle Zustände auslesen. Es gibt zwei Möglichkeiten das Datenabbild ausgeben zu lassen, im Textformat oder als XML- Datei. Aufbau Datenabbild im Textformat Hierzu werden Dateien nach folgender Namenskonvention angelegt: <Datenquellenname>.dat z.b. DataSource1.dat Optional verschlüsselte Abbilddateien tragen den gleichen Namen mit der Endung *.datx Die Felder in den Dateien sind mit Semikolon separiert, in der ersten Zeile befinden die Spaltenbezeichnungen. Für jede Variable existiert eine Zeile innerhalb der Datei. Es werden folgende Informationen geschrieben: 1. Zeitpunkt mit Millisekunden 2. Sender (Name der Datenquelle) 3. Datentyp 4. Name der Variable 5. Aktueller Wert 6. Qualität (GOOD wenn die QuickHMI-Anbindung zum Zielgerät vorschriftsmäßig arbeitet oder BAD wenn Probleme (z.b. Timeouts) auftreten Seite 9
Aufbau Datenabbild im XML-Format Hierzu werden Dateien nach folgender Namenskonvention angelegt: <Datenquellenname>.xml z.b. DataSource1.xml Im xml-format tragen optional verschlüsselte Abbilddateien tragen den gleichen Dateinamen mit gleicher Endung *.xml. Für jede Variable existiert eine Zeile innerhalb der Datei. Es werden folgende Informationen geschrieben: 1. Flag, ob Daten verschlüsselt sind 2. Zeitpunkt mit Millisekunden 3. Sender (Name der Datenquelle) 4. Datentyp 5. Name der Variable 6. Aktueller Wert 7. Qualität (GOOD wenn die QuickHMI-Anbindung zum Zielgerät vorschriftsmäßig arbeitet oder BAD wenn Probleme (z.b. Timeouts) auftreten. Bei verschlüsselten Dateien ist das XML-Format weiterhin erhalten geblieben, lediglich die Feldinhalte sind verschlüsselt. Seite 10
Command-Schnittstelle Mit der Command-Schnittstelle werden Sie in die Lage versetzt, aus dem Filesystem heraus über das QuickHMI-Projekt Daten in Geräte wie SPS oder Busteilnehmer, etc. zu schreiben. Die Befehle können aus einer externen Anwendung, oder auch manuell erstellt werden. Hierzu muss eine Datei mit nachfolgend beschriebenen Inhalt im festgelegten Ordner angelegt werden. Der QuickHMI-Prozess verarbeitet die Daten und löscht die Datei unmittelbar danach. Hierzu werden Dateien nach folgender Namenskonvention angelegt: <optionaler Zaehler><Datenquellenname>.qhmiw z.b. datasource1.qhmiw Optional verschlüsselte Dateien tragen den gleichen Dateinamen mit gleicher Endung *.qhmix. In einer Datei können ein oder mehrere Befehle enthalten sein, die von oben nach unten abgearbeitet werden. Sollen mehrere Dateien übergeben werden und muss eine bestimmte Reihenfolge eingehalten werden, kann ein optionaler Zähler dem Dateinamen vorangestellt werden z.b. 00001_Image_DataSource1.qhmiw. Die Felder in den Dateien sind mit Semikolon separiert. Für jede zu schreibende Variable existiert eine Zeile innerhalb der Datei. Es werden folgende Informationen geschrieben: 1. Name der Variable 2. Aktueller Wert Eine Beispieldatei finden Sie im Verzeichnis: [QuickHMI Home]\Script\datasource1.qhmiw Seite 11
Ver- und Entschlüsselung Um eine optimale Datensicherheit bereitstellen zu können, sind die QuickHMI- Dateischnittstellen mit optionaler Verschlüsselung ausgerüstet. Die Verschlüsselung wird direkt durchgeführt, wenn Sie die notwendigen Einstellungen innerhalb der Datenquellen eingerichtet haben. Bitte beachten Sie: Sie müssen bei der Einrichtung zur Verschlüsselung ein Passwort vergeben. Bitte heben Sie dieses Passwort gut auf! Sollte es abhandenkommen, können die verschlüsselten Dateien nicht mehr geöffnet werden. Auch wir können in diesem Fall nicht mehr helfen. Die Verschlüsselungsroutinen benötigen CPU-Ressourcen! Planen Sie bei Verwendung die Bereitstellung etwas höherer Rechenleistung ein, besonders wenn in sehr kurzen Abständen viele Variablen geändert werden. Sie können die Auslastung aber vorab im Editor während des Laufzeitmodus testen. Zur Ver- und Entschlüsselung liegt Ihrem QuickHMI-System ein Kommandozeilenprogramm bei. Sie finden es unter [QuickHMI-Home]/qhmisecu.exe innerhalb der Editor- oder Serverinstallation. Sie können folgende Aktionen durchführen: 1. Logdateien im logx-format oder Abbilddateien im datx-format entschlüsseln. Hierzu rufen Sie das Programm qhmisecu.exe mit folgenden Parametern auf: qhmisecu.exe -d <source file> <target file> <your password> Die unverschlüsselte Zieldatei wird dann erstellt. Seite 12
2. Abbilddateien im xml-format entschlüsseln Hierzu rufen Sie das Programm qhmisecu.exe mit folgenden Parametern auf: qhmisecu.exe -x <source file> <target file> <your password> Die unverschlüsselte Zieldatei wird dann erstellt. 3. Verschlüsselte Commanddatei für einen Schreibbefehl erstellen Hierzu rufen Sie das Programm qhmisecu.exe mit folgenden Parametern auf: qhmisecu.exe -c <datasource> <target folder> <variable> <value> <your password> Die verschlüsselte Zieldatei wird dann erstellt. Sie können das Programm qhmisecu.exe auch aus einer externen oder selbst erstellten Applikation aufrufen. Seite 13
Haben Sie Fragen? Rufen Sie uns bitte unter der kostenlosen Hotline 0800-7235102 an, oder senden Sie Ihre Frage an info@indi-systems.de. Wir werden Ihr Anliegen in kürzester Zeit bearbeiten oder direkt beantworten. Seite 14