tcAppPublisher

Sollten Sie das Video nicht abspielen können, klicken Sie hier.

Mit Hilfe des Tools "tcAppPublisher" werden in Geräten der „Q.station“ bzw. „Q.monixx“ Serie oder in der „test.con.runtime“ laufende Anwenderprogramme ausgelesen und in „Apps“ umgewandelt. Die „Apps“ können anschließend mit dem Konfigurationstool der Firma „Gantner Instruments Test & Measurement GmbH“ den Laufzeitkernen eines Zielsystems zugeordnet und nach der Konfiguration der Schnittstellenvariablen heruntergeladen und gestartet werden.

Ziel ist es, dass Applikationen zwischen Geräten ausgetauscht werden können, ohne dass eine „test.con Programmierumgebung“ notwendig ist und ohne Änderung der IO-Konfiguration des Zielgerätes.

Das Tool ist eine eigenständige, von „test.con“ unabhängige, Anwendung. Es scannt die angeschlossenen Zielsysteme und listet sie zusammen mit den enthaltenen Laufzeitkernen und Anwenderprogrammen auf. Dabei werden eventuelle Abhängigkeiten zu anderen Laufzeitkernen geprüft. Aus dieser Liste wählt der Anwender ein Programm für seine „App“ aus. Anschließend werden die Wiederanlaufdateien der Anwenderprogramme, eventuell vorhandene Konfigurationsdaten für die Kommunikation mit anderen Laufzeitkernen und die XML-Datei mit den Schnittstellen-Variablen ausgelesen. Es können zusätzliche Informationen, wie z.B. der „App“-Name, eine Kurzbeschreibung usw. definiert werden. In der Standardkonfiguration des Tools kann die „App“ veröffentlicht werden. Dabei werden alle relevanten Dateien in einer komprimierten Datei zusammengeführt. Diese Datei kann dann einem Anwender bereitgestellt werden, damit dieser die Applikation in sein Gerät übertragen kann.

Toolbar

Über die Toolbar werden folgende Funktionen bereitgestellt:

Aktiv Inaktiv Beschreibung
Erzeugen einer neuen Konfiguration
Liste verfügbarer Konfigurationen
Es wird eine Liste mit allen verfügbaren Konfigurationen angezeigt. Die Liste zeigt den vergebenen Namen und eine eventuell eingetragene Kurzbeschreibung an.
Löschliste verfügbarer Konfigurationen
Es wird eine Liste mit allen verfügbaren Konfigurationen angezeigt. Die Liste zeigt den vergebenen Namen und eine eventuell eingetragene Kurzbeschreibung.
Sichern der aktuellen Konfigurationsparameter
Laden der Komponenten, die veröffentlicht werden sollen
Veröffentlichen der konfigurierten Komponenten
Interne Funktion
Anmelden an ein Gerät, welches für eine Veröffentlichung vorgesehen ist
Interne Funktion
Möglichkeit zur Zuweisung von IOs
Interne Funktion
Schreiben der für eine Veröffentlichung vorgesehenen Daten in das zuvor angemeldete Gerät
Hilfeaufruf
Beenden des Tools

Konfiguration erzeugen

Das Erzeugen einer Konfiguration erfolgt durch Mausklick auf das Toolbar-Icon .

Es wird ein neues Unterverzeichnis im Verzeichnis “Configurations” angelegt. Zusätzlich wird eine leere Projektkonfiguration erzeugt. Es erfolgt ein Wechsel in die Editieransicht.

Bearbeitungsliste aufrufen

Der Aufruf der Liste aller zur Bearbeitung verfügbaren Konfigurationen erfolgt durch Mausklick auf das Toolbar-Icon .

Innerhalb der Liste kann eine Konfiguration zur Bearbeitung ausgewählt werden. Mit Doppelklick auf die markierte Konfiguration wechselt das Tool in die Editieransicht.

Löschliste aufrufen

Der Aufruf der Liste aller verfügbaren Konfigurationen, die gelöscht werden können, erfolgt durch Mausklick auf das Toolbar-Icon .

Innerhalb der Liste kann eine oder mehrere Konfigurationen zum Löschen ausgewählt werden.

Mit Betätigung des Schalters „Löschen“ werden die markierten Konfigurationen ohne weitere Rückfrage unwiderruflich gelöscht.

Sichern der Konfiguration

