tcAppPublisher

If the video does not work, you can click here to watch.

By using the tool "tcAppPublisher", user programs can be read from devices of the “Q.station” and “Q.monixx” series or “test.con.runtime” and converted into “Apps”. Subsequently, the “Apps” can be assigned the runtime kernel of a target system with the configuration tool of the company “Gantner Instruments Test & Measurement GmbH”. After configuration of the interface variables, the “App” can be downloaded and started.

The goal is to be able to exchange the Applications between devices, without having to use a “test.con programming environment” and without making changes to the I/O configuration of the target device.

The tool is a separate application, independent of “test.con”. It scans the connected target systems and lists them together with the embedded runtime kernel and user programs. At the same time, possible dependencies to other runtime kernels are checked. From this list, the user selects a program for their “App”. Following, the recovery files of the user programs, potentially existing configuration data for communication with other runtime kernels and the XML file with the interface variables are read. Additional information as f.e. the “App” name, a short description etc. can be read. The “App” can be published in standard configuration of the tool. All relevant files are then merged in one compressed file. This file can be made available to a user, so they can transfer the application to their device.

Toolbar

The following functions are offered in the toolbar:

Active Inactive Description
Creating a new configuration
List of available configurations
A list with all available configurations is displayed. The list shows the assigned name and a short description if there is one.
Delete list of available configurations
A list with all available configurations is displayed. The list shows the assigned name and a short description if there is one.
Save the current configuration parameters
Load the components, that should be published
Publish the configured components
Internal function
Logon to a device, which is intended for a publication
Internal function
Possibility to assign I/Os
Internal function
Writing data, which are intended for a publication, in the previously logged on device
Help
Exit tool

Create configuration

By clicking on the toolbar icon , a configuration is created.

A new submenu is created in the directory „Configurations“. Furthermore an empty project configuration is created. The mode now changes to edit.

Call edit list

By clicking on the toolbar icon , the list with all configurations which are available for editing is be opened. 

A configuration can be selected from the list, so it can be edited. By double clicking on the marked configuration, the tool changes to edit mode.

Call delete list

By clicking on the toolbar icon , the list with all available configurations, which can be deleted is called.

In the list, one or more configurations can be selected for deleting.

By confirming with the button „Delete“, the marked configurations will be deleted irrevocably and without further requests.

Saving the configuration

Saving changes of an edited configuration is done by clicking on the toolbar icon . If during or after editing changes have not explicitly been saved, an additional request is made when the mode is being changed (f.e. in list mode etc.).

Loading the components

Loading the components is a function in edit mode and is executed when clicking on the toolbar icon . In that case a scan dialog is called which lists all available devices including a “test.con.runtime” which might have been started.

After confirming a device (regardless of a runtime component) reading all relevant data will be initialized.

As older devices and PC target system do not support the functionality to create applications, error messages might occur. They will be displayed in the message window (lower area of the tool).

If reading the components is done in a configuration, which has already been read, all relevant information are being updated. In the process, applied changes (entered text, name changes of variables, etc.) are kept if possible.

After successfully loading the components, they will be available for editing in the configuration.

Editing the configuration

Edit mode will be activated from the edit list or when creating a new configuration.

Additional explanations

To understand the published application better, additional explanations about the necessary components can be forwarded, including:

  • A descriptive name (is also shown in the according list boxes)
  • A short name, which is used for creating the archive name for the publication
  • A version number for versioning the publication
  • A short description (also shown in the according list boxes). To create a new line in this field, the keyboard combination CTRL+ENTER has to be pressed.
  • Optional: an additional descriptive document
  • Optional: a bitmap

Primarily, these information are implemented, so one tool (f.e. the configuration tool of the company “Gantner Instruments Test & Measurement GmbH) can manage various publications (“Apps”).

Runtime components

The component list provides all available components in a possible “App”. If there are dependencies among the components, they are marked as “mandatory” (M) and cannot be deselected. If f.e. a system is published with a realtime kernel and user-space kernel, and if application connection variables are used by the realtime kernel, publication can only be executed while considering both kernels.

If there are no such dependencies, single runtime components can be published, too.

Variable list

This list contains all I/O variables and variables, which are marked as interface variables, just like they are used in the runtime components. To make the use of variables more applicable for users of the “App”, the alias name can be adapted as wished (f.e. original name “Input AI1” can be changed to the application-specific alias name “setpoint speed limiter”).

Changing the alias name can be managed by double clicking on the name or, if the focus is placed on the name, by using the “enter” key.

Changed alias names are also kept when reloading the configuration, if the nature of the variable has not changed fundamentally.

Publication

Publishing is a function in edit mode and is executed when clicking on the toolbar icon . This icon is only unlocked if

  • Only „mandatory“ components are available, or
  • If at least one component is activated for optional components.

If changes are made in the configuration, which have not been saved yet, the regarding request is called before publication.

The publication means that all marked components and the according description file are combined in a zip archive, which is stored in the “publisher directory”. The archive name is created according to the short name and the entered version number.

