Sie sind auf Seite 1von 98

Reference Manual

ECS OpStation Editor

FLSmidth A/S - Automation


Hffdingsvej 34
DK-2500 Valby
Copenhagen
Denmark
+45 36 18 27 00
Fax: +45 36 18 27 99
Printing History:
Version
Last modified
Author
Last modified by
Name of Word File

SdrV7
$Modtime:: 3/06/06 12:40p
cna-in
$Author:: Cna-in
$Workfile:: SdrGmsDrawUI30_English.doc

$
$
$

All rights reserved.

Disclaimer:
The information in this document is subject to change without notice and should not be construed as a commitment
by FLSmidth A/S. FLSmidth assumes no responsibility for any errors that may appear in this document.
In no event shall FLSmidth be liable for direct, indirect, special, incidental or consequential damages of any nature
or kind arising from the use of this document, nor shall FLSmidth be liable for incidental or consequential damages
arising from use of any software or hardware described in this document.
Options specified and described in the FLSmidth documentation as part of the general description - but initially
neither ordered by the customer nor confirmed by the seller - will not commit the supplier to any further and future
supply and/or installation.
The software described in this document is furnished under a license and may be used, copied, or disclosed only in
accordance with the terms of such license.
Copyright FLSmidth A/S.

Contents
ECS OpStation Editor
Introduction
ECS OpStation Editor Reference Manual
SL-GMS Draw User's Guide
Picture Directories
Directory Structure
Picture Files
Picture Location
New Picture
Default Settings
Model Owner
Open Picture
Palettes
Classic Dynamics
Assigning Object Owner
PointVal Object
PointValEnt Object
Color Symbol Objects
Changing Symbol Objects
Filling Symbol Objects
Trend Object
Buttons
Picture Select Button
Picture Popup Button
Picture Popup Floating Button
Faceplate Popup Button
Bit Control Button
Bit Set Button
Bit Pulse Button
Bit Toggle Button
Bit Toggle Check
Mode Control Button
Percent Change Button
Sdr Trend Button
Start Process Button
Toolbar buttons
General action buttons
Using OpenGMS Dynamics
Renaming Variables
Fonts
PointNo Variable
PntCode Object
PntCodeVis Object

1
1
1
2
2
2
3
3
3
3
3
4
5
6
6
6
7
7
8
9
10
11
11
12
12
13
13
14
14
15
16
16
17
17
18
18
18
19
19
20
21
21
21

PntText Object
PntVal Object
PntValText Object
PntValEnt Object
PntMSWInt Object
PntMSWHex Object
PntMSWBit Object
PntMSWBitText Object
PntThermoVer Object
PntThermoDev Object
PntThermoSca Object
PntSlider Object
PlcVal Object
PlcValEnt Object
PlcInt Object
PlcIntEnt Object
PlcParName Object
LangText Object
AbbreviationText Object
FlsDateTime Object
Generic route property text object
Generic group property text object
Generic department property text object
Generic point property text object
Creating OpenGMS Dynamics
GMS Dynamic Properties
OpenGMS Functions
Information Functions
Trend Functions
Action functions
Animation
Making Dynamics in Editor
PntFloat Example
Faceplates
Creating Faceplates
Assigning Faceplates
PIDFace Example
Bitmaps
Active X control support
Converting Pictures From VMS

iv Contents

22
22
23
23
23
24
24
25
25
26
26
27
27
28
28
29
29
30
30
31
31
32
32
33
33
33
36
37
56
59
75
78
83
86
86
86
87
88
89
89

Glossary of Terms

91

Index

93

Reference Manual ECS OpStation Editor

ECS OpStation Editor

Introduction
The ECS OpStation Editor is the tool for creation and modification of graphical mimic pictures for display by the
ECS OpStation application. These pictures are also called models. The graphical system employed is GMS by SL.

Figure 1 - OpStation Editor

ECS OpStation Editor Reference Manual


This document is a supplement to the SL-GMS DRAW USER'S GUIDE. In the present manual special functions for
OpStation pictures, such as linking SDR database points to dynamic graphical objects, are described.
The manual is available as a word document for reading and printout in following directory:
FLSADev\Help\Sdr\Ref\SdrGmsDrawUI30\English\SdrGmsDrawUI30_English.doc

SL-GMS Draw User's Guide


The original User's Guide supplied by SL describes the fundamentals of the editor.
This manual is available as an Adobe Acrobat Reader document for reading and printout in the following directory:
FLSADev\Help\Sdr\Ref\SdrGmsDrawUI30\English\GmsDraw.pdf
To access the file (by double click) you must first install the acrobat reader as follows:

Double click FLSADev\ToolsNT\Acroread\Setup.exe

FLSADev\ToolsNt\Acroread

Follow installation procedure and choose destination directory

Picture Directories
Directory Structure
FlsaGmsPic is the name of the share directory for OpStation pictures.
This directory is born with the following subdirectories.
.\Faceplates for library of popup pictures called faceplates.
.\Demo demo picture.
.\SdrTestOps test pictures.
.\Submods for library of static ready made sub models that may be used in pictures.
.\Gismos for library of dynamic objects (gismos) that may be used in pictures.
.\Palettes for library of pictures with sub models and gismos to use in picture editing.
.\Bitmaps for bitmaps used in pictures, sub models, and gismos.
The files in these subdirectories are delivered with the system, the directories should not be used by the endusers to
store any picture files.
Installed subsystems can have there own directories.
.\<SubSystemName>
.\<SubSystemName>\Faceplates
.\<SubSystemName>\Demo
.\<SubSystemName>\Test
.\<SubSystemName>\Submods
.\<SubSystemName>\Gismos
.\<SubSystemName>\Palettes
The picture files in these directories are delivered with the subsystem and these directories should not be used by the
enduser either.

2 Glossary of Terms

Reference Manual ECS OpStation Editor

The enduser can make directories for models, gismos, submodels, faceplates, and bitmaps. This is done in ECS
Opstation Configuration. Or the enduser can place picture files directly under main directory. Only recommended for
opgrades where new pictures are rarely made.
The directories are located on the ECS server.

Reference Manual ECS OpStation Editor

Glossary of Terms 3

Picture Files
Pictures are stored in two files:
Picture_name.g is a source file in ASCII format. Can be read by a text editor. This file is useful if you have to
move pictures from one platform to another (e. g. NT and VMS).
Picture_name.m1 is a binary file. It is the file used by the application to display the picture.
There is a utility SDR_Setup_Tools->GMS Conversion for converting .g files to .m1 files and vice versa.
You normally do not have to bother with this as the editor always automatically will save both files.
Subsystems will normally prefix there pictures with the subsystem name.

Picture Location
In a distributed system the ECS OpStation Editor runs on the local machine. However, pictures are loaded from and
saved to the Server (MOP) partner. In this way changes apply globally in the system. The OpStation application will
make sure that the newest version on the Server will be copied and displayed on the local machine.

New Picture
Default Settings
A new picture will have the following default settings:
Model width 100
Model height 75
Background enabled
Background color 31 (Flsa_Background_Color)
This can be changed from menu Model->Properties.
Note that pictures displayed in the same window should have the same size. Pictures displayed in separate window,
like faceplates, need not.

Model Owner
Each main picture may be assigned a department. When a picture is selected in the OpStation application, the
department of the picture becomes the selected department and the name is displayed in the status bar pane. The
assignment of a department to a picture is done as follows.

Select Model->Owner from the menu.

Select a department from the box shown below.

Figure 2 - Owner model box

4 Glossary of Terms

Reference Manual ECS OpStation Editor

Open Picture
When a picture is open the open picture dialog is displayed.

The open picture maps the directories of the server into to a logical structure.
The models and gismos delivered by FLSA can be found in the folder FLSA and a given sub folder.
If there has been defined directories for Models, Faceplates etc. these will be displayed under Models, Faceplates etc
directly. If no directories have been defined, the user should place the models in the root folder.
Opstation editor

ECS server

The mapping between the open and save dialog and the physical structure on the ECS server for the directories
delivered with opstation. (Here shown with no directory configuration) Note that the bitmap directory is not seen in
Open od Save diaolog box, because it does not contain OpStation picture files.
Opstation Editor

Opstation Configuration

ECS Server

The end user directories is mapped through the opstation configuration in the way illustrated on picture.

Reference Manual ECS OpStation Editor

Glossary of Terms 5

If a subsystem is delivered (E.g. Acesys) the mapping will be as follows.


Opstation editor

ECS server

Normally a subsystem will not be delivered with all directories. If a directory is not delivired it will not appear in the
open/save dialog box.
Known subsystems are Acesys, CPS, Fuz, Qcx.

Palettes
A number of palette pictures offer predesigned sub models and gismos to use in pictures. A palette, gismos, and
submodels is selected by clicking on the menu Palette->Palette/Submodel/Gismos..... . The following window
will appear

Expanding the any of the folders Submod, Gismos, or Palettes in this window, will list a subfolder for each
subsystem that provides files, the local defined files (Local), and the files provided by the default installation
(FLSA). Clicking on the subfolder, the available Palettes, Gismos, or Submodels in that folder will be listed.
Selecting a palette will make the palette appear as a picture in a separate window. An object is selected from palette
by:

Click on object in palette

Click on position in your work area to place object

Right click and done finishes the action

Gismos and submodels can be selectected directly by clicking on a filename one of the subfolders under Gismos or
SubModels. After the selection

6 Glossary of Terms

Click on position in your work area to place object

Reference Manual ECS OpStation Editor

Right click and done finishes the action

Classic Dynamics
Classic dynamics is the easiest and most efficient form of dynamic objects to use. However it has some limitations.
For advanced dynamics you should use OpenGMS dynamics as described later. Classic dynamics is used in the
main mimic pictures wherever the needs are sufficient. OpenGMS dynamics is especially used on faceplates.

Assigning Object Owner


The basic way of making objects dynamic is by assigning an owner to the object. The owner is a database point that
will control the dynamic behavior. The owner is assigned as follows:

Right click the selected object

Select Owner object

Fill in the owner box

Dynamics created in this way (by menu item Owner object) is called classic dynamics.
Palettes Flsa_symbols_dynamic, flsa_symbols_dynamic1 contain objects prepared for classic dynamics.
In the following frequently used classic objects are described.

PointVal Object
This object displays an analog value. Value, color and blink are dynamically updated according to the owner point.
The format of the value and the unit is as defined for the owner point in the database.

Figure 3 - Gismo PointVal


The owner is assigned as follows:

Right click the selected object

Select Owner

Fill in the owner box

Figure 4 - Owner box for PointVal


Pointcode may be typed in directly, or better, may be copied from the point list using the toolbar buttons.

Reference Manual ECS OpStation Editor

Glossary of Terms 7

Faceplate is used to assign a faceplate to the object. The name of the faceplate is selected from the dropdown list.
Note that all objects by default are assigned the faceplate associated the point algorithm. However, this may be
overruled by assigning a faceplate in the owner box.

PointValEnt Object
Similar to PointVal but allows data entry.

Figure 5 - Gismo PointValEnt

Color Symbol Objects


These are objects where color and blink are dynamically updated according to the owner point. The object may be a
symbol representing a fan, a pump, an interlocking or other device as found on palette flsa_symbols_dynamic, but it
may also be any directly drawn primitive or grouped symbol or sub model created by user.

Figure 6 - Fan color symbol


The owner is assigned as follows:

Right click the selected object

Select Owner

Fill in the owner box

Figure 7 - Owner box for Color symbols


Pointcode is typed in or copied from point list via toolbar buttons.
Color symbol is selected as dynamic behavior

8 Glossary of Terms

Reference Manual ECS OpStation Editor

Edge-, Text-, Fill-color (one or more) is selected as the color attribute to control
Faceplate is selected if special faceplate shall overrule default as assigned the point algorithm.
The disabled option FUS item is not used but kept for backwards compatibility. It is only relevant for old pictures
from VMS platform to inspect how the setting was.

Changing Symbol Objects


These are objects whose shape and color may change dynamically according to the value of the owner point. The
owner must be a B-point.
Examples of changing symbols are flsa_dividing_gate and flsa_louvre_damper found on palette
flsa_symbols_dynamic1

Figure 8 - flsa_dividing_gate two-layer symbol unfolded

Figure 9 - flsa_louvre_damper two-layer symbol unfolded


Changing symbols are made of several layers (sub models) on top of each other but of the same size. Only one layer
is visible at a time. There may be up to 8 layers in a changing symbol. The above shown examples have two layers.
Which layer is visible is controlled by the B-point owner of the symbol. The B-point algorithm has a definition of
the MSW interpretation for the point (see B-point Algorithm Editor) where a symbol offset is defined (0 .. 7) for
each MSW value. This symbol offset defines which symbol layer should be visible for the corresponding MSW
value.
The user may define own changing symbols.
The owner is assigned as follows:

Right click the selected object

Select Owner

Fill in the owner box

Reference Manual ECS OpStation Editor

Glossary of Terms 9

Figure 10 - Owner box for Changing symbols


Pointcode is typed in or copied from point list via toolbar buttons.
Changing symbol is selected as dynamic behavior
Edge-, Text-, Fill-color (one or more) may be selected if additional color control is needed.
Faceplate is selected if special faceplate shall overrule default as allocated the point algorithm.

Filling Symbol Objects


These are objects whose filling and color may change dynamically according to the value of the owner point. The
owner must be an A-point. The current filling will be a percentage calculated from the graphical limits and the actual
value of the point.
Examples of filling symbols are thermometers and tanks. The user may define own filling symbols.

Figure 11 - Tank filling symbol


The owner is assigned as follows:

Right click the selected object

Select Owner

Fill in the owner box

10 Glossary of Terms

Reference Manual ECS OpStation Editor

Figure 12 - Owner box for Filling symbols


Pointcode is typed in or copied from point list via toolbar buttons.
Filling symbol is selected as dynamic behavior
Fill-, Edge-color (one or more) may be selected if additional color control is needed.
Faceplate is selected if special faceplate shall overrule default as allocated the point algorithm.

Trend Object
This object displays up to 4 trend curves as real time trends, i.e. when set up the 3/4 of the area displays the most
recent historical trends. The curves are then dynamically updated with real time values to the right. When right
border is reached curves are scrolled left 1/4.

Figure 13 - Trend object


A trend object has up to 4 owner points, one for each trend curve. The owners are assigned as follows:
The owner is assigned as follows:

Right click the selected object

Select Owner

Fill in the owner box

Reference Manual ECS OpStation Editor

Glossary of Terms 11

Figure 14 -Owner box


Pointcodes are typed in or copied from point list via toolbar buttons.
Horizon is the time span on x-axis
Update period is the frequency of updating the trend with real time data

12 Glossary of Terms

Reference Manual ECS OpStation Editor

Buttons
Buttons are objects where the dynamic behavior is activated by clicking on the button with the mouse.
A number of buttons are available for various purposes. These are found on palette flsa_buttons.
The parameters for a button instance are specified as follows by Rename variables.

Right click the selected object

Select Rename Variables

Fill in the Value part of the Rename variables box

Remember that text values should be in quotes.

Remember that backslash (\) is and escape character meaning that a


to get a backslash write two backslashes.

New line would be \n.

Figure 15 - Rename variables box for fls_m_scrn button


The Name - Value list depends on the object. The user has to supply actual values for the named variables.
Get point as is only relevant as an aid when point information is needed.
Get Color may be used to select a color code from a color palette.
In the following the most frequently used buttons will be described.

Picture Select Button


The button fls_m_scrn is used to set up a new mimic picture in the same window.

Figure 16 - Button fls_m_scrn


Parameters are set by:

Right click the selected button

Select Rename Variables

Reference Manual ECS OpStation Editor

Glossary of Terms 13

Fill in the Value part of the Rename variables box

Button_label Text (in double quotes) on the button face.


Fillcol Color code for the button face
Model_name Filename (in double quotes, without extension) of the picture to set up.

Picture Popup Button


The button fls_m_popup is used to set up a mimic picture in a popup window. The popup window will be contained
within the main window.

Figure 17 - Button fls_m_popup


Parameters are set by:

Right click the selected button

Select Rename Variables

Fill in the Value part of the Rename variables box

Button_label Text (in double quotes) on the button face.


Fillcol Color code for the button face
Model_name Filename (in double quotes, without extension) of the picture to set up.

