You are on page 1of 74

Getting Started with

myDESIGNER
mySCADA Technologies s.r.o, JANUARY 2016
Introduction to myDESIGNER
All-in-one Development Platform

myDESIGNER is a powerful software tool used for development and setting of mySCADA projects on
supported devices - mobile phones, tablets, desktop PCs or servers.
mySCADA project is a collection of graphic visualisations - views, trends, alarms, data logs and scripts.

The aim of this tutorial is to give you a quick guide to the basic myDESIGNER functions.You will
learn the most essential techniques for developing your own projects. For more information you
can download myDESIGNER User’s Manual from our website www.myscada.org.
Workspace
Getting to know your workspace

Main Toolbar GUI Designer


Properties
Project window Options GUI Menu GUI Toolbar Rulers Canvas
Managing Your Workspace - Windows
Getting to know your workspace

All windows in myDESIGNER are organised into panes. You can move the windows arbitrarily as the
designer remembers positions of both automatically and manually closed windows until the next time
opening. You can undock the windows out of your workspace by dragging out, and dock them back
with the Alt+Shift+D key combination. If you wish to put all the windows into their default state, use
the Reset Windows command from the menu Window –> Reset Windows.
Moving windows:
Click on the window header and drag the window into the desired position, the
red preview box indicates where the window will appear once you drop it.

Automatically Appearing Windows:


Some windows appear only when you are performing a related task, i.e.
the Library window appears only when you are designing Views. You can
select the windows to appear automatically in the Window menu.

Shortcuts
You can reset all windows into their
default positions by selecting Shift+Escape Maximizes currently used windows.
Reset Windows Ctrl+Shift+W Closes all open documents in the Source Editor.

Alt+Shift+D Pins a detached window to the main window.


Creating a New Project
Getting to know your workspace

Start using myDESIGNER with importing or creating a new project:

• Click on the New Project icon in the main toolbar or use the Project->Projects->New Project command.
• Select Empty Project or Project Wizard - this feature helps you create a functional base of your new
project step-by-step. It will create PLC connections, set up a simple screen with animations and pre-configure
alarms and data logging for you.

• With Import Project you can import projects from the MEP file - all exported projects from myDESIGNER
use this suffix, select the directory where data from of an imported project should be located and press
NEXT.

1. Click on New Project icon in the


main toolbar and
2. Select Empty Project or Project
Wizard or
3. Select Import Project to import an
existing project from a MEP file.
Creating PLC Connections
Connecting to your technology
mySCADA system has all necessary built-in communication drivers to access PLCs. It is therefore very
easy to add and communicate with a new PLC - you do not have to configure all parameters for
communication with drivers.
1. Select Connections from
the Project Window tree
structure.

2. Click on Add Connection

3. Select the PLC Type, fill in the


Alias (name you will refer to in
the whole project) and IP Address
(IP address of your PLC).
Creating Graphics - Views
Creating Graphics

You can design own rich graphic visualisations with an integrated graphic editor.

1. Select Views from the Project Window


tree structure.

2. Click on the Add View icon in the main


toolbar and enter the view name and
description.

3. myDESIGNER uses vector graphics so you


do not have to care about the final graphic
resolution, however, the views should be
designed with respect to the aspect ratio of
your device.

4. Select the size of the drawing canvas,


depending on the final amount of the graphic
elements you wish to display

5. Set the screen layout - Portrait (vertical) or Note: If your device uses a pop-up menu tool bar (iPhone, Smartphones..)
Landscape (horizontal) you can set up its width in pixels which will be automatically subtracted
from the final screen size.
Creating Graphics - Views
Creating Graphics

myDESIGNER contains a built-in database of default screen sizes of the most frequently used devices from
Apple and other manufacturers.

Click on the Device Base tab and


select the type and version of your
device.

You can also choose your own


resolution in the tab Custom.
Layouts & Layout Views
Creating Graphics

The page layout defines the content arrangement and style on the page. With myDESIGNER you can create
multiple user-defined layouts. Each view you create can use a different layout.

Header - top section used for displaying a logo, name, logged


user, main menu etc..

Main Content - section displaying your views, it sits


prominently in the middle of the page

Sidebar Left/Right - columns on both sides of the main content


section used for displaying additional menus, pictures, etc., or
they can be used for control buttons or gauges

Footer - bar spanning across the page bottom


Layouts & Layout Views
Creating Graphics

To use the Layouts, first you have to create Layout Views - they behave exactly the same as regular views
therefore you can apply any functionality, such as animations, effects and visual scripts.

• Select Layouts -> Layout Views

• Click on the Add Layout View icon

• Enter the name and description

• Select the layout orientation and size


Layouts & Layout Views
Creating Graphics

Creating a new layout:

• Select Layouts in the Project Window

• Click on the Add Layout icon

• Enter the name and description and


click on Add
Creating Graphics - Layouts
Creating Graphics

Specifying the Layout details:


Top part - custom header

Here you can specify multiple views that will be


displayed on the top of the view using this layout

Left side
Right side

Bottom part - custom footer


Creating Graphics - Layouts
Creating Graphics

Using a configured Layout in Views:

• Select the view you want to apply the layout to


• In the ‘Properties’ -> ‘Layout’ select your layout
Project Visual Appearance
mySCADA is a very flexible tool that allows you to freely modify visual appearance of your project in run=me
environment. You can freely change the fonts, colors, and icons to fit your company visual guidelines. For visual
appearance set up, click on your project and then click on Color pallete icon in Main Toolbar.
GUI Toolbar
Creating Graphics

The GUI Toolbar is the secondary bar located in the upper part of your the window, where you can find all
necessary functions for designing and animating the views.
undo, redo, save draw graphical objects
modify objects: align, distribute, rotate,
scale, trim, combine, flip, fill, stroke effects, scripts,
cut,copy,delete,paste group object together tags, live view

zooming reorder objects layers

The properties bar is located rough below the GUI toolbar. If there is no object selected you can specify the
default properties for new objects to be created. If you click on an existing object you will see its current
properties that you can modify.
line thickness, line style, text colour, text family
line and boundary colour fill colour text style, text size

The options bar is located in the lower left part of your window.
repeat action grid rotate in discrete steps

smart guides rulers draw lines under 45 and 90 deg.

close the drawn path on double click


Drawing Primitives
Creating Graphics

In the DRAW section of the GUI Toolbar select the object type you want to draw - line,
poly-line, square, rectangle, circle, ellipse, text field, or you can insert a picture.
Drawing Poly-lines
Creating Graphics

With poly-lines you can create independent and continuous lines, arcs, splines or any of
their combinations.
1. click on the 2. click on the
Create line: click to set the start point, start point end point
move the mouse the end point of the line,
then click again.
1. click on the start point
and hold

Create arc: click and keep the mouse button


pressed from the start point, move the mouse 2. release the button at 3. click on the
end point
and release the button at the control vertex the control vertex

point, then click again to set the end point.

Create spline: click on the start point and


move the mouse to the endpoint, then click
again and keep the mouse button pressed to 2. press and hold 1. click on the
the button
form the curve, release the mouse button to start point

finish drawing.
3. form the curve and
release the button
when finished
Drawing Poly-lines
Creating Graphics

end drawing by
You can finish poly-line drawing with a double-click double click

or pressing the ESC key.

When object drawing is finished you will see all


control, end and vertex points that can be
modified with mouse dragging.
show options menu
by right mouse click

Adding a segment: 

choose the segment you would like Close the path option in the
to add from the options menu. Click options bar: if it is active, all
on the control point of the poly-line poly-lines will close
where you want to add the segment. automatically when drawing is
Delete a segment: 
 finished
close the drawn path
choose “Delete segment” from the
options menu. Click on the end
control point of the segment you
would like to remove.
Active Areas
Creating Graphics

Active areas are the regions in views where you can show dynamic content. It can be another view, trend,
alarm window, data-log, or even external HTML page or a live video stream. Active area acts as an active
container for all those multiple options.
Click on the Ac=ve Area icon in GUI Toolbar

Click on the Init Value in the


Proper&es window

Draw the Ac=ve Area

Set up type of Ac=ve


Area
Selecting, Changing Size and Rotating
Creating Graphics

• Select an object by a single mouse click


• Your selection is indicated by blue arrows
around the selected object.
• You can change the size of this object by dragging
the arrows

• Double-clicking on an object activates the rotation


option, indicated by rotational arrows around the
boundary of the selected object
• Drag the arrows to rotate the object around its
blue rotation centre point
• You can move the rotation centre point to
customise rotation to your preferences
Using Properties Bar
Creating Graphics
The properties bar allows you to view or change the properties of selected objects or set default drawing
properties - such as the fill and stroke color; line type and line thickness; font family, type and size.

If no object is selected you can specify the default properties for all objects to be created. In the following
example all new objects will have transparent fill and black solid line stroke:

If you select an object the properties bar will show its current properties that you can easily modify. The
properties bar even works with multiple objects - you can change the properties of all objects at once.
Stroke width: Line style:

Stroke color: Fill color:


Components Library
Extending Your Graphics
The Components library contains a collection of ready-made graphic symbols that you can simply integrate into your view. It
consists of two main sections - Default and Custom. The components section is a vector, high quality artwork source you
can freely use for your design.
components library

select
component

Tip: Use master section to edit components


used in your project! This way you can edit
multiple components at once.

