Idekit Visual

Application description

The application displays and allows to edit values from free-programmable controllers (PLC)

. The tree menu structure has to be engineered in the Idekit Studio, and the exported menu will be open in the application where also the parameters for connection to the controller(s) have to be set. The application is available for the following devices:
•    mobile devices (Android a iOS),

SSCP (Shark Slave Communication Protocol)

is used, which are proprietary communication protocols designed so as to communicate safely over the Internet. The application uses LCD menu definition files, which are products of HMI Editor (the editor version must correspond with the firmware version in the process stations).

The overall work with creating definitions for mobile devices is identical as creating definition for graphic terminal. More about creating graphic definition can be found in the chapters Creating a text template for Terminal a Creating a graphic template for Terminal


  • Mobile devices (Android and iOS)

Android - The application is available at Google Play. The definition file must be uploaded to the mobile device using Bluetooth, USB cable, e-mail, over a cloud storage, etc.
iOS - The installation is available at App Store. The menu definition files must be uploaded to the mobile device over iTunes. The files can be opened directly from the system.

Definition opening on mobile devices - The definition can be opened directly from the system. Before opening the definition, Idekit Visual must be running in the background. The following procedure is basically the same both for Android and iOS.
1)   In one of the file browsers we will find the downloaded definition in .zip format.
2)   Long push the definition file, the context menu opens. Select "Send" or "Share".
3)   In the "Send items to" or "Copy to" dialog box, select the Idekit Visual application. This brings the app to foreground and loads the definition file.

Used icons

No alarm - normal state
Acknowledged alarm – alarm acknowledged by user, pending
Acknowledged unreset alarm – alarm acknowledged by user, alarm is off, waiting for reset
Active alarm – unacknowledged pending alarm
Unacked, unreset – unacknowledged alarm, alarm is off, waiting for reset
Text item – informative text, name of group of data points or branch of the menu tree
Menu branch protected by PIN – PIN must be entered as a 4-digit number
Current date and time of the controller, as provided by real time clock
Analogue value (indicator) – temperature, humidity, pressure etc.
Digital value (indicator) – device or aggregate status (on / off) etc.
Analogue value (setting) – changing of temperature, humidity, pressure etc. setpoint
Digital value (setting) – changing operation mode, setting a device or plant on or off, etc.
Time scheduler (binary – on / off) – weekly time scheduler for control of plant according to a predefined switching table
Time scheduler (integer) – weekly time scheduler for control of plant according to a predefined switching table, selection of multiple values like Comfort, Standby, Off etc.
Time scheduler (analogue) – weekly time scheduler for control of plant according to a predefined switching table, each event is assigned an analogue value
Menu for switching pages
Alarms overview
Open - For loading definitions
User Profile
Save definition
Return last used definition
Delete definition path

Main screen

After installing and launching the application, the main screen is displayed:

The screen has 3 parts:

  • Application name
  • Application menu
  • Area with displayed values

The application name is in the upper part, close to the menu icon. This icon is not available in the Embedded Linux version.
Below there is an area with displayed values, where the menu tree with read values or dialogues for setting are displayed.
The items are listed according to their position in the menu tree. The item which contains a dialogue or submenu is displayed with arrows in the right part of the line. It means that by selecting the item the submenu branch is activated.

Each item has a text with colour depending on the variable status:

red Communication error incl. error text
light red Last known value
black Read value
grey Unknown, value is being read

The navigation in the tree follows over clicking the menu item which supports this function. It is not possible to change the value if it has not been read and is being read, or if it is in communication error or of bad quality.

To make the navigation easier, there is the complete menu path listed below the header. By clicking this path the user navigates one level higher. This information is not displayed on the main page and in the value edit mode.

Editing a value

The editing mode is displayed if the corresponding variable is editable, i.e. if its value can be changed by the user. Editable values are:

  • Date and time (real time clock in the process station to control the time schedules)
  • Analogue value (temperature, humidity, or pressure setpoint etc.)
  • Digital value (switching a device on or off, operation mode change etc.)
  • Time scheduler (weekly scheduler for time-based automatic switching of operation modes or device states).