Picture Popup Floating Button


The button fls_m_newwindow is used to set up a mimic picture in a new popup window. The popup window will be
a free-floating window independent of the main window.

Figure 18 - Button fls_m_newwindow


Parameters are set by:

Right click the selected button

Select Rename Variables

Fill in the Value part of the Rename variables box

Button_label Text (in double quotes) on the button face.


Fillcol Color code for the button face
Model_name Filename (in double quotes, without extension) of the picture to set up.

14 Glossary of Terms

Reference Manual ECS OpStation Editor

Faceplate Popup Button


The button fls_m_facepopup is used to set up a faceplate. This is used in special cases only. Normally a faceplate is
set up by right click on a point object.

Figure 19 - Button fls_m_facepopup


Parameters are set by:

Right click the selected button

Select Rename Variables

Fill in the Value part of the Rename variables box

Button_label Text (in double quotes) on the button face.


FacePlateName Name of the faceplate (in double quotes)
Fillcol Color code for the button face
PointNo Point number of faceplate owner. Set Get point as Point number and use toolbar buttons to get a point.

Bit Control Button


The button fls_m_bitcontrol is used to send a bit set or bit clear output command to a point in a Plc.

Figure 20 - Button fls_m_bitcontrol


Parameters are set by:

Right click the selected button

Select Rename Variables

Fill in the Value part of the Rename variables box

BitNo Number of bit (0 .. 15) to control


BitVal Value to send (0 = clear, 1 = set)
Button_label Text (in double quotes) on the button face.
Confirm 1 = confirmation box on output, 0 = no confirmation
EventText Text (in double quotes) for the generated event line. At most 24 characters.
Extent_height Height of button (e.g. 4)
Extent_width Width of button (e.g. 8)
Font True type font. Use 1 .. 13
PointNo Point number of output point

Reference Manual ECS OpStation Editor

Glossary of Terms 15

Bit Set Button


The button fls_m_bitset is used to send a bit set or bit clear output command to a point in a Plc.
The function is the same as the bit control button but the appearance is different. While fls_m_bitcontrol is a
pushbutton, fls_m_bitset is a mode button i.e. it will appear in the pressed-in state if a configurable InBit has value 1.

Figure 21 - Button fls_m_bitset


Parameters are set by:

Right click the selected button

Select Rename Variables

Fill in the Value part of the Rename variables box

OutBitNo Number of bit (0 .. 15) to control


OutBitVal Value to send (0 = clear, 1 = set)
InBitNo Number of MSW bit to control appearance (value 0 = out, value 1 = in)
Button_label Text (in double quotes) on the button face.
Button_label_color Text color of the label
Confirm 1 = confirmation box on output, 0 = no confirmation
EventText Text (in double quotes) for the generated event line. At most 24 characters.
Extent_height Height of button (e.g. 4)
Extent_width Width of button (e.g. 8)
Font True type font. Use 1 .. 13
PointNo Point number of output point

Bit Pulse Button


The button fls_m_bitpulse is used to send a pulsed bit command to a point in a Plc. Upon button click the value 1 is
sent out and when the corresponding MSW read bit is 1 the value 0 is sent out.

Figure 22 - Button fls_m_bitpulse


Parameters are set by:

Right click the selected button

Select Rename Variables

Fill in the Value part of the Rename variables box

Button_label Text (in double quotes) on the button face.


Confirm 1 = confirmation box on output, 0 = no confirmation
EventText1 Text (in double quotes) for the generated event line for control 1. At most 24 characters.
EventText0 Text (in double quotes) for the generated event line for control 0. At most 24 characters.

16 Glossary of Terms

Reference Manual ECS OpStation Editor

OutBitNo Number of bit (0 .. 15) to control


InBitNo Number of bit (0 .. 15) to check for 1-state before sending 0.
Extent_height Height of button (e.g. 4)
Extent_width Width of button (e.g. 8)
Font True type font. Use 1 .. 13
PointNo Point number of output point
Note: The timeout for the value 1 to be read back from MSW is 15 seconds
Another button fls_m_bitpulse1 has a configurable timeout value TimeOutSecs set by rename variables.

Bit Toggle Button


The button fls_m_bittoggle is used to change a bit to its opposite value i.e. if bit is set send a bit clear output
command and if bit is cleared send a bit set output command.
The toggle button is a mode button i.e. the appearance is controlled by the current value of an InBit of the MSW. If
the bit is set, the button shows pressed-in, if the bit is cleared, the button shows pressed-out.

Figure 23 - Button fls_m_bittoggle


Parameters are set by:

Right click the selected button

Select Rename Variables

Fill in the Value part of the Rename variables box

Button_label Text (in double quotes) on the button face.


Button_label_color Text color of button label.
Confirm 1 = confirmation box on output, 0 = no confirmation
EventText Text (in double quotes) for the generated event line. At most 24 characters.
OutBitNo Number of bit (0 .. 15) to control
InBitNo Number of bit (0 .. 15) to control button appearance
Extent_height Height of button (e.g. 4)
Extent_width Width of button (e.g. 8)
Font True type font. Use 1 .. 13
PointNo Point number of output point

Reference Manual ECS OpStation Editor

Glossary of Terms 17

Bit Toggle Check


The gismo fls_m_bitcheck has the same function as fls_m_bittoggle, but displays a checkmark if the InBit is set and
blank if cleared. Click in the gismo toggles the OutBit value.

Figure 24 - gismo fls_m_bitcheck


Parameters are set by:

Right click the selected button

Select Rename Variables

Fill in the Value part of the Rename variables box

CheckBackColor Background color of the gismo.


CheckColor Color of the checkmark.
Confirm 1 = confirmation box on output, 0 = no confirmation
EventText Text (in double quotes) for the generated event line. At most 24 characters.
OutBitNo Number of bit (0 .. 15) to control
InBitNo Number of bit (0 .. 15) to control gismo appearance
Font True type font. Use 1 .. 13
PointNo Point number of output point

Mode Control Button


The button fls_m_mode_diamon is used to change the mode of a PID controller, but behaves in the same way as the
Bit Control button. It can be used to send a bit set or bit clear command to any point the Plc.

Figure 25 - Button fls_m_mode_diamon


Parameters are set by:

Right click the selected button

Select Rename Variables

Fill in the Value part of the Rename variables box

BitNo Number of bit (0 .. 15) to control


BitVal Value to send (0 = clear, 1 = set)
Confirm 1 = confirmation box on output, 0 = no confirmation
Edge_width width of the button edge (1 .. 5)
EventText Text (in double quotes) for the generated event line. At most 24 characters.
PointNo Point number of mode point

18 Glossary of Terms

Reference Manual ECS OpStation Editor

Percent Change Button


The buttons fls_m_percent_up, fls_m_percent_upsmall, fls_m_percent_down, fls_m_percent_downsmall are used
for percent wise change of an analog value. The buttons behave in a special way when applied to a set point because
the change will affect the output point related to the set point if the mode related to the set point is manual.

Figure 26 - Buttons fls_m_percent_up and fls_m_percent_down


Parameters are set by:

Right click the selected button

Select Rename Variables

Fill in the Value part of the Rename variables box

Button_label text (in double quotes) associated the button.


Confirm 1 = confirmation box on output, 0 = no confirmation
Edge_width width of the button edge (1 .. 5)
ManModeMaskBits mask bits of MSW for manual mode given as an integer (may be hex). e.g. 10 (or 0x000a)
means bit 1 and bit 3 defines manual mode. Defines the bits that must be tested to determine manual mode.
ManModeValueBits value bits of MSW for manual mode given as integer (may be hex). Defines the values of the
bits given by the mask that determines manual mode. e.g. 2 (or 0x0002) means that with the above mask given
manual mode is defined as bit 1 = 2 and bit 3 = 0.
PercentChange percentage of the points system range to raise or lower the current value
PointNo Point number of controlling point
Text_align_x horizontal alignment of button label. 1 = left, 2 = mid, 3 = right
Text_height height of button label (e.g. 2.0)

Sdr Trend Button


The button fls_m_sdrtrend is used to activate the Sdr Trend application with a specific trend package.

Figure 27 - Button fls_m_sdrtrend


Parameters are set by:

Right click the selected button

Select Rename Variables

Fill in the Value part of the Rename variables box

Button_label text (in double quotes) associated the button.


Extent_height Height of button (e.g. 4)
Extent_width Width of button (e.g. 8)
Font True type font. Use 1 .. 13
TrendPackNo Trend pack number to display

Reference Manual ECS OpStation Editor

Glossary of Terms 19

Start Process Button


The button fls_m_startprocess is used to start any external application with specified parameters. For example you
may start Excel with a specific spreadsheet.

Figure 28 - Button fls_m_startprocess

Parameters are set by:

Right click the selected button

Select Rename Variables

Fill in the Value part of the Rename variables box

Button_label text (in double quotes) associated the button.


Confirm 1 = confirmation box, 0 = no confirmation
Extent_height Height of button (e.g. 4)
Extent_width Width of button (e.g. 8)
Font True type font. Use 1 .. 13
ProgramFile Name of the application file (.exe) to start (in double quotes). If not in standard path, include full
path. Remember that \ is and escape character. e.g. To Start excel: C:\\Program Files\\Microsoft
Office\\Office\\EXCEL.EXE
ParamTexti i = 1..5 Name of the i-th parameter to pass to the application (in double quotes). Leave blank if not
applicable.

Toolbar buttons
All toolbar buttons in OpStation is available in the toolbar palette, and can be added to any picture. They work
exactly the same way as the OpStation toolbar buttons.

General action buttons


The button flsa_call is used to make a generic call to any action function in OpStation except for the edit functions.
The action functions should be called with Ignore = 0.

Button_label text (in double quotes) associated the button.


Button_state should not be renamed
Edge_width width of the button edge (1 .. 5)
flsfunction one of the action function with all parameters.
Text_align_x horizontal alignment of button label. 1 = left, 2 = mid, 3 = right
Text_height height of button label (e.g. 2.0)

20 Glossary of Terms

Reference Manual ECS OpStation Editor

The button flsa_twocalls makes one call to any action function on mouse press and another call to any action
function on mouse release if the first call does not put another application on top of the button.

Button_label text (in double quotes) associated the button.


Button_state should not be renamed
Edge_width width of the button edge (1 .. 5)
Text_align_x horizontal alignment of button label. 1 = left, 2 = mid, 3 = right
Text_height height of button label (e.g. 2.0)
PressCall one of the action functions with all parameters to be called on mouse press.
ReleaseCall one of the action functions with all parameters to be called on mouse release.

Using OpenGMS Dynamics


OpenGMS dynamics is a supplement to classic dynamics, providing enhanced flexibility. You can make your own
special objects referencing all kinds of attributes in the database. Further you can make use of the graphical features
offered by GMS, which are not available in classic dynamics.
A number of OpenGMS objects have been made. The use of these is described in the following. The classic dynamic
objects also exist in an OpenGMS version with enhanced flexibility.
You should use OpenGMS objects when:

Classic dynamics does not fulfill your needs

Making faceplates (see section Faceplates)

Palettes opengms_dynamic_1, opengms_dynamic_2 and plc_parameter_dynamic contain objects made with


OpenGMS.

Renaming Variables
After instantiating an OpenGMS object in a picture, parameters are specified as follows by rename variables.

Right click the selected object

Select Rename Variables

Fill in the Value part of the Rename variables box

As an example the rename variables box for the PntVal object (used to display a point value) is shown below.

Reference Manual ECS OpStation Editor

Glossary of Terms 21

Figure 29 - Rename variables box


AlignX Horizontal alignment of value in the box. 1 = left, 2 = mid, 3 = right
FillColor Fill color of the box. Color given as GMS color index. Use Special Color Get to select the color from a
palette.
Font Text font as GMS True Type font index. 1 .. 13
PointNo Point number of the controlling point.

Fonts
The fonts available are the following true type fonts:
Font index

Font Description

Arial

Courier New-Bold

Courier New

Times New Roman

Courier New-Italic

Times New Roman-Bold

Arial-Bold

Arial-Italic

Times New Roman-Bold-Italic

10

Times New Roman-Italic

11

Arial-Bold-Italic

12

Courier New-Bold-Italic

13

Symbol

22 Glossary of Terms

Reference Manual ECS OpStation Editor

PointNo Variable
As for above example all OpenGMS objects will have a variable PointNo.
If the object is part of a faceplate the PointNo is entered as $ (dollar sign) which means that the actual pointno will
refer to the point selected when the faceplate is activated.
If the object is part of a normal mimic picture PointNo is the point number of the controlling point. As the user
knows only point codes and not point numbers, a conversion function must be used. This function
pointno("<pointcode>") converts a point code to a point number. Instead of entering e.g. pointno("J4P12") as plain
text you may set Get point as Point number and then use the toolbar buttons to get a point code from the point
list. The point will then automatically be entered as pointno("<pointcode>").
The use of Special Point related Get and Special PLC related Get is explained in section "Creating
OpenGMS Dynamics"
The following describes the ready-made OpenGMS objects.

PntCode Object
This object displays the point code for a point.

Figure 30 - Gismo PntCode


Variables to rename:
AlignX Horizontal alignment of value in the box. 1 = left, 2 = mid, 3 = right
FillColor Fill color of the box. Color given as GMS color index. Use Special Color Get to select the color from a
palette.
EdgeColor Edge color of the box given as GMS color index.
TextColor Text color of the box given as GMS color index.
Font Text font as GMS True Type font index. 1 .. 13
PointNo Point number of the controlling point.

PntCodeVis Object
This object displays the point code for a point with visibility control. If a controlling B-point is set, the point code
will be visible, if cleared the point code will be invisible.
A picture may thus have hidden point codes, which becomes visible when a toggle button in the picture is pushed to
set the controlling B-point value.

Figure 31 - Gismo PntCodeVis


Variables to rename:
AlignX Horizontal alignment of value in the box. 1 = left, 2 = mid, 3 = right
BackColor Color of the background when point code is invisible.
ControlBitNo Bit number of the controlling B-point for visibility check.
ControlPointNo Point number of controlling B-point.

Reference Manual ECS OpStation Editor

Glossary of Terms 23

FillColor Fill color of the box. Color given as GMS color index. Use Special Color Get to select the color from a
palette.
EdgeColor Edge color of the box given as GMS color index.
TextColor Text color of the box given as GMS color index
Font Text font as GMS True Type font index. 1 .. 13
PointNo Point number of the point.

PntText Object
This object displays the point text of a point.

Figure 32 - Gismo PntText


Variables to rename:
AlignX Horizontal alignment of value in the box. 1 = left, 2 = mid, 3 = right
FillColor Fill color of the box. Color given as GMS color index. Use Special Color Get to select the color from a
palette.
EdgeColor Edge color of the box given as GMS color index.
TextColor Text color of the box given as GMS color index.
Font Text font as GMS True Type font index. 1 .. 13
PointNo Point number of the controlling point.

PntVal Object
This object displays the point value for an A-point. Value, color and blink are dynamically updated according to the
controlling point. The format of the value and the unit is as defined for the point in the database. The object is
selectable, i.e. click on object will behave as for classic object PointVal.

Figure 33 - Gismo PntVal


Variables to rename:
AlignX Horizontal alignment of value in the box. 1 = left, 2 = mid, 3 = right
FillColor Fill color of the box. Color given as GMS color index. Use Special Color Get to select the color from a
palette.
Font Text font as GMS True Type font index. 1 .. 13
PointNo Point number of the controlling point.

24 Glossary of Terms

Reference Manual ECS OpStation Editor

PntValText Object
This object displays the point value text for a B-point (e.g. "run", "stop"). Value, color and blink are dynamically
updated according to the controlling point. The object is selectable, i.e. click on object will behave as for classic
object PointVal.

Figure 34 - Gismo PntValText


Variables to rename:
AlignX Horizontal alignment of value in the box. 1 = left, 2 = mid, 3 = right
FillColor Fill color of the box. Color given as GMS color index. Use Special Color Get to select the color from a
palette.
Font Text font as GMS True Type font index. 1 .. 13
PointNo Point number of the controlling point.

PntValEnt Object
This object displays the point value of an A-point. Similar to PntVal but allows data entry by left click on point.

