0% found this document useful (0 votes)
99 views98 pages

Database Share Out - Basics

The document outlines the PVSS (Process Visualization and Supervision System) concepts, focusing on the Datapoint and Manager concepts, installation procedures, and project management. It details the structure and addressing of datapoints, the object-oriented approach to data representation, and the roles of various managers within the system architecture. Additionally, it covers configuration management, alert handling, and the creation of objects and panels in PVSS.

Uploaded by

Réka Magassy
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
99 views98 pages

Database Share Out - Basics

The document outlines the PVSS (Process Visualization and Supervision System) concepts, focusing on the Datapoint and Manager concepts, installation procedures, and project management. It details the structure and addressing of datapoints, the object-oriented approach to data representation, and the roles of various managers within the system architecture. Additionally, it covers configuration management, alert handling, and the creation of objects and panels in PVSS.

Uploaded by

Réka Magassy
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 98

(00) Basic concepts

R. Trausmuth
Senior Developer, ETM Austria

 The Datapoint Concept


 The Manager Concept

 PVSS Installation

 A New Project (PVSS Project Management)


 A New Datapoint (PVSS UI Para)

 PVSS Configs
 PVSS Alert Concept

The Datapoint Concept

process-variables of a valve

commands

response

opening

opening

engine start

opened

engine stop

closed

....

engine runs

....

malfunction

list-oriented datapoint concept

 data-points rigidly organized in one-dimensional lists




difficult to understand

 every process variable is a single data-point




difficult to maintain

 individual groups of components divided up into a lot of


datapoints


modifications necessary at many different places

object-oriented data-point concept


valve
commands

opening

response

malfunction

status

opening

opened

engine runs
closed

objectoriented datapoint concept

 DP is actual representation of an object


 defined by name (and type)
 type modifications will modify all instances (= datapoints)
of this type
 elements may have several attributes (configs) for further
processing parameters






current value
value change
alert handling
peripheral address
archiving details

types of datapointelements
valve
structure

commands
structure

response
structure

opening
float

malfunction
bool

status
structure

opening
float

opened
bool

simple types

complex types

unsigned int

multilang. text

integer

reference

character

array

boolean

dyn. list

bitpattern

structure

floating point

blob

closed
bool

engine runs
bool

text
date / time

a datapointelement and its configs


valve

structure

commands
structure

opening
float

response
structure

malfunction
structure

status
structure

opened
bool

periphery address

closed
bool

value range
conversion E-> R
default value
...

engine runs
bool

opening
float

periphery address
value range
smoothing
conversion R -> E

...
periphery address
default value
...

Datapoint address

 A full datapoint addess consists of 6 parts:




[System:]Datapoint.[Element][.Element]:config.[detail].attribute

System is optional, default is local system


Elements might be organized as tree

Root element is .
Element levels are separated by .


Details are used for specail cases only, might be empty in most cases

 Internally, a datapoint address is represented by 7 numbers


(including the datapoint type)
10

Addressing Data Points (1)

Six parts of the address:


[system:]dpName.[dpElement(s)]:config.[detail].attribute
system:

name of the PVSS system

dpName:

name of the data point

dpElement:

element name of the DP type

config:

attribute group

detail:

detail number of the attribute group

Expressions
in [ ] are optional
attribute:

real value of an attribute

Several items are separated by periods

11

Addressing Data Points (2)


valve

Example:

structure

commands
structure

opening
float

response
structure

malfunction
structure

original value
default value
online value
peripheral address

status
structure

opening
float

opened
bool
closed
bool
engine runs
bool

value range
command conversion
[system:] dpName. [dpElement(s)] : config. [detail] .attribute

valve1.commands.opening:_online.._value
12

Objects in PVSS

 Real world representations in PVSS consist of

 A datapoint object


Holds all relevant data for the object

 A graphical object


Knows how to display the data

13

Objects
datapoint object

graphical object

open
D
closed

V06N23
open
V06N23

R
closed
malfunction
M
engine_runs

14

creating objects: the usual way


V1.R.open
V1.R.closed

V1
V1.M.malfunction
V3
V1.M.engine_runs

V3

V1

V3.R.open
V3.R.closed

100
V2

V3.M.malfunction
0

V3.M.engine_runs

V2

V2.R.open
V2.R.closed
V2.M.malfunction
V2.M.engine_runs

15

creating objects: references


$valve=V1
$valve=V3

V3

$valve

V1
100
V2
0

$valve=V2
$valve.R.open
$valve.R.closed
$valve.M.malfunction
$valve.M.engine_runs

