OpenSCADAWiki: Home Page En/Doc/VC Aconcept/part4/part12
 
Any newly created widget is based on one of several primitives (end element of the visualization) by installing of the kinship as directly to the primitive, as well as through the several intermediate user widgets. Each of the primitives contains a mechanism (logic) of the data model. A copy of the widget keeps the values of the properties of configuration of the the primitive specially for itself.

The tasks of the visualization interface includes support and work with the data model of the primitives of widgets. Primitives of the widget must be carefully developed and unitized in order to cover as many opportunities in the as possible to a smaller number of weakly connected with each other by their purpose primitives.

Table. The library of the primitives of widgets (basic elements of visualization)
Id Name Function
ElFigure Elementary graphic figures Primitive is the basis for drawing basic graphic shapes with their possible combinations in a single object. The support of the following basic figures is provided:
  • Line.
  • Arc.
  • Bézier curve.
  • Fill of the enclosed space.
For all the figures contained in the widget it is set the common properties of thickness, color, etc., but this does not exclude the possibility of indicating the above attributes for each figure separately.
FormEl Elements of the form Includes support for standard form components:
  • Line edit.
  • Text edit.
  • Check box.
  • Button.
  • Combo box.
  • List.
  • Tree.
  • Table.
  • Slider.
  • Scroll bar.
Text Text Text element (labels). Characterized by the type of font, color, orientation and alignment.
Media Media Element of visualization of raster and vector images of various formats, playback of animated images, audio segments and video fragments.
Diagram Diagram Element of the diagram with the support of the visualization of the flow of several trends, the spectrum, XY diagrams of real-time data, ... .
Protocol Protocol Element of the protocol, visualizer of the system messages, with support for multiple operating modes.
Document Document The element of generating the reports, journals and other documentation on the basis of available in the system data.
Box Container Contains the mechanism for other widgets placement-including with the purpose of creation of new, more complex, widgets and pages of end visualization.
Function, in plane Function of API of the object model of OpenSCADA Not visual, on the side of execution, widget which allows to include a computing function of the object model of OpenSCADA in the VCA.

Table. The common set of properties/attributes in the widget
Id Name Number Value
id Id - Id of the element. The attribute is read-only, designed to provide information on the ID of the element.
path Path - The path to the widget. The attribute is read-only and designed to provide full information about the location of the element.
parent Parent - Path to the parent widget. The attribute is read-only and designed to provide information about the location of ancestor which the widget is inherited from.
owner Owner - The widget owner and group in form "{owner}:{group}", by default the "root:UI".
perm Permission - Permission to the widget in form "{user}{group}{other}" plus inheritance flag, includes the inheritance owner and it's permissions from upper widget.
Where "user", "group" and "other" is:
  • "__" — no any access;
  • "R_" — read-only;
  • "RW" — read and write.
By default the 01000(inheritance).
root Root 1 Id of the widget-primitive (basic element) which underlies the image of visualization of the widget.
name Name - Name of the element. Modifiable the element name.
dscr Description - Description of the element. Text field, serves for attachment to the widget of the brief description.
en Enabled 5 The state of the element — "Enabled". Disabled element is not shown in the execution mode.
active Active 6 The state of the element — "Active". Active element may receive focus in the execution mode, and thus receive keyboard and other events with their subsequent processing.
geomX Geometry:x 7 Geometry, coordinate 'x' of the element position.
geomY Geometry:y 8 Geometry, coordinate 'y' of the element position.
geomW Geometry:width 9 Geometry, the width of the element.
geomH Geometry:height 10 Geometry, the height of the element.
geomXsc Geometry:x scale 13 The horizontally scale of the element.
geomYsc Geometry:y scale 14 The vertical scale of the element.
geomZ Geometry:z 11 Geometry, coordinate 'z' (level) of element on the page. It also defines order to transfer the focus through active elements.
geomMargin Geometry:margin 12 Geometry, the margins of the element.
tipTool Tip:tool 15 The text of a brief help or tip on this element. Usually is realized as a tool tip, while keeping your mouse cursor over the element.
tipStatus Tip:status 16 Text information on the status of the element or the guide to action over the element. Usually is implemented in the form of a message in the status bar while keeping your mouse cursor over the element.
* Modification from session of the attribute of the root page will record the message in the status bar of the visualization window session.
contextMenu Context menu 17 Context menu in form strings list: "{ItName}:{Signal}".
Where:
  • "ItName" — the item name;
  • "Signal" — the signal name, for it forming as "usr_{Signal}".
evProc Events process - Attribute for storing of the script of the processing of event of direct control of user interface. Script is the list of commands to the visualization interface generated at the event receipt (attribute event). Direct events processing for pages manipulation in form: "{event}:{evSrc}:{com}:{prm}". Where:
  • "event" — the waiting event;
  • "evSrc" — the event source;
  • "com" — the command of a session (open, next, prev);
  • "prm" — the command parameter, where used:
    • pg_so — direct name of the desired page with the prefix;
    • 1 — name of a new page in a general way, without a prefix;
    • * — the page is taken from the name of a previous page;
    • $ — points the place of the opened page relative.
Examples:
  • ws_BtPress:/prev:prev:/pg_so/*/*/$
  • ws_BtPress:/next:next:/pg_so/*/*/$
  • ws_BtPress:/go_mn:open:/pg_so/*/mn/*
  • ws_BtPress:/go_graph:open:/pg_so/*/ggraph