Figure 35 - Gismo PntValEnt


Variables to rename:
AlignX Horizontal alignment of value in the box. 1 = left, 2 = mid, 3 = right
FillColor Fill color of the box. Color given as GMS color index. Use Special Color Get to select the color from a
palette.
Font Text font as GMS True Type font index. 1 .. 13
PointNo Point number of the controlling point.

PntMSWInt Object
This object displays the machine status word (MSW) for a B-point. The 16-bit value is displayed as an integer.

Figure 36 - Gismo PntMSWInt


Variables to rename:
AlignX Horizontal alignment of value in the box. 1 = left, 2 = mid, 3 = right
FillColor Fill color of the box. Color given as GMS color index. Use Special Color Get to select the color from a
palette.
EdgeColor Edge color of the box given as GMS color index.
TextColor Text color of the box given as GMS color index.
Font Text font as GMS True Type font index. 1 .. 13
PointNo Point number of the controlling point.

Reference Manual ECS OpStation Editor

Glossary of Terms 25

PntMSWHex Object
This object displays the machine status word (MSW) for a B-point. The 16-bit value is displayed as a hexadecimal
integer.

Figure 37 - Gismo PntMSWHex


Variables to rename:
AlignX Horizontal alignment of value in the box. 1 = left, 2 = mid, 3 = right
FillColor Fill color of the box. Color given as GMS color index. Use Special Color Get to select the color from a
palette.
EdgeColor Edge color of the box given as GMS color index.
TextColor Text color of the box given as GMS color index.
Font Text font as GMS True Type font index. 1 .. 13
PointNo Point number of the controlling point.

PntMSWBit Object
This object displays the value of a single bit of the machine status word (MSW) for a B-point. The value is displayed
as 0 or 1.

Figure 38 - Gismo PntMSWBit


Variables to rename:
AlignX Horizontal alignment of value in the box. 1 = left, 2 = mid, 3 = right
BitNo Number of bit in MSW to display. 0 .. 15
FillColor Fill color of the box. Color given as GMS color index. Use Special Color Get to select the color from a
palette.
EdgeColor Edge color of the box given as GMS color index.
TextColor Text color of the box given as GMS color index.
Font Text font as GMS True Type font index. 1 .. 13
PointNo Point number of the controlling point.

26 Glossary of Terms

Reference Manual ECS OpStation Editor

PntMSWBitText Object
This object displays the value of a single bit of the machine status word (MSW) for a B-point. The value is displayed
as text.

Figure 39 - PntMSWBitText
Variables to rename:
AlignX Horizontal alignment of value in the box. 1 = left, 2 = mid, 3 = right
BitNo Number of bit in MSW to display. 0 .. 15
FillColor Fill color of the box. Color given as GMS color index. Use Special Color Get to select the color from a
palette.
EdgeColor Edge color of the box given as GMS color index.
TextColor Text color of the box given as GMS color index.
Font Text font as GMS True Type font index. 1 .. 13
PointNo Point number of the controlling point.
TextColor0 Color text for value 0 given as GMS color index
TextColor1 Color text for value 1 given as GMS color index
ValueText0 Text for value 0
ValueText1 Text for value 1

PntThermoVer Object
This object displays the value of an A-point as a percentage fill of a vertical thermometer. The fill percent is
calculated from the actual value and the operator graphical limits. Red lines mark the high- and low alarm limits. A
green line marks the normal value. The fill color and blink is that of the controlling point. The thermometer is
dynamically updated.

Figure 40 - Gismo PntThermoVer


Variables to rename:
PointNo Point number of the controlling point.

Reference Manual ECS OpStation Editor

Glossary of Terms 27

PntThermoDev Object
This object displays the value of an A-point as a percentage fill of a deviation thermometer. A green line in center
marks the normal value. Plus- and minus deviation from normal value is displayed as percentage fill. Behavior is as
for PntThermoVer.

Figure 41 - Gismo PntThermoDev


Variables to rename:
PointNo Point number of the controlling point.

PntThermoSca Object
This object displays the value of an A-point as a percentage fill of a thermometer. The Thermometer is equipped with
a scale indicating high- medium- and low- limits. Limits are operator graphical limits. Behavior is as for
PntThermoVer.

Figure 42 - Gismo PntThermoSca


Variables to rename:
PointNo Point number of the controlling point.

28 Glossary of Terms

Reference Manual ECS OpStation Editor

PntSlider Object
This object displays the value of an A-point as a percentage fill of a thermometer. The behavior is as for
PntThermoVer, but this object also permits data entry by dragging the slider knob. A small window displays the
actual numerical value while dragging. Upon release of the slider knob the new value is sent out to the IO system.

Figure 43 - Gismo PntSlider


Variables to rename:
Confirm 1 = confirmation box on output, 0 = no confirmation
PointNo Point number of the controlling point.

PlcVal Object
This object displays a PLC-parameter value with unit. Plc parameters are located in a parameter block associated a
point address in the PLC. The parameters are described according to a block algorithm. The format of the value and
the unit is as defined in the block algorithm associated the parameter.

Figure 44 - Gismo PlcVal


Variables to rename:
AlignX Horizontal alignment of value in the box. 1 = left, 2 = mid, 3 = right
FillColor Fill color of the box. Color given as GMS color index. Use Special Color Get to select the color from a
palette.
Font Text font as GMS True Type font index. 1 .. 13
ParameterKey Text string (in double quotes) identifying the PLC parameter in the block algorithm.
PointNo Point number of the controlling point.
TextColor Text color given as GMS color index.

Reference Manual ECS OpStation Editor

Glossary of Terms 29

PlcValEnt Object
This object displays a PLC parameter value and allows data entry by clicking on the object. The entered value is sent
to the PLC to change the parameter. The value display is as for PlcVal.

Figure 45 - Gismo PlcValEnt


Variables to rename:
AlignX Horizontal alignment of value in the box. 1 = left, 2 = mid, 3 = right
FillColor Fill color of the box. Color given as GMS color index. Use Special Color Get to select the color from a
palette.
Font Text font as GMS True Type font index. 1 .. 13
ParameterKey Text string (in double quotes) identifying the PLC parameter in the block algorithm.
PointNo Point number of the controlling point.
TextColor Text color given as GMS color index.

PlcInt Object
This object displays a PLC parameter value of type unsigned, integer or bit pattern without unit.

Figure 46 - Gismo PlcInt


Variables to rename:
AlignX Horizontal alignment of value in the box. 1 = left, 2 = mid, 3 = right
FillColor Fill color of the box. Color given as GMS color index. Use Special Color Get to select the color from a
palette.
Font Text font as GMS True Type font index. 1 .. 13
ParameterKey Text string (in double quotes) identifying the PLC parameter in the block algorithm.
PointNo Point number of the controlling point.
TextColor Text color given as GMS color index.

30 Glossary of Terms

Reference Manual ECS OpStation Editor

PlcIntEnt Object
This object displays a PLC parameter value of type unsigned, integer or bit pattern without unit. Data entry is
allowed by click on the object. The entered value is sent to the PLC and the parameter is changed.

Figure 47 - Gismo PlcIntEnt


Variables to rename:
AlignX Horizontal alignment of value in the box. 1 = left, 2 = mid, 3 = right
FillColor Fill color of the box. Color given as GMS color index. Use Special Color Get to select the color from a
palette.
Font Text font as GMS True Type font index. 1 .. 13
ParameterKey Text string (in double quotes) identifying the PLC parameter in the block algorithm.
PointNo Point number of the controlling point.
TextColor Text color given as GMS color index.

PlcParName Object
This object displays the name of a PLC parameter in current language. The name is defined in the block algorithm.

Figure 48 - Gismo PlcParName


Variables to rename:
AlignX Horizontal alignment of value in the box. 1 = left, 2 = mid, 3 = right
FillColor Fill color of the box. Color given as GMS color index. Use Special Color Get to select the color from a
palette.
EdgeColor Edge color of the box given as GMS color index.
Font Text font as GMS True Type font index. 1 .. 13
ParameterKey Text string (in double quotes) identifying the PLC parameter in the block algorithm.
PointNo Point number of the controlling point.
TextColor Text color given as GMS color index.

Reference Manual ECS OpStation Editor

Glossary of Terms 31

LangText Object
This object displays a text constant in the current language. The texts constants are defined in the table
LanguageTexts of the database FlsaDev\ProDb\SdrOpsSpecial
Text10.mdb.
Note. LangText is intended for FLSA use only. Some of the standard faceplates provided by FLSA uses these objects
for text constants. The end customer should use plain text or text rectangle primitives in his native language when he
makes new pictures.

Figure 49 - Gismo LangText


Variables to rename:
FillColor Fill color of the box. Color given as GMS color index. Use Special Color Get to select the color from a
palette.
EdgeColor Edge color of the box given as GMS color index.
Font Text font as GMS True Type font index. 1 .. 13
Text_align_x Horizontal alignment of text in the box. 1 = left, 2 = mid, 3 = right
Text_height Size of the text (e.g. 2.5)
TextColor Color of text given as GMS color index.
TextKey String (in double quotes) identifying the database key for the text constant.

AbbreviationText Object
This object displays a text abbreviation according to a currently selected set of abbreviations. The texts constants are
defined in the table AbbreviationTexts of the database FlsaDev\ProDb\SdrOpsSpecialText10.mdb.
Note. AbbreviationText is intended for FLSA use only. The ACESYS faceplates use different abbreviations for
different applications (FLSA, FLS, HTC, etc. ). The set to use for a specific project is selected through the ECS
OpStation Configuration utility under Abbreviations sub function.

Figure 50 - Gismo AbbreviationText


Variables to rename:
AlignX Horizontal alignment of text in the box. 1 = left, 2 = mid, 3 = right
FillColor Fill color of the box. Color given as GMS color index. Use Special Color Get to select the color from a
palette.
EdgeColor Edge color of the box given as GMS color index.
TextColor Color of text given as GMS color index.
Font Text font as GMS True Type font index. 1 .. 13
Text_height Size of the text (e.g. 2.5)
TextKey String (in double quotes) identifying the database key for the text constant

32 Glossary of Terms

Reference Manual ECS OpStation Editor

FlsDateTime Object
This object displays the current date and/or time. The time is dynamically updated every second. The format
conforms to the current users locale setting. The locale setting is changed through the Regional Settings function of
Windows NT.

Figure 51 - Gismo FlsDataTime


Variables to rename:
AlignX Horizontal alignment of text in the box. 1 = left, 2 = mid, 3 = right
DateOnly Display only current date (omit time).
TimeOnly Display only current time (omit date).
NoSecs Display only hours and minutes of time part (omit seconds).
FillColor Fill color of the box. Color given as GMS color index. Use Special Color Get to select the color from a
palette.
EdgeColor Edge color of the box given as GMS color index.
TextColor Color of text given as GMS color index.
Font Text font as GMS True Type font index. 1 .. 13

Generic route property text object


This object displays generic information for a route.

Variables to rename:
AlignX Horizontal alignment of value in the box. 1 = left, 2 = mid, 3 = right
FillColor Fill color of the box. Color given as GMS color index. Use Special Color Get to select the color from a
palette.
EdgeColor Edge color of the box given as GMS color index.
TextColor Text color of the box given as GMS color index.
Font Text font as GMS True Type font index. 1 .. 13
Property The route property. Use __Routexxx where xxx is the property.
RouteCode the code of the route.
SampleFreq number of seconds between update of value. 0 for every scan. 1 for static. (update only first time and
on refresh all)

Reference Manual ECS OpStation Editor

Glossary of Terms 33

Generic group property text object


This object displays generic information for a group.

Variables to rename:
AlignX Horizontal alignment of value in the box. 1 = left, 2 = mid, 3 = right
FillColor Fill color of the box. Color given as GMS color index. Use Special Color Get to select the color from a
palette.
EdgeColor Edge color of the box given as GMS color index.
TextColor Text color of the box given as GMS color index.
Font Text font as GMS True Type font index. 1 .. 13
Property The group property. Use __Groupxxx where xxx is the property.
GroupCode the code of the Group.
SampleFreq number of seconds between update of value. 0 for every scan. 1 for static. (update only first time and
on refresh all)

Generic department property text object


This object displays generic information for a group.

Variables to rename:
AlignX Horizontal alignment of value in the box. 1 = left, 2 = mid, 3 = right
FillColor Fill color of the box. Color given as GMS color index. Use Special Color Get to select the color from a
palette.
EdgeColor Edge color of the box given as GMS color index.
TextColor Text color of the box given as GMS color index.
Font Text font as GMS True Type font index. 1 .. 13
Property The department property. Use __Depxxx where xxx is the property.
DepCode the code of the department.
SampleFreq number of seconds between update of value. 0 for every scan. 1 for static. (update only first time and
on refresh all)

34 Glossary of Terms

Reference Manual ECS OpStation Editor

Generic point property text object


This object displays generic information for a group.

Variables to rename:
AlignX Horizontal alignment of value in the box. 1 = left, 2 = mid, 3 = right
FillColor Fill color of the box. Color given as GMS color index. Use Special Color Get to select the color from a
palette.
EdgeColor Edge color of the box given as GMS color index.
TextColor Text color of the box given as GMS color index.
Font Text font as GMS True Type font index. 1 .. 13
Property The point property. Use __Pointxxx where xxx is the property.
PointCode the code of the point.
SampleFreq number of seconds between update of value. 0 for every scan. 1 for static. (update only first time and
on refresh all)

Creating OpenGMS Dynamics


OpenGMS dynamics is based upon the standard GMS concept of dynamic properties associated an object. Dynamic
properties are then enhanced by functions, which provide data from the ECS database to drive the dynamics.

GMS Dynamic Properties


Dynamic properties (dynprop) are scripts that may be associated any object drawn in the editor.
The basic elements are actions:
Action argument
The actions are fixed keywords and the argument is an expression containing constants, variables or one of our
OpenGMS functions.
Examples:
"fcolor 3" means that the fill color of the object shall be green (which is 3)
"fcolor FillColor" means that the fill color of the object is determined by the value of a variable called FillColor.
The actual value of this variable is defined by rename variables when the object is instantiated in a picture.
"fcolor pntint(__COLOR, PointNo)" means that the fill color of the object is determined by the OpenGMS function
call pntint, which in this case will return the actual color of the point PointNo as defined in the database. Again
PointNo is a variable the value of which is defined by rename variables when the object is instantiated in a
picture.
The following table lists the actions available in dynamic properties:

Reference Manual ECS OpStation Editor

Glossary of Terms 35

Action and argument type

Description

ecolor int

edge color

estyle int

edge style 0 - no edge, 1 - solid, 2..4 - dotted

ewidth float

edge width

fcolor int

fill color

fstyle int

fill pattern 1..6 only relevant if finter = 2 or 3

finter int

fill interior 0 - hollow, 1 - solid, 2 - opaque, 3 - transp.

fdir int

fill direction 0 - up, 1 - right, 2 - down, 3 - left

fpercent float

fill percentage 0 .. 100

filled int

filled object 0 - not filled, 1 - filled

mcolor int

marker color

mstyle int

marker style 1 - period, 2 - +, 3 - *, 4 - o, 5 - x

tcolor int

text color

theight float

text height

tpath int

text path (direction) 1 - right, 2 - down

tfont int

text font 1..13

tprec int

text precision 0 - TrueType, 1 - Hershey (not avail)

talign x (int) y(int)

text alignment x col - 1..3, y row - 1..5 ( center is 2 3)

stext int/float/string format

text content.
format:
"%d"

integer

"%5.2f" float with 5 digits before and 2 after dec. sep.


"%s"

string

detect int

Detectability 0 - not detectable, 1 - detectable

vis int

visibility 0 - invisible, 1 - visible, 3 - forced update

move x(float) y(float)

move relative x - 0..100, y - 0..75

movex float

move relative in x direction

movey float

move relative in y direction

rotate float

rotate relative 0 .. 360 degrees

scale float

scale evenly

scalex float

scale horizontally

scaley float

scale vertically

radius float

radius of circles, pies and sectors

arclength float

angle for size of sectors or pies

startangle float

starting angle of sectors and pies

redraw

redraw without erasure

call function

call function (i.e. OpenGms function)

userword string

must not be used (reserved for classic dynamics)

userdata int

must not be used (reserved for classic dynamics)

