Editing


Ge contains a number of functions to create objects, modify them, order them etc. The functions
are found in the tool panel or in the menu, and som are activated with mouse clicks.

Create objects

Base objects are created by choosing an object type in the tool panel, and then dragging or
clicking in the working area with MB1. If you press the Shift key while the object type is
chosen, you can create several objects without choosing object type again. A more detailed
description of how to create each object type is found in the chapter Object.

An instance of a subgraph or a complex object, is created by selecting the object in the
subgraph palette an clicking MB1 in the working area.

Create connections

Connections are created by dragging MB2 between two subgraph object that contains connection
points.
First you set the proper connection type from 'Connections' in the menu.

Reset

By clicking with MB3 you reset or terminate most functions: clear the list of selected objects,
end drawing of a polyline, end scaling, end polyline editing.

Select objects

An object or connection that is selected is marked with red color. This is not valid when you
change the color of the selected objects. Then the object is drawn with the new color so that
the effect of the color change can be examined.

Objects are selected in the following ways

- Click on the object with MB1. Previously selected objects are removed from the select list.
If the object already is selected, the select list is cleared.
- Click on the object with Shift MB1. The object is added to the select list. If the object
already is selected it is removed from the select list.
- Drag with MB1. A rectangle is drawn and objects positioned totally inside the rectangle
becomes selected. Previously selected objects are remove from the select list. Note that as
you also move objects with drag MB1, you should not hit any object when starting to drag.
If there is an object covering the background, you can use Shift MB1 instead (se below).
- Drag with Shift MB1. Object inside the rectangle are added to the list of selected objects.
- 'Select all objects' under 'Edit' in the menu selects all objects.
- 'Select all connections' selects all connections.

The list of selected objects is cleared by clicking MB1 in an empty space in the working area
or by clicking MB3 in the working area.

Move objects

An object is moved by MB1. If you want to move several objects simultaneously, you select the
objects. If you now move one of the selected objects the other selected objects will follow.

If you want to move objects vertically or horizontally you first select 'Move Restrictions'
under 'Edit' in the menu. Move Restrictions are reset by MB3.

Cut, copy and paste

You copy objects by selecting the objects that are to be copied, and copy them to the paste
buffer with Ctrl+C. With Ctrl+V the objects are copied to the working area, and follows the
movement of the cursor until you click MB1 to fasten them. Cut works in the same way with
Ctrl+X.

Grid

Grid and grid size are chosen from the tool panel.

Scaling

The scaling function is activated from the tool panel and affects selected objects. The selected
objects are framed by a rectangle. By dragging a corner or side of the rectangle, the selected
objects are scaled. If you drag a side, the scaling is vertical or horizontal, if you drag a
corner the scaling is unlimited. By activating 'Functions/ScaleEqual' you get a conform scaling
in x and y direction.

Rotate

Selected objects are rotated 90 degrees clockwise when the rotate function in the tool panel
is activated. The 90 degrees rotation works för all objects except texts. If you want to
totate with another angle, this is done from 'Edit/Rotate' in the menu. Here you can enter an
arbitrary angle. Note that only lines, polylines and circles can handle arbitrary rotations.
If you want subgraphs to be able to handle arbitrary rotation, you have to build them with
lines and polylines.

Order objects

Vertically

Objects that are placed vertically can be left aligned, right aligned or centered, by using
'Align/vertical' under 'Functions' in the menu. Select the object that are to be aligned and
activate the menu entry.

Horizontally

Objects that are placed horizontally can be aligned regarding the upper side, the lower side or
the center, by using 'Align/horizontal' under 'Functions' in the menu. Select the objects that
is to be aligned and activate the menu entry.

Concentric circles

Concentric circles are achieved by first activating 'Align/vertical/center' and then
'Align/horizontal/center'.

Equal distance between objects

Objects that are placed vertically or horizontally, often should have the same distance between
them. This is achieved by 'Equidistance' under 'Functions' in the menu. The Equidistance
function for horizontal objects, keeps the position of the leftmost and rightmost objects, and
adjusts the position of the objects between, to get the same distance between them. The distance
is measured from the left border, right border or the center. In a similar way vertically objects
are ordered with 'Equidistance/Vertical'.

Over or under

If objects overlap, you can move them over or under with 'Pop' and 'Push' under 'Functions' in
the menu. Pop puts an object on top of all other objects in the graph, and Push puts the object
beneath all other objects. If you want to put an object between two objects, some thinking is
required to activate the pop and push in the correct order.

Colors

Background color

The background color in the graph is set by selecting a suitable fill color in the color
palette, and then activating 'Set background color' under 'Functions' in the menu.

Object colors

Object colors are divided in fill color and border color. The filled part of the objects is
drawn with the fill color and the border is drawn with the border color. Some objects, for
example lines, are only drawn with border colors. The colors are selected in the color palette,
fill color is selected with MB1 and border color with MB2. The currently selected colors are
displayed in rectangles topmost in the palette, fill color to the left and border color in the
middle. When base objects are created, the object are given the currently selected colors in
the palette. If you want to change the color of an existing object, you select it and select a
new fill or border color in the palette. Note that the objects after this operation are not
drawn with red color, though they are selected. For that reason you should always clear the
select list by clicking MB3 after the operation.

Subgraph object colors