Das Sichern der Änderungen einer bearbeiteten Konfiguration, erfolgt durch Mausklick auf das Toolbar-Icon . Wird während bzw. nach der Bearbeitung keine explizite Sicherung vorgenommen, erfolgt beim Wechsel des Modus (z.B. in den Listenmodus usw.) eine zusätzliche Abfrage.

Laden der Komponenten

Das Laden der Komponenten ist eine Funktion innerhalb des Editiermodus und erfolgt durch Mausklick auf das Toolbar-Icon . In diesem Fall wird ein Scan-Dialog aufgerufen, der alle verfügbaren Geräte auflistet. Dazu gehört auch eine eventuell gestartete „test.con.runtime“.

Nach dem Bestätigen eines Gerätes (unabhängig von einer Laufzeitkomponente) wird versucht, alle relevanten Daten auszulesen.

Da ältere Geräte bzw. PC-Zielsysteme die Funktionalität zur Erzeugung von Applikationen nicht unterstützen, kann es zu Fehlermeldungen kommen. Diese werden im Meldungsfenster (unterer Bereich des Tools) angezeigt.

Erfolgt das Auslesen der Komponenten in eine Konfiguration, die bereits ausgelesen wurde, werden die relevanten Informationen aktualisiert. Dabei werden bereits gemachte Änderungen (Texteingaben, Umbenennungen von Variablen usw.) soweit wie möglich beibehalten.

Nach erfolgreichem Laden der Komponenten stehen diese in der Konfiguration zum Bearbeiten bereit.

Editieren der Konfiguration

Der Editmodus wird aus der Liste zur Bearbeitung bzw. bei Anlegen einer neuen Konfiguration aktiviert.

Erklärende Ergänzungen

Zum besseren Verständnis einer veröffentlichten Applikation können zu den notwendigen Komponenten zusätzliche Erklärungen mitgegeben werden. Dazu gehören:

  • ein erklärender Name (wird auch in entsprechenden Auswahllisten angezeigt)
  • ein Kurzname, der für die Erzeugung des Archivnamens der Veröffentlichung verwendet wird
  • eine Versionsnummer zur Versionierung der Veröffentlichung
  • eine Kurzbeschreibung (wird auch in entsprechenden Auswahllisten angezeigt), um eine neue Zeile in diesem Feld zu erzeugen, muss die Tastenkombination STRG+ENTER verwendet werden
  • optional ein zusätzliches beschreibendes Dokument
  • optional ein Bitmap

Diese Angaben dienen in aller erster Linie dazu, dass ein Tool (z.B. das Konfigurationstool der Firma „Gantner Instruments Test & Measurement GmbH“) die Verwaltung mehrerer Veröffentlichungen („Apps“) vornehmen kann.

Laufzeitkomponenten

Die Komponentenliste stellt alle verfügbaren Komponenten einer möglichen „App“ bereit. Wenn unter den Komponenten Abhängigkeiten existieren, werden diese als “mandatory“ (M) gekennzeichnet und sind nicht abwählbar. Wird z.B. ein System mit Echtzeitkern und Userspace-Kern veröffentlicht und werden durch den Echtzeitkern Applikationsverbindungsvariablen verwendet, dann kann die Veröffentlichung nur unter Berücksichtigung beider Kerne erfolgen.

Existieren solche Abhängigkeiten nicht, können auch einzelne Laufzeitkomponenten veröffentlicht werden.

Variablenliste

Diese Liste enthält alle IO-Variablen bzw. Variablen, die als Interfacevariablen gekennzeichnet sind, wie sie in den Laufzeitkomponenten verwendet werden. Damit den Nutzern der „App“ die Verwendung der Variablen besser verdeutlicht werden kann, kann der Aliasname beliebig angepasst werden (z. B. Originalname „Input AI1“ kann durch Änderung des Aliasnamens zu „Sollwert Drehzahlregler“ applikationsspezifisch benannt werden).

Das Ändern des Aliasnamens erfolgt durch Doppelklick auf den Namen, bzw. wenn der Fokus auf dem Namen liegt, durch die „Enter-Taste“.

Geänderte Aliasnamen werden auch bei einem erneuten Laden der Konfiguration beibehalten, wenn sich die Eigenschaften der Variable nicht grundlegend geändert haben.

Veröffentlichen

Das Veröffentlichen ist eine Funktion innerhalb des Editiermodus und erfolgt durch Mausklick auf das Toolbar-Icon . Dieses Icon wird nur dann freigeschaltet, wenn:

  • nur „mandatory“ Komponenten verfügbar sind oder
  • bei optionalen Komponenten mindestens eine Komponente aktiviert wird.