36 Glossary of Terms

Reference Manual ECS OpStation Editor

There are three types of dynamic properties:

1. Unconditional
For Unconditional Dynamic Properties, the actions are executed when the picture is loaded and then whenever any
variable in an action argument changes (or are forced to be updated). Built in variables are starting with __ . E.g.
__VALUE, __ALARMHIGH. Some of these variables are forced to update every half second.
Syntax:
*
action argument(s)
Example:
*
stext pntfloat(__ALARMHIGH, pointno("j4p12")) "%5.2f"
The text rectangle will be set equal to the AlarmHigh of point j4p12 everytime __ALARMHIGH changes.

2. Conditional
For Conditional Dynamic Properties, the actions are executed if a condition is true. Included Conditional Dynamic
Properties is a Variable Expression. A Variable Expression is an expresson that results in a value. If any variable in
the variable expression changes the Condition( s) that follow are evaluated, which may result in Action(s). There are
special built variables that can be used in a Variable Expression called __COLV7UPDATE and __COLV7STATIC.
When __COLV7UPDATE is used as a Variable Expression, the Condition(s) that follow are always evaluated if the
Condition is set to = * . If __COLV7STATIC is used the condition is evaluated when the model is loaded and if
refresh is used.
Type 1:
Syntax:
Variable expression
condition value
action argument(s)

Condition is one of =, !=, <=, >=, <, >


Example:
Variable Expression:
pntbit(__BIT_MSW, PointNo, 2)
Condition 1:
=0
Action:
stext "OFF" "%s"
Condition 2:
=1
Action:
stext "ON" "%s"
The above will set a text to "OFF" if bit 2 of MSW for PointNo is 0 and to "ON" if 0.

Reference Manual ECS OpStation Editor

Glossary of Terms 37

Type 2:
Syntax:
Variable expression
= *
action argument(s)

The actions are executed whenever any variable in variable expression argument changes. Using for example
__COLV7UPDATE as variable expression will ensure an update at every scan. Using __COLV7STATIC will update
the action when the picture is loaded or refreshed.
Type 3.
Syntax:
Variable expression
= value1:value2
action argument

The actions are executed if the variable expression lies in the range value1 to value2
Upon Input (click)
For Upon input Dynamic Properties, the callback is executed when the mouse is pressed, released, moved with the a
button pressed. Most callback action functions have a filter to ensure that the callback only is called with mouse
release.
Syntax:
#
call function

Example:
#
call gms_push_btn_select())
call iosbitaction(PointNo, BitNo, BitVal, EventText, Confirm)
Above has two function calls. The first is a GMS function to change the look of a button when pressed. The second
is a FLSA function to send out a bit control command to a PLC. The values of the variables in the function call are
specified by rename variables when the object is instantiated in a picture.

OpenGMS Functions
OpenGMS functions are functions that interact with the SDR system. They can return data from the database or send
an IO command to a PLC. These functions may be used in expressions as part of dynamic properties.
Note: that the function names are case sensitive.
The functions are described in the following.
The functions can be split into function returning information and action functions.

38 Glossary of Terms

Reference Manual ECS OpStation Editor

Information Functions
Pointno Function
int pointno( PointCode )
returns the point number given the point code for a point. The function is used as an auxiliary function when
supplying point number arguments to the other OpenGMS functions.
PointCode is point code as a text string (in double quotes)
Example:
pointno("j4p12")

Pntfloat Function
float pntfloat( ValueId, PointNo )
returns a floating point (real) value.
ValueId specifies the point attribute as shown in the following table
PointNo is point number of the controlling point.
Value Id

Description

__VALUE

Analog point value

__SYSHIGH

Analog point system high limit

__SYSLOW

Analog point system low limit

__GRAHIGH

Analog point operator high limit

__GRALOW

Analog point operator low limit

__HYSTERES

Analog point hysteresis

__INTERVAL

Analog point alarm interval size

__ALARMHIGH

Analog point alarm high limit

__ALARMLOW

Analog point alarm low limit

__NORMVALUE

Analog point normal value

__GAIN

Analog point gain

__OFFSET

Analog point offset

__CONST1

Analog point constant C1

__CONST2

Analog point constant C2

__CONST3

Analog point constant C3

__CONST4

Analog point constant C4

__CONST5

Analog point constant C5

__CONST6

Analog point constant C6

__CONST7

Analog point constant C7

__CONST8

Analog point constant C8

__CONST9

Analog point constant C9

__CONST10

Analog point constant C10

All variables in this table has a forced update at every scan.

Reference Manual ECS OpStation Editor

Glossary of Terms 39

Example:
__COLV7UPDATE
=*
stext pntfloat(__ALARMHIGH, pointno("j4p12")) "%5.2f"
writes the high alarm limit for point j4p12 as text

Pntint Function
int pntint( ValueId, PointNo )
returns an integer value.
ValueId specifies the point attribute as shown in the following table
PointNo is point number of the controlling point.
Value Id

Description

__DEPARTMENT

Point-associated department number

__CONV_ALG

Point conversion algorithm

__EVENT_ALG

Point alarm algorithm

__REP_ALG

Point report algorithm

__EVENT_PNT

Alarm treatment suppression point

__REPORT_PNT

Report treatment suppression point

__INTERFACE

Interface (IO) type

__PRIORITY

Alarm priority

__COLOR

Point color number

__SYMBOLOFF

GMS symbol offset

__INT_STATUS

Point status word

__INT_STAAUX

Point aux status word

__INT_VALREF

Point value text number

__INT_STAREF

Point status text number

__ALARMLEVEL

Point alarm level

__MSW

Point Machine Status Word

__FILTER

Point filter time constant (seconds)

__FORMAT

Point format number

__REF_PNT1

Reference point 1

__REF_PNT2

Reference point 2

__REF_PNT3

Reference point 3

__REF_PNT4

Reference point 4

__REF_PNT5

Reference point 5

__REF_PNT6

Reference point 6

__REF_PNT7

Reference point 7

__REF_PNT8

Reference point 8

__REF_PNT9

Reference point 9

__REF_PNT10

Reference point 10

40 Glossary of Terms

Reference Manual ECS OpStation Editor

__UNITNO

Engineering unit number

All variables in this table has a forced update at every scan.


Example:
__COLV7UPDATE
=*
tcolor pntint(__COLOR, pointno("j4p12"))
sets the text color to that of point j4p12.
Example:
__COLV7UPDATE
=*
tcolor pntint(__COLOR, pntint(__REF_PNT2, pointno("j4p12")))
sets the text color to that of reference point 2 of point j4p12.

Pnttext Function
char* pnttext( ValueId, PointNo )
returns a text string.
ValueId specifies the point attribute as shown in the following table
PointNo is point number of the controlling point.
Value Id

Description

__DEP_NAME

Point department name

__POINTCODE

Point code

__POINTTEXT

Point text

__STATUSTEXT

Point status text

__VALUETEXT

Point value text

__UNITTEXT

Point engineering unit

All variables in this table has a forced update at every scan.


Example:
__COLV7STATIC
=*
stext pnttext(__POINTTEXT, pointno("j4p12")) "%s"
writes the point text (descriptor) for point j4p12. Will only be updated when the picture is loaded or refreshed.

Pntbit Function
int pntbit( ValueId, PointNo, BitNo )
returns 0 or 1 as integer value.
ValueId specifies the point attribute as shown in the following table
PointNo is point number of the controlling point.
BitNo specifies the bit (0..15), the value of which is returned.
Value Id

Description

__BIT_MSW

Bit value in machine status word

Reference Manual ECS OpStation Editor

Glossary of Terms 41

All variables in this table has a forced update at every scan.


Example:
__COLV7UPDATE
=*
stext pntbit(__BIT_MSW, pointno("j4p03"), 2) "%d"
writes the value of bit 2 in MSW for point j4p03 as text.

Pntvalue Function
pntvalue( ValueId, Object, PointNo )
This function sets an object to the current point value. The object must be a text or text rectangle object. The value is
formatted according to point format and the color of the value is the point color. The function is a more powerful
alternative to pntfloat(__VALUE, PointNo).
ValueId must be the constant __VALUE.
Object must be the constant __self.
PointNo is point number of the controlling point.
Example:
__COLV7UPDATE
=*
call pntvalue(__VALUE, __self, PointNo)
The value of the variable PointNo is determined by rename variables when the object is instantiated.
Below is the full ..\gismos\pntval.g file for the ready-made pntval object. This object uses openGMS functions
pntvalue, pntunit and pntselect.
mtran0
vis 1
detect 1
pntval: model
. dynprop
(#

\
\

(call pntselect(__self, PointNo)))


unit: model
fcolor 22
fstyle 1
finter 1
fdir 0
fpercent 100
ecolor 7
estyle 0
ewidth 1
tcolor 7
height 1
path 1
font 1
prec 0
align 1 3

42 Glossary of Terms

Reference Manual ECS OpStation Editor

size 0 0
tconstraint 0
unittext: ftrect 3 0 0 2.5 "un"
. refpoint 0 0
vis 0
estyle 1
divide: line 0.3 1.25 2.5 1.25
. refpoint 0.119995 1.25
endm
vis 1
estyle 0
height 1.5
align 2 3
ftrect 0 2.5 8 0 "PntVal"
. dynprop

(__COLV7UPDATE
(= *

(call pntvalue(__VALUE, __self, PointNo))))


(AlignX

(= *

(talign AlignX 3)))


(FillColor
(= *

(fcolor FillColor)))
(Font

(= *

(tfont Font)))
. refpoint 0 0
unit: inst unit 0 0
. dynprop

(__COLV7UPDATE
(= *

(call pntunit(__VALUE, __self, PointNo))))


(FillColor
(= *

(fcolor FillColor)))
(Font
(= *

\
\

(tfont Font)))
. move 8 0
endm

Reference Manual ECS OpStation Editor

Glossary of Terms 43

Pntunit Function
pntunit( ValueId, Object, PointNo )
This function sets the engineering unit to that of the controlling point. The unit will be shown as special GMS text as
for the classic dynamic object pointval. e.g. kg/m3 will be displayed as 3 lines in small size font to minimize the
space required for the unit. The color of the unit will be the point color. The object must be like the gismo called unit
with a text rectangle called unittext and a line called divide (see below).
The function is a more sophisticated alternative to pnttext(__UNITTEXT, PointNo), the latter writing the unit as
single line plain text.
ValueId must be the constant __VALUE.
Object must be the constant __self.
PointNo is point number of the controlling point.
Example:
__COLV7UPDATE
=*
call pntunit(__VALUE, __self, PointNo)
The object to which the function applies is shown below as an external gismo unit (file ..\gismos\unit.g):
mtran0
vis 1
detect 1
unit: model
fcolor 22
fstyle 1
finter 1
fdir 0
fpercent 100
ecolor 7
estyle 0
ewidth 1
tcolor 7
height 1
path 1
font 1
prec 0
align 1 3
size 0 0
unittext: ftrect 3. 0. 0. 2.5

"un"

. refpoint 0 0
vis 0
estyle 1
divide: line 0.3 1.25 2.5 1.25
. refpoint 0.12 1.25
endm

For a full example see description of function pntvalue.

44 Glossary of Terms

Reference Manual ECS OpStation Editor

Plctext Function
char* plctext( ValueId, PointNo, ParameterKey )
Returns a PLC parameter as a text string.
ValueId is as specified in the table below.
PointNo is point number of the controlling point. This identifies address of the PLC parameter block and the block
algorithm that holds the description of the parameter.
ParameterKey is the key identifying the PLC parameter (string) in the block algorithm.
Value Id

Description

__PLCTXTPAR

Plc parameter is returned as ready formatted string according to block algorithm

__PLCCAPTEXT

The name of the PLC parameter is returnedin the current language

__PLCUNIT

Engineering unit from block algorithm returned as plain text

All variables in this table has a forced update at every scan.


Example:
__COLV7UPDATE
=*
stext plctext( __PLCCAPTEXT, PointNo, Gain) %s
Above writes the name of the PLC parameter Gain as defined in the block algorithm. The value of PointNo is
determined by rename variables when the object is instantiated.
Example:
__COLV7UPDATE
=*
stext plctext( __PLCTXTPAR, PointNo, Gain) %s
Above writes the PLC parameter Gain in the format specified in the block algorithm. The value of PointNo is
determined by rename variables when the object is instantiated.

Plcdouble Function
double plcdouble( ValueId, PointNo, ParameterKey )
Returns a double floating point PLC parameter.
ValueId must be the constant __PLCDBLPAR
PointNo is point number of the controlling point. This identifies address of the PLC parameter block and the block
algorithm that holds the description of the parameter.
ParameterKey is the key identifying the PLC parameter (string) in the block algorithm.
Example:
__COLV7UPDATE
=*
stext plcdouble( __PLCDBLPAR, PointNo, Gain) %5.2f
Above will get the floating point PLC parameter with key Gain as a double and write it as a text string in format
xxxxx.yy. The actual value of PointNo is determined by rename variables when the object is instantiated.
Note. The function plctext can return the value as a text string formatted as specified in the block algorithm.

Reference Manual ECS OpStation Editor

Glossary of Terms 45

Plcint Function
int plcint( ValueId, PointNo, ParameterKey )
Returns a PLC parameter as an integer. The parameter must be of type bit pattern.
ValueId must be the constant __PLCINTPAR
PointNo is point number of the controlling point. This identifies address of the PLC parameter block and the block
algorithm that holds the description of the parameter.
ParameterKey is the key identifying the PLC parameter (string) in the block algorithm.
Example:
__COLV7UPDATE
=*
stext plcint( __PLCINTPAR, PointNo, ParKey) %d
Above will get a PLC parameter identified by variable ParKey and write it as a string. The value of PointNo and
ParKey is determined rename variables when the object is instantiated.

Plcunit Function
plcunit( Object, PointNo, ParameterKey )
This function sets the engineering unit to that of the block algorithm parameter. The unit will be shown as special
GMS text as for the classic dynamic object pointval. e.g. kg/m3 will be displayed as 3 lines in small size font to
minimize the space required for the unit. The object must be like the gismo called unit with a text rectangle called
unittext and a line called divide (see below).
The function is a more sophisticated alternative to plctext(__PLCUNIT, PointNo, ParameterKey), the latter writing
the unit as single line plain text.
Object must be the constant __self
PointNo is point number of the controlling point. This identifies address of the PLC parameter block and the block
algorithm that holds the description of the parameter.
ParameterKey is the key identifying the PLC parameter in the block algorithm.
Example:
__COLV7STATIC
=*
call plcunit( __self, PointNo, ParKey )
The value of PointNo and ParKey is determined rename variables when the object is instantiated.
The object to which the function applies is shown below as an external gismo unit (file ..\gismos\unit.g):
mtran0
vis 1
detect 1
unit: model
fcolor 22
fstyle 1
finter 1
fdir 0
fpercent 100
ecolor 7
estyle 0
ewidth 1
tcolor 7
height 1
path 1
font 1
prec 0
align 1 3

46 Glossary of Terms

Reference Manual ECS OpStation Editor

size 0 0
unittext: ftrect 3. 0. 0. 2.5 "un"
. refpoint 0 0
vis 0
estyle 1
divide: line 0.3 1.25 2.5 1.25
. refpoint 0.12 1.25
endm

For a full example see description of function plcedit.

Langtext Function
char* langtext( TextKey )
This function returns a text constant in current language. The functions apply to a text or text rectangle object. The
language texts are defined in the database Flsadev\ProDb\
SdrOpsSpecialText10.mdb table LanguageTexts.
The function is used in the standard gismo LangText.
The purpose of the function is to allow text constants, which automatically will be displayed, in the current language.
The function is intended for FLSA use only. The end customer should write text constants in his native language
only.
An example using the function is the PidFace where all text constants are made with langtext.
TextKey is text string identifying the text in the LanguageText table.
Example:
__COLV7STATIC
=*
stext langtext( "lngManual" ) "%s"