Each component or icon can be inserted into your screen and resized as
desired by dragging out the corners. It can also be configured in the
properties, just like any other graphic symbol using the ‘Properties’ window.
Custom Components - Master
Extending Your Graphics

This section shows all master components, used in the whole project. If you change properties of the master components
then all subordinate components will change too.

• Modifying master component will change all components in your project

• Replacing master component for another will change all components in your project
Combining Objects
Creating Graphics

You can compose your final graphics from multiple simple objects, aligned above each other. Also, you can
merge or subtract your graphic objects to create one complex object of arbitrary shape and colour.

=> =>

=>
Fill and Stroke
Creating Graphics

The graphic objects can be filled or stroked with a solid colour, linear gradient, radial gradient or complex
pattern.
1. Select an object of which colour you want to
change.
Colour, Gradients and Patterns
2. Click on the Colour, Gradients and Patterns
button.

3. Choose a solid colour, gradient or pattern.


4. Confirm the changes by clicking on the
OK button. Gradients and patterns can be modified, according to your
specific requirements.
Grouping
Creating Graphics

You can compose your graphics from multiple elements. Moving or copying these graphics could be difficult,
however, to simplify these operations you can group multiple objects together and use them as a single unit.

group selected objects together

un-group selected object

enter group: change objects inside a group


without un-grouping

exit group: end enter group mode

• If you group together more items within one layer, they form a group and act as one object, the ‘single-
layer’ group, indicated by blue colour.
• If you group together more items from multiple layers, they create a multi-layer group. All objects in the
multi-layer group will keep their position, in respect to each layer. This group is indicated by green colour.
Modifying Objects’ Graphical Properties
Creating Graphics

The visual properties of objects can be changed in the Properties window, located on the right side of
the screen. Here you can set up any parameter to change a visual appearance of your objects. If you
multi-select different types of graphic objects, you can change only the parameters the selected
objects have in common.
Rulers and Guides
Creating Graphics

Use of the rulers:


The rulers help you accurately place and measure your
objects on the canvas. The ‘0’ point on each horizontal and
vertical side is the rule root.

horizontal ruler Use of the guides:


The guides help you to align text and graphic objects.You
can create the ruler guides (straight vertical or horizontal
lines) to align objects. Alike the grid, the guides do not
print. To create a new guide, click on the ruler at the
horizontal guide position where you want to place it.You can freely move a
right mouse click on
vertical guide newly created guide by mouse. If you right-click on the
guide you will see a menu where you can set the exact
guide location or delete it.
vertical ruler
Smart Guides and Snap-to-Point
Creating Graphics

The Smart Guides are temporary ‘snap-to’ guides Snap-to-points are temporary ‘snap-to’ bullet points
that appear when you are creating or manipulating that appear when you are creating or manipulating
with objects. They help you align, edit, and transform with objects.They help you to snap your object to
objects related to other objects by snap-aligning and the others.
displaying visual guides.

Enable Smart Guides Enable Snap-to-Points


Grid
Creating Graphics

Use of the grid:


The grid appears behind your graphics on the canvas but
does not print. If you start moving objects when the grid is
enabled they will be automatically aligned.

Enable Grid

You can change the grid parameters by opening the dialog box
from the GUI Menu -> Display -> Grid Settings.
The Layers
Creating Graphics
When creating complex visualisations it might get challenging to keep track of all your items on the canvas. The
smaller items might get hidden under the larger ones, and thus selecting the whole objects can become difficult.
Using the layers can help you manage all items of your artwork.

Think of the layers as of transparent planes glued together, each containing graphic items. If you change the
layers order you change the position (visibility) order of the items on your canvas. You can move the items
within one layer, or you can group together multiple items spread through several layers. If you copy objects,
then a new object is copied into the same layer as the original one.
If there is no object selected the active layer is displayed.
visibility

lock name

• Clicking on the layer name will display


the list of all layers to be set as active.

If you select any object, the layer containing this object is


select all objects in this layer settings displayed and highlighted with green color on the layer
add layer move layer down list.
remove layer move layer up
• Clicking on the active layer name will
show you the list of all layers and you
can move a selected object into a
different layer.
Objects order
Creating Graphics

The objects placed within the layers use a hierarchical order. If two objects overlap, the one located in the
higher layer overlaps the object located in the lower layer. You can change the object order by rising up to the
top or lowering down into the background.

Rise the selected object


one level up

=>
Linking with a controller (PLC)
Creating Graphics
There are two options of linking your visualisation with the PLC:

Animations: - they match the visual appearance of graphic objects with real values read from the PLC - he
visual change is reflected immediately. You can for example display PLC tag / variables values in the text objects
or change the object’s fill colour, depending on the PLC values.