Existieren Änderungen der Konfiguration, die noch nicht gesichert wurden, erfolgt vor der Veröffentlichung eine entsprechende Abfrage.

Die Veröffentlichung besteht darin, dass alle markierten Komponenten und die dazugehörige Beschreibungsdatei in einem Zip-Archiv zusammengefasst werden, welches im „Publisher-Verzeichnis“ abgelegt wird. Die Namensgebung des Archives erfolgt über den Kurznamen und die eingegebene Versionsnummer.

Das Ergebnis der Veröffentlichung wird im Meldungsfenster dokumentiert.

Zusätzliche Funktionen

In der Konfigurationsdatei des Tools können drei zusätzliche Optionen freigeschaltet werden. Diese Funktionen werden zukünftig durch das Konfigurationstool der Firma „Gantner Instruments Test & Measurement GmbH“ bereitgestellt. Zu Testzwecken können diese aber auch weiterhin genutzt werden.

Anmelden zum Download an ein Gerät

Das Anmelden zum Download ist eine Funktion innerhalb des Editiermodus und erfolgt durch Mausklick auf das Toolbar-Icon . In diesem Fall wird ein Scan-Dialog aufgerufen, der alle verfügbaren Geräte auflistet. Dazu gehört auch eine eventuell gestartete „test.con.runtime“.

Nach Bestätigen eines Gerätes (unabhängig von einer Laufzeitkomponente) wird versucht, die Kompatibilität zu der aktuellen Konfiguration zu prüfen. Erfolg bzw. Probleme werden im Meldungsfenster mitgeteilt.

Zuweisung von IO-Variablen

Diese Funktion wird nur freigeschaltet, wenn ein Gerät zum Download erfolgreich angemeldet werden konnte.

Das Zuweisen von Variablen zu IOs ist eine Funktion innerhalb des Editiermodus und erfolgt

durch Mausklick auf das Toolbar-Icon .

Es erfolgt eine Umschaltung in den Zuweisungsmodus. Dieser kann nur durch erneutes Betätigen des Icons in der Toolbar veranlasst werden. In diesem Modus werden alle von der „App“ verwendeten IO-Variablen links und alle von dem angemeldeten Gerät bereitgestellten IOs rechts dargestellt.

Die Zuweisung muss für jede Variable einzeln durchgeführt werden. Dazu müssen folgende Schritte ausgeführt werden:

  • markieren einer Variable in der „Liste der Variablen zur Veröffentlichung“
  • in der „Liste der „summary“ Variablen“ werden jetzt die kompatiblen IOs angezeigt
  • der Doppelklick auf eine „summary“ Variable ändert den zugewiesenen Namen der „App-Variable“ (linke Liste)

Wenn alle „App-Variablen“ eine Entsprechung in der „summary“ haben, kann der Modus verlassen werden (erneutes Betätigen des Icons). Es erfolgt eine Abfrage, ob die Zuweisung übernommen werden soll.

Jetzt kann das Ergebnis in das zum Download angemeldete Gerät geschrieben werden.

Download der „App“

Diese Funktion wird nur freigeschaltet, wenn ein Gerät zum Download erfolgreich angemeldet werden konnte.

Der Download ist eine Funktion innerhalb des Editiermodus und erfolgt durch Mausklick auf das Toolbar-Icon .

Es werden alle entsprechenden Komponenten in das Gerät übertragen. Ein Reset des Gerätes wird nicht automatisch ausgeführt.

Beispielveröffentlichung

In diesem Abschnitt soll an einem kleinen Beispiel der Ablauf einer Veröffentlichung dargestellt werden.

Es wird ein Programm für eine „test.con.runtime“ erstellt. Dieses Programm arbeitet ohne IOs (nur Projektvariablen) und wird im Simulationsmodus getestet. Nach erfolgreichem Test wird das Programm veröffentlicht und die „App“ auf ein Q.monixx Gerät übertragen.

Beschreibung der „App“

Es werden 4 Kanäle in Schreib- und Leserichtung (IO) definiert. Beim ersten Aufruf der Task werden auf die jeweiligen Output-Anteile Werte geschrieben, die im Weiteren die Kurvenart (z.B. Sinus) an den Input-Anteilen der Kanäle bestimmen. Die „App“ wird im Simulationsmodus programmiert, so dass keine echten Geräte-IOs vorhanden sind. Zu Testzwecken existiert ein Simulationsmakro, das die Inputanteile auf den IO-Variablen nachbildet. Während des Tests der Applikation ist dieses Makro aktiv. Nach Abschluss des Tests wird das Makro deaktiviert und die „App“ erneut in die „test.con.runtime“ geschrieben.