Abbreviationtext Function
char* abbreviationtext( TextKey )
This function returns a text abbreviation according to a currently selected set of abbreviations. The functions apply to
a text or text rectangle object. The abbreviation texts are defined in the database
Flsadev\ProDb\SdrOpsSpecialText10.mdb table AbbreviationTexts.
The function is used in the standard gismo AbbreviationText.
The purpose of the function is to allow text, which will be displayed according to a certain type of application. For a
specific project the type is selected via ECS OpStation Configuration utility sub function Abbreviations. The
function is intended for FLSA use only.
An example using the function is the ACESYS faceplates where all text abbreviations are made with this function.
TextKey is text string identifying the text in the AbbreviationsTexts table.
Example:
__COLV7STATIC
=*
stext abbreviationtext( "GRP_GSEL" ) "%s"

Reference Manual ECS OpStation Editor

Glossary of Terms 47

Datetime Function
char* datetime( ValueId, DateOnly, TimeOnly, NoSecs )
Returns the current date and/or time in format defined by current users locale setting.
The function is used in the standard gismo FlsDataTime.
ValueId is the constant that drives the updating of the time. Must be equal __VALUE.
DateOnly =1 if only current date is returned, =0 otherwise
TimeOnly =1 if only current time is returned, =0 otherwise
NoSecs =1 if seconds shall be omitted from the time, =0 otherwise
Example:
__COLV7UPDATE
=*
stext datetime(__VALUE, 0, 0, 1)
will display date and time without seconds.
char* colv7datetime( cFormat )
Returns the time according to format specifiation where
cFormat Format specifikation
%a Abbreviated weekday name
%A Full weekday name
%b Abbreviated month name
%B Full month name
%c Date and time representation appropriate for locale
%d Day of month as decimal number (0131)
%H Hour in 24-hour format (0023)
%I Hour in 12-hour format (0112)
%j Day of year as decimal number (001366)
%m Month as decimal number (0112)
%M Minute as decimal number (0059)
%p Current locales A.M./P.M. indicator for 12-hour clock
%S Second as decimal number (00 59)
%U Week of year as decimal number, with Sunday as first day of week (0053)
%w Weekday as decimal number (0 6; Sunday is 0)
%W Week of year as decimal number, with Monday as first day of week (00-53)
%x Date representation for current locale
%X Time representation for current locale
%y Year without century, as decimal number (00 99)
%Y Year with century, as decimal number
%z,%Z Time-zone name or abbreviation; no characters if time zone is unknown
%% Percent sign

48 Glossary of Terms

Reference Manual ECS OpStation Editor

Example:
__COLV7UPDATE
=*
stext colv7datetime(%H:%M:%S )

extxxx functions
long extlong (Server, Type, Key1, Key2)
double extdouble (Server, Type, Key1, Key2)
char *exttext (Server, Type, Key1, Key2)
These functions return a long, double or a text from an external server respectively.
Server server name configured in OpStation Configuration.
Type value type. See table below.
Key1 first part of the parameter key.
Key2 second part of the parameter key.
Function

Type

Sample frequency

Extlong

__EXTLONG

Sample every 4 seconds

Extlong

__EXTLONG1

Sample every second

Extlong

__EXTLONG2

Sample every 2 seconds

Extlong

__EXTLONG3

Sample every 3 seconds

Extlong

__EXTLONG4

Sample every 4 seconds

Extlong

__EXTLONG5

Sample every 5 seconds

Extdouble

__EXTDOUBLE

Sample every 4 seconds

Extdouble

__EXTDOUBLE1

Sample every second

Extdouble

__EXTDOUBLE2

Sample every 2 seconds

Extdouble

__EXTDOUBLE3

Sample every 3 seconds

Extdouble

__EXTDOUBLE4

Sample every 4 seconds

Extdouble

__EXTDOUBLE5

Sample every 5 seconds

Exttext

__EXTTEXT

Sample every 4 seconds

Exttext

__EXTTEXT1

Sample every second

Exttext

__EXTTEXT2

Sample every 2 seconds

Exttext

__EXTTEXT3

Sample every 3 seconds

Exttext

__EXTTEXT4

Sample every 4 seconds

Exttext

__EXTTEXT5

Sample every 5 seconds

Exttext

__EXTTEXT

Sample every 4 seconds

All

__SAMPLEFAST

Every time the picture is updated.

All

__SAMPLESLOW

Sample every 10 seconds

All

__STATICVALUE

First time and then on Refresh All.

All variables in this table has a forced update at every scan.

Reference Manual ECS OpStation Editor

Glossary of Terms 49

colv7getgeneric functions
char* colv7getgenericstrlkey(ObjectType, lKey, Property, SampleFreq)
char* colv7getgenericstr(ObjectType, strKey, Property, SampleFreq)
double colv7getgenericdouble(ObjectType, strKey, Property, SampleFreq)
long colv7getgenericlong(ObjectType, strKey, Property, SampleFreq)
These function raps the PointAuto interface to get any value return as a char, long, or double
ObjectType One of the four object types in the Point Auto. __DepartmentObject, __GroupObject,
__RouteObject, or __PointObject.
The object type variables has a forced update at every scan
lKey long key. Number of object. E.g. for a __PointObject the point number.
sKey String key. Code of object. E.g. for a __PointObject the point code.
Property Property in object. All relevant properties from PointAuto. flsSomething is replaced with __Something.
I.e. the property flsGroupColor will be __GroupColor.
SampleFreq The update rate in number of seconds for fssauto. 0 means every update. 1 means that it is static, and
the value will only be updated on refresh all in OpStation.
Example:
__COLV7STATIC
=*
stext colv7getgenericstr(__PointObject,j4p12,__PointParentDepCode,-1) %s
Will display the parent department of the point j4p12.
The following are valid for __PointObject
__PointNo
__PointCode
__PointText
__PointLocalText
__PointDefaultText
__PointType
__PointParentDepNo
__PointParentDepCode
__PointParentGroupNo
__PointParentGroupCode
__PointParentPointNo
__PointParentPointCode
__PointActiveRouteNo
__PointActiveRouteCode
__PointConversionAlg
__PointBlockAlg
__PointEventAlg
__PointReportAlg
__PointCategory

50 Glossary of Terms

Reference Manual ECS OpStation Editor

__PointAlarmTreatPointNo
__PointAlarmTreatPointCode
__PointReportTreatPointNo
__PointReportTreatPointCode
__PointPriority
__PointRefPoint1No
__PointRefPoint1Code
__PointRefPoint2No
__PointRefPoint2Code
__PointRefPoint3No
__PointRefPoint3Code
__PointRefPoint4No
__PointRefPoint4Code
__PointRefPoint5No
__PointRefPoint5Code
__PointRefPoint6No
__PointRefPoint6Code
__PointRefPoint7No
__PointRefPoint7Code
__PointRefPoint8No
__PointRefPoint8Code
__PointRefPoint9No
__PointRefPoint9Code
__PointRefPoint10No
__PointRefPoint10Code
__PointStatusText
__PointStatusBits
__PointAuxStatusBits
__PointColor
__PointUpdateTime
__PointIsOpAlarmSuppressed
__PointIsReportSuppressed
__PointIsNormal
__PointKindOf
__PointIsOperatorInserted
__PointIoAddress
__PointIoSysType
__PointAlarmsCurHour
__PointAlarmTimeCurHour
__PointErrorsCurHour

Reference Manual ECS OpStation Editor

Glossary of Terms 51

__PointAlarmsPrevHour
__PointAlarmTimePrevHour
__PointErrorsPrevHour
__PointAlarmsCurShift
__PointAlarmTimeCurShift
__PointErrorsCurShift
__PointAlarmsPrevShift
__PointAlarmTimePrevShift
__PointErrorsPrevShift
__PointAlarmsCurDay
__PointAlarmTimeCurDay
__PointErrorsCurDay
__PointAlarmsPrevDay
__PointAlarmTimePrevDay
__PointErrorsPrevDay
__PointValue
__PointEngUnit
__PointFormat
__PointGraphicalHigh
__PointGraphicalLow
__PointHysteresis
__PointIntervalSize
__PointAlarmHigh
__PointAlarmLow
__PointConstant1
__PointGain
__PointConstant2
__PointOffset
__PointConstant3
__PointConstant4
__PointConstant5
__PointConstant6
__PointConstant7
__PointConstant8
__PointConstant9
__PointOutputRangeLow
__PointConstant10
__PointOutputRangeHigh
__PointNormalValue
__PointRawValue

52 Glossary of Terms

Reference Manual ECS OpStation Editor

__PointStatusUnSupText
__PointAlarmLevel
__PointFilterTime
__PointMinCurHour
__PointAvgCurHour
__PointMaxCurHour
__PointSamplesCurHour
__PointReportValueCurHour
__PointAuxValueCurHour
__PointMinPrevHour
__PointAvgPrevHour
__PointMaxPrevHour
__PointSamplesPrevHour
__PointReportValuePrevHour
__PointAuxValuePrevHour
__PointMinCurShift
__PointAvgCurShift
__PointMaxCurShift
__PointSamplesCurShift
__PointReportValueCurShift
__PointAuxValueCurShift
__PointMinPrevShift
__PointAvgPrevShift
__PointMaxPrevShift
__PointSamplesPrevShift
__PointReportValuePrevShift
__PointAuxValuePrevShift
__PointMinCurDay
__PointAvgCurDay
__PointMaxCurDay
__PointSamplesCurDay
__PointReportValueCurDay
__PointAuxValueCurDay
__PointMinPrevDay
__PointAvgPrevDay
__PointMaxPrevDay
__PointSamplesPrevDay
__PointReportValuePrevDay
__PointAuxValuePrevDay
__PointFilterConstant

Reference Manual ECS OpStation Editor

Glossary of Terms 53

__PointSymbolOffset
__PointMSW
__PointRunTimeCurHour
__PointRunTimePrevHour
__PointRunTimeCurShift
__PointRunTimePrevShift
__PointRunTimeCurDay
__PointRunTimePrevDay
__PointRunTimeTotal
__PointRunTimePrevTotal
__PointCalculationAlg
__PointSignalHigh
__PointSignalLow
__PointBconstant1
__PointBconstant2
__PointBconstant3
__PointBconstant4
__PointBconstant5
__PointBconstant6
__PointBconstant7
__PointBconstant8
__PointBconstant9
__PointBconstant10
__PointIsSelectable
__PointFilterRouteNo
__PointFilterRouteCode
__PointIsAlarmSuppressed
__PointNotSuppressedByHierarchy
__PointRunsCurHour
__PointRunsPrevHour
__PointRunsCurShift
__PointRunsPrevShift
__PointRunsCurDay
__PointRunsPrevDay

54 Glossary of Terms

Reference Manual ECS OpStation Editor

The following is valid for __GroupObject


__GroupNo
__GroupCode
__GroupText
__GroupLocalText
__GroupDefaultText
__GroupPlcLocalNo
__GroupParentDepNo
__GroupParentDepCode
__GroupStatusPointNo
__GroupStatusPointCode
__GroupState
__GroupColor
The following is valid for __DepartmentObject
__DepNo
__DepCode
__DepText
__DepLocalText
__DepDefaultText
__DepPlcLocalNo
__DepMnemonic
__DepEventAlg
__DepHornPointId
__DepHornPointCode
__DepState
__DepColor

Reference Manual ECS OpStation Editor

Glossary of Terms 55

The following is valid for __RouteObject


__RouteNo
__RouteCode
__RouteText
__RouteLocalText
__RouteDefaultText
__RoutePlcLocalNo
__RouteParentGroupNo
__RouteParentGroupCode
__RouteStatusPointNo
__RouteStatusPointCode
__RouteState
__RouteColor
All the table variable are only loaded ones. Thus has not a forced update.

Colv7format function
char * colv7format(dValue, lFormat)
This function returns a string format of the value with the current regional settings.
dValue Double value.
lFormat number of decimal points
Example:
__COLV7UPDATE
=*
stext colv7format (pntfloat(__VALUE, PntNo1),pntint(__FORMAT,PntNo2)) %s

Will print the value of PntNo1 formatted as PntNo2.

Colv7ConCat function
char * colv7concat(sString1, sString2)
This function returns a concatenated string of sString1 and sString2.

ColV7SplitReturnFirst function
char * colv7splitreturnfirst(sString1, sString2)
This function returns the first part of sString1 ending at the sSTring2.

ColV7SplitReturnLastfunction
char * colv7splitreturnlast(sString1, sString2)
This function returns the last part of sString1 starting at sString2.

ColV7TokenNr
char * colv7tokennr(sString1, sSep, lNo)
This function returns the lNo token of sString1 where sSep are a string containing the seperating characters.

56 Glossary of Terms

Reference Manual ECS OpStation Editor

Colv7uacright function
long colv7uacright(Right)
This function returns 1 if the user has this particular right else it returns zero. The prefix in the rights table needs to
be Ops
Right the right key.

Colv7Color function
long colv7color(__COLV7UPDATE, lColorIndex)
This function switches between returning the colorindex and the colorindex of the flashcolor. It is used for flashing.
Example:
__COLV7UPDATE
=*
fcolor colv7color(__COLV7UPDATE, Color)

ColV7HiliteSymbol
long colv7hilitesymbol(__self, lSymbolIndex)
This function switches between hiliting different parts of a group or submodel.
lSymbolIndex is the zero based index of the part to be shown. The following will select the part equal to the Value
Text Number of the B point.
Example:
__COLV7UPDATE
=*
call colv7hilitesymbol(__self, pntint(__VALUE, 1 + pointno("SdrTestFrSpeed")))

QObjectUserword function
long qobjectuserword(__self, lObjNumber)
This function fetches the user word of the objects parents child number lObjnumber. Is used together with the action
function ObjectUserWord.
This function can be used to show different parts of a group.
Example:
__COLV7UPDATE
=*
call colv7hilitesymbol(__self, quserobjectword(__self,1))

Reference Manual ECS OpStation Editor

Glossary of Terms 57

Trend Functions
Pointtrend Function
long pointtrend(__self, lHorizon, lUpdatePeriod,
sPntID1, dMax1, dMin1,
sPntID2, dMax2, dMin2,
sPntID3, dMax3, dMin3,
sPntID4, dMax4, dMin4,
sPntID5, dMax5, dMin5,
sPntID6, dMax6, dMin6,
sPntID7, dMax7, dMin7,
sPntID8, dMax8, dMin8)
This function creates a point trend with up to 8 traces. sPntID? is the point id for trace. dMax? is the maximum
value for the trace dMin? is the minimum value for the trace. lHorizon is the horizon in seconds, lUpdateperiod the
period with which the pointvalues are fetched.
The requirement for this function is a submodel of the following form. Here fore example a for a model with three
traces.
trend3: model
fcolor 31
fstyle 1
finter 1
fdir 0
fpercent 100
ecolor 21
estyle 1
ewidth 1
tcolor 7
height 5
path 1
font 1
prec 0
align 2 3
size 0 0
tconstraint 0
t_extent: ftrect 54 26 0 0 "TREND"
fcolor 23
ecolor 12
t_x_axis: line 0 0 18 0
. move 0 0
t_x_major_tick: line 0 0 0 -1
t_x_minor_tick: line 0 0 0 -0.5
fcolor 31
ecolor 15
estyle 0

58 Glossary of Terms

Reference Manual ECS OpStation Editor

tcolor 17
height 1
t_xaxis_label: ftrect 3 -3 -3 -1 "~time ~24hour:~minute"
fcolor 23
ecolor 12
estyle 1
t_y_axis: line 0 0 0 12
t_y_major_tick: line 0 0 -1 0
t_y_minor_tick: line 0 0 -0.5 0
fcolor 31
ecolor 31
tcolor 25
t_yaxis_label1: ftrect -6.5 1 -1.5 -1 "%g"
tcolor 26
t_yaxis_label2: ftrect -12.5 1 -7.5 -1 "%g"
tcolor 27
t_yaxis_label3: ftrect -18.5 1 -13.5 -1 "%g"
fcolor 17
ecolor 25
t_trace1: line 14 8 26 8
fcolor 1
ecolor 26
t_trace2: line 14 6 26 6
fcolor 18
ecolor 27
t_trace3: line 14 4 26 4
fcolor 15
ecolor 22
mygrid: line 0 20 54 20
tcolor 7
bcolor 0
height 2
text "1" 27.5 8
text "2" 27.5 6
text "3" 27.5 4
endm