In the setting header there is a icon for confirming of changes (tick the symbol on the right), and cancelling of changes (arrow at the left). The symbols are white until the value is edited. Then they change colours to indicate that the value has been edited.

A special item is an Alarm. If an alarm requires user intervention, like acknowledging or reset, the item is displayed similar to an editable item with alarm status icon as in the table above. Alarm can be acknowledged or reset similarly to editing a multistate value.

Date and time

Editing of time is only possible if the time display item has the "editing allowed" arrow at the right-hand side. Date and time are usually just for information, they can be changed only in the PIN-protected menu branches. When editing, the default values are current date and time of the PLC. The date / time format is DD MM RR HH:MM. If a date is changed, the number of days in month is recalculated together with the leap year calculation.

Date and time setting is not supported in SSCP, as the devices use NTP for time synchronisation. The date and time setting is only possible at the SoftPLC / MiniPLC controllers.

Analogue value

Analogue value is set using a slider or the + or - buttons. The step is defined in the menu definition file for each value separately. The step also specifies the number of decimal places for display.

Default value is the actual read value from the PLC. If the value is out of the preset steps, then it is synchronized with the configuration only after reaching the lower or upper limit value.

Digital value

A digital value may be not only a switch (on / off), but also an integer value (selecting between more states). The list of values and their names is defined in the configuration file. After clicking the digital value setter, the list of states is displayed to select from. The control element displays the current state.
Default state is the actual (read) state. If the state name is not specified in the configuration file, the „UNKNOWN“ text is displayed, and this variable can not be set to any other state.

Time scheduler

A time scheduler is a complex value containing more information: actual value, list of transitions within a week, and list of exceptions (intervals of days when the preset value is overridden by another value - used at holidays, factory closures etc.). If a Time scheduler type is in the menu definition, it displays its current value first, and after it is clicked, it reads and displays the list of transitions and exceptions.

The time scheduler transitions list and exceptions list shall be considered as a single set of data. It means that a change in one list is considered as change in the whole list, and both lists are written to the PLC in a single command. Both the weekly scheduler and the exception programs are thus read and written in one command. The weekly scheduler and exception list are switched in the editor by clicking on the Exceptions button.

The time scheduler event can be deleted by clicking the Wastebasket icon or changed by clicking the Edit icon. At the Embedded Linux devices just click the line. The changes in the whole list are displayed in the same way as the changes of analogue values.

Deleting of an event

A new item is added by clicking the „+“ button. The item is added to the current list (weekly scheduler or exceptions). Added or edited values are marked by a red stripe at the icon. Maximum number of items depends on the PLC, and is at least 40 events a week and 10 exceptions.

Time schedulers

are of three types:

  • Binary – true / false (on/off)
  • Integer – One of several states (selection from more states)
  • Analogue – analogue value in limits given by the definition in the HMI menu editor

The difference between them is the displayed and editable value type only. While binary and integer schedulers are set as digital value, the analogue scheduler is edited as an analogue value. There is always the time of transition at the event.

The time and date are set according to the type of the event.

  • Weekly schedule item: time and date of the event, optionally more weekdays to copy the event to
  • Exception item: Starting and ending day of the exception

It is also possible to move the event to another weekday or day.

Every single change must be confirmed by the green tick in the upper right corner. Finally, all changes must be confirmed together to be sent to the PLC. Before the complete schedule is sent to the PLC, it is optimized and redundant events are deleted.

Section protected by PIN

After clicking a menu branch protected by PIN, a 4-digit PIN must be entered in a dialogue. Then the branch is unlocked and all values are accessible.

In the PIN-protected sections there are usually values like parameters, setpoints, RTC setting, and other values which not every user is expected to change.

A timeout (in minutes) keeps the menu branch open for the user without having to enter the PIN again. After expiration of the timeout, the PIN dialogue displays again. The user is not logged off automatically.