Im Testmodus

Nach Download als „App“

Veröffentlichung

Nachdem die Applikation mit deaktivierter Simulation der Kurvenwerte in die „test.con.runtime“ geschrieben wurde, kann diese jetzt mit dem Tool zur Veröffentlichung ausgelesen, bearbeitet und veröffentlicht werden.

Folgende Schritte sind auszuführen:

  • Erstellen einer neuen Konfiguration 
  • Anmelden an das Gerät (dessen Applikation veröffentlicht werden soll - in diesem Fall die „test.con.runtime“) 
  • Bearbeiten der zusätzlichen Informationen (Name, Kurzname, Version, Kurzbeschreibung usw.)
  • Markieren der Laufzeitkomponente („CORE1“)
  • Änderung der Aliasnamen
  • Publizieren 

Jetzt kann das Archiv anderen Anwendern bereitgestellt werden.

Verwendung der tool-internen Mechanismen zur Anpassung und zum Download auf ein Gerät

Wenn die internen Mechanismen zur Anpassung und zum Download auf ein Gerät freigeschaltet sind, kann auch ohne das Konfigurationstool der Firma „Gantner Instruments Test & Measurement GmbH“ die „App“ auf ein anderes Gerät übertragen werden. Folgende Schritte sind dazu notwendig:

  • Anmelden an das Gerät, auf das die „App“ übertragen werden soll , in diesem Fall ist es ein Gerät der Q.monixx-Serie
  • Mappen der IO-Variablen 
    • Markieren der Variable, auf die der IO zeigen soll (links)
    • Doppelklick auf den IO der Summary, der zugewiesen werden soll

Dieser Schritt muss für alle Variablen der linken Seite, die keine Entsprechung in der „summary“ haben, ausgeführt werden.

  • Mappen der IO-Variablen abschließen 

Das Ergebnis sieht dann wie folgt aus.

  • Download der „App“ (Laufzeitkomponente und alle relevanten Dateien) in das zuvor ausgewählte Gerät (Q.monixx) 

Nach einem Reset des Gerätes läuft dieses mit der „App“ an.

Zusätzliche Informationen

Verzeichnisstruktur

Die Verzeichnisstruktur, auf die das Tool aufsetzt, gliedert sich wie folgt:

  • bin
    • hier befinden sich alle notwendigen Module und Bibliotheken, sowie die globale Konfigurationsdatei „tcAppPublisher.ini“
    • tcAppPublisher.ini
  • Configurations
    • in diesem Verzeichnis werden die Konfigurationen angelegt
    • jede Konfiguration wird in einem Unterverzeichnis verwaltet
      • der Name des Unterverzeichnisses wird automatisch vergeben
      • im Unterverzeichnis können sich weitere Unterverzeichnisse befinden
  • Published
    • in diesem Verzeichnis werden die veröffentlichen „Apps“ als komprimierte Datei verwaltet
    • der Inhalt des Archivs repräsentiert nicht die komplette Konfiguration, sondern nur die Komponenten, die für eine Weitergabe der „App“ notwendig sind

Aufbau der Beschreibungsdatei für die Veröffentlichung

Die Datei (appmancfg.axl), in der alle relevanten Informationen für eine Veröffentlichung stehen, befindet sich im Verzeichnis der jeweiligen Konfiguration.

Für den Download in ein Gerät sind die Abschnitte „COMPONENTS“ und „VARLIST“ entscheidend. Alle anderen Informationen haben erklärenden Charakter.

Der Abschnitt „Components“ listet die Dateien, die in das Gerät geschrieben werden müssen. Hierbei ist besonders darauf zu achten, dass die „CORE-Typen“

  • „IPL-US“ - Wiederanlaufdatei eines Userkerns
  • „IPL-RT“ – Wiederanlaufdatei eines Echtzeitkerns

übereinstimmen müssen.

Es müssen alle Dateien dieses Abschnitts beim Download in die Steuerung übertragen werden.

Sollten Inkompatibilitäten der Wiederanlaufdateien zu den Laufzeitsystemen existieren, wird der Wiederanlauf gestoppt.

 

Der Inhalt des Abschnitts „VARLIST“ beschreibt die Regeln, wie aktuelle IOs eines Zielgerätes auf die Variablen bzw. IOs, die in der Applikation verwendet werden, gemappt werden können.