Additional attributes for items placed into the project in the role of a page.
pgOpen Page:open state - Sign "The page is open".
* Modification from session provides an immediate opening/closing the page.
pgNoOpenProc Page:process not opened - Sign "Execute the page, even if it is closed".
pgOpenSrc Page:open source 3 Full address of the page which has opened this one.
* Write/clear address of the widget — (opening initiator) performs an immediate opening/closing page. In the case of write the address and on certain conditions carried the dynamic linking of the current widget to the initiator.
pgGrp Page:group 4 The group of the page.
Additional attributes of the execution mode — by the session.
event Event - Special attributes for the collection of events of the widget in the list, which is divided by the new line. Access to the attribute is protected by the resource allocation in order to avoid loss of the events. The attribute is always available in the script of widget.
load Load -1 The virtual command of the group data download.
focus Focus -2 The special attribute of the indicating the fact of receiving the focus by an active widget. Attribute of the widget and of the the embedded widgets is available in the script of widget.
perm Permission -3 The virtual attribute of the rights verification of active user on the viewing and control over the widget.

* — The special function of the widget attribute which running in a session of the project at any user's modification.

The visualization engine provides visualizer specific attributes activation. The process of activation does at a session of the project opening and minds for the project: creation of the specific attribute with pointed properties, at case it lack, and activation for modification tracing by the visualization engine, like to the attributes of forming primitive's shapes. For the specific attributes list of the visualizer you can see to proper documentation of the visualizer.

Elementary graphic figures (ElFigure)

Primitive is the basis for drawing basic graphic shapes with their possible combinations in a single object. Taking into account the wide range of various shapes, which must be maintained by the primitive, and at the same time the primitive must be simple enough for using and, if possible, for implementation, it was decided to limit the list of the basic figures used for the construction of the resulting graphics to these figures: line, arc, Bézier curve and fill of the enclosed spaces. Based at these basic figures, it is possible to construct derived figures by combining the basic. In the context of the primitive, there is possibility to set the transparency of the color in the range [0...255], where '0' — complete transparency.

Table. A list of additional properties/attributes of the primitive "ElFigure"
Id Name Number Value
lineWdth Line:width 20 Line width.
lineClr Line:color 21 Color name form "{color}[-{alpha}]", where:
  • "color" — standard color name or digital view of three hexadecimal digit's number form "#RRGGBB";
  • "alpha" — alpha channel level [0...255], where 0 — complete transparent.
Examples:
  • "red" — solid red color;
  • "#FF0000" — solid red color by digital code;
  • "red-127" — half transparent red color.
lineStyle Line:style 22 Line style (solid, dashed, dotted).
bordWdth Border:width 23 Line border width. The zero width indicates the lack of border.
bordClr Border:color 24 Border color (detailed in attribute 21).
fillColor Fill:color 25 Fill color (detailed in attribute 21).
fillImg Fill:image 26 Image name in form "[{src}:]{name}", where:
  • "src" — the image source:
    • file — direct from local file by the path;
    • res — from the DB mime resources table.
  • "name" — the file path or the resource mime Id.
Examples:
  • "res:backLogo" — from the DB mime resources table for id "backLogo";
  • "backLogo" — like previous;
  • "file:/var/tmp/backLogo.png" — from local file by the path "/var/tmp/backLogo.png".
orient Orientation angle 28 The rotation angle of the content of widget.
elLst Element's list 27 List of graphic primitives in the following format:
  • Line. Record form in the list, for static and dynamic parameters (may mix):
    "line:({x}|{y}):({x}|{y})[:{width}[:{color}[:{bord_w}[:{bord_clr}[:{line_stl}]]]]]"
    "line:{p1}:{p2}[:w{n}[:c{n}[:w{n}[:c{n}[:s{n}]]]]]"
  • Arc. Record form in the list, for static and dynamic parameters (may mix):
    "arc:({x}|{y}):({x}|{y}):({x}|{y}):({x}|{y}):({x}|{y})[:{width}[:{color}[:{bord_w}[:{bord_clr}[:{line_stl}]]]]]"
    "arc:{p1}:{p2}:{p3}:{p4}:{p5}[:w{n}[:c{n}[:w{n}[:c{n}[:s{n}]]]]]"
    Arc example with the points assignment (8 Kb)
    p1, p2 — starting and ending points of an elliptic arc, respectively;
    p3 — the center of the arc;
    p4 — first radius;
    p5 — second radius.
  • Bézier curve. Record form in the list, for static and dynamic parameters (may mix):
    "bezier:({x}|{y}):({x}|{y}):({x}|{y}):({x}|{y})[:{width}[:{color}[:{bord_w}[:{bord_clr}[:{line_stl}]]]]]"
    "bezier:{p1}:{p2}:{p3}:{p4}[:w{n}[:c{n}[:w{n}[:c{n}[:s{n}]]]]]"
  • Fill. Record form in the list:
    "fill:({x}|{y}):({x}|{y}):...:({x}|{y})[:{fill_clr}[:{fill_img}]]"
    "fill:{p1}:{p2}:...:{pN}[:c{n}[:i{n}]]"