The Menu contains setting of the application and other functions. Menu will be display after click on icon in top right corner or slide from right to the middle of the screen, Menu objects depend on the used device. The differences are described in the subchapters. It is mostly used by the programmer or user who is setting up the configuration. Menu provides the following functions:


  • Mobile devices (Android and iOS)

This item allows to toggle, save and download definitions. In the definition setting, it is possible to name and save a currently open project. It is possible to switch between the saved definitions in menu items „Definitions“. Also it is possible to download the definitions directly from the PLC. Here the SSCP connection parameters (IP adress, port, user name and password, SSCP address or proxy ID) must be entered. This function is supported on PLCs with Linux OS. This function downloads a web definition from the PLC.




User login dialog. The user logs in using his user name and password.


Displays application version and other information.


  • Mobile devices (Android and iOS)

The mobile application settings allows to edit connection parameters, application language and screen resolution. In connection parameters it is possible to set a connection to another PLC than defined in the menu definition file. In the table there is a list of one or more PLCs which are defined in the menu. Select Definition file and a connection to display its properties. If there has to be used a different set of connection parameters, such as when accessing the PLC from the internet rather than from a local network, select User profile and click the connection. The customized parameters can be edited then.

Name – Connection name, must be same as in Definiton file.
IP –
URL or IP address of the PLC, e.g. or
Port –
TCP port where the PLC listens – for SoftPLC Link the default value is 12345, for SSCP the default value is 12346. If the PLC had been reconfigured or is accessed from the internet over a router, the port number may be different.
User –
name of user who is accessing the PLC. At SSCP several users with different rights are defined, consult with the PLC application engineer.
Password –
password for the user entered above.
SSCP adresss –
for SSCP protocol only; each PLC has a SSCP address in the range of 0 to 255. Consult with the PLC application engineer.
Proxy ID –
for SSCP protocol only; in case the PLC is connected over a proxy server (it is not available from the internet but it can establish outgoing connections to a proxy server), the proxy server identification is entered here.



User profile

This function is available only on mobile devices (Android and iOS). By checking User profile the settings are changed from the default configuration (as defined in the definition file) to the user profile, entered in the previous menu item. The application then searches for the PLCs at the IP addresses and ports as entered in the User profile rather than as specified in the definition file.

Why use the User profile?

In some situations, the mobile device is connected into two different environments: internal network, where also the PLCs are, and the Internet. It may be that the router settings is blocking the internal network access if the mobile device is configured so as to connect to the Internet from the internal network. The Idekit Menu Reader has dual settings option: the basic setting assumes that the PLC is available in the internal network, while the external setting accesses the PLC over the external IP address of the router which must have its external TCP port 12346 mapped to the TCP port 12346 of the PLC. If the mobile device roams between internal network and the Internet, just switch to External settings and back, the IP address configuration needs not to be changed.


The application is terminated, and all connections to PLCs are released. No data are transmitted nor received in the background.
If the application is not terminated and just set to background, depending on the operating system used there may be data transmission even if the application is not in the foreground. Please exit the application in the Exit menu after you finish your work, also for safety reasons.
The menu is displayed after clicking the Menu icon (see the icons table). The application saves the settings and configurations. If a definition file is read, some of the settings are deleted and set to their defaults. An exception is the Application access password. This is saved until the user enters a new password.
It is recommended to protect the mobile device by a central PIN code or by a biometric protection for enhanced security.

Problems and solutions

After the application start, Menu definition missing is displayed
There is no menu definition file present. The file must be created in the HMI Editor, copied to the mobile device, and opened in Idekit Menu Reader, see above: Menu, Open.

Menu is displayed, but it reads Timeout rather than the values
The application did not succeed to establish the connection to the PLC. Check if in the selected profile (menu Settings, Definition file / User profile) the address, port, password, and other parameters are properly defined.

Values are displayed but can not be changed
Make sure that your connection credentials (user name and password) are those with the correct access rights (for the SSCP protocol).