Exercises FT10 - 02 SM R2.5
Exercises FT10 - 02 SM R2.5
02
Exercises
© 2016 by Yokogawa. No part of this document may be reproduced or transmitted in any form
or by any means, electronic or mechanical, including photocopying, recording or by any
information storage or retrieval system without written permission from Yokogawa Training
Center Europe.
In this document you’ll find training exercises that have been carefully put together to give an
overview of all the functionality of FAST/TOOLS. It will teach you how to use the graphic editor
and engineering environment to build and extend applications.
FAST/TOOLS have undergone tremendous changes over the years. After leaving the old C-
operator interface from version 8.4 to R9.01 the last JAVA implementation step took place in
R9.03 by updating the engineering environment. From than the engineering module is
completely web based and can be accessed from anywhere in the network. With R9.04 and
R905 playback functionality, X-Y Plot, Alarm to email functionality, ASPA, AGA calculations,
Engineering Enhancements, OPC UA, and other features has been added.
With version R10.01 a major release the introduction of the Enterprise Operations.
Enterprise Operations makes it possible to connect different FAST/TOOLS systems used at
various levels of the organization and share information between them through process
displays. Java language support for PROCESS/FAST with gives the engineer the freedom to
make it even possible to design your own equipment manager if required.
This makes it possible to modify the same property in different ‘views’. It is impossible to create
example screenshots for each possible view and maintain a comfortable workflow in this
document. Therefore the screenshots that are used in previous versions of this manual can be
recognized. However the trainee may do the exercises using the most comfortable view to
him/her.
Before we can work with the application we’ll need to install it. In this training FAST/TOOLS will
be installed as a single stand-alone F/T-server on Windows. In this exercise we will be looking
at the FAST/TOOLS program group and explore some of its applications.
To install FAST/TOOLS on a Windows system, open the Windows folder and then the FT folder.
The setup file for installing FAST/TOOLS 10.02 should appear.
The FAST/TOOLS Licensing authorization wizard is used to activate a license. The license
determines what type of ‘Node’ this system will be, for instance: Server, Web HMI Server, OPC
Tunneler, etc. In this training a Server license is used.
In the next dialog choose “I want to use the FAST/TOOLS license file” and click Next.
Note: It is recommendable to copy the *.lic file to the tls directory to keep it together with the tls.
Licensing is done based on a node name and node number; the whole configuration is tied to
this number and name. It is important to realize that it is not possible to change the node
number of a system. The configuration will be deleted when doing so. There are ways to extract
the configuration from a system and then insert it into a new system with another node number
but it is good practice to order the required licenses right away when starting a project.
Next we’ll have a look at a number of modules of FAST/TOOLS. With respect to the previous
version the Edit module (Enterprise) is part of the Enterprise Operations. This can be switched
on and off by the dur.sup setup file and give the user enterprise rights by the user administration
in the engineering module.
And for the FAST/TOOLS user the option enterprice user must be convigured.
After changing the setupfile and adding enterprise rights to the F/T user restart FAST/TOOLS is
nessesary. As last stap, open an command prompt, and give the following command: fast_clear
–a and conform with Y, (with this last step the FAST/TOOLS tree loads it’s predefiend settings).
This monitor is one of the first places to look when something works unsuspected. The
information it gives is important to note when requesting support.
The General tab shows license information; it relates to the imported license file.
Very important is the Free common space, High common used and Free event handles
information. It shows how much memory is available and used. The High common used value
should never reach 100 %.
A report with all information about the installation can be generated when the button “Report” is
pressed. Generate a report and inspect the information in it.
It gives a quick indication about the status of FAST/TOOLS and shows if everything is alright.
The Processes tab is also very important as it shows information about each FAST/TOOLS
process.
The Locks tab contains information about Locks and Collisions. This is only of use to advanced
users.
The Nodes tab shows information about connected FAST/TOOLS systems. In a stand-alone
system this page is empty.
The Version tab shows information about the most important components of FAST/TOOLS. This
information can be very helpful in case of a version related questions.
The Diagnostic tab is used to specify the level of system monitoring. The state of a
FAST/TOOLS system can be monitored continuously and the gathered information can be
stored for later reporting and analysis. This tab is used to define the level of information
gathering. The report button generates a zipped file with collected information and project
configuration information. This file can then be passed to a certified FAST/TOOLS engineer for
analysis.
Most setup files will never be modified in a project, only some of the files are of interest. The
actual files are located in the “sup” folder:
Especially the language manuals of PROCESS/FAST and REPORT/FAST are very important to
use when working with classes or reports.
It is important to read the Release Notes for each release because they show vital information
about new features, changes and solved issues.
Project storage
Before starting with engineering, it is recommended to make a copy of the clean/empty tls.
The tls is made up of 2 folders which contain a complete FAST/TOOLS project: program, setup
files, database, graphics and licenses. These folders are located in:
C:\Program Files\Yokogawa\FAST TOOLS\tls
C:\users\public\yokogawa\tls
To work with different projects it only requires to rename the required tls_proj_xxx folders to tls,
as FAST/TOOLS always runs the folders that are named tls in above directories.
To make a backup of a project, simply copy both folders to a backup location.
This exercise focuses on the I/O processing branch of the Engineering Module.
Copy the limits from the example above for the pressure indicator items.
Open the dialog for PT-001 and fill out the following table status for each value; this can be
done by overwriting the value manually.
Value Status
5
15
50
85
95
Look at the item value and see how it behaves when you try to change it.
The item value list can be reached by clicking with the right mouse button on the item (or items)
and selecting List item values. The values shown in the list are the actual real time value(s).
From the dialog it seems that the new value is used but as you can see from the item value list it
is not.
How does the alarming function now? Draw the deadband into the graph below.
100
Pressure
90
80
70
60
50
40
30
20
10
Time
In this exercise we’ll create some users and play with them.
3.1 Users
Add under ‘Authorization group’ the group “ALL” with credentials to modify every dataset.
This list determines what a user is allowed to do in the engineering environment and in the
operator interface.
Note: You will have to enable authorization in the Engineering Module. Go to the Setup File
Editor, edit description ‘Web-HMI Engineering Module’ and set the Login method to ‘MANUAL’.
Save the changes and restart the Engineering Module. (Make sure that the earlier used block
option is switched off).
4.2 Acknowledgement
The acknowledgement matrix allows the engineer to specify how a change of item status is
handled in respect of alarm acknowledgement (automatic or manual by the operator). Add the
acknowledgment type “manual”. Open up the “Alarming” branch and then insert an
“Acknowledgment type” by right clicking on the branch.
The acknowledgement matrix is triggered every time the status of the item changes (for
instance from H to HH). If the checkboxes are ticked the new alarm state is automatically
acknowledged. If not ticked manual acknowledgement from the operator is needed.
The functioning of the acknowledgement matrix can be explained as follows.
In the acknowledgement matrix start always at section (1) ‘Current alarm state’ and pick the
current situation at section (2). After an item status change pick the new situation by moving in a
horizontal direction to the new situation in section (3). If that box is ticked on the new alarm state
is automatically acknowledged, else manual acknowledgement is required. After manual,
automatic or no acknowledgment you’re back at (1), choose the new alarm status at (2).
For example, if the current alarm state is Alarm 1 Ack, and the new alarm state is No alarm,
then the new alarm state will be automatically acknowledged. If however the current Alarm state
Alarm 1 and Nack, then a change to No alarm will require an acknowledgement of the Operator.
Start the Operator Interface and open the current alarm overview. Generate an alarm on one of
the pressure indicators and see how the alarm is shown. A new alarm will have an
unacknowledged state and after acknowledging the alarm it will go to an acknowledged state.
Now go from a normal value to a value that would generate an alarm and back again within 15
seconds. What happens?
4.6 Semi-automatic
Add an acknowledgement type that allows manual acknowledgment, by keeping all the
checkboxes unchecked. Add also a semi-automatic acknowledgement when going from an
acknowledged Alarm 3 to an Alarm 2 and from an acknowledged Alarm 2 to an Alarm, see
screenshot below.
To filter on priority 1 alarms only, you’ll need to create a so called ASA filter. Add an ASA called
PRIO_1_ONLY. Type the command ‘prio = 1’ in the ‘code’ area and press the Compile button.
The compile button will appear after saving and opening the filter.
After starting the Operator Interface, open the display ‘current alarm list’.
5.1 Class
In the engineering module under processing\classes, individual classes can be added.
To animate some control we will add a simple class. Copy the code from the class below:
{+---------------------------------------------------
|
| Name : CONTROL
|
| Version : 0.1
|
| Author : Tools
|
| Description : Class to simulate valve response
|
+---------------------------------------------------}
CLASS control;
PROLOG
BODY
METHOD start_timer;
ENTRYCONDITION TRGSIG(s_control);
t_runtime := 5;
ENDMETHOD start_timer;
METHOD do_action;
ENTRYCONDITION TRGTIM(t_runtime);
s_status := s_control;
ENDMETHOD do_action;
ENDCLASS control;
The class functions as follows: the status signal s_control is defined as trigger signal. Every time
it’s value changes it triggers the class body. The method start_timer is programmed to run on
this trigger.
It sets a timer to 5 seconds, which is used to trigger the method do_action. This method copies
the value of s_control to s_status.
In a real life situation changing the value of the control signal MV, which corresponds to
updating the value of the connected item, would result in an action at the attached controller and
will be reflected in the status change of for instance a valve.
5.2 Objects
For each of our control elements an object instance of the control class must be added.
The idea behind this is that you don’t have to fill in complete item names.
Note that you’ll need to re-insert the objects after making a change like this in the class,
because the interface to the outside world of the class has been modified. PROCESS/FAST can
not automatically convert the old to the new situation.
Note: If you have made changes to the class, you always have to compile it. If objects are
already attached then you also have to reset the class after the modification. Resetting the class
automatically resets all linked objects to that class. It is also possible to reset only one object,
from the object context menu. Resetting ensures that modifications made to the class take
effect in the derived objects.
Delete the objects and insert the objects in the table below.
Object PV item MV item
STATION1.COMPRESSOR.SOV-001 SOV-001-PV SOV-001-MV
STATION1.COMPRESSOR.SOV-002 SOV-002-PV SOV-002-MV
STATION1.COMPRESSOR.P-1002 P-1002-PV P-1002-MV
Test all objects to see if they work by changing the value of the MV item.
If you didn’t succeed in changing the class; here’s the code:
CLASS control;
PROLOG
BODY
METHOD start_timer;
ENTRYCONDITION TRGSIG(s_control);
t_runtime := 5;
ENDMETHOD start_timer;
METHOD do_action;
ENTRYCONDITION TRGTIM(t_runtime);
s_status := s_control;
ENDMETHOD do_action;
ENDCLASS control;
After inserting the items force a Roll-over (right click on the group (SCAN_1_SEC) and select
from the context menu). Wait a few minutes then open the Operator Interface and use the
default trend to see the result.
In this exercise we’ll look at the quickload utility. Quickload is a very powerful way of exporting,
importing and modifying configuration data of FAST/TOOLS. The Quickload utility will be started
from the command prompt (start windows -> run -> type: ’cmd’ ).
Example, (try)
dssqld –e my_items –d item_df
(This command will generate a data dump file containing all items, with the file name:
my_items.qli)
Inspect the file my_items.qli and see how the data is dumped.
The “-d” option followed by a dataset name allows you to dump a specific dataset.
dssqld –e section.qli –d section_df
Change the generated qli-file, by adding new station and import it into FT.
dssqld –i section.qli
Modify file, with the option blocked and visible via OPC (changing the 0 into 1)
dssqld –m section.qli
Check in the engineering module if the station is blocked and visible for OPC.
@SELECT
@ITEM_DF
Create an export file that exports only the item name, description and limits of the items (4x).
Save the export file as: my_limits_exp.qli (also in the command directory).
To run the export file use the following command:
dssqld –e my_limits my_limits_exp.qli
Now use the modify option of dssqld to change the limits in FAST/TOOLS. The “-m” flag allows
you to modify fields.
dssqld –m my_limits
Inspect the limits in the HMI to check the intended changes.
Hint: look for the keywords SPOOL and EXPORT in the REPORT/FAST language manual.
9.2 Pump
Next we’ll be drawing a pump in our newly defined display. Our pump is built from four
elements: two rectangles, a circle and a triangle. Use the polygon to draw the triangle.
Arrange the four elements and combine them into one using the unite option. To unite the
elements select them, (by using the SHIFT key) right click and choose the unite option from the
shaping menu option.
Now start the operator interface, log-in using the “User” credentials and open the display by
typing the name in the display name bar. The fill color of the pump will change when modifying
the item value of P-1002-PV from the Engineering Module.
This demonstrates how easy it is to use the status color for animation. It is very important to
realize that not all changes to an item definition are immediately populated. To explain briefly
how the mechanism works: when you open a display the system subscribes to value and status
changes for each item used in that display. It does not subscribe to changes in the definition,
changing the color definition is such a change. After you’ve changed the status color for a
certain situation this means that the info server needs to be restarted. In most cases this means
you’ll restart the operator interface.
Drag and drop a number-field (‘9’) in the Edit Module work field, before pressing enter put some
numbers into it to maintain the visibility of the number field. The format that is specified in the
item definition will be used in the display.
Connect the value property to the item value attribute of the PT-001 pressure indicator item.
Connect the Format property to the item value format attribute of the PT-001 pressure indicator
item.
Connect the rectangle fill paint to the status color of the item.
By connecting the acknowledgment status of the item to the blinking property of the
background we’re able to indicate the attribute Acknowledged
Open the display, modify the value from the item in the operator interface and see how the color
changes when the status changes. The default colors from the item status table are used for the
different alarm statuses.
Now change the behavior a little by setting a blinking color. (Blinking paint property)
Notice the difference in appearance: the border also disappears when a blinking paint is not set.
With the blinking color is set it will blink between this paint and the fill color (blinking paint
property).
9.5 Buttons
To animate the pump from the graphic add two push buttons.
Add two push buttons to the display from the previous exercise (Main) and connect them to the
pump control item. The “Start” button will set the control item to 1, the “Stop” will set the item to
0.
To have the button set a value, add an action that sets the item to 1(start) or 0(stop). Click on
the button, then add an action in the Actions sheet.
Open the display again, the buttons will allow you to animate the pump now.
9.6 Slider
Add a slider and connect its value to the item used by the indicator. The range of the slider is 0
to 1, set the slider to “track drags” for following the slider value.
Open the display again in the operator interface and move the slider.
10 Parameters
Then add a slider and connect the value property to the level parameter.
The range of the slider is set from 0 to 1. Then reopen the display again to test the result.
Note that parameters that are used get marked in the “used” column. Right click on the
parameter and select “Usage” to reveal where parameters are used.
Click on one of the “usage results” to highlight the component in the display where the
parameter is actually used.
Now re-open the display and watch the level go up and down by itself. Animations like this can
be enabled/disabled easily because all functions have an enable property that can be controlled
using a Boolean value.
In this exercise we will focus on layers and what you can do with it.
11.1 Zooming
We will add some text which will be visible starting from a certain zoom level.
Add a layer to the display called “Info”. Rename the existing layer to “Display”
Select this new layer and add some text using a small font to the pump.
Then select into layer and add it to the visibility group of the Info layer to “detail”.
The text will now disappear and only appear again when you zoom in (zoom in a lot).
Note: In the “visibility group” sheet you can see details of the visibility group and what the zoom
percentages are.
The layer will now be the first in the list indicating that it is the bottom layer.
Notice that as you draw the rectangle it is now automatically placed behind the other
components.
Add a toggle button in the layer called Display (!) that will be used to switch the visibility of the
layer on and off. Add a local parameter called ToggleBackground and connect it to the value
property of the button.
Instead of using a pattern you could of course also use for instance a technical drawing of the
facility. The layers functionality opens up many possibilities.
This exercise is a small excursion into xml land. We’ll look at the layouts file and change some
properties.
Please make first a backup of this file Use notepad++ available on the trainings DVD under
software nppp.
Open the layouts file and search for the “popup” layout.
<layout
name="popup"
title="$default"
drawBorder="true"
sizingAllowed="false"
minimizingAllowed="false"
closingAllowed="false"
alwaysOnTop="true"
modal="false"
initialPosition="atCursor"
initialPositionX="0"
initialPositionY="0"
initialSize="fitFrames"
initialSizeWidth="120"
initialSizeHeight="200"
maximumOpen="2">
<frame-set rows="1*">
<frame
name="default"
zoomingAllowed="false"
initialDisplay=""
borderStyle="none"/>
</frame-set>
</layout>
Check that the value of the keyword “closingAllowed” is set to “true”, this will enable you to close
the popup using the close button of the windows frame.
Also change “maximumOpen” to “2” alllowing only two popup of this type to be open at all times.
In this exercise we will look at localization and add some translations to the configuration.
Create a new language by selecting one from the “Add locale” combo box and then click on the
Add button next to it.
If your native language is English you can either add another language that you speak or use
the Dutch example. After adding the ‘locale’ a column will appear with the abbreviation for that
language. Now add translations for the words in the following table in your language. Note that
Chinese and Japanese character sets are supported.
English Dutch
Start Aan
Stop Uit
RUN LOOPT
STOP GESTOPT
OPEN OPEN
CLOSE DICHT
To add the translation in the second column (nl), double click in the right column.
After entering the translations it should look something like the previous screenshot.
Now restart the operator interface and log on as ‘user’ and see the result.
The translation of all menu options is configured in the Layouts file (last part of the file).
The localization feature makes it very easy to have a multi lingual operator interface where each
operator can have its own preferred language.
In this section we will look at dynamic symbols and create a valve that is connected to our
control class. Also a popup will be added to the valve to control it.
14.1 Valve
In this exercise we will create a valve that is animated using the status change of the valve.
Add a new symbol named “ShutdownValve” and select the class CONTROL to establish
connection with it.
Now draw a Shutdown Valve using a polygon line. It is good practice to align the symbol always
in the center-cross of the symbol display. Connect its Fill Paint to the status signal’s status color.
Notice that the tab “items” are disabled and “Signals” are available now that the control class is
assigned to the symbol.
The result of this transformation will be that the valve is rotated 90 degrees vertical when it is
closed and horizontal when it is open.
Letting the valve blink in case of an unacknowledged alarm can be achieved by connecting the
“Acknowledged” property to the “Blinking” property of the valve. The value needs to be inverted
using a threshold because the valve should blink when Acknowledged is False.
Now go back to the (main) display and insert the symbol twice and connect to each one an
Object (SOV_001 and SOV_002).
Note: The Object is connected to the Value of the property, not the “Connected to” entry point.
14.2 Popup
To control the valves we’ll add a popup. Create in the Edit Module a new display named
“ShutdownValve” with size w160 h200 and change the grid size to 4 by 4.
This allows for connection to all the signals in the object directly, there is no need to pass
individual parameters.
Now add two push buttons (Open and Close) and add an action to them to set the value of
signal s_control. Open will set the value to 1, close will set it to 0.
The display title will now dynamically change depending on what valve is selected.
Before you can try to open this control popup, a link with the valve symbol needs to be made.
Open the valve symbol and draw a rectangle on top of the valve. Adjust the transparency of the
Fill Paint Property to 1 to make it invisible.
Note that after selecting the display ShutdownValve to open a list of “parameters to pass” will
appear with the external parameter. Select the “Ref” checkbox and then reference to the
parameter “attachedObject” that is predefined in the symbol. This parameter automatically gets
its dynamic information from the object linked to the symbol that is calling the popup. All signals
of the class are now available in the popup.
After these types of changes the main display needs to be validated again.
During validation the system checks and updates the dynamic links to the FAST/TOOLS
database (e.g. items, objects, etc.) To validate the display go to the menu “Tools” and select
Add a text in the ‘ShutdownValve symbol’ and connect the tag of the status signal to it.
Add an additional global parameter called Information (type Boolean) that will be used to
hide/show the tag info.
In the main display we will add a Toggle button that toggles the parameter Information.
This Information parameter must be created both in the ‘ShutdownValve symbol’ as well as in
the (Main) display.
Note: Global parameters must be created on each display and symbol individually where they
are used.
The tag name can now be shown and hidden by pushing the Information button.
In this exercise we will create a dynamic symbol without using PROCESS/FAST. This powerful
feature of FAST/TOOLS allows you to build even better typicals. The pump that we made before
will be transformed into a symbol with control popup.
Now copy the pump from the display we made and paste it into MyPump symbol, after that
delete the connections with the pump status item. Click on the symbol, from the symbol
properties select the connected items and click on the trash basket to delete the connections.
Click on the value column of the PV and MV properties to connect them to the ‘pump’ items.
This will make the pump dynamic again.
Add a display called “ControlPopup” with size 120 x 200. Place two (push) buttons on it for
Start/Stop function. We will label them “On” and “Off” and change the label dynamically using
external parameters.
Then connect the MV parameter to the On and Off buttons like we did in the popup for the
valve. On action it should set the value to 1 (On button) or 0 (Off button).
Add a text component and connect it to the status text of the PV parameter.
The “Parameters to pass” need to be linked, note that we can now enter whatever text we like
for the On and Off button. For a valve this would be Open/Close, for a controller it could be
Auto/Manual.
Add actions to the open event and close event that will set the locking of the MV and reset the
locking. Also add an event that will close the popup when the locking bit turns zero. A timer on
the locking-bit will automatically reset it after a predefined period. (Default 60sec)
Click on the canvas to add the actions to the ControlPopup display. The entry action sets the
value of the attribute Locked to 1.
The attributes of an item parameter can not be used for a display action; this means we’ll need
to copy the locked value to a local parameter. Create (in the ControlPopup display) a local
parameter of the type Boolean named LockedBit.
Connect the value of the parameter LockedBit to the Locked attribute of parameter MV and
make sure the direction is correct: the MV should write into the LockedBit value.
Now add an Event to close the display when LockedBit is zero. (in ControlPopup screen).
Add a layer called ‘selected’ to the symbol and draw a rectangle in it to cover the pump. The
edge should get a green color (Stroke paint); the fill should be transparent (change the
transparency of the fill color – not the overall transparency).
The tooltip text of the rectangle can be connected to the locked user attribute of MV to show
who is controlling the pump.
Setting up a connection to (new) field equipment e.g. Stardom, ProSafeRS from FAST/TOOLS
is done under I/O Processing in the Engineering Module.
This appendix will explain how to add a Stardom station inclusive I/O points. The procedure is
similar for other equipment.
Note: Only a subset of Equipment drivers are installed during the ‘standard’ installation. During
installation (under custom) it is possible to specify which equipment drivers must be installed.
Choose the type of Station you want to add, in this example a STARDOM Station.
First define a line. The equipment process name will propose a default name, it is ok to use this.
Note: For each line a separate equipment process and setup file is created.
Next add a station, under ‘Line’ choose the line just created
The IP address can either be specified in the line or station definition. The station IP address
overrules the line IP address.
In the Options tab it is possible to define scan rates, etc.
For STARDOM equipment the list of available I/O points can be found in the ADLST file, located
in the Logic Designer project folder. An example is found below, an example of an I/O address
is: Main.TT106.AOFS. or Main.sine.
Remark: If you make a change in the equipment tab of the item definition or in the point
definition itself, on both sides it will be updated (e.g. I/O Address).
This appendix will show how to add an OPC-DA station. As example a connection to Matrikon
OPC simulation software is taken.
Note: To FAS/TOOLS 9.05 version OPC-UA Client functionality has been added.
Add a station, select the newly added line and configure the correct OPC node (in this case the
pc where you working on)
Add a group, set the deadband to 0 (this value is in percentage and can reduce the network
load). The specific group will be updated when the value change is larger than the specified
deadband.
Connect an analog OPC tag to it. To see the incoming value, connect this point to a
FAST/TOOLS item.
The Matrikon software will automatically run on the background, at the Matrikon side no
configuration is required.
Note: It is possible to create items from PROCESS/FAST. This is only possible when template
items have been defined, to which PROCESS/FAST references.
See the example below, or for a more detailed explanation see appendix C.
{+---------------------------------------------------------------------------
|
| Name : CONTROL
|
| Version : 0.1
|
| Author : Tools
|
| Description : Class to simulate valve response + creates items in prolog
|
+---------------------------------------------------------------------------}
CLASS control;
PROLOG
{create pv item and point based on template item and point, and insert item in
'EVENT_BOOL' history group}
SIGNAL s_status STRING := FROM "SYSTEM.TEMPLATES.BOOLEAN;TEMPLATE-
STATION:TEMPLATE-POINT" MAKE
"NAME" EQUAL SECTION || "." || a_status
"IO_ADDRESS" EQUAL a_io_address || ".pv"
"STATION" EQUAL a_station
"item'DESCRIPTION" EQUAL a_status || "item"
"HIS_GROUP1" EQUAL "EVENT_BOOL";
{create mv item and point based on template item and point, and insert item in
'EVENT_BOOL' history group}
SIGNAL s_control string := FROM "SYSTEM.TEMPLATES.BOOLEAN;TEMPLATE-
STATION:TEMPLATE-POINT" MAKE
"NAME" EQUAL SECTION || "." || a_control
"IO_ADDRESS" EQUAL a_io_address || ".MV"
"STATION" EQUAL a_station
"item'DESCRIPTION" EQUAL a_status || "item"
"HIS_GROUP1" EQUAL "EVENT_BOOL"
TRIGGER VALUE;
BODY
METHOD start_timer;
ENTRYCONDITION TRGSIG(s_control);
t_runtime := 5;
METHOD do_action;
ENTRYCONDITION TRGTIM(t_runtime);
s_status := s_control;
ENDMETHOD do_action;
ENDCLASS control;
When an object is added, the items are automatically inserted based on what is defined in the
associated class. As is visible from this example, properties for the created item can be
specified too, and it is even possible to directly insert items in existing history groups. This
method is used often in projects.
Simulation class
Now create a class that generates some random behavior for the two pressure indicators. Refer
to the PROCESS/FAST language manual to see how this can be achieved.
Hint: use the built-in function RANDOM and also prompt for an offset and multiplication factor of
the random number.
After the class is created also insert two instances of the class for the two pressure items.
In PROCESS/FAST it is possible to program a class such that it creates items & points
automatically when an object is inserted based on template items and template points. This
appendix explains what configuration is required.
{+------------------------------------------------------------------------------------------------------
| | Name : CONTROL
|
| Version : 0.1
|
| Author : Tools
|
| Description : Class to simulate valve response + creates items in prolog
| +-----------------------------------------------------------------------------------------------------}
CLASS control;
PROLOG
ATTRIBUTE a_status STRING; {Attributes are external variables to a class, and will assigned by an object}
ATTRIBUTE a_control STRING;
ATTRIBUTE a_io_address STRING;
ATTRIBUTE a_station STRING;
{create pv item and point based on template item and point, and insert item in 'EVENT_BOOL' history group}
SIGNAL s_status STRING := FROM "SYSTEM.TEMPLATES.BOOLEAN;TEMPLATE-STATION:TEMPLATE-POINT" MAKE
"NAME" EQUAL SECTION || "." || a_status
"IO_ADDRESS" EQUAL a_io_address || ".pv"
"STATION" EQUAL a_station
"item'DESCRIPTION" EQUAL a_status || "item"
"HIS_GROUP1" EQUAL "EVENT_BOOL";
{create mv item and point based on template item and point, and insert item in 'EVENT_BOOL' history group}
SIGNAL s_control string := FROM "SYSTEM.TEMPLATES.BOOLEAN;TEMPLATE-STATION:TEMPLATE-POINT" MAKE
BODY
METHOD start_timer;
ENTRYCONDITION TRGSIG(s_control);
t_runtime := 5;
ENDMETHOD start_timer;
METHOD do_action;
ENTRYCONDITION TRGTIM(t_runtime);
s_status := s_control;
ENDMETHOD do_action;
ENDCLASS control;
After updating the class according the example above, the following points must be in place.
Add under Equipment, Stardom-FCX a template line, add template station, and template point,
according to the specified names used in the class.
Configure the template item for example alarming properties. These properties are inherited by
the items created from the class.
The class can only create items and points, it cannot create a line and a station. In order to add
points to a station this means the line and the station must be defined before the object is
added.
With Playback functionality all Operator actions can be recorded. In case of an escalation or
incident the recorded actions of the operator can played back, actions like alarm
acknowledgements, mouse movements and mouse clicks etc.
Playback functionality (both recording and playback) can be accessed from the menu in the
Engineering Module, Graphical Editor and the Operator interface.
However it is also possible to add this functionality in a display, from the display it is then
possible to start and stop recording and to playback what has been recorded.
This appendix gives an example why this can be useful: the time line of the playback player will
be linked to the alarm time in an alarm banner. This makes it possible to click on an alarm, and
view in the Playback player what actions have been taken around this alarm time.
Similar functionality can also be added to a trend (linking trend time axis).
Select the playback symbol and connect the parameters Playtime, Recording and Viewer to the
playback component.
Tip: Put the operator interface and the playback viewer next to each other on the screen.
Introduction
The mobile operator is one of the new features in FAST/TOOLS, and the development is still
expending. Currently it is not a one on one replacement for the Web HMI Client but certainly
worth to try and discover its functionality.
General information
Introduction supported components In FAST/TOOLS Edit Module many of graphical
components that can be used. The mobile operator supports a large number of them. Please
note that the mobile operator functionality will not support the same functionality as the standard
operator function.
Supported browsers
Some short background information, the mobile operator makes use of HTML5. At this moment
the level of implementation of HTML5 varies in different browsers. The mobile operator is tested
and supports for the following browsers: Google Chrome, and Safari.
Layouts
For the mobile operator there are two mechanisms that can be used. The first option is working
without layouts using Plain HTML5 and the second option is working with Layouts.
Browser cookies
In the browser the option Cookies in java-script must be enabled to show the mobile operator
displays.
Using a layouts
In case of using layouts the mobile operator displays are similar in the browser environment
there is more control over the page-layout. Text field alignment in HTML may not always
perfectly match with the standard alignment of (default) operator interface.
To get the layouts converted the following command can be used form the command prompt.
Starting it from C:\Users\Public\Yokogawa\tls\wap\mobileoperator\layout (this way the files end
up in the correct folder). The output file should be a list of HTML files.
Enable the mobile operator functionality by default the mobile client web server (servlet) is
disabled. To enable the mobile operator functionality the following needs to be done on the
server side.
• Enter the URL localhost:8080/mobileoperator in your web browser and the login window will
appear.
Make a display in the Default Edit module, safe it and close the display.
From the edit module display tree select the display that should be converted, in our case main,
use the right mouse button and choose the option ‘export selected as HTML”.
Testing
To test the mobile operator displays on the local machine Google Chrome browser can be a
good help.
To start/test the mobile display typing the following in the chrome browser:
localhost:8080/mobileoperator
Log in with the user that has set the mobile operator initial display.
During the training the Chrome browser is added to the trainings DVD under software.
After every modification of the mobile operator displays the display has to be exported and the
history from the browser has to be cleared.
The Chrome browser supports an error log and can be started by the key combination CTR
Shift I incase extra information is needed.
Further reading:
Release Notes F/T 10.02: IM50C04C02-01EN/10.02
Fast Conventions: IM50A01A00-01EN/10.02
Release Notes F/T 10.01 sp2: MO-0.2