Where:
x, y — direct point (x,y), coordinate in float point pixels;
p1 ... pN — dynamic point 1...N;
width, bord_w — direct line and border width in float point pixels;
w{n} — dynamic width 'n';
color, bord_clr, fill_clr — direct line, border and fill color name or 32bit code with alpha: {name}[-{AAA}], #RRGGBB-AAA;
c{n} — dynamic color 'n';
line_stl — direct line style: 0-Solid, 1-Dashed, 2-Dotted;
s{n} — dynamic style 'n';
fill_img — direct fill image in form "[{src}%3A]{name}", where:
"src" — image source:
file — direct from local file by the path;
res — from the DB mime resources table.
"name" — the file path or the resource mime Id.
i{n} — dynamic fill image 'n'.
For example:
  • line:(50|25):(90.5|25):2:yellow:3:green:2
  • arc:(25|50):(25|50):1:4:(25|50)::#000000-0
  • fill:(25|50):(25|50):c2:i2
  • fill:(50|25):(90.5|25):(90|50):(50|50):#d3d3d3:h_31
The attributes for each point from the list of graphic figures elLst
p{n}x Point {n}:x 30+n*6 Coordinates 'x' of the point n.
p{n}y Point {n}:y 30+n*6+1 Coordinates 'y' of the point n.
w{n} Width {n} 30+n*6+2 Width n.
ρ{n} Color {n} 30+n*6+3 Color n (detailed in attribute 21).
i{n} Image {n} 30+n*6+4 Image n (detailed in attribute 26).
s{n} Style {n} 30+n*6+5 Style n.

Element of the form (FormEl)

Primitive is intended to provide the standard form elements to the user. The general list of attributes depends on the type of element.

Table. A set of additional properties/attributes of the primitive "FormEl"
Id Name Number Value
elType Element's type 20 Type of the element: "Line edit", "Text edit", "Check box", "Button", "Combo box", "List", "Tree", "Table", "Slider", "Scroll bar". On its value it depends a list of additional attributes.
Line edit:
value Value 21 The contents of the line.
view View 22 Type of the editing line: "Text", "Combobox", "Integer", "Real", "Time", "Date", "Date and Time".
cfg Configuration 23 Configuration of the line. The format of the value of the field for different types of lines:
Text — the formated input configuration with parameters:
A — ASCII alphabetic character required. A-Z, a-z.
a — ASCII alphabetic character permitted but not required.
N — ASCII alphanumeric character required. A-Z, a-z, 0-9.
n — ASCII alphanumeric character permitted but not required.
X — Any character required.
x — Any character permitted but not required.
9 — ASCII digit required. 0-9.
0 — ASCII digit permitted but not required.
D — ASCII digit required. 1-9.
d — ASCII digit permitted but not required (1-9).
# — ASCII digit or plus/minus sign permitted but not required.
H — Hexadecimal character required. A-F, a-f, 0-9.
h — Hexadecimal character permitted but not required.
B — Binary character required. 0-1.
b — Binary character permitted but not required.
> — All following alphabetic characters are uppercased.
< — All following alphabetic characters are lowercased.
! — Switch off case conversion.
\\ — Use to escape the special characters listed above to use them as separators.
Combobox — list of values the editable combobox by lines.
Integer — integer value configuration in form: "{Min}:{Max}:{ChangeStep}:{Prefix}:{Suffix}".
Real — real value configuration in form: "{Min}:{Max}:{ChangeStep}:{Prefix}:{Suffix}:{SignsAfterDot}".
Time, Date, Date and time — to form the date following the template with parameters:
d — number of the day (1-31);
dd — number of the day (01-31);
ddd — acronym of the day ("Mon" ... "Sun");
dddd — the full name of the day ("Monday" ... "Sunday");
M — number of the month (1-12);
MM — number of the month (01-12);
MMM — acronym of the month ("Jan" ... "Dec");
MMMM — the full name of the month ("January" ... "December");
yy — last two digits of the year;
yyyy — full year;
h — hour (0-23);
hh — hour (00-23);
m — minutes (0-59);
mm — minutes (00-59);
s — seconds (0-59);
ss — seconds (00-59);
AP,ap — to display AM/PM or am/pm.
confirm Confirm 24 Enable the confirm mode.
font Font 25 Font name form "{family} {size} {bold} {italic} {underline} {strike}", where:
  • "family" — font family, for spaces use symbol '_', like: "Arial", "Courier", "Times_New_Roman";
  • "size" — font size in pixels;
  • "bold" — font bold (0 or 1);
  • "italic" — font italic (0 or 1);
  • "underline" — font underlined (0 or 1);
  • "strike" — font struck (0 or 1).
Examples:
  • "Arial 10 1 0 0 0" — Arial font size 10 pixels and bold.
Text edit:
value Value 21 The contents of the editor.
wordWrap Word wrap 22 Automatic division of text by the words.
confirm Confirm 24 Enable confirm mode.
font Font 25 Font name form "{family} {size} {bold} {italic} {underline} {strike}" (details above).
Check box:
name Name 26 Name/label of the checkbox.
value Value 21 Value of the checkbox.
font Font 25 Font name form "{family} {size} {bold} {italic} {underline} {strike}" (details above).
Button:
name Name 26 Name, the inscription on the button. Allowed symbols '\n' for multiple line names.
value Value 21 The value, different for modes:
  • "Standard" — repeating parameters of events on holding "{delay}-{interval}", time in milliseconds;
  • "Checkable" — toggle value;
  • "Menu" — addresses of menu elements list like "/grp1/grp2/item1";
  • "Load" — description line "{FilesTemplate}|{Header}|{FileByDefault}" and loaded file content. Files template like "Images (*.png *.xpm *.jpg);;CSV-file (*.csv)".
  • "Save" — description line "{FilesTemplate}|{Header}|{FileByDefault}" and saved file content. Files template like before.
img Image 22 The image on the button. Image name in form "[{src}:]{name}", where:
  • "src" — the image source:
    • file — direct from local file by the path;
    • res — from the DB mime resources table.
  • "name" — the file path or the resource mime Id.