You can change the color of a subgraph object in the same way as you change the color of a
base object, by selecting them, and state a border or fill color. Object that is drawn with
shadows and 3D effects might loose these effects if you change the fill color. There are special
functions to change the color of subgraph objects, color tone, lightness, intensity and color
shift. In the chapter Subgraphs this is described in more detail.

Connection to the database

When a subgraph object is to influence or be influenced by a signal in the database, you have
to state this in the attributes of the subgraph. One way is to enter the signal name by hand
in the object editor. Another and smoother way is to use the plant hierarchy that is found
over the navigation window. In the plant hierarch you select the object you want to connect the
subgraph object to, and then you click on the subgraph object with Ctrl/Doubleclick MB1.
If there are two database attributes in the subgraph object, the first is connected in this way,
and the second with Ctrl/Shift/Doubleclick MB1. You can also open the object editor and click
on the attribute row with Ctrl/Doubleclick MB1 to insert the signal. If you are connecting a
signal it is enough to select the object in the plant hierarchy, the attribute ActualValue is
selected automatically. If it is another type of object, you have to state which attribute to
connect to the subgraph object. This is done by opening the object with Doubleclick MB1, and
the select the desired attribute.

You can also select the object in the configurator.

Suffix

To the signal name, a suffix should be added, that tells the type of the attribute. Some
common types are ##Boolean, ##Float32, ##Int32, ##UInt32 and ##String80.

Graph attributes

Under File in the menu you find 'Graph attributes' and here you can enter attributes for the
graph.

Here you state which part of the working area that is to be displayed in runtime. The
coordinates for the upper left corner and lower right corner are measured with the cursor and
entered in x0, y0 and x1, y1 respectively.

Attribute           Description
subgraph         States that the graph is a subgraph. In this case the attributes
        below are not valid.
x0         x-coordinate for the upper left corner of the graph.
y0         y-coordinate for the upper left corner of the graph.
x1         x-coordinate for the lower right corner of the graph.
y1         y-coordinate for the lower right corner of the graph.
Scantime         Cycle time in seconds for update objects that runs with
        the slow cycle.
FastScantime        Cycle time in seconds for update objects that runs with
        the fast cycle.
AnmationScantime    Cycle time in second for animations in the graph.
BackgroundImage     Name of a gif or jpeg image for the background image.
MB3Action         Action for right click in the graph.
Translate         All dynamic and static texts are translated.
BitmapFonts         Bitmap fonts are used instead of scalalbe fonts.
HotIndication       How sensitive objects are marked when they are hot.
TooltipTextsize     Size of text in tooltip.
ColorTheme         Color theme file. '$default' denotes the colortheme
        choosen by the operator.
WindowResize        -
Dashboard         Graph is a dashboard.

Object and hierarchy graphs

This chapter describes how to create Ge graphs that displays the content of an object of a
certain class, and is able to display all object of that class. It also describes how you can
construct common graphs for similar hierarchies in the ProviewR database.

Object graph

For some classes that belongs to ProviewR baseclasses, there are so called object graphs, i.e.
graphs that can be opened for each instance of the class. Object graphs exist for example for
the classes PID, Mode, Av, Ai, Ao, Di, Do and Dv, and is opened with the command
'open graph/instance=' where you in /instance supply the name of the object. You can also open
the object graph by selecting the object and activate 'Functions/Open object graph' in the xtt
menu.

If you have created a user class, you can draw an object graph for this class. You edit the graph
as a normal ge graph. The difference is when you are about to connect the dynamic objects to
database objects. Where you normally write an object name, you instead write '$object'. Data for
an indicator connected to the attribute ActualValue might look like this.

Attribute                               Value
SubGraph                                pwr_indsquare
LowColor.Attribute                       $object.ActualValue##Boolean
LowColor.Color                         Inherit
Cycle                                 Inherit
DynType                                 Inherit
Action                                 Inherit
The graph is saved with the same name as the class, but with lower case.

The command to open the object graph for the object H1-H2-MyObject of class MyClass is

open graph /classgraph /instance=H1-H2-MyObject

Hierarchy graph

Often there are plant parts in a system that are identical and that are configured with nearly
identical hierarchies. You can for example have 30 identical frequency converters, and there
is an possibility to, instead of drawing 30 identical graphs, draw one generic graph that can
display all the frequency converters. The procedure is similar to object graphs above. The
hierarchy that is supplied in /instance in the open graph command when the graph is opened,
will replace all occurrences of $object in dynamic connections in the graph.

Data for an indicator that is connected to the Dv Start can look like this

Attribute                               Value
SubGraph                               pwr_indsquare
LowColor.Attribute                       $object-Start.ActualValue##Boolean
LowColor.Color                         Inherit
Cycle                                 Inherit
DynType                                 Inherit
Action                                 Inherit
Then the picture is opened with the command

open graph my_fo_graph /instance=H1-H2-Fo1.53

the indicator is connected to the attribute H1-H2-Fo1-Start.ActualValue.

Also in commands that is executed by pushbuttons in the graph, the string $object will be
replaced by the hierarchy name. This makes it possible to open object graph or trends of objects
within the hierarchy from pushbuttons. The command to open the object graph for a Mode object
could be

open graph /classgraph /instance=$object-Plc-W-Mode0/name=$object

Example of a command to open a trend from a plotgroup in the hierarchy

open trend $object-Plot