The result of the publication is documented in the message window.

Additional functions

Three additional options can be unlocked in the configuration file of the tool. These functions will be provided by the company “Gantner Instruments Test & Measurement GmbH”. For test purposes, they can still be used.

Logon a device for downloading

Logging on a device for downloading is a function in edit mode and is executed when clicking on the toolbar icon . A scan dialog is called, which lists all available devices including a “test.con.runtime” that might have been started.

After confirming a device (regardless of a runtime component) the compatibility to the current configuration is checked. Success or error messages are shown in the message window.

Assigning I/O variables

This function in only enabled, if a device has successfully been logged on for download.

Assigning variables to I/Os is a function in edit mode and is executed when clicking on the toolbar icon .

The mode is changed to assigning mode. It can only be exited by clicking on the icon in the toolbar again. In this mode, all I/O variables used by the “App” are shown on the left, and all I/Os used by the logged-on device are displayed on the right side.

Each variable has to be assigned individually. For this purpose, the following steps have to be executed:

  • Marking a variable in the „list of variables for publication”
  • In the „List of „summary“ variables“, all compatible I/Os are shown
  • Double clicking on a variable in the “summary”, changes the assigned name in the “app variable” (list on the left)

If all “app variables” have an equivalent in the “summary”, the mode can be exited (by clicking on the icon again). A request appears, if the assignment should be applied.

Now the result can be written in the device, which is logged on for download.

Download the „App“

This function is only enabled, if the device has successfully been logged on.

The download is a function in edit mode and is executed when clicking on the toolbar icon .

All according components are transmitted to the device. The device is not reset automatically.

Example publication

In this part, the publication process will be shown in a small example.

A program for the “test.con.runtime” is created. This program is running without I/Os (only project variables) and is tested in simulation mode. After successfully testing the program, it will be published and the “App” is transferred to a Q.monixx device.

Description of the „App“

4 channels are defined in writing and reading direction (I/O). At the first call of the task, values are written to the according output parts, which also define the curve type (f.e. sine) at the input parts of the channels. The “App” is programmed in simulation mode, so no actual device I/Os are available. For test purposes, there is a simulation macro, which emulates the input parts at the I/O variables. During the test of the application, this macro is active. As soon as the test is finished, the macro is deactivated and the “App” is re-written in the “test.con.runtime”.

In test mode

After download as “App”

Publication

After the application was written in “test.con.runtime” with deactivated simulation of the curve values, it can now be read, edited and published with the tool for publication.

The following steps have to be executed:

  • Create a new configuration 
  • Logon the device (of which the application should be published – in this case the „test.con.runtime“) 
  • Edit the additional information (Name, short name, version, short description, etc.)
  • Mark runtime component „CORE1“
  • Change alias names if necessary
  • Publish 

Now the archive can be provided for other users.

Using the tool-internal mechanisms for adjusting and downloading on a device

If the internal mechanisms for adjusting and downloading on a device are enabled, the “App” can also be transmitted to another device without having the configuration tool of the company “Gantner Instruments Test & Measurement GmbH”. The following steps have to be taken:

  • Logon the device, to which the “App” should be transmitted . In this case it is a device of the Q.monixx series.
  • Map the I/O variables
    • Mark the variable, on which the I/O should point (left)
    • Double click on the I/O summary, to which it should be assigned

This step has to be executed for all variables on the left side, which have no equivalent in the “summary”.

  • Finish mapping the I/O variables

The result looks as following.

  • Download the “App” (runtime component and all relevant files) to the device, which has been selected before (Q.monixx) .

 After resetting the device, it starts with the „App“.

Additional information

Directory structure

The directory structure, on which the tool is built, is arranged as following:

  • bin
    • All necessary modules and libraries, as well as the global configuration file “tcAppPublisher.ini” can be found here.
    • tcAppPublisher.ini
  • Configurations
    • In this directory the configurations are stored
    • Each configuration is managed in a submenu
      • The name of the submenu is automatically assigned
      • further submenus can be found in submenus
  •  Published
    • In this directory, the published “Apps” are managed as compressed file
    • The content of the archive does not represent the full configuration, but only the components, which are necessary for sharing the “App”.

Structure of the description file for publication

The file (appmancfg.axl) in which all relevant information for a publication are stored can be found in the directory of the regarding configuration.

For the download in a device, the parts “COMPONENTS” and “VARLIST” are important. All other information are of descriptive character.

The part “Components” lists files, which have to be written in the device. Be aware, that especially the “CORE types”

  • „IPL-US“ – Recovery file of a user kernel
  • „IPL-RT“ – Recovery file of a realtime kernel

have to match.

All files of this part have to be transmitted to the controller during download.

If incompatibilities of the recovery files to the runtime systems should exist, restart is stopped.

The content of the part “VARLIST” contains rules about how current I/Os of a target device can be mapped on the variables or I/Os that are used in the application.