Examples:
  • "res:backLogo" — from the DB mime resources table for Id "backLogo";
  • "backLogo" — like previous;
  • "file:/var/tmp/backLogo.png" — from local file by the path "/var/tmp/backLogo.png".
color Color 23 Color of the button. Color name form "{color}[-{alpha}]", where:
  • "color" — the standard color name or digital view of three hexadecimal digit's number form "#RRGGBB";
  • "alpha" — the alpha channel level [0...255].
Examples:
  • "red" — solid red color;
  • "#FF0000" — solid red color by the digital code;
  • "red-127" — half transparent red color.
colorText Color:text 27 The color of the text. (details above)
mode Mode 24 The button operation mode:
  • "Standard" — normal button which allow events repeat on it hold (the parameters into "value");
  • "Checkable" — fixed button (values into "value");
  • "Menu" — open menu on press (items list into "value");
  • "Load" — provides user-space small files loading through the visual interface; on the mode the button press will open selection file dialog for loading and the file content next saving to the attribute "value";
  • "Save" — provides user-space small files saving through the visual interface; on the file content writing to "value" attribute for user will open selection/set file dialog and next saving the attribute "value" content to the file and next the attribute "value" will set clean.
font Font 25 Font name form "{family} {size} {bold} {italic} {underline} {strike}" (details above).
List:
value Value 21 Current value of the list.
items Items 22 The entries of the list.
font Font 25 Font name form "{family} {size} {bold} {italic} {underline} {strike}" (details above).
mult Multiple selection 23 Allow for multiple entries selection of the list.
Combo box, Tree:
value Value 21 Current value of the list.
items Items 22 The entries of the list or hierarchical items list of tree in path "/{DIR}/{DIR}/{ITEM}".
font Font 25 Font name form "{family} {size} {bold} {italic} {underline} {strike}" (details above).
Table:
set Setting value 23 The value of edition of a cell of the table which address into the event "ws_TableEdit_{colN}_{rowN}".
value Value 21 Address of the selected item. It changing follows by the signal "ws_TableChangeSel". The address format depends from the table's selection mode:
  • "Cell" — the cell address in format "{row}:{col}".
  • "Row", "Column" — the row-column number or the row-column key's cell content, which sets by the attribute "keyID".
items Elements 22 The table structure and content in XML view:
The tags:
"tbl" — Table, the properties at all:
  • "sel" — the selection mode of the table items: "row" — by rows, "col" — by columns, "cell" — by cells (by default);
  • "keyID" — the key's row-column number, for the selection value get;
  • "colsWdthFit" — fit the columns (which size unfixed) size to fill for full the table width;
  • "hHdrVis", "vHdrVis" — horizontal, vertical header visibility set;
  • "sortEn" — direct sorting by columns enable.
"h" — The headers size, allowed attributes about cell-tag of the header, for the column as a whole:
  • "width" — the column width, in pixels or percents (10%);
  • "edit" — allowing to the cells of the row edition (0 or 1), by default — no (0);
  • "color" — the column color as a whole into the color name or code;
  • "colorText" — the column's text color as a whole into the color name or code;
  • "font" — the column's text font in typical OpenSCADA's string;
  • "sort" — sorting by the column [0 - Descending; 1 - Ascending].
"r" — the row of values, allowed attributes:
  • "color" — the row color as a whole into the color name or code;
  • "colorText" — the row's text color as a whole into the color name or code;
  • "font" — the row's text font in typical OpenSCADA's string.
"s", "i", "r", "b" — the data type's cells "String", "Integer", "Real" and "Logical". Allowed attributes:
  • "color" — the cell's background color;
  • "colorText" — the cell's text color into the color name or code;
  • "font" — the cell's text font in typical OpenSCADA's string;
  • "img" — the cell's image into form "[{src}:]{name}", the details above;
  • "edit" — allowing to the cell of the row edition (0 or 1), by default — no (0).
font Font 25 Font name form "{family} {size} {bold} {italic} {underline} {strike}" (the details above).
Slider and Scroll Bar:
value Value 21 The slider position.
cfg Configuration 22 Configuration of the slider in the format: "{VertOrient}:{Min}:{Max}:{SinglStep}:{PageStep}".
Where:
  • "VertOrient" — sign (0 or 1) of a vertical orientation, the default is the horizontal orientation;
  • "Min" — minimum value;
  • "Max" — maximum value;
  • "SinglStep" — the size of a single step;
  • "PageStep" — the size of a page step.

Text element (Text)

This primitive is designed to display the plain text used as labels, and different signatures. With the reason of creating a simple frequent decorations the primitive must support the surrounding of the text by frame.

Table. The list of additional properties/attributes of the primitive "Text"
Id Name Number Value
backColor Background:color 20 Background color. Color name in form "{color}[-{alpha}]", where:
  • "color" — standard color name or digital view of three hexadecimal digit's number form "#RRGGBB";
  • "alpha" — alpha channel level [0...255], where 0 - is full transparent.
Examples:
  • "red" — solid red color;
  • "#FF0000" — solid red color by the digital code;
  • "red-127" — half transparent red color.
backImg Background:image 21 Background image. The image name in form "[{src}:]{name}", where:
  • "src" — the image source:
    • file — direct from local file by the path;
    • res — from the DB mime resources table.
  • "name" — the file path or the resource mime Id.
