Remote Automation Solutions Manual: Bristol OpenEnterprise for Beginner's Manual Manuals & Guides

Training Manual
s
D5091 June, 2007
ristol OpenEnterprise
OpenEnterprise for Beginners
Remote Automa tion Solution
www.EmersonProcess.com/Remote
Welcome to OpenEnterprise for Beginners
This manual is the first real exposure most readers will have to the OpenEnterprise product, and we recognize that first impressions count. We have tried hard to provide a basic introduction, suitable for anyone with basic knowledge of SCADA or process control. However, OpenEnterprise is a powerful, flexible product, and as a result there’s a lot to learn – and this manual is just the beginning.
As OpenEnterprise has expanded into newer and wider markets more of our customers have become interested in a ‘do it yourself’ approach to setting up their systems. Because of this, the need arose for a more user-friendly manual that explains how to set up the basic features of OpenEnterprise, with special emphasis on examples. The result is this manual - OpenEnterprise for Beginners. We recommend you work though the manual, and set up each of the examples. On the OpenEnterprise CD we have included some example loads (programs) for Bristol RTUs. If you don’t have your own RTU loads, you can use these.
Initially, most of the SCADA systems we sold were configured primarily by our own in-house system engineers, as well as experienced third-party system integrators with a high level of technical expertise. For these customers we developed a very detailed set of reference manuals, which can be found on the OpenEnterprise CD. After you have completed the examples in this manual, we recommend you use these reference guides as you design and implement your system. You will also find that the product itself includes a comprehensive online help system – we recommend you use it regularly.
Thank you for buying OpenEnterprise. All of us at Emerson who have worked on this product are proud of it, and would like to hear any feedback you may have, good or bad. We try hard to incorporate improvements into each new release, and many of those improvements and new features arise out of suggestions from our existing customers. Please email or call me with any suggestions or comments you may have, either on this manual, or on the product.
Steve Hill SCADA Program Manager Emerson Process Management Tel: +1 (860) 945-2501 Email: stephen.hill@emersonprocess.com
Contacting the OpenEnterprise Support Team
Telephone support for OpenEnterprise users is available Monday through Friday from 8AM to 4:30PM (Eastern U.S.) excluding holidays and scheduled factory shutdowns at the following number: 1-860-945-3865
You can e-mail the OpenEnterprise Support Team at: openenterprise@emersonprocess.com
D5091 - OpenEnterprise (OE) for Beginners
Table of Contents
Why OE for Beginners?...................................................................................................................i
Contacting the OpenEnterprise Support Group...............................................................................i
Chapter 1 - Introduction - What is OpenEnterprise (OE)?...................................................1-1
How does the Database work?...............................................................................................1-3
Learning the Real Database ‘Lingo’ (Attributes, Records, and Objects)........................1-3
What sorts of things are saved in the OE database? ........................................................1-5
How does data get from the Controller Network into the OE database?...............................1-6
Alarm Data Collection.....................................................................................................1-7
Poll List Collection..........................................................................................................1-7
Report by Exception (RBE).............................................................................................1-8
Array and Archive Collection via Open BSI Converter..................................................1-8
How do we view the contents of the OE Database?..............................................................1-9
Where can I get more information?.......................................................................................1-9
Chapter 2- Configuring Controllers to Work with OE..........................................................2-1
Preparing Your Control Strategy Files to work with OE.......................................................2-1
Identifying Which Signals in the Control Strategy File Should be Collected by OE......2-2
Preparing an ACCOL Load to work with OE........................................................................2-4
Specifying an Alarm Signal in ACCOL Workbench.......................................................2-4
Specifying a Global Signal in ACCOL Workbench........................................................2-5
Specifying an RBE Signal in an ACCOL Load...............................................................2-6
Saving, Compiling and Downloading the ACCOL Load................................................2-6
Preparing a ControlWave Project to work with OE...............................................................2-7
Specifying an Alarm Variable in a ControlWave Project................................................2-7
Specifying a Global Variable in a ControlWave Project.................................................2-8
Making Sure You Have the Correct Resource Settings in ControlWave Designer.........2-9
Compiling and Downloading the ControlWave Project..................................................2-9
Chapter 3- Building the OpenEnterprise Database................................................................3-1
Things you have to do before you start building the OE Database… ...................................3-1
Your hardware must have been set up.............................................................................3-1
Backup Your OpenEnterprise Server (UPGRADES / RE-BUILDS ONLY)..................3-1
Install Open BSI and configure the Open BSI Network..................................................3-2
Verify that communications are possible to RTUs via DataView...................................3-2
Install OpenEnterprise Server software on the Server Computer..........................................3-2
How is the database built? .....................................................................................................3-3
Starting the Database Project Builder..............................................................................3-3
Using Database Project Builder.......................................................................................3-4
Specifying File Locations................................................................................................3-4
i
Allowing ‘Open’ Access to Database Tables During System Configuration..................3-5
Including the Default Security Groups............................................................................3-6
During Configuration, You are the SYSTEM User.........................................................3-7
Verifying that the Time Zone is Correct..........................................................................3-8
Choosing How You Will Communicate with the Controllers.........................................3-9
Confirming Your Choices and Building the Database Tables.......................................3-10
Adding Signal/Variable/Tag Names to the Database Tables.........................................3-11
Creating Poll Lists for Data Collection..........................................................................3-12
Estimating the Maximum Database Size.......................................................................3-12
Configuring Historical Data Collection.........................................................................3-13
Configuring an OpenEnterprise Session........................................................................3-16
Completing the Database Project Building Process.......................................................3-17
Chapter 4 – Using Database Explorer to Find Data...............................................................4-1
What is the Database Explorer?.............................................................................................4-1
Before You Begin ..................................................................................................................4-2
Starting Database Explorer....................................................................................................4-2
Identifying the Name and Location of Your Database..........................................................4-2
Using the Add Database to Hierarchy Dialog Box................................................................4-3
Establishing a Connection with the Database........................................................................4-4
Viewing the Overall Structure of the Database .....................................................................4-5
Viewing Databases, Tables, Views, and Attributes...............................................................4-6
Database Tree Control Window.............................................................................................4-7
Database Detail Window / Table Detail Window................................................................4-8
Attribute Detail Window........................................................................................................4-9
Searching the Database for A Particular Table....................................................................4-11
Searching the Database for A Particular Attribute (Column Name)...................................4-11
Searching the Database for A Primary Key Attribute .........................................................4-12
Searching the Database for ‘Owned’ Tables .......................................................................4-12
Viewing the Contents of the Database Using the Database Object Viewer........................4-13
Starting the Database Object Viewer.............................................................................4-13
Viewing Data By Constructing Simple Queries............................................................4-13
Identifying the Table You Want to Query...............................................................4-14
Specifying the Attributes You Want to Examine ...................................................4-15
Specifying Conditions to Limit the Amount of Data Returned By Your Query .....4-16
Run the Query and View the Results.......................................................................4-19
Applying Filtering Criteria to Your Query..............................................................4-21
Saving the Criteria Used For Your Query in A DBX File.......................................4-23
Opening An Existing DBX File...........................................................................................4-23
Adding ‘Live’ Data to Third-Party Applications by Dragging DDE Tags....................4-24
Example - Adding An Analog Value To A Spreadsheet Using DDE ...........................4-25
Chapter 5 – Building Displays to ‘Mimic’ Your Process .......................................................5-1
What is the OpenEnterprise Graphics Software?...................................................................5-1
Before You Begin ..................................................................................................................5-3
Starting the OE Graphics package.........................................................................................5-4
Opening a Display..................................................................................................................5-4
A Quick Look at the Drawing Tools......................................................................................5-6
Choosing Colors...............................................................................................................5-6
Drawing A Straight Line..................................................................................................5-7
ii
Selecting Objects on Displays .........................................................................................5-7
Drawing A Box................................................................................................................5-8
Drawing An Ellipse or A Circle.......................................................................................5-9
Saving A Display...................................................................................................................5-9
Switching Between Configure Mode and Runtime Mode...................................................5-10
Examples of Creating Various Display Objects ..................................................................5-11
Example #1 - Creating A Text Label on A Display.......................................................5-12
Example #2 - Displaying A Numerical Value From the Database (Process Point).......5-14
Example #3 - Displaying the changing level of liquid in a tank....................................5-18
Example #4 - Creating A Sliding Setpoint Control With Which the Operator Can Update
a Value in the Database & RTU ..............................................................................5-25
Example #5 – Displaying A Message Based on A Logical Value in the Database.......5-31
Example #6 – Changing the Color of A Pump Based on a Logical Value....................5-34
Example #7 - Creating a System Overview Display .....................................................5-38
What Now? ..........................................................................................................................5-41
Saving Your Own Symbols in the Symbol Library, and Updating Objects through Share
Keywords.......................................................................................................................5-42
Using Aliasing to allow you to re-use the Same Objects With Different Data From the ....
Database.........................................................................................................................5-45
Tips For Planning Your Human-Machine Interface (HMI) System..............................5-52
Chapter 6 – Working with Historical Data.............................................................................6-1
What is Historical Data?........................................................................................................6-1
What is Historical Data Used For? ........................................................................................6-1
How Does the Historian Work?.............................................................................................6-2
Historical Data is Stored Temporarily in Log Files.........................................................6-2
Historical Data is Stored Permanently in Archive Files..................................................6-3
How is the Historian Configured? .........................................................................................6-4
Defining a Logging Group...............................................................................................6-4
Choosing the Source Table:.............................................................................................6-5
Figuring out how often you want to log the data.............................................................6-5
Assigning individual records to the logging group (optional).........................................6-6
Choosing Columns to be logged and calculations to be performed (if any)....................6-6
Choosing Columns For Logging................................................................................6-6
Decide what calculations (if any) you want to perform on the logged data..............6-7
Specifying characteristics of the log file and archive files..............................................6-9
Specifying the Source of Data for a Log File................................................................6-10
Determining the Buffer Size and Number of Buffers to be stored in the Log File........6-10
Deciding When to Generate An Archive File................................................................6-11
Example #1 – Logging 1-minute data for a few signals......................................................6-12
Example #2 – Logging Status Values by Exception............................................................6-32
Example #3 - Logging Hourly and Daily Flow Calculations, and using Timed Archives..6-39
Example #4 – Using the Archive File Tool.........................................................................6-51
iii
Chapter 7 – Trending Your Data.............................................................................................7-1
What are Trends?...................................................................................................................7-1
Example 1 – Trending a Real-time data value.......................................................................7-4
Example 2 – Making Some Basic Modifications to the Trend You Just Made...................7-11
Example 3 – Trending a Historical Data Value...................................................................7-22
Example 4 – Having a Trace Change Color when data is questionable..............................7-30
Example 5 - Working with Multiple Pens in the Same Trend.............................................7-34
Example 6 – Optimizing your Trend for data or speed .......................................................7-38
Chapter 8 – Using Alarm Viewer to Manage Alarms ............................................................8-1
What are the different types of alarms?.................................................................................8-1
Analog Alarms................................................................................................................. 8-1
Logical Alarms..................................................................................................................8-3
Change of State Alarms................................................................................................... 8-4
Example 1 - Starting the Alarm Viewer and Viewing All Incoming Alarms.........................8-5
Example 2 - Acknowledging Alarms..................................................................................... 8-8
Example 3- Changing the Attributes Displayed in the Alarm Viewer ................................. 8-10
Example 4 - Viewing the Alarm/Event History.....................................................................8-12
Chapter 9 - Using OE Desktop .................................................................................................9-1
What is OE Desktop?.............................................................................................................9-1
Example 1 - Specifying a Display that appears when you start the Desktop ........................9-2
Example 2 - Adding an Alarm View to the Desktop.............................................................9-6
Example 3 - Creating an OE Desktop that Includes Menu Items for Displays ...................9-10
Chapter 10 - Configuring Security for your System.............................................................10-1
Why Establish a Security Policy?........................................................................................10-1
What are Users and Groups?................................................................................................10-1
Creating Users and Groups..................................................................................................10-5
Starting the Security Configuration Tool.............................................................................10-5
Creating Groups.............................................................................................................10-6
Choosing Application Tokens for a User or Group.....................................................10-12
Choosing Token Groups..............................................................................................10-14
Choosing File Tokens, OPC Tokens, and Custom Tokens..........................................10-15
Modifying a Group ............................................................................................................10-15
Creating Users ....................................................................................................................10-16
Modifying a User...............................................................................................................10-17
Creating a user outside of a group .....................................................................................10-18
Assigning a User to an existing Group..............................................................................10-18
Dividing the Database up Into Access areas (OPTIONAL)..............................................10-20
Assigning Objects (Data) To Particular Access areas .......................................................10-22
Allow Users Access to Particular Access areas:................................................................10-23
Configuring Security for Tables and Views ......................................................................10-24
Common Security Tasks for Users....................................................................................10-26
Logging Onto the System ............................................................................................10-26
Logging Off the System...............................................................................................10-26
Changing Your Password ............................................................................................10-26
Common Security Tasks for Administrators ...............................................................10-27
Adding a New User to an existing Group..............................................................10-27
Removing a User....................................................................................................10-28
iv
Disabling a User's Account....................................................................................10-29
Removing the Lock-out of a user...........................................................................10-29
Resetting a User's Password if they forget the one they chose..............................10-30
Other Security Issues ...................................................................................................10-31
Security in ControlWave Controllers.....................................................................10-31
Security in Network 3000-series Controllers.........................................................10-31
Open BSI Security .................................................................................................10-32
Network Infrastructure (UDP and TCP Sockets)...................................................10-32
Windows™ Security..............................................................................................10-32
Virus Protection for Your Workstations................................................................10-32
Firewall Software For Your Networks ..................................................................10-33
Physical Security....................................................................................................10-33
Networked Surveillance of Remote Sites using ControlWave..............................10-33
Maintain Current Backups.....................................................................................10-33
Human Factors.......................................................................................................10-33
Chapter 11 – Creating Reports...............................................................................................11-1
What are Reports?..........................................................................................................11-1
Before You Begin ..........................................................................................................11-1
Step 1. - Create a Report Template................................................................................11-3
Step 2. - Create a Report from the Template in the Previous Step..............................11-14
Step 3. – Test the Report..............................................................................................11-19
Step 4 - Create a Timed Schedule for the Report ......................................................11-20
Step 5. – Choose Who Will Receive the Report (Recipients).....................................11-24
Step 6. – Specify the Format of the Report..................................................................11-28
Appendix A Learning SQL A-1
v
BLANK PAGE
Chapter 1 - Introduction - What is OpenEnterprise?
Chapter 1 - Introduction - What is OpenEnterprise (OE)?
OpenEnterprise, often abbreviated as OE, is Bristol’s primary Supervisory Control and Data Acquisition (SCADA) software package. It is used primarily in the water, waste water and natural gas industries. It also includes an integrated human machine interface HMI to provide data to plant operators, via graphical displays (mimics), trends, alarm summaries, and web pages.
The name OpenEnterprise is derived from two of the principal philosophies behind the product.
It is ‘open’ in that its individual components utilize industry-standard architectures, languages, and protocols (SQL, ODBC, OPC, TCP/IP, DDE, etc.), making it extremely flexible, particularly with respect to communicating with third-party hardware and software products.
The ‘enterprise’ part of the name applies because it is designed to provide data to other parts of your business enterprise.
Client workstations, called OpenEnterprise Workstations are personal computers (PCs) that communicate with the OpenEnterprise
Server.
Too many buzzwords! What is it really?
OpenEnterprise provides a powerful database that has been optimized for process control, plus a rich collection of different software programs that allow you to view, manage, manipulate, and export the data residing in the database.
The OpenEnterprise Database resides on a computer called the OpenEnterprise Server. The OE Database is the central storage location for all real-time data collected from your process control network, and all historical data you are currently using for trends, reports, etc., plus all of the configuration data for the system itself. The OE Server uses Open BSI software, (another Bristol product) which allows communication with a network of Bristol remote process controllers. An OPC Server is also provided for communications with third­party devices.
OE
OpenEnterprise for Beginners
1-1
Chapter 1 - Introduction - What is OpenEnterprise?
(
)
s
OPENENTERPRISE WORKST ATIONS
For operator interaction with system (HMI). Users can view graphical displays, trends, print reports, etc.
OPENENTERPRISE SERVERS
(OE Database resides here, Open BSI software and RDI 3000 for communication with controller network.) OPC Server included for export of data to third-party applications and devices.
ControlWave-series control ler(s) running ControlWave projects
Inputs from field instrumentation
contact closures, flow meters, pressure transmitters, etc.
These workstations run software that allows plant operators, and other users, to view detailed graphical displays that depict current conditions of your plant or process. These displays typically use graphical symbols of things like pumps, valves, tanks, etc. that can change color, move, etc. based on the status of your plant. The workstations can also be configured to display and manage alarm messages, show graphical trends of real­time and historical data, and to print reports. Various levels of security can be configured to limit access to different portions of the database, particular displays, etc. Many other features are available in OpenEnterprise, but these are the most common ones used on nearly all systems.
The OpenEnterprise Server responds to requests for data from the client OpenEnterprise Workstations. When the OE Workstation requests the data, the OE Server looks for the requested data in the OE Database, and then responds by sending back the requested data.
Network 3000 serie controller(s) running ACCOL loads
What do we mean by Client and Server?
The client / server definitions in software mirror those in your daily life. If, for example, you go into a restaurant and sit down to eat, you are the client. You request certain types of food from the waiter / waitress (your server) who then returns with the food you requested. Similarly, an OpenEnterprise Workstation includes client software, which requests data from the OE Server, which responds to the requests, and serves up the data, at the OE Workstation.
In summary, the client asks for something, and the server serves it up to the client.
OpenEnterprise for Beginners
1-2
Chapter 1 - Introduction - What is OpenEnterprise?
m
How does the Database work?
A cell of the table. This particular table has 36 cells.
We’ve been using the term ‘Database’ a lot, but we never really said what a database is.
Column 1 Column 2 Column 3 Column 4 Column 5 Column 6 Column 8Column 7 Colu
A database, in its simplest form, is
Row1
really just a bunch of tables that have some pre-defined interrelationship.
Row 2
When we say tables we’re referring to
Row 3
a grid of rows and columns, like in a spreadsheet program.
Row 4
The intersection of a row and column is called a cell, and contained within the cell is a single piece of data called a value. It could be a numerical value, a string of text, a Boolean ON/OFF value, etc.
When we talk about the interrelationships between tables, we mean that certain information in one table, references other data in yet another table. These complex interactions between tables are part of the database design, also known as the schema.
OpenEnterprise contains a schema specially designed to handle the information gathered from complex industrial processes.
Learning the Real Database ‘Lingo’ (Attributes, Records, and Objects)
Each box in the table, can hold one OBJECT. This particular table can hold 36 objects.
The people who write database programs use a whole different set of terminology when they
Attribute 1 Attribute 2 Attribute 3 Attribute 4 Attribute 5 Attribute 6 Attribute 7 Attribute 8 Attribute 9
Record 1
refer to the structure of tables in a database.
Record 2
Instead of referring to the name of a particular column, or a heading, they call the column name an attribute. Attributes
Record 3
Record 4
are characteristics, or qualities associated with something.
OpenEnterprise for Beginners
1-3
Chapter 1 - Introduction - What is OpenEnterprise?
Instead of calling the row of a table a row, they call it a record. That makes sense, because a record implies something that is recorded or kept for a certain period of time. Another word used to refer to a record is object.
A simple table from the OE Database, called dvi_schedule is shown, below. (NOTE: The first row shown, isn’t actually part of the table, it’s the names of the attributes in the table.) The attributes are called ‘scheduleid’, ‘maxinterval’, ‘mininterval’, ‘offset’, and ‘disable’. Currently, the table has three records, each of which has those five attributes.
+------------+------------------------+-------------+--------+---------+ | scheduleid | maxinterval | mininterval | offset | disable | +------------+------------------------+-------------+--------+---------+ | 1 | '01-JAN-0001 00:00:05' | NULL | NULL | NULL | | 254 | '01-JAN-0001 00:00:05' | NULL | NULL | NULL | | 2 | '01-JAN-0001 01:00:00' | NULL | NULL | NULL | +------------+------------------------+-------------+--------+---------+
Whenever a particular attribute of a record is not defined, or has no value, it is labeled NULL. For example, if we had a record describing a person, and that person had no middle name then the middlename attribute would be set to NULL.
Please Remember…
A DATABASE is just a big collection of tables. An ATTRIBUTE is just the name (heading) of a column in one of the
tables. A RECORD is just a row of a table. Another word for this is OBJECT. A single piece of data in the database is a VALUE for a particular
attribute of a particular record. If no value has been assigned, the value is “NULL”.
OpenEnterprise for Beginners
1-4
Chapter 1 - Introduction - What is OpenEnterprise?
What sorts of things are saved in the OE database?
All the configuration data for the OE Server, as well as all of the real-time and historical data collected from the network of process controllers, is kept in the OE Database.
What do we mean by “Real Time Data” and “Historical Data”?
Real time data describes conditions occurring right now, i.e. the current state of your process or plant. Granted, there is a slight delay (usually measured in a few seconds or less) between the time when the data is sent by process instruments (flow meters, level switches, etc.) and when it is actually inserted in the OE Database, but this is usually inconsequential. The data reflects current operating conditions, and you can act on it, to change those conditions.
Conversely, historical data refers to things that happened some time in the past. It is data that was collected at some previous time, such as last week, last month, etc. Generally, historical data is used to help identify trends in system operation, and also to generate reports required by regulatory agencies, such as the Environmental Protection Agency (EPA) etc.
In summary, ‘real time data’ means data from right now, and ‘historical data’ means data from some time in the past….
The data in the OE Database is stored in hundreds of different tables, most of which we’re never going to look at, because they perform various internal housekeeping tasks. We are, however, going to list some of the tables that you’re likely to make use of, as you configure your OE system. You don’t have to memorize these now, we’re just listing them so that you get a feel for the sorts of things that get stored in the OE Database, and so you might recognize the names later, when you have to use them.
The Most Frequently Used Tables in OpenEnterprise
Table Name(s) What is this used for?
Realanalog This table includes all the analog signal data collected from your process
controllers. It includes the signal’s name, the signal value, etc. Examples of the data stored in the Realanalog table would include pressure readings, temperature readings, flow readings, etc.
Digital This table includes all the logical signal data collected from your process
controllers. It includes the signal’s name, the signal value, etc. Examples of the data stored in the Digital table would be valve OPENED/CLOSED positions, switch ON/OFF statuses, pump RUN/STOPPED statuses, etc.
Nw3000device This table contains information about the individual controllers in the
OpenEnterprise for Beginners
1-5
Chapter 1 - Introduction - What is OpenEnterprise?
6
network. Nw3000polllist This table defines lists of signals to be collected from controllers. Dvi_schedule This table defines the scan time classes used in poll list collection. We’ll
discuss that subject later in this document. Users This table lists all of the persons designated as valid users of the system,
and records information about them, and what they are allowed to do in the
system. Oelogdata, Oelogcolumn, Oelogcontrol, Loghistory
These tables are used in the definition of the OE Historian. The OE
Historian allows data collected into the OE Database to be saved and
reused later in trends and reports.
How does data get from the Controller Network into the OE database?
Data from your network of remote process controllers is collected and stored in the OE Database. The actual communication between the Bristol controllers and the OE Database is handled by Open BSI and a communications driver program called RDI3000. (RDI3000 stands for Remote Device Interface 3000 -- 3000 refers to Bristol Network 3000-series controllers. Our ControlWave-series of controllers can also communicate via this method.)
There are five (5) methods by which data goes from the Bristol controllers into the OE Database. They are:
Alarm Data Collection
Poll List Collection
RBE Collection
Array Collection via Open BSI Converter
Archive Collection via Open BSI Converter
In addition, RTUs and PLCs manufactured by other vendors can communicate with the OE Database using vendor-supplied OPC server software and custom communication drivers. (We’re not going to cover this subject in this book.)
OpenEnterprise for Beginners
1-
Chapter 1 - Introduction - What is OpenEnterprise?
7
Alarm Data Collection
Alarms are generated in a controller when a particular signal goes outside a pre-defined range, or changes state into an alarm state. Some typical alarm conditions might be that a liquid level is too high, or a temperature is too low, or that a pump has failed to start.
We’ll talk, in detail, about alarm concepts in another chapter. At this point, all you really need to know is that an alarm is a message that is telling the operator that something happened, which could potentially be serious.
OpenEnterprise displays these alarms on the OE Workstations. In addition, OE can be configured to send alarms via e-mail, and to cell phones and pagers.
An alarm means something just happened and needs attention. For example, the controller detected that a pump failed, or a pressure signal is too high….
Poll List Collection
Most people are familiar with the term polling in connection with elections. Every two years, for example, your town might have an election for mayor, and people go to the polls to vote. That’s similar to the type of polling we’re discussing here. In the Poll List data collection mechanism, OpenEnterprise sends out requests for data from the controllers according to a pre-defined schedule. For example, collect a certain type of data every two hours. All signals collected as part of the same scheduled collection are said to be in the same scan time class. For example, if hourly flow totals must be collected, an hourly scan time class can be defined, and all hourly flow totals collected as part of that scan time class. The signals included in a particular scan time class are automatically placed into structures called poll lists, by the OE Poll List Builder. If you had other signals that you wanted collected every minute, you would create a 1-minute scan time class, etc.
Poll List Collection operates on a schedule. For example, collect all the flow total signals every hour, collect all the logical signals every minute, etc. It doesn’t matter if there hasn’t been any change, Poll List Collection will just collect the values anyway.
OpenEnterprise for Beginners
1-
Chapter 1 - Introduction - What is OpenEnterprise?
Report by Exception (RBE)
Report by exception (abbreviated RBE) causes a signal to be collected only on exception, in other words, you only collect the signal when it changes. RBE is different from poll list collection because in poll list collection, signals are collected whether or not they have changed. In RBE, if a signal doesn’t change, it isn’t collected.
For logical signals that would mean that a signal is only collected when it changes state from ON to OFF (or OFF to ON). For analog signals, that would mean that a signal would only be collected if its value changes significantly from its previous value. The determination of whether or not a change is significant is determined by a value called the deadband. The deadband is a range above and below the signal’s value, and must be configured for every signal.
If it hasn’t changed more than the value defined by that range, since the last time it was collected, any change is considered insignificant, and the signal isn’t collected. RBE is a useful method of data collection because it reduces the amount of data that has to be collected, while also allowing data to be displayed more rapidly than would be possible via Polled List collection.
RBE says, “Check to see if the data is different from the last time we collected it. If it hasn’t changed, don’t bother collecting it”
Value: Collect it?: SAME  CHANGED ; SAME  SAME  SAME  CHANGED ; SAME 
Array and Archive Collection via Open BSI Converter
The Open BSI Harvester utility, can collect array data, and archive data, directly from the controllers, and store it in files on the OE Server computer. A related utility, called the Open BSI Converter can insert the data from these files directly into tables of the OE Database.
OpenEnterprise for Beginners
1-8
Chapter 1 - Introduction - What is OpenEnterprise?
How do we view the contents of the OE Database?
The main method for viewing the contents of the OE Database is the Database Explorer. Database Explorer is a program that runs on the OE Server or OE Workstation. Database Explorer lets you examine the structure of the database. It also includes a feature called the Database Object Viewer that lets you search through the contents of the OE Database, view portions of particular tables, etc. For information on how Database Explorer works, please refer to Chapter 4. Understanding how
to use the Database Explorer is one of the best ways to get the most out of your OE system.
Database Explorer
Where can I get more information?
Now that you’ve finished this chapter, you should have a pretty good idea about what OpenEnterprise (OE) is, and what sort of information is stored in the OE Database. You should also be at least somewhat familiar with the terminology we use when talking about the database. We also hope you understand the concept of client and server.
For information on actually installing OpenEnterprise software, please see the
OpenEnterprise Installation Guide portion of the OpenEnterprise Reference Guide
(document# D5092).
For information on particular features of OpenEnterprise, see the online help files.
For information on configuring your controllers so data will be collected by OE, see Chapter
3.
For information on the Database Explorer program, see Chapter 4.
For information on alarm concepts in Network 3000 controllers, see An Introduction to
ACCOL (document# D4056).
For information on alarm concepts in ControlWave controllers, see the Alarm Configuration
section of the ControlWave Designer Programmer’s Handbook (document# D5125).
For information on how Report By Exception (RBE) works, see the RBE section of the
ACCOL II Reference Manual (document# D4044) and the online help file in ControlWave
Designer. For advanced software developers requiring detailed technical information on RBE , see Appendix D of the Network 3000 Communications Application Programmer’s
Reference (document# D4052).
OpenEnterprise for Beginners
1-9
Chapter 2 – Configuring Controllers to Work with OE
s
Chapter 2- Configuring Controllers to Work with OE
Preparing Your Control Strategy Files to work with OE
For this chapter, we will assume that data collected about your plant or process comes from the network of Bristol remote process controllers or RTUs. If you are using another
brand of controller, you will need to consult other documentation beyond this manual.
Bristol controllers are either from the Network 3000-series (that includes the DPC 3330, DPC 3335, RTU 3305, or RTU 3310), or the ControlWave series that includes the ControlWave, ControlWave MICRO, and ControlWave LP, among others.
The controllers execute a pre-defined program called a control strategy which is responsible for reading data in from process instrumentation (flow meters, pressure transmitters, etc.), performing calculations based on the data collected, and sending out commands to instrumentation (switches, valves, etc.)
For Network 3000-series
controllers, the control strategy
is written in a language called
ACCOL II, using a program called ACCOL Workbench.
Network 3000
eries Controller
The resulting file, which is downloaded into the controller, is referred to as the ACCOL load. The primary structure for storing an individual data value (pump status, flow reading, etc.) in the ACCOL load is called an ACCOL signal.
What’s the difference between the term ‘RTU’ and Remote Process Controller?
If you study the theory of control systems there are slight differences between these terms, but for our purposes, they all mean the same thing. RTU is just an abbreviation for the term Remote Terminal Unit, which is basically the same thing as a Remote Process Controller. Sometimes people will just use the term Remote. You might also hear people say DPC (Distributed Process Controller.) You may even hear someone say Node, which is a reference to the fact that a controller can serve as part of a network.
All of these terms refer to a small­computerized device located at a remote site that collects data from instrumentation, and performs control operations based on the data it collects.
OpenEnterprise for Beginners
2-1
Chapter 2 – Configuring Controllers to Work with OE
r
g
For ControlWave-series controllers, the control strategy is written in any one of five (5) IEC 61131-3 languages, using a program called ControlWave Designer (IEC 61131-3 is an international standard for process control programming languages).
The resulting file, called a ControlWave project, is downloaded into the ControlWave controller. The primary structure for storing a data value (temperature reading, valve position, etc.) in the ControlWave project is called a variable, and is equivalent to a ‘signal’ in a 33xx controller. NOTE: When you are actually working with OE, no distinction is made between the name signal and the name variable; they are all referred to as signals. Some other manufacturers use the word ‘tag’ to refer to the same thing. These three words; tag, signal and variable are often used interchangeably
What’s downloading mean?
Downloading means transferring programs and / or data from one device to another. In the case, we’re downloading a file from the computer to the controller.
ControlWave series Controlle
TIP - Adopt a Consistent Naming Convention
When you’re coming up with names for ACCOL signals or ControlWave variables, it will make life a lot easier if you use a consistent naming convention that describes the data held in the signals. The reason is that if you use consistent names, it will help you if you ever need to use SQL commands. (SQL commands aren’t required when you’re first setting up OpenEnterprise, but many advanced users like to use them). It is also useful if you are establishing rules for historical templates in the Database Project Builder. A consistent naming convention will also help you with a subject called aliasing which we won’t talk about until Chapter 5. Furthermore, it also helps you remember what the si
nals do!
OpenEnterprise for Beginners
2-2
Chapter 2 – Configuring Controllers to Work with OE
Identifying Which Signals in the Control Strategy File Should be Collected by OE
For a signal in an ACCOL load or a variable in a ControlWave project to be collected and stored in the OE Database, it must fall into one of three categories:
! Alarms - any signal or variable configured as an alarm is automatically collected when it
enters an alarm state, or returns to a normal state. Normally these signals are those for which it is important that the operators are alerted when pre-determined conditions (like a maximum tank level) are exceeded.
Globals - a global signal or global variable can be collected at a predefined rate via Polled
List collection. The OE server will simply collect these signals at a fixed rate (e.g., once per minute). The server must ask for these signals.
RBE - a report by exception (RBE) signal will be sent from the controller to the server
whenever it changes by more than a pre-configured amount, called the ‘deadband’.
We talked a little bit about the different methods of data collection back in Chapter 1. In the first part of this chapter, we’re going to highlight the steps within ACCOL Workbench or ControlWave Designer that need to be performed to identify data to be collected by OpenEnterprise.
IMPORTANT
This section is NOT going to tell you everything you need to know when using ACCOL Workbench or ControlWave Designer; it just highlights the parts which are related to whether or not a signal or variable will get collected into the OE Database. It doesn’t give detailed instructions. If you need help using ACCOL Workbench, see the ACCOL Workbench User Manual (document# D4051). If you need help using ControlWave Designer, see the Getting Started with
ControlWave Designer Manual (document# D5085).
OpenEnterprise for Beginners
2-3
Chapter 2 – Configuring Controllers to Work with OE
Preparing an ACCOL Load to work with OE
As mentioned, earlier, for any ACCOL signal to be collected into the OE Database, it must be designated as one of the following:
1) A alarm signal -or-
2) A global signal -or-
3) An RBE signal
Specifying an Alarm Signal in ACCOL Workbench
On the ‘General’ page of the Signal
Properties dialog box for the signal, you must choose either ‘Logical Alarm’ or ‘Analog Alarm’ as the signal’s “Type”.
The you select must be
“Type”
either ‘Analog Alarm’ or ‘Logical Alarm’
OpenEnterprise for Beginners
2-4
Chapter 2 – Configuring Controllers to Work with OE
C
T
On the ‘Settings’ page of the Signal
Properties dialog box for the signal, you must choose “Alarm Enable”.
For analog alarm signals, you must also
specify at least one alarm limit. You should also specify an alarm deadband. Click on the [Alarm Limits] button to begin this configuration.
hoose
For analog alarm signals, you must specify one or more alarm limits here.
“Alarm Enable
Specifying a Global Signal in ACCOL Workbench
On the ‘Settings’ page of the Signal
Properties dialog box for the signal, you must select the “Mark as Global” box.
o make this a global signal, the
“Mark as Global”
box must be selected.
OpenEnterprise for Beginners
2-5
Chapter 2 – Configuring Controllers to Work with OE
Specifying an RBE Signal in an ACCOL Load
On the ‘Settings’ page of the Signal
Properties dialog box for the signal, you must select the “Report By Exception” box.
If this is an analog signal, you must enter a
deadband. Do not leave the deadband field blank, or you could overload your communications network!
You must configure the RBE Module. This
is discussed in the RBE section of the ACCOL II Reference Manual (document# D4044).
Select “Report By Exception” to identify this as an RBE signal.
If this is an analog signal, you MUST specify an RBE deadband here.
Saving, Compiling and Downloading the ACCOL Load
When you have finished editing in ACCOL Workbench, you must save the ACCOL
source file, by clicking on File Æ Save, or by clicking on the ‘Save’ icon.
You must then build the ACCOL load (*.ACL) file from the ACCOL source file
using the ‘Build’ command in ACCOL Workbench. Click on Actions Æ Build or click on the ‘Build’ icon.
When the ACCOL load has been built successfully, without errors, you must
download it into the Network 3000 controller, using the Open BSI Downloader. The Downloader is accessible from within ACCOL Workbench, by clicking on Actions Æ Download or by clicking on the ‘Download’ icon. For full instructions on downloading, see Chapter 7 of the Open BSI Utilities Manual (document# D5081).
You should always test your control strategy (ACCOL load or ControlWave project) before using it in a ‘live’ running plant or process. This is especially true when you’re first learning things. We strongly recommend you do this using a controller that is currently disconnected from the process, or for which manual overrides are ready and staffed should something go wrong. This is really important, because if you download an untested control strategy, you could potentially lose control of your plant or process, due to a programming logic error, and you could damage your equipment, or even worse, hurt somebody! So if you want to avoid flooding something, blowing something up, or dealing with personal injury lawyers, ALWAYS test before you download to a ‘live’ RTU connected to a plant!
WARNING! Test Before Downloading
OpenEnterprise for Beginners
2-6
Chapter 2 – Configuring Controllers to Work with OE
r
Preparing a ControlWave Project to work with OE
As mentioned, earlier, for any variable in a ControlWave project to be collected into the OE Database, it must be designated as one of the following:
1) An alarm variable
2) A global variable
3) An RBE variable (Requires ControlWave firmware 04.40 or newer.)
Specifying an Alarm Variable in a ControlWave Project
In your ControlWave Designer project, each
variable which you want to serve as an alarm must have its own alarm function block configured. The alarm function blocks available are:
ALARM_ANALOG, ALARM_STATE, ALARM_LOGICAL_ON and ALARM_LOGICAL_OFF.
Descriptions on how to configure these
function blocks are included in the ControlWave Designer online help, and in the ControlWave Designer Programmer’s Handbook (document# D5125).
An alarm condition can only be detected at
the time its Alarm function block is executed.
The alarm variable must be marked for
“OPC” collection, as well within the worksheet. This is discussed in the section
Specifying a Global Variable in a ControlWave Project.
Check the ‘OPC’ box fo each variable you want to be collected by OpenEnterprise.
OpenEnterprise for Beginners
2-7
Chapter 2 – Configuring Controllers to Work with OE
Specifying a Global Variable in a ControlWave Project
Global variables in ControlWave Designer are variables that may be accessed by all the program organization units (POUs) in the project. (If you don’t know what a POU is, you probably need to review the documentation accompanying ControlWave Designer.)
In your ControlWave Designer project, we recommend that the only variables you designate as global should be I/O variables. Configure your I/O variables in the ControlWave Designer’s I/O Configurator first.
Variables in ControlWave Designer
are designated as global if they are defined within a global worksheet, with the VAR_GLOBAL “Usage”.
The variables must be marked for
“OPC” collection, as well.
A global variable is identified by ‘VAR_GLOBAL’ in its
“Usage”
field.
Any variable which is to appear in the OE Database must also have selected.
“OPC”
Specifying an RBE variable in a ControlWave Project
To designate a variable for RBE collection in a ControlWave project, you must run the Variable Extension Wizard, in ControlWave Designer, and check the “RBE” check box for each variable you want collected via RBE. For non-BOOL variables (REAL, INT, etc.), you would also specify a deadband. The resulting _RBE.INI file will be downloaded to the ControlWave with the bootproject.
You must also configure the RBE function block, and configure appropriate RBE system variables depending upon whether RBE is running on a serial or IP port. For details on all these subjects, please see the online help in ControlWave Designer.
OpenEnterprise for Beginners
2-8
Chapter 2 – Configuring Controllers to Work with OE
Making Sure You Have the Correct Resource Settings in ControlWave Designer
Any variable in your ControlWave project which you want to be included in the OE Database, must have its OPC parameter check box set, as described in the Specifying a Global Variable in a ControlWave Project section.
In addition, you must specify, in the Resource Settings dialog box, which OPC variables will be collected.
Generally, you should choose “Marked
variables” so that only those variables
which you have explicitly marked for OPC collection, will be included in the OE Database.
If you want all global variables to be part
of the OE Database, choose “All global variables” which automatically marks all global variables for OPC collection.
Select the option
Compiling and Downloading the ControlWave Project
You must then compile the ControlWave project. Click on Build Æ Make or click on
the ‘Make’ icon.
When the ControlWave project has been compiled successfully, you must download it
into the ControlWave controller. (Please heed the warning about downloading on page 2-6.) For details on performing a download into the ControlWave, see the Downloading section of the ControlWave Designer Programmer’s Handbook (document# D5125).
OpenEnterprise for Beginners
2-9
“Marked variables”
BLANK PAGE
Chapter 3 - Building the OpenEnterprise Database
Chapter 3- Building the OpenEnterprise Database
Things you have to do before you start building the OE Database…
Okay, we know that you’re just itching to get started, but first, there are some things that MUST be done, before you start:
Your hardware must have been set up
We’re going to assume, at this point, that you’ve set up all your hardware. By that, we mean that:
The OE Server computer has been set up, powered on, and is ready to go. See the
documentation accompanying the server hardware for help on doing this.
All the necessary communication cables linking the OE Server, and controllers, must have
been connected.
The controller network has been set up, powered on. See the Bristol controller hardware
manuals, and the Open BSI software manuals (see below) for information on this. As mentioned elsewhere, we recommend you use test hardware (not live hardware) for initial development.
Optionally, OE Workstations can also be set up at this time. Otherwise, they can be added
later (We recommend building the system with a single workstation, and adding others later.)
Each controller must be running a control strategy file which has been prepared for use with
OE. This was discussed in Chapter 2.
NOTE: Hardware setup is beyond the scope of this manual.
Backup Your OpenEnterprise Server (UPGRADES / RE-BUILDS ONLY)
Your OpenEnterprise Server should be backed up. That means all files should be copied to backup media (CD, tape, disk) or to another computer. This ensures that you can restore the system in the event of a failure during the database creation process.
OpenEnterprise for Beginners
3-1
Chapter 3 - Building the OpenEnterprise Database
Install Open BSI and configure the Open BSI Network
Bristol’s Open Bristol System Interface, called Open BSI, is the communications software which runs on the OE Server, and allows communications between the OE Server, and the network of Bristol remote process controllers.
If this is an all-new system, or you are upgrading to a new version of Open BSI as part of your OpenEnterprise upgrade, you need to install Open BSI on the OE Server computer, and define the network of controllers within the Open BSI software. This is outside the scope of this document, but you can find instructions on how to do this in the Open BSI Utilities Manual (document# D5081).
Verify that communications are possible to RTUs via DataView
Use the Open BSI DataView program to verify that data can be collected from RTUs in the network. See Chapter 8 of the Open BSI Utilities Manual (D5081) for help on doing this.
Install OpenEnterprise Server software on the Server Computer
Follow the instructions in the OpenEnterprise Installation Guide portion of the OpenEnterprise Reference Guide for information on how to install OpenEnterprise Server software. At the end of
the installation process, you are given the option of starting the Database Project Builder. Instructions on using the Database Project Builder follow.
OpenEnterprise for Beginners
3-2
Loading...
+ 318 hidden pages