The submodel contains named objects. These objects are the one that are used to draw the trend.
t_extent: is the area where the traces are drawn. Has to be a rectangle of some kind. Here it is a text rectangle. The
top corresponds to max value and the bottom to the min value the width corresponds to the horizon.
t_x_axis: a line showing the color of and thickness of the the x-asis. If omitted no x-axis is drawn
t_x_major_tick: a line showing how big the major tick has to be. If omitted no major tick marks on x-axis.
t_x_minor_tick: a line showing how big the minor tick has to be. If omitted no minor tick marks on x-axis.
t_xaxis_label: label for the x-axis a each major tick mark.
"~time ~24hour:~minute": format of x-axis. See gms manual for explanation.
t_y_major_tick: a line showing how big the major tick has to be. If omitted no major tick marks on y-axis.

Reference Manual ECS OpStation Editor

Glossary of Terms 59

t_y_minor_tick: a line showing how big the minor tick has to be. If omitted no minor tick marks on y-axis.
t_yaxis_label1: a label for each major ticks on yaxis. Placed where it should be x axis wise. If obmitted no labels.
2, 3 ect for the next points. %g is the format of the number.
t_trace1: a line indicating color a thickness and form of the first trace. 2,3 etc lines defined for the the other traces.
To make a trend is simply to instanciate this submodel with the pointtrend function. Here show to make a gismo,
where the user har to rename PointID1 up to 3, and the min, max values for the three traces.
It is important that __COLV7STATIC is used, because this functions sets the trend.
mtran0
vis 1
detect 1
pointtrend3: model
inst trend3 0 0
. dynprop

(__COLV7STATIC
(= *

(call pointtrend(__self, Horizon, Updateperiod, PointID1, Max1, Min1, PointID2, Max2,


Min2, PointID3, Max3, Min3, "", 0., 0., "", 0., 0., "", 0., 0., "", 0., 0., "", 0., 0.))))
. move 0 0
endm

ExttrendFunction
long exttrend(__self, sSVR, lHorizon, lUpdatePeriod,
sVarID1, dMax1, dMin1,
sVarID2, dMax2, dMin2,
sVarID3, dMax3, dMin3,
sVarID4, dMax4, dMin4,
sVarID5, dMax5, dMin5,
sVarID6, dMax6, dMin6,
sVarID7, dMax7, dMin7,
sVarID8, dMax8, dMin8)
This function is used exactly as the point function. The only difference is that sSVR is the external server and
sVarID? Is the tagid of the value to fetch from the external server.
Four gismos exists for this function and can be used directly. exttrend1, exttrend2, exttrend3, exttrend4. The first it
one trace the second with two traces etc.

60 Glossary of Terms

Reference Manual ECS OpStation Editor

Action functions
Action functions are normally called Upon input, but the new version 7 functions can also be called on parameter
change. The version 6 functions have a filter so they only react on left mouse button release.

Pntselect Function
pntselect( Object, PointNo )
This function makes the object and the point the selected object and point when clicked upon.
The object is surrounded by a white rectangle and point information is set in the status bar panes. When right
clicking on the object a popup menu will appear.
Object identifies the object. This argument must be the constant __self.
PointNo is point number of the controlling point.
Example:
#
call pntselect(__self, PointNo)
The value of the variable PointNo is determined by rename variables when the object is instantiated.

Pntedit Function
pntedit( Object, PointNo )
This function allows for entering and sending an output value to IO system. The function must be part of input
dynamics of an object. This object must have two text rectangles of same size on top of each other. First must be
called valuefield and displays the current value. The second must be called editfield and is used when entering a
value. A click on the main object will make the edit field visible. The user enters a value and press of return on
keyboard will send the entered value to IO system. The value field then again becomes visible.
Object must be __self.
PointNo is point number of the controlling point.
Example:
#
call pntedit( __self, PointNo )
Below is the full ..\gismos\pntvalent.g file for the ready-made pntvalent object. This object uses openGMS function
pntedit.
mtran0
vis 1
detect 1
pntvalent: model
. dynprop
(#

\
\

(call pntselect(__self, PointNo))

(call pntedit(__self, PointNo)))


unit: model
fcolor 22
fstyle 1
finter 1
fdir 0

Reference Manual ECS OpStation Editor

Glossary of Terms 61

fpercent 100
ecolor 7
estyle 0
ewidth 1
tcolor 7
height 1
path 1
font 1
prec 0
align 1 3
size 0 0
tconstraint 0
unittext: ftrect 3 0 0 2.5 "un"
. refpoint 0 0
vis 0
estyle 1
divide: line 0.3 1.25 2.5 1.25
. refpoint 0.119995 1.25
endm
vis 1
estyle 0
height 1.5
align 2 3
value: ftrect 0 2.5 8 0 "PntValE"
. dynprop

(__VALUE
(= *

\
\

(call pntvalue(__VALUE, __self, PointNo))))


(AlignX

(= *

(talign AlignX 3)))


(FillColor
(= *

(fcolor FillColor)))
(Font

(= *

(tfont Font)))
unit: inst unit 0 0
. dynprop

(__VALUE
(= *

\
\

(call pntunit(__VALUE, __self, PointNo))))


(FillColor
(= *

(fcolor FillColor)))
(Font
(= *

\
\

62 Glossary of Terms

Reference Manual ECS OpStation Editor

(tfont Font)))
. move 8 0
vis 0
edit: ftrect 0 2.5 8 0 ""
. dynprop

(AlignX

(= *

(talign AlignX 3)))


(__EDITFINISH
(= *

(call editfinish(__EDITFINISH, __self))))


. refpoint 0 0
endm

Pntupdownpercent Function
pntupdownpercent(PointNo, PercentChange, ManModeMask, ManModeValue, Confirm)
pntupdownpercentv7(PointNo, PercentChange, ManModeMask, ManModeValue, Confirm, Ignore)
Change a point value with a given percentage. This function behave in a special way when applied to a set point
because the change will affect the output point related to the set point if the mode related to the set point is manual.
PointNo Point number of controlling point
PercentChange percentage of the points system range to raise or lower the current value
ManModeMaskBits mask bits of MSW for manual mode given as a integer (may be hex). e.g. 10 (or 0x000a)
means bit 1 and bit 3 defines manual mode. Defines the bits that must be tested to determine manual mode.
ManModeValueBits value bits of MSW for manual mode given as integer (may be hex). Defines the values of the
bits given by the mask that determines manual mode. e.g. 2 (or 0x0001) means that with the above mask given
manual mode is defined as bit 1 = 1 and bit 3 = 0.
Confirm specifies whether operator must confirm action in a confirmation box (0 - no confirm, 1 - confirm)
Ignore specifies that the input action filter is off. The function always is always executed when called. (0 only on
left mouse button, 1 always)

Iosbitaction Function
iosbitaction( PointNo, BitNo, BitVal, EventText, Confirm )
iosbitactionv7( PointNo, BitNo, BitVal, EventText, Confirm , Ignore)
This function sends a bit control action to IO system. Iosbitaction only reacts on left mouse release action, while the
iosbitactionv7 reacts on any call if ignore is set to 1.
PointNo is point number for point to which action applies
BitNo specifies the output bit number (0..15)
BitVal specifies the output value (0 or 1)
EventText a text string (in double quotes) for the event line generated by the action
Confirm specifies whether operator must confirm action in a confirmation box (0 - no confirm, 1 - confirm)
Ignore specifies that the input action filter is off. The function always is always executed when called. (0 only on
left mouse button, 1 always)

Reference Manual ECS OpStation Editor

Glossary of Terms 63

Example:
#
call iosbitaction( PointNo, BitNo, BitVal, EventText, Confirm)
Above function will be called when user clicks on the object with the left mouse button when the mouse button is
released. The values of the variables PointNo, BitNo, BitVal, EventText, Confirm are determined by rename
variables when the object is instantiated.
Example v7:
#
call gms_flash()
(__button_hilite == 0) && (__locator != 0)
!= 0
iosbitactionv7( PointNo, BitNo, BitValRelease, EventTextRelease, 0, 1)
(__button_hilite == 1) && (__locator != 0)
!= 0
iosbitactionv7( PointNo, BitNo, BitValPress, EventTextPress, 0, 1)
In the above v7 example the action will be called with the value of BitValPress when the user clicks on the object
and with the value BitValRelease when the mouse button is released. The values of the variables PointNo, BitNo,
BitValPress, BitValRelease, EventTextRelease, EventTextPress are determined by rename variables when the
object is instantiated.

Iosbittoggle Function
iosbittoggle ( PointNo, OutBitNo, InBitNo, EventText, Confirm)
iosbittogglev7 ( PointNo, OutBitNo, InBitNo, EventText, Confirm, Ignore)
This function sends a bit control action to IO system. It sets the output bit to the opposite of what is read in the input
bit. iosbittoggle only reacts on left mouse release action, while the iosbittogglev7 reacts on any call if ignore is
set to 1.
PointNo is point number for point to which action applies
OutBitNo specifies the output bit destination (0..15)
InBitNo specifies the input bit to toggle. (0..15)
EventText a text string (in double quotes) for the event line generated by the action.
Confirm specifies whether operator must confirm action in a confirmation box (0 - no confirm, 1 - confirm)
Ignore specifies that the input action filter is off. The function always is always executed when called. (0 only on
left mouse button, 1 always)

64 Glossary of Terms

Reference Manual ECS OpStation Editor

Iosbitpulse Function
iosbitpulse (IdType, Object, PointNo, OutBitNo, InBitNo, First, EventText, Confirm,)
iosbitpulse1 (IdType, Object, PointNo, OutBitNo, InBitNo, First, EventText, Confirm,
TimeOutSecs)
iosbitpulsev7 (IdType, Object, PointNo, OutBitNo, InBitNo, First, EventText, Confirm,
TimeOutSecs , Ignore)
This function is used as a two-step function. The first action is to set the output bit to 1 and start the timer. If the
input bit has changed to 1 within the timeout period the output bit is set to 0. If the first two version 6 functions are
used it demands a call Upon input where first is set to 1 and an Unconditional action. In order make the
back action. Iosbitpulse has a timeout of 15 seconds.
IdType Used to force update for supervision. (Use __VALUE)
Object must be the constant __self.
PointNo is point number for point to which action applies
OutBitNo specifies the output bit destination (0..15)
InBitNo specifies the input bit to toggle. (0..15)
First , 1 = first call, 0 = supervision call
EventText , Text for event log
Confirm specifies whether operator must confirm action in a confirmation box (0 - no confirm, 1 - confirm)
TimeOutSecs, No of seconds to wait for 1 to be set before give up
Ignore specifies that the input action filter is off. The function always is always executed when called. (0 only on
left mouse button, 1 always)
The fls_m_bitpulse uses this function and looks as follows:
mtran0
vis 1
detect 1
fls_m_bitpulse: model
. dynprop
(#

(call gms_push_btn_select()) \
(call iosbitpulse(__VALUE, __self, PointNo, OutBitNo,
InBitNo, 1, EventText1, Confirm)))
(*

(call iosbitpulse(__VALUE, __self, PointNo, OutBitNo,


InBitNo, 0, EventText0, 0)))
. batcherase 1
. refpoint 0 0
frame: group
. dynprop

(extent_width
(= *

(call gms_rect_size(extent_width, extent_height, 2, 0.0))))


fcolor 13
fstyle 1
finter 1

Reference Manual ECS OpStation Editor

Glossary of Terms 65

fdir 0
fpercent 100
ecolor 14
estyle 0
ewidth 0
tcolor 7
height 1.5
path 1
font 1
prec 1
align 2 3
size 0 0
plate: ftrect 10 4 0 0
. dynprop

"BitPulse"

(button_label \
(= *

(stext button_label "%s")))

(font \
(= *

(tfont font)))
fcolor 12
ecolor 15
estyle 1
lower: line 0 0 10 0 10 4
fcolor 15
ecolor 12
upper: line 0 0 0 4 10 4
endg
vis 0
fcolor 13
fstyle 8
finter 3
ecolor 13
estyle 0
shield: frect 1 1 0 0
endm

66 Glossary of Terms

Reference Manual ECS OpStation Editor

Iosbitsetcond Function
iosbitsetcond (PointNo, OutBitNo, OutBitVal, InBitNo, InBitVal, EventText, Confirm)
iosbitsetcondv7 (PointNo, OutBitNo, OutBitVal, InBitNo, InBitVal, EventText, Confirm, Ignore)
Send a bit action to OutBitNo if value of current InBitNo is InBitVal.
PointNo is point number for point to which action applies
OutBitNo specifies the output bit destination (0..15)
OutBitVal output value (0 or 1)
InBitNo specifies the input bit to toggle. (0..15)
InBitVal conditional input value (0 or 1)
EventText , Text for event log
Confirm specifies whether operator must confirm action in a confirmation box (0 - no confirm, 1 - confirm)
Ignore specifies that the input action filter is off. The function always is always executed when called. (0 only on
left mouse button, 1 always)

IosDigitalOutV7 Function
iosdigitaloutv7( PointNo, Mask, Value, Confirm , Ignore )
This function sends a digital output action to IO system.
PointNo is point number for point to which action applies
Mask specifies the output mask
Value specifies the output value (MSW)
Confirm specifies whether operator must confirm action in a confirmation box (0 - no confirm, 1 - confirm)
Ignore specifies that the input action filter is off. The function always is always executed when called. (0 only on
left mouse button, 1 always)
Example:
#
call iosdigitaloutv7( PointNo, 0xFFFFFFFF, Value, Confirm, 0)

Iospbsetpoint Function
iospbsetpoint(PointNo, Value)
iospbsetpointv7(PointNo, Value, Ignore)
This function requests the value of PointNo to be changed to value.
PointNo is point number for point to which action applies
Value new value of the point.
Ignore specifies that the input action filter is off. The function always is always executed when called. (0 only on
left mouse button, 1 always)
Confirm specifies whether operator must confirm action in a confirmation box (0 - no confirm, 1 - confirm)
Ignore specifies that the input action filter is off. The function always is always executed when called. (0 only on
left mouse button, 1 always)

Reference Manual ECS OpStation Editor

Glossary of Terms 67

Plcbitset Function
plcbitset( PointNo, ParameterKey, BitVal, Confirm)
plcbitsetv7( PointNo, ParameterKey, BitVal, Confirm, Ignore)
This function sends a request to set the bit corresponding to the parameter key of the block algorithm for the point.
PointNo is point number for point to which action applies
ParameterKey is the block table entry key.
Bitval the value of the bit to set.
Confirm specifies whether operator must confirm action in a confirmation box (0 - no confirm, 1 - confirm)
Ignore specifies that the input action filter is off. The function always is always executed when called. (0 only on
left mouse button, 1 always)

Plcbitsetcond Function
plcbitsetcond(PointNo, ParameterKey, OutBitVal, InBitVal, Confirm)
plcbitsetcondv7(PointNo, ParameterKey, OutBitVal, InBitVal, Confirm, Ignore)
Sends OutBitVal to PLC parameter if read bit value = InBitVal.
PointNo is point number for point to which action applies
ParameterKey is the block table entry key.
OutBitVal output value (0 or 1)
InBitVal conditional input value (0 or 1)
Confirm specifies whether operator must confirm action in a confirmation box (0 - no confirm, 1 - confirm)
Ignore specifies that the input action filter is off. The function always is always executed when called. (0 only on
left mouse button, 1 always)

Plcbittoggle Function
plcbittoggle(PointNo, ParameterKey, Confirm)
plcbittogglev7(PointNo, ParameterKey, Confirm, Ignore)
This function sends a request to toggle the bit corresponding to the parameter key of the block algorithm for the
point.
PointNo is point number for point to which action applies
ParameterKey is the block table entry key.
Confirm specifies whether operator must confirm action in a confirmation box (0 - no confirm, 1 - confirm)
Ignore specifies that the input action filter is off. The function always is always executed when called. (0 only on
left mouse button, 1 always)

Plcedit Function
plcedit( ValueId, Object, PointNo, ParameterKey )
This function allows for entering and sending an output PLC parameter to IO system. The function must be part of
input dynamics of an object. This object must have two text rectangles of same size on top of each other. First must
be called valuefield and displays the current value. The second must be called editfield and is used when
entering a value. A click on the main object will make the edit field visible. The user enters a value and press of
return on keyboard will send the entered value to IO system. The valuefield then again becomes visible.
Note. plcedit requires that the 'allow write' is set in the block algorithm for the PLC parameter.
ValueId is as specified in the table below