16

creating panels: the usual way

detail-view station 05

V05N12

Overview
detail-view station 06

V06N12

pump station 5
V07N12

detail-view station 07

pump station 6
V07N03
100

pump station 7

V07N04
0

17

creating panels: the object oriented way


Overview
detail-view station $StatNr

V12N05
V12N06
V12N07

pump station 5
V12N05
V12N06
V03N07

$StatNr=06

100

pump station 6

V12N05
V12N06
V04N07
0

pump station 7

$valve=V03$StatNr
$valve=V04$StatNr
$valve=V12$StatNr

$valve

18

The Manager Concept

Basic system architecture

 Possible control system architectures




Distributed systems
Servers provide process data
Clients connect to servers and get data on demand
-> time synchronization of values ?

Centralized systems
One single process data image
All components connect to this image
-> values in central image are always consistent

20

managers overview

UIM

UIM

Ctrl

DM

UIM

API

user interface layer

processing layer

communication and

EV

memory layer

driver layer

21

driver layer

software protocol

smoothing

PVSS

smoothing

(reduction of the dataflow)




data-type transformation

conversion
(raw value  engineers value)

conversion

transformation
old / new

SW telegram

HW/kernel

22

Event Manager


administers data points

administers user authorization

contains and administers the current


process image
EV

receives and evaluates messages

distributes messages to other managers

only one Event Manager per PVSS system

23

Database Manager


high-speed database for


archiving process status

parallel historical value-archives


DM

administration of the system


parameterization

last values

internal SQL-SELECT interface

24

Control Manager


Complex processing of data points

Interpreter with syntax similar to C

Multithreading capability

Time- or event-controlled

Large scope of functions

Ctrl

(loops, procedures)

Extensible by User


-> CtrlExt dll


25

API-Manager

C++ class library

All PVSS-Managers based on API


API

Full PVSS-access

Integration of existing software

Can set up own managers with specific functions

Integration of PVSS functions for specific projects

26

User-Interface-Manager / Runtime


Graphic visualization of messages


received by EV

Animation of graphic components

Forwarding the user entries to EV

User log on/off

27

User-Interface-Manager / PARA


Online parametrization

Graphical datapoint-type editor

Datapoint-treeview

Para uses CTRL-scripts


and panels

Drag & drop

DP-groups

28

User-Interface-Manager / System Management




Configuration via
standard-panels

Database

Reporting etc.

29

User-Interface-Manager / Diagnostic, Debugging




System-State, Memory

Manager Connections

Message Statistic

CTRL-Script Debugger etc.

30

Online-Help


Full-featured HTML-based online-help


including full text search, bookmarks, etc.

31

PVSS Installation

In case "autostart" is disabled ...

33

New entry in the start-menu


entry for PVSS

entry for dongle

34

Get hardware code...

35

... order license file ...

nameOfComputer

nameOfComputer 12345678901

36

... and install it

37

The shield-file

Hardware-Code
Hostname and Shield-Code
Valid until ...

Features of the license

38

PVSS Project Administration

Project administration

Lists all projects installed


on this computer;
Shows their PVSS-Version
and currend state

40

Create new standard project ...

41

... name, languages and path ...

<projectDir>

42

... confirm settings

<projectDir>

43

PVSS-directory / project-directory

44

Open the PVSS-Console ...

<projectName>

<projectName>

45

... append new manager or set individual options .

<projectName>

46

... or edit config file ...

<projectName>

47

... and start project


Starts entire
project
<projectName>

Process Monitor;
already running
Default-Manager;
automatically added
by PVSS when

Starts individual
managers

setting the project;


not yet running

48

Managers start one after the other ...

<projectName>

already running
about to start

not yet running

49

... until the project is up and running

<projectName>

<projectName>

50

PVSS UI Para

Object-oriented datapoint concept

valve
commands

opening

response

malfunction

status

opening

opened
commands
response

closed
engine_runs

52

Access PARA

53

PARA in detail

Hides
system datapoints"

Predefined standard
datapoint types

Standard datapoints

Reduces display to datapoints


corresponding to filter criteria
determined.

for experiments"

Predefined standard
datapoint types

54

Task


Technical object "motor driven flap"

Which object properties ?

Structuring all properties

Implementation of the structure with


the PARA-module

55

Properties of object

flap
defaults

opening

response

malfunction

status

end_of_travel

opened

motor_temp

running

opening

closed

56

Open Dp-Type-Editor ...

right
click

57

... insert name of root-node