Effects: - mainly add dynamics to your graphic objects, they can be activated either by an evaluating tag /
variable from the PLC or by the user’s action (e.g. mouse click). The effect is a dynamic change of the object’s
visual appearance in a specified time sequence.

The following example describes the use of the effects:


Imagine you want to display a rotating wheel in your visualisation when the PLC tag / variable read from equals
to 1 - you set the rotation effect of wheel by specifying the revolution time and set an infinite repeat, this way
your wheel will be rotating as long as the tag reading from is equal to 1.
on
Value

off time

Animation:
(color)

Effect:
(blink)
Linking with PLCs - Animations
Creating Graphics

Animations enable your objects to display actual states of the PLC in realtime.

Showing numerical values from the PLC in text


objects:
1. Create a new text object
2. Select the Anim tag in the Properties window
3. Fill in the Tag (Address) field
Specify the numerical formatting with using hashtags
‘#’ in text, e.g. ‘##.#’ means ‘use two leading numbers
and one decimal place’. In the runtime the hashtags
will be replaced by real numbers read from the PLC.
Animation types:
• Show Value - shows real values from the PLC in the text objects.
• Value to Text Mapping - converses numerical values from the PLC to into the text objects.
• Rotate - rotates an object
• Visibility - controls visibility of objects.
• Opacity - controls opacity eg. alpha channel of objects.
• Colour - changes the fill and stroke colour. You can chain multiple conditions.
• Size - changes size of objects, useful for bar animations, it can be set to change the width, height or both
• Scale - scale any object
• Move - moves objects along a specified curve (path), x and y axis
• Sound - plays a sound
• Circular section - create circular section
Linking with PLCs - Effects
Effects bring dynamics to your screen.

How to activate rotation of an object:


1. Select an object you wish to apply rotation to
2.Click on the effects icon in the GUI toolbar - a new dialog
will open
3.Select Rotate Forever CW effect parameters of
4. Fill in the Tag (Address) field or select on Click selected effect

Tip: You can have multiple effects


defined, just edit the properties table.
Entering Tags
Creating Graphics - Linking with PLCs

If you want to link your visualisation with the PLC you have to enter the tag name or address you wish to read/
write data from. The tag syntax depends on the PLC type/brand you want to access.
tag / address

Tag syntax: tag@connection_alias Alias syntax: *alias


alias of your PLC (if you do not specify, default will be used)

You do not have to enter full tag syntaxes all the time. Instead, you may use a simplified symbolic tag link,
called Alias. You can define Aliases in the tag database or you can create new ones, if desired.

You can write the tags directly in the tag


editing field in the Properties window or use
the tag editor by clicking on the … button on
the right side -> the Tag Dialog window will
show-up.

Tag Dialog’guides you through the tag


entering and checks if the syntax is correct.
Entering Equations
Creating Graphics - Linking with PLCs

Equations are used for scaling of the read PLC values or for solving more complex problems with multiple tags.

denotes equation

