Documente Academic
Documente Profesional
Documente Cultură
04
Exercises
2010 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.
Date February 2009 June 2009 June 2010 October 2010 June 2011
Description First release. Small corrections. Release R9.03 Small corrections. Release R9.04
Foreword.................................................................................................................................... 5 1 Installing FAST/TOOLS....................................................................................................... 6 1.1 Auto run ....................................................................................................................... 6 1.2 Stand alone FAST/TOOLS system .............................................................................. 6 1.3 Licensing ..................................................................................................................... 8 1.4 Message-log ................................................................................................................ 9 1.5 Performance Monitor ..................................................................................................10 1.6 Setup File Editor .........................................................................................................12 1.7 Documentation............................................................................................................13 2 I/O Processing ...................................................................................................................14 2.1 Installation and unit .....................................................................................................14 2.2 Adding items ...............................................................................................................15 2.3 Modify values..............................................................................................................18 2.4 Blocked.......................................................................................................................19 2.5 Deadband ...................................................................................................................20 3 Authorization......................................................................................................................21 3.1 Users ..........................................................................................................................21 3.2 Process areas.............................................................................................................22 4 Alarming ............................................................................................................................23 4.1 Item status table .........................................................................................................23 4.2 Acknowledgement.......................................................................................................23 4.3 Alarm text ...................................................................................................................24 4.4 Delayed alarm.............................................................................................................25 4.5 Repeat time ................................................................................................................25 4.6 Semi-automatic...........................................................................................................25 4.7 ASA (Alarm Selection Areas) ......................................................................................26 5 Processing .........................................................................................................................27 5.1 Class...........................................................................................................................27 5.2 Objects .......................................................................................................................28 5.3 Simplify the declaration for objects..............................................................................29 5.4 Simulation class..........................................................................................................32 6 Historisation .......................................................................................................................33 6.1 History group ..............................................................................................................33 6.2 Add items....................................................................................................................34 7 Quickload...........................................................................................................................35 7.1 Basic dump functionality .............................................................................................35 7.2 Export specific fields ...................................................................................................36 8 Reporting ...........................................................................................................................37 8.1 Item values .................................................................................................................37 8.2 Item history .................................................................................................................38 9 Graphic editor - basic components.....................................................................................39 9.1 New display ................................................................................................................39 9.2 Pump ..........................................................................................................................39 9.3 Text ............................................................................................................................41 9.4 Numbers .....................................................................................................................42 10 Complex components.....................................................................................................44 10.1 Buttons .......................................................................................................................44 10.2 Slider ..........................................................................................................................45 11 Parameters.....................................................................................................................46
11.1 Local parameter..........................................................................................................46 11.2 Functions ....................................................................................................................48 12 Layers ............................................................................................................................49 12.1 Zooming......................................................................................................................49 12.2 Toggle layers ..............................................................................................................50 13 Layouts...........................................................................................................................52 13.1 Layouts file .................................................................................................................52 14 Localization ....................................................................................................................53 14.1 Add language..............................................................................................................53 14.2 User definition.............................................................................................................54 15 Symbols part 1 ...............................................................................................................55 15.1 Valve...........................................................................................................................55 15.2 Popup .........................................................................................................................57 15.3 Add to symbol .............................................................................................................60 15.4 Tag name ...................................................................................................................62 16 Symbols part 2 ...............................................................................................................64 16.1 New symbol ................................................................................................................64 16.2 Modify display .............................................................................................................65 16.3 Popup .........................................................................................................................67 16.4 Add to symbol .............................................................................................................68 16.5 Exclusive control.........................................................................................................69 Appendix A: Adding equipment .................................................................................................73 Appendix B: Adding an OPC-DA station....................................................................................77 Appendix C: Using signal make structure in PROCESS/FAST. ...............................................79 Appendix D: Recording and playback functionality....................................................................84
Foreword
In this document youll 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 has undergone tremendous changes in the last couple of years. After leaving the old operator interface going from version 8.4 to R9.01 now the next step to R9.03 has been taking by updating the engineering environment. The fantastic new engineering environment (Engineering Module) now is also completely web based and can be accessed from anywhere in the network. To R9.04 playback functionality, X-Y Plot and Alarm to email functionality have been added. With small exercises the working of FAST TOOLS will be explained.
Installing FAST/TOOLS
Before we can work with the application well need to install it. In this training FAST/TOOLS will be installed as a single stand-alone system on Windows. In this exercise we will be looking at the FAST/TOOLS program group and explore some of its applications.
1.1
Auto run
Start the application FT.exe in the root folder of the installation DVD manually if the auto-run feature is disabled. The FAST/TOOLS Installer dialog will appear. Install the following: Acrobat reader (needed for the documentation) FAST/TOOLS documentation FAST/TOOLS
1.2
Use the default installation path on the C-drive. This has benefits when exchanging configurations between colleagues as well see later on.
Choose the option Custom and click next. In the following dialog choose the following components: Server Front-end HMI Equipment Plugins Then click next to install a stand-alone system configuration. In case of prompted install/repair OPC software, acknowledge this.
1.3
Licensing
An unlicensed FAST/TOOLS system will run for 1 hour before shutting down. This allows you to play with the application and see its potential. The FAST/TOOLS Licensing wizard is used to activate a license.
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.
1.4
Message-log
FAST/TOOLS has a very extensive error tracing mechanism. Messages are logged by the so called UMH process. To view real-time messages start the Message-log from the program group.
This monitor is one of the first places to look when something goes wrong. The information it gives is important to note when requesting support.
1.5
Performance Monitor
After FAST/TOOLS is successfully licensed we can start the application. After starting FAST/TOOLS start the Performance Monitor and explore its possibilities.
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. The Tools tab shows which tools are running.
It gives a quick indication about the status of FAST/TOOLS and shows if something is wrong.
10
The Processes tab is also very important as it shows information about each FAST/TOOLS process.
Inspect the Processes tab and refer to the online help (by pressing the Help button) and see what each column is for. 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 issues. 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.
11
1.6
Inspect some of the setup files and look at the help to find out what they are used for. Most setup files will never be modified in a project, only some of the files are of interest for small projects. The actual files are located in the sup folder:
12
1.7
Documentation
The FAST/TOOLS DVD has extensive documentation about FAST/TOOLS. Yokogawa used to supply hard-copy versions of all manuals; stacked together this would make a pile of paper more then 2 meters high! Navigate to the FAST/TOOLS DVD, choose FT install FAST/TOOLS documentation.
Especially the language manuals of PROCESS/FAST and REPORT/FAST are very important to use when working with classes or reports. It is very important to read the Release Notes for each release because they show vital information about new features, changes and known issues and bugs. Inspect the documentation. Project storage Before starting with engineering, it will be recommendable to make a copy of the clean tls. The tls is the folder in with the total project will be stored inclusive license file. For Windows XP this folder is located at: C:\Program Files\Yokogawa\FAST TOOLS\tls For Windows 7 this folder is splint up in two folders located at: C:\Program Files\Yokogawa\FAST TOOLS\tls and at: C:\users\public\yokogawa\tls To work with different projects FAST/TOOLS always runs the folder that is\are named tls.
13
I/O Processing
This exercise focuses on the I/O processing branch of the Engineering Module.
2.1
14
2.2
Adding items
The table below shows the items that need to be added. Name
SOV-001-PV SOV-001-MV SOV-002-PV SOV-002-MV P-1002-PV
Description
Status valve SOV-001 Open/close SOV-001 Status valve SOV-002 Open/close SOV-002 Status Pump 1002
Type
Boolean Boolean Boolean Boolean Boolean
Process Area
1
Alarming
Bool0 = CLOSE & red Bool1 = OPEN & chartreuse green Bool0 = CLOSE & red Bool1 = OPEN & chartreuse green Bool0 = CLOSE & red Bool1 = OPEN & chartreuse green Bool0 = CLOSE & red Bool1 = OPEN & chartreuse green Bool0 = STOPPED & red Bool1 = RUNNING & chartreuse green Bool0 = STOP & red Bool1 = START & chartreuse green Copy alarm limits example 3 pages further. Copy alarm limits example 3 pages further.
Alarm state
Alarm 2 Normal Alarm 2 Normal Alarm 2 Normal Alarm 2 Normal Alarm 2 Normal Alarm 2 Normal n/a n/a
15
Note: Custom colors can also be added to a named color list. You could add project specific colors, making it very easy to change them when needed throughout the project.
16
Copy the limits from the example above for the pressure indicator items.
17
2.3
Modify values
Using the HMI you can modify the value and status of an item and see what happens. Right click on the item to get the context menu that allows you to open the Update value dialog as shown below.
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 5 15 50 85 95
Status
18
2.4
Blocked
Try to change the value of an item when it is blocked. First block the item, right click on the item and choose the block dialog.
Look at the item value and see how it behaves when you try to change it.
Can you change the value? Verify the value by using the item value list.
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.
19
2.5
Deadband
Enter a deadband of 1 for the pressure transmitter item to avoid too much repetitive alarm messages.
How does the alarming function now? Draw the deadband into the graph below.
Pressure
20
3
3.1
Authorization
In this exercise well create some users and play with them.
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. Add the following users: User
TOOLS USER SUPER
Description
FAST/TOOLS engineer The operator Operator supervisor
Process Areas
1,2 1 2
21
The operator interface properties will be modified later on, leave them empty for now. Note: dont forget to set a password! A password can always be modified later on.
3.2
Process areas
The items created in an earlier exercise where assigned to process areas. Test how the process area influences what a user is allowed to do. Log on as a user and try to modify the MV items. Fill the table below and write down for each user if it is possible to modify the value. 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. Item
SOV-001-MV SOV-002-MV P-1002-MV
Tools
User
Super
Note: Using process areas we can easily assign privileges to users. When designing a new project it is very important to think about how these privileges of the process areas need to be grouped to meet the customers requirements.
22
4
4.1
Alarming
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 box 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 youre 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.
23
Assign all alarm item tags at once with the manually acknowledgement matrix; you can select all items and change this property at once (selecting items and use right mouse button to get the context menu, see screen shot).
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. What happens when you go from Normal to High? A new alarm is generated, acknowledge this alarm. What happens when you go from High to HighHigh? An alarm is generated again. What happens when you go from HighHigh to Normal without acknowledging?
4.3
Alarm text
Change the Alarm Text for the status HIGH HIGH to VERY HOT in the Alarming item definition of PT-001. This overrules the system wide definition in the Item Status table.
Generate a HH alarm and see what happens. The alarm text that is configured in the item definition will overrule the system wide definition.
24
4.4
Delayed alarm
Specify a delay time of 5 seconds for the pressure indicator PT-001 and generate an alarm and wait. Open de operator interface and see whats happened? Now go from a normal value to a value that would generate an alarm and back again within 5 seconds. What happens?
4.5
Repeat time
Specify a repeat time of 10 seconds for the pressure indicator PT-002 and generate an alarm. What happens after 10 seconds? (Update the value in the engineering module by right click on the PT-002 item, update value). Go to the operator interface, click on the button go to historical alarm list and see whats happens.
4.6
Semi-automatic
Add an acknowledgement type that allows for semi-automatic acknowledgement when going from an acknowledged Alarm 3 to an Alarm 2 and from an acknowledged Alarm 2 to an Alarm 1.
Now assign one of the pressure indicators to this acknowledgement type and see how it reacts differently when going from one alarm state to the other.
25
4.7
After starting the Operator Interface, open the display current alarm list.
In the drop down field you can select: ASA, PRIO_1_ONLY. Note: in FAST/TOOLS it is also possible to assign ASAs to individual users.
26
5
5.1
Processing
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 ATTRIBUTE a_status STRING; ATTRIBUTE a_control STRING; PROMPT a_status QUERY "Status item"; PROMPT a_control QUERY "Control item"; SIGNAL s_status := a_status; SIGNAL s_control := a_control TRIGGER VALUE; BODY TIMER t_runtime TRIGGER; 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;
27
Press the ok button to insert it. Open the class again, this time the compile button will be visible in the right top corner of the screen. Press the compile button and check the generate listing tick box for debugging. In case of errors in the code, the tab listing will show error details. The class functions as follows: the status signal s_control is defined as trigger signal. Every time its 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.
* Note: in the object name a minus sign is not allowed, use an underscore instead. ** If you add an installation & unit under items the same installation & units are generated under objects and vice versa. Add the following three object instances of the class control: Object
STATION1.COMPRESSOR.SOV_001 STATION1.COMPRESSOR.SOV_002 STATION1.COMPRESSOR.P_1002
Status item
STATION1.COMPRESSOR.SOV-001-PV STATION1.COMPRESSOR.SOV-002-PV STATION1.COMPRESSOR.P-1002-PV
Control item
STATION1.COMPRESSOR.SOV-001-MV STATION1.COMPRESSOR.SOV-002-MV STATION1.COMPRESSOR.P-1002-MV
Now use the Engineering Module to modify the MV signal and see how the PV changes.
28
5.3
MV item
SOV-001-MV SOV-002-MV P-1002-MV
Test all objects to see if they work by changing the value of the MV item. If you didnt succeed in changing the class; heres the code:
CLASS control; PROLOG ATTRIBUTE a_status STRING; ATTRIBUTE a_control STRING; PROMPT a_status QUERY "PV item (status)"; PROMPT a_control QUERY "MV item (control)"; SIGNAL s_status := INSTALLATION || "." || UNIT || "." || a_status; SIGNAL s_control := INSTALLATION || "." || UNIT || "." || a_control TRIGGER VALUE; BODY TIMER t_runtime TRIGGER; 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;
29
After this, you should be able to add the attribute values like this
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.
30
{+--------------------------------------------------------------------------| | Name : CONTROL | | Version : 0.1 | | Author : Tools | | Description : Class to simulate valve response + creates items in prolog | +---------------------------------------------------------------------------} CLASS control; PROLOG ATTRIBUTE ATTRIBUTE ATTRIBUTE ATTRIBUTE PROMPT PROMPT PROMPT PROMPT a_status STRING; a_control STRING; a_io_address STRING; a_station STRING;
a_status QUERY "PV item (status)"; a_control QUERY "MV item (control)"; a_io_address QUERY "IO Address"; a_station QUERY "Station name";
{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 INSTALLATION || "." || UNIT || "." || 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 INSTALLATION || "." || UNIT || "." || 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 {Class to simulate valve response} TIMER t_runtime TRIGGER; 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;
31
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.
5.4
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.
32
6
6.1
Historisation
History group
Add a history group named SCAN_1_SEC that will be used to store samples at a one second scan rate.
33
6.2
Add items
After inserting the history group we can assign items to the history group. Open the SCAN_1_SEC group to see the Items branch. Add items by clicking on the branch and selecting Add item. Add both the digital as well as the analogue items created before. (Press F5 for refresh).
After inserting the items force a Roll-over (right click on the group and select from the context menu). Wait a few minutes then open the Operator Interface and use the default trend to see the result.
34
Quickload
In this exercise well 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 ).
7.1
35
7.2
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 Inspect the file my_limits and modify the limits. 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.
36
8
8.1
Reporting
Item values
Create a simple report that shows the current values of all items.
SELECT name, item_value FROM item_val;
37
Now modify it so that it writes the data in a comma separated format to a file on the harddrive. Hint: look for the keywords SPOOL and EXPORT in the REPORT/FAST language manual.
8.2
Item history
Create a report that gathers historical data for an item. Use variables to get start and end time and a variable to ask for the item to retrieve. Start by making a report that gets the historical data for a fixed item at a fixed interval and build from that.
38
Open from the FAST/TOOLS start menu the Edit Module. In this exercise well start drawing, some basic components like rectangles and circles.
9.1
New display
Start the editor and create a new display called MAIN, if it already exists use the existing one. The size of the display will be set to 1000 x 600 pixels, the grid size is set to 4 by 4.
9.2
Pump
Next well be drawing a pump in our newly defined display. Our pump is build 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.
39
After uniting the shapes can connected to the fill paint property of the pump to status color of the pump status item to animate the color. To do so, select the pump and connect the item to the fill paint in its property sheet.
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.
Pump running
Pump stopped
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 youve changed the status color for a certain situation this means that the info server needs to be restarted. In most cases this means youll restart FAST/TOOLS.
40
9.3
Text
The status of the pump will be shown using a text component. Add a text component above the pump and connect the value, to the status mnemonic of the pump status item.
41
9.4
Numbers
The next graphical element well look at is the number component. 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. Connect the value property to the item value attribute of the PT-001 pressure indicator item. The format that is specified in the item definition will be used in the display. Connect the Format property to the item value format attribute of the PT-001 pressure indicator item.
Connect the rectangle fill color to the status color of the item.
By connecting the acknowledgment status of the item to the blinking property of the background were able to indicate the attribute Acknowledged
42
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).
43
10
Complex components
10.1 Buttons
To animate the pump from the graphic add two push buttons. Add two 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.
44
Open the display again, the buttons will allow you to animate the pump now.
Clicking the start button will set MV to 1, this triggers the class to set the status to 1, what results in a color change into green.
10.2 Slider
Add a slider and connect its value to the item used by the indicator. The range of the slider is 0 to 100, set the slider to track drags for following the slider value.
Open the display again in the operator interface and move the slider.
45
11
Parameters
Draw a rectangle; connect its fill amount to the parameter Level. Modify the fill direction to upwards and put the transformation on linear.
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.
46
This means animations can be done without use of any items. 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.
47
11.2 Functions
In this exercise well focus on the function component. Add a function by drag and drop the f(x) sign from the toolbar into the edit module work sheet. Set the function to the type Stepper and connect its result to the Level parameter. Make it step from 0 to 1 in 5 seconds and 1 to 0 in 10 seconds. (number input properties).
Now re-open the display and watch the level go up and down by it self. Animations like this can be enabled/disabled easily because all functions have an enable property that can be controlled using a Boolean value. The trigger input of the functions is used to reset the function.
48
12
Layers
In this exercise we will focus on layers and what you can do with it.
12.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.
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.
49
The layer will now be the first in the list indicating that it is the bottom layer. Now draw a rectangle and choose a pattern as fill color.
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.
50
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.
51
13
Layouts
This exercise is a small excursion into xml land. Well look at the layouts file and change some properties.
Open the layouts file with an xml editor e.g. notepad++ 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="5"> <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. The result will be used in one of the upcoming exercises.
52
14
Localization
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.
Note that the translations are case sensitive! 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 Start Stop RUN STOP OPEN CLOSE Dutch Aan Uit LOOPT GESTOPT OPEN DICHT
53
Enter the English word in the Add Text field and then click the Add button next to it. 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.
54
15
Symbols part 1
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.
15.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.
Then set the grid size to 4 by 4 pixels. Now draw a Shutdown Valve using a polygon and connect its Fill Paint to the status signals status color. It is good practice to align the symbol always in the center-cross of the symbol display.
Notice that the tab items are disabled and Signals are available now that the control class is assigned to the symbol.
55
Then connect the item value to the rotation of the valve and use a linear transformation to rotate the valve.
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).
56
Note: The Object is connected to the Value of the property, not the Connected to entry point. Open the display and animate the status from the Engineering Module.
15.2 Popup
To control the valves well add a popup. Create in the Edit Module a new display named ShutdownValve with size 200 x 120 and change the grid size to 4 by 4.
57
Add an external parameter ControlObject of the type PROCESS/FAST Object with class name CONTROL.
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.
58
Note that the connection dialog shows signal names from the ControlObject parameter. Add a status text to show the current status.
59
Connect the title of the popup display to the tag name of the status signal in the object. Click on the canvas to get to the properties of the display.
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.
60
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 Validate display. Run the display to see the result. Also on each save of a display, the display is automatically validated. Note that only two popups can be opened at once, as this property has been set to 2 in the Layouts file (Chapter 13).
61
Add an additional global parameter called Information (type Boolean) that will be used to hide/show the tag info.
62
Connect the parameter to the visibility of the text component. 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.
63
16
Symbols part 2
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.
64
The fill paint will be connected to the Item parameter PV. Connect the Status color attribute of the parameter PV to the Fill Paint.
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.
65
66
16.3 Popup
To demonstrate how generic we can solve problems we will now create a popup to control the pump. 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.
Add the following parameters. Name PV MV LabelOn LabelOff Description Process variable Output Label for On button Label for Off button Type Item Item Text Text Access Externally Externally Externally Externally Allowed item type Any Any -
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).
67
Then well connect the button labels to the parameters LabelOn and LabelOff.
Add a text component and connect it to the status text of the PV parameter.
68
After re-validation of the display you should be able to activate the popup.
69
Add a second Action for the exit action as follows: Event: On exit, update item/parameter, Applies to: MV/, into parameter: MV, Attribute: locked, Value or parameter: 0, Function: none. The attributes of an item parameter can not be used for a display action; this means well 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).
70
Go to the pump symbol To indicate the locking and disable its selection by other users we will need to add a transparent surface on top of the selection area. 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.
71
Connect the visibility of the rectangle to the locked attribute of parameter MV. Now revalidate the display again and reopen it to test the added functionality. Also try what happens if you leave the popup open. It should close after approximately one minute (default timeout).
72
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.
73
Note: For each line a separate equipment process and setup file is created. Line specific settings will be configured from the Setup file, like queues size, update interval, updown logging etc. If a second line is created the equipment process name must be unique. 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.
74
Next add points to the station. An Item can be linked to one point. The point definition specifies the type of I/O, e.g. input, output, input + output, I/O address, scan type
75
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.
Once a point has been added it can be linked to an item, via the Equipment tab of an item.
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).
76
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.
77
Add a point
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.
78
79
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.
80
Add a template item that matches the used name in the class:
Configure the template item for example alarming properties. These properties are inherited by the items created from the class.
81
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.
82
After the object is added the following will be generated: The items SOV-004-PV and SOV-004-MV including alarm settings are added under the (installation) station1, (unit) compressor. Also the items SOV-004-PV and SOV-004-MV are added under historisation item storage groups. Under the STARDOM station the points will be added.
83
Insert the following parameters Name Description Playtime Current playback time Recording Recording activation Viewer Playback activation
These parameters will be used later on to connect for instance the time that an alarm occurs with the corresponding recorded moment.
84
Select the playback symbol and connect the parameters Playtime, Recording and Viewer to the playback component.
Insert a toggle button, and connect the value to the recording parameter. This will start / stop the recording.
85
Finally check if the playback functionality works as expected. Record some events, which include alarms. Then start the Playback player, while having the Playback display open. Try the synchronization by clicking on an alarm event and see if the viewer time lines up. Tip: Put the operator interface and the playback viewer next to each other on the screen.
86