68 Glossary of Terms

Reference Manual ECS OpStation Editor

PointNo is point number of the controlling point. This identifies address of the PLC parameter block and the block
algorithm that holds the description of the parameter.
ParameterKey is the key identifying the PLC parameter (string) in the block algorithm.
Value Id

Description

__PLCDBLPAR

Edit a Plc parameter of type double

__PLCINTPAR

Edit a Plc parameter of type integer, unsigned or bit pattern

Example:
#
call plcedit(__PLCDBLPAR, __self, PointNo, ParKey )
Above allows edit of a floating point PLC parameter when clicking on the object. The value of PointNo and ParKey
is determined rename variables when the object is instantiated.
Below is the full ..\gismos\plcvalent.g file for the ready-made plcvalent object. This object uses openGMS function
plcedit.
mtran0
vis 1
detect 1
plcvalent: model
. dynprop
(#

\
\

(call plcedit(__PLCDBLPAR, __self, PointNo, ParameterKey)))


unit: model
fcolor 22
fstyle 1
finter 1
fdir 0
fpercent 100
ecolor 7
estyle 0
ewidth 1
tcolor 7
height 1
path 1
font 1
prec 0
align 1 3
size 0 0
tconstraint 0
unittext: ftrect 3 0 0 2.5 "un"
. refpoint 0 0
vis 0
estyle 1
divide: line 0.3 1.25 2.5 1.25
. refpoint 0.119995 1.25
endm
vis 1

Reference Manual ECS OpStation Editor

Glossary of Terms 69

estyle 0
height 1.5
align 2 3
value: ftrect 0 2.5 8 0 "PlcValE"
. dynprop

(__PLCTXTPAR
(= *

(stext plctext(__PLCTXTPAR, PointNo, ParameterKey) "%s")))


(AlignX

(= *

(talign AlignX 3)))


(FillColor
(= *

(fcolor FillColor)))
(Font

(= *

(tfont Font)))
(TextColor
(= *

(tcolor TextColor)))
unit: inst unit 0 0
. dynprop

(__PLCTXTPAR
(= *

(call plcunit(__self, PointNo, ParameterKey))))


(FillColor
(= *

(fcolor FillColor)))
(Font

(= *

(tfont Font)))
(TextColor
(= *

(tcolor TextColor)))
. move 8 0
vis 0
edit: ftrect 0 2.5 8 0 ""
. refpoint 0 0
endm

70 Glossary of Terms

Reference Manual ECS OpStation Editor

ColV7ToggleSymbol
long colv7togglesymbol(Object, Ignore)
This function switches between hiliting two parts of a group or submodel.
The following will toggle between the two parts when clicked upon.
Object must be __self.
Ignore specifies that the input action filter is off. The function always is always executed when called. (0 only on
left mouse button, 1 always)
Example:
#
call gms_flash()
((__button_hilite == 0) && (__locator != 0))
!= 0
call colv7togglesymbol(__self, 1)

Colv7ExtSelect function
colv7extselect(Object, Server, BaseKey, KeyField1, SampleField1,
KeyField2, SampleField2, KeyField3, SampleField3,
KeyField4, SampleField4, ExtFaceplate)
This function makes the object the selected object and displays information according to the KeyField in the
StatusBar of opstation when clicked upon.
The text to displayed is retrieved with the function exttext with arguments (Server, SampleField?, BaseKey,
KeyField?) where ? is 1 to 4.
Object must be __self.
Server server name configured in OpStation Configuration.
BaseKey Displayed together with server where the pointcode would be displayed for a selected point
KeyField1 used to retrieve the text to be displayed in the statusbar where the point text is displayed when a point is
shown.
SampleField1 used to tell how often the value show be retrieved.
KeyField2 used to retrieve the value to be displayed in the statusbar where the point value is displayed when a
point is selected.
SampleField2 used to tell how often the value show be retrieved.
KeyField3 used to retrieve the value to be displayed in the statusbar where the point status is displayed when a
point is selected.
SampleField3 used to tell how often the value show be retrieved.
KeyField4 used to retrieve the value to be displayed in the statusbar where the point control is displayed when a
point is selected.
SampleField4 used to tell how often the value show be retrieved.

Reference Manual ECS OpStation Editor

Glossary of Terms 71

ExtFaceplate used to tell that an externaldata faceplate is associated with the object. The following replacement
are made in dynamics and renamed variables in the faceplate.
String to be replaced

Repacement

$SVR

<value of Server>

$ID

<value of BaseKey>

$DES

<value of KeyField1>

$VAL

<value of KeyField2>

$STA

<value of KeyField3

$CON

<value of KeyField4>

ExtSetxxx function
extsetlong(Server, Type, Key1, Key2, lValue, Confirm)
extsetdouble(Server, Type, Key1, Key2, dValue,Confirm)
extsettext(Server, Type, Key1, Key2, Text,Confirm)
extsetlongv7( Server , Type, Key1, Key2, lValue, Confirm, Ignore)
extsetdoublev7( Server, Type, Key1, Key2, dValue, Confirm, Ignore)
extsettextv7( Server, Type, Key1, Key2, sText, Confirm, Ignore)
These function is used to set values in an external server.
Key1 is concatenated with Key2 to form the key parameter in the external server.
Server server name configured in OpStation Configuration.
Type value type irrelevant in this case.
Key1 first part of the parameter key.
Key2 second part of the parameter key.
lValue long value to set.
dValue double value to set.
sText text value to set.
Confirm specifies whether operator must confirm action in a confirmation box (0 - no confirm, 1 - confirm)
Ignore specifies that the input action filter is off. The function always is always executed when called. (0 only on
left mouse button, 1 always)

Extedit function
extedit (Server, Type, Object, Key1, Key2)
This function is allows the user to edit an external parameter.
Server server name configured in OpStation Configuration.
Type value type __EXTLONG, __EXTDOUBLE, __EXTTEXT
Object must be __self.
Key1 first part of the parameter key.
Key2 second part of the parameter key.

72 Glossary of Terms

Reference Manual ECS OpStation Editor

ExtActivate function
extactivate( DbName, TableName, Param, MenuItem, Confirm)
extactivatev7( DbName, TableName, Param, MenuItem, Confirm, Ignore)
This function activates an external program defined in database DbName in table TableName as entry number
MenuItem with one text parameter given as Param.
DbName name of database where to find classID of external program.
TableName name table where to find definition.
Param text parameter to pass to the external program.
MenuItem numbered ID in table.
Confirm specifies whether operator must confirm action in a confirmation box (0 - no confirm, 1 - confirm)
Ignore specifies that the input action filter is off. The function always is always executed when called. (0 only on
left mouse button, 1 always)

ExtMenu function
ExtMenu (Object, DbName, sTableName, Param, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11,
P12, P13, P14, P15 )
This function activates a menu on right click release, where the menu items can activate an external function. The
menu is defined by entries in table TableName.
DbName name of database where to find classID of external program.
TableName name table where to find definition.
Param text default parameter to pass to the external program.
P1 P15 individual arguments for each function, if specified overrides Param.

ColModelInvoke Function
ColModelInvoke( ModelName )
This function will replace the current picture with a new one. The function is normally used as an input function in
response to a button click. React only to left mouse button release.
ColModelInvokeV7(ModelName, Ignore)
Same as above but with Ignore = 1 react to any input.
ModelName is name (double quoted string) of new picture
Ignore specifies that the input action filter is off. The function always is always executed when called. (0 only on
left mouse button, 1 always)
Example:
#
call ColModelInvoke( "raw_mill")

Reference Manual ECS OpStation Editor

Glossary of Terms 73

ColNewWindowInvoke Function
ColNewWindowInvoke( ModelName )
ColNewWindowInvokeV7(ModelName, Ignore)
This functions handles invocation of a new free-floating window.
ModelName is name (double quoted string) of new picture
Ignore specifies that the input action filter is off. The function always is always executed when called. (0 only on
left mouse button, 1 always)

ColGenPopUpInvoke Function
ColGenPopUpInvoke( ModelName, PointNo )
This function pops up a new window with a given picture. It may also popup a faceplate for a given point. The
function is normally used as an input function in response to a button click. React only to left mouse button release.
ColGenPopUpInvokeV7( ModelName, PointNo , Ignore)
Same as above but with Ignore = 1 react to any input.
ModelName is name (double quoted string) of picture or faceplate to pop up.
PointNo is point number of activation point in sake of a faceplate. Must be = 0 for an ordinary popup picture.
Ignore specifies that the input action filter is off. The function always is always executed when called. (0 only on
left mouse button, 1 always)
Example:
#
call ColGenPopUpInvoke( "raw_mill_popup", 0)

Facepopupio(FacePlateNameSuffix, lPointNo )
facepopupio( FacePlateNameSuffix, PointNo )
facepopupiov7(FacePlateNameSuffix, PointNo, Ignore )
This function popup a faceplate prefixed with the IO system prefix.
FacePlateNameSuffix is name to append to the prefix of the IOsys (double quoted string) of picture or faceplate
to pop up.
PointNo is point number of activation point in sake of a faceplate. Must be = 0 for an ordinary popup picture.
Ignore specifies that the input action filter is off. The function always is always executed when called. (0 only on
left mouse button, 1 always)

StartProcess function.
startprocess( Program, P1, P2, P3, P4, P5, Confirm)
startprocessv7( Program, P1, P2, P3, P4, P5, Confirm, Ignore)
This program starts a program.
Program full program path and name of program.
P1..P5 text parameters to pass to the program.
Confirm specifies whether operator must confirm action in a confirmation box (0 - no confirm, 1 - confirm)
Ignore specifies that the input action filter is off. The function always is always executed when called. (0 only on
left mouse button, 1 always)

74 Glossary of Terms

Reference Manual ECS OpStation Editor

ShowTrend function.
showtrend (TrendPackNo)
showtrendv7 (TrendPackNo, Ignore)
Shows a trend package.
TrendPackNo number of trend package to show.
Ignore specifies that the input action filter is off. The function always is always executed when called. (0 only on
left mouse button, 1 always)

Showbrowser function.
showbrowser( Function, Code, View, Ignore )
showbrowserbyno( Function, No, View, Ignore )
This function shows the SdrBrowserUI either starting out with a department, point, group, or route, and one of the
three possible views.
Function telling what kind of Code or number is passed. __ShowDepartment, __ShowPoint, __ShowRoute or
__ShowGroup.
Code the code of the point, department, group, or route.
No the number of the point, department, group, or route.
View "EVENTLIST" , "POINTLIST" or "POINTGRID"
Ignore specifies that the input action filter is off. The function always is always executed when called. (0 only on
left mouse button, 1 always)

Colv7executecommand function
colv7executecommand(CommandID, Ignore)
This functions emulates a toolbar button press.
CommandID See the table
Ignore specifies that the input action filter is off. The function always is always executed when called. (0 only on
left mouse button, 1 always)

Reference Manual ECS OpStation Editor

Glossary of Terms 75

CommandID

Action

__ID_FILE_TOPMODEL

Open Top model

__ID_FILE_OPEN

Open Graphic

__ID_FILE_PRINT_CLIENT

Print Graphic

__ID_CONTROL_SELECT

Send select command to PLC for selected group or device. The


devices selectedin this manner are affected by a subsequent start or
stop command.

__ID_CONTROL_START

Send start command for all selected groups and devices

__ID_CONTROL_STOP

Send stop command for all selected groups and devices

__ID_CONTROL_QUICKSTOP

Send quick stop command for the current department. All equipment
will be stopped immediately

__ID_CONTROL_MASTERSTOP

Send master stop command for the current department. All equipment
will be stopped in a manner described by the PLC program

__ID_ALARM_SILENCE

Turn off the audible alarm for the current department

__ID_ALARM_RESET

Reset all alarms for the current department

__ID_ALARM_DEPLIST

Open the alarm list for the current department

__ID_ALARM_POINTLIST

Open the alarm list for the selected point

__ID_ALARM_GROUP_POINTSTATUS

Open the alarm status list for the selected points owner group.

__ID_TREND_PACKAGE

Open the SDR Trend display

__ID_TREND_POINT

Open the SDR Trend display with the selected point assigned to the
trend group

__ID_POINT_LIST

Open the SDR Point List

__ID_POINT_LIST_ADD_FAVOURITE

Add the selected point to the favorite points

__ID_POINT_PARAMETERS

Open the SDR Point Parameter display for the selected point

__ID_POINT_CONFIG

Open the SDR Point Configuration display for the selected point

__ID_NOTEPAD

Open the ECS Note Pad and display notes for the selected point

__ID_HELP

Open the online help file

ObjectUserword function
objectuserword(__self, lObjNumber, lValueToSet)
This function set the user word of the objects parents child number lObjnumber to lValueToSet Is used together with
the information function QObjectUserWord.

ColClose function
colclose()
This function is used to close a faceplate.

76 Glossary of Terms

Reference Manual ECS OpStation Editor

Animation
It is possible to animate things using a variable called __GMSANI. This variable is updated every 25 millisecond
and running from 0 to 60000 milliseconds every minute. The simplest way to make animation is to have some
models on top of each other and the changing the visibility depending on __GMSANI. There are some flags that are
usefull in a model.

erased at the same time

. batcherase 1 Tells to erase what should be erase should be

. noerase 1 Tells not to erase, when visibility changes

. dbflag 1 Tells to make a copy in memory and make the update in


one single swap. This is used to avoid flickering.

been move.

. repairflag 1 Is used to repair underlying objects if things have

The following example show how to use visibility, a base model that consist of six models of exactly, the same size
amin_sub00 to amin_sub05 called amin_sub. This model uses the flag dbflag and noerase flag. The noerase flags
ensures that the last executed vis 1 is visible. The variable ShowPic is used to tell which vis 1 is executed. This
model is the instantiated in another model called anim, with ShowPic renamed to ((Speed * __GMSANI / 200) %
6 ). Speed can then in the model where it is instantiated be anything from 0 to 8, where 0 is stopped and 8 is as fast
as goes. (%6 means modulus 6).
Example:
mtran0
vis 1
detect 1
anim_sub: model
. dbflag 1
. noerase 1
inst anim_sub00 0 0
. dynprop

(ShowPic
(= 0

(vis 1) ))
. move 0 0
inst anim_sub01 0 0
. dynprop

(ShowPic
(= 1

(vis 1) ))
. move 0 0
inst anim_sub02 0 0
. dynprop

(ShowPic
(= 2

(vis 1) ))
. move 0 0
inst anim_sub03 0 0
. dynprop

Reference Manual ECS OpStation Editor

Glossary of Terms 77

(ShowPic
(= 3

\
\

(vis 1) ))
. move 0 0
inst anim_sub04 0 0
. dynprop

(ShowPic
(= 4

\
\

(vis 1) ))
inst anim_sub05 0 0
. dynprop

(ShowPic
(= 5

\
\

(vis 1) ))
. move 0 0
endm

mtran0
vis 1
detect 1
anim: model
inst anim_sub 0 0
. move 0 0
renamedvars

ShowPic :: ((Speed * __GMSANI / 200) % 6 )


endm

If on the other hand we have a fixed background with different motives, another strategy is needed, because know
the noerase flag cannot be used as the background is not updated. Instead the flag batcherase and repairflag is used.
This will look as follows having the 6 different motives in anim_sub00 to anim_sub05, and the background in
anim_back., notice that vis 0 is set after the first instantiated sub model this is mode in order for the gismo look nice
in the editor. Note also now that vis 0 is used on in the dynamics on the model. This is done because they are no
longer overridden by one of the models. The anim model will be exactly the same as in the previous example.
Example:
mtran0
vis 1
detect 1
anim_sub: model
. dbflag 1
group
. repairflag 1
. batcherase 1
inst anim_back 0 0
. move 0 0
inst anim_sub00 0 0
. dynprop

(ShowPic
(= 0

78 Glossary of Terms

Reference Manual ECS OpStation Editor

(vis 1) )
(!= 0

(vis 0) ))
. move 0 0
vis 0
inst anim_sub01 0 0
. dynprop

(ShowPic
(= 1

(vis 1) )
(!= 1

(vis 0) ))
. move 0 0
inst anim_sub02 0 0
. dynprop