Equation syntax: =2*adr(H100@wago)+alias(offset)+sin(...

referencing a tag referencing a tag by alias

For equations writing you can use operators + - * /, and common mathematical functions such as ‘sin’, ‘cos’, ‘exp',
etc. You can also do a binary comparison and much more. Open the ‘Tag Dialog’ window and select ‘Equation’
to get the list of all options.
Test your equation
Enter equation for errors

Function groups
Apply Equation

Available functions
Creating Commands
Creating Graphics

Sending commands to the PLC is easy. You can


assign them to any graphic object on the screen
view and start sending data to the PLC by
a mouse click or touch.
1. Select an object you would like to assign a
command to.
2. Go to the Properties window and select
the Open / Set tab.
3. In the Set Commands section select the
desired action - On Click, On Up or On Down: Command Type
• On Click - responds to a single mouse click
• On Down - active while the mouse pressed or
touching the screen
• On Up - active when releasing the pressed mouse
or touch List of Set Commands
4. The set dialog appears with multiple
options.
5. You can chain multiple set commands PLC Tag/Address

If you specify ‘Prompt’, the user will be shown a


dialog window with the set text when writing to
the PLC.
Open Command
Creating Graphics
You can set any object on your screen to open another View,Trend (chart) or PDF document by a mouse click
or touch - use the Open Command section for setup.

1. Select an object you want to assign


the Open Command to.
2. Go to the Properties window and
select the Open / Set tab.
3. In the Open Command window select
the desired action: Open -> Window,
Parametric Window, Trend, Advanced Trend
or Document..
Open in New Window (Faceplate)
Creating Graphics

location of newly open window

• default: show window at the centre


• absolute: set absolute coordinates of
the top left corner
• relative: set relative offset to current
mouse position

size of newly open window

• default: original size of window


• scaled: scale window to set percentage
• user defined: specify new dimensions of
opened window
Parametric Views
Creating Graphics
Instead of designing multiple similar visualisations for a multiple field technology that differs only in its
operational parameters and not appearance, you can use one master view, common for all. You can set and use
the opening parameters to link the views with specific pieces of technology.
Example: Imagine you visualise a plant with 200 similar motors and instead of designing 200 identical screens with
different PLC links, you create only one view. Then the user can select a specific motor by entering desired parameters
when opening a certain view.

View Name

Opening
parameters

Overview Window created by the user - every motor


has different opening parameters

Parametric Views are denoted by [PAR] after its name and can
be specified when you are creating a new view.
Concrete Motor Window
Parametric Views - Opening Parameters
Creating Graphics

Specifying opening parameters: You can set the opening parameters in Index
field (parameter can be a number or string). All parameters separate with
semicolon ‘;’.

Index Crain 1A;Basement;DB100;1 fourth parameter $4$

second parameter $2$ third parameter $3$

first parameter $1$

You can access the parameter value by ‘$Number$’ notation, where the
number means parameter’s position . The first parameter in this example will
be accessed as ‘$1$’. You can set the parameter values together with tags.
DESIGN BEFORE VIEW OPENS LIVE DATA
Specify the tags when designing a view with When opening a view, tags will be Online view will read correct a real data
parameter values, denoted by $index$. Use automatically converted with from the PLC for a specific motor.
multiple parameters if necessary. parameter values.

Crain 1A;Basement;DB100;1
Parametric Views-Change Connections
Creating Graphics

Specify connection for the opened view: You can specify to which PLC your
view will link to in the Connections section:
$1$ means replace for S7_PLC connection

Tag Entering: DB$3$@$1$

$3$ means take 3rd parameter from Index.

Again, you can define multiple replacements for your connections with the Index parameter. When setting more than
one connection replacement, use the semicolon ‘; ‘ to separate them.

Use ‘$number$’ in texts


You can also use your ‘Index parameter’ to include any parameter in the text elements: replace $1$ with “Crain 1A”

text to replace
Visual Scripting
Creating Graphics

mySCADA provides plenty of tools for performing the most common data acquisition, display, animations and
effects without coding. However, for maximum flexibility mySCADA also includes a complete scripting language,
based on JavaScript, which in allows you to interact programmatically with most of mySCADA functions through
a high level scripting language.

Easy to learn:
Scripting can be used for all sorts of tasks. They can be as simple as setting a few output values to a pre-set
state or built complex animation scenarios. The possibilities are unlimited. Scripting is designed to be easy to
use, extending functionality of mySCADA.You need not to be an experienced programmer to be able to use
scripting. When using JavaScript language you do not have to worry about memory allocations, leaks, and other
more complex programming issues as programming is very simple and straightforward.

Using visual scripting in your view:



Entering the script window: 

For each view you can create its own
In the Project Window right-click on the view you
script. Script is evaluated every time
want to script and select Script “YourViewName”.
an active screen is refreshed. Refresh
logic can be seen in the left side
diagram.
Visual Scripting - Edit Window
Creating Graphics

For each view you can use one visual script. When you edit the source code the editing window is shown:

source code window

variables window

mySCADA Specific Function List


Visual Scripting - Using Variables
Creating Graphics

Input variables read data from PLC Using variables in animations: you can use the script declared
Output variables write data to PLC
variables in animations. To tie a variable with an animation use the
equation editor as for the regular PLC tags.
memory variables

You can define 4 types of variables:


Input, Output,Value Memory and String
Memory.You can use these variables to Trigger Animations Directly in Visual Script: you can control
read data from the PLC, computations, animations and effects directly in Visual Script. All necessary
put them into any equation in your functions are listed in the Useful Functions List window.
view or use for writing data into the
PLC.
Time Sequence
Adding time based dynamics simple way

Time Sequence is a very simple to use, yet extremely powerful


function for enriching your views with time-based animations.
The Time Sequence editor is implemented within the GUI
designer. It lets you change the graphic properties of objects
in specified time intervals. mySCADA system can compute the
Time Sequence Icon transitions between defined time intervals.

Trigger condition:
time
tag value
Delete Time Seq Rename Time Seq on click
Rename Time
New Time Seq Select Time Seq Sequence Duration, delay, …

Add New time


Play animations Time in percent % Saved position position Save Time Seq
Time Sequence
Adding time based dynamics simple way

Step 1: Open the Time Sequence Editor Step 2: Move the time slider and modify your objects

Allowed: Not Allowed:


• position - move • new element creation
• size change (please use visibility)
• colour change • rotation
• visibility

Step 3: Add more time


positions and save
Time Sequence
Adding time based dynamics simple way

Time Sequence can be triggered by:


• TIME: from the shown view
• TAG: read from the PLC or virtual
• CLICK: on any graphical object

Modify timing:
•Overall duration of sequence
•Time offset of the sequence start
•Number of repeats (or choose continuous)

TIP: ‘Preserve state on finish’ will put your objects in the same state as they were at the end of animations.

Nesting Sequences:
• Create multiple sequences
• Set ‘start after’ for each sequence
Documents
Link HMI Elements with Your Documents
If your documentation is in an electronic form, then any graphic object on the HMI screen can be connected
with a PDF document, imported into your mySCADA project.

First, import your PDF Documents into the In the Properties window select the Open/Set tab, fill in the Open and select the document.
Documents folder in the Project Window. Right-
click on the Documents -> Import, and select a
document you want to import.

import PDF document

select Document

select your imported document

enter the page number you want


to open your document on
CAS Alarms
Complex Alarm System
Alarming is an essential part of mySCADA system. myDESIGNER lets you set up alarming simply, even for more
complex situations.
The alarm definitions are split into two tables - one for analog and second for digital alarms. For analog alarms,
you can specify complex evaluation criteria, such as dependent conditions on multiple tags, complex equations
or Dead-band area.
You can group alarms together by area - geographical or virtual, and have multiple alarms defined to one
technological object. The alarms can be filtered by: alarm text, area, objects and severity value.
Integrated Help Analog Alarms Digital Alarms
Refresh TImes
of Alarm Groups
CAS Alarms
Complex Alarm System

The table below shows all possible options for each defined alarm.
ID Automatically generated unique ID. You will need this ID when accessing alarms from Server-Side-Scripts.
Tag@Conn / *alias Tag (Address) or Equation specifying data read from the PLCs.
Severity is an unsigned integer value specifying the importance of a certain alarm. The lower the number,
Severity
the higher the priority is.
You can split your alarms by geographical or virtual area they belong to. The area is a string value you can
Area
use for alarms filtering.
Message The message of your alarm.
Device The name or description of the device this alarm belongs to. One device can have multiple alarms defined.
Check to invert an alarm (when a digital alarm is inverted it is active at the value 0, for an analog alarm the
Inv
activation area is reversed).
Enables alarm hiding from the user. This is useful when you use alarm as a condition in the triggered data-
Hide
log. Hidden alarm is not shown in the alarm window nor it is logged into the database.
Specifies the delay in milliseconds as long as the condition must be active before an alarm can activate. This
Delay
is time hysteresis function.
Specifies the refresh rate of your alarm.You can set 3 predefined groups: default, fast, slow. You can change
Refresh
the refresh values for each group in the Properties window.
email Sends an email upon each alarm activation or deactivation.
SMS Act Sends message upon each alarm activation.
SMS Deact Sends message upon each alarm deactivation.
G0 - G9 Checks an appropriate user group to receive alarms via email and SMS.
CAS Alarms - Analog Values
Complex Alarm System

The analog alarms are tied to analog values read from the PLC. Aside from common parameters which are
the same for digital and analog alarms you should specify minimum and maximum values for your tag or
equation.You can also specify the ‘dead-band region’ for any value to eliminate the false alarms.

dead-band region

minimum value maximum value

dead-band region

alarm is active

The ‘dead-band region’ helps to eliminate nuisance alarms, caused by the tag’s value wandering above and below
the alarm limit.The tag enters the alarm condition only if the tag’s value exceeds the alarm limit. However, the point
will NOT go OUT of the alarm until the point’s value exceeds the dead-band.
Historical Data
Historical Data

• You can log and access a complete history of alarms, all users actions, and any technological data you want to
log. The historical data are grouped into logical sections called Data Logs.
• Data Log has many options you can setup to tune your logging options.You can optimise your data logs for
speed and storage.
• Data logs can be periodic or event driven. With using pre and post event buffers, you can save the collected
data before a specified event has happened.

Alarms Trends

User Actions Data Logs

System Actions

mySCADA
History
Data Logs
Historical Data
Practically, you can log any mySCADA data or information available. The data are grouped into data logs for an
easy access and user’s convenience.You can think of data logs as of similar data collections e.g.: set of
temperatures read from the PLC every second, motor start-up voltage and current logged each 100 milliseconds,
running hours of machinery process, operator actions, computed production statistics etc. You can also log any user
defined variables from Server-Side-Scripts via a virtual PLC.

Advanced
Trends

Tabular
Views

Advanced
Reports
Data Log
Definition
Statistics
Excel Export
Data Logs
Historical Data

trigger conditions
log period (save interval) log data before and
data log definition after the trigger

data logs

refresh period

tabular views
Data Logs
Historical Data

Data logs: are data sets grouped together. Each data log has a set of parameters, such as log period, pre and
post event buffers and so on. Every data log is defined by the data you wish to read and log. The data is a
collection of data points. The data points can be variables read from the PLCs, user defined variables or
computed statistics from the Server-Side-Scripts.

Data point: can be either a numerical value or array of values. The numerical value can be any numerical type
such as boolean, integer, float, double, signed or unsigned. The numerical values are always automatically converted
and logged as double values. Thus, you do not have to care about the data type and its conversions. The data
array can represent a set of numerical values, buffer, string or a date. Representing of an array is user-defined,
however, you can change the type any time later without data loss.You can freely combine the numerical values
and arrays in a single data log, so you can have values, strings and dates logged together.

Continuous data logs - data logged periodically without interruption, this data type is
useful mainly for persistent processes.
Data Log Triggered data logs - data logging data is dependent on some event - condition. The
Types condition is specified by alarm ID. This type of data log is useful
for repetitive or random processes where you can specify the
start condition.
Data Logs - Continuous
Historical Data
The purpose of the continuous data log is to log data periodically without interruption. This type of data log is
useful mainly for persistent processes.
The continuous data log defines the read refresh rate in milliseconds. With this period, all data defined in the
data log are read from the PLCs and logged into the database.You can define hysteresis for the data logging
of any data point. If hysteresis is enabled for a given data point, it will be read each reading cycle - defined by
the read period. However, it is logged only if its value has changed by more than of the defined hysteresis
value. This can be very useful, especially when you are logging analog data that do not change so often. When
you set the hysteresis for some data points in the data log, you can specify the log rate - this is the period in
which all data points in the data log are logged, regardless whether they have changed of not. By enabling
hysteresis, you can dramatically decrease a number of historical data logged while maintaining data precision
and time continuity.

data are read


every 5 seconds
Data Logs - Triggered Data
Historical Data

The purpose of the triggered (event driven) data log is to log data depending on some event - condition. This
is useful for repetitive or random processes where you can specify the start condition. You can, for example,
log the production data only at the time when the production line is running, or log the data at the system
failure and use the logged data for diagnostic purposes. With the event driven data log you can specify the
start of an event by a condition. If the trigger condition is met, the system records the data.

Pre trigger buffering: you specify the number of time samples Post trigger buffering: the system will continue to log your
to log before the trigger condition is met.The system automatically data even after the trigger condition has stopped. You should specify
keeps the number of defined time samples in the memory. If the the number of time samples to log after the trigger condition has
event occurs, the system will flush all the buffered data into the ended. The time sample duration is equal to the read period.
database and continues logging.
To log data before or after the
trigger condition, you can use
all data are read data will be logged only if alarm
pre and post trigger buffering
every 20 seconds with id 4 is active
Data Logs - Tabular Views
Historical Data

Each data log can have defined multiple tabular views.You can define tabular views in the same window as you
define the data log. The tabular views enable displaying all captured data from your data log into a form or
table.

tabular views IDs of your data points you wish to include


in the tabular View
Advanced Trends
Historical Trends

You can easily present your historical data in the form of a historical trend.
data log to read legend
data from data point - tag pen color

advanced trend
definitions
Tags Database
Manage your tags easily

This database is very useful for managing all your tags and connections. A flexible mySCADA engine does not
require you to use the tag database, however it can be a very powerful tool if you use it.You can start your
project with creating or importing a tag database and design the visualisation afterwards, alternatively you can
let myDESIGNER to interactively create a new tag database for your purposes as you enter new tags.

access your tags default formatting scale value or click to see where is
filter table
by alias name when showing value apply mat. equation this tag used

Tag syntax:
Tag: tag@connection_alias
Alias: *alias
Equation: =2*adr(H100@wago)+alias(offset)+sin(...
User Access
Protecting Your System

User Access protection is integrated at all levels of


access, to guarantee a high level of transparency and
traceability of all users’ actions. You can define up to 10
user groups to grant the access rights for different
users users of your system. The number of system users is
unlimited.

email and telephone


users list
for alarms and reporting

adding new user

access level

let the user configure


system parameters and
network
User Access - Limiting Access
Protect Your System
You can limit the user access for viewing and writing almost for every part of the project. Namely, you can limit
user access for:
The whole project: Any graphical object:

Window: Trend:
Server-Side-Scripts
Powerful scripting tool

Server-side-scripting is easy to use, yet an extremely powerful option which extends functionality of your
mySCADA system. It uses JavaScript as a primary language for writing scripts. JavaScript is one of the most
simple, versatile and effective scripting languages that is relatively easy to learn. Also, you can find a lot of
resources and prepared libraries for JavaScript on the internet. This is the main reason why JavaScript has been
chosen as a server side script for mySCADA platform.

The execution of JavaScript is based on the V8 engine What you can achieve with the Server Side Scripts:
from Google. JavaScript alone is a powerful tool to use. • process and analyse data from the PLCs
To maximise the script potential and create a
complex programming environment, JavaScript is • compute statistical data
extended with Node.Js framework. • create reports
Node.js is a server-side software system designed for • serve content over a web server
writing scalable applications. Programs are written on • implement complex data handling
the server side in JavaScript, using event-driven, • communicate with devices via Ethernet or serial
asynchronous I/O, to minimise overheads and line
maximise scalability.
• implement your own protocol for special devices
Server-Side-Scripts - Node.js
Powerful scripting tool

Node.js is asynchronous and non-blocking, making it simple to write a complex communication library. It is
also very extensible - you can find and freely use this module for almost any task you require.

Traditional way: non-blocking, event driven way:


data = file.read("/foo/bar"); file.read("/foo/bar", function(data) {
// wait... // called after data is read
doSomething(data); doSomething(data);
});
otherThing(); // execute immediately;

Simple example: creating an HTTP server listening on port 8000


load http module
var http = require('http');
create callback each time user connects
http.createServer(
function (request, response) { this function is executed
response.writeHead(200, {'Content-Type': 'text/plain'});
response.end('Hello World\n');
}
bind the server to the port 8000
).listen(8000); log to console

console.log('Server running at http://localhost:8000/');


Server-Side-Scripts - Integrated Source
Code Editor
myDESIGNER includes an integrated source code editor with syntax highlight and integrated help for simple
editing of your server-side scripts.

Server Side Scripts


folder
global memory
variables

request tables
read/write list of tags from PLC

main script, here you should put your node.js code

put here any kind of file such as config, txt, xls, ...
you can access files in this directory from your scripts

Limit access to user directory. Allow FTP and HTTP access


Server-Side-Scripts
Simple Example

In this example, the task is to read and write data to the PLC 1. Create a PLC variable table and give it a
with 1 minute interval: name.
PLC variable table tag list to read/write from PLC
2. Fill in the tags you want to read from the
PLC. Alias is a variable name under which
you access your defined tag in the scripts.
3. Create a timed script and set refresh
period to 1 minute.
source code editor window 4. Fill in the code into the code window.
Server-Side-Scripts
Simple Example
Function readTable will read tags from PLC. The first parameter is a table name where tags are defined, the second parameter is a callback function.

Callback function: when readTable is finished, this function is executed.

variable err defines if read data from PLC ended with error

on error log message into console

save value from tag into new variable called flow

compute new value for write variable

write a variable into PLC

Important functions:
readTable('table_name',callback);
writeTable('table_name',callback);
writeTag(‘table_name.tag_name’,callback);
readActiveAlarms('max_severity',callback);
readAlarmStatus('severity',callback);
Server-Side-Scripts - Reports
Creating Reports

The report templates are created in Microsoft Word (and compatible text editors) using a simple syntax.
During the report processing all defined variables inside a Word document are replaced with data provided
from the script.

MS Word Template Generated Report

Server Side Script


Server-Side-Scripts - Reports
Creating Reports

1. Prepare a report in MS Word.

a) To replace single variable place it in single bracket: {variable}


b) To create a loop you can use loopopening {#} and loopclosing {/} brackets

Loop over all elements in array variable alarm End of loop

c) Import the document into