Examples:
  • "res:backLogo" — from DB mime resources table for Id "backLogo";
  • "backLogo" — like previous;
  • "file:/var/tmp/backLogo.png" — from local file by the path "/var/tmp/backLogo.png".
bordWidth Border:width 22 Border width.
bordColor Border:color 23 Border color (detailed in attribute 20).
bordStyle Border:style 24 Border style: "None", "Dotted", "Dashed", "Solid", "Double", "Groove", "Ridge", "Inset", "Outset".
font Font 25 Font name form "{family} {size} {bold} {italic} {underline} {strike}", where:
  • "family" — font family, for spaces use symbol '_', like: "Arial", "Courier", "Times_New_Roman";
  • "size" — font size in pixels;
  • "bold" — font bold (0 or 1);
  • "italic" — font italic (0 or 1);
  • "underline" — font underlined (0 or 1);
  • "strike" — font struck (0 or 1).
Examples:
  • "Arial 10 1 0 0 0" — Arial font size 10 pixels and bold.
color Color 26 Text color (detailed in attribute 20).
orient Orientation angle 27 Orientation of text, rotation on angle.
wordWrap Word wrap 28 Automatic division of text by words.
alignment Alignment 29 Alignment of the text: "Top left", "Top right", "Top center", "Top justify", "Bottom left", "Bottom right", "Bottom justify", "V center left", "V center right", "Center", "V center justify".
text Text 30 Text value. Use "%{x}" for argument "x" (from 1) value insert to.
numbArg Arguments number 40 Arguments number.
Attributes of the arguments
arg{x}val Argument {x}:value 50+10*x Argument x value.
arg{x}tp Argument {x}:type 50+10*x+1 Argument x type: "Integer", "Real", "String".
arg{x}cfg Argument {x}:config 50+10*x+2 Argument x configuration:
  • "String": {len} — string length;
  • "Real": {wdth};{form};{prec} — value width, the form of ('g', 'e', 'f') and the precision;
  • "Integer": {len} — value length.

Element of visualization of media materials (Media)

This primitive is designed to play different media materials, ranging from simple images to the full audio and video streams.

Table. A set of additional properties/attributes of primitive "Media"
Id Name Number Value
backColor Background:color 20 Background color. Color name in form "{color}[-{alpha}]", where:
  • "color" — standard color name or digital view of three hexadecimal digit's number form "#RRGGBB";
  • "alpha" — alpha channel level [0...255], where 0 - is full transparent.
Examples:
  • "red" — solid red color;
  • "#FF0000" — solid red color by the digital code;
  • "red-127" — half transparent red color.
backImg Background:image 21 Background image. The image name in form "[{src}:]{name}", where:
  • "src" — the image source:
    • file — direct from local file by the path;
    • res — from the DB mime resources table.
  • "name" — the file path or the resource mime Id.
Examples:
  • "res:backLogo" — from DB mime resources table for Id "backLogo";
  • "backLogo" — like previous;
  • "file:/var/tmp/backLogo.png" — from local file by the path "/var/tmp/backLogo.png".
bordWidth Border:width 22 Border width.
bordColor Border:color 23 Border color (detailed in attribute 20).
bordStyle Border:style 24 Border style: "None", "Dotted", "Dashed", "Solid", "Double", "Groove", "Ridge", "Inset", "Outset".
src Source 25 Media source name in form "[{src}:]{name}", where:
  • "src" — source:
    • file — direct from local (visualizer or engine) file by the path;
    • res — from the DB mime resources table;
    • stream — Stream URL for the video and the audio play.
  • "name" — the file path or the resource mime Id.
Examples:
  • "res:workMedia" — from DB mime resources table for Id "workMedia";
  • "workMedia" — like previous;
  • "file:/var/tmp/workMedia.mng" — from local file by path "/var/tmp/workMedia.mng";
  • "stream:http://localhost.localhost:5050" — video and audio stream play from URL.
type Type 27 Media type variant:
  • "Image" — raster or vector(can not support) image, like: PNG, JPEG, GIF, SVG;
  • "Animation" — simple animation image, like: GIF, MNG;
  • "Full video" — full video, audio or stream, like: OGG, OGM, AVI, MKV, MPG, MP3, MP4.
areas Map areas 28 Number of active areas.
The attributes of the image (Image)
fit Fit to the widget size 26 Sign "Coordinate the contents with the size of the widget".
The attributes of the video (Movie)
fit Fit to the widget size 26 Sign "Coordinate the contents with the size of the widget".
speed Play speed 29 The speed of playback, as a percentage from the original speed. If the value is less than 1%, the playback stops.
The attributes of the full video (Full video)
play Play 29 Video/audio - "Play".
roll Roll play 30 Roll play on the finish.
pause Pause 31 Playing pause.
size Size 32 Total video size (in milliseconds).
seek Seek 33 Seek video playing (in milliseconds).
volume Volume 34 Sound volume [0...100].
Active areas
area{x}shp Area {x}:shape 40+3*x Type of the area x: "Rect", "Poly", "Circle".
area{x}coord Area {x}:coordinates 40+3*x+1 The coordinates of area x, are separated by commas: "x1,y1,x2,y2,xN,yN"
area{x}title Area {x}:title 40+3*x+2 Title of the area x.

Element of constructing diagrams/trends (Diagram)

This primitive targeted to construct various diagrams, including graphs/trends showing ongoing process and the archive data. Following types of the diagrams are implemented:

For all the diagram types possible as the data source sets:

Supported tracing of the current values and the values from the archive, and also the possibility of building the graphs of the parameters which have no archive of values, by the current values accumulation into the diagram buffer and only at the diagram active visibility moment.

