From OpenSCADAWiki
Jump to: navigation, search

Other languages:
Name Version License Source Languages Author Icon Description
Mnemonic elements library of the user interface 1.0 GPLv2 vcaBase.db (SQL, GZip) > VCA.wlb_mnEls en, uk, ru Roman Savochenko
  Maxim Lysenko (2008-2012), Ksenia Yashina (2007)
LibMnemoElements.png Provides the mnemonic elements library of the user interface of the industrial automation.

The library is created to provide mnemonic elements of the user interface and it contains graphic elements, often need when forming the user interface of the automation of technological processes. The library is built on the basis primitives of the widgets and the internal programming language JavaLikeCalc.

The element's names and their parameters are available in languages: English, Ukrainian and mRussian. Their source code wrote in the human-language independent mode with calls for the translations by the function tr() and the message's translation also allowed for English, Ukrainian and mRussian.

For connection the library to a project of the OpenSCADA station you can obtain the database file as:

  • supplied with a ready and proper package of the Linux distribution like to "openscada-libdb-vca", "openscada-LibDB.VCA";
  • directly taken for most actual one from the subversion repository and converted to the DB SQLite file in the way:
wget http://oscada.org/svn/trunk/OpenSCADA/data/LibsDB/vcaBase.sql
sqlite3 -init vcaBase.sql vcaBase.db .exit

This obtained file next you can place into the project directory of the station and create the database object for the DB module "SQLite", registering the database file in the configuration.

1 Passive screen elements

1.1 Elements of pipelines without the gradient fill

The elements in Figure 1.1 serve to construct pipelines of any complexity, required width and color. By default, they are filled in yellow, the rotation angle is 0° and the mirroring disabled.

Fig.1.1. Elements of the pipeline without the gradient fill.

The pipeline elements include, from the left to the right:

Name (identifier) Version License Author
Pipe-cross (El_Krest) 1.0 GPLv2 Maxim Lysenko
Pipe-line horizontal (El_Pipe_simple) 1.0 GPLv2 Maxim Lysenko
Pipe-line vertical (El_Pipe_simple_vert) 1.0 GPLv2 Maxim Lysenko
Arrow (El_Strela) 1.0 GPLv2 Maxim Lysenko
Back arrow (El_Obr_Strela) 1.0 GPLv2 Maxim Lysenko
Pipe-angle (El_pipe_1) 1.0 GPLv2 Maxim Lysenko
Pipe-tee (El_Troinik) 1.0 GPLv2 Maxim Lysenko

Using — development
These widgets can be used by the developer to create mnemonic schemes of the plain pipelines. By the attribute "Color 1" you can change the element filling color. By rotation and mirroring these widgets you can get all the needed combinations. By scaling, you can set the desired pipe width where, for straight sections, the "x" and "y" axis scales may be different, determining the typical pipe width on the mnemonic scheme and the length of its individual section, respectively. To use it you need to add selected ones to a mnemonic scheme, systematically adjust for the geometry and visually connect the needed parts of the pipelines properly, see Addition 1 for the details. For the purpose of systematic and simplified work, you may prepare only first elements and for other pipeline parts use ready copies of these already prepared and placed elements.

Using — runtime
In the runtime mode, these elements look the same as in the development mode because they are not dynamic.

1.2 Elements of pipelines with volumetric filling

The elements in Figure 1.2 serve to construct volumetric pipelines of any complexity, required width and color. By default, the transparent volumetric gradient is filled in yellow.

Fig.1.2. Elements of pipelines with volumetric filling.

The pipeline elements include, from the left to the right and from the top to the bottom:

Name (identifier) Version License Author
Pipe-cross, volumetric (El_Krest_gr) 1.1 GPLv2 Maxim Lysenko, Roman Savochenko
Pipe-line horizontal, volumetric (El_Pipe_simple_gr) 1.1 GPLv2 Maxim Lysenko, Roman Savochenko
Vertical pipe line, volumetric (El_Pipe_simple_vert_gr) 1.1 GPLv2 Maxim Lysenko, Roman Savochenko
ArrowHR, volumetric (El_Strela_gr) 1.1 GPLv2 Maxim Lysenko, Roman Savochenko
ArrowHL, volumetric (El_StrelaHL_gr) 1.1 GPLv2 Maxim Lysenko, Roman Savochenko
ArrowVB, volumetric (El_StrelaVB_gr) 1.1 GPLv2 Maxim Lysenko, Roman Savochenko
ArrowVT, volumetric (El_StrelaVT_gr) 1.1 GPLv2 Maxim Lysenko, Roman Savochenko
Back arrowHL, volumetric (El_Obr_Strela_gr) 1.1 GPLv2 Maxim Lysenko, Roman Savochenko
Back arrowHR, volumetric (El_Obr_StrelaHR_gr) 1.1 GPLv2 Maxim Lysenko, Roman Savochenko
Back arrowVB, volumetric (El_Obr_StrelaVB_gr) 1.1 GPLv2 Maxim Lysenko, Roman Savochenko
Back arrowVT, volumetric (El_Obr_StrelaVT_gr) 1.1 GPLv2 Maxim Lysenko, Roman Savochenko
Pipe-angleBL, volumetric (El_pipe_1_gr) 1.1 GPLv2 Maxim Lysenko, Roman Savochenko
Pipe-angleBR, volumetric (El_angleBR_gr) 1.1 GPLv2 Maxim Lysenko, Roman Savochenko
Pipe-angleTL, volumetric (El_angleTL_gr) 1.1 GPLv2 Maxim Lysenko, Roman Savochenko
Pipe-angleTR, volumetric (El_angleTR_gr) 1.1 GPLv2 Maxim Lysenko, Roman Savochenko
Pipe-teeVR, volumetric (El_Troinik_gr) 1.1 GPLv2 Maxim Lysenko, Roman Savochenko
Pipe-teeHB, volumetric (El_TroinikHB_gr) 1.1 GPLv2 Maxim Lysenko, Roman Savochenko
Pipe-teeHT, volumetric (El_TroinikHT_gr) 1.1 GPLv2 Maxim Lysenko, Roman Savochenko
Pipe-teeVL, volumetric (El_TroinikVL_gr) 1.1 GPLv2 Maxim Lysenko, Roman Savochenko

Using — development
These widgets can be used by the developer to create mnemonic schemes of the volumetric pipelines. By the attribute "Fill: color" you can change the element filling color. By scaling, you can set the desired pipe width where, for straight sections, the "x" and "y" axis scales may be different, determining the typical pipe width on the mnemonic scheme and the length of its individual section, respectively. To use it you need to add selected ones to a mnemonic scheme, systematically adjust for the geometry and visually connect the needed parts of the pipelines properly, see Addition 1 for the details. For the purpose of systematic and simplified work, you may prepare only first elements and for other pipeline parts use ready copies of these already prepared and placed elements.

At.png It is not necessary to rotate these widgets as this may cause visual contradiction with other elements of this category, due to the specific of gradient filling. That is why all four element orientations are provided without the need for rotation.

Using — runtime
In the runtime mode, these elements look the same as in the development mode because they are not dynamic.

1.3 Different passive elements

The elements in Figure 1.3 are for use in, or around, pipelines.

Fig.1.3. Different passive elements.

The different passive elements include, from the left to the right:

Name (identifier) Version License Author
Elements of the pipe schemes
Manual valve (El_Armatura) 1.0 GPLv2 Roman Savochenko
Diaphragm (El_d) 1.0 GPLv2 Roman Savochenko
Separator (sep) 1.0 GPLv2 Roman Savochenko
Cooler (cooler) 1.0 GPLv2 Roman Savochenko
Coil pipe (Teploobm) 1.0 GPLv2 Maxim Lysenko
Parts of elements of the pipe schemes
Cooler 2 (cooler2) 1.0 GPLv2 Ksenia Yashina
Rounded rectangle (El_round_square) 1.0 GPLv2 Maxim Lysenko
Rounded rectangle 1 (El_round_square1) 1.0 GPLv2 Maxim Lysenko
Rounded rectangle, volumetric (rnd_sq_gr) 1.0 GPLv2 Maxim Lysenko
Rounded rectangle 1, volumetric (rnd_sq_gr1) 1.0 GPLv2 Maxim Lysenko
Additional
Line (Line_simple) 1.0 GPLv2 Maxim Lysenko
Wave-line (El_Obriv) 1.0 GPLv2 Maxim Lysenko
Scale (Shkala) 1.0 GPLv2 Roman Savochenko
Ruler (El_Priamaja) 1.0 GPLv2 Maxim Lysenko

Using — development
These widgets can be used by the developer to create mnemonic schemes with the pipelines. By rotating and mirroring these widgets, you can get all the combinations you want, based solely on the primitive "Elementary Figures". By scaling, you can set the desired geometric dimensions relative to the overall dimensions of the pipe network. To use it you need to add selected ones to a mnemonic scheme, systematically adjust for the geometry and properly visually connect into or between the pipeline elements, see Addition 1 for the details. For the purpose of systematic and simplified work, you may prepare only first elements and for other pipeline parts use ready copies of these already prepared and placed elements.

Using — runtime
In the runtime mode, these elements look mostly the same as in the development mode because they are not dynamic. Some elements, as "Cooler 2", are dynamic but are not linked.


1.4 Alarming (El_Alarm)

1.0 GPLv2 * en, uk, ru Roman Savochenko