58

Insert node after node ...

59

... set type of node ...

60

... finish tree ...

61

... and save

62

Create datapoint ...

63

... and save

64

Datapoint and it's configs

65

PVSS Configs

Basics


Motivation:
Configs are a kind of "functional unit" providing the possibility to add special
functions or a certain behavior to a Datapoint-Element.
As Datapoint- Elements could be of different types (structure, float, bool, ...),
it is not possible to add every kind of Config to every kind of DatapointElement. And those which can be added to a variety of types will then have
a different set of Attributes, depending on the type of the DPE.
Configs (21 different kinds) and their Attributes (depending on the Config
from 2 up to more than 70) are predefined and can not be altered by the
user.
The Config "_lock" and the virtual Config "_common" do exist on every DPE,
the Config "_original" only on DPEs whose type is not structure
(compare "Para Module").

67

Alert handling

Defining the discrete status


of a value


Links certain alert-classes


to certain value- ranges


Discrete

alerts

68

Alert class
Selects a certain
acknowledgement type

Defines the characteristics


of an assigned alert range

69

Basics - PowerConfig


Motivation:
If a Config is added to a Datapoint- Element, this is done locally only.
No other Datapoint (even of the same type) will get this Config on that DPE
(compare: Alerthandling on Flap f1 and f2).
Thus the same DPE of a different Datapoint (even of the same type) can hold
it's individual amount of Configs and/or individual values for the Attributes of a
Config (e.g. Flap f1 could act totally different to f2 because of it's different
Configs).
But Datapoints are the representation of technical objects. And technical
objects of the same type will behave in a similar or in the same way. Thus
Datapoints of the same Datapoint-Type will have the same Configs and their
Attributes will have almost the same values.
Hence it would be desirable not to set up the Configs and it's Attributes for
every new Datapoint of a certain Type again and again.

70

Basics


Solution (1):
Would it be possible to add Configs right to a DP-Type, all Datapoints of this
Type would get them (compare: "class -> instance"; Module Para).
Beside this is not possible in PVSS, it would imply that all DPs of that Type
do have the same Configs and most of all the same values for the Attributes.
As this will not be proper for all of the Configs (e.g. Attributes of "_address"
will always be different), there is a special kind of Datapoint standing between
the Datapoint-Type and the "normal" Datapoints. This special DPs are called
"Master" and are acting as a crossover of DP-Type and DP.
This Master-DPs do contain special Configs called "Power-Configs".
This is not a new kind of Configs, but should mark ordinary Configs as
belonging to a Master-DP.

71

Basics


Solution (2):
As some of the Attributes of a Power-Config will be identical for all DPs of a
Type, but some will be/have to be different or have to be changeable
afterwards, they are called "Dynamic Attributes".
As Power-Configs will act in different ways to the user, they are called "fixed",
"variable", "fixed with variable parts", "fixed but calculated automatically", ....

72

Basics


Result (1):
If there is a Master-Datapoint existing and a new Datapoint is going to be
generated, the DP-Type is handing over the information about it's structure
and the Master-Datapoint about the Configs and their Attributes.
As the Configs and their Attributes can't just be copied, there has to be a
kind of rule how this information is promoted to the new Datapoint.
This rules are called "Configuration of a Power-Config".
The real power of a Power-Config is that the Configuration is not something
fixed, but is just a Control-Script. And this Control-Scripts can be modified
by the user!

73

Basics


Result (2):
To set up a Power-Config utilizes basically the common dialogs of the
Para-Module. Entered values are not written directly to the database as it is
done by "normal" Configs, but they are promoted to the Configuration of that
Power-Config. The Configuration is performing it's commands/calculations
and when finished, writes the values to database.
If a new Datapoint is going to be generated, the Configuration of the used
Power-Configs are called also and the values for the (dynamic) Attributes of
the new DP are written to the database by them.
There is a predefined set of Power-Configs with default values for their
Attributes and their Configuration.
As some Configs are mostly set in combination (e.g.: Address, Command-/
Message-conversion, PVSS value range and Smoothing) there are also some
Power-Configs bundling such Configs to one.

74

PVSS Alert Concept

Definitions (1)
Alert:
Triggered when one status changes to another

Alert range:
Range, defining the discrete status of a value.

Alert class:
Defines the characteristics of an assigned alert range.

Priority:
Importance of an alert

came:
Transition t o a state of alert

went:
Transition f r o m a state of alert

76

Definitions (2)

alert range
upper alert limit

alert went

warning range
warning came

upper warning limit