The process of access to the archive data is optimized, by means of an intermediate buffer for the display, as well as the package of traffic data in the query, by way the data lead to quality enough for display.

Table. A list of additional properties/attributes of the primitive "Diagram"
Id Name Number Value
backColor Background:color 20 Background color. Color name in form "{color}[-{alpha}]", where:
  • "color" — standard color name or digital view of three hexadecimal digit's number form "#RRGGBB";
  • "alpha" — alpha channel level [0...255], where 0 - is full transparent.
Examples:
  • "red" — solid red color;
  • "#FF0000" — solid red color by the digital code;
  • "red-127" — half transparent red color.
backImg Background:image 21 Background image. The image name in form "[{src}:]{name}", where:
  • "src" — the image source:
    • file — direct from local file by the path;
    • res — from the DB mime resources table.
  • "name" — the file path or the resource mime Id.
Examples:
  • "res:backLogo" — from DB mime resources table for Id "backLogo";
  • "backLogo" — like previous;
  • "file:/var/tmp/backLogo.png" — from local file by the path "/var/tmp/backLogo.png".
bordWidth Border:width 22 Border width.
bordColor Border:color 23 Border color (detailed in attribute 20).
bordStyle Border:style 24 Border style: "None", "Dotted", "Dashed", "Solid", "Double", "Groove", "Ridge", "Inset", "Outset".
trcPer Tracing period (s) 25 Mode and frequency of the tracing.
type Type 26 Diagram type: "Trend", "Spectrum", "XY".
General attributes for all the types
tSek Time:seconds 27 Current time, seconds.
tUSek Time:microseconds 28 Current time, microseconds.
tSize Size, seconds 29 Size of the trend, seconds.
curSek Cursor:seconds 30 Cursor position, seconds.
curUSek Cursor:usek 31 Cursor position, microseconds.
curColor Cursor:color 32 Cursor color.
sclColor Scale:color 33 Color of the scale/grid (detailed in attribute 20).
sclHor Scale:horizontal 34 Horizontal mode of the scale/grid: "No draw", "Grid", "Markers", "Grid and markers", "Grid (log)", "Markers (log)", "Grid and markers (log)".
sclHorScl Scale:horizontal scale (%) 44 Graphics's horizontal scale in percents, excluding for type "XY".
sclHorSclOff Scale:horizontal scale offset (%) 45 Offset of graphics's horizontal scale in percents, excluding for type "XY".
sclVer Scale:vertical 35 Vertical mode of the scale/grid: "No draw", "Grid", "Markers", "Grid and markers", "Grid (log)", "Markers (log)", "Grid and markers (log)".
sclVerScl Scale:vertical scale (%) 40 Graphics's vertical scale in percents.
sclVerSclOff Scale:vertical scale offset (%) 41 Offset of graphics's vertical scale in percents.
sclMarkColor Scale:Markers:color 36 Color of the markers of the scale/grid (detailed in attribute 20).
sclMarkFont Scale:Markers:font 37 Font of the markers of scale/grid. Font name form "{family} {size} {bold} {italic} {underline} {strike}", where:
  • "family" — font family, for spaces use symbol '_', like: "Arial", "Courier", "Times_New_Roman";
  • "size" — font size in pixels;
  • "bold" — font bold (0 or 1);
  • "italic" — font italic (0 or 1);
  • "underline" — font underlined (0 or 1);
  • "strike" — font struck (0 or 1).
Examples:
  • "Arial 10 1 0 0 0" — Arial font size 10 pixels and bold.
valArch Value archiver 38 Value archiver in form "{ArchMod}.{ArchivatorId}".
valsForPix Values for pixel 42 The number of values per pixel. Increase to enhance the accuracy of export at large time intervals.
parNum Parameters number 39 The number of parameters that can be displayed on the one trend.
Attributes for type: "Graph"
sclHorPer Scale:horizontal grid size, seconds 43 Fixed a grid period of horizontal scale, disable automatic calculation for the grid period. Activated if the periods number into overall size more for two and one period size more for 15 pixels.
Individual attributes of the parameters of trend/graph/XY
prm{X}addr Parameter {X} :address 50+10*{X} Full address to DAQ attribute of a parameter X or to an archive.
Also supported direct data set by the prefixes:
  • "data:{XMLNodeData}" — drawing from the direct set data;
  • "line:{value}" — drawing the horizontal line by the value, no sense have for type "XY".
Example:
  • "/DAQ/System/AutoDA/MemInfo/use" — address to attribute "use" of parameter "MemInfo" of controller "AutoDA" of DAQ module "System";
  • "/Archive/va_CPULoad_load" — address to archive "CPULoad_load".
  • "data:<d s="1" aprox="1" tm="1369465209" tm_grnd="1369465200" per="1">
0 3.14
1 3.141
5 3.1415</d>" — data for 10 seconds and period 1 second from "25.05.2013 10:00:00"; at pass "tm" and "tm_grnd" it will sets values from the diagram range, and also by set attribute "s" it will allows the time set into seconds; "aprox" — approximate the throughout from one point to other instead the substitution previous value into all the periodical points (typically it is from packing);
  • "line:3.14159265" — horizontal line into value "3.14159265".