(ShowPic
(= 2

(vis 1) )
(!= 2

(vis 0) ))
. move 0 0
inst anim_sub03 0 0
. dynprop

(ShowPic
(= 3

(vis 1) )
(!= 3

(vis 0) ))
. move 0 0
inst anim_sub04 0 0
. dynprop

(ShowPic
(= 4

(vis 1) )
(!= 4

(vis 0) ))
. move 0 0
inst anim_sub05 0 0
. dynprop

(ShowPic
(= 5

(vis 1) )
(!= 5

(vis 0) ))
. move 0 0
endg
endm

Reference Manual ECS OpStation Editor

Glossary of Terms 79

mtran0
vis 1
detect 1
anim: model
inst anim_sub 0 0
. move 0 0
renamedvars

ShowPic :: ((Speed * __GMSANI / 200) % 6 )


endm

These examples can be used by replacing anim_sub00 etc with the models of own choise.

Making Dynamics in Editor


It is possible to program picture objects in order to obtain the desired dynamic visualization. After selecting an object
in the editor, dynamic properties can be added in two ways:
1. Object dynamics properties
Selecting pull down menu Dynamics -> Object dynamics properties or right clicking and selecting Edit
Dynamics in the popup menu will bring up a box where there are buttons to guide you through the process of
defining dynamics.
In the Edit Raw tab is possible to enter or correct dynamics directly.

To be guided through, use the tabs to enter the different types of dynamics. The box is used to enter dynamic
properties of the three types Unconditional, Conditional and Upon input, the window outlook depends on the
dynamic type selected.

80 Glossary of Terms

Reference Manual ECS OpStation Editor

Unconditional action.

Figure 52 - Enter dynamics box for unconditional action


Enter information as follows:

Select dynamic type as Unconditional action

For each new action press

Action. Select the dynamic action from the drop down list

Argument. Click the empty argument field (text edit field). Fill in
the argument by typing or better use Special Get button for entering an point related OpenGMS function,
a PLC related OpenGMS function or a GMS color index. For an action with two arguments (like stext)
make sure to enter both arguments ( for stext type in format as second argument).

Press OK to evaluate and accept the entered dynamic properties.

To delete a dynamic action press


To navigate among multiple actions use buttons

and

Pressing Get Point related will bring up the following box:

Reference Manual ECS OpStation Editor

Glossary of Terms 81

Figure 53 - Get point related function box


Fill in as follows:

Controlling point. If this shall be a variable to be renamed upon


instantiation then check Use as variable and type the name of the variable in the text edit field. If
controlling point shall be an actual point, then uncheck Use as variable, click the text edit field and use
the tool bar buttons

to enter a point code.

Reference point. If the point shall be one of the 10 reference


points of the controlling point, select one from the drop down list.

Value type Select one of the types (resulting in one of the four
functions pntfloat, pntint, pnttext, pntbit).

Value Select the attribute (Value id) from the drop down list. The
list of available attributes depends on the Value type.

Press OK to enter the information in the argument text field of the


Edit Dynamics box. The example shown will generate the argument text "pntfloat(__ALARMHIGH,
PointNo)"

82 Glossary of Terms

Reference Manual ECS OpStation Editor

Conditional action

Figure 54 - Enter dynamics box for conditional action


Enter information as follows:

Select Dynamic type as Conditional action

For each new Variable expression press outermost

Special Get

Variable expression. Click text field and fill in by typing or use

For each new Condition press middle

Condition. Select condition from drop down list

use Special Get

Condition expression. Click text field and fill in by typing or

For each new Action press innermost

Action. Select action from drop down list

Special Get

Action expression. Click text field and fill in by typing or use

Press OK to evaluate and accept the entered information.

To delete an item press corresponding


To navigate among multiple items use buttons

Reference Manual ECS OpStation Editor

and

Glossary of Terms 83

Upon input

Figure 55 - Enter dynamics box for input action


Enter information as follows:

Select Dynamic type as Upon input

For each new input action press

Input action. Click the text field and type in a function call. See
the section on OpenGMS functions for available input function calls.

Press OK to evaluate and accept the entered information.

To delete an item press corresponding


To navigate among multiple items use buttons

84 Glossary of Terms

and

Reference Manual ECS OpStation Editor

PntFloat Example
In this example we will create a new dynamic sub model (gismo), which can display the value of any of the floatingpoint attributes of a point.

Figure 56 - Gismo PntFloat


The following variables shall be determined by Rename variables when the sub model is instantiated in a picture:
AlignX Horizontal alignment of value in the box. 1 = left, 2 = mid, 3 = right
EdgeColor Edge color of the box
FillColor Fill color of the box
TextColor Text color
Font Text font
PointNo Point number of the controlling point.
ValueId Floating point attribute of point to display (e.g. __ALARMHIGH)

Creating pntfloat
The sub model is created as follows:
In the editor select menu File -> new
Model properties. The default model properties are with dark blue background enabled and model size 100 * 75.
As we want our model to be a text rectangle of size 10 * 2.5 we must change the model properties as follows:

Select menu Model -> Properties ..

In the model properties box displayed uncheck Background on (to


have the background removed) and press Apply and Close.

If the blue background does not disappear (GMS error), click in the
background and press delete on keyboard. Now you should have a white working area.

follows:

Create statics. We now create the static part of the sub model as

Click the toolbar button for text rectangle

Select menu Point -> Enter Point ..

In the Enter Point box displayed type 0 0 and press Apply. Then
type 10 2.5 and press Apply again and the Close. You should now have a text rectangle in the lower left
part of the working area.

Type the text "PntFloat" in the text rectangle, then right click and
select Done from popup menu. The object should now be selected indicated by a frame.

Right click and select Graphic Properties from the popup menu.

box.

In the graphics properties box select the fill color 22 and close the

as follows:

Create dynamics. We now add dynamic properties to the object

Select menu Dynamics -> Enter Dynamics

Reference Manual ECS OpStation Editor

Glossary of Terms 85


actions (and close the box by OK):

86 Glossary of Terms

Using the Enter Dynamics box create the following Conditional

Reference Manual ECS OpStation Editor

ValueID
=*
stext pntfloat(ValueId, PointNo) "%s5.2f"
EdgeColor
=*
ecolor EdgeColor
FillColor
=*
fcolor FillColor
TextColor
=*
tcolor TextColor
Font
=*
tfont Font
AlignX
=*
talign AlignX 3
Save model. We now save the model as a gismo as follows:

Select menu File -> Save

In the file save box displayed select directory FlsaGmsPic\Gismos


Then enter file name pntfloat and press Save. The sub model should now automatically be saved as two
files pntfloat.g (source file) and pntfloat.m1(runtime file).
The source file generated now looks as follows:
mtran0
vis 1
detect 1
pntfloat: model
fcolor 22
fstyle 1
finter 1
fdir 0
fpercent 100
ecolor 7
estyle 1
ewidth 1
tcolor 7
height 2
path 1
font 1
prec 0
align 2 3
size 0 0
ftrect 0 0 10 2.5 "PntFloat"
. dynprop

(ValueId

(= * \

Reference Manual ECS OpStation Editor

Glossary of Terms 87

(stext pntfloat(ValueId, PointNo) "%5.2f")))


(AlignX

(= * \
(talign AlignX 3)))
(FillColor

(= * \
(fcolor FillColor)))
(EdgeColor

(= * \
(ecolor EdgeColor)))
(TextColor

(= * \
(tcolor TextColor)))
(Font

(= * \
(tfont Font)))
endm

Using pntfloat
We may now use the new sub model in a picture to display the low and high alarm limits for the point j4p12.
In the editor create a new picture or load an existing one.
Instantiate sub model:
Select menu Palette -> Submodels ..
In the Sub model List box displayed locate and click on pntfloat, then click on first position in picture where pntfloat
shall be displayed, then on second position, then right click and select Done from popup menu.
Close the sub model list by OK. You should now have two instances of pntfloat.
Rename Variables:
Left click the first instance to select it, then right click and select Rename Variables from the popup menu. fill in
the variables as follows (and close the box by OK):
AlignX 3
EdgeColor 7
FillColor 22
Font 1
PointNo pointno("j4p12")
TextColor 7
ValueId __ALARMLOW
Left click the second instance to select it, then right click and select Rename Variables from the popup menu. fill
in the variables as follows (and close the box by OK):
AlignX 3
EdgeColor 7
FillColor 22
Font 1
PointNo pointno("j4p12")

88 Glossary of Terms

Reference Manual ECS OpStation Editor

TextColor 7
ValueId __ALARMHIGH
Save the picture.
The picture will now display the low alarm limit for the point j4p12 in the first object and the high alarm limit in the
second object. The values will be right aligned black text in Arial normal font, the text rectangle will have a black
edge and a gray fill color. The values will be displayed in floating point format xxxxx.yy.

Faceplates
Faceplates are sub models where all the dynamics are related to an activation point. In OpStation a faceplates is
activated by right click on a point and then selecting Faceplate from the popup menu. A window with the faceplate
will then pop up. The dynamics on the faceplate will relate to the point you clicked upon. An example of a faceplate
is the PIDFace, which is discussed in the section "PIDFace example".

Creating Faceplates
When creating new faceplates the following guidelines should be observed.:
Location of faceplates files. Faceplates must reside in directory FlsaGmsPic\Faceplates So when saving a
faceplate in the editor make sure to select this directory.
Model properties of faceplates. Faceplates do not have the standard model size and background color. So when
starting a new faceplate select menu Model -> Properties .. and change background color and rectangle size in the
model properties box. If the size of the work area does not change after this, save the model and reload it again
(GMS peculiarity).
Dynamics. Preferably use OpenGms dynamics (palettes opengms_dynamics_1 and opengms_dynamics_2). This
will allow you also to instantiate a faceplate directly in a standard mimic picture. For such an imbedded faceplate
you use Rename variables to assign a point number for the variable $. You may use classic dynamics in a
faceplate, but in that case you will not be able instantiate the faceplate directly in a mimic, but only use it as a popup
faceplate.
PointNo use $. When binding variables by rename variables The point number variable should be set to $ as a
placeholder for the activation point. The correct point number will then be substituted upon activation of the
faceplate. If you use classic dynamics, the object owner should also be set to $ for the same reason.

Assigning Faceplates
Once a faceplate has been created you must determine to which class of activation points the faceplate shall be
assigned. There are two ways of doing this.
Assign faceplate to point algorithm. This is done using the ECS OpStation Configuration utility. Here you
assign the name of the faceplate to one or more A- or B-point algorithms. All points having one of these algorithms
will then by default use the assigned faceplate.
Assign faceplate to picture object owner. When you assign an owner to a classic dynamic object in a mimic
picture you may in the same box assign a faceplates (select one from dropdown list). If you do so the assigned
faceplate will apply to that specific object in the picture. This kind of assignment will overrule the assignment by
point algorithm.

Reference Manual ECS OpStation Editor

Glossary of Terms 89

PIDFace Example
In the following we will illustrate how the PIDFace is constructed. The figures below show the PIDFace as it looks
in the editor and as it looks at runtime in OpStation. The PIDFace is exclusively made of OpenGMS dynamics. We
go through the dynamics an explain the Rename variables setting for Point Numbers.

Figure 57 - PIDFace left in editor and right in application


The activation points for the PIDFace are points with a set point algorithm. The PIDFace not only shows information
directly for the set point, but also for points related to the set point (reference points). Therefore it is required that
the set points have the following reference points attributes defined (see Point Configuration):
Reference point 1: Process point
Reference point 2: Output point
Reference point 4: Control mode point
Reference point 7: Auxiliary point (optional)
Point number setting for the instantiated objects are as follows:
PntText is the point text for the set point. PointNo = $
First PntCode is point code for the proc. point. PointNo = pntint(__REF_PNT1, $)
Second PntCode is point code for the set point. PointNo = $
Third PntCode is point code for the outp. point. PointNo = pntint(__REF_PNT2, $)
Fourth PntCode is point code for the aux point. PointNo = pntint(__REF_PNT7, $)
Fifth PntCode is point code for the mode point. PointNo = pntint(__REF_PNT4, $)
First PntVal is point value for the proc. point. PointNo = pntint(__REF_PNT1, $)
First PntValEnt is point value entry for the set point. PointNo = $
Second PntValEnt is point value entry for the outp. point. PointNo = pntint(__REF_PNT2, $)
Second PntVal is point value for the aux. point. PointNo = pntint(__REF_PNT7, $)

90 Glossary of Terms

Reference Manual ECS OpStation Editor

Third PntVal is point value for the mode point. PointNo = pntint(__REF_PNT4, $)
LangText (LT) are text constants in current language. For the manual mode button TextKey = "lngManual".
Similarly for the other instances.
PntThermoVer is thermo value for the process point. PointNo = pntint(__REF_PNT1, $)
First PntSlider is Thermo val entry for the set point. PointNo = $
Second PntSlider is Thermo val entry for the outp. point. PointNo = pntint(__REF_PNT2, $)
fls_m_mode_diamon. is mode switch button for the mode point. PointNo = pntint(__REF_PNT4, $). BitVal
= 1. The BitNo variable is in range 0..4 the down most button having BitNo = 0 and the topmost BitNo = 4.
fls_m_percent_up, fls_m_percent_up_small, fls_percent_down, fls_percent_down_small are percent
change buttons. They apply to the output point if the mode is manual otherwise to the set point. PointNo = $.
ManModeMaskBits = 1, ManModeValueBits = 1 (bit 0 is 1 for manual mode).
Left fls_m_facepopup button shall popup up plcparameterface for set point. PointNo = $. FaceplateName =
"plcparamface".
Right fls_m_facepopup button shall popup up pidtrend for set point. PointNo = $. FaceplateName =
"pidtrend".

Bitmaps
Bitmaps may be inserted in a picture as static objects. The bitmaps are full scalable.
To insert a bitmap in a picture do as follows:

Make sure the bitmap exists as a file <filename>.bmp ( or


<filename>.i) on directory FlsaGmsPic\Bitmaps

Open the picture into which you want to insert a bitmap.

Select menu File -> Import -> Bitmap

From the bitmap name list select your bitmap file and click at
position in picture where the bitmap shall be placed followed by right click and Done
Note that the bitmap file must reside on the Server. If OpStation is started on a Client all mimic pictures and bitmaps
will be copied from the Server to the Client (if not already there). However, this implies that if you create a new
bitmap you must restart OpStation to view it on a Client, or you must copy the bitmap file by hand to the Client.

Reference Manual ECS OpStation Editor

Glossary of Terms 91

Active X control support


Opstation has limited Active X control support. Active X controls should be more or less self contained.
In order to insert and ocx Select menu Edit -> Insert Active X Control. Select the wanted active X from the list.
Scale an move it afterwards to the right position.
To initialize the control properties can be set from an access database lying in ProDB. In order to specify the
database and table enter Rename Variables and rename ole_stream to <database>;<table>
The table should have the following fields.
DispID Dispatch ID of property. Number - Long Integer.
VarType Property type. Number - Long Integer
Value Property value if not Date or Text. - Number - Double
Date Property value if Date type. - Date/Time
Text Property value if text type. Text or Memo.
The VarType are given as.
2

2-byte signed integer.

4-byte signed integer.

4-byte real.

8-byte real.

Date.8 String.

11

Boolean; True=-1, False=0.

If the properties has to be set in a given order a primary index key kan be made to control the order. In order to find
the DispatchIDs a tool like OLEVIEW can be used.

Converting Pictures From VMS


Old pictures made for a VMS syste
m may be transferred to an NT system. As the internal format for classic dynamics has changed it is necessary to
convert the VMS pictures before they can be used on NT.
The utility GMS Convert does this. The utility can also be used for other picture file manipulation such as converting
.g files to .m1 and vice versa.
See the description of GMS Conversion utility for further details.

92 Glossary of Terms

Reference Manual ECS OpStation Editor

Glossary of Terms

Faceplate
Popup window with dynamics related to activation point (point clicked upon)

gismo
Graphical Interactive State Management Object. Any object with dynamics behavior

GMS
Graphical Modeling System by SL

MSW
Machine Status Word. Contains the actual bit values for a B-point

SL
Sherrill Lubinski Corporation. Supplier of the GMS product

Index

S
symbol offset 8, 38

Das könnte Ihnen auch gefallen