warning went

good--range
good
warning went

lower warning limit

warning came

warning range
alert went

lower alert range

PVSS- value range

alert came

alert came

alert range

77

Alert Status
alert range (A)
type of
acknowledgment: 4
warning range. (W)
type of
acknowledgement: 2
good range (G)

state of alert
handling:
current range:

acknowledgement
G
OK

W
came

came /
unack
A

went /
unack

came

OK

executed alert:
W came

A went

W went

A came

78

Acknowledgement = Canceling

came
cam
e

aknow.
went

no alert

79

Not acknowledgeable

came
came
went

no alert

80

Came can be acknowledged

came /
unacknowledged

aknow.

came /
acknowledged

came
went

went

no alert

81

Alert pair requires acknowledgement

came /
unacknowledged
aknow.

came /
acknowledged

came
went

came

went /
unacknowledged
aknow.

went

no alert
82

Came and Went require acknowledge

came /
acknowledged

went

aknow.

went

came / went
unacknowledged
aknow.

came

came /
unacknowledged

came

came

went /
unacknowledged
aknow.

no alert
83

Group Alerts Basics (1)

Motivation:
There are three different ways to use the alert handling-config:
On a datapoint-element of type digital, on datapoint-element of type analog
and on a datapoint-element neither nor. In the last case the alert handlingconfig will not watch the datapoint-element itself, instead it can watch the
states of any other alert handling-configs somewhere in the database.
Such an alert handling-config is called group alert. It will summarize the state
of other alert handling-configs, e.g. if one changes to the state alert came
unacknowledged, the group alert will also change to that state....
Such a group alert can be used to indicate that there is something wrong in a
part of the project.

84

Group Alerts Basics (2)

Solution:
Alerts are (always) display in a panel ( = a graphical attribute of an graphicobject is linked via a control-script to the state of an alert handling-config).
Panels can be organized by the means of the panel topology. So the paneltopology can be used to scan all contained panels if there is somewhere a
link to a alert handling-config. They can be summarized by a group alert and
displayed somewhere....

85

Group Alerts Basics (3)




Result:
The wizard for the panel topology is also responsible for setting up group
alerts. Each node (e.g. panel) of the topology containing a sub-node will
receive a group alert responsible for the sub-nodes. As all nodes are
connected to the root node, there will be a cascade of group alerts from
the
bottom
to
the
top
of
the
tree.
As a group alert is a config, it has to be established on a datapoint-element.
Thus there will be a special datapoint for each node of the topology.
As the state of a group alert will be shown on a graphic-object, there will be
special objects in the standard-catalogue to do this. The navigation-buttons
in the templates will do this also. As there is always the button Start
(responsible for the root-node of the topology), there will be at least this
group alert to indicate that there is somewhere on a panel of the topology
a pending alert displayed.

86

Configure AES settings

87

Open AES

88

Control Scripts

What a CTRL script does




Processes changes in the data points

Animates screen objects

Links data points to screen attributes

Creates a user guidance system

Controls system states

90

Control Language


Syntax similar to C

Interpreter

No compiling, no linking

Time- or event-driven

Multithreading (parallel processing)

91

Types of execution
Spontaneous:
Changes in a data-point attribute automatically trigger a CTRL
function.

After user input:


The CTRL script is executed only if started by user. It does not
automatically react to changes in the data-point.

Cyclical:
The script is executed at regular time intervals.

92

main()


Each script has a main() function.

The main() function (normally) does not have a parameter.

The main() function is executed first.

The curled brackets form the


statement-block

main()
{
...
...
}
93

Declaration of Variables
Syntax:
<variable typ> <variable name>;

Examble:
int

x;

variable types:
int

float temperature;

float

bool pump_on;

bool

string user;

string
...

94

Syntax of a Ctrl- Function


Parameters

Definition

function([typ var [, ....]])


Start

{
typ var;

Local variables

...

Instructions of
the function

statements;
....
....

End

95

dpGet() / dpSet()

query / modify a datapointelements


attributes:

dpGet(<DP attribute>, <variable>)


dpSet(<DP attribute>, <value>)
Example:
dpGet("valve1.commands.opening:_online.._value",
opening_value);
dpSet("valve1.commands.opening:_original.._value",
40.5);
96

dpConnect()

To enter a callback function to monitor


changes in values of DP attributes:

dpConnect(<Callback>, <DP attribute>)

Example:
dpConnect("workCB",
"valve1.response.opening:_online.._value");

97

Control Editor: Syntax highlighting

98

You might also like