prm{X}bordL Parametr {X}:view border:lower 50+10*{X}+1 Lower limit of the parameter X.
prm{X}bordU Parametr {X}:view border:upper 50+10*{X}+2 Upper limit of the parameter X.
prm{X}color Parametr {X}:color 50+10*{X}+3 Color for display of the trend of the parameter X (detailed in attribute 20).
prm{X}width Parametr {X}:width 50+10*{X}+6 Line width for display of the trend of the parameter X, in pixels.
prm{X}scl Parametr {X}:scale 50+10*{X}+5 Separated vertical scale mode of the parameter X: "Global", "Markers", "Grid and markers", "Markers (log)", "Grid and markers (log)".
prm{X}val Parametr {X}:value 50+10*{X}+4 Value of the parameter X under the cursor.
prm{X}prop Parametr {X}:properties 50+10*{X}+7 Real archive properties in form "{BegArh}:{EndArh}:{DataPeriod}", where "BegArh", "EndArh", "DataPeriod" — begin, end and period of archive's data in seconds, real up to microseconds (1e-6).

Element of building the protocols based on the archives of messages (Protocol)

This primitive is designed to visualize the data of the archive of messages through the formation of protocols with different ways of visualization, starting from a static scanning view and finishing with dynamic tracing of protocol of message.

Table. A list of additional properties/attributes of the primitive "Protocol"
Id Name Number Value
backColor Background:color 20 Background color. Color name in form "{color}[-{alpha}]", where:
  • "color" — standard color name or digital view of three hexadecimal digit's number form "#RRGGBB";
  • "alpha" — alpha channel level [0...255], where 0 - is full transparent.
Examples:
  • "red" — solid red color;
  • "#FF0000" — solid red color by the digital code;
  • "red-127" — half transparent red color.
backImg Background:image 21 Background image. The image name in form "[{src}:]{name}", where:
  • "src" — the image source:
    • file — direct from local file by the path;
    • res — from the DB mime resources table.
  • "name" — the file path or the resource mime Id.
Examples:
  • "res:backLogo" — from DB mime resources table for Id "backLogo";
  • "backLogo" — like previous;
  • "file:/var/tmp/backLogo.png" — from local file by the path "/var/tmp/backLogo.png".
font Font 22 Font of markers of scale/grid. Font name form "{family} {size} {bold} {italic} {underline} {strike}", where:
  • "family" — font family, for spaces use symbol '_', like: "Arial", "Courier", "Times_New_Roman";
  • "size" — font size in pixels;
  • "bold" — font bold (0 or 1);
  • "italic" — font italic (0 or 1);
  • "underline" — font underlined (0 or 1);
  • "strike" — font struck (0 or 1).
Examples:
  • "Arial 10 1 0 0 0" — Arial font size 10 pixels and bold.
headVis Header visible 23 Show header for table or not.
time Time, seconds 24 Current time, seconds.
tSize Size, seconds 25 Query size, seconds. Set value to '0' for get all alarms, for "lev" < 0.
trcPer Tracing period (s) 26 Mode and frequency of tracing.
arch Archivator 27 Messages archivator in form "{ArchMod}.{ArchivatorId}".
tmpl Template 28 Category template or regular expression "/{re}/". For template reserved special symbols:
  • '*' — any multiply symbols group;
  • '?' — any one symbol;
  • '\\' — use for shield special symbols.
lev Level 29 The level of messages. Set value to < 0 for get the current alarms.
viewOrd View order 30 View order: "By time", "By level", "By category", "By messages", "By time (reverse)", "By level (reverse)", "By category (reverse)", "By messages (reverse)".
col View columns 31 Visible and order columns list separated by symbol ';'. Supported columns:
  • "pos" — row number;
  • "tm" — date and time of the message;
  • "utm" — microseconds part of the time of the message;
  • "lev" — level of the message;
  • "cat" — category of the message;
  • "mess" — the message text.
itProp Item properties 32 Item's properties number.
Individual attributes of the item's properties
it{X}lev Item {X}:level 40+5*{X} Criterion: element's level X, more or equal for pointed.
it{X}tmpl Item {X}:template 40+5*{X}+1 Criterion: element's category template X (detailed in attribute 28).
it{X}fnt Item {X}:font 40+5*{X}+2 Element X font (detailed in attribute 22).
it{X}ρolor Item {X}:color 40+5*{X}+3 Element X color (detailed in attribute 20).

Element of formation of documentation (Document)

The primitive is designed to creation report, operational and other documents based on templates of documents.

Table. A list of additional properties/attributes of the primitive "Document"
Id Name Number Value
style CSS 20 CSS rules in rows like "body { background-color:#818181; }".
tmpl Template 21 Document's template in XHTML, starts from tag "body" and include procedures parts:
doc Document 22 Final document in XHTML, starts from tag "body".
font Font 26 Basic font of the text. Font name form "{family} {size} {bold} {italic} {underline} {strike}", where:
  • "family" — font family, for spaces use symbol '_', like: "Arial", "Courier", "Times_New_Roman";
  • "size" — font size in pixels;
  • "bold" — font bold (0 or 1);
  • "italic" — font italic (0 or 1);
  • "underline" — font underlined (0 or 1);
  • "strike" — font struck (0 or 1).
Examples:
  • "Arial 10 1 0 0 0" — Arial font size 10 pixels and bold.
bTime Time:begin 24 Start time of the document, seconds.
time Time:current 23 Time of the document generation, seconds. Write the time for the document generation from that point or zero for regeneration.
n Archive size 25 Number of documents or the depth of the archive.
Attributes of the enabled archival mode
aCur Archive:cursor:current - Position of the current document in the archive. Record of the value <0 produces the archiving of this document.
vCur Archive:cursor:view - Current visual document of the archive. Writing a value of -1 — to select next document, -2 — to select previous document.
aDoc Archive:current document - Current archive document in XHTML, starts from the tag "body".
aSize Archive:size - Real the archive document size.