The element on Figure 1.4 is used to display the discrete status by color. Also this element generates notifications of violations on the locally defined condition, the attribute ntf. The element commonly uses and represents the representative structure of the DAQ-template of the discrete block.

Fig.1.4. The element "Alarming" in the development and runtime modes (left to right).

Using — development
This widget can be used by the developer to create mnemonic schemes with displaying of discrete statuses. To use it you need to add this widget to a mnemonic scheme, proportionally adjust for the geometry and link to the data source parameter.

Using — runtime
In the runtime mode, in the main field of the element, there are displayed a circle filled by colour, what related to values of the discrete signals of the parameter and the attribute digStts configuration; where the colour, depending to availability of a violation related to the attribute ntf condition, sets to the violation color; and to what the inquieted parameter may blink. At the hardware errors and non validity the data, it fills in the gray color.

Linking and configuring the attributes

Identifier Name Type Configuration Configuration template Description
NAME Name String Input link Parameter|NAME Short name of the parameter to be inserted in the notification of violations.
st_open Parameter: status-open Boolean Input link Parameter|st_open The state "Opened" of the parameter or the common state of the switch at missing the state signal "Closed".
st_close Parameter: status-close Boolean Input link Parameter|st_close The state "Closed" of the parameter
digStts Statuses String Input link Parameter|digStts Configuration of the parameter statuses with the structure {openedLabel}-{color};{closedLabel}-{color}, for the discrete block.
ntf Notification "{st}:{modes}:{Speech text}" String Constant Configuration of the notification forming at the status (st) [0|1] and the notification modes-methods (modes), as a string of the digital methods, and by the speech, if pointed such method.


1.5 Level (Level)

1.0 GPLv2 * en, uk, ru Maxim Lysenko, Roman Savochenko

The element on Figure 1.5 is used to display a value histogram of levels of liquid in the technological apparatus. The element commonly uses and represents the representative structure of the "Analog signal" DAQ-template.

Fig.1.5. The element "Level" in the development and runtime modes (left to right).

Using — development
This widget can be used by the developer to create mnemonic schemes with displaying levels of liquid in the technological apparatus. By the attribute "Fill: color" you can change the bar filling color. By rotation this widget you can get all the needed combinations. To use it you need to add this widget to a mnemonic scheme, adjust for the geometry by the scale and link to the data source parameter.

Using — runtime
In the runtime mode, in the main field of the element, there are displayed a histogram bar, what related to the analog value.

Linking and configuring the attributes

Identifier Name Type Configuration Configuration template Description
var Value Real Input link Parameter|var Engineeric real value of the parameter.
max Maximum Real Input link Parameter|max Upper limit value of the parameter.
min Minimum Real Input link Parameter|min Minimum limit values of the parameter.
fillColor Fill: color Color Constant

2 Active elements, representing various technological devices

2.1 Discrete apparatus

The elements on Figure 2.1 is used to display the discrete apparatus' status on basis of the discrete signals, for use in pipelines. The elements commonly use and represent the representative structure of the DAQ-template of the discrete block in different visual variants.

Fig.2.1. Discrete apparatus' elements in the development and runtime modes (top to bottom).

The discrete apparatus' elements include, from the left to the right:

Name (identifier) Version License Author Processing period
Compressor (Compressor), Compressor 1 (Compressor_1) 1.2 GPLv2 Roman Savochenko, Maxim Lysenko -1 ms (parent)
Ball crane (El_Kran_Sh), Bolt (El_Zadvizhka), Crane (Zadvizhka) 1.2 GPLv2 Maxim Lysenko, Roman Savochenko -1 ms (parent)

Using — development
These widgets can be used by the developer to create mnemonic schemes with displaying and control of the discrete apparatus. To use their you need to add these widgets to a mnemonic scheme, proportionally adjust for the geometry and link to the data source parameter.

Using — runtime
In the runtime mode, in the main field of the elements, there are represented the apparatus symbolic shape with a dynamic sign of the discrete status, what related to values of the discrete signals of the parameter and the attribute digStts configuration. At the hardware errors and non validity the data, it fills in the gray color.

In the active mode of the element, pressing the left mouse button in the widget body will cause to appear in the panels area for control panel of the parameter, and the selection of this widget will be displayed with the blinking structure color. The commands are duplicated in the context menu that appears when the right mouse button is pressed in the widget area.

At.png The widget supports now of working with very big "Periodic processing" value and that value is set now to inherit from parent widget/page/session (the value -1). That is possible by a mechanism of the events early processing and the possibility of control the processing periodicity from the procedure.

Linking and configuring the attributes