UserFiles in the Server Side Scripts
folder

Will be replaced by variable alarm[].msg

Word Template Example


Will be replaced by value of variable name1
Server Side Scripts - Reports
Creating Reports

2. Create a script to fill the MS Word Report with data

script example which reads active alarms from the system


and fills table in word template

a) create a replacement variable

b) fill it with data

c) require “docxgen”
d) open the Word template file
e) generate report
f) save it to file
Downloading to Device
Managing Devices
When your project is prepared, you are ready to download it into your device. Any project designed in
myDESIGNER can be downloaded to multiple types of devices: Mobile, Compact, Operator Panels, Desktop and
Server mySCADA Box. 3. Check the devices you want to
1.Register your device in the Devices folder in the Project Window. download your project to and click
on Download to Devices

registered devices

online devices

2. Click on your project in the


Project Window and click on the
Download to Devices icon in the
main toolbar.
PROFESSIONAL INDUSTRIAL HMI/SCADA

INNOVATIVE, FAST, PERFECTLY DESIGNED, EXTREMELY POWERFUL... mySCADA

Created by mySCADA Technologies s.r.o., JAN 2016. All rights reserved.


www.myscada.org

No part of this document or of the mySCADA Products can be reproduced or transmitted in any form without a written permission of mySCADA
Technologies s.r.o. All information in this document is subject to change without notice, and is not binding in any way for mySCADA Technologies s.r.o.