Features of the primitive "Document":

The basis of any document is XHTML-template. XHTML-template is the tag "body" of the WEB-page which contains the document's static in the standard XHTML 1.0 and elements of the executable instructions in one of the languages of the user programming of OpenSCADA in the form of <?dp {procedure} ?>. The resulting document is formed by the execution of procedures and insert of their result into the document.

The source for values of the executable instructions are the attributes of the widget of the primitive, as well as all the mechanisms of the user programming language. Attributes may be added by the user and they can be linked to the actual attributes or parameters or they can be autonomous, values of which will be formed in the script of the widget. In the case of linked attributes the values can be extracted from the history, archive.

Fig. 3.8.7.a shows a block diagram of the widget of the primitive "Document". According to this structure "Document" includes: XHTML-template, the resulting documents and the processing script. The data source for the script and for the resulting documents are the attributes of the widget.

Primitive "Document" structure (40 Kb)
Fig. 3.8.7.a The block diagram of the primitive "Document".


It is provided the work of the widget in two modes: "Dynamic" and "Archive". The difference between archive mode is the availability of the archive of the specified depth and attributes which allow you to control the process of archiving and viewing of the document in the archive.

Generation of the document is always performed at the time of installation of the time attribute time relatively to the set start time of the document in the attribute bTime. With the archive turned off the resulting document is placed directly in the attribute doc. When the archive is turned on the resulting document is placed in the cell under the cursor, the attribute aCur, as well as in doc if the value of the archive cursor aCur and the cursor of visualized document vCur match. Attributes of the archival cursors provide several commands of values:

As it was stated above dynamics of the document's template is defined by the inserts of executable instructions of the form "<?dp {procedure} ?>". The procedures may use the same attributes of the widget and functions of the user programming interface of OpenSCADA. In addition to the attributes of the widget special attributes (Table 3.8.7.a) are reserved.

Table 3.8.7.a. Special and reserved elements of the template.
Name Assignment
Attributes
rez Attribute of the results of the procedure execution, the contents of which is placed to the document tree.
lTime Last formation time. If the document is formed for the first time, lTime is equal to the bTime.
rTime Contains the time for the selected values in seconds, it is defined inside the tags with the attribute "docRept".
rTimeU Contains the time for the selected values in microseconds, it is defined inside the tags with the attribute "docRept".
rPer Contains the periodicity of the selection of values (the attribute "docRept").
mTime, mTimeU, mLev, mCat, mVal It is defined inside the tags with an attribute "docAMess" when parsing messages of the messages' archive:
mTime — message time;
mTimeU — message time, microseconds;
mLev — message level;
mCat — message category;
mVal — message value.
Special tags
Special attributes of the standard tags
body.docProcLang Language of executable procedures of the document. By defaults it is "JavaLikeCalc.JavaScript".
*.docRept="1s" Tag with the specified attribute, while the formation it multiplies through the time offset in the attribute "rTime" to the value, specified in this attribute.
*.docAMess="1:PLC*" Indicates the necessity of the tag multiplication with an attribute of message from the archive of messages for the specified interval of time, in accordance with the level of "1" and template of request "PLC*" by the messages category. The template request may specify a regular expression in the form of "/{re}/". For this tag in the process of multiplication the following attributes: mTime, mTimeU, mLev, mCat and mVal are defined.
*.docAMessArchs="ArchMod0.Archivator0[;ArchModN.ArchivatorN]" The attribute "*.docAMess" appends by a list of archivators for messages reading.
*.docRevers="1" Points to invert of the order of multiplication, the last from the top.
*.docAppend="1" The sign of the necessity of addition of the procedure execution result in the tag of the procedure. Otherwise, the result of execution replaces the contents of the tag.
body.docTime Time of formation of the document. It is used to set the attribute lTime in the time of the next formation of the document. It is not set by the user!
table.export="1" Enable for selected table content allow for export to CSV-file and other table formats.

Container (Box)

The primitive container is used to build composite widgets and/or the pages the user interface.

Table. A list of additional properties/attributes of the primitive Box
IdNameNumberValue
pgOpenSrc Page:open source 3 Full address of the page, included inside of the container.
pgGrp Page:group 4 Group of the container of the pages.
backColor Background:color 20 Background color. Color name in form "{color}[-{alpha}]", where:
  • "color" — standard color name or digital view of three hexadecimal digit's number form "#RRGGBB";
  • "alpha" — alpha channel level [0...255], where 0 - is full transparent.
Examples:
  • "red" — solid red color;
  • "#FF0000" — solid red color by the digital code;
  • "red-127" — half transparent red color.
backImg Background:image 21 Background image. The image name in form "[{src}:]{name}", where:
  • "src" — the image source:
    • file — direct from local file by the path;
    • res — from the DB mime resources table.
  • "name" — the file path or the resource mime Id.
Examples:
  • "res:backLogo" — from DB mime resources table for Id "backLogo";
  • "backLogo" — like previous;
  • "file:/var/tmp/backLogo.png" — from local file by the path "/var/tmp/backLogo.png".
bordWidth Border:width 22 Border width.
bordColor Border:color 23 Border color (detailed in attribute 20).
bordStyle Border:style 24 Border style: "None", "Dotted", "Dashed", "Solid", "Double", "Groove", "Ridge", "Inset", "Outset".