Operation and Configuration Student Workbook Copyright Trihedral Engineering Limited, 22/03/2016 All rights reserved. Printed in Canada Trihedral Engineering Limited Head Office Trihedral UK Limited Trihedral Inc. 1160 Bedford Highway, Suite 400 Bedford, Nova Scotia Canada B4A 1C1 Glover Pavilion, Campus 3 Aberdeen Science Park Balgownie Drive, Aberdeen UK, AB22 8GW Suite 160 7380 Sand Lake Road Orlando, Florida USA 32819 Phone: 902-835-1575 Phone: +44 (0) 1224 258910 Phone: 407-888-8203 Toll Free: 800-463-2783 Fax: +44 (0) 1224 258911 Fax: 407-888-8213 Fax: 902-835-0369 Support: support@trihedral.com Sales: sales@trihedral.com Trihedral Engineering Limited Calgary Office Suite 505 – 888 4 Ave SW, Calgary, Alberta Canada T2P 0V2 Phone: 403-921-5199 Operation and Configuration Student Workbook •i Contents Preface Course Objectives 1 An Introduction to VTScada A Bit of History... Application Structure VTScada Connectivity Support Licensing Installing VTScada 2 Fundamentals Starting VTScada Running VTScada as a Windows® Service The VTScada Application Manager (VAM) Pages Page navigation Tags Security Alarms Logged Data Historical Data Viewer (HDV) Network Configuration Internet and Mobile Features Stopping an application Finding License and Version Information Getting Help 3 Developing VTScada Applications Adding New Applications Exercise 3-1 Create a New Application Basic Navigation Exercise 3-2 Navigate The Idea Studio Exercise 3-3 Open the Idea Studio, Create a Page Drawing Objects Alignment Tools (While Drawing) Selection Tools Alignment Tools (After Placing) Change Size & Position by Dragging Operation and Configuration Student Workbook vii vii 1 1 2 2 3 4 5 5 6 6 9 10 12 13 13 14 14 15 16 16 17 20 21 21 22 23 23 25 27 29 31 32 36 36 • ii Match Sizes Exercise 3-4 Practice with Alignment Tools Format and Properties Advanced Formatting. The Properties Dialog Exercise 3-5 Experiment with the format tools. Images Exercise 3-6 Create a background and highlight. Exercise 3-7 Import an Image Widgets The Widgets Palette Widgets and the System Style Tag 4 Preparation for the Class Project OEM Layers - New Applications From Old The Communications Chain The Application Exercise 4-1 Install the Simulator Layer Exercise 4-2 Create the Project Application. 5 Pages Page Properties Exercise 5-1 Modify Page Properties Exercise 5-2 Create Pop-up Control Pages Menu Customization Direct Editing of the Tiled Page Menu Exercise 5-3 Add a New Menu Folder Page Source Files 6 Tags Building the Communications Chain Ports Drivers The Polling Driver The Tag Browser Using the Tag Browser Add and Configure Tags Exercise 6-1 Add Communication Tags Exercise 6-2 Add a Polling Driver Read Analog Values Scaling of Analog Values Exercise 6-3 Create Analog I/O Tags Draw Widgets & Link to Tags Exercise 6-4 Draw a Widget Exercise 6-5 Show Unlinked Widget Indicators. Exercise 6-6 Link a Widget to a Tag Exercise 6-7 Provide Context for a Widget 37 37 39 41 43 43 44 46 47 48 49 51 51 52 53 54 55 57 57 60 61 63 65 65 67 68 68 68 69 69 71 71 73 76 78 79 80 81 83 84 85 85 85 Exercise 6-8 Practice with Widgets and Linking Exercise 6-9 Polling Drivers Reprise Manual & Questionable Data Reusable Tags / Context Tags Simple Expressions Exercise 6-10 Create a Context Tag with a Property Exercise 6-11 Monitor the Water Table Exercise 6-12 Draw the well field Define Your Own Animations Exercise 6-13 Animate Text Position Exporting and Importing Tags Tags to Write Values Analog Control Exercise 6-14 Write Alarm Setpoints Widgets for Analog Output Exercise 6-15 Operator Controls for the Alarm Setpoints Exercise 6-16 Add Visual Feedback Tags for Digital Values Widgets and Styles for Digital Tags Exercise 6-17 Add a Valve to the Water Tower Multi Image Widget Panel Create New Tag Types Exercise 6-18 Define a Well From Context to Type Exercise 6-19 Turn the SupplyWell into a New Tag Type Exercise 6-20 Create a Second Well Exercise 6-21 Add a Start Condition Exercise 6-22 Add a Second Well Field 7 Custom Widgets and Parametrized Pages Parametrized Page Example Exercise 7-1 Create a New Widget Linked Tag Properties Exercise 7-2 Use a Linked Tag Property Parametrized Pages Exercise 7-3 Create a Parametrized Page Practice With Widgets and Parametrized Pages Exercise 7-4 Create a Well Widget Enhance the Field Details Page Exercise 7-5 Add a Widget to a Widget Hide a Widget if its Linked Tag Does Not Start Pages Versus Widgets Exercise 7-6 Test Your Knowledge: The Well Controls Exercise 7-7 Links to Control the Three Wells 86 87 88 89 89 90 92 94 96 96 98 100 100 100 102 103 104 106 107 108 112 113 113 117 118 118 119 119 120 121 123 126 127 129 129 131 131 134 135 136 137 137 139 8 Alarms Add Alarms to Tags Trip Alarms vs. Level Alarms Exercise 8-1 Create an Alarm Tag Exercise 8-2 Configure Alarms Built Into Tags Add Alarm Management to Pages Exercise 8-3 Adding Alarm Management 9 The Alarm Notification System Roster Configuration Email and SMS-Text Notification Modems Setting Dialer Pronunciation Configuring Alarm Notification Options Notification System Configuration Configuring a Modem Tag Configuring a Modem for Tag I/O Modem Diagnostics 10 Record Data From Tags Choosing What to Record Other Tags That Collect Data Totalizer Tags Exercise 10-1 Logging Data Counter Tags Exercise 10-2 Count Start/Stop Cycles History Statistics Tags Exercise 10-3 Statistics from the Supply Valve 11 System Monitoring Tools The Historical Data Viewer (HDV) Add a Mini HDV to a Page 12 Operator Notes Configure Quick Notes Searching for Notes Exercise 12-1 Practice with Operator Notes. 13 Report Features Report Types: Output Formats Report Contents - Selecting Tags Setting the Report Time Period Exercise 13-1 Create Reports The Report Tag Exercise 13-2 Report Tag 14 The Privilege and Security System Activating Security 141 146 150 151 153 155 158 161 161 163 164 165 165 166 167 168 169 170 170 172 172 174 174 175 176 177 178 178 180 181 181 182 183 185 185 186 186 187 187 188 188 189 189 Roles Exercise 14-1 Activate Security and Create Accounts Save Time by Copying Security Rules Application Privileges Exercise 14-2 Application privileges and scope-limited rules Windows Account Security 15 VTScada on Multiple Workstations Primary and Backup Servers Get an Application From a Workstation Exercise 15-1 Get an Application From Another Workstation Distributing Services 16 VTScada and the Internet Configure a VTScada Internet Server Connecting as an Internet Client Using the Connection Security Monitoring Connections Connect Using the Mobile Client 17 Version Control Automatic versus Manual Version Deployment Reviewing Version Changes Restore Versions Import File Changes ChangeSets. An Application in a File Create a Full ChangeSet Advanced ChangeSet Types Maintain the File Manifest 18 Sites and Site Maps Exercise 18-1 View a Sites Page 19 Bonus Topics More Tags to Know Glossary Index Notes 191 192 192 193 193 196 197 199 199 200 202 202 205 205 208 210 211 211 212 214 214 215 216 217 218 219 220 220 221 222 224 224 229 231 233 Preface Welcome to Trihedral’s VTScada training program. This workbook will follow the course topics, providing reference information and exercises. Space has been left for you to add notes; please feel comfortable about writing in this book. Throughout the course, you will have an opportunity to practice each topic as it is taught. The exercises are intended to give you a feel for the capabilities of VTScada and how its features can be applied to real-life situations. Please ask questions. It often turns out that the best parts of a course are the discussions that follow on from a good question. Don’t be shy about asking yours. Course Objectives This course is designed for VTScada developers. At the end of the week you will know how to build a VTScada application from start to finish. A good application is one that not only does what it’s supposed to, but is also intuitive for operators to use. With that in mind, the course begins with an overview of VTScada from an operator’s point of view. Given the size and power of VTScada, it can be difficult to cover all the features within the time available for this course. Bonus topics have been included at the end of this workbook to provide While many developers never move on to writing VTScada script code, some of the tools designed for extra coverage of programmers do prove to be quite handy for applic- advanced topics. Depending on student ation development. The course will finish with an interest, some of these overview of VTScada programming so that you learn how to enhance your applications with expres- topics may be discussed during the course, or sions and calculation tags. they may be left for those Experience has shown that people learn best by who are interested to doing. Most of the course will be conducted by example and exercise. These notes are provided to study at a later date. give you a reference to the topics covered in class and to add additional background information where useful. A few notes about this course: A set of files should have provided to you at the beginning of the course. These include the latest version of VTScada, ChangeSets, and other files that will be used during the course. Take a moment now to ensure that you have these files. You will be given a license key that has all features of VTScada enabled. This is a trial license - good only for a limited number of days. It will also cause VTScada to shut down after a few hours. You can re-start immediately and continue from where you left off. The automatic shutdown only ensures that the trial license cannot be used for anything but a trial. Exercise instructions are numbered. Where the course notes describe the steps in a process, letters are used instead of numbers to avoid confusion with exercises. 1 An Introduction to VTScada Before learning how to create VTScada applications, it’s helpful to understand just what VTScada is, where it came from and what it can be used for. VTScada was created to provide a set of robust monitoring and control tools that are used in offshore drilling platforms, water treatment plants, ships, breweries, hydro electric power generation plants, etc. around the world. Inside VTScada you will find easy-to-use tools for application developers and a powerful scripting language for programmers. With these, you can represent the equipment in your operation in any way that makes sense to you. Alarms can be configured, data can be logged for use in reports, and statistics can be generated. Remote operators can view equipment status and can acknowledge alarms via telephone, email or SMS text message. You can use the built-in station tags to add new Multitrode® or MPE® stations in minutes instead of hours. You can also create your own station tags comprising dozens or hundreds of I/O addresses, alarms, data loggers, etc., then re-use these to add and commission new equipment almost automatically. A Bit of History... The program now known as VTScada was originally named WEB. This was primarily a scripting program with fairly basic graphics capabilities. Tags, pages, and all the SCADA features of an application were built using the scripting language. As the program grew and acquired a graphical user interface to make application development easier, it was renamed to Visual Tag System (VTS). In 2001, a layer named VTScada was added, for water and wastewater applications. VTScada was designed specifically to communicate with telemetry systems, but also added many features that were of benefit to all applications. With the release of Version 11 at the beginning of 2014, VTS and VTScada have been fully merged into a single product, known as VTScada. What all of this means to you is that, for all the graphical user interface features that have been added, VTScada is still very much based on a scripting program. 1 Chapter 1 In fact, we’re rather proud of the fact that VTScada is written primarily in the VTScada language. If you learn how to program in this language, you will have the ability to modify and expand applications to work to your liking. Application Structure VTScada is based on a system of layers. Your applications can be built on top of the VTScada library layer, or on top of another application (referred to as an OEM layer or OEM application). Layers are applications and applications are layers, but it's easier to refer to the top-most layer as the application that you run, and the underlying applications as the layers upon which your application is built. Each layer can add new tag types, tag instances, pages, drivers, reports, property settings and other customized features to enhance later applications. Note that, while features from underlying layers are visible in, and can be used in your application, their code remains in the underlying layer. This means two things to you: l Changes must be made in the layer where the code defining the feature is found. (Certain exceptions apply.) l If you distribute your application to another location, you must also send the underlying layers. VTScada Connectivity Support Built-in Communication Drivers VTScada is able to communicate with a large number of I/O devices. Trihedral has developed over 100 I/O drivers that enable VTScada to interface with I/O devices. Standard with VTScada are the following drivers. Allen-Bradley CalAmp Diagnostic CIP/ENIP Device Data Flow System DDE DNP3 Compatible MDS Diagnostic Modbus Compatible Motorola ACE Omron OPC Client OPC Server Siemens S7 SNMP A driver package is available on request, containing a dozen more driver types. 2• Operation and Configuration Student Workbook 1 An Introduction to VTScada Serial Ports Serial ports enable you to connect an I/O device to your PC to share data. These are most often used for modems, but may also be used to connect a controller to your workstation. TCP/IP and UDP VTScada uses TCP/IP extensively for networked systems and remote configuration. UDP is also available. ODBC Open Database Connectivity - Enables access to the information within any application, regardless of which database management system is handling the data. If your database is ODBC-compliant, VTScada can link to it. DLLs Dynamic Link Libraries – In short, DLLs allow VTScada to access functions written in another programming language. DDE Dynamic Data Exchange – Allows data exchange between two different applications. This is an older technology, with significant security pitfalls. Many VTScada features developed since version 9 do not fully support DDE. As an example of what could be done with DDE, you can input a value into a cell of an Excel spreadsheet, and the value will be transmitted to a specified tag in a VTScada application. Conversely, you can write the value of a tag to a cell of an Excel spreadsheet. Licensing There are a variety of VTScada license levels available. Customers can choose whichever version and options best meet their needs. Note that the development license includes Application Version Control, the OPC server, the ODBC server and WEB services. l l l l l l l Full Development version (varying tag limits available) Run Time only version Number of allowed Internet Client connections VTScada Alarm Notification System ODBC Server WAP Server Web Services Operation and Configuration Student Workbook •3 Chapter 1 l l l l l OPC Server Application Version Control (Not available with the Run Time license) Remote Configuration Redundancy Capability Server Capability Installing VTScada There are two versions of the VTScada installation program. Customers who have purchased the Alarm Notification System option must run the full installation, which includes the IVONA™ voice module. Others may install the basic version. The difference in file size between the two installation programs is the presence or absence of the IVONA™ engine. The installation program requires a 25-character key that will control your tag count and which options of VTScada will be available in the installation. There are no extra modules to install. You may install VTScada into any directory, but C:\VTScada is suggested. You must be logged in with administrative privileges on your computer in order to successfully run the installation program. A workstation with 8Gb or more of RAM is recommended. If running your application on a workstation that has less than 8Gb of RAM, then choose the 32-bit version of VTScada instead of the 64-bit version. 4• Operation and Configuration Student Workbook 2 Fundamentals 2 Fundamentals While your main concern as a developer will be to create an application that works, you should also take care to design it to be easy for an operator to use. Ideally, the screen display should resemble the actual system, with clear and easy-to-read controls. Visual Design Goals: Avoid confusion Group related elements Provide clear navigation Verify control actions Figure 2-1 Station monitoring screen VTScada provides all the tools you need to build control and monitoring applications that are both useful and usable. Starting VTScada VTScada is normally started either from the Start Menu, or from a shortcut on the desktop. Place the VTScada shortcut in your Startup folder You have the option to configure your application so so the program starts that it starts immediately whenever VTScada is star- automatically. ted. This can be very useful in a situation where the The initial animation is computer is to be used only for monitoring your application and you don’t want to give the operator a controlled by a Setup.INI property: NoSplash. chance to play solitaire. Operation and Configuration Student Workbook •5 Chapter 2 Running VTScada as a Windows® Service VTScada was designed to run as an interactive, desktop program with powerful networking features that allow you to configure it to run as a server on one or more desktops and a client on others. You can choose to run VTScada as a Windows Service on one or more workstations. All that is required is either run the installation program, selecting the service option, or to stop VTScada and install the service from the command line with a the /s option: vts.exe /s=install You can then start and stop the service using either the standard Windows tools, or from the command line: vts.exe /s=start vts.ext /s=stop But note: When VTScada is running as a Windows service, it is not running as an interactive desktop program. The only access is through thin clients (Internet Client or Mobile Client) or through other VTScada workstations on your network where it is running as an interactive program. This means that you must develop your application before you tell it to run as a service. One other requirement is that the application must be configured to start automatically when VTScada starts. Once the application is up and running as a Windows service, you may want to continue development work. You then have a choice: If you have only a single computer running VTScada, you will have to stop the service and re-start VTScada as an interactive program. Log files and other data that were being stored might not be accessible while you do the development work, since those were probably available only to the account that the service was running under. Finish the development work and re-start the service as quickly as possible. The better option is to have a second VTScada workstation on your network, which is configured as an interactive program. You can do your development work there and VTScada will take care of deploying your changes to the server. The VTScada Application Manager (VAM) The VTScada Application Manager (VAM) is your starting point. After creating an application, you may want to configure VTScada to start that application automatically, without needing to use the VAM. 6• Operation and Configuration Student Workbook 2 Fundamentals Figure 2-2 The VAM The Application List These are the applications that you may want to run. There is no need to include all of the applications that exist on your workstation. For example, many of utility applications that come with VTScada are not shown in the list unless you add them. You might choose to hide some that are listed. Many operators will never see the VAM. All of the tools here are for the creation and general configuration of applications. Plus, a few utility apps. for You can do the following with the list: VTScada programmers l Re-organize the list by dragging the bars up and down. l Access the application's controls by clicking once on a bar. l Start an application by clicking twice on a bar. l Open an application's configuration dialog by right-clicking on a bar. l At a glance, see which applications are running by noting the color of the associated running light. The Application Controls Click once on an application to expand it in the VAM. This will give you access to the buttons used to control that application. From left to right, these are: Operation and Configuration Student Workbook •7 Chapter 2 Remove Remove the application from the list. Deleting it altogether is optional. Application Configuration Access to many configuration options. A right-click on the bar will also open the configuration dialog. Import File Changes Allows you to bring the changes that you have made to source files into the application's set of working files. Run Starts an application. Note that you can also start an application by double-clicking on its bar in the VAM. Stop Stops an application. The VTScada Controls The 6 buttons along the base of the VAM are for tasks that don't (necessarily) relate to any particular application. From left to right, these are: Add Application Wizard You can start from scratch or add an existing application to the VAM's list. VTScada Internet For configuring the VTScada Internet Server Client / Server Setup (VTScada/IS), to allow VIC connections. Help Opens the main portal to the VTScada user guide. Users can also press F1 at any time for context-sensitive help. Color Themes Change the appearance of the VAM. This will carry into any application that does not have its own color theme. About VTScada Display the version number and the list of features included in your VTScada license. Exit Stop all running applications and terminate the VTScada session. If you do not want the VAM to be visible or accesible while applications run, you can hide it. Organize the Application List You can organize the list of applications to suit yourself. Four useful techniques will help you with this: Drag and drop. To re-order the list, drag applications up or down to new locations. Hide applications. Use the trash can icon to hide applications that you are not using. You don't have to delete them. 8• Operation and Configuration Student Workbook 2 Fundamentals Add place-holder applications. Developers who have many applications to keep track of will create a few with names such as "---------". These are never run; their only purpose is to serve as a visible divider in the list. Change the icon and color theme. Adjust the application's properties so that it has its own theme color and representative image. Pages The screens upon which information is shown, are called pages. The whole point of a page is to display information from the system, to the operator, in a way that is clear and concise. Figure 2-3 Example Page A wide variety of tools are available to display system information. The example shown here includes a numeric display of run-time hours, a visual indicator of which pump is running and a set of page-change buttons. This is a very small sampling of the display tools available. From an operator’s perspective, one of the most important things about an application is how easy it is to find the important bits. Careful selection of the most appropriate indicators and clear, uncluttered spacing can make the difference between whether the application is usable or not. By linking to analog or digital outputs, an application can also control a system, allowing manual control of pumps, valves, motor speeds, etc. Tools that will help you build your pages include: l The Idea Studio. This is where do will do the work of creating and designing pages. l Page configuration. This is the name, color, background image, size, title bar, etc. l Static display components. Images of pipes, equipment, geometric shapes. Anything that provides context to the information being displayed on the Operation and Configuration Student Workbook •9 Chapter 2 l l screen so that operators easily understand what they're looking at and how it connects to the system. Dynamic display components. Lights and color-codes to indicate whether equipment is on or off. Numeric readouts. Animated level fluid levels, turning motors, changing text, etc. Operator control elements. Buttons, switches, selection lists, and more. Page navigation Most applications are far too complicated to be shown on a single page. VTScada allows you to build multi-page applications, with controls grouped together in whatever way makes the most sense. A water treatment system, for example, might include a page showing an overview, a page for a booster system, a page for a chlorination system, etc. VTScada provides several ways to move from one page to another: l A menu in list format, (which you create and organize) can list all the pages in one place, grouped by use. Figure 2-4 List Menu l A tiled menu. Matching the organization of the list menu, this shows previews of pages. Figure 2-5 The tiled Page Menu 10 • Operation and Configuration Student Workbook 2 Fundamentals By using folders, you can create displays that show mini-versions of several pages simultaneously. Previews are live or not, depending on how much information there is to show on one screen. Control tools do not operate within tiles, but a click on the tile will navigate to that page, where the controls tools will work (subject to security privileges). l Page names may be pinned to the Page Navigation Bar, across the bottom of the screen. This makes it possible to find and open frequently-used pages with a single click. Figure 2-6 Pinned page-links l Hot boxes and Hot buttons may be placed within a page, providing quick links to other, related pages. Two common uses for hotboxes are to provide a link to a detail page from an overview page, and to open a dialog boxstyle page containing the controls for equipment. Figure 2-7 Page Hotbox l A shortcut for stepping backward or forward through the history of pages you have viewed, is provided in the upper left corner of the screen. The left and right arrows step back or forward through your page viewing history. Click and hold to open a menu of recently visited pages in either direction. Operation and Configuration Student Workbook • 11 Chapter 2 Figure 2-8 Recent page list Tags Tags are the SCADA representation of physical objects. They provide configuration options so that one type of tag, perhaps an Analog Status, can be used to represent many different types of objects in the real world: a temperature reading, pressure in a tank, speed of a motor, etc. Figure 2-9 Communication details In many systems, consistency is crucial in order to save time and money. By using common equipment, and configuring the equipment in a consistent way from one site to another, you reduce installation, training and maintenance costs. The same is true of the tags in your SCADA system. Having designed a tag structure to represent equipment in one installation, you should be able to re-use that structure for another with minimal effort for configuration, and without having to redraw all of the screen components from scratch. VTScada allows you to build your tags in structures that represent real-world assets. This makes it easy to add new assets, since you can copy existing tag structures. 12 • Operation and Configuration Student Workbook 2 Fundamentals Security Access to an application is controlled with a user Security Roles name and password combination. While creating a new application, you will not need to worry about logRather than grant privging in. Security can be activated whenever you are ileges to individual ready to allow users to access it. users, you can define Roles such as Operator and Manager. Roles can be restricted to apply only in selected parts of an operation Figure 2-10 Logon prompt After you have activated security and created user accounts, operators log on by clicking on the Logon button at the upper right corner of the screen. Anyone who attempts to stop the application, or make changes to it in the VAM will also be presented with the log on dialog. As of release 11.1, you can configure VTScada to use your Windows accounts. Privileges are tied to roles alone, which are then identified to whoever administers your network security. Windows account groups are linked to the identified roles, thereby controlling who can log in and what privileges they will have. Alarms Alarms are notifications that you create, signaling when conditions have gone outside defined operating guidelines. You can create alarms to signal when tank volumes are too low, pressures are too high, motor rpm are too fast, etc. When an alarm condition occurs, that fact will be recorded. The alarm itself can be acknowledged or silenced, but the history of the alarm’s occurrence will remain. Alarm notifications are primarily displayed in the upper right corner of the screen. A flashing red icon and an audible two-tone warning are the first indications that Operation and Configuration Student Workbook • 13 Chapter 2 an alarm has occurred. In addition, you can create visible indicators that will display within the page to indicate where in the system an alarm is occurring. Popups can be created to force operators to acknowledge critical alarms. Also, the alarm history can be displayed within any page, showing the details of any alarms that occur. VTScada also provides an alarm dial-out feature that allows the system to send spoken alarm message to the telephone of an off-site operator. Alarms are managed with the Alarm Page – a standard page in any VTScada application. On this page, any operator (possessing sufficient security rights) may review, acknowledge or silence alarms. Figure 2-11 Alarm page detail Logged Data Information can be collected from tags and saved. This logged data can then be used to create trend graphs and reports. VTScada stores information using a proprietary data storage format, which has been designed for maximum reliability. You have the option of using a third party database such as Oracle® or MS SQL Server®, but you should be cautious about the extra system requirements. The VTScada storage format has the advantage of having been designed for a single purpose: the storage and retrieval of VTScada data. Historical Data Viewer (HDV) The main tool for reviewing data is the Historical Data Viewer. You can adjust either axis of the graph to suit your needs, whether that’s to decrease the vertical range being displayed or altering the amount of time visible on the graph at any moment. 14 • Operation and Configuration Student Workbook 2 Fundamentals You can open the HDV as a full page, or click on a tag to open it as a pop-up window. If a tag is not being logged, you can still view it in the HDV, but only values currently being collected will be shown. Left-click on a tag to view a graph of that tag's values. Click on more tags to add them to the display. Figure 2-12 HDV example Notes can be added to the graph by the operator to record details connected to events of interest. Labels showing the value at a given moment can be placed on the graph temporarily. There is also a report page, with a variety of built-in report types for you to choose from. Printing from the Historical Data Viewer Printing the information in the HDV is easy. A printer icon will appear at the upper right corner of the window. Simply click to print the data currently displayed. You can also print the page by using the keyboard shortcut, Ctrl-PrtScr. Network Configuration VTScada applications are often designed to run on multiple servers. There are many benefits: l Redundancy. If one server fails, another takes over and your application continues to function. Operation and Configuration Student Workbook • 15 Chapter 2 Load distribution. In large applications, you can designate one server to handle CPU-intensive functions and another to handle hard-drive intensive operations. You can even spread one function, such as data logging, across multiple servers. l Continuous, automatic backups. This refers to both configuration and data. Rather than creating a backup at set intervals, you can simply leave VTScada to do the work of continuously maintaining copies of your application design and logged data across multiple servers. If one server fails, others continue to collect and maintain data. When you bring a failed server back online, there is no need to manually restore data from an old backup tape - VTScada will automatically synchronize with it. While VTScada’s networking features are both powerful and robust, it is surprisingly simple to configure a basic structure. l A. B. C. D. E. Designate the computer, where the application is running, as a server. Install a licensed copy of VTScada on another computer on your network. Tell that computer to get the application from the existing server. Optionally, add the new computer's name as a backup server. Done. Internet and Mobile Features Operators are not always at a desk when they need to monitor a system, acknowledge alarms or perform control actions. With VTScada, you can configure an internet server thereby: l Allowing operators to use the application over Proper port configuration an Internet connection, without needing to is important for these feainstall VTScada at the remote computer. tures, especially if your l Allow operators to see a simplified version of server is also used for the application on a mobile device, viewing other internet services, data, acknowledging alarms and issuing consuch as a web-server or trol actions. Skype™ l Receive and acknowledge alarms via email. l Receive and acknowledge alarms via SMS text message. Stopping an application Use the red stop button in the VAM to stop a VTScada application – you’ll find the VAM still running in the background behind your application. After security has 16 • Operation and Configuration Student Workbook 2 Fundamentals been enabled, only authorized operators may stop a running application. Figure 2-13 VAM - Stop button Closing the VAM will stop VTScada and cause all currently-running applications to end. Finding License and Version Information There are two ways to find out what features are included in your VTScada license: Click on the About VTScada button, found at the base of the VAM: Figure 2-14 About VTScada Operation and Configuration Student Workbook • 17 Chapter 2 This will open a window similar to the following. As shown, you can discover the version number, serial number, available tag count, etc. for your copy of VTScada. Figure 2-15 The About box The second method requires a few more steps, but will provide more information: Open the Application Configuration dialog, accessible Figure 2-16 App. Config - method 1. either through the VAM. 18 • Operation and Configuration Student Workbook 2 Fundamentals Or within the application. Figure 2-17 App. Config - Method 2. The result is the same: The Application Configuration dialog opens. The headings down the left side of the dialog are menu items. Click the one labeled, Information. Figure 2-18 Application information Operation and Configuration Student Workbook • 19 Chapter 2 Getting Help When all else fails, press the F1 key to open the online help screens. In many cases, this context-sensitive help system will be able to provide information directly related to the task you are performing. The first page of the online help is shown, in part in the following image: Figure 2-19 The VTScada help files The chapters are organized by role for operators, administrators, developers and programmers. The search will find all instances of a term, returning the results in the order that seems most likely. Snippets from each topic are included in each search result to help you decide which topic to view. Note the expandable, "Tips for using the Search field..." in the Welcome topic. 20 • Operation and Configuration Student Workbook 3 Developing VTScada Applications 3 Developing VTScada Applications As with everything, the better the plan, the better the result. When starting out to build a VTScada application, take time to consider the following: Do you have a list of the hardware specifications including the network details, the communications protocol that will be used, and the list of I/O addresses? l Do you have a list of what information needs to be logged for reporting? l What will constitute an alarm condition? Who should be notified in the event of one? l Have you made a set of sketches, to plan what you want the application to look like? l Do you have access to an OEM layer (VTScada application) that provides industry-specific tags, drivers and other tools? l Will you use primary and backup servers to ensure that the application never stops? Running an application on multiple workstations is also the best way to ensure that your data is continuously backed-up. l In a very large application, you may want to designate different servers for different VTScada services. l Will you allow operators to connect from remote locations, using an Internet browser, or a mobile device? Once your plan is in place, the next step is to add a new application to the VAM. l Adding New Applications The button for creating new applications is named Add Application Wizard. It does more than that though: you can also use it to add existing applications to the VAM, whether they come from an application directory, a ChangeSet file, or a workstation. Figure 3-1 Add Application Wizard Operation and Configuration Student Workbook • 21 Chapter 3 The first decision after clicking the Add button is whether to use the Quick Add option, or the advanced option set. If you don't have an OEM layer to build upon, and are not getting an existing application from a workstation or ChangeSet file, then use the Quick Add. It will give you a chance to create a name for your new application, then build it using the VTScada library layer as the foundation. The following exercise will take you through the process. Exercise 3-1 Create a New Application 1. 2. 3. 4. 5. 6. Start VTScada if it is not already running. Click on the Add Application Wizard button. In the dialog that opens, ensure that the Quick Add option is selected. In the name field, replace "New Application" with "Practice". Click Next. Review the options and ensure that the option, "Start application now" is selected. 7. Click Finish. The new application will be created, added to the VAM, and started, filling the screen. The default page will be a tiled menu. In the next exercise, you'll see a few of the navigational tools. Figure 3-2 The tile menu of a new application 22 • Operation and Configuration Student Workbook 3 Developing VTScada Applications Basic Navigation The initial tile menu presents several interesting options to explore. Until you have built the application, there will be no alarms to acknowledge, reports to read or remote sites to visit, but you can still make use of the pages that exist in order to learn how to use the navigational tools in VTScada. In this chapter, you will learn by doing. By the end of the following exercise, you will know how to use the list menu, tile menu, page history, and pinned page buttons. The application created in the last exercise should be running, and you should be looking at the tile menu, showing three folders and the Overview page. Exercise 3-2 Navigate 1. Click the Overview page. (Look for the red edge and VTScada logo.) The Overview page opens, filling the screen. 2. Click the Previous Page button. Figure 3-3 Previous Page button - top left of the screen You are returned to the tile menu, but now Overview shows up in the list of recent pages. 3. Click the Sample Pages tile. It will take a moment for these to load, since the sample pages have a lot of graphics. The dials and gauges move because they are linked to a built-in simulator that generates a sine wave. This gives widgets a realistic look until you're ready to link them to real tags. 4. Open Dashboard 1. Note the blinking "broken link" symbol in the title bar. This is both an indicator and a button that you can click. As a blinking orange indicator, it warns you that the display contains widFigure 3-4 Show Unlinked Widgets gets that are not currently linked to any tag other than the simulator, and therefore are not showing real data. You can click this button to toggle between the general warning and a specific warning shown on each unlinked tag. 5. Click the Show Unlinked Widgets button. 6. Click Yes in the dialog that opens, to confirm the action. Now, a warning is shown on every tag that doesn't have a link. As you build Operation and Configuration Student Workbook • 23 Chapter 3 7. 8. 9. 10. 11. your application, this will be useful in helping you spot unlinked widgets. At the moment, nothing has a link, therefore you will change the warning back to the way it was. Click the Show Unlinked Widgets button a second time, and confirm the action. Explore the other two Dashboard pages. You will learn everything you need to create user interface displays like these during this course. Click the Page Menu button (list menu), at the bottom left corner of the screen. Click (or hover over) the Alarms, Reports & Diagnostics link to expand it. Click to open the Alarms page. Figure 3-5 List menu, selecting the alarm page. Note that the name of the current page (now, Alarm Page) is always displayed on the lower edge of the screen. This edge is referred to as the Navigation Bar. Note also, that there is a pin icon. An example can also be seen in the previous figure. 12. Hover over the pin so that it turns green. 13. Click. The Alarm Page button is now pinned to the navigation bar. Note that if you hover over the button now, there is an "x" where the pin was. You could click this to unpin the page button. 14. Click the Tile Menu button. Figure 3-6 Tile menu button The tile menu is itself a page. Note that the pinned page button for the Alarm page remains in the navigation bar. 24 • Operation and Configuration Student Workbook 3 Developing VTScada Applications 15. On your own, add a pinned page button to the navigation bar for the Overview page. The Alarm Page is one of the most important in any application, therefore VTScada gives you a permanent link to it. 16. Click the alarm icon in the title bar. The alarm page reopens. 17. Click and hold the Previous Page button in the title bar. A list opens of recently-visited pages. This differs from the "Recent Pages" list in the tile view because it contains a history of recent pages, including repeat visits. 18. Click the Overview Page entry in the list of previous pages. This concludes the exercise. You should now be able to find your way from one page to another, given the name of a page to open. The Idea Studio Applications are built using a combination of tags, widgets and graphic elements. l Tags are the VTScada representation of physical objects, as monitored or controlled by your PLC or RTU. l Widgets are the animated representations of those objects. l Graphic elements are the images and shapes that provide context for the widgets. Tags are created using the Tag Browser, which you will see in a later chapter. Everything else is created using the Idea Studio. The Idea Studio is opened by a click on its icon in the title bar. The Idea Studio contains the following components: Operation and Configuration Student Workbook Figure 3-7 The Idea Studio icon. • 25 Chapter 3 The Ribbons One ribbon, several versions, depending on the active command or selection set. When more than one ribbon might apply, you will find tabs across the top of the Idea Studio that can be used to switch from one ribbon to another. Some drawing tools, and all formatting tools, are accessed using the ribbons. Note: For many tools in the Idea Studio, there is more than one way to do things. You may be able to find the same command in more than one location. The File Menu Whether this menu shows the word "File" or only an icon depends entirely on which version of Microsoft Windows you are using. Within the drop-down file menu, you will find commands to open or create or import new pages and widgets. The Quick Access Toolbar. Across the very top edge of the Idea Studio. Initially, there are very few tools in this toolbar, but you can add your favorites at will. Also contains Undo and Redo buttons, a Show Operator View button (closes the Idea Studio and opens the page that you were last working on,) and a Deploy button, which is only relevant if you have turned off Auto-Deploy. The Palettes Covering the left side of the Idea Studio, these three palettes are where you will find all widgets, images and shapes to add to your pages. Palettes are organized into folders and, for the widgets palette at least, you will find the same items in several folders for ease of searching. From top to bottom, the palettes are organized as follows: l Tabs for switching between the three palettes. l A Recent Items list, with a separate list for each palette. l A navigation bar, to help you keep track of which folder you are viewing within a palette. l The tools and folders that make up each palette. Navigation Buttons and Zoom Controls Across the bottom of the Idea Studio, all the currently-open pages and widgets will be listed. You can click any page or widget's tab to open it for editing. You can click the (+) sign to the right of the tabs to either open a currently closed page or widget, or to create a new one. You can also right-click a tab to open a menu of file-commands for that page or widget. Below these are display controls. You can change the display scale in order to 'zoom-in' to better see detail in your work. You an also change the display scale 26 • Operation and Configuration Student Workbook 3 Developing VTScada Applications of the palettes, in order to better see which tool you are choosing or to see more tools at a smaller scale. Exercise 3-3 Open the Idea Studio, Create a Page The practice application should still be open from the last exercise. If not, reopen it now. 1. Navigate to the page, Overview. 2. Click the Idea Studio button. The Idea Studio opens. The text on the Overview page is there to help new users get started. You will start by clearing the page. 3. Open the Select tool in the Home ribbon, then click Select All. Figure 3-8 Select All As an alternative, you could have pressed the keyboard combination, Ctrl + A. 4. Before proceeding, note what happened when you selected everything. Blue selection boxes were drawn around every object on the screen. Along the top of the screen, several ribbons were added, as can be seen by the new tabs that are available to open. 5. Press the Delete key on your keyboard. The page is clear, and the ribbons that opened when you selected everything are now closed. 6. Open the File Menu, then click to create a new page, as shown. Operation and Configuration Student Workbook • 27 Chapter 3 Figure 3-9 New Page You will be prompted for a name to give the new page. 7. Name the page, Control Details. 8. When prompted to add the page to the menu, click 'Yes'. The page will be created and opened for editing. In the list of tabs across the bottom of the Idea Studio, you should now see both Overview and Control Details. Figure 3-10 The New Page Title prompt Simply for the sake of showing how the controls work, the next few steps will have you close, then reopen Control Details in the studio. 9. Click the x in the Control Details tab. The page still exists, but has been closed in the Idea Studio. To delete a page, right-click on the page's tab at the bottom of the Idea Studio and use the Delete command from the menu. Figure 3-11 Close page Note that the file name, where the page's source code is stored, is shown when you hover over the tab. Since nothing prevents you from giving two pages the same name, it is helpful to know that the file names will always be different, and can be used to tell one page from another. A page name is just a display feature, like its background color. 10. Click the plus sign. 28 • Operation and Configuration Student Workbook 3 Developing VTScada Applications The New Tab dialog opens, with a selection of options. Figure 3-12 New Tab button 11. Click, Open. 12. Click, Control Details, then click the OK button. The page reopens. As the number of pages in an application increases, it is not convenient to keep each open as a tab in the Idea Studio. Knowing how to close and open pages will make your work in larger applications more efficient. You will continue with the tools in the Idea Studio in the next exercise. The Open and New commands can be found in the file menu, in the New Tab dialog, and as keyboard shortcuts (Ctrl+O and Ctrl+N.) Drawing Objects This is the easy part. There are two ways to draw objects on a page that you are editing in the Idea Studio. Both start by using the palettes to find the widget, image or shape that you want. Once you can see the object in the palette, you can either: l Click and drag that object onto the page, releasing the mouse button when the object is in position. l Click once on the object. An instance will attach itself to the cursor, and you can click anywhere on the page to drop the object onto that location. Operation and Configuration Student Workbook • 29 Chapter 3 Figure 3-13 Drag and place There are three drawing commands that are found in the most ribbons instead of within one of the palettes: Line, Pipe and Text. These are used so often that it makes sense to keep them in a location that's easy to find, rather than tucked away into a palette. Draw Lines or Pipes: A. Click the Line or the Pipe tool in the Home toolbar. B. Left-click on screen where you want to start drawing the line. C. Continue to left-click for each vertex. D. Right-click after you have drawn the last endpoint. Once drawn, both lines and pipes will have endpoint grips and midpoint grips. l Drag an endpoint grip to reposition a corner. l Drag a midpoint grip to add a new endpoint between two existing endpoints. l Drag a segment between two grips to move that complete segment. Draw Text A. Click the Text tool in the Home toolbar. B. Click on the page where the text is to be placed (lower left corner of the text). A dialog will open. C. Type one (1) line of text. The dialog will allow you to enter multiple lines, but all line breaks will be ignored. A different tool exists for creating multi-line text. 30 • Operation and Configuration Student Workbook 3 Developing VTScada Applications D. Click OK to close the dialog and save the text. You can double-click the text to reopen the editing dialog. Alignment Tools (While Drawing) The Idea Studio provides many tools to help you assemble a tidy user-interface. Some work while you are drawing and others are used to align a selection of objects after they have been drawn. In this chapter, you'll see the tools that work while you're adding a new object to a page. Alignment lines: As you add new objects to the screen, lines appear as you move close the center or edge of existing objects. Figure 3-14 Alignment lines Releasing the new object while the line is visible results in it snapping to that line. Blue Distance Arrow You can tell VTScada to The blue distance arrow has a preset distance. As ignore alignment snaps you add new objects to the page and place them of all types by holding approximately this distance from an existing object, the Ctrl key down while the arrow will help you to place the new object drawing. The alignment exactly that far from the old object. lines will still be displayed, but the new object won't snap to them. Figure 3-15 Blue alignment snap arrow You can set this distance using the Advanced option of the Snap Lines tool: Operation and Configuration Student Workbook • 31 Chapter 3 Figure 3-16 Opening the Snap Line Options dialog Red Distance Arrows Given two objects in a row, as you add a third object approximately the same distance from one as it is from the other, red distance arrows will let you maintain equal spacing between each object. There is no pre-set distance for the red arrows. Figure 3-17 Red alignment snap arrows Proximity Snap When a new object is drawn "close" to an existing one, it will snap to the nearest edge of that object. This makes it easy to make objects connect. Nudge Any selected object, or group of selected objects can be moved one pixel at a time by using the arrow keys on your keyboard. The procedure is as follows: 1. Select one or more objects. (See the following topic.) 2. Tap the arrow key that points in the direction that you want to move the objects. 3. Press the Enter key when you have finished. For each tap, the objects will move by one pixel. You can use the same procedure to stretch the objects, by holding down the Alt key while tapping the arrows. The upper, left corner will remain fixed and the right edge or bottom edge will move by one pixel in response to each tap on an arrow key. Selection Tools In the next section, Alignment Tools (After Placing) you will see how to organize objects that you've already drawn. But, to do that, you need to select which 32 • Operation and Configuration Student Workbook 3 Developing VTScada Applications objects should be organized. When you click on an object, it is selected. You can tell, because a border is added around the object, with grips that you can click and drag. Figure 3-18 One selected object If you click on a different object, the first is deselected and the next is selected in its place. If you hold down the Shift key or the Ctrl key while clicking a second object, it will be added to the selection set. Clicking a selected object while holding down either key will deselect the object. When two or more objects are selected, a different type of selection border is drawn. All selected objects get a blue border with no grips, but the most recently selected object gets a thick border. This indicates that it is the anchor object. The overall set has a border with grips that can be moved to stretch everything that was selected. Operation and Configuration Student Workbook • 33 Chapter 3 The anchor object is the one that stays the same and does not move while you apply alignment commands to the selection set. Everything else will be aligned with the anchor. You can also select multiple objects by dragging a window around them. Click on an empty location in the page, then drag the mouse to open a window that surrounds the objects that you Figure 3-19 Multiple selection with anchor object. want to select. If you drag from left to right, every object that the window touches will be selected. If you drag from right to left, only the objects that are fully within the window will be selected. To deselect everything, click once on an empty location on the page. In a crowded page, it can be difficult to select just and only the objects that you want. One way to solve that problem is to use the display scale slider at the bottom of the Idea Studio to zoom in on a region of interest. 34 • Operation and Configuration Student Workbook 3 Developing VTScada Applications For complex selections, a set of tools is available in the Home ribbon. The Select All (seen in an earlier exercise) is the equivalent of the Ctrl+A keyboard shortcut. The Invert Selection option can be useful when its easier to select what you don't want than what you do. It can also be a timesaver when, after applying an operation to a set of objects, you need to apply a different operation to everything that wasn't changed in the first set. Finally, the "Select all of this type" tool can be extremely useful when you need to adjust everything of a certain type. For example, to choose a different font style for text. Figure 3-20 Selection options and tools PBX (SG): DO NOT USE GROUPS! One final selection tool to be aware of is the temporary group. There are many times when you will need to treat a group of separate objects as a single thing. This might be when aligning those objects, or when creating duplicates. The temporary group was created for this purpose. Figure 3-21 Temporary group tool This command can be used only when at least two objects are currently selected. After grouping, everything that was in the selection set will be treated as a single object. When you need to work with the individual pieces again, use the Ungroup command (shown gray in menu of the previous figure) to break the group apart. Operation and Configuration Student Workbook • 35 Chapter 3 Alignment Tools (After Placing) Given two or more objects on a page, you can use any of the following tools to bring them into alignment. l Note 1: Everything that follows assumes that you have selected at least two objects in a page. l Note 2: Everything will use the anchor object (dark blue border in the selection set) as the basis for alignment. Align Midpoints is especially handy when working with concentric objects, such as user-created meters and gauges. There are three alignment options for both horizontal and vertical and vertical directions. Finally, this menu contains two distribution tools. Rather than align the selected objects on a common axis, these spread the objects apart equally, either horizontally or vertically. Distribution is the exception to the rule of the anchor determining how everything else moves. When distributing the Figure 3-22 Alignment and distribution tools objects in a set, the outer-most two stay put, and everything between them moves to fit. Note that every object in the selection set counts. You may need to create temporary groups in order to achieve the alignment that you want. Change Size & Position by Dragging When you click in the middle of a selected object or group of objects, then drag the mouse, the selection set moves with the pointer. Click and drag a corner grip, and the object will scale in size. It will retain its aspect ratio unless you hold down the shift key while dragging. Figure 3-23 Dragging a corner grip If you click and drag an edge grip, you stretch the object by moving that edge in or out. Keyboard Modifiers: 36 • Operation and Configuration Student Workbook 3 Developing VTScada Applications l l Shift Key: release aspect ratio lock. Ctrl Key: release alignment tools and proximity snap. Match Sizes The width, height and size (width and height both) of all objects in a selection set can be made the same using the Match tools in the Format ribbon. As shown in the following figure, many other properties can also be made to match. Figure 3-24 Match size As with the alignment tools, the anchor object in the selection set is the one that all other objects will match after using the command. For each object that changes dimension, the top, left corner will remain fixed while the right edge or lower edge moves to match the new dimension. Exercise 3-4 Practice with Alignment Tools Your task is to build the screen as shown in following figure. The steps will provide guidance for using the various tools in the Display Manager. The application that you created earlier, Practice, should still be running. If not, restart it now. 1. Open the Idea Studio and ensure that the currently selected page is Overview. 2. Open the Shapes palette. Operation and Configuration Student Workbook • 37 Chapter 3 Figure 3-25 Opening the shapes palette 3. Drag a rectangle from the palette to the page. Figure 3-26 Dragging a rectangle 4. Drag a circle onto the rectangle. Figure 3-27 Circle on top of rectangle. 38 • Operation and Configuration Student Workbook 3 Developing VTScada Applications 5. Drag the lower, right corner of the circle up and left until it snaps to the upper edge of the rectangle. 6. Move the circle slightly forward, then align it and the rectangle on a common vertical midpoint. Figure 3-28 Re-sized circle Figure 3-29 Aligned circle 7. Draw a short line from the midpoint of the right edge of the rectangle, as shown. Figure 3-30 Added line 8. Repeat to create a set of five identical, and aligned tabs as shown. Add a line to represent a connecting wire. Note that there is a shortcut, as described in the earlier notes for the various alignment tools. Figure 3-31 Aligned tabs with connecting wire Format and Properties Having drawn a shape, line, image or widget, you can change its appearance. The options available will depend on the type of object you are modifying. The short version of the instructions is as follows: Operation and Configuration Student Workbook • 39 Chapter 3 A. Select one or more objects. B. Examine the toolbar that opens automatically. The available tools provide your options for changing the format of the selected objects. Note that, if you have selected several types of objects, several toolbars will be available as tabs. Some formatting options, such as color, can be applied globally, and others can be applied only to a particular type of object in the selection set. For example, given a shape such as a rectangle, you can change its fill color (and pattern), and its outline color (and pattern and thickness). You can change its opacity to Figure 3-32 Format ribbon for a shape make it semi-transparent, and you can rotate it. (Note that while shapes can rotate certain other objects cannot) Each of the tools shown in this ribbon example has its own set of controls. Fill The Fill tool provides an option to select from a range of preselected colors, or you can expand the options to work with the full color selector, or to change the pattern used within the fill. If you expand the Pattern option, you can choose from a variety of cross-hatches, zigzags, waves and other patterns. Having chosen a pattern, you can apply a new color to the background portion of that pattern. Figure 3-33 The fill menu 40 • Operation and Configuration Student Workbook 3 Developing VTScada Applications The More Colors... option will open the full Select Color dialog. This tool gives you an enormous range of options for choosing a color. Figure 3-34 The Select Color dialog. You can use one of the color chips or pick from the full color target (note the sliders for setting the saturation and luminosity of any hue chosen in the target.) You can provide RGB or HSL values. Or, you can use the screen picker to select any color in any VTScada window or title bar. The last option is especially handy when trying to match an existing color that is no longer listed in the set of Recently Used Colors. Outline Not all shapes will have a fill, but all will have an outline. This also applies to lines and pipes. Properties that can be changed for an outline include color and width. Except for pipes, it is also possible to apply a line style to an outline, making a dashed or dotted line or edge. Advanced Formatting. The Properties Dialog Those who have used older versions of VTScada are familiar with the graphic editor (VGE), a dialog that opened as each new object was drawn on the screen, and which could be used to adjust the appearance of that object. While ribbons have largely replaced the VGE, it still exists but is now called the Properties dialog. Operation and Configuration Student Workbook • 41 Chapter 3 Figure 3-35 Properties dialog for a rectangle A properties dialog can be opened for only one object at a time. If several objects were included in selection set, then the anchor object will be the only one affected by the change in properties. The Properties dialog has the following controls to know: Menu Attributes of the object that have been changed are marked with a green dot. Select each attribute as needed, to access the properties that you can change for that attribute. Figure 3-36 Properties menu Mode selection Most properties will have a choice of None or Advanced. A few, including both Fill and Outline, also have a simple mode, which usually offers Figure 3-37 Mode selection control over only color. You should make a habit of checking the mode to see whether an advanced set of options is available. 42 • Operation and Configuration Student Workbook 3 Developing VTScada Applications Data source The value for each property can be set in several ways. At this stage in the course you will use a direct setting - the Select Color dialog for color, or the Width drop-down selector for line width. Later in the course, you will see how to animate a property by tying its value to a page parameter, tag parameter or other data source. Figure 3-38 Data source selection Value assignment The method for assigning a value to a property will vary depending on the data source chosen. It also varies depending on what type of value is appropriate for the property, whether color, pattern, width, or other option. In most cases, there will be a button, which opens Figure 3-39 Value assignment the appropriate type of user-interface element from which to choose a value for the property. Exercise 3-5 Experiment with the format tools. This exercise does not have steps. Using what you have drawn so far (and anything else that you'd like to add to the page,) change colors, line styles, fill properties and any other property of everything on the page. Images Images provide context for a display screen. These include borders and backgrounds, equipment and logos. Any file with the format .PNG, .JPG, or .BMP can be imported and used. New in version 11, you can tile images within a given area, and if doing so, can set a scaling factor for each individual tile. VTScada comes with several thousand royalty-free images that you can use in your applications, or you Images are not Widgets! can import your own. You can link a widget to a tag and animate it. In this chapter, you will learn by doing. In the following exercises, the first will show you how to build Images just sit there. a display panel with an illuminated highlight, such as can be seen in the sample page, Dashboard 1. In the second exercise, you will import a new image of your own. Operation and Configuration Student Workbook • 43 Chapter 3 The easiest way to adjust the properties of an image is to use the format ribbon at the top of the Idea Studio. You could right-click the image and open the properties dialog. From there, you will need to click the Adjust button, then the Advanced button in order to find the same range of options. To begin the following exercise, the Practice application should be running, and the Idea Studio should be open. Exercise 3-6 Create a background and highlight. 1. 2. 3. 4. 5. 6. 7. Open the Control Details page, within the Idea Studio. Open the Images palette. Expand the Decorations folder. Expand the Tiles and Textures folder. Expand the Opaque folder. Scroll down to find the texture, Pin Hole Background. Drag it to the page. Note the initial size of the pinholes. 8. Triple the size of the texture by dragging the corners. Note that the pattern appears to be scaling with the overall size of the image, as you might expect. Figure 3-40 Stretching a tile 9. Click on the page to finish stretching the image. Note that the pin hole size returns to the original scale and repeats to fill the new area. The Image Tools, Format toolbar is now open at the top of the Idea Studio. 10. Click the Colorize tool in the toolbar, then select the Advanced option. The Image Properties dialog opens. This contains several tools to adjust the color of the image, but the easiest to use is the Colorize button. The other tools are older, and exist here primarily for backward compatibility. 44 • Operation and Configuration Student Workbook 3 Developing VTScada Applications 11. Click the Colorize button. The Select Color dialog opens. 12. Find the column of brown shades, then click the color swatch second from the bottom of the column. The new color should read <FF5C492C>. 13. Click OK and OK to close the color adjustment dialogs. The gray pin hole pattern now has a brown shading. 14. Open the Properties dialog for the tile. (Right-click, then Properties.) 15. Note that the option Tile Image is selected, and that the scale factor is currently at a default value of 0.5. 16. Change the scale factor to 0.3 and click OK. Figure 3-41 Scaled image scale factor 17. Click the Home button in the Images palette to return to the top-level folder. Figure 3-42 The home button. Since widgets haven't yet been covered in the course, you will add a motor image instead of the gauge that was used in the sample page. 18. Expand the Motors folder. 19. Find the Inverter Drive motor and drag it onto the tiled background. 20. With the motor selected, expand the Colorize tool in the Format toolbar, then click the option, More Colors... The Select Color dialog opens. 21. Change the color of the motor to a steel gray by setting its Red - Green Blue values to 191, 212, and 240 respectively. Figure 3-43 Steel blue Operation and Configuration Student Workbook • 45 Chapter 3 22. 23. 24. 25. 26. 27. Click OK to save and close the dialogs. Return the Images palette to the Home folder. Expand the Decorations folder. Expand the Lighting Overlays folder. Expand the Transparent folder. Find the Spot Light Fade image and drag it to the page, placing it at the top, center of the tile. Lighting overlays are most effective above a dark background. Figure 3-44 The result Exercise 3-7 Import an Image When images are imported, they are added to whichever folder is currently open. A folder named, "Imported Images" exists, but will only be seen if you import an image and create a new Menu Item tag entry in that folder using the Tag Browser. Alternatively, if you drag an image directly from Windows Explorer to the Idea Studio then the Menu Item tag will be created automatically in the Imported Images folder, causing that folder to become visible in the palette. 1. The Idea Studio should be open, and the Images palette open. 2. Open Windows Explorer and navigate to the folder where the class files can be found. These should have been provided at the beginning of the course. 3. Arrange your screen so that you can see both Windows Explorer and the Idea Studio. 4. Drag the file, SmallTower.png from Windows Explorer to the current page in the Idea Studio. 5. The New Menu Item Properties dialog opens. Click OK to accept the default values. 46 • Operation and Configuration Student Workbook 3 Developing VTScada Applications Figure 3-45 New Menu Item dialog 6. Click the option, Image. The Import Image dialog opens. 7. Navigate to the course folder, as directed by the instructor. This should have been created at the beginning of the course. 8. Select the file, SmallTower.png and click Open. Details about the image will be displayed in the New Menu Item Properties dialog. You could change your mind at this point and select a different image to import. 9. Click OK. The image is now available in the Imported Images folder. Drag it to the page. Widgets You might not see much difference between images and widgets at first, but there is one very important difference to keep in mind. Widgets are designed to be linked to tags, and either display monitored values in some animated fashion, or provide operator controls that can write values to equipment. Images are static pictures, used to enhance or provide context to an operator display. Since the whole purpose of a widget is to be linked to a tag, we will wait until those have been described before seeing how to work with widgets. Rest assured however, that you already know most of what you will need to know, as a result of learning how to add images to a page. Operation and Configuration Student Workbook • 47 Chapter 3 The Widgets Palette Figure 3-46 The Widget palette Widgets are organized both by the type of animation they provide and by the type of tag to which they can be linked. The widgets palette does contain a number of static images, most of which will be found in the Decorations folder, and some of which will be found in the Tools folder. For those who have used versions of VTS prior to the release of VTScada 11, what used to be the Library dialog is now the Tools folder. When searching for a given widget, you can follow either path: starting with the type of thing you want to draw (perhaps an equipment indicator) then open the matching folder. Or, start with the type of tag you intend to represent with the widget, then open the Tag Types folder and navigate from there. 48 • Operation and Configuration Student Workbook 3 Developing VTScada Applications Widgets and the System Style Tag Many tags have a Display tab in their properties dialog. Figure 3-47 Style Settings choice The labels means that in the absence of any specifically-selected Style Settings tag, the built-in tag, SystemStyle, will be used. Between the Analogs and Digitals, Errors and Exceptions tabs of the Style Settings tag, the following display properties can be configured: Tag Value or State Lit LCD segment Type Group Text Color Analogs Lit Blue Unlit LCD Segment Analogs Lit Transparent State 0 Digitals Off Gray State 1 Digitals On Green Value == 2 Digitals State 2 Blue Value == 3 Digitals State 3 Purple Active Alarm Alarms (Numeric) Alarm Red Alarms (Numeric) Alarms (Numeric) Unacknowledged Red Bad Quality Analog Input or Digital Input Bad Data Dark orange Mismatch Set value != feedback value Output tags Mismatch Light orange Invalid Numeric No Data Black No error Port or Driver No Error Green Error Port or Driver Error Red Operation and Configuration Student Workbook • 49 Chapter 3 Figure 3-48 Basic options in the System Style tag Widgets, such as the following Equipment Status Indicator and Illuminated Toggle Switch, will change color or change their labels as dictated by the state of their linked tag and the matching configuration of the style tag. Figure 3-49 An Equipment Status Indicator and an Illuminated Toggle Switch, in state zero (off) and state 1 (on). LCD widgets also take their color, and the color used for values in the alarm range from the Style Settings tag. Figure 3-50 Various LCD indicators, some in an alarm state. 50 • Operation and Configuration Student Workbook 4 Preparation for the Class Project 4 Preparation for the Class Project Most of the exercises for the next few chapters will build towards the creation of one application - the class project. The class project will be based on an existing layer: WellSimulator. This is done for a number of reasons: l l l Building on top of an existing intermediate layer is a realistic thing to do The classroom computers are not actually connected to a water distribution system. The driver in the simulator layer, "WellSim" provides data as if you were connected to a physical system. The project is designed to teach you about VTScada concepts, one step at a time. After basic concepts have been practiced and new features learned, don't be surprised at instructions that tell you a simpler way to do what you just finished laboring over. It's important to learn the basic tools before advanced tools. OEM Layers - New Applications From Old You have already seen that VTScada applications are built on layers. You are about to create a new application based on an intermediate layer, also referred to as an "OEM layer". The OEM layer contributes application properties Any application can be and tag type definitions to the new layer. In other words, VTScada does not make of copy of the OEM an OEM layer for another application. layer, to use as the new application, but rather, it allows the new application to see drivers, tag types, OEM layers allow you to application settings, etc. that are in the underlying re-use your work instead OEM layer. This means: of re-creating coml Application properties must be copied from the OEM layer to the current application if you want ponents for each new project. to change their values. Operation and Configuration Student Workbook • 51 Chapter 4 Tags are copied to the new application from the OEM layer. l Pages in the OEM layer can be seen and added to the new application's menu, but the page cannot be edited in the current application and none of the tags that were drawn on it in the OEM layer will be seen in the new application. If you want instances of pages and application properties to be copied into new applications, then you can add the items you want into a template in the OEM layer. l The Communications Chain Before creating I/O tags, it is necessary to establish what hardware the application will be communicating with and how that communication will be handled. This is the role of the tags in the communications chain. There are either 3 or 4 links in the chain, depending on whether or not telemetry is a part of your system: A. Create a port connection tag. This can be a Serial port, a TCP/IP port or a UDP/IP port. B. Create a device driver tag. Options include Allen Bradley drivers, Modbuscompatible, Siemens and over 100 others. C. [optional step for telemetry applications] Create a polling driver. D. Create the I/O connections. These include input, output and status tags for analog or digital communications Figure 4-1 The communication chain 52 • Operation and Configuration Student Workbook 4 Preparation for the Class Project The Application In the class project, we are creating a system that pumps water from two well fields into a water tower. A valve on the tower controls the flow of water out to the city. The following figure illustrates the layout of the system Figure 4-2 Water system components Values for and operation of all the wells, pumps, tank and valve are simulated by the WellSimulator layer. The list of layers is as follows: l Application Layer: MyApp - Final user interface application l Simulator Layer (OEM): WellSimulator - Simulates a VTScada driver for a PLC l Core Features & Telemetry Tools Layer: VTScada - Support for drag-and drop tools and scripting Configuration of the System The layout of the system suggests that it may be useful to group the components into three Areas(*). Operation and Configuration Student Workbook • 53 Chapter 4 Elm will include all the equipment in the first well field. l Ridge will include all the equipment in the second well field. l Tufts will include the water tower and valve. The System area exists in every application and will be used here for system-wide components such as the communications port and driver. l (*) An “Area” is a label applied to tags. By identifying tags as members of an Area (or group) you can filter lists, control alarm notification system, rosters and more. Summary of the system’s operation: l l l l l l l Well 1 and Well 2 pull water from the first well field and send it to the water tower, via a treatment plant. Well 3 pulls water from the second (slower-filling) field and sends it to same plant and tower. The tower is drained by the control valve. You will need control systems to turn the pumps on and off and to open and close the valve. Monitoring systems will be required on pumps, water table within well field and the valve. Alarms will be needed to alert us when water levels in the well fields are too low, and when the water tower's level is low or pressure is high. Reports will be required for such things as well and water tower levels over time. While the instructions will direct you to use certain bitmaps for the pumps, tanks and valves, you are free to experiment with other choices. As you design your application keep the overall layout of the system in mind. You will need to fit many of the components into one overview page, so it will not work very well if your first pump takes up half the screen. Note also the various text labels that exist to help an operator monitor the system. You will need to leave space around each component for these. Exercise 4-1 Install the Simulator Layer Preparation: If the application from the last set of exercises is still running, stop it now. The following exercise assumes that your starting point is the VAM, with no other applications running. 1. Click the Add Application Wizard button in the VAM. The wizard opens. 2. Select the Advanced option, then click Next. 3. Select the option, Get from ChangeSet, then click Next. 4. Click the Browse button, 54 • Operation and Configuration Student Workbook 4 Preparation for the Class Project 5. Browse to the course folder (usually, C:\COURSE) and locate the file WellSimulator.ChangeSet. 6. Select WellSimulator.ChangeSet and click Open. Figure 4-3 Get from ChangeSet 7. If your screen matches the previous figure, click Next. 8. Deselect the Start application now option. You are adding the Well Simulator to serve as an OEM layer. You will not run this application. 9. Click, Finish. Exercise 4-2 Create the Project Application. 1. Click the Add Application Wizard button in the VAM. The wizard opens. 2. Select the Advanced option, then click Next. The Create new option should be selected by default. 3. Click Next. 4. Change the name to "Well_" followed by your initials. For example, the author of this exercise named the application, "Well_AJH". 5. Change the Type to WellSimulator. Operation and Configuration Student Workbook • 55 Chapter 4 Figure 4-4 New application based on an OEM layer 1. 2. 3. 4. If, and only if you have set the type to WellSimulator as shown, click Next. Review the information in the final screen of the wizard. Check the option, Start application now. Click, Finish. The application folder will be created and the name will show up in the VAM. The new application will fill the screen. These notes will refer to your new application as the "Well application". 56 • Operation and Configuration Student Workbook 5 Pages 5 Pages A page is the canvas on which you draw your application. There are two types: the full screen page used to provide an overview of part or all of a system, and the pop-up page, used to provide detail or control for some small part. You may create as many pages as required to build your application. Every VTScada application starts with a set of built-in pages. Most of these cannot be edited. For example, the Alarm page, Reports page and Historical Data Viewer all exist to be used, but not changed. The tiled menu, "Page Menu" is also a type of page. Pages that you cannot edit are referred to as "system pages". A few built-in pages can be edited, or even deleted. Of note is the Overview page; a starter page to help you begin building your application. Pages that you can create and change are referred to as "application pages". As with most other parts of the application, pages are created and modified within the Idea Studio. You saw how to create a new page in the exercise, Open the Idea Studio, Create a Page, on page 27. In this chapter, you'll learn about defining page properties and building the menu. Page Properties When creating a new page, you will be prompted to choose whether to create it as a full page, or as a pop-up page. The only difference between the two is a property setting, which you can easily change after the page has been created. Operation and Configuration Student Workbook • 57 Chapter 5 Figure 5-1 New page or new pop-up page Page properties are accessible through the Idea Studio ribbons. Figure 5-2 Page properties Taking these one at a time, you can do the following: Color: Opens the Select Color dialog, from which you can choose any color you like for the page background. Some developers will set a color theme for certain groups of pages, as a visual guide for operators. While helpful in some cases, it does little good for operators who are color blind. In general, if setting a background color, always choose a pale, neutral shade so as to not cause eye-strain and to not distract operators. Image: Opens the Select Image dialog, with which you can select a background image. This might be an image of the equipment being monitored or controlled by the widgets on the page, or it might be a company logo. You can import any image to use as a background. Title: Pages are (apparently) identified by their title. There is no rule to say that two pages cannot have the same title, so it is helpful to know that pages are really identified by their file name, which is easily discovered. Size: Important to set for pop-up pages, and possibly useful to set for standard pages. The size dialog includes options to set the default position of pop-up pages (top and left), the default size, and both or either the minimum size and maximum size. 58 • Operation and Configuration Student Workbook 5 Pages When editing a page in the Idea Studio for which a size has been set, a marking rectangle will indicate where the borders of that page are. This can be extremely helpful when designing a page for a smaller screen than the one you are using. Pop-up Behavior: Controls how the page opens. Can be set to always open as a standard page, filling the application area, always as a pop-up page, or as "no restrictions". The last option is useful to be aware of, since most of the system pages are configured using this option. A left-click to open such a page will result in a standard page. A right-click will result in a pop-up. This gives flexibility, and also allows you to have two pages open at once. The "no restrictions" option is not appropriate for every page. Limits on pop-up pages: The application property, PopupPageLimit, controls how many pop-up pages may be open at a time. The default is eight, but you may change this to as many or as few as you like. The property, PopupLimitAction, provides several options for what will happen when the PopupPageLimit is reached. The least intrusive option is to allow all pages to open. The next is to warn that the next page is past the limit, but allow it to open anyway. Next is to prevent pages from opening in excess of the limit, or to close currently-open pages automatically before proceeding to open the new page. Thumbnail: Rather than use a snapshot of the page in previews, select and use an image of your choice. Bar Items: This has nothing to do with beverages. Controls the contents of the title bar and the footer bar of a page. You can limit operator control by limiting the contents of these bars. Scale Page Content: When selected, the contents of the page will scale to fit the available area. This gives flexibility to your pages when they are viewed on varying screen sizes, but may result in some deformation. Manage Parameters: Added to a page so that one page can be reused. If your application has several identical stations, you can create one generic page, then provide a separate menu link to it from each station, handing a different set of tags to the parameters from each link. Widgets and expressions within the page can be linked to the parameters so that they display the values from the appropriate station when the page is opened. Operation and Configuration Student Workbook • 59 Chapter 5 Parameter Values: Available only after parameters have been created using the Manage Parameters tool. Security: Available only after security has been enabled, and application properties have been created. Developer-defined application properties can be applied to a page to restrict access to authorized operators only. Tag Types: Allows a page to be linked directly to one or more tag types, as is done with widgets. The following page-related tool can be found in the File menu: Delete Page: As it says. The system you are creating for the class exercise will have three stations providing water for a town: two well fields and a water tower. To monitor the system, you will make use of a VTScada Site Page. This will be designed so that an operator can click on any station and open a detail view of that site. For the sake of seeing all available options, you will also make use of the overview page, giving it a simple background map and using page hotboxes to open the control pages. After learning how to use both options, you can choose which you prefer for your own applications. Pages will be required for the detail and control views. There's only one water tower, so it's likely that only one page will be required for it. But, the wells present a different opportunity: There are two, nearly identical well fields. Rather than build two pages, you will build one parametrized page that can be used by either. Eventually, you will also be able to make use of the built-in Sites page and link the tower and the wells to locations on a map. Exercise 5-1 Modify Page Properties Preparation: The well application should be running. 1. Open the Idea Studio. The Overview page will load automatically, since no other application page 60 • Operation and Configuration Student Workbook 5 Pages 2. 3. 4. 5. 6. has been created yet. Select all, then press the delete key. You could use the select tool in the ribbon, or you could press Ctrl + A. Open the Page Properties ribbon. Change the title to "Supply Plan", then click OK to close the Rename dialog. Click the Image tool, then Select Image. The Select Image dialog opens. Click the Add New button at the bottom of the dialog Figure 5-3 Add New Image The New Menu Item Properties dialog opens. 7. Click, Image. The Import Image dialog opens. 8. Navigate to the course folder, and select the file, System Diagram.png, then click Open. 9. Back in the New Menu Item Properties dialog, click OK to finish the import and set this image as the page background. This completes the first exercise on pages. Continue on with the next exercise. Exercise 5-2 Create Pop-up Control Pages Preparation: The Idea Studio should still be open from the last exercise. 1. Expand the File menu of the Idea Studio. 2. Click New, then Popup Page. The New Page Title dialog opens. 3. Name the page, "Field Details" and click OK. 4. Click No, when prompted to add the page to the menu. If you rushed ahead and clicked Yes instead, don't worry. Menu customization is the next topic. Field Details will be created and opened in the Idea Studio. 5. In the Page Properties ribbon, click Size. 6. Set the size (second row in the Page Size Settings dialog) to a width of 400 and a height of 300 pixels, then click OK. As you develop the page later, it is likely that you will want to adjust the values; 400x300 is used only as a reasonable starting point. Operation and Configuration Student Workbook • 61 Chapter 5 Figure 5-4 Setting the minimum page size. In the next few steps, you'll do the same thing a different way. 7. Click the Add New Tab button at the bottom of the Idea Studio. 8. Click "Popup" in the New Page section. 9. Name this page, "Tower Details" and click OK. 10. Click, Yes when prompted to add the page to the menu. 11. Set the size to a width of 600 and a height of 400 pixels, then click OK. Leave all three pages open in the Idea Studio. As you continue with the following exercises, you will need to be careful of which page you are currently working on. Pages Versus Widgets Later in this course, you will build your own widgets that can be added to pages. Both pages and widgets are created using the Idea Studio and both are edited the same way within the Idea Studio. But, be careful! Even though they may look similar, widgets are not pages. In any menu showing both pages and widgets, and in the list of what is currently open in the Idea Studio, always note the icon. 62 • Operation and Configuration Student Workbook 5 Pages Figure 5-5 Icons, identifying what is open in the Idea Studio Menu Customization The content and structure of the menu are yours to control. You may add as many or as few pages to it as you wish, and you can group the pages in whatever manner makes sense. For example, as shown in following figure, the control pages of the class project have been grouped within a sub-folder. Figure 5-6 Grouped control pages in the menu. Menus are edited, not just to add the new pages that you create, but to remove unnecessary pages (such as the Sample Pages) and to organize pages so that operators can find the ones they need without spending time searching. There are two ways to edit the menu. You could open the Page Menu from the Home toolbar of the Idea Studio. Figure 5-7 The Page Menu tool The Page Menu is in fact the Tag Browser. Menu items, including the contents of all three palettes, are stored as Menu Item tags, and organized within the browser. Operation and Configuration Student Workbook • 63 Chapter 5 Figure 5-8 The page menu The menus are designed so that you cannot add the wrong type of tag to any section. Images cannot be added to page menus and pages menus cannot be added in the drawing tools section. As you add new items, the dialog will restrict your choices to options that are appropriate for the currently selected level in the hierarchy. This method is well worth knowing since it gives you the most control over exactly what you're doing. But, for most menu-editing tasks, there's an easier way... 64 • Operation and Configuration Student Workbook 5 Pages Direct Editing of the Tiled Page Menu Figure 5-9 Adding a new menu item directly to the Page Menu screen Rather than work with menus through the Tag Browser, it is possible to work directly with the Page Menu, right-clicking to add new pages, folders or dividers, or delete existing menu items. The result is exactly the same: you are working with MenuItem tags. If you click New or Properties, a MenuItem tag properties dialog will open for configuration. Exercise 5-3 Add a New Menu Folder Preparation: The Idea Studio should be closed. 1. Open the tiled Page Menu page, as shown: 2. Right-click on any of the Supply Plan page, the Tower Details page or a blank square. 3. Select "New" in the menu that opens. The New Menu Item Properties dialog opens. 4. Click, Folder. Operation and Configuration Student Workbook • 65 Chapter 5 5. Set the title of the folder to "Controls" and click OK. The folder should now be visible in the Page Menu. 6. Right-click on the menu item, Tower Details so that a context menu opens. 7. Click, Cut. 8. Right-click on the folder, Controls so that a context menu opens. 9. Click, Paste as Child. The page will be moved to the Controls folder. The folder opens, showing Tower Details as its only page. 10. Right-click anywhere on or beside Tower Details to re-open the context menu. 11. Click, New. The New Menu Item Properties dialog opens. 12. Click, Page. A dialog showing all the pages in the application opens. 13. Select the page, Field Details, then click OK. 14. Click OK to confirm and close the properties dialog. Finally, tidy up the menu by removing the sample pages: 15. Navigate up out of the Controls folder to the Page Menu. 16. Right-click on Sample Pages, then click Delete. Confirm the action when prompted. You will check your work in the Tag Browser, because there you will be able to see all the pages in the system, not just one folder at a time. 1. Click the Tag Browser button, at the top of the screen: Figure 5-10 Opening the Tag Browser. 2. In the left window, click to expand Menus, then Page Menu. 3. Click once on Controls. The contents of the Tag Browser should now look like the following figure. If yours does not, use the tools you have seen in this exercise to fix it. 4. Close the Tag Browser. 66 • Operation and Configuration Student Workbook 5 Pages Figure 5-11 Menu structure at the end of the exercise Page Source Files Pages are stored as text files in a sub-folder of your application named, "Pages". These are user-editable that you can easily modify. You can also create new pages by copying existing files and editing key lines within them. While VTScada provides all the tools you will need to create and configure pages, it can be very handy to know how to make changes at the code level as well. For example, suppose that after you created 50 control pages in an application, the operators have demanded that you not use bright purple as a background color. It is far faster to change the color code (expressed as an RGB value) in a series of files than to open the Select Color dialog for every page. (38, 380, 780, 0) [ Title = "Tower Details"; PageMinWidth = 800; PageMinHeight = 400; WinFlag = 1; Color = "<FCD48E>"; ] Note that any change to a user-file in your application must be imported before it will become part of the set of working files. This is a security feature of VTScada. Only authorized users may import file changes and they can easily compare the two versions to determine what was changed before the new is imported. The easiest way to import user files that you have modified is to use the Import File Changes button in the VAM. Operation and Configuration Student Workbook • 67 6 Tags 6 Tags Tags are the software representation of a discrete part of a physical system. A tag might represent the status of a pump, the level of a tank, a control switch to open a valve, etc. The Tag Browser is the primary tool for creating, modifying and deleting tags. With it, you can easily add tags and change the information in the tag properties database. Your other option is to export tags to a spreadsheet, then import changes back to the application. This is far less user-friendly, but can be a timesaver when creating a large number of similar tags. Tags can be organized into a hierarchy, so that it is easy to see which tags relate to which components in the system. Besides making it much easier to find a given tag, this system makes it easy to expand the application by copying entire structures. Building the Communications Chain Before creating I/O tags, you must configure the connection between VTScada on your computer and the hardware at the remote site. This is the role of the tags in the communications chain. There are three links in the chain: l The port (serial, TCP or UDP) l The driver (communication protocol for your device) l The I/O (addresses on the PLC or RTU) Some application also have one or more of the following optional links: l Polling driver - Groups I/O at a station and controls the timing of communication. l Driver Multiplexer - Allows I/O to switch between alternate routes of communication as needed. Ports Port tags are used to enable communication between VTScada and the physical hardware. If the hardware is connected to your server via a serial port, you will Operation and Configuration Student Workbook • 68 Chapter 6 need a Serial Port tag, specifying the COM Port to use, the baud rate, parity, stopbits, etc. If the connection is made over an Ethernet network, you will need a TCP/IP or UDP/IP port, configured to use the correct IP address or DNS name, and other connection parameters. Drivers Driver tags are used to ensure that VTScada sends and receives data using the correct protocol for your hardware. Drivers that ship with VTScada include the following (many more are available on special request). Allen-Bradley CalAmp Diagnostic CIP/ENIP Device Data Flow System DDE DNP3 Compatible MDS Diagnostic Modbus Compatible Motorola ACE Omron OPC Client OPC Server The VTScada Help reference includes a guide to I/O address formats to use for each type of device driver. The Polling Driver The polling driver is an optional part of the communication chain. With it, you can organize groups of telemetry devices into sets with similar communications channels. For each set, a Polling Driver can be configured to act independently of the other sets, to organize polling cycles ensure the most efficient use of costly communication links. Extra benefits that come with the Polling Driver, such as site pages, have lead many developers to add a Polling Driver tag into their systems even when they are not using telemetry and do not want to limit communications to a polled interval. Currently, the Polling Driver is not as popular as it once was. Benefits were once available only when using a Polling Driver are now available to many other types of tag. The decision to use a Polling Driver now hinges mostly on communications - if it helps to control the polling rate of all attached I/O in one place, or if you find it useful for its ability to organize communication with remote sites, then by all means use it. 69 • Operation and Configuration Student Workbook 6 Tags Monitoring Polling Drivers The SiteDraw drawing method provides a way to monitor communications to the RTU. This is drawn as two circles – the outer one indicating the health of the communication link and the inner one showing the state of the data transferred. A legend for the SiteDraw is available in the Drawing Tools menu. (Site Tools Library). Site Pages for Polling Drivers Clicking on a site draw symbol opens a Site Details page. These automatically-created pages will display statistics relevant to that Polling driver as well as a list of all the I/O tags linked to that driver. Figure 6-1 The site legend How Long Since the Last Poll? You can find the time since the last poll by drawing a DataAge display for a Polling driver. This numeric display in clock format (hours : minutes : seconds) simply shows the length of time elapsed since the last successful communication through the driver. Number of Stations Being Polled One other drawing method specialized for polling drivers is the Polled Station. When added to a page, this numeric display will tell you how many RTU’s are currently being polled by your application. An asterisk (*) indicates that none are available to count (this is most often seen during configuration but may indicate a serious communications failure). Fast versus Normal Polling A draw method available to each polling driver is the Fast Scan Button. When added to a page, this allows operators to switch the system into a rapid polling mode. Options available to the fast scan mode include: l Rate of polling. Given in seconds, this allows you to poll the driver at any rate required while in fast scan mode. l Active time. Also provided in seconds, this provides security against forgetful operators by setting a maximum time for the driver to remain in fast polling mode. You can tell the system to stop fast scanning when the page containing this button is not currently displayed. For example, if the button to enable fast scanning is part of a pop-up window and this option is selected, then as soon as the window closes, polling will return to normal. Operation and Configuration Student Workbook • 70 Chapter 6 The Tag Browser All tags are created and configured using the Tag Browser. You can open this tool from within the Idea Studio, or directly from the title bar of your application. Figure 6-2 Opening the Tag Browser Figure 6-3 Parts of the Tag Browser Using the Tag Browser Tag Count The numbers at the top of the tag browser tell you many things. Figure 6-4 The Tag Browser title Matches: The number of tags displayed in the main window. This is a function of the selected parent (left window) and any filters you may be using. Running: Total count of tags that are not currently disabled. Includes every widget, image, shape, page menu, etc. Licensed x Used: Of the tags that count towards your licensed limit, this is how many you've created so far, not counting disabled tags. 71 • Operation and Configuration Student Workbook 6 Tags Available: Your license limit. Address Bar If you have organized your tags into a hierarchy, the address bar helps you keep track of which tag in the structure you are currently viewing. (For example, I/O for the backup pump in the main well at Site 2). The home button allows you to quickly navigate back to the top of the tag tree. Display Filters Applications may have hundreds (or hundreds of thousands) of tags. You can filter the display to show only tags in a given area, tags of a certain type, or tags having a name matching a given pattern. The tag browser reminds you that a filter is in use by adding a golden highlight to the background of the filter controls area. When filtering based on name, you can use wild cards. For example, "Alarm*" means any tag whose name starts with "Alarm". Both leading and trailing wild cards are assumed if none are specified, therefore "Alarm" is the same as "*Alarm*". Filtering by type is either very useful, or very annoying, depending on what you are doing. It can be annoying if you leave a type filter in place when trying to move on and work with another type. Always check the for the orange bar if the list doesn't show the tags you expect. Within the type filter, two levels of sorting are used. The most obvious is that types are sorted alphabetically. Not so obvious is that there are two lists: first all the individual tag types, then all the tag groups. It can be extremely useful to filter by groups such as "Analogs" or "Drivers". You can also filter by name or property. Figure 6-5 Filtering the tag list Note the option to the right of the text filter: Names / Full. The default, Names, applies the text filter only to the name of the tag. The Full option applies the text filter to all properties of the tag; name, area, description, value, engineering units, etc. Operation and Configuration Student Workbook • 72 Chapter 6 The options, Show Children and Show Disabled are also filters of a sort. If Show Children is not checked, then only the immediate child tags of a selected parent are shown in the list. Checking the Show Children option causes all the children, grand-children, etc. to be included in the list. Tags may be disabled - possibly because components are offline and you have chosen to disable the associated tags to improve system performance without actually deleting any tags. While disabled, the tags don't show in the list and don't count towards you license limit. To see them (subject to other filters being active), check the Show Disabled option. List Sorting You can sort the display by any of the column headings, Name, Description, Type, or Area. Just click on the column header to sort in ascending order, or click again to sort in descending order. The first column is unlabeled and is used to show descriptive symbols that may provide extra information about tags. You can also sort by these. Tag Tree The window on the left shows the tag tree structure, including only the parent tags. This can be used to quickly navigate to components of interest. You can hide this section of the screen if necessary by double-clicking on the vertical bar dividing it from the main list. Tag List and Control Buttons The largest area of the Tag Browser is taken up by the tag list. As noted, this list can be sorted and filtered as required. Note the value column - this is continuously updated, giving you a very handy way to see current tag values. (Especially if the list has been sorted to show only tags in an area of interest.) Add and Configure Tags To add a new tag at the currently selected level of the tag tree, click the button labeled, "New". 73 • Operation and Configuration Student Workbook 6 Tags You can also add a new tag directly under any level of the tag tree, including the root, by right-clicking and selecting "New Child" from the menu that opens. Unless you are adding a tag to the menu section, the Select Type dialog will open. If the list is currently filtered by type, then that type will be shown as the default choice in the list, but you are still able to choose any other type. (Be careful of that: if you create a type that the display isn't filtered to show, then you won't see what you create until the filter is removed.) Figure 6-6 Adding a new tag After selecting a type (and clicking OK) the properties dialog for that type will open. This is commonly referred to as the tag's "config. folder". The appearance of this dialog will vary depending on the type of tag being created, but there are a few common aspects: Figure 6-7 Selecting the type of a new tag Every tag will have an ID tab, and the ID tab for most tags will be the same. Here you can enter a name for the tag (every tag MUST have a name), an area to help sort the tags later, and a description. The Help Search Key field is an advanced feature, of use only to those who are creating their own online help system. Oops! What if you decide to change the tag name? No problem. Just re-open the properties dialog and enter a new name. The only complications might affect advanced customizations that you haven't yet learned how to make. Operation and Configuration Student Workbook • 74 Chapter 6 Figure 6-8 ID tab of the Analog Status tag's config. folder Fields turn green when you change the information within them. This helps you keep track of what you have changed and what you haven't touched. The green lasts only until you click OK. If you re-open the folder later, all fields will be white again until you start making new changes. Fields can also turn other colors, depending on how they're configured. Hover over a field to see a tool-tip that tells you more about that field. The I/O tab will be similar for most input, output and status tags. This is the place to provide communication parameters. You can provide a manual data value for testing purposes when you don’t have live communications. 75 • Operation and Configuration Student Workbook 6 Tags Figure 6-9 Analog status I/O configuration Exercise 6-1 Add Communication Tags It's time to continue the project. The next step in every application is to establish the communication chain, linking your application to the hardware. You will do this even if you are a systems integrator, creating the application far away from the customer's site. You can change the port and driver configuration later, when you install the application at the site. This is far easier than trying to build an application without a communications port and device driver(s). Preparation: The well application should be running. The Idea Studio need not be open. 1. Click the Tag Browser button. The Tag Browser opens. 2. Ensure that in the left window, the highlight bar is on the root tag (\). Figure 6-10 New tags are added below the selected parent 3. Click the button labeled "New". The Select Type dialog opens. 4. Find and select the type, TCP/IP Port. The list is sorted alphabetically. Operation and Configuration Student Workbook • 76 Chapter 6 5. Click OK. The New TCP/IP Port Properties dialog opens. Since this exercise uses a simulator, you will configure this tag so that your computer talks only to itself. 6. In the name field, type, "T_Port1". 7. In the Area field, use the drop-down selector to choose "System". 8. In the Description field, type, "Local TCP Port". Figure 6-11 TCP Port ID properties 9. 10. 11. 12. Click the Connection tab to open that page of the config. folder. Set the TCP/IP address to "localhost". Set the port number to "502". Click OK to close and save this tag configuration In the next set of steps, you will link a device driver to this port. But, rather than adding it at the same level in the tag tree, you will add it as a child of the TCP/IP Port tag. Note that the tag you just created shows in the main window, but not in the left window of the Tag Browser. 1. Find T_Port1 in the tag list and right-click on it. 2. Click on New Child from the menu that opens. 3. Select the type, WellSim, then click OK. The properties dialog opens. Note the name field. The name of the parent tag will be part of the name of the child tag. 4. Enter, "PLCSim" as the name of the WellSim driver. 5. There is no need to change the Area in this case - it will inherit the same area value as the parent tag's 6. Enter "PLC Simulator" as the description. 7. Click on the Serial tab. 8. Note that the port is already configured. This is one of the benefits of organizing tags in a tree structure. Where appropriate, child tags will look to their 77 • Operation and Configuration Student Workbook 6 Tags parents to take configuration information. If you were to later create a new port and then copy this tag to become a child of that other port, you wouldn't have to change the port configuration - the new child would automatically use the new parent. 9. Click OK to save and close the configuration. Move the pointer over Note the tag browser. In the tag list, the T_Port1 tag the tag browser symbols now has a symbol indicating that it is a parent tag. to see a tool-tip describThe tag tree window also shows the T_Port1. If you click on that tag in the tree, you will see only its child, ing each symbol. PLCSim, in the tag list. The symbol beside it indicates that it's a tag you created. At the top of the tag browser, the address bar now shows that you are viewing only the child tags of T_Port1. The count of 1 used (Tag Browser title bar) is interesting. Ports and drivers do not count against your licensed limit, but user-created tags do. The simulator is a user-created tag, therefore PLCSim is counted even though it is also a driver. Figure 6-12 The Tag Browser at the end of the last exercise Exercise 6-2 Add a Polling Driver A Polling Driver is being created, simply for the sake of the exercise, giving you a chance to see how one works and is used. Only one will be created. 1. 2. 3. 4. 5. Right-click on the driver tag, PLCSim, and select New Child. Set the type to Polling Driver and click OK. Set the name to "Tufts Stn". Set the area to "Tufts". Set the description to "Tufts Station Water Tower". Operation and Configuration Student Workbook • 78 Chapter 6 6. Open the I/O tab of the Polling driver's properties folder. The I/O Device shows "[..\*Driver]". This is because you are creating this tag as a child of a driver. 7. Change the Poll Group Name to "Towers". This driver will be Station Number 0 in the group. If later, you were to add another station / polling driver in this group, you would change its Station Number to 1. 8. Change the Scan Interval to 3 seconds from 60. 9. Open the Display tab. 10. Below Latitude, click the check box "Constant". 11. Set the latitude to 45.091 12. Below Longitude, click the check box "Constant". 13. Set the longitude value to -64.374 Yes, there is a much easier way to set latitude and longitude. 14. Click OK to save your work and close the properties dialog. Read Analog Values VTScada provides two types of tag for reading analog values. These are the Analog Input tag and the Analog Status tag. l l An Analog Input tag will read values from a specified address on a PLC, applying the scaling factor that you specify to turn raw values into something that's meaningful in human terms. If you want an alarm on that value, or if you want to log it, you must add more tags to accomplish those tasks. An Analog Status tag will also read and scale values. But, it also provides for two possible alarms (high and low), built-in data logging, the ability to read history values from a second address (depending on the PLC & driver), and other helpful features. Much the same is true of the following tag pairs: As a general rule, always choose the full-featured version over the basic tag. The cost of the extra overhead is negligible next to the benefit of the extra features. Basic tag Full-featured version Analog Input Analog Status Digital Input Digital Status Analog Output Analog Control Digital Output Digital Control 79 • Operation and Configuration Student Workbook 6 Tags One more tag deserves mention in this list: The Pump Status tag is nearly identical to the Digital Status tag, but was designed explicitly for use in monitoring pumps. Both the Analog Input and the Analog Status share the following configuration properties to enable them to read values from the hardware: l They must be told what device driver tag to use. You generally can't read data from an X-brand device using a Y-brand driver, and you certainly cannot read data without any device driver. Oddly, the most common mistake seen in courses is to leave the driver field blank. l They must be told the I/O address to use in the controller or RTU. Address formats will vary by driver. l They must know the scaling factor required to convert raw numbers from the sensors into values that are meaningful in human terms. Scaling of Analog Values The default scale values of zero to 4095 unscaled / zero to 100 scaled, may not be convenient for your hardware. You can set new default values using the following application properties. Note that these are found only in the Advanced tab of the Application Properties dialog. l l l l AnalogUnscaledMinDefault AnalogUnscaledMaxDefault AnalogScaledMinDefault AnalogScaledMaxDefault Scaled Process Data Min versus Low Scale Value? The first four scaling values relate to process data and have a direct effect on the value reported by the tag. Raw process values, as read by equipment are converted to scaled process values to be displayed to an operator. The two fields, Low Scale Value and High Scale Value, are available if you want to adjust how much of that range will be shown when the tag is viewed. For example, the low and high scaled process values might range from zero to 100, but in practice they rarely budge outside of a range between 50 and 65. If you set the Low Scale Value to 50 and the High to 65, then when an operator views a trend graph of this tag, the plot will show only that range to start. If Low Scale Value and High Scale Value aren't set, then the full scaled process data range will be shown. ... Which is probably what you want, nine times out of ten. Operation and Configuration Student Workbook • 80 Chapter 6 Exercise 6-3 Create Analog I/O Tags The overall configuration of the water tower is as follows: Two analog sensors have been installed. The first measures the height of the water in the tower as a percentage of the overall capacity. The second measures the air pressure above the water in the tower, (just because that's how the simulator was programmed). Two addresses on the programmable logic controller at this location are used to allow the operator to write set points for two alarms: Water level too high and water level too low. In addition, the controller is configured so that the values set at these addresses are written back via another address for the purpose of confirming that the signal was received correctly. In this exercise, you will create four analog tags for reading values from the controller: water level, water pressure, low alarm set point confirmation and high alarm set point confirmation. The first two should be logged and will therefore be created as Analog Status tags. There is no need to log the set point confirmations, so Analog Input tags could be used for those, but common practice is to pick one type (input or status) and stay with it, so that is what will be done here, with logging switched off. All of the following should be created as children of the Polling Driver tag, "Tufts Stn". Tag 1 - Water level in the tower 1. If the Tag Browser is not open, reopen it now. 2. Right-click on Tufts Stn and click Add New Child from the menu. 3. Select Analog Status as the type. Careful! It's easy to choose Alarm Status by mistake. 4. Type, "Level" as the name. 5. Type, "Percentage full" as the description. The Area will already be the same as the parent tag's. 6. Click on the I/O tab. 7. Ensure that the I/O Device has found the parent driver, Tuft Station Water Tower. 8. Set the address to 40050. Note that you cannot change the scan interval. Since this is using a Polling Driver, that's where the interval is controlled. 9. Open the Scaling tab. 10. Ensure that the Scaled Process Data Min is 0 and that the Scaled Process Data Max is 100. 11. Ensure that the Engineering Units are set to "%". 12. Open the Historian tab. 13. Note that logging is enabled. The Analog Status tag logs on change. Any change. To avoid filling the log files with system noise, a deadband is added. By default, this will be set so 81 • Operation and Configuration Student Workbook 6 Tags that a value must change by at least one quarter of one percent of the scaled range before being logged. 14. Click OK to save your work. The value column should show a small amount, usually 1.7. This is an artifact of the simulator code. Tag 2 - Water pressure in the tower. 1. Repeat the previous steps to create another Analog Status tag, except change the following parameter's values: Name Pressure Description Water pressure Address 40051 Scaled Process Data Min 15 Scaled Process Data Max 200 Eng. Units psi 2. Click OK to save your work. Tag 3 - Low alarm set point feedback. 1. Create another Analog Status tag using the following values: Name AlmLowVerify Description Verify low alarm set point Address 40053 Scaled Process Data Min 0 Scaled Process Data Max 100 Eng. Units % 2. Open the Historian tab of the properties dialog. 3. Click the X to remove the historian. This prevents logging of the tag's values. Always log what will be needed in a future report, and don't log anything that you are absolutely certain will never be needed in a report. Keep in mind that there is no way to recreate historical values if you haven't logged them. 4. Click OK to save your work. Tag 4 - High alarm set point feedback. 1. Create another Analog Status tag using the following values: Operation and Configuration Student Workbook • 82 Chapter 6 Name AlmHighVerify Description Verify high alarm set point Address 40054 Eng. Units % Scaled Process Data Min 0 Scaled Process Data Max 100 2. Ensure that no historian is attached to this tag. 3. Click OK to save your work. Draw Widgets & Link to Tags Tags are represented by widgets. Some developers like to create pages and widgets first, laying out the entire design of the system before creating tags. Others prefer to create their tags first, then draw the widgets to represent those tags. You can use whichever method you prefer, or a combination of the two. There is no rule that every tag must be shown, nor is there a limit on how many times widgets can be linked to the same tag. For instance, you might wish to display the current level of fluid in a tank using both a vertical bar and a numeric value. Widgets that are not linked to tags will display a value (based on a sine-wave generator built into VTScada ,) so that they look realistic. They will also display a very clear indicator so that you know the value isn't coming from an actual tag. Figure 6-13 The unlinked widget indicator Note that this indicator is suppressed by default for individual widgets, replaced by a global indicator Figure 6-14 The global unlinked widget indicator in the title bar. One of the first things you should do in every new project is click this indicator in the title bar to show the individual indicators. You won't be able to do this until there is at least one unlinked widget in a currently open page. 83 • Operation and Configuration Student Workbook 6 Tags Exercise 6-4 Draw a Widget Preparation: If the Tag Browser is open, close it now. 1. Open the Idea Studio. 2. Select the page, Tower Details. Note that the white area does not fill the screen (depending on how large the Idea Studio is on your computer). The white rectangle marks the page size that you set when you created this page. You can draw outside that area, but should try not to. Increase the values for the page size instead if more room is required. 3. Open the Widgets palette if it is not already open. 4. Open the Basic Components folder, within the Widget palette. (You may need to scroll down.) 5. Open the Bars folder. 6. Drag the Color Fill to the page, placing it relatively near the upper-left corner. The Widget tools - Format toolbar should now be open. If you were to deselect the Color Fill that you just drew, then that toolbar would close. Don't do that. Ensure that the widget remains selected on the page for the next step. 7. Click the Properties button in the Format toolbar. A Color Fill has three colors. You are about to change the Unfilled Color and the Bar Color. 8. Click the Unfilled Color button. The Select Color dialog opens. 9. Select black, then click OK to close the dialog. 10. Click the Bar Color button. 11. Select a shade of blue to represent water, then click OK to close the dialog. 12. Close the Idea Studio 13. Open the Tower Details page. The widget should be visible and display a fluctuating water level. You have Operation and Configuration Student Workbook • 84 Chapter 6 not yet linked the widget to a tag, so the value it shows is coming from a built-in simulator. Exercise 6-5 Show Unlinked Widget Indicators. 1. Click the unlinked widget indicator / button in the title bar. A prompt will open, warning you that this change will affect all operators and asking for confirmation that you want to continue. 2. Click, Yes. The Color Fill should now have a blinking indicator, showing that it has not yet been linked to any tag. This is a very helpful indicator as you build your applications. Exercise 6-6 Link a Widget to a Tag 1. Reopen the Idea Studio. 2. Select the Color Fill in the Tower Details page. 3. Click the Link tool in the Format ribbon. You could also right-click on the Color Fill and find the Link command in the menu that opens. 4. Select the tag, Level, below Tower 1. The bar stops changing, and shows a nearly empty (black) region. Since the tower is only +/- 1.7 % full, this is correct. Exercise 6-7 Provide Context for a Widget The Color Fill that is linked to the tower's water level is good, so far as it goes, but it's not obvious what the bar height represents. Images are useful for that purpose, providing visual context. 1. 2. 3. 4. 5. Open the Images palette. Open the Tanks folder Locate the image, TankElev02Short. Drag the tower to the page. Select the Color Fill. If the Color Fill is behind the tower, you will need to click twice to change the selection from the image in front to the Color Fill in back. 6. Adjust the size of the Color Fill by doing the next three steps simultaneously: 85 • Operation and Configuration Student Workbook 6 Tags a. Click on one of the corner grips of the Color Fill and continue to hold the left mouse button down. b. Press and hold both the Shift key and the Ctrl key on the keyboard with your other hand. Shift releases the aspect ratio lock. Ctrl releases alignment snap. c. Drag the corner until it aligns with the matching corner of the window cut into the tower. Remember that it is possible to adjust the scale of the Idea Studio if you need to zoom in for a closer view. You can use the arrow keys to nudge the widget to its final size and position. Figure 6-15 Adjusting the corner location 7. Repeat for the opposite corner of the Color Fill. You will likely adjust the tower later on. It would be good if you didn't have to repeat the work you just did to place the Color Fill behind the window. 8. Select the image and the Color Fill, then use the Group command to combine them. (Just "Group", not "New Widget".) With the tower in place and the Color Fill bar widget shown only in the cut-away window, it is now obvious to operators what this widget represents. Exercise 6-8 Practice with Widgets and Linking This exercise provides minimal instructions, so that you will have a chance to practice what you have learned so far. 1. Place a Numeric Value widget beside the tower. (This widget can be found in the Widgets palette, Basic Components >> Text folder). 2. Link the Numeric Value to the Level tag. 3. Repeat for the tag, Pressure. Operation and Configuration Student Workbook • 86 Chapter 6 Figure 6-16 Three widgets, two showing the tank's level Exercise 6-9 Polling Drivers Reprise Now that your Polling Driver has I/O tags attached, it's time to see one of the benefits of using this type of driver tag. You will draw a Site Draw widget on the supply map, and link it to the driver. Then, you can click the Site Draw to open a site page. 1. 2. 3. 4. 5. 6. 7. 8. Open the Idea Studio if it is not already open. Open the Supply Plan page. Select the Widgets palette. Open the Tag Types folder. Open the I/O Devices (Drivers) folder. Open the Link Management folder. Open the Polling Driver folder. Drag a Labeled Site Draw widget to the Supply Map page, on or below the tower image. Figure 6-17 A Site Draw near the tower image. 9. 10. 11. 12. Link the Site Draw to the Polling Driver, Tufts Stn. Return to the top-level folder in the Widgets palette. Open the Decorations folder. Drag the Site Legend to the empty space near the Site Draw. The Site Legend is an image, not a widget, but for historical reasons it is included in this library. 13. Close the Idea Studio. 14. Open the Supply Plan page. 15. Click the dot of the Site Draw. A Site Page opens, showing driver status and statistics, and all I/O tags that are using that driver. The outer ring is now blue - what does that mean? (hint: remember that legend you just drew...) 87 • Operation and Configuration Student Workbook 6 Tags Figure 6-18 A Polling Driver's Site Page The following assumes that you are currently connected to the Internet. If not, the map will be blank. If you were to open the Map tab, you would find a pin for the polling driver near Marsh Hawk Dr. The location of the pin has nothing to do with where you placed the Site Draw. The pin was located earlier when you set latitude and longitude values while configuring the Polling Driver tag. At the time, it was mentioned that there was an easier way to set the values. The easier way is to use this page and click the Update Site Location button, then click on the map where the station is to be located. (This is how your author obtained those values in the first place.) Manual & Questionable Data As you link tags to widgets, they will initially display a question mark, as seen from the running page (not visible in the Idea Studio). This is a valuable feature while building an application. The question mark signifies that the data being displayed has not yet Figure 6-19 Questionable data indicator been verified. It is good practice to always verify the data shown in an application to ensure that it is an accurate reflection of reality. Once this has been done, you may right-click on the tag (while in run mode) and remove the check mark from “Questionable Data”. In this way, you can easily keep track of which older tags have been verified and which newer tags still need to be checked. Operation and Configuration Student Workbook • 88 Chapter 6 Manual data allows you to set a constant value for a tag. This can be useful to test a system before it is connected to a live data source. By experimenting with a range of manual data values you can verify that alarms and other features of a tag are working as expected as you continue to build the system. When manual data is set, an exclamation mark will appear on the tag’s drawing method. As you create tags in the following exercises, none of the steps will tell you to switch off the Questionable flag, but feel free to do so. Reusable Tags / Context Tags The role of Context tags is described by their name: they provide context to the child tags below them. You can also store configuration information within a context tag, which will be available to its child tags. With context tags, you can create constructs to describe everything connected to a PLC with one multi-part tag. For example, you might define a base I/O address for a pump context tag. All of its I/O tags would be configured to use this base address plus an offset for their connection to the controller. When you make a copy of the pump, you would set a new value for that instance's base address. All of the new I/O tags would automatically have the correct address without further configuration - provided that the same offsets from the new base address could be used. The Tufts water tower was created using the simplest possible configuration. This is a tried and true method of building an application, but it doesn't offer the timesavers possible in VTScada. By way of contrast, the wells will be created to use as much automation as possible. First, you will need to learn a little about the VTScada expression language. Simple Expressions In the introduction to Context tags, you read that they could be created with configuration properties, which would be accessible to their child tags. An example was offered for using a base address for the PLC and calculated offsets for addresses within the PLC in order to automate configuration. In this topic, you'll learn how to build this using the VTScada expression language. An expression is anything that can be calculated to find a value. For example, "2 + 2" is an expression. It returns 4. There is no need to include an equals sign "=", it is enough just to provide operands such as "2" and operators such as "+". The operands can be named. For example, the expression might be written as "X + X". All that's needed is a way to put a value into X and you can calculate anything. 89 • Operation and Configuration Student Workbook 6 Tags By the way, it's a very, very good idea to put a space between each operator and operand. So, get into the habit of writing "2 + 2" rather than Suppose that you have many pumps as part of water "2+2". system. The I/O addresses for three are as follows (using a Modbus compatible addressing format): That's as complex as expressions need to be in order to continue with the application that you're building. But, rest assured that the VTScada expression language allows you to build far more complicated and powerful calculations. Sensor Pump 1 Pump 2 Pump 3 Speed 41001 42001 43001 Temperature 41002 42002 43002 Flow Rate 41003 42003 43003 Note that, from one pump to the next, the second digit from the left is the one that changes. Speed is always xx001 Temperature is xx002 and Flow Rate is always xx003. A system where addresses are defined as a base value plus an offset could be used here. For example, the address expression for the speed sensor would be "Base Address + 001". The expression for the temperature would be "Base Address + 002". Now, all that's required is a way to hand a suitable base address to each pump: 41000 for pump 1, 42000 for pump 2, and so on. Returning to the application that you're building, the base address will be stored within a property that you will add to a Context tag. Exercise 6-10 Create a Context Tag with a Property This tag will make use of parent-child inheritance. 1. 2. 3. 4. Open the Tag Browser if it is not already open. Right-click on PLCSim and select New Child from the menu that opens. Select the Context type. In the properties dialog, set the name to "ElmField". Spaces are being left out of the name for the sake of making a later exercise easier. 5. Set the area to "Elm". 6. Set the description to "Primary water supply". 7. Type "FieldType" in the Type field. As a general rule, always create names that will be distinctive. If you name Operation and Configuration Student Workbook • 90 Chapter 6 your context type something like "Well" and the next release of VTScada has a "Well" type, you would have trouble upgrading. Figure 6-20 Elm well ID configuration 8. Open the Settings tab of the properties dialog. 9. Click the Add button. The Add Property dialog opens. 10. Set the name to "IOBase". 11. Set the value to "30". 12. Set the comment to "I/O address base". Figure 6-21 Adding a property to the context tag 13. Click OK. 91 • Operation and Configuration Student Workbook 6 Tags It might be useful to draw this as a Site Draw later. All that's needed to make that possible is to add two more properties: Latitude and Longitude. But, rather than type those in, you can simply click the Add Site Properties button. 14. Click the Add Site Properties button In addition to Latitude and Longitude, this adds extra configuration properties. Ignore them for now. Figure 6-22 The configured tag 15. Click OK to close the properties dialog. There is no need to repeat this for the second well field. Remember that the plan is to use automation to save work. But, there's more configuration to do first. Exercise 6-11 Monitor the Water Table l l l l Sensors in the well field will record water depth as percentage full relative to what the wells can hold. For the sake of simplification in this exercise, there is only one depth per well field rather than a sensor in each well. An alarm will be configured to warn when the value goes too low. The operator will be able to control the alarm setpoint. The controller is configured to provide feedback confirmation of that setpoint via a separate address. Operation and Configuration Student Workbook • 92 Chapter 6 Preparation: If the Idea Studio is open, close it. Open the Tag Browser. 1. 2. 3. 4. Expand the tag tree so that you can see the Context tag, ElmField. Right-click on ElmField and click Add New Child from the menu. Select Analog Status as the type. Type, "Level" as the name. Wait... Isn't there already a tag named "Level"? Yes, but that tag's full name is "T_Port1\PLCSim\Tufts Stn\Level". This tag's full name is "T_ Port1\PLCSim\ElmField\Level". It's the full name that counts. 5. Type, "Percentage full" as the description. The Area will already be the same as the parent tag's. 6. Click on the I/O tab. 7. The I/O Device field should read, [*Driver] PLC Simulator. The portion in square brackets tells you that VTScada is using code to link to the first driver found above this tag, and the description tells you which tag that is.. In the next few steps, you will set the I/O address of the level sensor. But, rather than simply typing in the value, you will use an expression that calculates the address from the base I/O address defined in the parent Context tag. This is being done so that, when you add a new well, you will only need to change the base I/O address in the new parent. 8. Right-click in the Address field. 9. Select, Add Parameter Expression from the menu that opens. Figure 6-23 Add Parameter Expression 10. The Parameter Expression editor opens. 11. Type "..\IOBase + 40000". (Count the zeros; there are four.) Figure 6-24 A parameter expression. The Optimize option should almost always be checked. 12. Click the OK button to save the expression. The address field should show 40030, against a blue background. 93 • Operation and Configuration Student Workbook 6 Tags 13. Click on the Scaling tab to open that panel. Raw data from the sensors ranges from 0 to 4095, so the two unscaled process values are correct. A percentage range is from 0 to 100. 14. Ensure that the Scaled Process values are 0 and 100, respectively. 15. Ensure that the engineering units are set to "%". 16. Open the Historian tab. 17. Select the System Historian, found at the top level of the tag tree. (See following image. Never, ever, select the System Alarm Historian for tag I/O.) Figure 6-25 Finding the System Historian. 18. Click OK to save your work. You should expect the value to read approximately 90%. Since we have not yet added a pump to extract water from the well, the simulator has it nearly full. Exercise 6-12 Draw the well field You will need an image of a well and an Analog Status drawing method that will dynamically display the water table level. 1. Close the Tag Browser. 2. Open the Idea Studio to the page, Field Details. 3. Open the Widgets palette, ensuring that the top level folder is open. If the Color Fill is in the list of Recent Items, you can use that. Otherwise... Operation and Configuration Student Workbook • 94 Chapter 6 4. Open the Basic Components folder, within the Widget palette. 5. Open the Bars folder. 6. Drag the Color Fill to the page, placing it relatively near the center of the page. 7. Click the Properties button in the Format toolbar. 8. Click the Unfilled Color button. The Select Color dialog opens. 9. Select black, then click OK to close the dialog. 10. Click the Bar Color button. 11. Select a shade of blue to represent water, then click OK to close the dialog. 12. Link the widget to the Level tag under ElmField. 13. Outside of VTScada, open Windows Explorer. (Leave the Idea Studio open. Adjust windows so that you can see both Windows Explorer and the Idea Studio.) 14. Navigate to the folder containing the course files. 15. Find the image, AquiferWellBackground.png. 16. Drag AquiferWellBackground.png to the page. As soon as you drop the image on the Idea Studio page, the New Menu Item Properties dialog will open. You are importing an image into this application and you are adding it to the Images palette as well as dropping it on the page. 17. Click OK to accept all the defaults in the New Menu Item Properties dialog. An image imported using this technique will always be added to the Imported Images folder of the Images palette. 18. Re-size the Color Fill until matches the translucent area in the center of the background image. For this exercise, it is meant to represent the water table in the area, not the depth in the well itself. Recall the use of the shift and Ctrl keys to release the various snaps. 95 • Operation and Configuration Student Workbook 6 Tags Figure 6-26 The Field Details page so far. Define Your Own Animations If you were to stop the application and re-start it, you would see the water table filling. The Color Fill drawing method is designed to display the value of the tag attached to it as an animated bar. You can animate any property of any object (widget, image, shape) by linking a tag value to the property. The tag must have a value that is appropriate to the parameter value, so if animating color, you might need to create an expression that translates tag values to VTScada color values. To see how to animate a property, you will draw the water table level as a numeric value and animate its vertical position so that it stays close to the top of the water level. Exercise 6-13 Animate Text Position When animating an object to move or scale, you must know the range of motion that you will allow for it. You can use the (X, Y) values at the bottom of the Idea Studio to discover this. The coordinate 0,0 is at the top-left of the page. Numbers increase as you move down and right. 1. Hover the pointer near the top of the aquifer and note the coordinates shown at the bottom of the Idea Studio. Move the pointer to the bottom of the aquifer and note the coordinates there. Subtracting one from the other shows that the well has a vertical rise of about 190 pixels depending on Operation and Configuration Student Workbook • 96 Chapter 6 how you scaled things in the last exercise. (Perfect accuracy is not required.) Figure 6-27 Y-coordinate at the top of the well. Figure 6-28 Y-coordinate at the bottom of the well. 2. Place a Numeric Value widget near the bottom of the color fill area. 3. Link the widget to the tag, Level, below ElmField. 97 • Operation and Configuration Student Workbook 6 Tags Figure 6-29 Numeric Value placement. 4. Open the Properties dialog for the Numeric Value. 5. Change the text color to white so that it can be seen against the dark background. 6. Expand the menu entry, Vertical Movement. Figure 6-30 Vertical movement menu 7. 8. 9. 10. 11. Click the Tag Browser button beside the field that says "No tag selected". Find and select, ElmField\Level. Ensure that the Use Tag Scaling box is checked. Set the direction of movement to Up Set the distance that it will move Up to a maximum of whatever number of pixels you measured earlier (190 in the example). 12. Click OK to save your work. The text will now be beside the top of the water level. If you were to stop the application and restart it to watch the simulator filling the water table, you would see the text rise from its original location. If you want to adjust the vertical position of the text now, you should remove the Vertical Movement configuration first. Otherwise, you're adjusting the text for where it is at the 90% level, not the empty level. Feel free to adjust the text color if you find it difficult to read the value. In a later exercise, you'll discover that this isn't a good location for the text, but that's how development work usually goes. Exporting and Importing Tags Tag configuration data is stored inside each application's controlled version repository. The files cannot be edited there, but tags can be exported to a format that you are able to edit. Upon importing that file back into the application, VTScada will merge all changes found, adding, deleting and changing tags as appropriate. Operation and Configuration Student Workbook • 98 Chapter 6 Note: The application version control system will be covered later in the course, but it is important to be aware of it when importing tag files. Because of application version control, you should not do the following: A. B. C. D. E. Export Edit the exported file. Import. (Synchronize) Edit the exported file some more. Import again. If further edits are required, Step D must be: "Repeat steps A through C". The import operation is actually a synchronize operation ("Sync"). This is an import followed immediately by either a fresh write, or by the deletion of the file. This helps you avoid working in a tag file that is out of date, but the best policy remains, "Repeat steps A through C". The user interface to export and synchronize tags can be found in the Application Configuration dialog. If you are configuring large numbers of similar tags, it is much faster to create them in Excel or Access than one-at-a-time in the Tag Browser. The proper procedure is as follows: A. Create and configure at least one instance of each type of tag that you plan to use in your application. You must have an example to follow when working in the exported file. This initial tag will show you what configuration details are expected to look like. If you miss one or more tag types, you can repeat the procedure later. B. Export the tags to Excel or Access. Excel is generally preferred since it allows you to duplicate a group of tags, then go back and edit the names. In Access, every new tag must immediately be given a unique name. C. For each type, which will be stored in a separate worksheet or table, make copies of the example tag row. Edit each new row to have a blank Export Info column, its own name, I/O address and other configuration values. D. You can also edit or delete tags. E. Save your work. F. Using the same tool in VTScada, import the file back into your application by clicking the Sync button. This can be done while the application is running. G. If further changes are required, export again and repeat. Note that the first column for each tag is its unique identifier. If copying a tag to create more tags, do not copy the contents of the Export Info column. Doing so will cause an error when you synchronize the file back into your application. 99 • Operation and Configuration Student Workbook 6 Tags Tags to Write Values In many systems, it is the job of the Programmable Logic Controller to look after control actions such as opening and closing valves, or starting pumps. Even in these situations, the SCADA system may still be used for some control actions, such as setting alarm levels, and writing values for certain control actions. In this chapter, you will learn about tags that can be used to write to the controller. Analog Status tags (and Analog Input, Digital Status and Digital Input) can all be configured to write as well as read. However, VTScada provides a set of tags that are expressly designed for writing, and that give you far more control over configuration than simply writing using an input tag type. These are the Output and Control tags. Analog Control Just as there were two types of tag for reading analog values, Analog Input and Analog Status, there are two types for writing values: Analog Output and Analog Control. The difference between the two is not as marked as between Analog Input and Analog Status, but in general, Control tags (Analog Control and Digital Control) have more built-in features that Output tags (Analog Output and Digital Output). As a general rule, select the control type over the output type. Analog Control tags have the option of being given a data source. This can be used to update the display (if the tag is drawn on a page) or it can provide a value to be written by the tag. If control is done at the PLC, then it is useful to have the SCADA display update to show the value most recently written, and preferably from an independent address on the PLC. If programming exists in the SCADA system to adjust output values in response to operating conditions, then an expression or a calculation tag might be used as the data source. The Data Source parameter is an entirely optional part of the configuration. If neither of the situations just described applies to your application, then simply leave this field blank. Exercise 6-14 Write Alarm Setpoints In an earlier exercise, you created two analog input tags in the Tufts Stn. to provide verification of the alarm setpoint values. In this exercise, you will create tags that allow the operator to write those setpoints. Preparation: The Idea Studio should be closed and the Tag Browser open. 1. Add a new child tag to Tufts Stn. 2. Select Analog Control as the type. Operation and Configuration Student Workbook • 100 Chapter 6 3. Configure the tag as follows: Name AlmHighSet Description High alarm setpoint I/O Device Tufts Station Address 40151 Eng. Units % Data Source AlmHighVerify Use Data Source for Display only selected Scaled Process Data Min 0 Scaled Process Data Max 100 Figure 6-31 I/O tab of the configured Analog Control 4. Repeat the steps above to add a second Analog Control tag, with the following configuration: Name AlmLowSet Description Low alarm setpoint 101 • Operation and Configuration Student Workbook 6 Tags I/O Device Tufts Station Address 40150 Eng. Units % Data Source AlmLowVerify Use Data Source for Display only selected Scaled Process Data Min 0 Scaled Process Data Max 100 Widgets for Analog Output There are many ways to allow operators to write values using an Analog Output or Analog Control. The following table is provided as a quick reference. Widget Notes Slider User-friendly, and provides visual feedback as the slider is moved. You can set the number of steps within the range, but in practice, it is difficult to move a slider between screen pixels. Knob Like a slider, but rotates. Possibly a bit easier to set a specific value since you can move the pointer out once you start turning the knob, increasing the chance of setting a value between rotational degrees. Numeric Entry (field) These require typing, which makes them less popular compared to the slider, but they allow for exact values to be entered. Set Value (button or hotbox) Used to write only a 1 or a 0. These are more commonly used with Digital Output tags than with Analogs. Can be configured as a two-step process: one button to set a value to write and the second to perform the write. Droplist Will write values from 0 to 31. Designed for option selection rather than to set a specific value. Momentary (button) You can configure one value to be written while the button is being pressed, and another to be written when the button is released. Used for digital control more often than for analog control Set Analog Writes a configured value when the area is clicked. Create a Operation and Configuration Student Workbook • 102 Chapter 6 Value (hotbox) series in order to offer a range of values that the operator can choose to write. Whatever widget is used, VTScada will not allow values to be written that are outside the minimum and maximum scaled value range. Also, VTScada will never write an Invalid value. Exercise 6-15 Operator Controls for the Alarm Setpoints You will give the operators the ability to change the alarm setpoints by moving sliders. To provide a visual context for the sliders, you will start by placing an image of an instrumentation scale. 1. 2. 3. 4. 5. 6. Open the Idea Studio. Open the page, Tower Details. In the Images palette, expand the Widget Parts folder. Expand the Instrument Parts folder. Drag the image, Np2CH to the page. Scale it to be approximately 40% larger than its default size. You could do this by dragging a corner, or by setting the Overall Scaling to 1.4. Figure 6-32 Setting the overall scaling 7. In the Widgets palette, expand the Analog Controls folder. 8. Drag the widget, Horizontal Slider 1 to the page, placing it just above the instrumentation image. 9. Adjust the size of the slider to match the marked area of the instrumentation range. You will need to hold the Ctrl key down to release proximity snapping. 103 • Operation and Configuration Student Workbook 6 Tags Figure 6-33 Aligned slider 10. Open the slider's properties dialog. You will not make any changes, but you should be aware of the options. You can select a different image, change the direction of the slider, and disable the confirmation dialog. It would be very unusual to set the scaling to anything other than the tag's values, but it is possible. 11. Close the properties dialog. 12. Link the widget to AlmHighSet. 13. Repeat these instructions to add a slider linked to AlmLowSet below the instrumentation image. (Or, copy and paste to save effort.) The initial values for the setpoints are coming from the simulator code. Ignore for now - you will use the sliders to change the setpoints soon. 14. Add labels for the high and low alarm sliders as shown in the following figure. Add text for 0 and 100 to the instrumentation image. Figure 6-34 Completed alarm setpoint controls Tips for Adjusting Shapes, Images and Widgets You can increase the display scale to see more clearly. Remember the use of Ctrl and Shift to release alignment and proximity snaps. A useful trick for moving an object is to select it then use the following keyboard controls to move or scale it: Arrow key Move one pixel in the direction of the arrow. Alt + left or right arrow Stretch the right edge to the left or right by one pixel, changing the width. Alt + up or down arrow Stretch the bottom edge up or down by one pixel, changing the height. Exercise 6-16 Add Visual Feedback Operators will appreciate having something on the screen that confirms their control actions. You will do this here by adding a rectangle on top of the Operation and Configuration Student Workbook • 104 Chapter 6 instrumentation image that uses left and right scaling to adjust its size to match the alarm setpoints. 1. Add a rectangle shape to the page, placing it on top of the instrumentation image. 2. Change the rectangle's color to red. (A reasonable choice for something that relates to alarms.) 3. Adjust the size of the rectangle until it fits within the window area of the instrumentation image. Figure 6-35 Added rectangle 4. Open the properties dialog for the rectangle. 5. Expand the Scaling option in the menu. 6. Select the Right Scaling option. This will represent the high alarm setpoint. 7. For the data source, choose the option Normalized Expression. A normalized expression is one that is scaled. Figure 6-36 Selecting a data source 8. Delete the 1 from the expression field. 9. Click the Tag Browser button. Figure 6-37 Locating the Tag Browser button 10. Select the tag, AlmHighVerify. 11. Click OK to close the properties dialog and save your work. 105 • Operation and Configuration Student Workbook 6 Tags 12. Click the Show Operator View button to close the Idea Studio and simultaneously open the Tower 1 page in operational mode. 13. Test your work by moving the top slider left and right. The right edge of the rectangle should scale to match. 14. Adjust the high alarm setpoint to a value slightly greater than 80. 15. Adjust the low alarm setpoint to a value slightly less than 20. 16. Adjusting the left scaling will require an extra step. The right edge was straight-forward: When 100%, the right of the rectangle should reach the right of the initial range and when 0%, the right of the rectangle should be at the left of the range. 17. Left scaling is measured away from the right. Therefore, 100% must indicate no distance from the right and 0% must indicate 100% of the way from the right. This is easily achieved by subtracting the low alarm feedback value from 100. 18. Reopen the Idea Studio. 19. Reopen the properties dialog for the rectangle. 20. Open the Left Scaling configuration. 21. Set the data source to Normalized Expression. 22. Change the "1" in the expression field to "100 - ". The spaces before and after the minus sign are important. 23. Open the Tag Browser. 24. Select the tag, AlmLowVerify. 25. Click OK to save your work. The left edge of the rectangle should now match the low alarm setpoint you chose earlier. Alarms will be covered in a future chapter. When they are, the setpoints you have just created will be ready for you to use in those exercises. Tags for Digital Values Digital Input and Digital Status tags read values that can be either zero or one. Analog tags can do the same, but Digital Tags are designed expressly for situations where the equipment is off (0) or on (1). You can also configure these tags to read from two addresses, thereby having a value that could range from 0 to 3. Digital Output and Digital Control tags are used to write either a zero or a one (off or on) to a given address. They include an optional Pulse Duration parameter, for use if the equipment being controlled requires that the signal be maintained for xseconds. Note that the value of Digital Control and Digital Output tags does not reflect the signal they are writing. This differs from the behavior of Analog output tags. A Digital output's value will always be zero, except while a value is being written, Operation and Configuration Student Workbook • 106 Chapter 6 during which time the tag's value will be one. It makes no difference whether the value being written is a zero or one. The difference between the versions of digital tags (Input versus Status and Output versus Control) is similar to the case for Analog Input versus Analog Status, Analog Output versus Analog Control. A Digital Status tag has a built-in alarm, and its values will be logged automatically unless otherwise configured. Widgets and Styles for Digital Tags Since Digital Status and Digital Input tags usually have a value of either zero or one, it is customary to represent these values with either text that changes according to the value ("Off" or "On") or to use a color indicator; red or green according to the value. Another commonly-used method to display a digital tag's value is to use an image that changes according to the state. This could be a single picture of the equipment with a color box that changes, or the entire image could change to match the status. VTScada provides a selection of equipment images that will change color in response to the linked tag's value. The color selection is controlled by a configuration tag: SystemStyle. SystemStyle sets a color and text for each possible state of a digital tag. It also includes labels and colors for an alarm state, invalid data (broken communication) and for advanced features such as selector switch and LCD meter displays. The advantage of the SystemStyle is that you can change the configuration of a large number of widgets in one step. For example, in some industries, the color red means that equipment is active, while in others green is used. If the colors for each item of equipment were individually configured, it could take a long time to change your application over from one system to another. With a SystemStyle tag, the changeover can be done in a moment. Note that only a selection of widgets will use the style setting tag. You can learn which these are by referring to the Widgets chapter of the help system. Widgets that can use a style setting are marked. It is possible to add multiple style settings tags to an application, but this is not commonly done. Note: As you continue with the following exercises, you may find that you need to reorganize the layout of the Tower Details page more than once. Creating a clean, well-organized user interface is a skill that requires practice. 107 • Operation and Configuration Student Workbook 6 Tags Exercise 6-17 Add a Valve to the Water Tower Soon, you will add pumps to the well in order to push water into the tower. Before doing that, it will be helpful to have a way to drain water out of the tower. The Valve will have the following features: l When open, the operator can adjust a setpoint for how far it is to be opened. l This will require an Analog Output tag to write the setpoint and an Analog Input to read the current value. There is no need to record or alarm on these values, therefore Input and Output types will do. l The operator can choose to open or close the valve. When re-opened, it will return to the last setpoint. l This requires a Digital Input to report on whether the valve is currently open or closed and a Digital Output to write the open or close signal. l A sensor measures the rate of fluid flow through the valve. l The flow should be logged, therefore you will use an Analog Status tag. To keep the Tag Browser tidy, you will add a Context for the tags related to the valve. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Open the Tag Browser . Add a new child tag to Tufts Stn. Set the type to Context. Set the name to "Valve1". Set the description to "Water supply from storage tower". Ensure that the type field is empty. Open the Settings tab. If there are any properties, delete them all. Click OK to close the dialog. Add a child tag of type Digital Status to Valve1. Configure as follows: Name OpenCloseStatus Description Valve open or closed I/O Device Tufts Station Water Tower Bit 0 Address 80 Bit 1 Address not set Off Text (Display tab) Closed On Text Open Note that the style tag selection reads "Missing". This is a somewhat confusing message, indicating that in the absence of any particular selection, the default tag, SystemStyle, will be used. Operation and Configuration Student Workbook • 108 Chapter 6 12. Click OK to close the properties dialog. 13. Select the tag and click, Draw. The Idea Studio will open. You may need to change the current page to be Tower Details. A floating widget palette will open with a selection of all the widgets that can be linked to a Digital Status tag. 14. Open the Equipment folder. 15. Open the Valves folder. 16. Drag the widget, Control Valve 11 to the page. The widget is linked to the tag automatically and you are returned to the Tag Browser. The next set of steps in this exercise will add a control for the valve. 1. Add a new child tag to Valve1, selecting type Digital Control. 2. Configure as follows: Name Operate Valve Description Open or close valve I/O Device Tufts Station Water Tower Address 180 Pulse Duration 0 Off Text (Display tab) Close On Text Open 3. Click OK to close the properties dialog. 4. Click Draw. A dialog of Digital Control Widgets opens. 5. Expand the folder, Buttons and Switches. 6. Drag Push Button 4 to the Tower Details page, placing it near the valve. 7. Close the Tag Browser. The Idea Studio should remain open. 109 • Operation and Configuration Student Workbook 6 Tags 8. Open the properties dialog for the Push Button. 9. Enter a "1" in the space for the value to write. 10. Adjust the color of both the Up Image and the Down Image to green. (You might choose a different shade for each.) 11. Click OK to close the properties dialog. 12. Stretch the image so that it remains the same width, but is half as high. 13. Select the button and copy it. (Ctrl + C or rightclick and copy from the menu.) 14. Paste the copy immediately below the original. 15. Open the properties dialog of the copy. 16. Change the value to write to "0". 17. Adjust the color to red. 18. Click OK. The Multi-Image Widgets panel will open when the push-button is added. While useful when doing more complex widget editing, it is in the way right now. Deselect the Automatically Open... check box to prevent it from coming back. Open the Home ribbon and deselect the Panels tool to close this panel. Close the Idea Studio and test your work so far. You should be able to open and close the valve using the buttons, seeing the valve's indicator change color. The small amount of water in the tank will drain while the valve is open. You will now finish the valve by adding a setpoint control and flow monitoring. To test your knowledge, you will be given the tag configuration tables and an image of the completed page, but no steps will be provided. The tags are to be created as children of Valve1. As an extra step, draw a pipe to connect the tower to the valve. Your page will, no doubt, be better organized than the example provided here. Widgets are suggest for each tag, but you are free to experiment with your own choices. If using an LCD display, be aware that these look best against a dark background. Tag 1: Type Analog Control Name Setpoint Description Control % open setpoint I/O Device Tufts Station Water Tower Address 40180 Data Source None Scaled Process Data Min 0 Operation and Configuration Student Workbook • 110 Chapter 6 Scaled Process Data Max 100 Drawn Using Brass Knob Tag 2 will be created an Analog Input instead of an Analog Status. Mixing tag types between Analog Status and Analog Input is most definitely not standard procedure. The only reason you are doing it here is for the sake of learning about the different tools within VTScada. Tag 2: Type Analog Input Name Current Position Description % open I/O Device Tufts Station Water Tower Address 40080 Engineering Units % Open Scaled Process Data Min 0 Scaled Process Data Max 100 Drawn Using Numeric Value Back to Analog Status for the third tag in this exercise. Tag 3: Type Analog Status Name Flow Rate Description Flow through valve I/O Device Tufts Station Water Tower Address 40081 Engineering Units GPM Scaled Process Data Min 0 Scaled Process Data Max 80 Drawn Using Numeric Value 111 • Operation and Configuration Student Workbook 6 Tags Figure 6-38 The Tower Details page so far Multi Image Widget Panel You might be wondering about the Multi Image Widget panel that opened while you were working on the last exercise. Most image editing tools can be used on any widget that was built using images. If a widget is composed of several images, you can edit the properties of any or all of the components. For example, the push-button uses one image for when it is "Off" and another for when it is "On". If the push button is to be linked to a Digital Control, understand that a Digital Control is in the On state while writing (the button is being pressed) and in the off state at all other times. (You'd need a Digital Status to monitor whether the control action turned something on or off.) You could select a different image for each state. If you had an image that looked like button pressed down, and another that looked like a button in its usual up state, you could use those for the On and Off images instead of the default gray button. The Multi Image Widget Panel allows you to make this sort of formatting change to all the selected widgets on the page, rather than needing to open the properties dialog of each widget. Just select or deselect the component images as required. Widgets that aren't built using multiple images simply don't show up in this panel. Operation and Configuration Student Workbook • 112 Chapter 6 Create New Tag Types So far, the only use you've made of Context tags and parent-child tag hierarchies is to keep the application organized. In this chapter, you'll learn how to re-use these tag constructs to create new wells, pumps, etc. with a minimum of effort (after the initial configuration has been accomplished). Having created one pump, motor, tank or whatever, you could copy those tags to create a new instance. All of the child tags will be copied with the parent Context. Since you were careful to configure the I/O address of every tag using a Parameter Expression that is based on a property stored in the parent context, all that is necessary is to provide a new value for that property in the new parent copy and all of its child I/O tags will immediately be configured correctly. This assumes that there is a consistent pattern to the assignment of I/O addresses. You can extend this concept by turning each context tag into a new Type definition (where Type refers to "type of tag"). Your tag will then show up beside Analog Status, Digital Control and the other VTScada types. While this is convenient in itself, there is another benefit that makes it even more worthwhile: You can create your own drawing methods, designed expressly for your new tag types. These can contain all of the monitoring and control elements for the various child tags that are part of your user-defined tag type. Adding new wells, pumps, etc is then as easy as creating a single tag. Drawing that new component, with all the monitoring and control elements that it requires, can be done in a single step. This chapter will show you how to achieve this. First though, you need to finish defining the wells and create a pump to extract water from the well. Exercise 6-18 Define a Well The Elm well field will have two wells, but you're only going to do the work of defining one. The second will be created using the features just discussed. Before creating the well, you will modify the well so that it has two new properties: Well1_IO and Well2_IO. These are the I/O base address values for the two wells. You will also add one more property: NumWells. This will be used later when you create a new well having only one well. Preparation: The Idea Studio should be closed. The Tag Browser open. 1. 2. 3. 4. Collapse the Tufts Stn tag tree, in order to save space in the display. Expand the T_Port1 tree to the level of ElmField. Open the properties dialog for ElmField. Open the Settings tab of the properties dialog. - 113 • Operation and Configuration Student Workbook 6 Tags 5. Add the following three properties: Be careful with the combination of ells, ones and i's. If read out loud, the first one is "Well one underscore eye oh" Property Name Value Comment Well1_IO 00 Well 1 base address Well2_IO 10 Well 2 base address NumWells 2 Number of wells 6. Save your work, closing the properties dialog. Figure 6-39 Detail view: Elm Field properties list These comments are important. Later, after you turn the field into a new type of tag, the property names will vanish and only the comment line will be used to label the property. 7. Add a new child tag to ElmField, of type Context and configured as follows. Note that "SupplyWell" must be one word. Spaces are not allowed in a Context tag's Type field. Type Context Name Well1 Description Primary well Type SupplyWell Operation and Configuration Student Workbook • 114 Chapter 6 8. Open the Settings tab of the properties dialog. 9. Add two properties, as follows. If the list is pre-configured with other properties, delete them. Property Name Value Comment IOBase 00 Base for well I/O NickName W1 Short display name 10. Click OK to close the properties dialog. Careful! The most common mistake in the following exercises is to type the addresses directly into the field rather than right-click to create parameter expressions. 11. Continue by adding the following tags as children of Well1. A Pump Status tag is almost the same thing as a Digital Status tag, but specialized reports are available just for it. In each case, the I/O device should be auto-configured to "PLC Simulator". The display should read [*Driver] PLC Simulator. Note: the Property name here is the same as for other context tags. You might wonder how an expression would know whether to use IOBase from the parent or a grandparent. The answer is that the parameter found in the closest parent is the one used, unless you provide a path to a different tag. Tag 1: Child of Well1 Type Pump Status Name Status Description Pump running? I/O Device [*Driver] PLC Simulator Bit 0 Address ..\IOBase + 00 (As a parameter expression. If the field does not turn blue and show the value 0, you've made a mistake.) No other configuration required for this tag, although you may un-check the Questionable Data property in the Merit tab. Tag 2: 115 • Operation and Configuration Student Workbook 6 Tags Child of Well1 Type Digital Control Name StartPump Description Start the pump I/O Device [*Driver] PLC Simulator Address ..\IOBase + 100 (As a parameter expression. Check that the field is blue.) Pulse Duration 2 Data Source None Tag 3: Child of Well1 Type Digital Control Name StopPump Description Stop the pump I/O Device [*Driver] PLC Simulator Address ..\IOBase + 101 (as a parameter expression) Pulse Duration 2 Tag 4: Child of Well1 Type Analog Status Name Speed Description Pump impeller speed I/O Device [*Driver] PLC Simulator Address ..\IOBase + 40000 (as a parameter expression) Scaled Process Data Min 0 Scaled Process Data Max 1500 Engineering Units RPM Tag 5: Operation and Configuration Student Workbook • 116 Chapter 6 Child of Well1 Type Analog Control Name SetSpeed Description Speed control I/O Device [*Driver] PLC Simulator Address ..\IOBase + 40100 (as a parameter expression) Engineering Units RPM Scaled Process Data Min 0 Scaled Process Data Max 1500 Tag 6: Child of Well1 Type Analog Status Name Flow Description Pump flow rate I/O Device [*Driver] PLC Simulator Address ..\IOBase + 40006 (as a parameter expression) Scaled Process Data Min 0 Scaled Process Data Max 400 Engineering Units GPM From Context to Type The process of turning a context tag into a new type is the easiest thing you will do in this course. The work is in the planning and initial configuration, which you've just completed in the last exercise. Once transformed into a new type, it becomes only slightly more difficult to make changes. Properties can be added or changed, but you will need to use an editor within the Application Configuration dialog, rather than simply opening a properties dialog. New child tags can be added and edited, then made part of the type definition with the Redefine Type command. As a rule, if you decide that a change is required to the child tags of one of your custom-made tag types, do not make that change to any of the instances used in the running application. Instead, create a 117 • Operation and Configuration Student Workbook 6 Tags new instance - a template if you will - and edit the child tags of that. By making a habit of this, you will avoid later confusion and errors with your custom tag types. Exercise 6-19 Turn the SupplyWell into a New Tag Type The Tag Browser should be open. 1. Locate the tag, Well1. 2. Right-click to open its context menu. 3. Click, Create New Type. A dialog will open, asking which built-in drawing methods (or widgets) are to be available for this new type. Might as well leave them all selected. 4. Click OK. That was the entire procedure 5. Right-click on Well1 and open its properties dialog. 6. Note that the configuration dialog is not that of a Context tag. The settings you created earlier are now configuration parameters in the tab, Other Parameters. 7. Right-click on the parameter 00 (I/O address base) 8. Add a Parameter Expression. 9. In the expression editor type, "..\Well1_IO". Be careful with that combination of ells, ones and i's. If read out loud, it's "Well one underscore eye oh" The well will now look to the parent (ElmField) for the base I/O value. 10. Click OK to save your work and close the dialogs, leaving the Tag Browser open. Exercise 6-20 Create a Second Well You will be happy to know that you do not need to create seven new tags as you did when defining Well1. 1. Right-click on ElmField and add a new child tag. 2. Select SupplyWell as the type. This is your newly created type. 3. Name the tag, "Well2". 4. Set the description to "Secondary supply". 5. Open the Other Parameters tab. 6. Add a Parameter Expression to the Base for child tag I/O field. 7. Set the expression to "..\Well2_IO" and click OK to close the expression editor. 8. Set the short display name to "W2". 9. Click OK. Done. Note the automatically created child tags of Well2, and the configured addresses. Operation and Configuration Student Workbook • 118 Chapter 6 You are almost ready to create the well for the Ridge Rd. well field. Ridge Rd. will have only one well, not two, therefore you will automate the configuration of the number of wells by adding an expression known as a start condition. A start condition is a parameter expression stored in a tag's name field. It does not change the tag's name, but it does control whether the tag will start or not. Start condition expressions must evaluate to True or False (1 or 0). If True, the tag will start, otherwise it will be disabled. Exercise 6-21 Add a Start Condition 1. Right-click on Well2 in the Tag Browser and open its properties dialog. 2. Right-click on the Name field, and select "Add Start Condition" from the menu that opens. 3. In the expression editor, type the expression, "..\NumWells > 1". 4. Click OK to save your work, closing the expression editor and properties dialog. This well will only exist in well fields that are configured with a NumWells value of two or more. ElmField can now be turned into a new type: FieldType. 1. Right-click on ElmField. 2. Click Create New Type. 3. Accept the default drawing methods and click OK. Exercise 6-22 Add a Second Well Field 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Right-click on PLCSim and add a new child tag. Select FieldType as the type. Name the tag, "RidgeField". Type, "Ridge" in the Area field. Set the description to "Ridge Rd. water supply". Open the Other Parameters tab. Set the I/O address base to 40. Set the Well 1 base address to 20. (you may have to use the scroll bar to see it.) Ignore the Well 2 base address field. Set the number of wells to 1 Click OK. Expand the new tag and examine your work. Note that there is only one well, and that all the addresses of the I/O tags within it have been configured automatically. 119 • Operation and Configuration Student Workbook 7 Custom Widgets and Parametrized Pages 7 Custom Widgets and Parametrized Pages This application now has three wells. Each well has six I/O tags, all of which must be drawn. Rather than drawing 18 tags, you need only do the work once, then reuse it for the other wells. You have seen several built-in widgets already, such as the Color Fill, various meters, Numeric Value, and more. You are about to learn how to create your own widgets. Further, your widgets will allow you to draw entire pumps and wells in a single step, rather than one tag and widget at a time. In the process, you will see how any property of any graphic object within the widget can be linked to any property of the linked tag, or to a property of the linked tag's children. The concept of a parametrized page will also be covered in this chapter. These are flexible pages that can be reused to show different sets of tags depending on how they are opened. By learning how to do this you will discover how to make a single control page that can be used by any of the three pumps in the application. It is interesting to note that at the code level, which you are welcome to examine, a custom widget and a parametrized page are very nearly the same thing. The main differences are as follows: l l l l Pages can be opened by menu links, page buttons and hot boxes. Widgets must drawn on pages; you can't open them directly. Pages have parameters, and the values for those parameters are specified in the menu link, page button or hot box. Widgets (at least the ones we will work with in this course) have linked tags. But, the choice of which tag to use for the link can be provided by a page's parameter. Operation and Configuration Student Workbook • 120 Chapter 7 Parametrized Page Example Before starting the exercises, it may be useful to see an example of how a parameter can be used in a page. A very similar concept is used for linking a tag property to a graphic in a custom widget. Assume that you have a pop-up page named "MyPage", and that MyPage contains exactly one line of text. You would like to display a different message on the page, depending on the context of how the page is opened. Figure 7-1 A pop-up page with a line of text. In the Page Properties ribbon for MyPage, you add a parameter, using the Manage Parameters tool. The parameter gives you a place to store the custom message that you want each page to display. 121 • Operation and Configuration Student Workbook 7 Custom Widgets and Parametrized Pages Figure 7-2 Adding a parameter to a page. To use the parameter, and the custom message that it contains, you open the properties dialog for the text, then change the data source from "Text" to Parameter, selecting the one that you created in the previous step. Figure 7-3 Changing the data source of the text from Text to Parameter. The custom message is handed to the parameter by being added to each menu link, page button and page hotbox that you use to open the page. Operation and Configuration Student Workbook • 122 Chapter 7 Figure 7-4 Page Button properties, specifying a value for the parameter. The result is a page that can be re-used with varying content. Figure 7-5 One page, opened with different parameter values. Exercise 7-1 Create a New Widget In an earlier exercise, you created the Field Details page, which shows the depth of water in the Elm Ave. water table. Rather than re-create this for the Ridge Rd. well field, you are going to do a bit of extra work so that the existing page can be re-used for as many well fields as you care to create. Take Note! The information provided between each exercise in this chapter is vital to understanding what is being done. Don't do the exerPreparation: The Tag Browser should be closed and cises without reading the text. the Idea Studio open. 123 • Operation and Configuration Student Workbook 7 Custom Widgets and Parametrized Pages 1. Open the Field Details page. 2. Right-click on the Color Fill widget and open its properties dialog. 3. Select all of the Disable Options. Figure 7-6 Disabled options In a later exercise, you will be drawing wells that may overlap this widget. If an operator clicks a control or widget within the well, they should not also get a response from this color fill. If the color fill's trend display and navigator menu were enabled, you would get those in addition to the information for the wells. You are leaving the options enabled on the Numeric Value widget, so operators who want a trend of the water table's level can still click there to open it. 4. Add text below the image, typing "Sample Text" as a placeholder. You might decide to increase the page size first. That's pretty normal when laying out a user-interface page. Your other option is to change the background color of the text so that it can be seen as a box within the image area. In a later exercise, you will create an expression so that this will display the name of whichever well a particular instance of your widget represents. 5. Change the text alignment to centered. Operation and Configuration Student Workbook • 124 Chapter 7 Figure 7-7 Text added below the aquifer image. 6. 7. 8. 9. 10. Select All on the Field Details page. In the toolbar, click the Group tool, then New Widget. Set the title of the new widget to "Field Widget". Ensure that the option New Tag Widget is selected. In the Select a Tag area, select ElmField. This widget will be for wells in general, not just for the Level within a well. 11. The last step was very important. Make sure that ElmField is the selected tag. 12. Click OK. Several things just happened. l A yellow blob appeared on the image. This could be used to hold a Questionable data indicator if you chose. You will delete it later. l Everything on the page is now a single object. To make changes to it now, you could (but don't right now) right-click and select Edit, which will open the widget in the Idea Studio as if it were a page. l Your custom tag widget has just been added to the widgets palette. It's a good idea to keep your widget palette organized, so that task will included in the next set of steps. If you were to right-click on either field in the Tag Browser (Elm or Ridge) and select Draw, you would now see this overview as a way to draw it. The water level would be for the correct aquifer. A few final steps are required to tidy up the new instance of the Widget, which has replaced the individual components. 1. Right-click on the new widget and open its properties dialog. 2. Select all of the disable options. This is done for the same reason you disabled the options in the Color Fill. Every widget including the ones you create will have its own set of operator interface options. You will disable them nearly every time. 3. Click OK to close the properties dialog. 4. Right-click on the widget again and select Edit from the menu. The widget's page opens in the Idea Studio. 5. Delete the yellow blob. (Properly referred to as the Tag Icon Indicator.) 6. Return to the Field Details page. The Tag Icon Indicator should be gone. 7. Open the Widgets palette if it is not already the current palette. 125 • Operation and Configuration Student Workbook 7 Custom Widgets and Parametrized Pages 8. Ensure that you are at the root level of the Widges palette and scroll to the bottom of the list. You should see the Field Widget. 9. Right-click on it and select "New" from the context menu. The New Item menu opens. This should look familiar. 10. Click on Folder. The New Menu Item Properties dialog opens. A palette is a type of menu. 11. Change the title of the folder to "Well Components", then click OK. 12. Right-click on the Field Widget in the palette and then select "Cut" from the context menu. 13. Right-click on the Well Components folder and then select "Paste as Child" from the context menu. What can you do with the widget? (The point of the following is to tell you what's possible. This is not part of the exercise.) If you were to select the Field Widget then click Link, you could change the link to use the Ridge Field instead of the Elm Field. You could draw a second Field Widget on a page and link that to the other field, thus being able to monitor both at the same time. It would be useful if there was a label to tell you which field you are looking at. That's will be the purpose of sample text. All you need to do is change the data source of the text to use the Description property of whichever tag is currently linked to the widget. That will be the goal of the next exercise. Linked Tag Properties Think for a moment about what makes up a widget. A good example is the rectangle with left and right scaling that you created earlier on the Tower Details page. The rectangle itself is a shape. An image would work just as well. Everything that you see in the widgets palette also uses a shape or an image, otherwise you wouldn't see anything. You added an expression to the rectangle to make the edges move in response to the alarm setpoints. This is very similar to what the Color Fill widget does. The expression used the value property of the alarm setpoint tag. It's possible to use any property in an expression: the area, description, engineering units, scaled minimum or maximum, etc., but in most cases the tag value is what's most interesting. Operation and Configuration Student Workbook • 126 Chapter 7 Widgets also use expression code similar to what you wrote, but usually with extra things like error checking, etc. to make them very robust. Where widgets differ from your rectangle is that your expression named a specific tag to use. Widgets will take the value of whatever tag they are linked to. Or, to say that a different way, they use the linked tag's value property. You can do the same with your custom widgets. Exercise 7-2 Use a Linked Tag Property You will replace the words "Sample Text" in your field overview with the description property of whichever field the widget is linked to. Preparation: The Idea Studio should still be open. 1. Reopen the Field Widget for editing. Careful! Not the Field Details page. They look the same. Aim for FieldWidget. Figure 7-8 Editing the Field Widget in the Idea Studio. 2. Right-click on the words, "Sample Text" and open the properties dialog. 3. Select "Text" from the menu. 4. Expand the data source choices and select, Linked Tag Property. 127 • Operation and Configuration Student Workbook 7 Custom Widgets and Parametrized Pages Figure 7-9 Linked Tag Property data source 5. Expand the selector of Linked Tag Properties to find and select Description within the Parameters folder. Figure 7-10 Finding the description property 6. Click OK to save your work. Note the change to the Sample Text. Now, whenever you draw this widget it will be labeled with the description property from whichever well field you are drawing. (You may need to stretch the text a bit to provide more room for the description.) As an optional step, you may decide to add another line of text and repeat this process to add the area property, thereby providing more context. Note the similarities between what you have just done and the earlier example showing how a page property can be used. Imagine if the page parameter specified which well field to show, rather than a welcome message. By linking the widget to the page parameter instead of a specific field tag, you could use the same page to view either one. In a following exercise, you will do just that. Operation and Configuration Student Workbook • 128 Chapter 7 After completing that task, you will get a chance to practice what you have seen by repeating the steps in order to create a Well Details page and a Well Widget. Parametrized Pages At the moment, your Field Widget is showing the Elm field. You could draw a second one and link it to the Ridge field. To be sure, you could try that in some free space on whatever page (not widget) happens to be open in the Idea Studio. Just be sure to delete it after you try. Rather than create a new page for the Ridge field, you will turn Field Details into a parametrized page and then create a second menu link to it. Each menu link will specify the field to view. As seen in the earlier example, you can attach a parameter to a page as a way to pass information to that page as it is being opened. The data source for any property of any object on the page can be linked to the parameter. The menu link that opens the page will specify what tags (or other values) to supply for the parameters in each instance. Exercise 7-3 Create a Parametrized Page Preparation: The Idea Studio should be open. The Field Details page should be open within the studio. (Careful! You were working in the widget. Now you need to shift to the page.). 1. Open the Page Properties ribbon. 2. Click the Manage Parameters tool. The Manage Parameters dialog opens. 3. Click the Add button. The New Parameter dialog opens. 4. Set the name to "FieldChoice". 5. Set the description to "Choice of well field". 6. Set the type to "Tag" 7. Select the FieldType. 129 • Operation and Configuration Student Workbook 7 Custom Widgets and Parametrized Pages Figure 7-11 Configuring a page parameter 8. Click OK to save and close. 9. Click OK in the Manage Parameters dialog. 10. Remaining in the Field Details page, right-click on the Field Widget, as drawn on the page, and open its properties dialog. 11. Note that the data source is currently, "Tag". 12. Expand the data source selector and choose Parameters. 13. In the parameter selection, choose FieldChoice. 14. Click OK to close the properties dialog. The image now shows the unlinked widget warnings. This is expected. Ignore it for now while you edit the menu. The selection of tag for your page property comes from the menu link, so the next step is to edit the menu, making that selection. 15. Open the Home ribbon. 16. Open the Page Menu. 17. Expand the Controls folder. 18. Open the properties for the Field Details menu item. 19. Click, Set Parameters. 20. Find and select ElmField, clicking OK after selecting. 21. Click the Specify Label button in the Menu Item dialog. You can now edit the label field. 22. Change the title to "Elm Field Details". 23. Click OK to close the dialog. Operation and Configuration Student Workbook • 130 Chapter 7 Now to add a second menu item for the Ridge field. 1. Right-click on the menuitem entry, Controls, and choose New Child from the menu. The New Menu Item Properties dialog opens. 2. Click Page. 3. Choose the Field Details page and click OK. 4. Change the title to "Ridge Field Details". 5. Set the parameter to select RidgeField. 6. Click OK. 7. Close the Tag Browser. Close the Idea Studio and use the menu to open the Field Details page for each location. The labels should be correct in each case and there should be a small difference in the level. In the tiled menu, if you navigate to the Controls folder, you should be able to monitor both fields. You have achieved a lot with the last few exercises, but you will take one more step to pull all the components together. Practice With Widgets and Parametrized Pages The next few exercises will give you a chance to practice what you have learned so far by creating an overview page and a control page for the wells. This may look a bit complicated, since you will link to the parametrized well page from the parametrized wellfield page, but the concepts remain the same. Note: There is a limit to how many pages the tiled menu will show using a live view. Once passed, the display will take a snapshot of the page instead, showing a In the exercise you will see a few new details, expanding your knowledge of tag-linked widgets and camera icon to warn you page navigation tools. Since this is meant to be prac- that the contents of the view are not being contice, instructions will not be as detailed as in earlier tinuously updated. exercises. Exercise 7-4 Create a Well Widget There are two sets of steps in this exercise. In the first set, you will draw the pieces that will make up the well. 1. Create a new standard page named Temporary. Do not add it to the menu. As the name implies, this page won't be kept. You could use the Field Details page for the following steps, but by working in a temporary page there is less chance of damaging the existing page. 131 • Operation and Configuration Student Workbook 7 Custom Widgets and Parametrized Pages 2. Add the Field Widget to the page. (Drag it from the Well Components folder of the Widgets palette.) Ignore the blinking unlinked widget indicators. The widget will exist only long enough to provide a visual reference for the size of the well image. 3. Open Windows Explorer and navigate to the folder containing your course files. 4. Drag the image, Well.png to the page, dropping it on the left side of the field. 5. In the menuitem dialog, click OK to accept the defaults. Stretching the image to reach the bottom of the aquifer is optional. 6. In the Widgets palette, open the equipment folder, then Motors. 7. Drag the Motor 23 widget to the page, placing it on top of the well. No, that's not the right kind of motor. You'll fix that in a minute... 8. Open the motor widget's properties dialog. Note that the properties dialog calls this a "Status Color Indicator". That's what every one of the equipment images is. The only difference between them is the choice of the image. 9. Click the Select button in the Image area of the Properties dialog. The Select Image dialog opens. 10. Click the plus sign at the bottom left. You are going to import a new image. 11. Select "Image" in the New Menu Item Properties dialog. 12. Select the image, WellHeadMotor.png from the course files folder. 13. Click OK. Note that the image is cycling between gray and green. Because it is gray, it can be washed with whatever color the Style Settings tag says, based on the linked I/O tag's state. 14. Adjust the placement of the widget on top of the well if necessary. Operation and Configuration Student Workbook • 132 Chapter 7 15. Link the widget to Well1\Status below ElmField. 16. Draw a pipe from the connector in the motor housing, off to the right a short distance. A weight of 7 pixels would be match the connector. Set that in the Outline property of the pipe's Format ribbon. 17. Place sample text below the well. 18. Set the text alignment to centered. You may or may not want to set a background color to make it stand out. Figure 7-12 Placement of the well and pipe What you've just drawn will become the Well Widget in the next set of steps. 1. Delete the field widget from the background. 2. Select all that remains and group into a new tag widget, named WellWidget. Ensure that the selected tag is Well1, not Well1\Status. 133 • Operation and Configuration Student Workbook 7 Custom Widgets and Parametrized Pages Figure 7-13 Creating the Well Widget. 3. Edit the widget to remove the Tag Icon Marker. 4. Edit the properties of the Sample text to use the NickName property of the linked tag. 5. Return to the page, Temporary in the Idea Studio. 6. Delete the page. The delete tool can be found in the File menu or by right-clicking on the page's tab at the bottom of the screen. 7. Open the Widgets palette and navigate to the top level. 8. Cut and Paste the WellWidget into the Well Components folder. Enhance the Field Details Page The Field Details page would be improved if it also showed the wells within the field. You could do this by adding two Well Widgets to the Field Details page, then adding two parameters to the page for those widgets. Finally, you would have to edit the menu links to assign the correct wells for the parameters. That's relatively straight-forward to do using the tools you've learned so far, but it carries some risk: There's nothing to stop you from accidentally assigning the wrong well to a widget, swapping the order of Well1 and Well2 , or even putting a well from Ridge field in the Elm field page. Given that fields contain wells, it might make sense for the Field Widget to contain the Well Widgets. Built this way, you can ensure that the correct well is always in the correct place. You can also take advantage of a bit of automation. Operation and Configuration Student Workbook • 134 Chapter 7 Exercise 7-5 Add a Widget to a Widget In the next set of steps, you will add the well widget you have just created to the field widget. Widgets can nest within widgets. 1. Open the Field Widget for editing in the Idea Studio. Careful - that's Field Widget, not the Field Details page. You used the word "widget" in the name of the widget for exactly this reason - to make it easier to know whether you were working on the widget or the page. 2. Ensure that the Widget Properties ribbon is open. 3. Click the Drawn Context button. 4. Select ElmField. This creates a temporary linkage between the current editing session and a compatible tag instance. The purpose is to ensure that all components, such as the label below the field, are visible. 5. In the Widgets palette, navigate to the Well Components folder. 6. Drag the WellWidget to the left side of the field. It is necessary to link the WellWidget to a well which is a child of the field, but the Link tool in the ribbon will not search within linked tag properties to find child tags. For that, you must work in the widget's properties dialog. 7. Open the properties dialog for the WellWidget. 8. Check all of the disable options. 9. Change the data source to Linked Tag Property. 10. Select, Linked Tags >> Child Tags >> Well1. 11. Click OK to save and close the properties. 12. Repeat the last few steps to add and link a WellWidget for Well2. Or, you could copy and paste, followed by a change to the linked tag. 13. Leave the Field Widget open in the Idea Studio. Another set of steps is coming. 135 • Operation and Configuration Student Workbook 7 Custom Widgets and Parametrized Pages Figure 7-14 Well widgets placed in the field. Hide a Widget if its Linked Tag Does Not Start The Field Widget is nearly complete. There's just one remaining problem to solve. If you were to close the Idea Studio and look at the Controls page in the tiled menu, you would see an unlinked WellWidget in the Ridge Rd. version of the page. Figure 7-15 The Ridge Rd. field has only one well. The second is unlinked. To make the unlinked well in the Ridge field vanish, you will need to tie its opacity (visibility) property to the well's start tag expression. Continuing to work in Field Widget: 1. Reopen the properties dialog for the second WellWidget (W2). 2. Open the Opacity option in the menu. Operation and Configuration Student Workbook • 136 Chapter 7 3. Change the data source to Linked Tag Property. 4. Select, Linked Tag (FieldType) >> Child Tags >> Well2 >> Parameters >> Tag_Start_Condition. 5. Click OK to save your work. W2 will be visible when viewing the Field Details for the Elm location, but not for the Ridge location. Pages Versus Widgets A parametrized page has much in common with a widget. There are actually two kinds of widgets that you can create. (Three if you count temporary groups.) In this course, you are creating widgets that are designed to be linked directly to tags, but you could also create a widget that relies on parameters for the links to tags, just as a parametrized page does. That kind is just a bit less convenient to work with. Both pages and widgets have their uses. You cannot create a menu link to a widget, therefore pages are necessary for navigation. But, widgets, with their ability to tie into a linked tag and automatically link to child tags, are often easier to create and work with. In the final exercise for this topic, you will create both, seeing how pages and widgets can work together. You will need to provide a control page for each well. (Actually, the pump within the well.) Since this is to be opened as a pop-up, via a hotbox or menu click, it must be a page. You could make it a parametrized page, but remember that there are many I/O controls for the well. It will be tedious to create parameters for all and error-prone to link those parameters to the correct tags in the menu links. But, if the well control was a widget, you could simply link it to a well / pump. The solution is to create the well control page, group the entire contents into a widget, then display that widget in the original page. Now, you need only add a single parameter to the page. Exercise 7-6 Test Your Knowledge: The Well Controls You have already seen every instruction required to create a control widget and page for the well, therefore it's time to practice what you've learned. Only basic instructions are provided. Notes: Widgets used in the example image include: l Set Value Button (found in the Basic Controls sub-folder of Buttons & Switches) 137 • Operation and Configuration Student Workbook 7 Custom Widgets and Parametrized Pages Numeric Entry (found in the Analog Controls folder) l Numeric Value (found in the Text folder) l Equipment The Set Value buttons are both configured to write a 1 when clicked. A set value button has labels for both state 0 and state 1. Since the Digital Control tags created to start and stop the pump were configured to send a two second pulse, they will be in state 1 for those two seconds. The state 1 label of the Set Value widget allows a message to be displayed while writing. Thus, for the Set Value linked to StartPump, the labels will be Start and Starting. For the Set Value linked to StopPump, the labels will be Stop and Stopping. Again, both are configured to Write 1 Immediately. l Basic Instructions 1. Create a pop-up page named "Well Control Page". Do not add it to the menu. You might want to set an initial size. Guess at a value, then adjust later if required. 2. Add widgets for the well (pump) controls. (See following image, and preceding notes.) Link each widget to the appropriate tag within Well1 of Elm field. You could add the WellWidget to the page, then ungroup it to obtain the basic components. If doing so, delete the NickName label. That's easier said than done since it will be invisible. The result should look similar to the following, but you are free to choose different widgets.This example includes two lines of placeholder text - one will use the linked tag's description and the other will use the linked tag's area. Step 5 will deal with linking the text. Figure 7-16 The well (pump) controls. 3. Group the pieces into a new widget to be named Well Control Widget. The selected tag should be Well1 of ElmField. Operation and Configuration Student Workbook • 138 Chapter 7 4. Open the properties and select all the Disable options. This is extremely important. If you don't, annoying things will happen when operators try to start or stop the pump. 5. Remove the Tag Icon Indicator from the new widget. If you included the two labels shown, now is the time to attach linked tag properties. No instructions are provided, since you've done this before. The properties, ShortName and Area might be good choices. 6. Return to the Well Control Page and open the Page Properties ribbon. 7. Use the Manage tool to add a parameter of type tag to the page Well Control Page. The SupplyWell should be selected as the type. The name and description should make it clear that the parameter is for a choice of well. 8. Use the Values button of the Page Properties ribbon to select Well1 of the Elm Field for the parameter. This avoids the bother having unlinked widget indicators blinking at you while continuing to work in the Idea Studio. It does not mean that every instance of the page will use the same well. 9. Open the properties of the widget on that page and change the data source so that it uses the parameter instead of the tag Well1. 10. Close the Well Control Page tab. 11. Navigate to the top of the Widgets palette. 12. Cut and Paste the new widget into the Well Components folder. Hopefully, you have now developed the habit of always updating the palette after creating a new widget. You are thinking about why you're doing each step, right? Not just following the exercises blindly? Excellent. 13. Proceed to the next exercise. Exercise 7-7 Links to Control the Three Wells Having created one well control page, there is no need to create two more. All that remains is to create navigational links to open the page, showing the right well. Rather than editing the menu, this exercise will show you how to create page buttons and page hotboxes. 1. Open the Idea Studio and ensure that the Supply Plan page is open. 2. Open the Widgets palette and open the Page Navigation folder. 3. Drag a Page Button to the page, placing it near the double wells of the Elm well field. 4. Open the properties dialog of the button. 5. Change the label to Elm Field. 6. In the Page list, select Field Details. A parameter selector will appear. 7. Choose the tag, ElmField. 139 • Operation and Configuration Student Workbook 7 Custom Widgets and Parametrized Pages 8. Repeat these instructions to add a Page Button to Field Details with RidgeWell selected. Place the button near the single well of the Ridge well field. 9. Still within the Idea Studio, open the Field Widget for editing. If the well, W2 is not visible, open the Widget Properties ribbon, then click the Drawn Context tool. Ensure that the context for this widget within the Idea Studio is ElmField. 10. Drag a Page Hotbox to the page and place it so that it surrounds the text, W1 below the well. Figure 7-17 Placing a Page Hotbox. 11. 12. 13. 14. Open the properties of the hotbox. Choose the page, Well Control Page. Change the parameter's data source to Linked Tag Property. Select the child tag, Well1 under the linked field. Figure 7-18 The configured hotbox 15. Repeat to add a hotbox for well 2. Close the Idea Studio and operate the system. Operation and Configuration Student Workbook • 140 8 Alarms 8 Alarms The VTScada alarm system does much more than just notify operators when a pump has stopped running, or when a well level is low. The system also stores a record of every operational and security event that occurs in the system. To differentiate between the two, the word "alarm" refers to process values that have exceeded a setpoint. "Event" refers to operational events. VTScada also has an optional Alarm Notification System that can be configured to contact designated remote operators by voice, pager, SMS text, or email in the event that alarms have gone unacknowledged for a defined period of time. The built-in Alarm Page is the usual tool for viewing and responding to alarms. Figure 8-1 The alarm page The Alarm Page contains an Alarm List with all configuration options enabled. You can add an Alarm List to any page you choose, configuring the display as appropriate for whatever else might be shown on that page. Referring to Figure 8-1, note the following tools: Operation and Configuration Student Workbook • 141 Chapter 8 The Alarm Display Area This is the largest part of the page. Any one of seven lists can be shown in this area. (List descriptions follow.) The color of each line item will vary according to the priority of the alarm, whether or not it has been acknowledged and whether or not it's in an active state. You can right-click on any line to open a menu of actions and analysis tools for the selected alarm or event. For each alarm that has not yet been acknowledged, an "ACK" button will be available to authorized operators. The List Options l l l l l l l History: Displays all the alarm and event transactions that have been recorded. You should not be surprised to see the same alarm more than once in the history, as each change of state or status involving that alarm will be recorded: activation, return to normal state, acknowledgment, shelving or unshelving, reconfiguration, and more. Active: Displays all alarms that are currently active, meaning that the conditions that caused the alarm are still in effect. Active alarms may or may not have been acknowledged. Note that "trip" alarms will never have an active state. Excludes shelved alarms unless you choose to include them. Unack: Unacknowledged alarms are those that have not explicitly been acknowledged by an operator. The conditions that caused the alarm to occur may or may not still be active. Excludes shelved alarms unless you choose to include them. Current: Provides a combination of active and unacknowledged lists. All alarms that are active or unacknowledged (or both) are considered “current”. Excludes shelved alarms unless you choose to include them. Shelved: Alarms that do not display notifications, but that will still be recorded in the history. Authorized operators may choose to shelve alarms that are not relevant to their immediate priorities. Widgets that display an alarm color will continue to do so for a shelved alarm, and the event will be recorded in history, but the alarm will not be added to the active list or the unacknowledged list. Disabled: An alarm may be set to be ‘disabled’ as an option of its tag configuration. This display gives you a quick list of those alarms that are currently disabled, and which therefore cannot be expected to alert you to possible problems. Excludes shelved alarms unless you choose to include them. Configured: Provides a complete list of all alarms and events that exist in an application, showing their current status and configured properties. Excludes shelved alarms unless you choose to include them. Database Selection Every VTScada application will have the following two alarm databases: 142 • Operation and Configuration Student Workbook 8 Alarms System Alarm DB - This is for all alarms related to system processes. Unless you create more alarm database tags, every alarm and event that you configure in your application will be part of this database. l System Event DB - This is for all VTScada events, including security events (logons), operational actions (writing to I/O), note creation, scheduled reports being run, and more. Both of these databases log to the System Alarm Historian. l Alarm Actions The following actions are available to deal with alarms: Acknowledge All – provides a convenient way to acknowledge all the unacknowledged shown in the list. Note that a variety of filtering tools are available to help you restrict that list before acknowledging all. Ack All You should note that marking an alarm as acknowledged does not deal with the underlying cause of the alarm: it is simply for the sake of recording that an operator is aware of the alarm. Ack Acknowledge the selected alarm. You should first select an alarm from the display before attempting to acknowledge it. Shelving is a technique to deal with nuisance alarms. That is, any alarm that would be ignored anyway. This is most often a side-effect of current maintenace operations in the system, but may also indicate a misShelve configured alarm. If you are inclined to argue that the alarm should exist for the sake of the historical record, even if the operator cannot do anything about it, then perhaps an event would be more appropriate than an alarm. Note Opens the Alarms notebook, allowing the operator to create a note that will be permanently attached to the selected alarm transaction. Font Sizes l Small uses a 10-point font. l Medium uses a 12-point font. l Large uses a 14-point font. You can override these values by creating your own Font tags, having the following names: AlarmPageList_Small, AlarmPageList_Medium and AlarmPageList_Large. Alarm Analysis Enabled only when an alarm is selected in the list. The first button in the Analysis section opens the Alarm Details dialog. This contains four tabs, providing complete information about the alarm, its configuration, and statistics for how often it has occurred today and within the past 10, 30, and 90 days. The details page also Operation and Configuration Student Workbook • 143 Chapter 8 includes a tab for notes related to the alarm, displaying any that have been recorded and allowing operators to add new notes. Figure 8-2 Alarm Details Dialog - Statistics tab Also available in the Alarm Analysis section are: l A link to the HDV page, showing the history of whichever tag triggered the alarm. l A link to open any page that the alarm is drawn within. l A link to the configuration properties dialog for the alarm. History Tools in the History section are specific to the History list. The Pause button allows operators to stop incoming alarms from being added to the display so that they can spend more time reviewing the ones already there. The pause button will be set automatically if you use the calendar control to jump to an earlier date. Releasing the pause button restores the list to the current date, allowing new alarms and events to show as they come in. By default, the history is limited to the last 30 days, but you may choose to speed up the loading of the list by showing only 10 days at a time, or you can stretch the 144 • Operation and Configuration Student Workbook 8 Alarms list out to 90 days. This limit exists only for the sake of efficiency; you can view alarm history from any date. Also by default, the history list is limited to 1000 items, but if there are more than that number in the time frame you are viewing, a "More" button will be added at the bottom of the list. Filter The Advanced Filter allows you to restrict the list based on nearly any property of the alarm. Figure 8-3 Advanced Filtering dialog If your goal is to find alarms with similar attributes to one aleady in the list, you might find it faster to use the Filter by Selection button: Operation and Configuration Student Workbook • 145 Chapter 8 You can select only one property at at time from the list, but more can be added. Whichever way you create a filter, the result will be shown at the top of the alarm list. Each can be removed from the list directly, and one at at time. No need to reopen the filtering dialog. Figure 8-4 Filter by any of these properties of a selected alarm to find others that are similar. Figure 8-5 Active filters in the Alarm List The list of filtering buttons also provides the option of viewing shelved alarms in any list (by default, these are visible only when viewing the list of shelved alarms), and viewing alarms that had been configured, but which are currently disabled. View options Coming to the end of our tour of the Alarm List, there are the View controls. With these, operators can change the size of the font used for the display. They can stack the rows, doubling up on columns (Figure 8-1 , on page 141 shows an example of this since the condensed format is much easier to fit on a page.) They can switch from daytime mode (white background) to nighttime mode (black background), and they can choose to condense the display by hiding detail columns such as value, setpoint, and engineering units. Add Alarms to Tags Alarm tags are used to establish rules for when an alarm should be triggered and what actions should occur. Alarms are built into a several types of tags including Analog Status, Digital Status and Pump Status. For most other types to be monitored, you must create an alarm tag. You will examine the alarm tag before taking a look at the similarities and differences with the alarms build into the tags just listed. 146 • Operation and Configuration Student Workbook 8 Alarms As usual, alarm tags are created using the tag browser. There are three parts to the configuration of each: its identity, the rules that will cause the alarm to trigger, and what action should result when the alarm occurs. Figure 8-6 Alarm tag - ID tab The description of an alarm tag is especially important if you have the Alarm Notification System option. This is what will be sent to an operator to notify them of a current alarm. The trigger is normally linked to another tag and specifies the setpoint above or below which the alarm will be activated. The setpoint can be coded into the tag, or it can link to another tag that allows operator or automatic control. (Recall that you created alarm setpoint tags when building Tufts station.) Operation and Configuration Student Workbook • 147 Chapter 8 Figure 8-7 Alarm tag - Trigger tab Note the range of options for the function. This allows you to select a comparison for the value being watched. Some alarms are triggered when values rise above a certain level, others when values fall below. Eleven different comparison functions are available. Two other features on this page are there to help guard against unnecessary alarms: l The deadband allows you to specify a range above and below the setpoint, within which values will be ignored. The purpose of this feature is to prevent system noise from repeatedly triggering alarms. If the deadband were set to 2 then the alarm in this example would still be triggered when the tank pressure reached 95. It would then not be considered inactive until the level fell below 93. This prevents alarms from being activated and deactivated when the value is close to the trigger point. l The Delays exist to deal with spikes in values. By setting an on delay, you indicate that not only must the value reach the setpoint; it must stay there for a given length of time before an alarm is triggered. 148 • Operation and Configuration Student Workbook 8 Alarms An off delay is the reverse, used to prevent the alarm from returning to the normal (non-active) state if the trigger drops momentarily below the setpoint. The action tab of the alarm configuration is used to configure the priority of this alarm. Alarms can have one of five priorities. Only the highest two are called out to remote operators by the Alarm Notification System. The lowest priority is invisible so far as notifications are concerned, used only to log events in the Alarm History record. Note that you can also disable alarms. This can be very helpful during times of equipment maintenance. The visual and audible warnings associated with an alarm are determined by the Alarm Priority tag. You can re-configure these as needed. You can even configure an Alarm Priority to speak the alarm details at the workstation. Figure 8-8 Alarm tag - Actions tab Notable features here include: l The ability to disable an alarm. This is sometimes tied to a digital output tag so that operators can switch alarms off during maintenance, or to a digital status tag so that an alarm can be disabled when related systems are not Operation and Configuration Student Workbook • 149 Chapter 8 l l l running. A rearm time. When enabled, using the separate check box, the alarm will return to the unacknowledged state after a given length of time if the underlying condition remains active. Trip – For digital triggers only. See the next topic for a complete discussion. The name of a .WAV file may be provided in the sound field if you would like a customized alarm sound such as phasers firing or a warning of a warp core breach. (The file should be located in the application folder.) Shelve versus Disable: Disabling an alarm is a configuration action, and can only be done inside a tag's configuration panel. Alarms should be disabled when related systems are not in use. Shelving an alarm is an operational action, and can only be done using the tools within an Alarm List. Alarms should be shelved when they are considered "nuisance" alarms: those that the operator need not respond to. Trip Alarms vs. Level Alarms There are two fundamental types of alarms: “Level” alarms are those that become active after a setpoint value is reached, but will automatically return to a non-active state if the value of the tag being monitored is no longer in violation of the designated setpoint value. For example, if the alarm’s high level setpoint is 100 inches, the alarm will activate when the tank reaches that level. If the level then drops to 99, the alarm will automatically return to a normal state (note that the alarm must still be acknowledged). An alarm that has been "tripped" does not count as Alarm Status tags. active or inactive since the underlying state of the These are true or false if equipment is not relevant to the fact that, at some point, the alarm was tripped. They are usually added there are any alarms to digital input or status tags rather than analogs. Trip matching a configured profile (priority, area, alarms do sound and must be acknowledged. etc.) For example, if a burglar opens a door, the fact that the door goes from an unopened state to an opened They are used for alerting operators that there state trips the alarm. In the same way that it is irrelis an alarm in a given evant whether or not the burglar then closes the door, it is irrelevant whether the underlying state that sub-system. tripped the alarm remains active. For this reason, trip alarms do not show up in the list of active alarms. The alarm sounds and must be acknowledged (and someone sent to investigate). 150 • Operation and Configuration Student Workbook 8 Alarms Exercise 8-1 Create an Alarm Tag In this exercise, you will create and configure an alarm tag. It will be triggered when the valve downstream of the water tower is more than 90% open. While you can create an Alarm tag directly from the Tag Browser, it is usually easier to start with the tag that will be the trigger for the alarm. This particular tag is very far down the tag tree. The exercise begins with a shortcut for finding tags in the hierarchy. 1. Open the Tag Browser. 2. Ensure that the root tag is currently selected. (i.e. that the list is not currently showing tags below one of the wells or menus.) 3. Click the All Types selection and choose Analog Input. 4. Select the Show Children option. The Tag Browser now shows all the Analog Input tags in the application. 5. Open the properties dialog of Current Position. 6. Open the alarm tab. The alarm tab of any numeric tag is used to create new alarm tags, pre-configured to use the currently-open tag as the trigger. 7. Click Add. The properties dialog for an Alarm tag opens. Note from the name that it will be created as a child of Current Position. 8. Set the name to "almPosition". 9. Set the description to "Valve too far open". 10. Open the Trigger tab. The parent tag has already been selected for you. 11. Change the function to "Greater Than or Equal to >=". 12. Change the Setpoint to 90. Operation and Configuration Student Workbook • 151 Chapter 8 Figure 8-9 The configured Trigger tab. 13. Open the Actions tab 14. Set the Priority to [3] Warning. The valve being open does not count as a critical alarm situation. 15. Click, OK. 16. Clear the filters from the Tag Browser. In general, it's best to clear the Show Children filter first, then the Types filter. 17. Close the Tag Browser. If the Idea Studio is open, close that too. 18. Open the Tower Details control page. 19. Open the valve and change the setpoint to 95. 20. The alarm will activate. 21. Open the Alarm Page and acknowledge the alarm. It will still be shown in the list of Current Alarms since the trigger condition is still active. 22. Change the valve setpoint to 60. 152 • Operation and Configuration Student Workbook 8 Alarms Exercise 8-2 Configure Alarms Built Into Tags Most of the monitoring tags in this application use the Analog Status type. These have high and low alarms built in. You can also add alarm tags to them if you require more alarm conditions; for example, if the design calls for three high level alarms: 'High level warning', 'High level danger' and 'High level critical'. (Note that this would not be good design practice.) When you built the monitoring page for the water tower, you created a user-interface for the high and low level alarm setpoints. In this exercise, you will tie those to alarms on the water tower's level. Preparation: The Tower Details page should be open. Both the Idea Studio and the Tag Browser should be closed. 1. Right-click on the water level indicator in the tower. A context menu should open. 2. Click, Alarm Settings. 3. Configure the alarms as shown in the following figure. Be careful to deselect both of the Disable options. Operation and Configuration Student Workbook • 153 Chapter 8 Figure 8-10 Alarm configuration 4. Click, OK. 5. Using the controls in either of the wells, and the valve control for the tower, raise and lower the water level in the tower to test the alarms. Experiment with the setpoint sliders as well. The final few steps will give you a chance to see how alarms can be disabled. 6. Right-click on the tower's water level indicator. 7. Click, Disable Low Alarm. 154 • Operation and Configuration Student Workbook 8 Alarms While viewing the right-click menu, note the option to view alarms. This will open the alarm page as a pop-up, filtered to show only alarms linked to this tag. Add Alarm Management to Pages Most of the notes so far have referred to the "Alarm List" rather than the "Alarm Page". This was done on purpose to emphasize the difference between the two. The Alarm Page is just a page, containing a fully-configured Alarm List. You can draw your own Alarm Lists on any page, configuring them as you like. Prior to version 11.2, custom alarm pages were build using several components. The list was one part, and all of the tools to interact with the list were separate parts. For the sake of backward compatibility, those tools still exist, but most are redundant and a few are completely obsolete. Everything that you need is built into the modern Alarm List, but some of the older tools can still be helpful for heavily customized configurations. The first step is to drag an Alarm List to a page. You can find one in the Widgets palette under Tools >> Alarm Tools. The initial size of the widget is 901 by 501 pixels. In most cases, custom Alarm Lists are customized to remove many of the features so you will be able to shrink that to a much smaller area. Note that the Alarm List widget can be linked to a tag. This is the equivalent of using the list's Advanced Filtering dialog to select a tag and its children. The difference is that if you allow operators to change the list's filter set, they cannot remove this particular one. This may be useful for applications where operators should have access only to the alarms within certain tag hierarchies. Operation and Configuration Student Workbook • 155 Chapter 8 Figure 8-11 Alarm List properties The configuration options give you total control over which parts of the list should be available to operators, its initial configuration, and its appearance. For example, if your purpose is to display active alarms for the tags visible on a given page, you will probably want to choose the Alarm System DB rather than displaying both that and the Alarm Events DB. You will also want to choose "Current" or "Unacknowledged" for the starting list and set a filter to control which alarms are visible. Available Line Formats (Will vary by selected list) Default Varies with selected database and list. All columns relevant to the selected list are displayed. Alarms All alarm-related columns relevant to the selected list are displayed. Events All event-related columns relevant to the selected list are displayed. Legacy 1 Priority (color bar) | Event | Priority (icon) | Time | Area | Name | Description | User Legacy 2 Priority (color bar) | Time | Name | Description 156 • Operation and Configuration Student Workbook 8 Alarms Legacy 3 Priority (color bar) | Time | Ack | State | Status | Priority (icon) | Area | Name | Description | User Legacy 4 Priority (color bar) | Time | State | Event | Priority (icon) | Area | Name | Description | User Legacy 5 Priority (color bar) | Ack | State | Event | Priority (icon) | Area | Name | Description | User Legacy 6 Priority (color bar) | Time | Event | Priority (icon) | Area | Name | Description | User Legacy 7 Priority (icon) | Time | Name | Description | Ack Popups Column Time Priority State Event Status Priority (icon) | Ack | | Name | Description Content & Purpose The time and date when the alarm event occurred. Note: for shelved alarms, this is the date of the last significant alarm event, not the date when the alarm was shelved. The priority of the alarm will be shown with the configured symbol. These will normally be one of Event, Critical, High, Warning, or Notice. These are the default priorities as configured for the Alarm Priority tags in your application. If you have modified the default Alarm Priority tags or have created your own Alarm Priority tags, the priority of alarms may differ. The state is also shown using a symbol and may be any of: - acknowledged - active - shelve - disabled - configured History list only. Shows the transaction that occurred to add this to the list. Often matches the state. The status is also shown using a symbol and may be any of: Normal/Ack - non-active alarms that have been either have been acknowledged, or have never been active Operation and Configuration Student Workbook • 157 Chapter 8 Ack Area and therefore do not need to be acknowledged. Normal/UnAck - non-active alarms that have not been acknowledged. Alarm - active alarms, whether acknowledged or not. Disabled - configured alarms that are not currently enabled. Contains the Acknowledge Alarm (Ack) button, if the alarm has not yet been acknowledged. The area configured for the Alarm tag (i.e. the text configured for the Alarm tag's Area property). Name, Properties of the tag that is in an alarm state. Description If viewing the History list, this is the value recorded when the alarm occurred, or when it returned to the Value Normal status. If viewing the Current list, this is the current value of the tag and will change as the tag changes. The current setpoint of the alarm. Setpoint The history list will show the setpoint that was in effect when the item was added to the list. The engineering units configured for the tag that is in an Units alarm state. History list only. Operator The username of the operator who acknowledged the alarm. Will be blank until the alarm is acknowledged. A note icon will be displayed if there is a note attached Notes to this alarm. Exercise 8-3 Adding Alarm Management Preparation: Open the Idea Studio and within it open the Tower Details page. Add an Alarm List 1. Increase the size of the page to be 700 by 500 pixels. 2. Open the Tools folder of the Widgets palette. 3. Open the Alarm Tools folder. 4. Drag an Alarm List to the Tower Details page. The default size will be bigger than the entire Tower Details page. 158 • Operation and Configuration Student Workbook 8 Alarms 5. Stretch the widget down and left until it fits on the white area of the page, below all of the other widgets. 6. 7. 8. 9. 10. 11. 12. 13. Open the Alarm List's properties dialog. Set the Alarm Database to System Alarm DB For the starting list, select Current. Set the Column Format to Popups. Open the Filter dialog. For the property, "in this area", select Tufts. Click OK to save and close the Advanced Filtering dialog. Deselect the following options: â–¡ Show Toolbar â–¡ Show List Selection â–¡ Show Search Field â–¡ Show Active Filters 14. Click OK to save your work and close the properties dialog. 15. Run the application, making sure to put the tower's water level into an alarm state. If you would like to allow operators to change the filter or view the History list instead of the Current list, the best option is to edit the properties of the list and display the toolbar. Add a few generic tools for the list: 1. Re-open the Idea Studio. Ensure that the Tower Details page is selected. 2. From the Alarm Tools palette, drag the following buttons to the page: Ack Shown (will read "No Alarm List" on the button.) Operation and Configuration Student Workbook • 159 Chapter 8 Silence Mute 3. Place these in a row along the top of the Alarm List. None of these buttons have any (working) configuration properties beyond their labels. Ack Shown has a Name field, but this is a legacy property that is not used with modern Alarm Lists. 4. Close the Idea Studio. Silence and Mute affect all alarms, but Acknowledge Shown must know which list you are talking about. Prior to version 11.2, you would have given each of your alarm lists a name, and linked one of those names to the Ack Shown button. Now, the button automatically links to whatever Alarm List it shares a page with. If you want to display two Alarm Lists on a page, and provide an Ack Shown for each, then you must group the lists and buttons.The Ack Shown button will then know to acknowledge only the alarms shown in the list that is in the same group. 160 • Operation and Configuration Student Workbook 9 The Alarm Notification System 9 The Alarm Notification System If your VTScada license includes the Alarm Notification System, you can send alarm notifications out to operators as: l Spoken alarms via a modem. l Email messages, using a third-part email server. l SMS text messages, using an SMS appliance. Operators can also acknowledge alarms via any of these mediums. Roster Configuration Rosters control who is contacted when an alarm is Rosters can be contriggered and how that contact is made. The notifigured only for comfication is not sent immediately. A delay (that you can configure) allows on-site operators a chance to munication methods that exist on your system. If acknowledge alarms before any notification is sent you do not have a voice to operators who are off-site. modem, SMS Text appliOnly Critical and High priority alarms are sent. ance or email server, you Lower priority alarms do not trigger remote noticannot configure a fication. Rosters are grouped by their Area property. For any roster. given Area, only one roster may be active at a time. This allows you to configure rosters for separate shifts. Also, one roster in any area must be active at all times. You do not deactivate a roster, you simply make a different one in the Area active. Alarms are sent to the roster with a matching Area property. If there is no roster for an alarm with a particular Area property, then the Area property of the trigger tag is checked. If there is no roster for that either, then a default roster having no Area will be used. If there is no such roster, then one active roster on the system will be picked at random Operation and Configuration Student Workbook • 161 Chapter 9 Figure 9-1 A sample roster You may add up to 30 contacts to the list. They need not be to different people; you can contact the same person several times, using a different phone number or communication method for each. Phone numbers are cleaned before use. Parentheses, dashes and spaces are all removed. Email addresses must be correctly formatted. The Contact User Name field refers to the operator's security account log-in name. This field need not be set if your intention is only to send alarm notifications out to an operator; however, if you want to allow the operator to acknowledge the alarm remotely, then the Contact User Name is mandatory. This will be checked to ensure that you enter a name that matches a valid account. For the email and SMS text communication methods, if alarm acknowledgment is possible (a valid Contact User Name is provided) then a notification code will be sent with the notification. The operator acknowledges the alarm by sending that code back to VTScada . For voice acknowledgment, a menu is provided 162 • Operation and Configuration Student Workbook 9 The Alarm Notification System operators can step through the menu and acknowledge alarms by pressing the appropriate buttons on their phone. Email and SMS-Text Notification If you have configured the Roster tag to send alarm notifications by email or SMS message, you can also configure it to accept alarm acknowledgments by email. When this feature has been configured, operators will receive an acknowledgment code by email for each alarm in the system. They can reply directly to the message, thereby acknowledging the alarm. After configuring the necessary communications, (an email server or an SMS appliance), alarm notifications may be sent. To also acknowledge alarms via the same communication method, you must a) include the operator's security account name in the Roster tag configuration and b) configure the means of communication to allow incoming message. The acknowledgment code is tied to the specific alarm and to the operator's security account name. The acknowledgment code will not apply to any other alarm, including a later alarm triggered by the same tag, nor will it work for any other operator. VTScada will assume that, if an email or SMS text NOTE: Do not check was sent, then an operator has been duly notified and it's job is done. If you want VTScada to continue "Continue Roster through the roster, it is necessary to check the option Sequence" on the last entry. Doing so will Continue Roster Sequence. cause the roster to repeat from the beginTo configure your system to acknowledge ning, potentially resulting alarms by email: in a very large number of A. Configure the Incoming and Outgoing Alarm emails or text messages Emails properties. These can be found in the being sent to each operApplication Configuration dialogs, under the ator. Alarms tab of the Edit Properties page. The "From" address must be the account by which VTScada will receive acknowledgments. This is the address that operator replies will be sent to. A POP3 server must be configured with the account that VTScada will use to receive alarm acknowledgments. (See: Email Options, in the VTScada Help guide) B. Configure the Roster tag so that entries that send notifications by email, include the operator's security account user name. (See: Create a Roster Tag, in the VTScada Help guide) Operation and Configuration Student Workbook • 163 Chapter 9 C. Configure the application properties AlarmCheckMail and AlarmCheckMailFastPoll to control the frequency at which VTScada checks for replies, and AlarmEditEmailAck to choose whether the operator must edit the message before replying. Note that some email servers will shut down an account that polls too frequently, as a suspected spam source. The default value of 60 seconds for AlarmCheckMailFastPoll will trigger this on some third-party email servers. SMS text configuration is the same, except that you configure an SMS appliance rather than an email server. The message received by the operator will appear similar to the following. The alarm code is unique to the operator, the alarm and the time of the alarm, making it extremely difficult to guess. Codes cannot be reused or given to another operator to use. From: The VTScada System [mailto:The VTScada System] Sent: December-14-11 10:43 AM To: Subject: The VTScada System: 1 alarm 12/14/2011, 10:42 AM. Default Default Test Alarm. Code: LPXX To acknowledge the alarm, reply with ACK*XXXX, where XXXX is the alarm code in this email. A confirmation message will be sent upon successful alarm acknowledgment. No reply to the acknowledgment will be sent otherwise. In the Alarm History, the words "by email" will be appended to the operator's name to indicate that the alarm was acknowledged via email. Modems If you have purchased the Alarm Notification System, and have one or more modems attached to your network, then you can configure VTScada to telephone operators when alarms occur. Queues may be created such that if the first operator on the list does not answer, the next will be called. You can also configure the application such that alarms in one area of the system will be sent to a particular list of operators, while alarms from another area will be sent to a different list. 164 • Operation and Configuration Student Workbook 9 The Alarm Notification System The Modem Manager Service takes care of all these Be careful when buying features and enables modems distributed across a number of different workstations to be managed as a a modem for use with the Alarm Notification Syscommon pool. tem. Not all that advertAll modem access uses TAPI – the Microsoft telephony management layer that enables programs to ise the required feature set actually provide it. share and pass calls. TAPI allows telephony resources to be shared between multiple applicIt's always worthwhile to ations. It interfaces to a modem driver so VTScada doesn't have to be configured for the specifics of the check with Trihedral technical support for recommodem. Both a modem audio driver and a TAPI Service Pro- mendations. vider (TSP) are provided by Trihedral. These have been designed to avoid several of the problems associated with the older Unimodem 5 driver, including its limitation in detecting and switching between voice vs. data calls. The Unimodem 5 Driver is still available, but we recommend against using it with the Alarm Notification System. Setting Dialer Pronunciation The Lexicon dialog, found in the Alarms tab of the Edit Properties page of the Application Configuration dialog, allows you to adjust how words will be pronounced when the Alarm Notification System calls an operator. The default lexicon is somewhat limited. You have the ability to add new words that are relevant to your situation, and to adjust how they will be pronounced by the Alarm Notification System for maximum clarity. When the Alarm Notification System announces an alarm on a tag, it will read out the tag name and description. It will make its best guess as to the pronunciation of each word unless you define them here. Consecutive capital letters are pronounced individually, thus "VTScada" is spoken "Vee Tee Scada". Configuring Alarm Notification Options The Alarm Notification section of the properties page can be used to set the conditions under which registered operators will be contacted by your application's Alarm Notification System. Operation and Configuration Student Workbook • 165 Chapter 9 Figure 9-2 Alarm Notification Options Note the option for selecting the initial section to use of the menu system. In some situations, it may save the operators time to jump directly to the list of unacknowledged alarms rather than starting at the main menu. Optional start points are as follows: l Main Menu l Unacknowledged Alarms l Active Alarms l Control l Station Status Notification System Configuration The Alarm Notification System requires that the following components be configured: Hardware or 3rd-party programs 166 • Operation and Configuration Student Workbook 9 The Alarm Notification System l l l If using phone or pager notification, at least one voice modem must be installed. If using email notification, an email server must be available. If using SMS-text notification, an SMS appliance must be installed. VTScada tag configuration l Two or more Roster tags: the first of which must have no operator contact records configured (so that the Alarm Notification System may be disabled when not in use), and the subsequent roster tags which can have up to 30 operator contact records configured. l A Modem tag with a blank Area property, if a modem is being used. l An SMS Appliance tag if an SMS Appliance is being used. Other VTScada configuration l The Call-out List page (One of the pages VTScada adds to all applications) must be configured with the available roster tags drawn as Make Active buttons. The pressed button selects the group of operators who will be contacted when unacknowledged alarms occur. l User accounts that have been granted at least the Alarm Acknowledge privilege for each operator who is to be on call. l Alarm Notification System options. l The roster you wish to use must be enabled. l Various properties are available to control the template of the alarm message, the selection of voice, email configuration, and much more. These include, AlarmEmailTemplate and AlarmSpeechTemplate. Configuring a Modem Tag The Settings tab of the modem tag configuration screen contains properties that allow you to configure the network and security settings for the modem tag. Workstation Name The Workstation Name field enables you to specify the name of the computer to which the modem is connected. If you do not specify a workstation in the Workstation Name field, VTScada assumes a local modem that is not in the modem pool, and which is bound to the first free modem on each machine. Once the workstation name has been specified, the Line Name and Name Or Index On Workstation drop-down lists will automatically update to display the names of the serial port tags and modems available on this workstation. Line Name The Line Name drop-down list enables you to select the name of an existing phone line to which this modem is attached, or enter a new and unique line name. This name must be unique, and cannot be identified anywhere else in the system. Operation and Configuration Student Workbook • 167 Chapter 9 The same line name must be used by modems sharing the same physical phone line, even if they are on different workstations. Name or Index on Workstation The Name or Index on Workstation drop-down list enables you to select a modem on the workstation specified in the Workstation Name field, provided that the workstation is available. If the specified workstation is not currently available, you may enter the name of the modem you wish to use, or can enter a number or text value as follows: l If this value is numeric, it is the index into the list of modems shown in the Modems Properties dialog box in the Windows Control Panel, starting from 1. l If the value of Index is a text string, it is the name of the modem exactly as it appears in the Modems Properties dialog that is accessed using the Windows Control Panel. Because the index of available modems can change over time, it is recommended that you refer to the modem by name rather than by its index in the Modem Properties dialog box. Ring Count The Ring Count spin box enables you to select the number of rings you wish to occur before the selected modem answers an incoming call. If the value of Ring Count is 0, the modem will not answer any calls. Regardless of this setting, the modem will not be answered if the Application Property, AnswerCalls, is set to 0. Security Bit The Security Bit drop-down list enables you to select an existing application-specific privilege that will restrict output access for this tag. Users who wish to use this tag to send an outgoing signal to the I/O device or modem must have the privilege by which this tag is protected granted to their user account. If the Security Bit drop-down list is left blank, there is no security specified for the tag. Configuring a Modem for Tag I/O Modems are not just for alarm notifications. You can also use them as the port for tag I/O. This is done by selecting the Use Modem check box when configuring a new serial port tag. The phone number is used only if the modem is being used for telemetry communications – not for the Alarm Notification System. In very rare cases, your modem may require a specialized initialization string. If using one of the modems 168 • Operation and Configuration Student Workbook 9 The Alarm Notification System recommended by Trihedral (see website for a current list), then you will not need to provide an extra initialization string here. Modem Diagnostics To help diagnose modem problems, it is helpful to include a Modem Indicator draw method on the application for each modem in the system. This will quickly tell you that the modem is offline before you spend time examining the configuration settings within VTScada. Modem Indicator widgets can be found in the Widgets palette, Analytics >> Diagnostics. In the Tools >> Modem Tools folder you will find other widgets that can help you to diagnose modem problems. These include the Modem Event Log, Modem Statistics, and Modem Status. You may wish to consider creating a page just for modem diagnostics. Finally, in your Windows modem configuration, you should select the option "Append to Log". Operation and Configuration Student Workbook • 169 10 Record Data From Tags 10 Record Data From Tags VTScada uses a proprietary storage system for recording tag data. Tools are provided with VTScada so that you can extract the data when and how you wish. You could configure VTScada to write to a commercial database such as Oracle®, MS SQL Server® or MySQL®. VTScada will use its own data storage system within these databases, so you will probably still want to use the VTScada tools for retrieving the data, even if you are using another database for storage. All of the work required to collect and save data is managed by a tag named the System Historian. This tag will be present in every VTScada application. You can add more Historian tags of your own, but this would be an unusual thing to do in most applications. Extra Historian tags are used for purposes such as load distribution across computers in very large applications. The System Historian provides only a few configuration options through the user interface. They are: l You can choose whether or not to represent system downtime as missing data. If represented as missing data, a graph showing tag values across a period of time when the system was down would show an empty gap for that time. The alternative results in a graph that shows flat lines of the last known value across the period of downtime. l You can choose to limit the storage of data. If there is no need to save data for longer than a month, year or other time frame, you can configure the Historian tag to automatically delete older values. This chapter does not cover advanced configuration options of the Historian, such as sending data to a 3rd party database. Choosing What to Record Several tag types have a link to the System Historian built in. For example, the Analog Status tag has a Historian link as shown in the following figure. Operation and Configuration Student Workbook • 170 Chapter 10 Figure 10-1 Typical Historian tab of a tag properties dialog Values are recorded on change – subject to a deadband that requires the change to be of at least a certain amount. The X button allows you to deselect the Historian, thereby not recording a particular tag's value. A few tag types do not have a Historian link built in. For these, you must first create a Logger tag for each tag whose data you wish to record. The Logger tag does have a link to the Historian, similar to the Analog Status. It also provides several options to control when data is recorded. You could choose to record on change (with no deadband available) or you could choose to record values at a set frequency, or both. The three configuration panels of a Logger tag are shown in the following figure. The first panel provides the link to the data source. In the second panel, the rate of logging is defined. Finally, the third panel provides the link to the Historian tag that does the actual work of recording the data. 171 • Operation and Configuration Student Workbook 10 Record Data From Tags Figure 10-2 Logger tag configuration Other Tags That Collect Data While the Historian tag and the Logger tag are the primary tools for collecting raw data from I/O tags, VTScada provides other tools for collecting statistics about system processes. This chapter introduces the Totalizer tag, the Counter tag and the History Statistics tag. Totalizer Tags A question that is commonly asked about any system that moves material from one place to another is "how much was moved?" Given a pump that is pushing water into the tank, you might decide that you want to know how much water was pumped each hour. You can add a VTScada Totalizer tag to the pump to collect that information. Operation and Configuration Student Workbook • 172 Chapter 10 Figure 10-3 A Totalizer tag The preceding figure shows a Totalizer tag's settings panel. There are a few very important details here that you must understand before proceeding. Getting these details wrong will mean that the values reported by your Totalizer tag will be wrong. The source is the tag whose flow (or other monitored value) is to be counted for the total. This is expected to update on a regular interval such as once per second, once per minute or once per hour. The source time scale must match the frequency with which the data source updates. If the data source is updating once per minute (e.g. a sensor is monitoring gallons per minute) then the source time scale must be minutes. Setting it to any other option will result in the total being miscalculated. For example, if the source is reporting gallons per minute, but the source time scale is set to seconds, then every second the totalizer will add the GPM rate to the total. The displayed result will be at least 60 times too large. The log interval allows you to select the frequency with which the total is logged and (usually) reset to begin counting again. The reset feature is optional: You can log the running total every hour, but continue counting without resetting. The zero cut-off limit allows you to filter out noise that may occur close to zero. Setting a value here results in all values within that range of zero being excluded from the count. 173 • Operation and Configuration Student Workbook 10 Record Data From Tags You also have the option of configuring a tag that will serve as an external reset. With this feature, you could record the running total every hour throughout the day, and reset to zero at midnight each night. Exercise 10-1 Logging Data 1. Open the Tag Browser and expand the tree until you can see Valve 1 below Tufts Stn. 2. Add a new child tag to Valve 1. 3. Select Totalizer as the type. 4. Set the name to "Tower Totals". 5. Set the description to "Volume flow to municipality". 6. Open the Settings tab. 7. Configure as follows: Source Flow Rate Source Time Scale Per Minute Log Interval Hour Reset After Log Checked Zero Cut-off Limit 0.1 Engineering Units gal 8. Save the tag. 9. Open Supply Plan page for editing in the Idea Studio. 10. Add a Numeric Value widget to the page, near the Tufts site map indicator, and link it to the tag you have just created. 11. Add a label, "Volume this hour" below the Numeric Value. Counter Tags These tags count discrete events. Pump cycles, alarms, and anything else that changes state from 0 to non-zero and back again can all be counted. The key point when configuring a counter tag is the selection of the source. This must be something that changes value from 0 to non-zero. Analog tags can be counted, but be warned that their value often does not drop to exactly zero. A transition from 0.000001 to 1 will not be counted. Operation and Configuration Student Workbook You can get around that limitation of analog tags by adding a Deadband tag, or by creating a Calculation tag with an appropriate expression. • 174 Chapter 10 Exercise 10-2 Count Start/Stop Cycles Your task in this exercise is to add a counter tag to the SupplyWell definition and make it a part of the Well Control widget using a Numeric Value drawing method. 1. Open the Tag Browser and navigate the tag tree to find Well1 below ElmField. 2. Add a new child of type Counter to Well1. 3. Configure as follows: Name PumpCycles Description Count of on/off cycles Source ..\Status Log Interval Day Engineering Units Cycles Reset after log Checked 4. After saving the Counter tag, right-click on its parent, then click "RedefineType". If you expand the list of tags for Well2 after running the Redefine Type command, you will discover that the counter has been added to it as well. 5. In the Idea Studio, open the widget, WellControlWidget. 6. Add a Numeric Value widget. (Easiest to copy an existing one.) 7. Open the widget's properties dialog and set the data source to Linked Tag Property. Select the child tag, PumpCycles. 8. Configure the widget to match the existing Numeric Values. Optionally, add an appropriate label. Figure 10-4 Pump control with a counter 9. Close the Idea Studio and operate any pump. The cycle count should increase with each start. 175 • Operation and Configuration Student Workbook 10 Record Data From Tags History Statistics Tags These tags will perform seven statistics functions on a given I/O tag's logged values. These calculations include both totals and counts, but the History Statistics tag differs from the Totalizer and the Counter in that it adds a time range to the equation. This time range looks at the values logged over X minutes, updated every Y minutes. Figure 10-5 History Statistics time frames The History Statistics tag may itself be logged, in order to create a record of changes in the calculated value over time. A connection to a Historian is not created automatically in History Statistics tags. The calculations performed include: l Time-weighted average – average value over a specified length of time. l Minimum value during period l Maximum value during period l Value at start l Count of zero to non-zero transitions (e.g. equipment starts) l Non-zero time (example: total time that a pump was running during the period) l Totalizer, calculated as the sum of the values logged during the time period. While the History Statistics tag will perform all seven calculations, only one calculation will be shown. To access the other six, you must create more History Statistics tags, each of which will use the primary tag as its data source and which will display one of the other calculations. There are also the Digital Statistics tag and the Analog Statistics tag. Both launch a large number of History Stats. tags as children, collecting stats for a wide range of time periods. Operation and Configuration Student Workbook • 176 Chapter 10 You can limit the impact by un-selecting time ranges you don't need. Exercise 10-3 Statistics from the Supply Valve 1. Reopen the Tag Browser and navigate to Valve1 under the Water Tower. 2. Add a new child tag to OpenCloseStatus, setting the type to History Statistics. 3. Set the tag name to "OpenTime". 4. Set the description to "Valve open time". 5. Open the Source Settings tab. Since you added this tag as a child of a numeric tag, the source is automatically configured. 6. Set the Statistic selection to Non-Zero Time. 7. Set the Scaling Factor to 0.016667. That's 1/60, scaling from seconds to minutes. 8. Set the Engineering Units to "min." for minutes. Figure 10-6 Configured History Statistics tag 9. 10. 11. 12. Open the Data Period tab. Change the period to record the latest day, updated every hour. Save your work. In the Idea Studio, draw this tag on the Tower Details page as a Numeric Value widget. 177 • Operation and Configuration Student Workbook 11 System Monitoring Tools 11 System Monitoring Tools The logged data for each tag is stored in directories named after that tag. There will be one set of these directories for each Historian in the application, all of which are collected under a folder named DATA. (For example, C:\VTS\Well_ AJH\Data\History\SystemHistorian\.) The data files use a proprietary storage format. To read from these files, you must use the tools included with VTScada . As an alternative, you can configure the Historian tag(s) to save data to a 3rd party database such as Oracle® or MySQL®. If doing so, it is your responsibility to install and maintain the database program and data. Data will still be organized in a way that makes it easy for the VTScada tools to read, but not so much for humans to query. Whether you use the VTScada data storage system or a 3rd party database, the primary tools for reviewing historical data are always the Historical Data Viewer and the VTScada Reports Page. In general, the default configuration of the System Historian will be more than adequate for most applications. Full details of and instructions for alternative configurations can be found in the VTScada Help Guide. In any case, it is highly recommended that you make a backup of the historical data on a regular basis. The best method for doing this is to install VTScada on a second computer that is configured to run the application as a backup server. Data is automatically mirrored on both machines, and it is a simple matter to replace a server should one fail. You can also copy the Data folder structure to a secure location on a regular basis, recognizing that you may lose the data collected between backups. The Historical Data Viewer (HDV) When you left-click on the drawing object for any input or status tag in a running page (not in the Idea Studio), the Historical Data Viewer immediately opens, showing you a live view of the values being recorded by that tag. Operation and Configuration Student Workbook • 178 Chapter 11 Figure 11-1 The Historical Data Viewer If the Historical Data Viewer does not show any data for a tag that you are sure should have a fluctuating value, then the first thing to check is the time frame being displayed. Located at the top center, the default value is likely to be 1 day. Selecting a 5 minute time frame to display will result in a much more rapidly updated graph. Unless you attach a Historian tag to an input (either directly or, through a logger), the Historical Data Viewer will show only the values that occurred from the time you opened the viewer to present. Before looking very closely at VTScada’s system monitoring tools, it is worth reviewing the concept of the Historian tag. To put it simply, data that has not been collected cannot be shown. Historian tags exist for the purpose of collecting and saving tag values. Some tags include built-in links to a Historian. These tags are: Analog Status, Digital Status, Pump Status, Totalizer and Counter. Other tags require that a Logger tag be created, which will collect data from the I/O tag at a user-specified rate and provide it to a Historian tag for recording. 179 • Operation and Configuration Student Workbook 11 System Monitoring Tools Add a Mini HDV to a Page One of the widgets available for most numeric tags is “Draw HDV”. This allows you to display the graph portion of the historical data viewer right on an application page for continuous monitoring of input values. You can choose whether or not to include the toolbar at the top of the screen, and the legend at the bottom. You can find the Draw HDV widget in the folder Analytics >> Trends and Historical Data. The properties dialog for this widget provides a full range of options to control the time frame displayed, the graph, the color schema and much more. The widget itself can be linked to a parent (context) tag, thereby displaying all child tag values, or it can be linked to a named tag group, as created in the full HDV. There is also an older widget; Plot Data. This can display the value of only one tag, which rather limits its usefulness. But, there are times when a simple trend of a single tag can be exactly what you need. Operation and Configuration Student Workbook • 180 12 Operator Notes 12 Operator Notes The Operator Notes page provides a logbook with your SCADA system. In fact, you can create as many log books as you like, since each is configured as a tag. The saved notes are stored in binary files within your application's Data folder. These are designed to be tamper-proof in that they cannot be read outside of VTScada and cannot be edited by any means. Once written, a note remains a permanent part of the application's history. Comments can be added to notes at any time, to correct errors, add follow-up details, or clarify what the note was about. Figure 12-1 Note and comment Configure Quick Notes A Quick Note is a stored note that operators can add to their new notes. This might be a commonly used phrase, or it can be a template, with blanks for the Operation and Configuration Student Workbook • 181 Chapter 12 operators to fill in. Adding a Quick Note is similar to a copy & paste operation. The added note can be edited until they click the Add Note button to save it. Quick Notes are created in a Notebook tag. Since there can be many Notebook tags, matching many notebooks, you may have to duplicate Quick Notes if they should be available to more than one notebook. Figure 12-2 Adding a Quick Note to the Notebook tag As operators are typing their notes, they can click the Quick Note drop-down to select from a list of note titles. It is important for each title to be as descriptive as possible. Figure 12-3 Selecting a Quick Note Searching for Notes Over time, a lot of notes will be created. To help you find them again, VTScada includes a powerful search feature: 182 • Operation and Configuration Student Workbook 12 Operator Notes Figure 12-4 Tools to search through the current notebook Only the current notebook will be searched. Any fields that are left blank are treated as wild-cards. If you select a month (which also includes the year) then the date range will be populated with the beginning and end dates of that month. You can use the calendar icons to adjust the date range as required. The exact same Operator Notes page is a standard part of every HDV screen. The only difference you might notice is that the default Notebook will be System Notes instead of Operator Notes. This is a legacy behavior from the days when Operator Notes were not tag-based. Regardless of the default Notebook in either screen, you can switch notebooks at any time as required. To help operators keep track of which one they are using, notebooks can be color-coded. Exercise 12-1 Practice with Operator Notes. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Open the Operator Notes page. Create two notes. Add a comment to one of the notes. Open the Tag Browser, then the Operator Notes tag. Open the Quick Notes tab. Add two Quick Notes. Make one a commonly-used phrase from your workplace and the other a template with blank spaces for operators to fill. Close the properties dialog and the Tag Browser. Create new notes using your Quick Notes. Explore the search feature by searching for notes or comments that contain a word that you wrote in one of the notes. Open the HDV page. Add an Analog Status tag and the System Notes tag to the graph. Select the System Notes pen, then add two notes to the graph. Operation and Configuration Student Workbook • 183 Chapter 12 13. Open the Notes tab and select the System Notes notebook. 14. Click the Export button and save the notes to a file. The saved file should open in your default browser. 184 • Operation and Configuration Student Workbook 13 Report Features 13 Report Features Reports are created using the Reports page. This is a standard page included with every VTScada application. The page is divided into six boxed sections, designed to be completed in order. You create a report by: A. Select a type. B. Select the tags to report on. (Only logged tags have history that can be included in a report, but VTScada won't stop you from selecting a tag with no logged history.) C. Select the time frame to be covered by the report. D. Optionally, repeat that time frame for a number of previous periods. E. Select the destination (and format) for the output. F. Optionally modify the output if the selected destination was either Microsoft Excel® or Access®. Report Types: The following report types are included: Daily snapshot report The value of selected tags at a particular time each day throughout the report period. Daily total report The total data accumulated for a selected set of tags at the current time within a user-defined time period. Driver communication error detail report A summary of error activity for a specified time period. Driver communication summary report A summary of driver activity for a specified time period, including response times, data quality, etc. Hourly snapshot report A snapshot of the value of each tag in a selected set of loggers at each hour within a specified time period. Hourly total report The total data accumulated hourly for a selected set of tags within a specified time period. Standard report the value of each selected tag, every second or so for a specified time period. Operation and Configuration Student Workbook • 185 Chapter 13 Analog summary report The average, minimum, maximum, and total values for a set of selected analog tags within a specified time period. Derived flow report The number of cycles for a driver, along with the inflow, outflow, and total flow for the station. Pump activity report Displays data for the pump status tags in your application, enabling you to determine overall pump activity. Data includes count of pump starts, average run time, total run time, etc. Pump discrepancy report Similar to the pump status report, but organized to allow you to analyze for inconsistencies. Rainfall report Calculates a sum of the pulses times value-per pulse recorded for a pulse input tag within the specified time frame. Must be used with a DFS or Polling driver. Output Formats Reports may be sent to any of: l direct to printer l file on disk l email address (assuming that you have access to an email server) l screen display When saving to a file, you can select between: l space-delimited text file l CSV (comma-delimited) text file l Excel® .xls file l Access® .mdb file l ODBC data source (select your configured ODBC driver) Report Contents - Selecting Tags All tag types are available to be included in a report, but it makes more sense to include some than others. For example, it will do very little good to select an analog input tag for a communications error report. The tag list will automatically be filtered for appropriate types of tags when you select a report type. When the communications error report is selected, the tag list 186 • Operation and Configuration Student Workbook 13 Report Features will be filtered for driver tags. When the daily snapshot report is selected, the tag list will be filtered for loggers. You also have the option of further filtering the list by area. The available tags, matching the filtered type, will be displayed in a list on the left of the reports page. Buttons marked with “>” and “<” allow you to select which of these tags to include in the report. You can save a list of selected tags as a named group. Doing so is very useful if you expect to run the same report on a regular basis. To use this list for a future report, simply select the report type, then select the Load Group button. Select your named group and then run the report. Setting the Report Time Period In the upper right of the reports page, there are selectors to allow you to set the time frame for the report. The start time can never be later than the end time, and the end time can never be later than the current time. It is a good idea to always set the end time first, otherwise you might have difficulty advancing the start time while the old end time is at an earlier date. To change any field within the start or end time, select that field and use the up and down arrows at the right of the window. The Presets provide a quick and easy way to set a common time period. There are two groups: The last X minutes, hours or days before the report is run and the previous N calendar days, weeks, months, etc. The difference between the two groups is as Figure 13-1 Reporting period follows: any selected time period that uses the word “Last” will have an end time that coincides with the moment that the report is run. Any selected time period that uses the word “previous” will have an end time that matches a discrete boundary such as the end of an hour, day or week. Note: the presets will work as expected within a Report tag, but in the report page, the start time and end time rule. You may have to toggle a preset to make the start and end times advance from the last time that you ran the report. Exercise 13-1 Create Reports 1. Open the Reports page. 2. Set the type of report to Standard Report. Operation and Configuration Student Workbook • 187 Chapter 13 3. 4. 5. 6. Select the tag, Tufts Stn\Valve1\Flow Rate. Set the reporting time to the last two hours. Set the Output Type to Screen Display. If you do not have Excel installed, deselect the option, Use Excel to display screen reports. 7. Run the report. 8. Experiment with other report types. The Report Tag The Report tag provides all of the functionality of the Reports Page, plus two key features: l It will trigger automatically on the interval you specify (perhaps every morning at 8:00). l It adds an offset to the time periods. For example, you could set the time period to be the Last Hour, but offset such that data is for the hour ending 15 minutes before the report runs. A Report tag is added to an application like any other tag. Configure for a report by following the configuration tabs from left to right. Note that, the list of tags to report upon must be saved in a named group. The Report tag need not be drawn in order to function. If drawn, you can show it as a time display, showing when the report was last run. You can also draw it as a button, allowing operators to run the report at a time of their choosing, or to repeat a missed report (a configuration option of the report button widget). Also worth noting: the Report Tools Library provides a number of buttons you can place in an application page to provide an operator with quick access to many of the functions found in the Reports page. These are designed to work with a Report tag, adding operator control. Exercise 13-2 Report Tag 1. Create a report tag that will run an Hourly Snapshot report on the flow rates of all three pumps. 2. Set the trigger time for the report to a minute or two ahead of the current time. 188 • Operation and Configuration Student Workbook 14 The Privilege and Security System 14 The Privilege and Security System Newly created applications run in an unsecured state until you decide that the time has come to secure them. When you first access the security dialogs, you must choose to secure the system and then create at least one account that you will use for managing it. From that point forward, all users (including you) must logon to the application in order to make any configuration changes. Once the application is secured, configuration is no longer available without logging in. It is therefore normal practice to not activate security until you have finished designing and configuring your application, and are ready to configure user accounts for the system operators. Activating Security When you first access the security dialogs, whether by clicking on Logon in the application, or Security in the Application Configuration dialogs, you will be prompted to activate security: Upon clicking, 'Yes', you must create the initial account for the application. Figure 14-1 Activating security Operation and Configuration Student Workbook • 189 Chapter 14 Figure 14-2 The Security Accounts dialog In most instances, this account should be used for only one purpose: managing user accounts. It should also be given a difficult-to-guess password. Remember that SCADA systems are inviting targets for hackers. Do not open yours to abuse by creating accounts with administrative rights and easily guessed user names and passwords. The initial privileges are enough to let the account manage security settings (Administrative), access the Application Configuration dialog (Configure), create and configure other user accounts (Manager) and stop the application (Application Stop). The privileges required to acknowledge alarms, continue development, switch the Questionable flag off or on, etc. are not included. Secure Passwords: You can find a wealth of information online describing the minimum requirements for a secure password. To summarize, a secure password should be at least 8 characters long, be a pass-phrase rather than a pass-word, and include mixed case, numbers and other symbols. 190 • Operation and Configuration Student Workbook 14 The Privilege and Security System Roles Once you have created the initial account by providing a name and password, then clicking Apply, the list of roles will be populated with four examples, designed to help you start managing your security system. These can be added to your account by first clicking the Add Role button, then selecting a role from dialog that opens in response. Figure 14-3 Sample roles, provided by default. A role is a named set of privileges. You can assign a role to an account, but you cannot log in as a role. Roles do not have passwords or any other configuration beyond a list of privileges. When defining a role, you may assign one role to another in addition to assigning privileges. This allows you to create basic roles, then re-use those privilege-sets by adding to them, rather than having to create every role from scratch. The predefined roles: These are provided to help you get started with your security configuration. It is expected that you will create new roles or modify the predefined roles as appropriate for your situation. Role Privileges allow... Logged Off Nothing. VTScada will continue to run if nobody is logged on. Actions that happen at that workstation while nobody is logged on are attributed to a user named, 'Logged Off'. You can choose to grant privileges to this account, such as the ability to view the alarm page, but be very careful. Operator Acknowledge and mute alarms. View access to all of the VTScada system pages. Create and edit page notes. Configurer Operator plus all privileges required to create and configure an application Operation and Configuration Student Workbook • 191 Chapter 14 SuperUser Configurer plus security configuration privileges. All VTScada privileges except Internet Client Access and Modify Types, which must be granted explicitly. Exercise 14-1 Activate Security and Create Accounts You will create two accounts: one with SuperUser privileges for yourself and one with a more limited set for an operator. 1. Click, Logon 2. Click Yes, when prompted to secure the application. 3. Enter your name as the Account Name 4. Enter and confirm a password. Passwords are case-sensitive. Do not forget your password! 5. Click, Apply. The Accounts dialog will close. You must now logon for the first time. 6. Logon, then reopen the Accounts dialog. 7. Select your account. 8. Click the Role button beside Add New Rule. 9. Select the SuperUser Role. 10. Click, Apply. 11. Click the green Plus button at the bottom of the list of Users. 12. Enter "Minion" as the account name. 13. Enter and confirm a password for Minion. 14. Click, Apply. 15. Grant the Operator role to Minion. 16. Apply, close the dialog and log out. 17. Log in as Minion. 18. Experiment with operational and configuration controls in the application to see what is possible for the Operator role. Save Time by Copying If you are creating a series of user accounts for a group of people who will have similar access rights, you can save time by copying the first account to make new ones. Upon clicking the Copy button below the user list, you will have to provide a new account name and password, after which the new account will be created as an otherwise exact duplicate of the first. You can also generate a new role by copying a user account. The copied account will have exactly the same privilege set as the original, but will not maintain a link. Changes to the original do not affect the copy. This is where roles are superior to copies. Having set up one operator account, you might copy that account into a new role. Then, delete all the privileges from the original operator account, and re-assign the privileges in a single step by 192 • Operation and Configuration Student Workbook 14 The Privilege and Security System assigning the role to this and every new operator account. If you decide to change the privilege set of the role at some point in the future, all the user accounts will be updated immediately and automatically, since their privileges are whatever is in that role. Security Rules You may have noticed that, the prompt to add a new privilege or role is "Add New Rule". A rule is more than just a privilege. Rules can be limited by tag scope, and by workstation name. For example, in the class project, there are three stations. If you have an operator who works in the water tower, but not at either of the two wells, you could add the rule scope, Tufts Stn. to that operator's privilege's privilege set. The result would be that all of their privileges would be in effect when working with the tags of Tufts Stn, but not when attempting to work with the tags of either well. The Workstation modifier allows you to limit a privilege so that it is only in effect while the operator is logged in at a given workstation. If they log in at a different station, their privileges do not apply. The benefit of security rules is that you don't have to create different roles for each operator. By modifying the scope of a rule (role, privilege) you can apply the same role to a group of operators and still grant varying access to different parts of the application. Caution! Tag scope rules should be applied only to privileges that have to do with tags. Most of these privileges will be ones that you create, since only a very small number of the built-in privileges are for tags. If you apply a tag-scope rule to a page privilege, alarm privilege, or any other privilege that has nothing to do with tags, then you deny that privilege. If you apply a tag-scope rule to a role granted to an account, then you deny all privileges within that role that have nothing to do with tags. Application Privileges All of the privileges seen so far apply to VTScada features and functionality only. They do not restrict anyone from opening one of your pages or from using any output control that may be in the application. Operation and Configuration Student Workbook • 193 Chapter 14 To restrict access to your pages and controls, you must first create application privileges. These are effectively padlocks that you can place on any part of your application to control who is able to see and do what. Application Privileges are created in the security Administrative Settings dialog, accessed through a button labeled, "Options". Figure 14-4 Opening the Security Options dialog The Options button opens the Administrative Settings dialog. The privileges are listed in a column down the right side of this. Application privileges are at the bottom of the list. To add a new one, right-click anywhere in the list. A menu opens, from which you can select Add Application Privilege. Figure 14-5 Adding an application privilege Adding the new privilege is simply a matter of providing its name in the input field that opens. Figure 14-6 Adding the Well Operation privilege 194 • Operation and Configuration Student Workbook 14 The Privilege and Security System The privilege now waits for you to: a. apply it to a page or output tag and b. grant it to an account or role. Note: When you create an application privilege, it is not automatically granted to any account, including your own. You must grant yourself the privilege that you created or else find that the pages and tags that you link it to, will be denied to you. Use an Application Privilege to Limit Access To restrict access to a page, open that page in the Idea Studio and click the Security tool in the Page Properties toolbar. Any of (but only one of) the application privileges that you created can be linked to the page. Figure 14-7 Linking an application privilege to a page Security on output tags can be configured in much the same way. Open the Merit tab of the tag's properties dialog and choose the appropriate privilege from the drop-down list. Figure 14-8 Linking an application privilege to a tag Operation and Configuration Student Workbook • 195 Chapter 14 Exercise 14-2 Application privileges and scope-limited rules You will create an application privilege in this exercise and grant it to a role shared by both accounts created earlier. The privilege will then be used to restrict access to parts of the system. Finally, you will modify Minion's account so that the privilege is only in effect for the Water Tower. Preparation: If the currently logged-in user account is Minion, log out, then logon as yourself. Both the Idea Studio and the Tag Browser should be closed. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. Click your user name to open the Options dialog. Click, Options. Right-click anywhere on the list of privileges to open the context menu. Click, Add Application Privilege. A text field will be added at the bottom of the list. Type "Well Operation" in the field, as the name of the new privilege. Click OK. Open the Accounts Dialog Click the green plus sign below the list of roles. Name the new role account, "Equipment Operation". Set the description to "Privileges for control tags". Grant the privilege, Well Operation to this role, then click Apply. Why add the role? Because more privileges might be added to it later. Select your account. Add the Equipment Operation role to your list of privileges and roles. Select the Minion account. Add the Equipment Operation role to the list of privileges and roles. Click in the Rule Scope area, to the right of Equipment Operation Click the Tag Browser button (circled). Figure 14-9 Limiting by rule scope 18. In the Tag Browser, select ElmField. 19. Click, Apply 20. Close the Accounts dialog. The next few steps will apply the privilege to the tags that start and stop the pump. 21. Open the Tag Browser. 22. Expand the tag tree until you can view the child tags of Well1 under ElmField. 23. Open the properties of SetSpeed. 196 • Operation and Configuration Student Workbook 14 The Privilege and Security System 24. Open the Merit tab. 25. Select the Well Operation privilege. 26. Repeat for the tag StartPump and for StopPump. The next step is to redefine the well type and the wellfield type, but you do not have the privilege required Make a habit of granting Manage Tag Types only to do this. The Manage Tag Types privilege is when needed, then denied unless explicitly granted. The earlier exercises did not instruct you to grant this privilege when immediately removing that privilege when done. you were setting up your account because Manage Tag Types should remain denied for everyone until needed. This reduces the chance of accidentally running Redefine Type on a driver or port tag if you are using a hierarchical tag structure. 27. Reopen the security Accounts dialog and select your account. 28. Grant yourself the Manage Tag Types privilege. 29. Click Apply and close the dialog. 30. 31. 32. 33. Reopen the Tag Browser and navigate to ElmField in the tag list. Right-click on Well1 and click, Redefine Type in the menu. Right-click on ElmField and click Redefine Type in the menu. Close the Tag Browser. 34. Reopen the security Accounts dialog and select your account. 35. Remove Manage Tag Types from your list of privileges. 36. Click Apply and close the dialog. This may seem like extra work, but trust your instructor: Accidentally running Redefine Type on a driver or port that has child tags will result in far more extra work than this. 37. Confirm that you are able to start and stop the pumps at both wells. 38. Log out. 39. Logon as Minion. 40. Confirm that you can operate the pumps for the Elm wells, but not for the Ridge well. Windows Account Security As of VTScada release 11.1, you can use Windows Authentication and Active Directory Authorization instead of creating user accounts within VTScada. The linkage between each Windows account and the VTScada privilege set is controlled by roles. Your system administrator must link Windows accounts to VTScada roles via security groups, which will be named after the roles: "VTScada-RoleName". Operation and Configuration Student Workbook • 197 Chapter 14 This means that, before enabling Windows logons, you must activate security, create one Manager account, and configure the roles that will be available to your operators. Once the roles have been created, and privilege sets defined, you can provide the list of group names to your Windows Administrator and then reconfigure VTScada to use Windows Authentication. Note: Certain VTScada features are not compatible with Windows Authentication. You cannot create security groups, and therefore cannot use Realm-Area Filtering. All control over account properties moves to your system administrator. If using the VTScada Internet Server, it is always recommended that you purchase and install an SSL certificate. If you use Windows Authentication, the use of SSL certificates moves from "strongly recommended" to "absolutely mandatory". 198 • Operation and Configuration Student Workbook 15 VTScada on Multiple Workstations 15 VTScada on Multiple Workstations If only one computer is used in an application, then that would be referred to as a "Local Application". While this is sometimes the case, it misses out on many of the more powerful features of VTScada . More commonly, there are several workstations involved in running an application. This is referred to as a "Remote Application". A remote application is one that runs on multiple workstations, sharing and synchronizing data between the computers. Remote applications have a client/server architecture. The process to create a remote application is as follows: A. Create an application. B. Install VTScada on another workstation on your network. C. Add a new application, selecting the Advanced option in the Wizard. D. Select 'Get From Workstation' to copy the application from the first computer to the second. E. Open the Application Configuration dialog (on either computer) and use the Edit Server Lists dialog to add the two computers to the server list. The first computer in the list will be the primary and the second will be the backup. Not every computer running the application needs to be in the list. Those are referred to as client workstations, providing operator access but not taking over if the computers in the server list go off line. F. Repeat from step B. as required. Primary and Backup Servers In its simplest form, server configuration consists of one primary server, one or more backup servers, and optionally, one or more pure clients. A pure client is simply a workstation that is running the application, but which will not take over as a server in the event that the primary is lost. Operation and Configuration Student Workbook • 199 Chapter 15 Figure 15-1 Fail-over from primary to backup The Primary and backup servers are continuously synchronized. If the primary goes offline for any reason, the backup will immediately take over. When the primary is restored to service, the backup will synchronize configuration and data with it, following which the primary will again take over its role. The Client computer can be used for monitoring and control, and it is possible to make configuration changes using it, but communication to the hardware is done by the current server. Read/write requests are handled by the server and configuration updates are first sent to the server, then distributed to the other workstations. Get an Application From a Workstation Given an application running on a remote workstation, if you want to run that application on a backup or client workstation, then the method that is both the best and the easiest is to direct VTScada to get the application from the original workstation. This is done with the Advanced option of the Add New Application wizard. 200 • Operation and Configuration Student Workbook 15 VTScada on Multiple Workstations Figure 15-2 First step of the process In the second step, you must provide the name or IP address of the workstation where the application resides. Given a properly configured network, this list should be populated automatically. VTScada will contact the workstation, and if a copy of VTScada is running, all the applications available in its VAM will be made available for you to select from. Figure 15-3 List of applications on a remote workstation Operation and Configuration Student Workbook • 201 Chapter 15 Choose the application that you want from the list and click Next. There will be a final confirmation screen to click through, then the application will be copied to your workstation. At this stage, you have your own copy. A primary server must be defined before changes made to one will be reflected in the other, and before they will share resources. The method just described is strongly recommended over simply copying the application directory from one computer to another. A variety of useful configuration tasks are performed for you by VTScada when you acquire a remote application. These tasks can be done by you, but it is much easier to let the software do the work. In situations where there is no option but to copy the application via memory stick or other media, create and use a ChangeSet file. Exercise 15-1 Get an Application From Another Workstation Parts of this exercise will be done by the class together. To prepare, please do the following: 1. 2. 3. 4. 5. Stop any currently running VTScada applications. Click on the Add Application Wizard button in the VAM. Select the Advanced option and click Next. Select the Get From Workstation option and click Next. Select the instructor's computer as indicated in class. A list of available applications should load. 6. Select the Well_AJH application and click through to finish the import. The remainder of this exercise will be done as a class exercise with the guidance of the instructor. Topics to be covered include the Remote Configuration manager, creating backup configuration servers and monitoring an application with the Trace Viewer Distributing Services VTScada allows you to distribute tasks between separate servers. You can assign tasks that are CPU-intensive (such as alarm handling) to one server and assign tasks with large amounts of hard disk I/O (such as logging) to another. In larger applications, this sort of load distribution can make a significant difference to overall performance. 202 • Operation and Configuration Student Workbook 15 VTScada on Multiple Workstations Server lists are configured from the Application Configuration dialog. The basic mode of this tool allows you to define a server list where the primary server is the first in the list and handles all parts of the application. Should it fail, everything will fail-over to the next computer in the list. Figure 15-4 A basic server list In the Advanced mode, you can set a server list for each part of VTScada’s operation. Figure 15-5 An advanced server list Depending on the size and complexity of your network, the primary server for one task can be the backup server for another and vice-versa, or you can have a completely separate set of backup servers for each primary. When distributing services in this way, it is recommended that you keep the Default Server List for all those services that need not be individually defined. Services such as Operator Notes, page parameters and the time synchronization manager are seldom parceled out to a custom server list. Operation and Configuration Student Workbook • 203 Chapter 15 Certain services in the list are available for configuration only while the application is running. These are the tag-based services including the I/O drivers and the Historians. All other services can be configured in the list when the application is stopped. Note in the previous figure, the option immediately below each service is "Default for Workstations". You have the ability to set up custom server lists for specific workstations. System Integrators find this feature useful as it allow them to create a server list that applies only to their workstation. They can set their own computer as its own primary server, thus allowing them to run the application in an environment that has no connection to the usual primary server. 204 • Operation and Configuration Student Workbook 16 VTScada and the Internet 16 VTScada and the Internet VTScada is able to function as an internet server, enabling authorized remote workstations to monitor applications. The VTScada Internet Server is commonly referred to as VTS/IS. For a workstation to connect to a VTS/IS, it must be running an ActiveX control supplied by Trihedral, and must also connect with a user name and password to an account that is authorized to view pages via the internet. The ActiveX control can be run by itself using the VTSX.exe program distributed with VTScada, or it may be run from within Internet Explorer. In the latter case, the ActiveX program will be automatically downloaded from the VTScada server the first time you connect. The client computer is referred to as the VIC (VTScada Internet Client). Alternatively, you can use the Mobile Internet Client. On the server side, there is no difference in configuration. On the client side, the differences are: l You must add the word "mobile/" to the address. l You must be connecting with a device or program that supports mobile browser interface. (Any modern phone, and most browsers.) l Rather than seeing the pages as configured in the application, the view is simplified to display alarms, and I/O as entries in a list. If the operator's security privileges permit, they may acknowledge alarms and use the output controls. Security must be enabled in an application, and the Internet Client Access privilege granted before anyone can connect. As a safety measure, the Internet Client Access privilege is not included in any of the pre-configured roles. You must choose to grant it to designated users. Configure a VTScada Internet Server In the VAM, along the bottom toolbar, there is an icon of a globe. Clicking this will open the VTS/IS configuration dialogs. This is where you can configure VTScada to act as an internet server, and where you set the details of how clients can connect. Operation and Configuration Student Workbook • 205 Chapter 16 Security The first step in the configuration process is normally to define security. If all connections will use your local network, or a virtual private network (VPN) that you maintain, then all is well. If clients will connect over the Internet at large, then you must obtain and implement an x.509 certificate. (Commonly referred to as an SSL certificate.) Connection credentials are otherwise transmitted in a form that is easily intercepted and read. Server Setup Having configured your security, the next step is to identify the server. You can use an IP address or a property configured domain name. In general, a resource name is preferred unless you are certain that the server will have a static IP address. Figure 16-1 Adding a server In order for a VIC to connect while on the same computer as the server, the server setup must be recognized as “local”. This will happen automatically if the server name is recognized by a properly configured DNS (Domain Name Server) as belonging to the computer you are working on. In the absence of a DNS or a network administrator who can take care of such things for us, you should do the following before beginning the class exercise. 206 • Operation and Configuration Student Workbook 16 VTScada and the Internet 1. Open the file, HOSTS. This is located in the directory C:\WINDOWS\SYSTEM32\DRIVERS\ETC 2. Add a line for your computer name and its IP address. For example: 192.165.6.2 MyComputerName 3. Save the HOSTS file. The local indicator will not immediately show a check mark. Upon saving the server setup and reopening the dialog, the check mark will be there if VTScada is able to recognize that this computer is the internet server. Realms The final step is to define one or more realm names and link your application to the name. A realm is the name given to the set of configuration parameters that define how the connection is to be made and what application(s) will be available to that connection. There are two reasons why you might define more than one realm for the same application: l You can specify differing display parameters for each realm, by adding RealmDisplaySetup tags to the application. l You can define the maximum number of connections allowed to each realm. If your license allows ten connections, you might want to create one realm for managers that allows only three connections, and another for operators which is not limited. Then, in the event of an emergency, your operators will not find that all available connections are taken by managers. The name for the realm may be anything, but you should use something that describes the application that VIC clients will expect to connect to. A single word is not required, but is recommended as this will form part of a URL. Having created a realm, you must then select at least one application that will be available to this connection. The Add button in the application area of the VTScada Internet Client dialog will give you a selection to choose from. Figure 16-2 Configuration for adding a realm After creating the realm and adding an application to it, you should click the Apply button. Operation and Configuration Student Workbook • 207 Chapter 16 This will build URLs, based on the configuration information that you provided and allow you to test the connection. When testing the VIC URL, Internet Explorer® will open. When testing the MIC URL, your default browser will be used. Figure 16-3 Configured realms, ready for testing Connecting as an Internet Client There are four methods by which a client computer can connect to the server: A. They can connect to the Anywhere URL. This works much like a run-time installation on any workstation, and can be used with most modern browsers and operating systems. (But not all) B. They can connect using a mobile device (MIC - Mobile Internet Client). This display is optimized to save on connection charges, but for user-created pages there is the option of viewing the page as drawn in the application. C. They can use Internet Explorer® to navigate to the server's URL, connecting as a VIC (VTScada Internet Client). 208 • Operation and Configuration Student Workbook 16 VTScada and the Internet An ActiveX component will be installed on first connection. This has the advantage that you are not required to distribute any software to the clients. D. They can install the ActiveX component and use it directly to connect. This has the advantage of not using Internet Explorer®. It is important to note that Internet access is controlled by the security manager. Every user, even those with administrative privileges, must have specifically been granted rights to connect via a VTScada Internet Client before they will be able to log in. Connecting via the Anywhere Client This is a zero-footprint option, meaning that no software or apps need be installed on your device. You simply connect and go. An unavoidable result of that fact is that you cannot do anything that would result in a file being opened on your device, thus no creation of ChangeSets, no export & synchronization of tags and no running of script applications. Connecting via Internet Explorer® To connect to the application, clients will open Internet Explorer® and enter the address for the server. The address follows standard URL formatting. As an example, three online demos are on Trihedral’s website. Clients anywhere in the world can connect to them using the following address: (note: pop-ups must be enabled in your browser). http://www.trihedral.com/trials-and-demos/live-pc-demo Using one of the applications located there as an example, you will find an address such as: http://vts.trihedral.com/waterdemo The portion, “http://vts/trihedral.com/”, is the address of the server and “waterdemo/” is the name of the realm configured on that server. Upon first connecting, the client will attempt to download an ActiveX component. This is an essential tool that must be installed on the remote workstation. Since the VIC relies on an ActiveX component to run, you must use Internet Explorer as your browser. The component will not run on Netscape, Opera or other browsers. Connecting via the ActiveX component. Those who prefer not to use Internet Explorer® can run the VICSetup.exe program that comes with VTScada. This installs the ActiveX component and a framework for it to run within that is not Internet Explorer. The program will be installed as, C:\Program Filesx86\Trihedral\VTSX.exe The installation process gives you an option to create a link to this program on either the desktop or the Start Menu, but don't. A better technique is available. Operation and Configuration Student Workbook • 209 Chapter 16 Run the VTSX.exe program directly from the C:\Program Files\Trihedral folder. The following dialog will appear. Figure 16-4 Advanced mode of the VTSX program Note the Save As… button. After you have configured the connection information, you can save this as a shortcut on your desktop. For all future connections to the same application, you can then simply run the shortcut and not have to fill in the address again. The Server Address must be the full URL of the server, including the "http://" or "https://" portion. If only one realm is configured on the server, there is no need to specify one in the dialog box, otherwise, you must add "/RealmName". If you would like to open a specific page, you can add the page name field after the realm name (and, after another backslash). If that page is parametrized, you can provide values for the parameters as a comma-separated list of Name=Value pairs following a question mark. Using the Connection VIC users can monitor and operate the application exactly as if they were at a client workstation. They can also perform a few basic application development tasks (if authorized), but are restricted from such configuration operations as drawing tags on the screen or modifying page structure. Application development on a VIC is limited to: l Adding new tags l Copying existing tags l Modifying the properties of a tag l Deleting a tag l Modifying dialer options and pronunciation, and l Working with security features. 210 • Operation and Configuration Student Workbook 16 VTScada and the Internet Security Relying on just a user name and password for security over the internet is to have no security at all. A hacker who is able to intercept communications as they route through the internet between the client and the server could copy this information and easily decipher it. To prevent this, you must either: l Use a virtual private network (VPN) for all communications l Purchase and configure an SSL certificate (available from VeriSign and other providers). VTScada makes it (relatively) easy to obtain an SSL certificate. Using the third tab of the VTScada Internet Client/Server Setup dialog, you can fill in the blanks to generate a request that can then be sent to an organization such as VeriSign. If successful, the request will be placed on your Windows™ clipboard. Full instructions are provided in the VTScada Help Files. Monitoring Connections You can monitor connections to your internet server using either the Internet Client Monitor application, or the Internet Client Monitor page, included with every application. The two options are identical with one exception: The application version allows you to monitor connections to all realms on your server, while the page provides monitoring only of the application it is located within. The advantage of using the client monitor page within an application is that it is therefore available to any user granted the Internet Client Tools Access privilege. You can therefore use this to monitor connections from home. (If using this feature from home, be careful not to disable new connections and then close your own. You would then need to go to the office in order to create a new connection) Figure 16-5 A portion of the Internet Client Monitor application. As shown, a wide range of information is available for every connection. The available controls allow you to: Operation and Configuration Student Workbook • 211 Chapter 16 l l l l Terminate connections. Block all new connections. Send a message to one or all connections. Enable logging of connections. Connect Using the Mobile Client Having completed the configuration described in the preceding chapters, it is now easy to connect to your application using a mobile device. All that is required is to add the word, "mobile/ " to the URL of the connection. If you have configured a server and a realm, and you have a browser that supports mobile connections, you can connect now. Sample images from a mobile client are provided in the following figures. Note that you may click the screen icon to switch from the simplified view (very bandwidth friendly for mobile devices with an expensive data plan) to a full view of each page. Figure 16-6 Initial page when connecting using the mobile browser 212 • Operation and Configuration Student Workbook 16 VTScada and the Internet Figure 16-7 Alarm page Figure 16-8 I/O tags and the trend display Operation and Configuration Student Workbook • 213 17 Version Control 17 Version Control As you develop your applications, every change is recorded to a distributed version control system. "Distributed" means that the complete history of changes is shared with all the workstations running the application. Figure 17-1 Version control log detail The version numbering system combines the name of the workstation (where change was made) with a counter showing the version number. The letter "D" means that the change was "Deployed". The alternative is a local change "L", meaning that the change is in effect only on the indicated workstation. While local changes are in effect only on one workstation, the version log is distributed to all workstations that the application is active on. Thus, an authorized operator at any remote workstation could choose to view the details of a change that was local to another workstation. Automatic versus Manual Version Deployment By default, all version changes are automatically deployed. This is controlled in the "Other" tab of the Edit Properties page of the Application Configuration dialog. Operation and Configuration Student Workbook • 214 Chapter 17 If you switch off the Automatically Deploy option, then you must choose when to Deploy your changes, using the Deploy menu item in the Application Configuration dialog. All local changes will be included when deploying. You can use the Revert Changes tool only when there are local changes to revert. That is, when the Automatically Deploy option is not selected. The revert changes command will discard all local changes, returning your system to the last Deployed version. Reviewing Version Changes A right-click on any entry in the Version Log will open the following menu, which allows you to view details of each change, switch to an earlier (or later) version, and merge or reverse changes. Figure 17-2 Version details menu If you choose the option, Show Version Changes, a complete record of how that version differs from the previous will be shown at a source code level. In this change, the Questionable property of the tag, Percentage Full, was changed to 0 by Andrew on January 7th. The menu at the left of the changes dialog indicates which part of the application changed – source files, tags, images, properties, etc. Within each category, only those files that changed from the previous version will be shown. 215 • Operation and Configuration Student Workbook 17 Version Control Figure 17-3 The menu of the Show Changes dialog. Selecting any given file will open a display showing exactly what changed. Previous values (if any) are shown with a yellow highlight. The new value is shown with a green highlight. Lines that were deleted from the previous version would be shown in red. In this way, the entire development history of the application can be reviewed. Restore Versions At any time, you can restore the system to an earlier version. There are several options for this operation, as shown in the earlier figure, Version details menu. Switch to This Version. The system is restored to the state it was in at that version number. Switching to an earlier version does not erase the work done in intervening versions. Rather, a new version is added, which is identical to the version you chose to switch to. Since the history of the intervening versions still exists, you could then switch back to an intermediate version if necessary. You can also "cherry pick" changes from those intermediate versions to merge into the current one. Note that security configuration counts as a development step. If a switch from one version to another includes changes made to the system security, you will be prompted for whether you wish security changes to be included or excluded. Reverse Version Changes You can select one version and undo just the changes that made it different from the preceding version. Use this option with care – later changes often depend on earlier changes. For example, if the difference from one version to the next is the creation of a page, reversing that change at a later time will affect version changes that included objects drawn on the page. Merge Version Changes Operation and Configuration Student Workbook • 216 Chapter 17 After restoring an earlier version, you may decide that certain intervening versions included changes that you do not want to lose. You may merge those changes into the current version using this option. Reverse Version Range The range begins with the currently selected version number. You will be prompted to select another version number to end the range. You can then select changes to reverse from all those made in all the versions within the selected range. Note that the same warnings apply as stated in Reverse Version Changes. Merge Version Range After restoring an earlier version, you may decide that certain intervening versions included changes that you do not want to lose. You can merge changes from several intervening versions by selecting a range. The range begins with the currently selected version number. You will be prompted to select another version number to end the range. You can then select changes to merge from all those made in all the versions within the selected range. In every case, your action will result in the creation of a new version – which itself can be reversed or switched away from. Import File Changes For the purposes of the distributed version control system, there are three parts to an application. The repository. This is the version control history, including the version number and dates of the files that make up the current version. Any attempt to modify these files will at best be ignored, but will most likely destroy the application. The working copy. These are the files containing the current version of the application. Any change made to one of these files will be immediately detected by the version control system since the file will then differ from the information about it stored in the repository. An attempt to modify these files will be ignored, but may destroy the application. The user copy. A set of files, continuously updated by the version control system, that contain the source code for the application in human-readable format. Note: You can configure your applications to not include these human-readable files. 217 • Operation and Configuration Student Workbook 17 Version Control Systems Integrators who do not want customers to have access to their code can choose to exclude source code files from what they distribute. As a developer, you can use a text editor to modify any of the files that make up the user copy of your application. This can be a convenient way to edit pages, reconfigure user drawing methods, alter and add application properties, etc. Since it would circumvent security to allow any one to modify the application by editing files outside of the control of the VTScada security system, changes to the user files will only take effect after those files are imported into the application. Naturally, only authorized users may import files. It is expected that the authorized user will review the changes that have been made and take responsibility for those changes. In any case, the VTScada version control system will record who imported file edits, thereby identifying who is responsible for the import, if not the actual changes. ChangeSets. An Application in a File A ChangeSet is a file containing the version history of an application, up to the point at which the ChangeSet was created. The name, "ChangeSet" was chosen deliberately. It is a file containing the set of changes (version history) that went into creating the application. This is not the same thing as a compressed copy of an application. Common uses of ChangeSet files are to distribute an application, to create a clone that can be used for ChangeSet files are not testing and experimentation, and if there is no better intended to be used a substitution for the Applicoption to create a backup of the configuration. ation Version Control An example may help clear up one of the most com- System, and they are dangerous to use as mon misunderstandings of what a ChangeSet is backups in systems that and how it can be used. Suppose that you create a ChangeSet of your applic- run on more than one server. ation, as it exists right now. The version number stands at D120. You then spend a week modifying the application. The version number increases to D180. At this point, you decide that the work you have done over the past week has been a waste of time. You use the Apply ChangeSet command to apply the changes stored in the file, to the current application. What will happen is... nothing. Operation and Configuration Student Workbook • 218 Chapter 17 The Application Version Control System compares the contents of the ChangeSet file to the version history of the application and finds that there is nothing in the file that didn't already exist in the application for the past week. There is no work to be done. If there is no logged data to worry about, you might decide to delete the application from the VAM, removing its entire folder in the process. If you are running a stand-alone application, this will be effective. You can then create a new application, using the ChangeSet and you will find yourself back at version D120. However, if this is a remote application, other servers on the network will treat this workstation as if it had simply been offline for a week, and will immediately apply the changes from versions D121 through to D180, thus bringing the workstation back up to date with the rest of the network. Depending on the situation, you may also succeed in corrupting the application on all workstations. In summary, if your intention is to restore an application to an earlier version, use the Application Version Control System, not a ChangeSet file. If you want to distribute an application, create a clone to experiment on, or create a backup of a stand-alone system, then a ChangeSet is an ideal tool. Create a Full ChangeSet To create a full ChangeSet file: A. Open the Application Configuration dialog for the selected application. B. Click the menu option, Create ChangeSet file. C. Click Create. D. Select the folder and file name for the file. The file extension will match the type of ChangeSet being created. (.ChangeSet, or .Snapshot) To create an application from a ChangeSet there are two methods: Method 1: A. Double-click on the ChangeSet file. Method 2: A. In the VAM, click on Add Application Wizard B. Select the advanced option and click Next. C. Select the option, Get From ChangeSet and click Next. D. Find and open the ChangeSet file. E. If the application already exists on this computer, you will be prompted to create the new application as a clone. A clone is simply an exact copy (as of the time the ChangeSet file was created) with a different name. The version history that makes up the full ChangeSet will not, by default, be visible in the new application's version log. To view it, set the Settings.Dynamic 219 • Operation and Configuration Student Workbook 17 Version Control property, RepositoryShowCloneHistory to 1. Note that this property is part of the "Layer" section, not the "System" section. The version history will appear under the original workstation's record, not as one of the current workstation's records. Advanced ChangeSet Types There are other types of ChangeSet beyond the Full ChangeSet. These are as follows: Snapshot Copy A ChangeSet that does not include version history. Useful for Systems Integrators who are sending an application, or an update of an application, to a client. The extension will be ".Snapshot". Run-Only Snapshot Copy Similar to the Snapshot Copy, but none of the .SRC files will be included. Template ChangeSet Best ignored. Maintain the File Manifest The File Manifest exists to give you control over which files are considered to be part of an application. Files that are not selected will not be deployed to other workstations, and will not be included in .ChangeSet files. It is a handy tool for those developers who have a habit of storing notes and experimental code in their application folder as they work. Figure 17-4 Detail from the File Manifest Red check boxes indicate mandatory files that cannot be excluded from the application. Green indicates files that could be removed, although many of these shouldn't be. Unchecked gray boxes indicate files that are present in the application folder, but are not considered to be part of the application. Operation and Configuration Student Workbook • 220 18 Sites and Site Maps 18 Sites and Site Maps A "site" is a tag that is classified as a "container", and that usually, but not always, has latitude and longitude properties, allowing it to be located on a map. Context tags are classified as containers, and therefore all your user-defined types will be as well. Polling Drivers, Data Flow RTU drivers, and all of the Station tags are also containers. You may or may not have added latitude and longitude properties to your context tags, but all the native VTScada types in that list will have latitude and longitude and therefore can be mapped. A Site Map can show pins identifying the location of any site that has latitude and longitude properties. The pin can change color according to the state of the child tags. For example, if one of the I/O tags at the site is in an alarm state, the pin will blink red. The Sites List page (referred to as just plain "Sites" in the menu), shows both a map and a navigable list of sites. The list is navigable since sites may contain other sites. When you navigate to a specific site in the list you will see the values and states of the I/O child tags of that site. The Sites List page has the option of displaying a map as well as the list of sites. Maps The tiles that make up the map are downloaded each time that you change the view. Naturally, this requires an open connection to the Internet. If your workstation does not have an Internet connection, then you can still use Site Maps. All that is required is that you download the tiles using a computer that does have an Internet connection, then copy the storage folder to your workstation. Map tiles are stored sub-folders of C:\VTScada\Data\SlippyMapTiles\. You may find a reason to restrict the opportunity for map browsing. If so, you can download tiles as described, then change a Setup.INI property as follows: SlippyMapRemoteTileSource1 = file://C:\VTS\Data\SlippyMapTiles\MapType1 VTScada must be restarted for any change to Setup.INI to take effect. By changing the source for map times to a folder on your workstation, you prevent the downloading of any new tiles. Be sure that while you have an active Internet Operation and Configuration Student Workbook • 221 Chapter 18 connection, you download all the tiles that will be required by panning the map over each area of interest, and at each of the sixteen possible zoom factors. Exercise 18-1 View a Sites Page 1. Using the list menu, open the Remote Sites group, then click the entry, Sites. You will see a list of three sites: Figure 18-1 List of sites 2. Click the arrow for any site to open a display of the I/O within that tag. User-defined tags within a site such as the SupplyWell, can be clicked to open a Site Details page, showing the I/O nested within. 3. Navigate back to the initial list of three sites, and click to expand ElmField. Note that below the map, a message informs you that the site's location has not yet been set, and that there is a button to update the site's location. 4. Click the Update Site Location button. 5. Navigate to the town of Wolfville, within the province of Nova Scotia, Canada. 6. Click near Elm Avenue. A pin is placed on the map. Note that there is an animated bubble to indicate which pin relates to the current site, even though only one site is visible. 7. Check the option, Show All Sites. A pin appears for Tufts Stn. It does not have an animated bubble. 8. Click on the pin for the Elm Avenue well. A Site Details page opens, automatically populated with all the I/O within that site. Note that the controls for starting and stopping pumps can be used here. This display is very similar to that of the mobile browser interface. 9. Close the Site Details page and repeat by clicking on the pin for Tufts. 10. Finish by ensuring that RidgeWell also has a pin on the map, located near Ridge Rd. (Just south of Highway 101 on the Wolfville Ridge.) 222 • Operation and Configuration Student Workbook 18 Sites and Site Maps Figure 18-2 Wolfville Operation and Configuration Student Workbook • 223 19 Bonus Topics 19 Bonus Topics The following chapters contain information that is not officially part of the course, but which may be covered subject to student interest and available time. More Tags to Know In addition to the types covered during this course, the following tags are well worth knowing. These are listed with only brief instructions. If time permits, the instructor will describe each more fully. If there isn't time, you are encouraged to review the notes in the VTScada Help Guide for each type. Selector Switch. Selector Switch tags provide the means to create multi-position switches that can be used to create on-off toggles, mode selectors, Hand-Off-Auto (H-O-A) switches, etc. A selector switch can accept two types of feedback: Equipment feedback indicates the current status or state of the equipment. Switch Position feedback (an optional parameter that should be used when a second device is also controlling the equipment) drives the position of the Selector Switch tag. Both feed backs are assumed to come from the PLC operating the equipment. Selector switches can be drawn with objects that look and act like switches. The Toggle Switch and the Selector Switch are two prominent examples. A demo application has been included in the Students folder, which you may install and examine for further information. SelSwitchDemo.ChangeSet. Multiple Write The MultiWrite tag allows you to configure a set of values that will be written to a list of registers when triggered. This can be used to place a plant into a state of operation or to quickly shut a plant down in one step. Up to 100 output tags can be controlled by a single MultiWrite tag, with a defined value set to be written to each. The trigger for the write may be any of a manual button press, a tag that changes state from false to true, or an expression that evaluates to true. Operation and Configuration Student Workbook • 224 Chapter 19 Each value to be written will be checked to ensure that it is valid before it is written. Invalid writes will be ignored. All valid values will be written, regardless of whether or not they have changed since the last write. Should 100 tags not be enough, it is possible for one MultiWrite tag to trigger another upon finishing its write sequence. An event will be recorded in the alarm history whenever a MultiWrite is triggered The MultiWrite is drawn as a button that operators may click to initiate the write process. DriverMUX Driver multiplexer (DriverMUX) tags allow you to set up redundant lines of communication between I/O tags and equipment. Possible uses for this tag include: l Establishing a fail-over communications route in the event that one system is lost. In its basic configuration, the DriverMUX tag will direct all communications to the primary driver. In the event that the connection to the primary driver is lost, communication will switch to the secondary driver. l Upgrading to new communications equipment/drivers with zero downtime. In this scenario, you would install the new equipment and drivers while the existing system remains in place. The new drivers would be connected to the DriverMUX tag instead of directly to your I/O devices. When you are ready to test the new system, you can direct the DriverMUX to switch to the new, secondary system. If there are problems, then communication will immediately and automatically switch back to the primary system with no loss of data. l Load sharing between two lines of communication. The DriverMUX tag can be directed to use both communication drivers in either an alternating or an as-ready basis. While one driver is busy with a large packet, the other can continue to send messages. l To provide OPC Server redundancy. A DriverMUX tag may be configured with OPC Client Drivers as subordinates. This will allow I/O tags to exchange data with any number of OPC Servers. Deadband Control Deadband Control tags monitor the value of any tag with a numeric value and compare the monitored tag's value to a low set point and a high set point. If the value of the monitored tag falls below the low set point, the value of the Deadband Control tag is set to 1. If the value of the monitored tag rises above the high set point, the value of the Deadband Control tag is set to 0. A check box allows this action to be reversed. 225 • Operation and Configuration Student Workbook 19 Bonus Topics Rate of Change Rate of Change tags are used to display how quickly another tag’s value is changing. They can be used to watch for system problems such as leaks and blockages. The Rate of Change tag calculates the first derivative of another tag’s value. In general terms, this is defined as the change in value divided by the change in time. A steady flow has a rate of change of zero. Note: The source tag's value must be logged in order for the Rate of Change tag to work properly. The rate of change will be positive if the source is increasing in value, and negative if the source tag’s value is decreasing. The tag can be configured to report the absolute value instead, thus showing a positive value for any rate of change. For example, the water level in a large holding tank would normally change slowly unless it started to leak. A tank feeding a process would be expected to have a level decreasing at a minimum rate unless the outlet became blocked. A Rate of Change tag can be configured for either situation in order to detect departures from an expected rate of change. Alarms built into the tag can be triggered when the rate is too fast or too slow. Note that in remote applications, the Rate of Change tag information is distributed from the server to workstations on a regular interval (default: 60 seconds) or when the value changes by a given percentage (default: 5%). These values are controlled by application properties. Workstation Workstation status driver tags can be associated with one or more Analog Input tags to access data that the driver obtains from the Windows Management Instrumentation (an API in the Windows operating system that enables devices and systems in a network to be managed and controlled). Windows Vista requires additional security configuration before you will be able to access performance counter information (i.e. workstation status information). By default, an application will run using the same privileges as the person who started it. You can add the user account that the application runs as to the Performance Log Users group and then assign that group the right to "Log on as a Batch Job User". A workstation status driver tag monitors a workstation and allows associated Analog Input tags to report and display data about the workstation. In order to access information about the workstation being monitored by a workstation status driver tag, follow these steps: l Create a workstation status driver tag. Set the Workstation Name drop-down list to the name of the workstation you wish to monitor. (You can create one workstation status driver tag for each workstation you wish to monitor.) Operation and Configuration Student Workbook • 226 Chapter 19 l l l Create one Analog Input tag for each piece of data you wish to obtain from the workstation being monitored. You can create multiple Analog Input tags and associate them with a single workstation status driver tag. Use the I/O Device field for each Analog Input tag to associate the analog input with the workstation status driver tag. Set the Address field of each Analog Input tag to one of the following text strings: Address Field Value Information Returned from Workstation AverageCPU Running average of total system CPU BatteryLevel The percentage of the battery level remaining BatteryLifetime An estimation of the remaining battery life, in seconds 0 == on battery PowerStatus 1 == on A/C 2 == on back-up power BatteryState:High Set to 1 if the battery's power state is high BatteryState:Low Set to 1 if the battery's power state is low BatteryState:Critical Set to 1 if the battery's power state is critical BatteryState:Charging Set to 1 if the battery is charging BatteryState:NoBattery Set to 1 if no battery is found Free disk spaces (bytes) for a logical disk (anything that FreeDiskSpace is addressable with a drive letter) GDIObjects GDI objects used by VTScada Handles Handles in use by VTScada I/O bytes per second, including all disk reads/writes, as IOBPS well as network traffic Memory Real memory used by VTScada (in bytes) SystemCPU System CPU – all processes Threads Threads being used by VTScada Virtual Memory Virtual memory used by VTScada (in bytes) VTSCPU CPU used by VTScada only You must append the letter for the drive to be monitored to FreeDiskSpace (e.g. FreeDiskSpaceC for drive C, or FreeDiskSpaceD for drive D. Station tags (Multitrode®, MPE®) A single Station tag includes all of the I/O required to monitor and operate a pumping station. Configuration is done in part through the standard set of VTS tag configuration panels and (in the case of the Multitrode station) partly through a Multitrode-supplied XML file that describes your equipment. 227 • Operation and Configuration Student Workbook 19 Bonus Topics Station pages are available (and built in) for each type of station tag. These provide complete monitoring and control of the station's I/O and alarms and are pre-built, ready for you to use. Operation and Configuration Student Workbook • 228 H HDV Historical Data Viewer Glossary HSL Hue Saturation Luminosity. A system for defining a color. A Ack L Short for Acknowledge Layer Anchor object Any VTScada application, used as the foundation for another application. The most recently select object in a selection set. Alignment and property matching tools will cause all other obejcts to match the anchor object. M MIC Application page Mobile Internet Connection A page that you can edit. C O Communication Chain OEM A set of tags configuring a port, a driver, and I/O addresses on remote equipment. Original Equipment Manufacturer P D Page DNS A display screen Domain Name Server PLC Programmable Logic Controller - 229 - Glossary: RGB – Widget R T RGB Tag Red Green Blue. A system for defining a color The representation of a physical object. (Among other things) RTU TAPI Remote Telemetry Unit Telephony Application Programming Interface S TSP SMS TAPI Service Provider Short Message Service Snapshot Expression U Code, within a tag's configuration, evaluated only on startup. URL Uniform Resource Locator (Internet address) Start Condition A snapshot expression in a tag's name field. Must be True or False. Controls the starting of the tag. V VIC VTScada Internet Client VPN Sync Virtual Private Network Importing a previously exported tag database. VTS/IS VTScada Internet Server System page A built-in page that you cannot edit. W Widget Animation linked to a tag. - 230 - Expressions 89 F Fill tool 40 Index G group 35 A H Account 190 Ack 143 ActiveX 205 Add Application Wizard 21 Administrative Settings dialog 194 alarm system 141 Alignment lines 31 AnalogScaledMaxDefault 80 AnalogScaledMinDefault 80 AnalogUnscaledMaxDefault 80 AnalogUnscaledMinDefault 80 anchor object 34 Application Privileges 193 Home button 45 HOSTS 207 I Idea Studio 25 Images 43 Import File Changes 217 Imported Images 46 installation 4 Internet Client Monitor 211 L layers 2 Lexicon 165 Library dialog 48 license 3 Lighting overlays 46 Link to tag 83 Local Application 199 local changes 214 Logged Off 191 Logger tag 171 B blue distance arrow 31 C Color Fill 84 D Data source 43 Deadband Control 225 Deploy 215 distributed version control 214 Draw HDV 180 DriverMUX 225 drivers 2 M Manage Tag Types 197 Map 221 MPE 227 Multitrode 227 MultiWrite 224 E N exclamation mark 89 navigation bar 24 - 231 - Index: Nudge – Zoom Controls Nudge 32 Numeric Value 86 Setup.INI 221 Site Details page 222 Site Draw 87 Site Legend 87 Site Map 221 SlippyMapTiles 221 Snap 32 SSL certificate 211 Switch 216 System Historian 170 SystemStyle 107 O OEM 2 opacity 136 Outline 41 P Page Menu 63 Palettes 26 Parameter Expression 93 parametrized page 120 pinned page 24 Properties Dialog 41 T Tag Icon Indicator 125 Tags 68 TAPI 165 temporary group 35 transactions 142 trigger 147 Trip Alarm 150 TSP 165 Type 113 Q question mark 88 Quick Access Toolbar 26 Quick Add 22 R U Rate of Change 226 RealmDisplaySetup 207 Realms 207 rearm 150 red distance arrow 32 Remote Application 199 Report tag 188 Reports page 185 repository 217 Revert 215 Ribbons 26 Roles 191 Rules 193 user copy 217 V version numbering 214 VIC 205 VPN 206 VTS/IS 205 VTSX.exe 205 W WEB 1 Widgets 47 widgets palette 48 working copy 217 Workstation status driver 226 S scale 80 Security 189 Select Color dialog 41 Selector Switch 224 Set Value buttons 138 Z Zoom Controls 26 - 232 - Notes Notes Operation and Configuration Student Workbook • 233 Chapter 22 234 • Operation and Configuration Student Workbook Notes Operation and Configuration Student Workbook • 235