Identifier Name Type Configuration Configuration template Description
shifr Parameter: code String Input link Parameter|NAME Short name of the parameter to be inserted in actions of the user-operator.
DESCR Description String Input link Parameter|DESCR Description or long name of the parameter to be inserted in actions of the user-operator.
st_open Parameter: state - "Opened" Boolean Input link Parameter|st_open The state "Opened" of the parameter or the common state of the switch at missing the state signal "Closed".
st_close Parameter: state - "Closed" Boolean Input link Parameter|st_close The state "Closed" of the parameter.
digStts Statuses String Input link Parameter|digStts Configuration of the parameter statuses with the structure {openedLabel}-{color};{closedLabel}-{color}, for the discrete block.
com Parameter: command - "Open" Boolean Full link Parameter|com The command "Open" of the parameter or the common command of the switch at missing the command signal "Close".
close Parameter: command - "Close" Boolean Full link Parameter|close The command "Close" of the parameter.
stop Parameter: command - "Stop" Boolean Full link Parameter|stop The command "Stop" of the parameter, for cranes.
digComs Commands String Input link Parameter|digComs Configuration of the parameter commands with the structure {openLabel}-{color};{closeLabel}-{color}, for the discrete block, and {com1Label}-{color};{com2Label}-{color};...;{comNLabel}-{color}, for the code status.

2.2 Analog apparatus

The elements on Figure 2.2 is used to display the analog apparatus' status and intended for use in pipelines. The elements commonly use and represent the representative structure of the DAQ-template of the analog PID-regulators in different visual variants.

Fig.2.2. Analog apparatus' elements in the development and runtime modes (top to bottom).

The analog apparatus' elements include, from the left to the right:

Name (identifier) Version License Author Processing period
Crane with position (El_Kran_polozh) 1.1 GPLv2 Maxim Lysenko, Roman Savochenko -1 ms (parent)
Three-positioned crane (Kran_3_pos) 1.0 GPLv2 Maxim Lysenko, Roman Savochenko

Using — development
These widgets can be used by the developer to create mnemonic schemes with displaying and control of the analog apparatus. To use their you need to add these widgets to a mnemonic scheme, proportionally adjust for the geometry and link to the data source parameter.

Using — runtime
In the runtime mode, in the main field of the elements, there are represented the apparatus symbolic shape with a dynamic sign, what related to values of the analog parameter.

In the active mode of the element, pressing the left mouse button in the widget body will cause to appear in the panels area for control panel of the parameter, and the selection of this widget will be displayed with the blinking structure color.

At.png The widget supports now of working with very big "Periodic processing" value and that value is set now to inherit from parent widget/page/session (the value -1). That is possible by a mechanism of the events early processing and the possibility of control the processing periodicity from the procedure.

Linking and configuring the attributes

Identifier Name Type Configuration Configuration template Description
out Parameter: position Real Input link Parameter|out

3 Addition 1: Adjustment and fitting of elements, construction of complete pipelines

This library contains and is intended for the construction of integral pipelines of arbitrary configuration of its individual elements, which need to be visually connected to each other so that there are no obvious displacements along the common axis and the intervals between the connection of visual elements, especially for primary elements of the pipeline and with the ability to have an equally perfect appearance across a wide range of scales, ideally at all.

The need for wide-scale mnemonic schemes is relevant because of the unified construction of the mnemonic schemes in the resolution 900x600 and the ability to perform them on large resolutions of modern displays, when the zoom factor can now reach 10.

Therefore, all imperfections of the manual fitting there will immediately pop up and spoil the picture, since it is difficult to do without special means and on the initial screen of development it is impossible to see them.

Accordingly, the following rules are recommended for fitting the elements to obtain the desired result:

  1. Aligning elements by axis should be performed by centering, since they are all unified in size 100x100 and at the condition of providing their systematic arrangement on the mnemonic scheme on the same scale, typically 0.2.
  2. Perfect fit is more difficult because there is currently no tool to draw one element to the nearest border of another, and it is possible only at a separate calculation of the coordinates. Therefore, it is recommended to partially overlap one element to another, at 100% development scale, after the previous rule and according to the algorithm:
    • to pull up the second element to the first, in one pixel step (holding down Shift) until the visual gap disappears, that is, the maximum possible distance remaining there will be 1 pixel;
    • compensate this remain by another step of 1 pixel.
At.png When developing at a scale other than 100%, say 150%, we get a maximum compensation of 1*(150/100)=1.5, ie the compensation steps must be the larger whole (ceil) — 2.

At.png The latter rule is obviously not perfect and for a translucent fill color will lead to another defect namely the unevenness of the final color in the connection locations, which can however be used for visual inspection in the design of opaque schemes. But if you still need such an opportunity without the need for separate calculations, then order-motivate the developers to create a tool for reaching out!

Applying these rules can be quite simple to get the result in the figure:

The mnemonic scheme sample with pipelines.