Manual Xspoc
Manual Xspoc
XSPOC Version 2
Revision Date: 1/19/2016
Brea Office
3075 E. Imperial Hwy
Suite 125
Brea, CA 92821
562-694-3297
Table Of Contents
Table of Contents
XSPOC User's Guide ...................................................................................................................... 5
Introduction .................................................................................................................................. 5
Main Client Window ..................................................................................................................... 7
Well Information ......................................................................................................................... 16
Well Status Window ............................................................................................................... 16
Card Viewer Window .............................................................................................................. 18
Manually Collect and Process DYNO Cards ...................................................................... 25
View Multiple Cards ............................................................................................................ 27
Positioning the Pump-Off Setpoint (Surface Control Only) ................................................ 28
History Graph Window ........................................................................................................... 30
Graph Settings Window ...................................................................................................... 36
Export Data History Window ............................................................................................... 37
Report Window ....................................................................................................................... 39
Alarm History Window ............................................................................................................ 40
Well Test History Window ...................................................................................................... 40
Meter History Window ............................................................................................................ 41
Controller Trends Window ...................................................................................................... 42
Other Well Measurements Window ........................................................................................ 44
Well Notes Window ................................................................................................................ 45
External Data Query ............................................................................................................... 49
Scan ....................................................................................................................................... 49
Actions .................................................................................................................................... 49
Setpoints Window ................................................................................................................... 50
Operation Mode ...................................................................................................................... 54
Well Configuration Window .................................................................................................... 54
Register Panel Window .......................................................................................................... 67
How to Use Register Panel to make an All Call ................................................................. 69
Host Alarms Window .............................................................................................................. 70
Alarm Types and Config Columns: ................................................................................. 72
Alarm States .................................................................................................................... 75
Change Well Name ................................................................................................................ 76
Delete ..................................................................................................................................... 76
Add New Well or Device......................................................................................................... 76
Refresh External Data ............................................................................................................ 78
Group Information ...................................................................................................................... 78
Table Of Contents
ii
Table Of Contents
iii
Table Of Contents
iv
The purpose of this guide is to provide you with an understanding of how XSPOC works and how
to use it to maximize your production and minimize your operating expenses.
As an XSPOC user, you most likely will be running the XSClient software from a workstation on a
network that is linked to the host computer. In this case, you will never see any of the XSPOC
software other than XSClient. In other cases, you may be running the client software on the same
computer that the server software is running on.
Whether running on the host computer or a separate workstation, its function is the same: it
provides you, the user, with a means to communicate with well controllers or other devices, to
review dynamometer cards and analysis, and to enter and retrieve data.
There are some terms and functions that need defining before beginning to use XSPOC.
Scans This refers to the retrieval of information from the controllers. XSPOC performs two
basic types of scans: Status Scans, and Daily Scans.
The Status Scan (DoScan) is performed routinely at an interval defined by the XSPOC
administrator or your Theta representative. The default interval is 10 minutes, which
means that the system scans all wells every 10 minutes. The number of scans per day
depends on either how long it takes to perform one scan cycle or the scan interval. This
scan simply checks the status of the well and if there are any alarms to report. In this
guide, the Status Scan may also be referred to as polling the well.
requests and can take up to 20-25 seconds per well, dependent on the quality of the
communication link and the type of controller.
Session This refers to the time during which you have the XSClient program open and running.
The session begins when you open the program and ends when you close it. If you are sharing a
workstation with other users, it is recommended that you end a session when finished doing your
work.
Security XSPOC has several levels of security and user access to the features of the program.
The XSPOC administrator needs to set up a security level for each user requiring more than a
read-only type access to the information in XSPOC. XSPOC Security rights can be based on the
users Computer login (Active Directory) or the Users XSPOC account and password. If you find
that menu items or screens are not accessible by you then contact your XSPOC administrator for
more access rights.
Selected Group or Well This refers to the group of wells or the individual well selected in the
Well Groups Tree. When a group or well is selected, XSClient is using data for that item to
populate the screens. You can tell which well or group is selected from the status bar at the
bottom of the XSClient screen.
XSClient The software interface used to access information from the XSPOC database, control
wells, and collect and analyze dynamometer cards.
XDIAG The diagnostic software that takes information from surface and downhole equipment,
production data, fluid data and the surface dynamometer card to calculate a downhole
dynamometer card and an analysis of the condition of the entire system. Automatic analysis of
cards by XDIAG occurs whenever a Current Card or Startup Card is collected. You can manually
analyze any other selected dynamometer card.
RODSTAR The predictive software that takes information from surface and downhole
equipment, production data, fluid data and the simulated downhole dynamometer card and
calculates the predicted surface dynamometer card and predicted condition of the entire system.
This software is an additional product for purchase from Theta, however certain features are
integrated into XSPOC. For example, in the Card Viewer screen, the user is able to view a
Predicted Card. This card plot is provided by Rodstar integration. In addition, when launching
Rodstar from the XSClient, information is passed into Rodstar so the user does not have to enter
it by hand.
XBAL The software that calculates the maximum counterbalance effect from a given pumping
unit configuration and counterweight positions, or calculates the position of counterweights from a
given pumping unit configuration and maximum counterbalance effect. Counterbalance
information can be saved back into XSPOC when run from the XSClient.
Surface Dynamometer Card A plot of rod string loads versus carrier bar position. Rod string
loads are collected by means of a load cell (most commonly a circular polished rod load cell
mounted between the carrier bar and polished rod clamp, but could also be a horseshoe load cell,
OR a beam mounted strain gauge, that detects stress deflections in the walking beam). Position
data is usually collected by one of several methods: Hall effects sensors, a position (proximity)
switch and modified sine wave, or an inclinometer, or an accelerometer.
Downhole Dynamometer Card A plot of the loads on the pump versus the pump position. The
card is calculated by the analysis software (XDIAG) using the surface card, production
information, fluid data, and surface and downhole equipment information.
NAVIGATION: When the XSPOC Client opens, you will see the screen shown below, which is the
Main Client Window. The logo box will disappear when the program has established a connection
with the database. If the Main Client Window does not open, then an error will be displayed letting
you know that XSPOC Client was unable to establish a connection. This can happen when the
server is not running or the network is down, preventing the client from locating the server.
1. The Menu Ribbon (the menu tabs across the top of the screen).
2. The Well Explorer (the tree view on the left side of the screen displaying Well Groups and
Wells).
3. The Child Window Display Area (the large portion of the Main Client Window where other
screens are opened).
1. Menu Ribbon
The Main Client Menu provides the user with the ability to bring up different screens in the Child
Window Display Area of the Main Client Window, from six different tabs (Well, Group, Facilities,
Failures, Tools, Windows, and Help) to perform various actions on Wells and Well Groups, or to
modify the XSPOC Client environment.
The Well tab has three main groups (Analysis, Control, and Configuration). The structure and
brief description of each menu item follows:
Well (buttons are activated only after selecting a well in the Well Group Tree)
o
Analysis Section
Well Status Opens the Well Status Window for the selected well.
Card Viewer - Opens the Card Viewer Window for the selected well. This
button changes to ESP Analysis when an ESP is selected.
Alarm History - Opens the print preview of a list of all alarms for
the selected well.
Notes History - Opens a print preview of a list of all well notes for
the selected well.
Alarm History Opens Alarm History Window and allows users to select
Alarm History from pre-set time frames.
Meter History Opens Meter History Window and allows users to select
Gas, Injection, and Production Meter reporting criteria for a defined date
set.
Controller trends Opens POC Trends Window for the selected well.
View EFM/ESP Logs Opens the EFM or ESP Logs Windows for the
selected device. This button will appear only when an applicable device
is selected.
Control Section
Stop - Stops the pumping unit of the selected well. The well will
remain shut down until restarted either through XSPOC or
manually at the POC.
Idle - Stops the pumping unit on the selected well. The well will
start back up after the idle time (or down time) has expired.
Constant Run Mode Starts the pumping unit, which will not
shutdown until stopped either through XSPOC or manually at the
POC.
POC Mode Places the well under the control of the POC
Configuration
Register Panel Opens the Register Panel Window which allows the
user to read or write to a range of POC registers.
Delete Deletes the selected well and ALL information (history and data)
associated with this well USE CAUTION before using this option.
New Node Create a new well, Configure or clone a new well, meter or
facility
You can also access several Well Tab items by right-clicking on a well in the
group tree. This context menu allows quick access to several functions from
various tabs in the ribbon.
10
The Group tab (active only after selecting a Well or a Group from the Well Group Tree) has two
sections: (Analysis and Tools).
Analysis Section
o
Group Status Contains customizable layout of data for the selected group of
wells.
11
Alarm History Opens the print preview of a list of alarms for each well
over the last X amount of days, where the user specifies the number of
days.
Group Status Opens the print preview of the Group Status Report.
Last Analysis Results Opens the print preview of a report with a brief
listing of analysis results from the last available XDIAG run for each well
in the selected group.
SAM Production vs. Well Test Report Opens the print preview of a
report comparing the Sam Inferred Production Data with the Well Test
Data for a group of wells as of a user specified date.
Well Group Problem Opens the print preview of a list of wells in the
selected group with pump problems.
Alarm History Opens a window displaying the alarm history for the selected
group of wells within a specified time frame.
Well Test History Displays well test history for a selected date range.
Tools
o
Field Maps Opens a Bing Map containing location and status data for all wells
in the selected group (location data must be present).
Group Builder Opens the Group Builder Window allowing the user to customize
the Well Group Tree.
Analysis
o
Configuration
o
Failure History Opens a historical record of failures for the selected well. This form also
allows the user to insert new failure records.
12
Failure Analysis Allows the user to evaluate failures in his field. Failures can be
grouped by Group, Well, or Failure Type. Reports can also be printed from this form.
The Tools tab has three sections (User, Admin, and Application).
User
o
Log Verbosity Allows the user to specify the level of reporting for the client log.
User Security Settings Opens the User Security Window allowing users to
change their passwords and administrators to create, edit, and delete user
accounts.
German
English
Spanish
French
Russian
Chinese
Log File - Allows the user to select the length of file to view before opening the
log file.
Admin
o
Group Builder Opens the Well Group Builder Utility that allows XSPOC
Administrators to build well groups using an interactive utility.
New Node Create a new well. Configure or clone a new well, meter, or facility.
Clear Transactions
Flow-Cal Export Opens a window allowing the user to export meter data to a
Flow-Cal (CFX) formatted file.
13
Change XBAL Template File Allows the user to select a new XBAL template
file
Applications
Configure Allows the user to specify file paths for other Theta Software
products like RODSTAR and XBAL (if they are not in standard locations).
Animations Opens the Animation Library and allows the user to run all of
Thetas well animations.
Arrange Allows the user to save the layout of open windows so they can be
reopened all at once during subsequent sessions.
User Manual opens a PDF file of this document. The user is able to digitally find any
content in the document by using Ctrl + F.
About XSPOC opens a form displaying the software version, build date, and
copyright information. The client and server software versions are also available in
the Program Bar at the top of the XSPOC window.
The field on the left side of the Main Client Window is the Well Explorer, a view of logical
groupings of wells. It is similar to the directory (or
folder) tree that Windows Explorer uses and is the
navigational tool for selecting a group of wells or an
14
individual well. This box is always available for viewing, and may be sized by clicking-anddragging the right-hand side of the box.
The Well Explorer tree organizes wells by group. Grouping of wells is based on the criteria
specified for the SQL query for that group. The criteria for each group can be set up to filter wells
based on well condition, alarms, geographical location, organizational data, or any data available
in the database.
Since well grouping is based on specific criteria, the same well can belong to multiple groups.
Wells are dynamically added and removed from these groups based on the criteria for that group.
1.
2.
To select a group of wells or facilities, you just click on the name of the group. To display the
wells or facilities listed in the group, click the plus sign
15
4. The Well Status Bar, located at the bottom of the Main Client Window, displays pertinent
information about the selected well (in the left side well tree) and is always available no matter
what window is open. When working at a group level, a well count of active and inactive wells is
normally displayed. The status bar also displays the child windows that are currently open. You
can navigate between them by clicking on the button you want.
Miscellaneous Features: When a form is open in XSPOC (e.g. Card Viewer, History Graph,
Group Status) the form can be locked onto the well or group in focus by clicking on the Lock icon
in the lower right corner of the form. While a form is locked, the user is able to open another
instance of that form on another node or group in the tree. In addition, almost every form in
XSPOC can be undocked from the Main Client window by clicking the Undock button right
next to the lock button. While a form is undocked, you can move it independently of all other
forms to any monitor or screen at your workstation. The form does not need to be locked to be
undocked. You can Dock the form by clicking the same button again.
Well Information
Well Status Window
OVERVIEW: The Well Status window allows you to get a quick overview of the status for the
currently selected well.
NAVIGATION: To open the Well Status window, you must first select a Well from the Well
Explorer.
From the Main Client window:
1. Click on the Well tab.
2. Click on the Well Status icon.
FEATURES: The Well Status screen displays information about the POC, the Pumping Unit, and
the Wellbore. The Last Good Scan date and time are displayed in the upper left corner of this
window to let you know when the information displayed in this window was last updated.
16
Near the POC in this window, you will notice that there is information about the communications
status, the type of POC being used by this well, the RTU address for the POC, and the Run
Status at the time of the last good scan. The Well Status window also contains information about
the pumping unit: the API designation, Structural Loading, Gearbox Loading, SPM, and Stroke
Length. Runtime for Today and Yesterday are displayed as a percentage in the upper right corner
and any Alarms and Exceptions are reported to the right of the well head. The Wellbore
information that is displayed includes Tubing Pressure, Casing Pressure, Rod Loading, Pump
Fillage, Pump Depth, and Pump Type.
The Well Status Toolbar items for this screen include the Refresh, Action, Copy and Print
commands. The Action menu allows the user to send commands to the controller including Scan,
Start Well, Shutdown Well and Idle Well. The Scan menu item will communicate with the POC to
update information on this screen, while the Start, Shutdown and Idle will change the running
state for this well. The Refresh button on the toolbar only refreshes this windows information from
the database while Scan refreshes the data from the POC.
17
NAVIGATION:
From the Main Client window:
1. Click on the Well menu.
2. Click on the Card Viewer menu icon.
FEATURES: The Card Viewer Window has six sections, each with its own purpose.
Card Library
Input
Output
Data
Data
Analysis
Data
18
Card Viewer toolbar utility buttons for collecting cards and exporting them to file
Card Plot Area displays selected dynamometer cards and the calculated downhole card
Card Library displays a list of stored dynamometer cards, with time/date stamps
Input Data displays input data used in the analysis (sources are database and POC)
Analysis Data displays plain English report of the condition of the entire system
The following buttons and menus help you gather cards and perform other functions on the Card
Viewer Screen.
The Get Card button allows you to select one of the cards from various card buffers that
are on the device. The one shown here is for the Lufkin Well manager and yours may
appear differently depending on which device you are using at your well site.
Prev SD/PO Buffer data from the last several cards drawn at the end of the
previous cycle.
Standard data from a manually initiated card collect (done by selecting the feature
through the controllers keypad).
Startup (No MPT) data from the very first stroke when the starts up (no minimum
pump strokes).
Sample Live Strokes - pulls card for the next 15 strokes (not available on all POC
types).
The XDIAG button allows you to run analysis on the currently selected card in
the card library.
19
The Email button allows you to send the card to Theta Oilfield Services, or
other receipients of your choosing, if you already have a mail server defined in XSPOC.
The Idle Time button displays the Idle Time dialogue box which allows you to
view and set the Idle Time on the controller for the currently selected well.
In addition to these buttons and menus on the Toolbar, if you right click on a blank area of the
Toolbar you will get these following functions that let you change the way the Toolbar is
displayed.
Menu position allows you to anchor the Toolbar to different positions on the screen.
Text Only will only display the text portion of the Toolbar buttons instead of the default
display which is text with icons.
When first opened, the Card Plot Area displays the selected surface card and if available the
downhole card for the well selected from the Well Groups Explorer on the left side of the Main
Client window.The cards displayed in the plot area are indicated by a small, colored box just to
the left of the Time/Date stamp of the cards listed in the Card Library. The color of the box next to
each Time/Date Stamp for the card matches the graph color in the Card Plot area so you can
distinguish which plot belongs to a particular card.
The display of the Card Plot can be customized by right-clicking anywhere in the plot to open the
customization menu which is shown to the right. These settings are retained based on the last
time you used the card viewer, so you do not need to set these every time you use the client.
20
Clear All Except Current clears all cards except the last
one displayed.
View Load Limits - displays the load limits set for this well.
View Set Points - displays the set points for this well.
View Legend - displays the color and names of all the visible cards.
Show Graph Settings opens the Tee Chart Editor dialogue box allowing the user to
customize card plot area settings (has no effect on card data)
Card Selection - indicates which cards are automatically displayed when the card viewer
is started or a different well is selected from the Well Groups Explorer.
o
Last and PO - is the most recent card and the most recent pump-off card.
Full Screen - enlarges the graph to a full screen for better detail. Toggle the check mark
to enlarge the plot or to restore to normal size.
4. Card Library
The Card Library is a list of cards collected for the currently selected well. In this figure, you see a
report of how many cards are in the Card Libray for each well. The colored boxes to the left of the
Time/Date stamp of each card indicate that these are the particular cards being displayed (and
represents the color of the card in the graph).
21
XSPOC runs a task once per day to collect and analyze cards. This time
is configurable, but is typically run in the early morning hours between
2am and 6am. If the well runs 24 hours per day, XSPOC will collect only
a single Current card, since the Startup and Shutdown cards for this
well will often be quite old and not pertinent to how the well is currently
operating. If the well runs less than 24 hours per day, XSPOC will collect
both the Startup and Shutdown cards. Although configurable, the system
will only analyze the Startup cards since this is normally most
representative of how the well normally runs.
Date is the date and time (24 hour format) of when the card was
collected.
Type
o
Startup represents cards stored when the pump first started up. The card
collected is the most recent start-up card stored by the POC at the time of
collection.
Current represents cards collected while the well was pumping at the time of
collection.
When you right-click in the Card Library area, a menu appears that allows you to do the following
actions:
Save - marks that card to not be deleted after the standard 30 - 60 days. (The XSPOC
administrator sets the duration of time to keep cards before deleting them.) When a card
is marked to be saved, a floppy disk icon will be visible next to the card type. To toggle
the card back to regular status, right-click on the card and click on the save option again.
22
Export Card to File allows the card(s) to be exported as an XDIAG Dyn file or a Lufkin
date file. You can select Current, Selected, or All cards.
Dyno Note - allows a note to be made for that card. Selecting this option opens a dialog
box where you can create, edit, or delete notes for that card. These dyno notes are
visible from the Well Notes screen.
5. Input Data
The Input Data for the selected well and the selected card is obtained from information stored in
the database. This information is collected from user input and from the POC.
Str. Length (''): measured surface stroke length from Well Config
SurCap@24 (bpd): calculated surface capacity based on runtime, speed, stroke length,
plunger properties, etc.
Idle Time (min) can be changed by clicking the button next and entering new idle time
values. You will be prompted for the control password, if it has not been entered already
during the session.
6. Output Data
The Output Data for the selected well and the selected card displays values calculated by XDIAG
using the input data and surface card. Not all values appear on all controllers.
DH Cap@24 (bpd): estimated production based on 24 hour runtime, SPM, and DH card
volume (full pump) on this card.
23
DH Cap@RT (bpd): estimated production based on yesterdays actual runtime, SPM, and
DH card volume (full pump) on this card.
PO Fluid Load (lbs): expected fluid load when fluid level is drawn down to the pump
7. Analysis Data
The Analysis Data box is a description of the condition of the rod pumped system as determined
from the selected surface card. It explains what is happening at the pump at the time of the
selected card collection, provides information on equipment that is overloaded, and lists possible
sources of error within the data and corrections that may have been made.
The text in this box constitutes the second page of the analysis report, which may be opened by
clicking the Report button in the Card Viewer Toolbar.
The scan checks the wells run status and alarm condition. To confirm that the scan is complete
and the well is running, watch the status bar at the bottom of the window. You can monitor the
24
progress by watching the Server Status Bar in the bottom left-hand corner of the XSPOC Client
window. When the scan is finished, the bar will update with current statistics for the well. If the
statistics updated then you are now ready to collect a current card from the POC.
On the Card Viewer Tool Bar, choose Get Card and select Current.
The Server Status Bar will display the message Card retrieved
successfully once the card has been collected from the POC, and the
Card Plot Area will then display the new Card.
At this point you are ready to process the card with XDIAG. This is done by single-clicking the
XDIAG menu button located in the Card Viewer Tool Bar.
When XDIAG is finished processing the card, the Card Plot Area is rescaled and the downhole
card will be displayed along with the surface card.
25
In addition, the Input/Output Data boxes and the Analysis box will update with results from the
card, as shown in the figure below.
After processing the dynamometer card, you can print the analysis
report, by single-clicking the Report button.
This opens the report preview window and the report can be printed as shown in section entitled
"Printing Reports".
26
the data and analysis for the card in the Input, Output and Analysis Data areas.
27
7. Next, we take (77%-41%) * 0.46 = 17% and add the 17% to the original 41%, which gives
us 58% on the top horizontal scale.
8. The next step is to place the cursor directly over the setpoint and then click-and-drag the
setpoint to the new position. The scale in the upper left hand corner will give you the
position, in percentage both vertically and horizontally. The goal is to have the setpoint at
the same vertical percentage (29% in this example) and the horizontal percentage at
58% when you release the mouse key.
9. At this point, XSPOC will prompt you to confirm that you are writing a new setpoint to the
POC.
10. Click the Yes button to continue the write command, and then you will receive a
message confirming that the parameter was successfully changed.
11. You are not finished! The well should be monitored for fillage during fluid pound for the
next day or two to ensure that the new setpoint is in the correct position.
For controllers capable of calculating a downhole card (Lufkin WHM, Weatherford Well-Pilot,
Spirit Genesis, etc.), you can follow these steps to set the pump-off setpoint.
1. Select the most recent card in the library for the selected well.
2. Ensure that View POC Downhole Card and View Setpoints are selected. The
controllers downhole card is always represented by a dotted line.
3. The Pump-Off Setpoint is represented by a diamond attached to a dotted horizontal line
dissecting the controllers downhole card. This setpoint represents a percentage of the
the pump fillage at which fillage is considered too low. Many organizations have policies
regarding the desired value for this setpoint. The default value is often 70%, but
organizations might choose to increase that value to 80% or higher depending on field
conditions and production objectives.
4. This setpoint can be moved right or left by clicking and dragging to the desired position.
When releasing the setpoint a dialogue box will appear asking to confirm the new
setpoint position before writing the value out to the controller. If the new value is slightly
off, the user can type the correct value into the dialogue box to write the appropriate
value out to the controller.
5. A message will appear when the write completes confirming that the setpoint has been
updated. To view the updated setpoint on a card, the user must retrieve a new card from
the controller.
28
NAVIGATION:
From the Main Client window:
1. Click on the Well menu.
2. From the Graphs sub-menu, click on History Graph.
The Date area controls the range of dates within which all of the
graphs will display.
29
End Date is the date used on the right most part of the graph (latest date)
Days is a specified amount of days that the user types in or chooses from the drop down
list of 30, 60, or 90.
Click Apply to activate changes that are made in this area to the graphs on the right.
Group displays aggregated trend lines available if utilizing the Group Parameter
Trending feature.
Controller - displays raw data sent from controller. The trends in this group change
according to the type of controller being trended.
Well Failures displays well failures if they have been entered into the system.
Events - displays notes of a particular event type that was created for this well.
Each trend category contains trends that will display on a graph in the Graph Plot Area. To
access these trends, click on the plus sign next to the category folder.
Trend names will appear for all trend lines for which data is available in
the date range specified. Right-clicking a category folder will display all
available trends for that category, which may be selected or unselected
by toggling the check mark as shown to the right. Deselecting trends
will hide them from the list. Double-clicking a trend in the Trends
explorer pane will display or hide that trend on a graph in the Graph
Plot Area. If a trend is being displayed on a graph, then
there will be a graph icon displayed next to the trend
name in the Trends explorer panel. XSPOC Client stores
each users settings for commonly used trends; however,
one must be logged in to use his/her default settings.
30
remove Graph 1. To add another graph, click on the Add button and another graphing area will be
added to the Graph Plot Area. The Trends grid will display the trend lines that are currently
assigned to the graph with corresponding trend color for the graph selected in the Graph drop
down list. Removing a graph with trends will also remove those trends from the Graph Plot Area.
The user can also add graphs by right-clicking the trend name and selecting Graph -> # as shown
below in section 2 Moving a Trend to Another Graph.
Event trends are shown as small dots along the bottom of the graph with a small tooltip window
that display the Event text when hovering over the point with the mouse. Also moving the mouse
cursor over a point on the graph will display the
event text (or Well Note) in another tooltip. In
addition, the Show Text option can be chosen
from the graphs right-click menu. When this option
is selected, a small tooltip window will appear above every point and display the text for that
event. These tooltip windows can be moved by clicking on them and dragging them to their
desired location.
The History Graph supports views. After setting up the plot area you might want to view this data
at a later time. Instead of going through all of these steps each time, you can just save all of these
settings as a view. These views are unique to each user. An XPSPOC administrator can also set
up global views for all users to see and use. Users can manage their own views by creating,
changing, or deleting views but they cannot modify or delete global views. XSPOC Administrators
can create, save, and delete global views.
31
USAGE:
1. Adding a Trend to the Plot Area
a. Open up one of the Trend Categories to find the trend you want to view.
b. Double-click on the Trend you want to add to the plot area.
c.
You can also right-click on a Trend and choose which plot area to add it to.
The data will be displayed as original and as compressed. You can remove the
original trend line by double-clicking it in the trend list.
Show Alarm Limits toggles whether to display limits (if they exist) on the graph
containing the trend line.
d. Note that this can also be done with more options from Group Status.
32
Show Grid Lines toggles the display of the horizontal and vertical grid lines when this
option is chosen. This option displays a check mark next to the option when the grid
lines are set to display.
g. Show Text toggles the display of Event text on the grid when this option is chosen.
This option displays a check mark next to the option when the Event text is set to
display. If you dont have a trend selected from the Events category then you will not
see anything on the graph. You can move the tooltip window displaying the Event
text by clicking on the Event tooltip window and then dragging it to a new position on
the graph.
h. Views Save, Save As, or Delete views
i.
Save The Graph To File Saves graph to a file in a selected format that you choose.
j.
6. Saving a View.
a. After you have customized the Plot Area, right-click
anywhere in the white space of the plot area.
b. Select View and then either Save or Save As to save
your view as a XSPOC view. Save will save the
current view if it is not a global view. The current view
is the one with the check mark beside its name. Save
As will allow you to save the selected view with a different name.
8. Deleting a View
33
a. Click the Manage Views button at the top of the History Graph window.
b. Select the View to be deleted and click the Delete button in the lower right.
9.
You can zoom and scroll the data in the Graph Plot area using the controls below.
b.
Zoom (view a smaller time frame in the plot area) hold the CTRL key while clicking
and dragging from upper left to lower right in the graph plot area. Zoom out by
holding the CTRL key while clicking and dragging from lower right to upper left
(reverse original action).
c.
Scroll click in the graph plot area and drag to the left or the right.
34
c.
The Data tab allows you to save the graphs data as Text, XML, HTML Table, or
Excel format.
d. The Theme Tab allows the user to specify whether ChartBase64 Data (Tee Chart
Info) is included in the file, or allow the user to specify a desired file size.
a. Include Chart Base64 Data - allows the user to select whether the charts
Base64 data will be included in the exported data.
b. File Size allows the user to choose the desired file size.
NAVIGATION:
From the History Graph window:
1. Right-Click on the white
space in the plot area.
2. From the Popup-Menu,
select Show Graph
Settings.
NAVIGATION:
From the Data History Graph window:
1. Right-Click on the white space in the plot area.
2. From the Popup-Menu, select Save This Graph To File.
FEATURES: The Export Data History window allows you to take the current Graph Plot Area and
save the graphs as a picture file, a raw chart file, or as raw data.
35
1. The Picture tab allows you to save the graph in a variety of image formats. After selecting
the format for the image file, XSPOC will prompt you for a name and the location to save
this image file.
2. XSPOC uses the TeeChart control to display trend lines. The Native tab allows you to
save the current graph as a native TeeChart file.
3. The Data tab allows you to save the trended data as a Text, XML, HTML, or Excel file.
This allows you to import your data into a variety of programs and analyze or display the
data as needed. After selecting the exported file type, XSPOC will prompt you for a file
name and location to save this data file.
36
4. The Theme Tab This tab allows the user to select whether the charts Base64 data will
be included in the exported data. The user can also specify the desired file size.
Report Window
OVERVIEW: All reports in the XSPOC Client open in a print preview window.
NAVIGATION:
From the Main Client window, click on the Well tab, click on the Reports button, and then
select a Report.
From the Main Client window, click on the Group tab, click on the Reports button, and
then select a Report.
37
NAVIGATION:
From the Well Tab, click on the Alarm History button in the ribbon.
FEATURES:
The Refresh Interval button will automatically refresh the screen at the set interval.
38
NAVIGATION:
From the Well Tab, click on the Well Test History button.
From the Group Tab, click on the Well Test History button.
FEATURES:
Click the Add New button to create a new Well Test Record.
The primary columns of data used in calculations are Test Date, Test Date/Time,
Duration, Oil Rate, Water Rate, Gas Rate, and Approved (this is not a column but a
check box at the bottom of the form). The other columns are available to be used, but are
not required for XSPOC to perform correctly.
The Columns button in the upper left allows the user to select what columns to display in
the form as well as the Add New sub-form. The user can de-select certain columns to
hide them. The user is also able to adjust the left-to-right order of the columns, the width
of visible columns, and the text alignment of each column in this sub-form.
The Range button allows the user to define the search parameters for historical well
tests. The common setting is to view the last 30 tests.
The Refresh button will retrieve new information from the database if it is available.
The Approve button at the bottom of the screen will approve Well Tests for this well for
the selected date.
This form will also display Well Test information for all wells in a group. The user only has
to select a Group Name in the Well Tree. Each well appears as an expandable branch in
the grid. Expanding the branch displays the tests for the range selected for that well.
NAVIGATION:
39
FEATURES:
The Meter dropdown allows the user to select the type of meter to view Gas, Injection,
or Production.
The Start Date and End Date pickers allow the user to specify a date range for meter
data.
The Columns button allows the user to select which columns are visible for each Meter
type. The user can also specify an Alias name for the column if desired. This is useful for
the Custom01 Custom05 columns in the table.
The Reports button will launch a Print Preview of a Daily or Group Meter Report
populated with data from the form.
The Range button allows the user to select a number of days to view in lieu of a date
range.
NAVIGATION:
From the Main Client window:
1. Click on the Well menu.
2. From the Analysis Section select POC Trends.
FEATURES: The POC Trends window has a Controller Trends tab, and a Real Time Trends tab.
a Valve Check tab, and a Plot Area.
40
The Controller Trends tab allows you to view the historical data stored in the controller as trend
lines in the plot area. This data is stored in the controller and not in the XSPOC database. To
trend the data in the controller, double-click the trend item in the Controller Trends list. The color
of the selected trend type corresponds to the color of the trend line. For wells that have Lufkin
SAM Controllers, you will see a Register Logs dropdown in the form. This allows the user to
configure Register Logs on the controller, or to view currently configured logs on the controller.
Collection of Register Logs is now done through Facility Tags. Configuration for Log Collection is
a specialty task that falls outside the scope of this document. Plesae contact Theta Support or log
in to the Support Site to find the knowledgebase article dealing with this feature.
The Real Time POC Trends tab allows you to view real time controller data as trend lines in the
plot area. XSPOC will retrieve the desired real-time data at fixed intervals and will display the
corresponding data in the graph. This data comes from the controller and is not stored in the
XSPOC database or in the controller, so once the window is closed all data is lost. To trend the
real time data in the controller, select the trend item from the drop-down-list in the Real Time
Trends panel. The trend items you select are added to the list below the drop-down-list. Checking
the Real Time Trend item in the list makes it active. When you click on the Start button the plot
area will start to show the real time trend data. The legend below the plot area allows you to
identify which trend line belongs to the Real Time Trend Item that is activated. You can modify
the interval by clicking on the Interval drop down and selecting a new time interval and you can
modify the Time Span by clicking on the Time Span drop down and selecting a new Time Span.
The Interval relates to how often it samples data from the controller while Time Span relates to
the X-Axis of the graph.
41
On the SAM controller only, a third tab appears which allows you to retrieve any Valve Check
plots that have been stored in the controller. In order for these to be available, someone has to
save the plots at the well during a valve check operation. The SAM has two different buffers that
can be retrieved, the reference and the working. First select the type of buffer to retrieve, then
click on the Get Values button to pull the information. Once the information is collected, it will not
only display the plot, but it will also display the various markings which were made at the well
during the valve check, as well as the calculated leakage based on the calculations done in the
SAM. These plots are saved in the history until someone deletes them. The plots are deleted by
clicking on the date of the valve check, and then hitting the Delete key on the keyboard.
NAVIGATION:
From the Main Client window:
1. Click on the Well menu.
2. Click on the Other Measurements menu item in the Analysis Section.
42
FEATURES: Some
users have a need
to enter in
measurements that
are not gathered by
the system during a
polling sequence.
Other
Measurements is
the best location in
the software to
enter some values required for Analysis to function properly (e.g. Oil API, Water SG,
Casing/Tubing Pressures). Default values for these data points are probably not accurate enough
for users to trust the results based on them.
Selecting an existing measurement from the grid will allow the user to edit the data for that
measurement in the edit portion of the screen. You can also delete a measurement by selecting it
in the grid and then clicking the Delete button.
NAVIGATION: To open the Well Notes window, you must first select a Well from the Well
Explorer then click the Well Notes button in the Analysis section of the Well tab.
43
FEATURES: The Well Notes gives the user an overview of the historical events for a single well.
In addition, users are able to enter comments that receive a date and time stamp, and can be
trended along with other parameters. The notes are very useful for tracking chemical treatments,
hot-oiling treatments, a change in pumping unit speed, pump re-spacing, and other mechanical
changes. Without these notes, interpretation of trended data can be difficult or misleading.
Comment - A user-entered notes from the Comment column in Group Status or in Well
Notes.
Well Config Change A note that reflects changes in the Well Config window.
Tech Note user-entered notes from the Tech Note column in Group Status or in Well
Notes.
And more.
Parameter changes are stored automatically by XSPOC, whenever you write a value to a POC
using the program (i.e. moving a Setpoint, changing the Idletime, etc.). The software will not allow
a user to enter a Param Change entry because it would duplicate an entry that has already been
created. You can, however, edit the existing parameter note to better reflect what you did (doing
so will convert the entry to a Comment type rather than Param Change).
The figure below shows the Well Notes window. The Events list allows you to select an event
type. This filters the notes grid view. This will become helpful as the database ages and automatic
comments, such as status changes, begin to accumulate.
The function of each column is:
44
UserID: The user who entered the note. The UserID information cannot be changed.
You can add a note by selecting the Note cell on the row with the star (*). The row highlighted in
the image below shows the add row for the Well Notes grid.
After entering the text of the note, XSPOC immediately stamps the note with the current date, and
labels the note as the selected note type (Comment or Tech Note).
To edit the date or time, click on the date and the field will activate and enable you to enter the
date and time or click the drop down arrow and use the calendar box (see figure below).
45
Users are allowed to enter two types of notes, Comment or Tech Note. All other note types are
assigned automatically by XSPOC based on where they originate.
A note may be deleted by clicking just to the left of the date. A black triangle will display and the
entire row will be highlighted. Press the delete key on your keyboard, and a Delete Row
dialogue box will display. Select Yes to delete and no to cancel the action. You may delete more
than one row at a time by holding down the Shift key and highlighting the notes you want to
delete with the mouse or with the spacebar. (The user must have Admin rights to perform this
action.)
46
NAVIGATION:
From the Main Client window:
1. Click on the Well menu.
2. Click on the External Data Query menu item in the Analysis Section.
FEATURES: This screen is for information only and cannot be used to change any of the values
to the underlying data source. The values are displayed according to the query that the XSPOC
Administrator has defined and is useful in viewing information from other data sources outside of
the XSPOC database (or for viewing manipulated data from inside the XSPOC database). As an
example, this is from the query that is setup in the example in the Administrators manual.
Scan
The Scan button performs a communication scan on the selected node in the Well Tree. Once
clicked, the software will display a flashing Scanning notification in the status bar in the bottomleft corner of the screen. Once the scan completes, the status bar across the bottom will update
with recent data from the node.
Actions
The Action dropdown allows the user to initiate several different commands on the selected node.
Keep in mind that not all actions are available on all devices. If an action is not supported, no
action will be taken on the controller. Actions include:
47
Start Well: Selected well will be started from its stopped or idle state.
Stop Well: Selected well will be put into a Shutdown state (will not resart without human
interaction).
Idle Well: Selected well will be put into its downtime and well will restart when downtime is
complete.
Reset clocks: The timestamp on the selected well will be checked to determine how far off it
is, and if the clock wrong by more than 10 minutes, the clock will be reset to server time. This
sometimes results in accumulated data in the controller being reset to 0 until the following
Gauge Off time.
Clear Alarms: Clears alarms on the selected node. Some wells will restart immediately after
doing this, and others will enter a downtime prior to restarting. Consult the manufacturer to
understand the behavior of your controllers and drives.
SAM Reference Revolutions: Launches another form allowing the user to initiate a
recalibration of the SAM Reference Revolutions (ratio of Motor RPM to Crank rotation) on a
SAM controller. This will need to be done when surface cards begin to look like bowties or bat
signals.
Setpoints Window
OVERVIEW: The Setpoints Window displays POC registers by groups. This screen also displays
the saved value in the Backup column, and can display the current POC value in the Device
column. The user can change and update the values in the visible registers through this window.
This allows users to save specific register values to the database in the event that these registers
need to be restored at a later date. The primary benefit to this feature in XSPOC is that a
configuration can be saved as a backup file for each well. In the event of hardware failure in the
controller, the board or controller can be replaced and XSPOC can write all configuration data out
to the controller in a single transaction. This eliminates the need to re-optimize the well.
NAVIGATION:
From the Main Client window:
1. Click on the Well menu.
2. From the Control Section of the Well menu, click on Setpoints.
FEATURES: When this screen is displayed, you will see nothing in the grid until you select a
setpoint group from the left side of the screen. When a group is selected the registers that have
been enabled will be displayed with their current database values in the Backup column. When
48
you select Read Device then the Device Value from the selected controller will fill in the Device
column (device must be communicating).
Backup setpoints transfers POC Values to the Backup copy in the XSPOC Database
for registers in the current setpoint group.
Update Device transfers Backup values to the Device for the current setpoint group.
Only discrepant values will be written
out. These discrepancies are
highlighted with a green background
(See picture above).
Synchronize All will transfer values for all registers in ALL Setpoint Groups to the
Backup or to the Device (depending on the selection). This should be done only when a
new well comes online, or when a controller has been replaced.
Configuration - displays the Setpoint Group Configuration window allowing the user to
create and modify setpoint groups (Admin only).
49
Screen Usage:
In order to manage values at the POC, the user must first Read Device by clicking the button in
the upper right corner of the screen. If a change is required, click in the cell in the Backup column
that corresponds to the register you wish to change. This action puts the cell in edit mode, where
you can enter the new value. You may change several values in this manner prior to writing them
to the POC. Each new DB Value will be highlighted green. To write the change(s) to the POC,
click the Update Device button on the toolbar. Keep in mind that ALL values highlighted in green
will be written out to the POC. You may want to backup setpoints prior to updating device so you
dont overwrite good values in the POC with old values from your backup.
There are times when you may wish to scan other registers besides the default registers provided
by XSPOC in the Setpoints Panel. Please refer to the topic below about the Register Panel.
There is a Malfunctions/Alarms tab that displays when the controller is a Lufkin SAM, MPC,
Sys60 or PCP Controller. This allows user to configure these POC malfuctions and alarms
setpoints. When this tab is selected, XSPOC queries the device for the current information
concerning these setpoints.
On the Malfunction Tab (Lufkin SAM, MPC, Sys60 and PCP Controllers):
Consecutive Allowed number of times the alarm condition is allowed before the well
shuts down. Each occurrence of the condition results in the well idling until this value is
met.
50
Cumulative Occurred total number of times this condition has occurred since reset.
Present current value at the controller (as of the time the screen loaded data).
Normal Mode Enabled a checked box means this alarm is active for this operation
mode.
Host Mode Enabled - a checked box means this alarm is active for this operation mode.
Timed Mode Enabled - a checked box means this alarm is active for this operation mode.
Setpoint Group respresents which Setpoint Group each address is assigned to.
51
Operation Mode
OVERVIEW: Some POCs are able to run in different modes of control. For controllers that are
capable of running in Percent Timer or Constant Run mode, the Operation Mode menu will allow
you to write those control changes to the device.
NAVIGATION: This menu is located in the Control area of the Well Tab in the Ribbon.
USAGE: These options are useful when equipment failures prevent the controller from operating
normally or when well conditions cause false downtime (downtime caused by misunderstanding
gas interference, load violations caused by trash in the pump, etc.).
EXPLANATION OF OPTIONS:
Constant Run: puts the controller into a constant run state. For a fixed speed unit, the
controller will ignore most failure conditions while forcing the unit to continue pumping.
Different controllers will control on different conditions in this mode, and other controllers
allow for configuration of which failure conditions will stop the unit. (See Setpoints
Malfunctions and Alarms for the SAM controller options.)
% Timer: puts the unit into a timed operation mode. This typically means that the
controller will run for a specific period of time and be idle for a specific period of time. The
user will need to configure the desired run time and idle time per cycle on the controller.
This can be done through the Setpoints screen or the Register Panel.
POC Mode: puts the unit into Normal Pump Off Control mode where the controller
monitors surface conditions and pump fillage and enters Idle time on low fillage
conditions. POC Mode can refer to either Surface Control, Downhole Control, or VFD
Downhole Control (other options may apply based on the controller being used).
NAVIGATION:
From the Main Client window:
1. Click on the Well Tab.
52
2. From the Configuration Section of the Well Tab, click on Well Config.
Controller
Surface Equipment
Downhole Equipment
o
Rods
Casing
Tubing
Perforations
Pump
Analysis Options
Alarm Actions
IPR
This screen will also show different tabs for wells utilizing other forms of artificial lift. For
example, an ESP will display an ESP Equipment tab rather than a Surface Equipment
tab, a PCSF Gas Lift Multi Well Master will display a tab called Multi-Well Setting instead
of Surface Equipment and Downhole Equipment. The following sections will include
settings and configuration for Rod-Pumping and Electric Submersible Pumps only.
Contact Theta Support for details on screens for other forms of lift.
The Controller Tab contains information about the controller, expected operation type, grouping,
and field location. The information on this screen is useful for creating well groups in the Well
Tree, for helping XSPOC collect appropriate data from the device, and for linking this well file to
other databases (WellView, well tests, data imports/exports, etc.).
53
Controller
o
Address - the number that uniquely identifies the controller on the given
communication channel. Be aware that assigning a 0 to the Address creates an All
Call well (on serial radio networks), which means the host rado will send a message
that will be acted upon by all wells on the serial master.
54
Group
Route typically the smallest organizational grouping of wells that a single operator
is responsible for. The Route designation is linked to the Contact Groups on the
Alarm Actions tab.
Dialer / Email Group displays the contact groups of which the well is a member. As
mentioned above, this is tied to the Route.
Well ID Intended to be a unique identifier that is used to link well files across
databases.
Well Type - denotes the expected operation of the well. The state indicated here will have
an effect on data collection.
o
Normal is the typical mode of a pump-off controller where the well cycles between On
and Off states based on measured fillage.
24hr, Not Pumped-Off denotes when a well is intentionally operating 24 hours a day
and is not pumped-off. This mode may be the case when there is more fluid
production available than the pump has capacity but no further action is planned.
Variable Speed is used when a variable speed controller is used to control the speed
of the well. (This selection will force XSPOC to record SPM values every scan rather
than once a day.)
Map Info
o
55
Pumping Unit - contains over 5000 different types of pumping units. These have been
broken up into about 60 groups, distinguished by Manufacturer and type of unit. In the
figure below, only one of the groups is displayed at a time. To display additional groups,
use the drop down box to select a different group. Selecting a different group will display
all the pumping units for the new group.
Other Information Used only if necessary to specify other info like crank arm or
serial number ranges.
Crank
o
Crank rotation - the default Crank Rotation for all pumping units is counterclockwise,
so be sure to select the proper rotation for the unit being entered (some units will
rotate only one direction).
Crank hole - select the proper crank hole, where crank hole #1 is the longest stroke
length for the unit. The calculated stroke length will be displayed beside the crank
hole number. Because the calculated stroke length based on manufacturer
dimensions can be slightly different (1 to 3), XSPOC requires the entry of a
measured stroke length, to provide a bit more accuracy. XDIAG compares these
stroke lengths, and if they are different by more than a few inches, the diagnostics
56
utility will adjust PU dimensions during analysis and the text output will note the
adjustment. This discrepancy should be addressed.
o
Measured Stroke Length measured stroke length (if different from calculated stroke
length). A value must be entered in this field for XDIAG to attempt analysis.
Counterbalance this data is necessary for XSPOC to calculate Gearbox Loading during
XDIAG Analysis. XDIAG will complete if Unknown is selected, but it will render a 0%
Gearbox Loading for the well.
o
Existing MCM (M in-lbs) Select this option to enter the CB moment in thousands of
inch-lbs. Use this if you have used 3rd Party software to calculate the CB moment.
Counterbalance Effect Select this option if the Effect and Crank Angle are known.
Use XBAL Information Select this option only if the crank and weight data has been
run through XBAL and imported into XSPOC. This is only possible is XBAL has been
launched from XSPOC for the selected well and a file has been created, saved, and
imported.
Counterbalance settings will change depending on the type of Pumping Unit that is
selected. For Air Balanced Units the Air Tank Pressure is measured at the bottom (psig).
All other units will display the options presented in the figure below.
Motor Select the Motor Type and Size. The Motor Setting box will activate when a high
slip motor type (e.g. EconoPac II ODP) is selected.
o
Electricity cost ($kwh) used in calculating energy expense based on well design
and operation
Power meter if your energy provider pays for energy generated back into the grid,
you should select the Two Way Power Meter
There are five tabs in this screen where the well's rods, casing, tubing, perforations, and the
deviation profile are entered. Each tab contains a grid which displays the equipment downhole.
Each grid has 4 buttons on the right side that aide in ordering, inserting and deleting the
equipment.
The Save button which is located at the top right side of each screen, saves the data which has
been entered while the Cancel button will restore your information back to the last saved data.
57
Rod string sections are entered starting at the top of the string and going down. Drop
down boxes provide the choices for rod grade and manufacturer, and Rod Size Diameter
activates when you select the size. The sum of the rod section length must be less than
50 feet different from pump depth entered in the Pump Data section.
To select a rod section, click on the number of the rod section. You can move between
sections using the arrow keys on your keyboard, or clicking the number of the rod
section. Clicking the Add a Rod button, will insert a new rod section at the bottom and will
select this rod section. Clicking the Remove a Rod button removes the selected section.
Steel rod service factor this is a de-rating factor used in analysis. If the default 0.95
is entered, XDIAG will assume that the rod string is at 95% integrity (5% weaker than
brand new rods). If we calculate the rods to be 95% loaded according to
manufacturers specs, we will analyze your rods as 100% loaded in the output
results.
58
Rod-tubing friction enter the value if it has been calculated by another program.
Total Rod Length auto-calculated value based on entered rod taper data.
Pump
Pump Type insert or tubing pump (required for analysis default is Tubing)
59
the grid and entering the value. The control buttons on the left are for moving, inserting,
or deleting tubing sections.
Marking the Tubing Anchored box will activate the Tubing Anchor Depth (ft) field where
the TA depth can be entered. If this configuration data is incorrect, the downhole card
calculations in XDIAG will also be incorrect. This can result in cards being diagnosed as
having gas interference when there is none, or as a malfunctioning tubing anchor when
no anchor is present, or possibly something else.
60
Once the profile has been entered, the plot survey can be viewed by selecting the Plot
Survey side tab to the right. This displays the profile on a 3d plot area. Keep in mind that
the scaling of the plot area may exaggerate the severity of the deviation profile if axis
scaling is not identical on all three axes.
The Analysis Options tab allows the user to individually configure various diagnostic options
related to automatic corrections.
61
Non-kinematic surface positions. Sensors are used to collect the load and position data for
POCs. Theta has found that these sensors may be subject to error for various reasons.
Understanding the mechanics behind this requires an in-depth explanation. Theta
recommends that XDIAG auto correction be selected, where applicable.
XDIAG auto correction lets XDIAG determine when the appropriate corrections are
needed.
Use positions from pumping unit kinematics will force XDIAG to substitute position data
based on kinematics for position data from the POC.
Do not correct disables any correction for this type of position data.
Phase-shifted surface positions. Configures how position data is corrected relative to top of
stroke problems. This error is normally caused when a position switch is used and the top of
stroke setting is inaccurate.
XDIAG auto correction lets XDIAG determine when the appropriate TOS or Phase Shift
corrections are needed.
Adjust position phase by is the number of milliseconds that the position data will be
changed relative to the load data.
Adjust top-of-stroke by is the number of inches that the top of stroke will be adjusted
positive or negative
Do not correct disables any correction for this type of position data (will likely result in
poor calculation of downhole cards)
62
Load Cell Adjustment. Alters the load cell value by the pounds indicated. If an uncalibrated
load cell is being used, please mark the box beside that option.
The Alarm Actions tab allows the user to determine how alarms are communicated and who
receives the alarms.
Alarm Recipients edit and select recipients from the Dialer and/or Email Contact Group.
63
To set up an Email Contact Group or Dialer Group click on the appropriate Edit button to launch
the configuration form. From here you can add a New Group by clicking on the Green plus icon
toward the lower-left corner, as well as edit or delete existing groups. The E-mail Contact window
displays existing groups on the left, existing contacts in the middle, and contacts assigned to the
selected group on the left. In the image below, User1 is a member of Group1, but User2 and
User3 are not. Contacts can be Added, Edited, or Deleted by clicking on the icons below the
Email Contacts field. Add or remove users from a Contact Group by using the Left/Right arrow
buttons between the Email Contacts field and the Group List field. Users in the contact group can
be moved up or down in the Group list on the right by selecting a contact and using the arrow
buttons below the field. This is helpful when using the dialer because XSPOC will call the users in
the order selected. However, XSPOC sends notification emails at one time, so order in not an
issue. Note that edits made to Contact Groups in this form are recognized anywhere that contact
group is used. Removing somebody from a Contact Group in Well Config will also remove them
from that Contact Group in Facility Tags (if its being used there).
64
NAVIGATION:
From the Main Client
window:
1. Click on the Well
tab.
2. From the
Configuration
Section of the Well tab, click on Register Panel.
FEATURES:
65
Once you have selected or entered the registers you wish to view, click the Read button to scan
the POC and return the Register Description and the Value stored in the POC. This data is
displayed in the Registers grid. The user may also set this to continuous read for repetitive data
collection, by checking the box labeled Continuous Read. When performing a Continuous Read,
you will be prompted for a time interval that is defined in seconds. Click read to start, deselect
Continuous Read to stop.
POC Values on Setpoint registers can be updated from the Register Panel. To change the value
in a register, you must first read the register. Edit the cell in the Value column that corresponds to
the parameter to be changed. This puts the cell into edit mode and now you can enter the value.
Click the Write button to download the new value to the POC. If the register can be changed then
the value will be written to the register. Otherwise, XSPOC will display a message stating that the
register is not writable.
Register Groups can be deleted as well. To delete a custom group, select the group in the dropdown and click Delete. Only XSPOC Administrators can delete Global Register Groups.
66
If you should choose one of the Event Logs from the Registers list or from the predefined
Register Groups list, then that log is retrieved and displayed on the Logs tab as shown below.
This feature applies to Lufkin SAM controllers.
If you dont have an All Call well then create a new well naming it something like All Call, select
the type of device you want to write to (remember that an All Call will not be limited to just those
controllers on the channel but will communicate to all devices on the channel), put 0 as the
Address, and choose the appropriate Communication Channel. We recommend that you leave
this well disabled except for those times when you will be issuing an All Call.
First you need to identify which register you want to write to all the devices on this channel.
Choose a well in the Well Explorer that is on the same communications channel as your All Call
well. Open the Register Panel and write a desired value to that register (must first read the
register before writing to it).
Now, select the All Call well from the Well Tree and in the Register Panel, right-click on value and
choose Last Value and click Write. You may want to verify with several wells that the value was
changed for the register that you wanted to change. If any wells are not communicating well, they
may not receive the change.
Be careful when issuing an All Call on certain registers. For instance issuing an All Call through
the Register Panel for the RTU Address will change all RTU Addresses in the field to the same
Address. So if you make a mistake and accidentally assign a well with an RTU Address of 0 in
the Well Configuration screen, do not go to the Register Panel, pull up the register address for
67
RTU Address in the controller and attempt to change the RTU Address by issuing a Write. This
will effectively change all Addresses in the remote RTUs to the same Address. The only way to
roll back this change is to visit every well site on the comm channel and manually change the
RTU address back to the original value.
NAVIGATION:
From the History Graph window:
1. Right-Click on the trend line that you want to be alarmed.
2. Select Configure Host Alarms from the context menu.
From the Group Status window:
1. Ensure that the Host Alarms column is visible in the current view.
2. Right-click in the Host Alarms column for the desired Node and select Configure Host
Alarms in the context menu.
FEATURES: Host alarms allow a user to configure an alarm for a given node and address.
These are different from RTU alarms, which are defined by the device and are simply read by
XSPOC. Currently, all alarm categories (host alarms, RTU alarms, and facility tag alarms) are
processed separately by XSPOC.
You can now click in the (*) row and begin configuring a Host Alarm. Begin by selecting a
Register Address on which to configure the alarm, then select an alarm type. The information
below will explain the different types of alarms and how to use other columns in the form for
configuration. As you configure these alarms, only cells with white backgrounds are editable.
Yellow backgrounds indicate a cell that is non-editable or does not apply to the selected Alarm
Type. The background colors of cells in the row will change once an Alarm Type is selected.
As Host Alarms are processed, they will change states. When a Host Alarm triggers, the alarm
will be visible to the user in Well Status (Alarms field) and in Group Status (Host Alarms column).
The user can acknowledge the Host Alarm in Group Status. If the alarm is still active, the alarm
state will change from Set, Unacknowledged to Set, Acknowledged. If the alarm has NOT been
acknowledged but it has cleared, the state will change to Clear, Unacknowledged. If the alarm
has been acknowledged and is no longer in an alarm state, the alarm will clear from Well Status
68
and Group Status. Note that the Acknowledged status of Host Alarms will not change without
human interaction. Each alarm must be acknowledged by the user in order to completely clear.
Upon opening the Host Alarms Configuration form, the user is presented with the options in the
image above. This form contains several configuration columns, but not all columns are used for
all Host Alarms. Each row in the form represents a Host Alarm on a specific Address from the
controller. The basic columns that will be edited for EVERY Host Alarm are:
1. Enabled: Determines whether or not this Host Alarm is processed for this well.
2. Address: The trend on which to process Host Alarms.
3. Alarm Type: This is the calculation method to use on this Host Alarm. Descriptions of
each alarm type can be found below.
4. Ignore Zero Address: (not required) Allows the user to set a conditional statement that
stops processing of this Host Alarm if another address on the controller reads 0.
5. Ignore Value: (not required) Allows the user to prevent alarm processing if the value on
this trend line is equal to the value entered in this cell.
6. Email On/Page On Columns (Six Total Columns): These columns specify the
notification actions to be taken on the selected condition.
69
Once Host Alarms are configured, the alarm limits can then be displayed on the Graph Plot Area
as shown below by right-clicking the trend line and selecting Show Alarm Limits in the context
menu.
SPC: SPC stands for "Statistical Processing Control". An SPC alarm trips when the most
recent value is outside 3 standard deviations of a range. The range is defined as all
values within a specified number of days from now. The following columns are used to
configure an SPC Alarm:
User Limit: A User Limit alarm trips when the most recent value is either greater than or
equal to the value specified in Limit Hi or less than or equal to the value specified in Limit
Lo. Unlike most other alarm types, the User Limit alarm is not analyzed based on
historical data. The following columns are used to configure a User Limit Alarm:
70
ROC-Positive: ROC stands for "Rate of Change". An ROC-Positive alarm trips when the
most recent value has increased by a specified percent from the average. The average
is calculated from all values within a specified number of days from now. The following
columns are used to configure an ROC-Positive Alarm:
o
PctChg: (required) The limit for the percentage of change from the average. This
value should be an integer, not a decimal.
ROC-Negative: ROC stands for "Rate of Change". An ROC-Negative alarm trips when
the most recent value has decreased by a specified percent from the average. The
average is calculated from all values within a specified number of days from now. The
following columns are used to configure an ROC-Negative Alarm:
o
PctChg: (required) the limit for the percentage of change from the average. This
value should be an integer, not a decimal.
Min to Max: A Min To Max alarm trips when the delta between the minimum and
maximum value of a range is greater than or equal to a specified value. The range is
defined as all values within a specified number of days from now. The following columns
are used to configure a Min to Max Alarm:
o
Min-Max: (required) the limit for the delta between the min and maximum values
71
Near Pump-Off: A Near Pump-Off alarm trips when the average casing pressure
subtracted from the average pump intake pressure is less than or equal to a specified
value. The averages are calculated from all values within a specified number of days
from now. This alarm applies to the ESP Centralift GCS POCType only. The address
used for casing pressure is 30316. The address used for pump intake pressure is 30305.
The following columns are used to configure a Near Pump-Off Alarm:
o
LimitLo: (required) the lower limit for the delta between the average casing
pressure (a) and the average pump intake pressure (b), i.e. (b a)
Value Change-Positive: A Val Chg-Positive alarm trips when the most recent value has
increased by a specified value from the average. The average is calculated from all
values within a specified number of days from now. The following columns are used to
configure a Val Chg-Positive Alarm:
ValChg: (required) the limit for the change in value from the average.
Value Change-Negative: A Val Chg-Negative alarm trips when the most recent value
has decreased by a specified value from the average. The average is calculated from all
values within a specified number of days from now. The following columns are used to
configure a Val Chg-Negative Alarm:
o
ValChg: (required) the limit for the change in value from the average.
Alarm States
72
The alarm state identifies two attributes of the alarm: (1) whether it is active/tripped and (2)
whether it has been acknowledged. It is set by XSPOC when the host alarm is processed via the
ProcessHostAlarms task. The chart below indicates the basic flow between states.
73
NAVIGATION: The Change Well Name button is available in the Configuration section of the Well
Tab in the Menu Ribbon. This is also available in the context menu activated by right-clicking on a
well name in the Well Tree.
FEATURES: The form is very simple. When it opens, it will already contain the existing well
name. Do not change this or the function will not complete properly. Simply enter the new well
name into the New Name field and click OK. A message will appear stating that this process
could take some time. Once it completes, a message will appear stating the success or failure of
the task. If the task fails, please contact Theta Support.
Delete
OVERVIEW: On occasion it is necessary to remove a well from your server. The Delete Well
button provides for this occasion.
NAVIGATION: The Delete Well button is available in the Configuration section of the Well Tab in
the Menu Ribbon. It can also be accessed by right-clicking on the well name in the Well Tree and
selecting Delete.
FEATURES: This button will delete the Master record for the selected well but it will not remove
all of its historical data. If you accidentally delete a well, please call Theta Support to learn how to
get it back.
FEATURES:
1. Enter a unique name in Well Name. This name cannot be in use on another well and it
cannot be blank. It also can not contain a forward slash /, back slash \, or ampersand
&. It should also not be identical to a previously used Well Name unless the database
has been purged of all historical data for the previous well.
2. In the Controller section, select the controller type and communications port, and
designate the RTU address. If an address has not been assigned, enter something like
9999, and then edit the address later. XSPOC will warn you if this number is currently
74
used by another well. Do not use 0 unless you mean to create a well that will act as an
All Call well. (See the paragraphs on All Call Wells in the Register Panel section above.)
3. You can choose to create this well in the Enabled mode so it will beavailable for
scanning right away. This selection box is located at the bottom of the screen next to the
Create button.
4. You can choose to clone this well from an existing well. The original wells Controller
configuration information will be copied to the new well. Click on the down arrow to open
a list of existing wells and select a well from which to clone.
a. Choose to clone the Surface and Downhole data from the existing well by
selecting the Include Surface and Downhole Equipment box.
b. Choose to clone Facility Tags from the existing well by selecting the Include
Facility Tags box.
5. Click Create to create the new Well.
You should now select the new well in the Well Explorer and open the Well Configuration window
to edit specific information concerning the well. The best place to find this well is in the default
All group. If that does not exist on your system, look for a group that contains both enabled and
disabled wells. Or you can search for the well in the Search Well drop-down box. The tabs found
in Well Config will be discussed in Well Config Windows section above.
75
Important In order for XDIAG to give accurate results for the new well, all equipment data
should be properly and accurately updated as soon as possible. If this new well has a SAM POC
and you have previously entered information into the SAM, you can upload this information from
the controller into XSPOC using the Well Configuration screen.
Theta should be contacted when a customer adds new wells to take care of any licensing issues.
NAVIGATION: The Refresh External Data button is located in the Configuration section of the
Well Tab in the Menu Ribbon.
FEATURES: This button intiates a communication event that will retrieve data for the selected
well from WellView and the production monitoring database (TOW, ProdView, etc.). If no
database connections are configured, this button has no effect on the well.
Group Information
Group Status Window
OVERVIEW: The Group Status Window displays the current status of the wells that are in the
selected group. This window, which is laid out in a spreadsheet view, is used to get a quick and
visual overview of the current operation of the wells.
NAVIGATION: To open the Group Status window, you must first select a Well Group from the
Well Explorer.
76
FEATURES:
1. Overview:
The data in the Group Status window reflects data collected during the last scan of the wells.
The Group Status grid can be refreshed by clicking on the Refresh button on the toolbar.
Checking the auto refresh option will cause the Group Status grid to automatically update
every minute. Checking the lock button in the lower right allows the user to start another
instance of the Group Status window. The form can also be popped out of the XSPOC client
by clicking the Pop-Out button next to the locked button in the lower right. This allows the
user to view the group status screen separately from the well specific forms he may have
open in the client.
Notice that the Well Explorer is not covered. The Well Explorer stays open at all times
allowing you to navigate from group to group, or well to well, as the need arises. Choosing
77
another group from the Well Explorer will cause the Group Status grid to display information
pertaining to the new group.
The Group Status grid is arranged according to what XSPOC calls Views. Views are
definitions of Group Status grid layouts that define which columns are displayed, the order in
which the columns are displayed, and the width of each displayed column. There are two
types of Views: Global Views and Custom Views. The main Global View is known as the
Default View. Global Views are defined by XSPOC Administrators. Global Views can be
customized by the user and saved with a different name. These customized views are visible
only to the user who creates them. Custom Views can also be modified by the user and
saved with a unique name. Global Views and Custom Views can be assigned to specific well
groups so that when a well group is selected by the user then the assigned view will display
in the Group Status grid. For more information on assigning views to well groups see the
topic Associate User Views Window later in this manual.
The columns in this grid can be resized and moved to suit a users preference. The only
column that cannot be moved is the Well Column since that is a fixed column. Columns in the
Group Status grid, except for the Well Column, can be sorted by single-clicking on the
column headers. The sort order will reverse itself if the column header is single-clicked again.
You can also select all wells in the Group Status View by pressing Ctrl-A when the Group
Status Window has the focus. To just have one well selected again just click on a single well
row. Any changes that are made to the Group Status Grid will need to be saved before they
78
become permanent. To bring the Group Status Window back to its configuration prior to
customization, simply single-click the Refresh button and the view will revert back to its prior
configuration with current information.
The ability to customize the Group Status grid gives you the option of prioritizing what data
you want to see in printed or emailed reports.
You can select a well or group of wells for an action. To select contiguous wells within a
group, simply place the cursor on the name of the top well in the list of wells to be selected
and then click-and-drag across the names of the wells you want to select for an action. The
selected wells will be highlighted in the grid. Or you can select the first well you want and
then Shift-click on the last well you want to include in your action group. To select noncontiguous wells within a group, simply hold down the CTRL key while single-clicking each
well to add to the action group.
With your action group selected, you can choose an Action from the Group Status Action
menu. This allows you to perform specific actions on selected wells within a group, such as
scanning, shutdown, etc.
79
The Group Status Window has its own toolbar with six different options Refresh, Print, Action,
Views, Current View and Auto Refresh. Here is a brief description of their functions:
80
Mode - contains menu items dealing specifically with the run mode of the selected
wells.
o
Constant Run Mode - causes the selected wells to go into Constant Run
Mode.
% Timer Mode - causes the selected wells to go into Percent Timer Mode.
POC Mode - causes the selected wells to go back to POC monitoring mode.
Change Disable Code (if active) allows the user to enter a code to indicate why
it is disabled.
Enable Host Alarms enables all host alarms for the selected wells.
Disable Host Alarms disables all host alarms for the selected wells.
Add/Edit Field Allows the user to enter comments to an editable field for
multiple wells at one time.
Copy copies Group Status spreadsheet for exporting to and pasting in an Excel
document.
81
Customize - displays the Group Status Views Setup window allowing the user to
add or remove columns from the current view. The user can also reorder the
columns on the current view from this window. (See Customization section
below.)
Save - allows the user to save any changes made to the current view.
Save As - allows the user to save any changes made to the current view as
another view.
Associate Views with Groups - displays the Associate User Views window
allowing the user to choose default group views from any of the previously saved
views.
Delete View - displays the Delete View window allowing the user to choose
previously saved User Views to delete.
Current View - contains all the views saved by the current user and the XSPOC
Default view. The user can choose a view and change the current view to another
view.
Auto Refresh sets the Group Status window to automatically refresh with up-to-date
information every minute.
The Group Status window opens with a set of columns that are defined by the user or defined by
the Default XSPOC View.
Well - This column lists the name of the well and is the fixed column in every view.
In/Out - This column denotes whether the well is enabled for scanning. (Green = Enabled
and Red = Disabled) The user may decide to disable scanning of a well if the wells
controller will be turned off. This makes the communications more efficient by not wasting
time on controllers that will not respond to a scan. Disabling a well does not affect the
operation of the controller in any way. It merely causes XSPOC to no longer
communicate with the well (unless re-enabled). There are two ways to change a well's
enabled status: A user can double-click on the enabled cell to toggle the enabled state. A
user can select a well or multiple wells and then choose the Action: Enable Wells/Disable
Wells menu item.
82
Pump Condition - This column reports the pump condition from the last XDIAG analysis
of the well. Examples of pump conditions would be 'Leaking traveling valve' or 'Worn
pump'.
Communication Status - This column contains the communications status of the last
attempt to communicate with the well. The status will either be 'OK,' 'CRC Error,'
'Timeout,' or SocketConnectFail.
o
CRC Error indicates that a response is received from the controller, but that the
data packets from the controller are being received with errors. If this happens,
no data will be updated in XSPOC.
Timeout error indicates that there is no response from the well, potentially
caused by a power failure, remote radio failure, bad controller address, etc.
Run Status - This column contains the running state of the well as of the last successful
scan. The status will generally be Running, Idle, or Shutdown. The run status may
contain other information, depending on the type of controller being used.
TIS (Time In State) - This column indicates how many minutes the well has been in the
current run state (running, idle, or shutdown). Please note that, depending on the
controller, this value may not always be correct. Some controllers have an upper limit for
this value, or they may have odometer-style register that rolls over after a certain number
of minutes.
Alarms - This column indicates the highest priority RTU alarm (alarms caught by the
RTU) or OK if there are no RTU alarms. Since a controller can have multiple alarms, the
user can right-click on this cell to view a drop down list of the alarms. The priority of the
alarms can be set through an administrative function.
Host Alarms - This column indicates the highest priority host alarm (alarms caught by
XSPOC) or OK if there are no host alarms.
% RT (Today's Run Time) - This column shows the well's percent runtime for today. This
is typically based on the controllers reported runtime since gauge-off compared to server
time since gauge-off. Some controllers do not track runtime.
Comment - This is a column that can be used to store any comment that the user wants
to associate with the well. Double-clicking or right-clicking will cause an Edit Comment
window to display so the user can edit the comment. Any comments entered here are
automatically added to the Well Notes history as well.
% RTY (Yesterday's Run Time) - This column shows the well's percent runtime for
yesterday. This cell will be highlighted in red if the value falls outside the typical operating
83
range (using SPC or Statistical Process Control) for this well. It will also be highlighted in
red if it goes outside a range specified by the administrator. The well's color scheme is
directly related to the Operational Type for that well (setup in the Well Configuration
screen). If a well is identified as a 24-hour operating type, then the cell will be highlighted
in red only if the runtime falls below the specified upper limit. For a cycling well, it will be
highlighted in red if it is below or above the specified limits. The cell will be highlighted in
yellow if the well has a high degree of variation in its data, indicating that the SPC limits
are too broad and that there may be a problem with the operation of the well.
Oil - This is the oil production rate, measured during the last well test. 0 appears if no
Well Tests have been entered.
Last Good Scan - This is the date and time of the last successful communications with
the well.
Tech Note this column functions the same as the Comment column and provides
another location to store notes. These notes are also stored historically in Well Notes.
% Fill - This column reports the pump fillage percentage. This value is reported by the
POC (some controllers do not support this). This value is of interest on POC operations
where the well is set up to not cycle. It is useful for monitoring the pumped-off state of the
well; particularly in heavy oil, non-cycling wells.
Host Alarms This column displays the highest priority Host Alarm. Host Alarms are
configured on individual wells.
Cycl (Todays Cycles) - This column indicates the number of times that the well has
cycled today. Some controllers do not support this function.
YCycl (Yesterdays Cycles) - This column indicates the number of times that the well
cycled yesterday. Some controllers do not support this function. This cell will be
highlighted in red if the value falls outside the typical operating range for this well (using
SPC). It will also be highlighted in red if it goes outside a range specified by the
administrator. The color is also affected by the Operational Type specified for the well
(setup in the Well Configuration screen). If a well is identified as a 24-hour operating type,
then the cell will be red only if the runtime falls above the specified lower limit. For a
cycling well, it will be red if it is below or above the specified limits. The cell will be yellow
if the well has a high degree of variation in its data, indicating that the SPC limits are too
broad and that there may be a problem with the operation of the well.
84
NAVIGATION:
FEATURES: The Group Status Views window features two list boxes. The Columns To Select
list displays all of the columns that can be added to the Custom View. The Selected Columns
list displays all of the columns that are in the current Custom View. The Items in the Selected
Columns list are displayed left to right in the Custom View as you go down the list. For example in
our figure below, the "Enbld" column would be the far left column in our Custorm View while "Host
Alarms" would be the far right column in our Custom View. The "Well" column is displayed as a
fixed column on the left hand side of every view. All columns are listed by column alias if one
exists, otherwise they are listed by column name.
85
To add a column to the Custom View, mark the checkbox beside the column name you
want to display. It will transfer to the bottom of the Selected Columns list on the right
To remove a column on the current Custom View, select the column you want to remove
in the Selected Columns list and press the DELETE button.
To change a column's order in the Custom View, click on the column you want to move in
the Selected Columns list and then use the up arrow button
button
will let you preview changes you have made and return
you to the Group Status window where the modified Custom View will be displayed. To save the
changes, you will need to click the floppy disk icon beside the Current View dropdown box.
Clicking on the Cancel button
NAVIGATION:
FEATURES: The Choose View combo box displays the names of previously saved Custom
Views. Administrator-Defined Custom Views have the "(Global View)" identifier. You must first
save a Custom View before it will be displayed in the Choose View list. Choosing a View from the
Choose View combo box will display all the Well Groups that use that view in a bold font and a
check mark will appear in the box next to the Well Group name. Well Groups that are associated
with another Custom View will display that Custom View name in parenthesis next to the Well
Group name.
86
To associate a Well Group with a Custom View, choose the Custom View from the Choose View
combo box and then check the box next to the Well Group. If you choose a Well Group that
already has a Custom View association then the new association will be established when you
click on the OK button. Make as many changes as necessary before clicking on the OK button.
The Select All and Unselect All buttons allow you to quickly associate or unassociate wells to a
particular Custom View. You can not associate a Parent Group with a Custom View. No changes
are saved until you click the OK button. If you do not want to save any of your changes then click
on the Cancel button. Clicking on the OK or Cancel button will close the dialog box.
Making Custom View associations effects the way the Group Status window is displayed to you.
When you select a Well Group from the Well Group tree, XSPOC will first check for an associated
Custom View. If XSPOC does not find an associated Custom View then it will check for an
associated Global View. If XSPOC does not find an associated Global View then it will check for
the last used Custom View which would have been selected from the Views menu on the Group
Status Window. If you are viewing a Well Group that has an associated Custom View in the
Group Status Window, you can change to another Custom View by selecting it from the Views
menu. This Well Group will display the well information using the selected Custom View until you
87
either select another Custom View from the views menu or navigate to another Well Group and
then return to the previous Well Group causing XSPOC to display the well information with the
associated Custom View.
Remember that the Group Status Current View window displays the well information based on
the following priorities:
Associated Personal Custom View -> Global Custom View -> Last Used View
Group Reports
The Reports Dropdown offers several different reports. Clicking on one of these options will
typically open a print preview of the report data. Each report will contain data for all wells in the
selected group if such data exists.
Alarm History: selecting this reports opens a Time Frame dialog asking for a number of
days. The report lists all of the alarms which have been recorded in the time frame
specified.
Parameter Change: Lists all addresses for each well in the group where the POC
Setpoint Value does not match the XSPOC Backup value. The data for this report comes
from the DoSetpointScan comm event on each port (tblSchedule). This event runs
nightly. Any address that appears on this list has a value that was changed at the site by
the operator or it was changed by another Scada program communicating with this well.
Values that are written from XSPOC will never appear on this report.
88
Last Analysis Results: Displays Well Name, Card Date, Comm Status, RTU Alarm, Oil
Rate, Gross Rate, Analysis Gross Rate, Pump Efficiency, Yesterday Runtime, and Pump
conditions from the most recent analysis for each well in the group.
SAM Production vs. Well Test Report: Displays a comparison of Oil, Water, Gas, and
Total Fluid from the SAM and from the most recent Well Test for all wells in the Group.
The customer should be using SAM Well Test data from the controller to populate this
report.
Well Group Problem: Lists wells and appropriate data about wells that are currently
experiencing problems out of the current group.
NAVIGATION:
From the Main Client window:
1. Click on the Group tab.
2. From the Status menu item, choose Alarm History in the Analysis Section.
of 1- 60 minutes in which this window is refreshed for the chosen Well Group. The History allows
the user to select a pre-defined interval of 1 Hour, 1 Day, 1 Week, 1 Month or 1 Year which is the
length of time of history on the alarms.
89
FEATURES: The Well Test History window allows the user to view Well Test information that has
been entered manually or automatically via data imports. Well Tests can be entered from this
screen as well. The date range can be modified by clicking on the date range in the upper left
corner of the window. Well Tests can be approved by the user by marking the box in the
Approved column for the appropriate test. For more info on Well Tests, please see the Well Test
article in the Well Screens section above.
Features: The Meter History window allows users to enter, approve, and review Gas, Injection,
and Production meter volumes. Meter volumes can also be entered automatically through data
import tasks set up by Theta.
90
The administrator can choose which columns appear in this screen for each meter type. Simply
click the Columns button in the toolbar, select the meter type, and select or de-select the columns
as desired. This will apply to all users in the software.
Field Maps
OVERVIEW: The Field Maps window allows the user to view the wells of the field laid out on an
oilfield map.
NAVIGATION:
From the Main Client window:
1. Select a group in the Well Group Tree
2. Select Field Maps from the Tools Section on the Group tab in the ribbon.
FEATURES: The latitude of this map is the Y-Axis while the longitude of this map is the X-Axis.
Wells are displayed on the map as a flag containing the NodeID above the map point. The
Refresh button will retrieve new data from the database and display updated info on the map.
After making changes to any wells in regards to this map or to refresh the communication status
of all the wells on the map, you can click on the refresh button to update the well information. The
Print button will lauch a print preview of the map for saving or printing. Well flags are color coded
depending on the Run Status that was retrieved during the Last Good Scan; Green denotes
Running, Yellow denotes Idle, Red denotes Shutdown, and Blue denotes any other condition.
91
Placing the mouse cursor over a well point on the map will display more information in regards to
the well status, as shown below.
Map data can be input in the Map Info area on the Controller Tab in the Well Config window. To
remove a well from Field Maps, simply remove the Latitute and Longitude data from the Well
Config window.
The Oilfield Map window supports zooming and scrolling of the zoomed window. To zoom in to
the map, double click on the map or use the plus and minus zoom icons on the map display
screen. Scrolling around the zoomed window is possible by right- or left-clicking on the map and,
while holding the mouse button down, move the mouse.
Group Builder
This topic is discussed in the Administrators manual below.
Facility Information
Facility Status Window
OVERVIEW: The Facility Status window allows you to get a quick overview of any facilities,
including the communications status, and the status of any alarms at each facility. Facilities are
configurable nodes in XSPOC that allow you to pull in data from RTUs, PLCs, or any other
devices that use the Modbus, Allen-Bradley DF1, or OPC protocols.
92
FEATURES: The Facility Status screen has fixed columns that show the name of the Facility, the
Comm status, whether the facility is Enabled (green) or disabled (red), Tag Count, Alarm Count
and Comments. Each facility has tags that correspond to registers within that facility and their
Description and Address define the tag. The Facility Status window shows whether the facility has
any tags that are currently in alarm, the value from the last scan, Units and the last time that
successful communications happened for each tag.
The Refresh button on the toolbar allows the user to refresh the
data from the database. The Auto Refresh option allows this
form to be updated from the database at regular intervals. The Reports option will provide a
facility report. To manually scan the facility, make sure the facility is chosen in the Well Explorer
and then select the Scan button from the Main toolbar. To see the results of this scan you will
have to click on the refresh button. Another way to manually scan the facility is to right-click the
facility name in the Facility Status window and choose scan from the popup menu. You can also
set the comment by clicking in the comment box and typing the comment. Keep in mind this is the
comment for the well/node, not for a tag.
93
If the data point exists on only one well or on only some of the wells, or if the input is different
from well to well, or if the same input on different wells has different scaling factors or addresses,
then the Facility Tags Configuration tool can be used to configure these tags.
FEATURES: To configure a Facility Tag you need to type in the information on the General tab.
Here are the fields and their descriptions:
General Tab:
Name: Unique Name of the tag. This will auto-populate with NodeID|Address|Bit if
nothing is entered. This name must be unique on the server.
Facility Tag Group (optional): If you want to be able to group facility tags in Facility
Status, you can create and manage the group name in this field.
Register: Modbus address, AB Data location, or OPC tag name for the data point
being requested. Modbus addresses may need to be offset by 30001 or 40001
depending on the type of address and device configuration.
Bit: a setting of 0 will tell XSPOC to read the entire register. Any other entry will read
a single bit out of the address (will always return a 1 or 0). Bits are numbered starting
at 1 to 16 (for an Integer) or 1 to 32 (for a Float, Long, etc.). Therefore, to read the
first bit, rather than inserting a 0, enter a 1.
Data Type: This drop down determines how XSPOC parses the bit data returning
from the controller (HLHL, HLLH, LHHL, LHLH, etc.) The most common data types in
Modbus are Integer, Discrete, and Float (modicon).
Enabled (Tag Configuration): toggles the tag on or off. If it is not enabled, XSPOC
will not attempt to read the address.
Writable: If this address can be written to, this switch enables the function in XSPOC
Facility Status.
Display Decimals: If decimals are returned, this setting determines how many
decimal places will be displayed. E.g. 2 decimals would display at 1.23.
94
Group Status Column: Allows this tag to be selectable in Group Status Customize.
Enabled (Trending): Turns on data trending for this tag. This is different than the
other Enabled setting. If the Tag is enabled, but Trending is not, the tag will scan but
will not record to History Graph.
Trend Data To: Allows the user to select a secondary node to trend data to. This is
helpful if your pressures are monitored by a PLC, but data belongs to a Rod Pump
Controller. The tag data can be redirected back to the Node it applies to.
Standard Measurement: tells XSPOC the type of data being collected so it can
display the data in the necessary locations. E.g. selecting Tubing Pressure in this
dropdown will tell XSPOC to display this information next to the Tubing Pressure
label in Well Status.
Unit Type: Used instead of Standard Measurement Type. This tells XSPOC how to
convert data for display when metric measurement settings are selected by the user.
Deadband (Limits): tells XSPOC what the buffer is for removing an alarm on a Faciliy
Tag. This setting helps to prevent eratic alarming when the return value is hovering
around the Hi or Lo Limits.
Limit Lo and Limit Hi: These values will trigger an alarm if the Current Value is equal
to the limit.
Scaling: use the Raw Lo, Raw Hi, Eng Lo, Eng Hi to determine how data is scaled
when returning from the controller. E.g. if an integer value of 1234 should actually
display as 123.4, enter 0 in Raw Lo and Eng Lo, and enter 1000 in Raw Hi while
entering 100 in Eng Hi. This will multiply the returned value x 0.1 and shift the
decimal one place to the left. Be sure to configure Display Decimal as well.
To set Alarm Actions for this Facility Tag select the Notification tab.
95
The Notification tab allows the user to set up E-mail or Call/Page actions on alarm triggers.
Simply mark the selection box for the desired action(s). Be sure to include text in the appropriate
fields the feature will not work without it. Email and Dialer contact groups can also be
configured from this screen. Facility Tag Alarm contacts are unique because these are the only
alarms whose contacts are not tied to the Route on which the well/node resides. These alarms
can be sent to anybody in your organization. Note that the Call/Page options will not work if a
Dialer package and modem have not been purchased. Contact Theta to implement the Dialer.
Emails will be sent only if an SMTP server has been configured in tblSystemParameters. (See the
article title Email Notification Setup in the Administrators Manual for more information.)
96
Wells when the Tag value is higher than the Limit Hi specified on the General Tab. XSPOC can
also perform a Startup action on the desired Well or Group when the value returns to the normal
range (safety precautions are strongly encouraged). Note that a scheduled event called
FacilityWellControl performs these Starts and Stops. If that event is not enabled in tblSchedule,
the software will not shutdown or start a well on alarm violation.
To use the Execute Custom Script option, Theta will need to build the script and provide it to your
company. There is often a cost involved with this feature. The Beep on Alarm feature will cause
the Bios Speaker of the XSPOC server to beep when an alarm is active. This was useful in older
fields where the XSPOC server was in a field office in earshot of operators or supervisors. Lately,
most XSPOC servers have been moved into server rooms and the blades they reside on may not
even have a speaker. This feature will be removed in a future release of XSPOC.
Ensure you save any changes you have made to the Facility Tags Configuration screen before
closing it.
Schematic Designer
OVERVIEW: The Schematic Designer provides a method for building device specific screens for
PLCs or other devices in XSPOC. Possible uses would be for graphically displaying a gathering
facility or a complex well pad using multiple types of measurement and collection. The user is
able to choose the type of graphics to display, from equipment to simple table elements. In
addition, if a desired object does not yet exist in the library, the user is able to use a snapshot or a
drawing object from another software platform by importing the desired image to the users
library.
FEATURES:
The Schematics Designer screen consists of an Object Library on the left, a Canvas in the
middle, and an Object Properties form on the right. The toolbar across the top of the canvas
allows the user to edit the objects on the canvas or properties of the canvas itself.
The schematic can be named upon first opening by entering a value in the Schematic Properties
Name field. The schematic is set to auto-refresh every 30 seconds by default. This can be
adjusted by entering a different value in the Auto Refresh Interval field. This setting will cause the
97
designer to check the database for updated scan data for tags being displayed in the schematic
and update the schematic when data is available. This setting takes effect only if tag data is
linked to schematic objects (see below). This setting can be toggled on or off using the slider to
Objects can be moved onto the canvas by clicking them in the library and dragging and dropping
them onto the canvas. Once the object is on the canvas, it can
be edited using the toolbar across the top of the canvas. These
buttons will be defined below. After placing an object on the
canvas, the user can click the object to focus on it. From here,
the user can edit the size, move the object, clone the object, or
delete the object if no longer needed. Hovering over each icon
will activate a tooltip defining the operation of that icon.
Once several objects are placed on the canvas, they can be tied to each other using the Lines or
Pipes options in the Toolbar. Many objects have specific tie points for pipes or lines, or the
lines/pipes can be connected to the middle or corner of any objects boundaries. To connect
objects using pipes or lines, click in the white space of the canvas to remove all objects from
focus, then hover over the starting object
until the cursor transforms to crosshairs.
Click and drag to draw a line or pipe and
release the mouse click at the destination to
end the drawing. Now hovering over the
line/pipe object activates editing options for the object. Once the line/pipe object has been placed
98
on the canvas, the user can click anywhere on the line object to create a bend point. Once the
point has been created, the user can hover over the point and then click+drag to move it. Or the
whole action can be performed at once by
clicking on the object, and the dragging the
new point to the desired location and
releasing the mouse. Line/pipes will appear
at any desired angle. However, if a crisper
layout is desired, toggle the Manhattan effect ON in the Link properties on the right side. This will
create the effect seen in the image to the right.
A Facility Tag can be attached to some library objects so data will update in the schematic. To do
this, click on the desired object (in this case it is a tank). In the Facility group in the Properties,
select the Node from which the data is being collected, select the Tag
Name, and select the fluid type in the tank (this setting only applies to
tanks). Note that the min and max values are determined by the
Engineered Lo and Hi settings from Facility Tags Configuration (see the
Facility Tags article above). The current value will display on the tank wall
to the left of the level indicator. If using the generic level indicator, the value will display at the top
of the indicator. If the current value is over or under the limit, an Alarm icon will appear to the
upper left of the object indicating the alarm state (the position is editable using the Alignment
sliders in the Alarm Indicator property group.
If desired, the label for the data point can be changed from the Facility Tag name using the
Parameter Text property group. To use the label field in this group, toggle Off the Use Tag
Description option. Other text properties can be configured here as well using the available
sliders and drop-downs.
Once the schematic is complete, the editor can be closed. The user can then open the uneditable
schematic by double-clicking on the schematic in the Well Tree Schematics folder located at the
99
bottom of the Well Tree in the client. The viewer will refresh at the preset interval, and the user
can request updates by clicking on the Refresh Data button in the toolbar.
The functions of the Toolbar buttons across the top of the canvas are defined here. Hover over
each button to see the label.
Clear Paper: wipes the canvas clean so the user can begin designing again.
Zoom In/Zoom Out: reduces or enlarges the appearance of objects and lines on the
canvas.
Zoom to Fit: Automatically sets the zoom level to where all objects are visible on the
canvas.
Bring Object to Front/Send Object to Back: changes the layering order of objects on
the canvas for improved visibility of desired information.
Auto-Layout Graph: Automatically arranges objects and pipes on the graph in a way
that maximizes usage of space. Beware that this will move every object on the
canvas. This can be reverted using the Undo button.
100
101
NAVIGATION: From the main client window, click on the Tools tab and select Settings in the User
section of the menu ribbon.
FEATURES: User are able to toggle between English and Metric measurement units by clicking
on the radio button next to the desired measurement units. Click save when finished. All open
forms in XSPOC should update as soon as this screen closes. If a form does not refresh with
appropriate labels and data points, please close the form and re-open it.
NAVIGATION: To access the Log Verbosity dropdown, select Log Verbosity from the User
section of the Tools tab in the Menu ribbon. To access the Log File, click the Log File dropdown
and select View in the User section of the Tools tab in the Menu ribbon.
FEATURES:
Log Verbosity: The log verbosity is reset to Error by default every time the client opens.
The user can change the verbosity by clicking the dropdown and selecting one of the
lower level options. The options get progressively more verbose (record more data) as
you go down the list of options. Setting verbosity to Warn will record all Warnings AND all
Errors in the software. Info will record all Info, Warnings and Errors. After changing the
verbosity value, the user can step through some actions in the client and then view the
log by clicking View in the Log File dropdown.
Log File: The Log File is stored on the clients computer in a text document. Clicking on
the View option in this dropdown opens a form that displays the most recent records from
this file. Because this file can get quite large, the user is presented with several size
options in this dropdown as well. To display a small amount of data, choose the Size-Low
option. To display as much data as possible, choose the Size-High option. The default
setting is usually sufficient because the user is typically looking for only the most recent
information and this will be included in all three size settings. When finished viewing or
copying the log file information, close the form with the button in the lower right.
OVERVIEW: The User Security Settings button launches a User List form which displays user
names, associated privileges, User Roots (Well Tree access levels), and Last Access Dates for
all XSPOC users on the system. If the user is an Admin, he can use this screen to Add, Edit or
Delete users in XSPOC. If the user is not an Admin, he will be able to view his own account
properties only. To view Account properties, simply double-click on a User Name, or single-click
the User Name and select the Edit icon in the toolbar (between New User and Delete User). For
more information on this form for administrators, see the Admin Manual article called User
Security for more information.
NAVIGATION: From the Menu Ribbon in the Main Client, select Tools, then User Security
Settings in the User section of the tab.
Language
OVERVIEW: The user is able to change the language of the client to display the main client and
child forms in another language. Supported languages include English, French, Spanish,
German, Russian and Chinese. Data used to support these languages is found in the
LocalePhrases table in the database. Note that administrative changes are necessary to translate
the XDIAG results for Rod Pumps into other languages and not all phrases or languages will be
supported.
NAVIGATION: From the main client Menu ribbon, click the Tools tab then the Language
dropdown button.
Group Builder
Communications Log
OVERVIEW: The Communications Log allows an Administrator to watch data traffic on a single
channel or a single node to troubleshoot and identify problems in communications.
103
NAVIGATION: Select the Communications Log button in the Admin section of the Tools Tab in
the Menu ribbon.
FEATURES:
To monitor a channel, select the desired communications channel from the Port
dropdown and click the Start icon (play button) in the upper left. To stop monitoring, click
the Stop icon. Beware that data will be retained in the window until the window is closed
or until the user hits the Start button again. Each time the logger is started, the history is
erased.
To monitor a single device, first select the Port and then the device name from the Device
dropdown.
Verbosity: The default log verbosity is Low. This will log basic communications data
including data packet contents, data transmission type, and timestamps. To get more
information (such as KD Loops or Trim actions) increase the verbosity to Medium, High,
or Advanced. Most users find the Low verbosity setting to be sufficient for analysis.
Recorded data can be copied out of this form and pasted into Notepad, Word, or Outlook
(or others editors) for reference or analysis. Simply click and drag to highlight text and
use mouse or keyboard shortcuts to copy and paste the data.
NAVIGATION: From the Menu ribbon in the Main client window, select the Tools tab and then
Generage Encrypted Password in the Admin section of the tab.
Clear Transactions
OVERVIEW: The Clear Transactions dropdown contains commands that will eliminate all Scan
transactions or all transactions from the Transactions queue. The user must be an Administrator
to perform these actions since temporary data will be removed from the database upon initiation
of the command.
NAVIGATION: From the Menu ribbon in the Main client window, select the Tools tab and then the
Clear Transactions dropdown in the Admin section of the tab.
104
Flow-Cal Export
OVERVIEW: Customers communicating with ABB TotalFlow devices through XSPOC might want
to export production data to an accounting/allocation program like ProCounts. XSPOC supports
collection of this data in addition to a full audit trail for the information. If data is tampered with in
any way in XSPOC, the software will not export the corrupted record. With this feature, the user
can trust that the data exported from XSPOC is as secure and trustworthy as the information on
the device itself. The Flow-Cal Export button allows the user to specify the locations to where
Flow-Cal files are exported.
NAVIGATION: From the Menu ribbon in the Main client, select Tools and then Flow-Cal Export in
the Admin section of the tab.
FEATURES:
The Daily Export Path is the location (on the XSPOC server) where Flow-Cal files are
exported on a daily basis according to the Scheduled Event in tblSchedule. Selecting
Browse will allow the user to select a new location on the server. The daily export files
contain one day of production data and are typically created after gauge off time.
The Demand Export settings are used for one-time exports of production data. The
Demand Export Path is the users local file path on the users machine (NOT the XSPOC
105
Server). To change this location, click browse and navigate to a new folder. The Select
Meter dropdown allows the user to select and individual meter for which to export data or
he can select ALL meters. Demand file exports contain all production data from the
previous month and can be created between the 1st and the 5th of the month.
NAVIGATION: From the Menu ribbon in the Main client, select Tools and then Change XBAL
Template File in the Admin section of the tab.
NAVIGATION: From the Menu ribbon in the Main client, select Tools and then Configure in the
Applications section of the Tools tab.
FEATURES:
The Configure form will be empty the first time it is opened. To create a configuration
record, select the desired program from the dropdown in the upper left.
Then click the browse button in the upper right to navigate to the programs executable.
This file is generally located in the Program Files (x86) folder in the Theta folder. If the
software was installed on a secondary drive, navigate to the install location and select the
executable. Here is a list of executable names for Theta Software:
106
XBAL: XBAL.exe
XTOOLS: XTOOLS.exe
XROD: XRODV.exe
RODSTAR: RSWIND.exe
When ready, click the Add button in the upper right corner to create the location record.
Save and close the form when finished and the buttons should appear in your Tools tab.
If not, please restart the client to see the changes take effect.
For more information on using RODSTAR and XBAL with XSPOC, see the articles below
called Run RODSTAR/XBAl from XSPOC.
When launching XBAL and RODSTAR/XROD from XSPOC, Well Config files are passed
from XSPOC to these programs. XSPOC will allow for importing of XBAL files but be
careful to import ONLY if the file reflects current equipment data at the well.
RODSTAR/XROD files cannot be imported because these files are not indicative of
current configuration. XTOOLS and Genesis Live do not transfer data files or import data
files upon completion.
Animations
OVERVIEW: XANIMATE has been rolled into XSPOC and the animations have been made
accessible via the Tools tab. These animations provide a graphical explanation of different pump
conditions, pumping unit geometry types, various systems, and more. To launch an animation,
simply select the animation from the list on the right and click the Start button in the lower right
corner. There may be some delay prior to launching the animation depending on the network
speed between the client computer and the server. Each animation must transfer across the
network before playing on the clients PC.
NAVIGATION: From the Menu ribbon in the Main client, select Tools and then Animations from
the Applications section of the Tools tab.
107
Once RODSTAR opens, the user will be able to make changes to the design. To learn how to
optimize a well, Theta recommends that you attend one of its RPO schools. After you have
modified a design and you want to save the file, single-click File, Save and then choose the
directory where you wish to save the file. The default location will be in the XSPOC directory;
however, you may wish to store the .RSVX or .RSDX file in a different directory.
If you get the message below, single-click the yes button and enter the data necessary to build
the XBAL file. The well name in the XBAL file MUST match the well name used in XSPOC.
If an XBAL file exists for the well, XSPOC will launch directly into XBAL.
In XBAL, enter the necessary data (Company Name, Well Name, User Name, Date, Unit Type,
Crank Type, CounterWeight data on the crank arms, and Crank Rotation). Once the file is
complete and accurate, click Save to save the file to a desired location. Upon closing XBAL,
XSPOC will notice that changes were made to the file and ask if you want to import the file into
the XSPOC database to be used during XDIAG analysis. Select YES to import the file. Select NO
if you made design changes in the file and it is no longer indicative of the actual configuration at
108
the well. Once the weight placement has been updated to match the design, re-open the XBAL
file from XSPOC and update the config file with the corrections and save the file to the database.
After importing your file to XSPOC, it will automatically import the maximum counterbalance effect
and XDIAG will be able to determine loadings on the
gearbox.
109
Yes, a log can be accessed through the client by navigating to the Tools tab, clicking the
Log File dropdown menu, and selecting View Log. This log file is also available in the
Temp directory. The files name is XsClient.log. The file can be found by opening
Windows Explorer and typing %temp% into the address bar.
2. When I try to start the XSPOC client, I get an error saying Connection to the server
could not be established. Please verify the server name and your network connection,
what does this mean?
If you click on the plus signs to the left of the folders in the area where the pumping units
are located, you will see a much longer list to pick from. If the desired pumping units are
not in XSPOC at all, please contact support and the manufacturer to assist in collecting
the necessary information to add these units to our libraries.
110
4. I dont see the downhole card on my card viewer, and where are the load limits and
other setpoints?
Right-mouse click on the card viewer in the area where the cards are plotted and you will
see many display options, including settings for viewing downhole cards, load limits,
predicted cards, etc. These settings are retained based on the last time you changed
them, so you do not need to set these every time you use the client.
111
The first component is the communication software. There are two programs for each active
communications port on the host computer, which manage the communications for each port.
They show up as processes in the task manager on the host computer.
The second component is MS SQL Server. This database software stores all configuration data
and collected information for XSPOC, used by each of the other components for controlling
parameters and data storage. It is the Administrator's responsibility for creating backups of the
XSPOC database. Please refer to MS SQL Server Manual on how to create backups or use the
XSPOC BackupDB event in tblSchedule to automatically create daily backups.
The third component is Thetas XDIAG. This software provides the diagnostic analysis of the
dynamometer cards for the user. It reads production information, equipment data and surface
dynamometer cards from the database for processing, and then writes the diagnostic analysis
results to the database.
The fourth component is XSSchedServer. This program coordinates all of the interactions
between the first three components, again using configuration data stored in the database.
XSClient is the user interface to the XSPOC database. The XSPOC server application can run
without XSClient, but you cannot access the data gathered by XSPOC without running XSClient.
Whether running on the host computer or a workstation, XSClients function is the same: it
provides you, the user, with a means to communicate with the pump-off controllers, to review
dynamometer cards and analysis, and to enter and retrieve data.
Most administrator tasks involve configuring XSPOC to present data in a certain format, perform
certain tasks, or change the scheduling of these tasks. These actions require interfacing with the
database to set parameters to accomplish the desired results. Because this necessitates direct
contact with the database, it is preferable to keep administrative tasks limited to a few
knowledgeable persons who are willing to accept this responsibility. It is best to have all
112
interaction, both user and administrator, occur from a workstation, although, this is not always
possible when performing administrative duties.
Many tasks that an XSPOC Administrator performs are difficult to explain in text, and must be
learned by hands-on demonstration. This manual will attempt to outline the basics and provide a
starting point for some of the more difficult tasks. Anytime you have a problem or need help,
please feel free to contact a Theta representative for help.
At least a multi-core 2 GHz or better processor (higher speed and/or multiple cores if
more than one or two simultaneous users in networked environment)
At least 12 GB of RAM (more if more than one or two simultaneous users in networked
environment)
113
Additional disk space depending on number of wells, data resolution, and data archiving
(Very large databases can reach 50 GB in size, backup files are roughly the size of the
Database)
At least 1024x768 resolution on monitor and at least 17" screen if server is to be used to
run the client (19" or larger preferred)
Backup capability (second hard drive or network backup preferred, or tape drive). We
recommend having a second hard drive in the machine, at least 500 GB. This will not
only allow local backups for temporary storage, but will allow us to configure one drive for
OS and applications, and the other for data, which is an improved configuration.
Available serial port (RS232) for every communication channel if using serial ports
(uncommon), if using IP communication to Terminal Servers or IP based radios serial
ports are not necessary. Both methods can be used on the same server for different
channels.
USB port
114
regarding XSPOC Server installation. Also, liasing with support will ensure a successful
installation of SQL Server, XSPOC Server, and XSPOC Client.
These steps are performed when upgrading XSPOC to the latest service pack:
Download the installer file for the latest Service Pack. Contact Theta Support for the file.
Ensure that any records in tblParameters, tblStates, and tblStatusRegisters that have
been changed from their default values in your server have been Locked by checking
the Locked box on the edited row in the table. The service pack will replace all unlocked
records in these tables with our Master Database records to update your drivers and
configuration with the latest data.
Create and/or move todays backup copy of the database to a secure location (thumb
drive, secondary hard drive, or even just a different folder than the basic backup
location). We typically move a copy into the XSINSTALL folder on the XSPOC server.
Stop the XSPOC XSServer and XSSchedServer services on the XSPOC Server. This
can be done from the Microsoft Services Console (Start -> Run -> Services.msc)
115
In the command prompt, navigate to the folder containing the MSI and run it by typing the
name of the install file into the command prompt and hitting Enter. (See image above.)
The Installer will walk you through a few steps like inserting a Serial number for the
service pack (Contact Support), and installation location for the service pack.
NAVIGATION:
From the Windows Navigation Area or System Tray:
Double-Click on the Service Manager icon
OR
1. Right-click on the Service Manager icon
2. Choose Open XSPOC Service Manager from the pop-up menu as shown below
116
FEATURES: The XSPOC Service Manager allows you control the server processes running on
your server station. Depending on your configuration, the services could include XSServer,
XSSchedServer, and XSDialer.
The Service Manager has a list of server processes in the Services drop-down list. Use the dropdown box to display the full list and select the Service you wish to control. Notice that the Host
Machine Name is displayed on the Service Manager.
Start - Starts the service from the Stop state. Starting XSPOC Server also starts the
communication software (XSScannerL and XSCommServer) for each comm port.
Stop - Stops the service. Stopping XSPOC Server also shuts down the communication
software.
You can also change the state of a service by right-clicking on the Service Manager icon in the
System Tray and selecting the appropriate actions from the pop-up menu. To change the Current
Service, choose the Current Service menu item and then select which service you want to
designate as the Current Service as shown below. The service that is designated as the Current
Service will have a check mark next to it and will also be reflected in the labels next to the Start
and Stop menu items. As shown below XSPOC Server is designated as the Current Service.
117
After setting the Current Service, you can right click again on the Service Manager icon in the
Navigation Area and choose the Start Server or Stop Server menu item from the pop-up menu to
perform the related action on the Current Service.
License Manager
There are two types of licenses in XSPOC: Registered and Trial. If your software is not licensed
or if the trial license has expired then the communication services will not be running and your
xsClient may be display a server timeout error when attempting to poll a well. Additionally, XDIAG
will not analyze cards. Recall that the communication services, XSScannerL and
XSCommServer, appear in your Process List in Task Manager on the Host Computer.
There are two ways to license the XSPOC product: Generate License Certificate and Generate
License Key. The preferred method is the Generate License Certificate. Once the certificate is
generated, please email it to [email protected] so a Support Tech can create a license file
and email it back. If you are having problems with this method then you need call Theta Support
and use the Generate License Key method. Theta Support will then email a license file to you.
Both methods require the license.tlf file to be emailed back from Theta Support and placed on the
Host Computer in the XSPOC directory.
To access these registration methods you need to Right-click on the xsManager icon in the
system tray and select Registration, and then select either Generate License Registration File
or Generate License Key.
118
If there is something wrong with the license file then you will see the following
message: The license failed system check.
XSPOC Configuration
XSPOC Configuration Window
OVERVIEW: The XSPOC Configuration window
allows the administrator access to the XSPOC
database and allows the administrator to make
changes to the underlying data and parameters which
affect the way XSPOC displays and collects data.
NAVIGATION:
119
FEATURES: The XSPOC Configuration window provides a quick way to check data, reschedule
events and configure the database. These tables are the heart of XSPOC and are for
Administrator access only. Their general use for data entry and manipulation is not recommended
since there is no data checking routines associated with this screen. Whatever you change in a
cell and then commit will permanently change the XSPOC database and most of the time without
any type of checking. Please use caution when performing actions through the XSPOC
Configuration Screen.
The tables in the XSPOC database are listed on the left side of this window. Selecting any of
these tables will refresh the table grid on the right side of this window or you can use the
Refresh button on the forms toolbar for the currently selected table. You can use the Limit text
box to limit the number of records returning from the table. It defaults to 10,000 and the maximum
is 99,999.
To edit a value in any cell in the grid, click in the cell and type the new value. Clicking into another
row or changing to another row using the arrow keys will commit changes to the database. If you
120
accidentally change a value and havent yet committed the change by clicking on another row,
you can use the escape key to undo the change. The currently selected row will display different
icons in the row selection cell based on the different states the row is in.
A row displaying this icon means that the row is selected and no changes have
been made to any of its data.
A row displaying this icon means that there has been change to the row's data and
the row is in editing mode. Navigation to another row will commit all changes to the
database.
A row displaying this icon means that this is a new row and will input a new record
into the database. As soon as you change any of this new rows data, the row header
displays the editing mode icon. Any navigation to another row will save the data as a new
record in the database.
You can also copy data from an existing row into a new row. First select the entire row as shown
in the large graphic above. Right click on the black triangle or click on the Copy Row icon on the
toolbar at the top of the child window. Right click on the new row and paste, or select the Paste
Row icon on the toolbar at the top of the child window. You can also press Ctrl-C to copy that
row, and now highlight the new row and press Ctrl-V. You will usually need to change the first
cell's data in the new row since most of the database does not allow duplicate records. You can
also copy and paste a single cell's value from one cell to the other by highlighting the value you
want to copy and pressing Ctrl-C and then putting your cursor in the cell you want to paste the
value into and pressing Ctrl-V.
You can also use the configuration window to filter the selected table. Clicking on the SQL button
will display the query window. In the query window you can type in a filter condition. Usually these
filters are in the form of Column Name = Value as is displayed below. Clicking on the Execute
button
executes this filter and then redisplays the table rows in the grid with the filter applied.
121
You can also use the toolbar to help you build the filter condition. Select the column you want the
query to apply to in the column dropdown and then define the criteria. The criteria can be in the
form of = Value or > Value but is not limited to just these types of criteria. Please consult with
Theta if you have any further questions about SQL Query filter conditions. After setting the criteria
you can click on the Execute button to execute the query and the grid will update with the
appropriate rows meeting your conditions.
122
POCType: Contains the number that identifies the type of controller (1=Baker, 8=Lufkin
WHM, 16=Weatherford Well Pilot, etc).
ScaleFactor: This is 1 if no scaling is to be applied. A value of 0.1 would multiply the raw
device value by 0.1.
StatusScan: Check Status Scan for XSPOC to gather this register during its normal
status scan.
CollectionMode: This controls how data points are added to data history. If you want this
value to be collected for the history graph every time a status scan is done on the well,
set this to 3. It can be set to a value of 1 if you want the data point to just be stored once
per day. A value of zero turns off historical data collection.
GroupStatusView: Set this to true (1) if you want to display the analog inputs value on
the group status. This makes it available when customizing the group status view, under
the tblParameters branch.
If the input is only on one well, or on some of the wells, or if the input is different from well to well,
or if the same input on different wells have different scaling factors, then the tblFacilityTags table
must be configured. There is now a Facility Tags Windows that provides a nicer user interface for
creating facility tags. You can find this by navigating to the Facility tab and selecting the Facility
Tags button. Please refer to the User Manual article on Facility Tags for more information.
A message box will appear instructing you that this form is to be used for global driver changes,
not one-off changes. Facility Tags is the place for one-off changes on an individual well. After
clicking OK, the Configure Address form will appear. See image below.
Description: text label for this address when displayed elsewhere in the client
Data Type: determines how XSPOC translates hex data from the controller during scan
123
Offset: use this to shift values up or down (e.g. value of 10 will shift a return value of 5 to
15)
Scale Factor: multiplier for return value. Used when the return values are an order of
magnitude different than they should be. E.g. use a 0.1 scale factor to convert 123 at the
controller to 12.3 in XSPOC.
Decimals: determines how many decimals will display if they are available
Status Scan: mark this to cause XSPOC to scan this register during a status scan
Fast Scan: mark this to cuase XSPOC to scan this register during a FastScan (see the
Administrators Manual article called Cluster Scanning and FastScan for more
information)
Data Collection: select the appropriate data recording setting. If Status Scan is marked
true, but Data Collection is set to no collection, XSPOC will scan the register and store a
live value, but will not record any values to the History Graph.
Setpoints
Data Configuration
Standard Measurement: used when data being collected is a standard data point for the
artificial type being used. This helps XSPOC understand where this data should be
displayed throughout the client.
Unit Type: used to control how XSPOC converts register data when using metric
measurement settings.
Archive Function: determines how XSPOC archives data on this address. See the Admin
Manual article called Archiving Historical Data for more information.
The form will automatically lock the record youve edited. This is desired because Thetas update
process for these register addresses involves removing all addresses that are not locked and
replacing them with our updated and improved driver files.
Upon closing the form, XSPOC will remind you that you need to restart the XSPOC Server
service on the XSPOC application server. Data collection changes will not take effect until this
has been done.
124
Locate the desired address in the list on the right and right-click and select Configure Address.
Once in the form, mark the box for Group Status View and click Save. Note that if any Address
name changes are required, that can also be done in this form.
A Group Status View frequently contains wells that have different controllers. To view a group of
wells with differing controllers but the same type of information you want displayed, then some
configuration to the memory map for these controllers needs to be performed by modifying the
device driver in XSPOC. The first step is to identify the register addresses for each of the well
controllers in question that refer to the parameter of interest. Once that is done, then you need to
make sure that the description for these addresses is exactly the same. Group Status matches up
a specific parameter across different controllers by the Description found in the driver, so it is very
important that the Description for each of these registers be exactly the same across controller
types.
For example lets say that I have Spirit Genesis, Lufkin SAM and Unico controllers in my field and
I want to display Casing Pressure in Group Status for all the wells in my field for each of these
controllers.
First, I need to identify the Casing Pressure register from each controller. When you look in
Register Panel you will note the following Addresses for our controllers: Genesis = 40170, SAM =
42384 and Unico = 47111. In order for XSPOC to match these different registers up in the Group
Status grid, the Description for each of these registers need to exactly match. So in this example,
I would change each of the Descriptions for these Addresses in Register Panel -> Configure
Address form to Casing Pressure. I also need to enable these parameters for StatusScan and
enable each of the parameters for Group Status View by marking the box in the form. Note that
youll need to restart the XSServer service to make these changes take effect.
Now I need to modify a view and add the Casing Pressure column. Because we changed the
Description to match across the contollers, the values for Casing Pressure will now appear after a
well scan for all the wells that have the controller types we modified.
125
This panel is accessed by clicking on the main Well Menu icon and then clicking on the Setpoints
icon in the Control Section of the Well Menu.
126
To select additional Control Parameter Setpoints for display, click on the configuration button
from the Setpoints toolbar. This will display the Setpoint Group Configuration screen. From here
you can add groups and add register addresses to any group. A list of groups is displayed on the
left side of the screen with available parameters displayed on the right side of the screen. Simply
choose the group the register address will go into and then select or unselect the register
addresses you want in that group.
Well Status Registers are visible in the lower left corner of the Well Status screen for most
controllers. The list of registers that are displayed here is managed by administrators. These
registers are recorded in tblStatusRegisters. To add or remove registers from the Status
Registers field in Well Status for any controller, simply add or remove a row in this table for the
desired POC Type (find the POCType number in tblPOCTypes).
127
BackupDBPath needs to be a valid path that SQL Server can use to backup the database
file.
BackupDBFilesToKeep can accept any positive whole number and determines the
number of files to keep. If this is not set then the default value is 3. When BackupDB
Event runs, after baking up the current database, it will then look to see how many files
are in the BackupDBPath and delete any older backup files until there is the specified
amount of files in that folder. So if you want to keep the current backup plus the last 3
then you need to set this parameter to 4.
After setting up these system parameters, open tblSchedule and locate the row named
BackupDB. Check the Enabled box and set up an appropriate time for this to run in the StartAt
column. Ensure the event is set to run on PortID99.
RTU Alarms
RTU alarms are configured in the tblAlarmConfigByPOCType section of the database. This can
be accessed by going to Tools -> Configuration -> tblAlarmConfigByPoctype. A SQL query can
limit the data shown to the range needed only for your POC type, as shown below:
128
The configuration of these RTU alarms is global, and all POCs of that type will have the same
alarm configuration, as well as the same Alarm Action. From the table above, you can see that if
register 416424 of the RTU device sets bit 1, this will indicate a Pressure Lo 10% alarm, as
defined in the RTU device. The RTU device will set this bit when it needs to let the host system
know that a pressure Lo 10% alarm has occurred. The Alarm Action in this section will
determine what action an alarm will have. Below is a listing of valid values for this section
(NOTE: These are different than AlarmAction in tblNodeMaster)
Bit
Decimal
Action
16
32
Call/Page on Alarm Lo
64
12
2048
13
4096
Email on Alarm Lo
14
8192
For the configuration shown above, since this is a bit representation for the alarms, bit 12 = Email
on Alarm Trip (2048), and bit 14 = Email on Alarm Clear were set (8192). The value of 10240 in
AlarmAction will cause an email to be sent based on an RTU Alarm Trip (set) or an RTU Alarm
Clear.
In some instances, you may want to configure what Alarms are sent on the system. For instance,
to only send an email on Alarm Trip, you could set the AlarmAction value to 2048. Thus emails
will be sent only when the Alarm has been tripped by the RTU but not when they clear.
Additionally, you may want to disable emails for 10% Lo Alarms, if these are within normal
operations of your device. So for this you could set AlarmAction to a value of 0 for the 10% Lo
Alarm.
In some cases, it may not be possible to build an alarm based on a Hi Limit or a Lo Limit. For
example, the Lufkin SAM provides more than 80 different return values for Run Status. A value of
7 means the unit is Running, while a value of 31 means the unit is Idle. Both of these values are
normal, but a value of 11 means that the unit is Shutdown, No Run. In this case, one cannot set
an alarm on values greater than 7 because that will force notifications on good values and bad
values.
129
In this case, Theta has provided another option for forcing alarms an address. Looking in
tblAlarmConfigByPOCType, notice that POCType 8 and Address 32501 (Lufkin SAM Run Status)
exists in this table. It may be enabled, but most likely it is disabled. Lets look at how this would
work if it is enabled. First, go to tblParameters and find address 32501 on the Lufkin SAM driver.
Notice that this address has a State assigned to it (StateID = 46). Now lets look in tblStates at
StateID 46. Notice the AlarmPriority column in the table. Some State values have an Alarm
Priority of 1 while others are NULL. Because tblAlarmConfigByPOCType is set to Email on a Hi
and Clear on address 32501, any SAM controller that returns a state value with an Alarm Priority
of 1 will force an email notification to be sent. Any state value without an Alarm Priority will never
trigger a notification.
Finally, the contacts who will receive these notifications are defined in the Well Config Alarm
Actions tab. If the well has no contact group assigned to it, the Alarm events will appear in Well
Notes, Well Status, and Group Status only. Note that a contact group cannot be assigned to a
well unless the well is assigned to a Route in the Controller tab of Well Config.
Open tblSystemParameters if the following parameters do not exist then create them in
this table:
o
SMTPUsername this is the name to use for authentication on the SMTP server.
If this is blank or omitted then the SMTP Server does not use authentication and
SMTPPassword can be left blank or omitted as well.
SMTPUseTLS if the SMTP server requires TLS connections, this value should
be set to 1. Otherwise set it to 0. Contact your IT Department if you do not know
what this is.
SMTPPort this is the IP port on which your SMTP server listens for incoming
requests. Contact your IT Department if you do not know what this is.
130
To setup the External Data Query window, you need to open the tblSystemParameters table in
Configuration and fill in the values for WTConnectionString and WTRecordSource.
WTConnectionString is any valid OLEDB or ADO connection string and WTRecordSource is any
valid OLEDB or ADO Recordset query. When the Recent Well Test window is loaded or
refreshed with information, then the query in WTRecordSource can have pre-defined system
keywords that can be replaced before the grid is populated with data. The predefined system
keywords and their replacements are as follows:
xsnodeid The NodeID for the currently selected well in the Well Explorer
xsnow The Current Date
xsotherwellid1 The OtherWellID value for the currently selected well.
*Remember that the keywords are case sensitive and must be in the lower case form you
see above.
To configure the External Data Query to view Well Tests for wells in XSPOC:
131
Select the appropriate provider and enter the necessary data (for this example I
chose the OLEDB provider for SQL)
132
Click OK to place the string into the main client. This can be copied out and placed into
SystemParameters for WTConnectionString
You should now be able to launch the External Data Query form and see any historical
well tests available in the database. (This shows the same data as the Well Test History
Form, but it works well as a demonstration object.)
This feature is not limited to well specific data. It can be used to display any query results run
against another database on your network. This is how to set up your external data query to
display communications channel statistics for your server.
Copy and Paste the following sql script into SystemParameters WTRecordSource
ensuring that no line feeds or carriage returns truncate the script.
133
dateprocess, getdate() ) <= 0) as 'CRC Errors', (select count(*) from tbltransactions where
portid=a.portid and result='Timeout' and DATEDIFF(Day, dateprocess, getdate() ) <= 0) as
'Timeouts', (select count(*) from tbltransactions where portid=a.portid and result IN
('SocketConnectFail','SockError','VP Err') and DATEDIFF(Day, dateprocess, getdate() ) <= 0) as
'SocketConnectFails', (select count(*) from tbltransactions where portid=a.portid and dateprocess
is null) as 'In Queue' FROM [xspoc].[dbo].[tblPortMaster] a where a.enabled=1 order by portid
You should now be able to open these statistics from the Well Tab when any well in
XSPOC has been selected.
Open tblSystemParameters find the following parameters for POCType = 8 and mark
each parameters StatusScan box and set CollectionMode to 1:
The information from the SAM controllers will now process during the GetDailyData
Scheduled Event.
134
tblSystemParameters. The value on this parameter is the number of days to keep high resolution
data in the database. (This value cannot be lower than 15 or higher than 365.) XSPOC will
compress data older than this to a single daily data point. By default, this compression will
produce a daily average value for each data point. For example, Pump Fillage is collected on
most Rod Pump Controllers every time the well is scanned. At a 10 minute interval, XSPOC will
collect roughly 150 Pump Fillage values per day. When these values are older than the number of
days in DataHistoryDays, XSPOC will compress those 150 data points down to 1 average Pump
Fillage value and move that data point from tblDataHistory to tblDataHistoryArchive. This
compressed data will still be visible in History Graph, but the high resolution data will no longer be
available.
XSPOC provides a method for preventing archiving of specific controller data in tblParameters.
There is a column in this table called ArchiveFunction which contains a 1 by default. The usable
values in the column are enumerated in tblArchiveFunctions. In the Pump Fillage example above,
we could prevent compression of Pump Fillage data on a Lufkin SAM by changing the Archive
Function value to 0 (None). Or in the case of LastStrokePeakLoad on the SAM, we could change
the ArchiveFunction to 2 (Maximum). This would compress the daily value down to whatever the
Maximum value for the day was.
135
DeleteCardData: removes old records from the tblCardData (does not affect XDIAG
results)
DeleteEvents: removes old records from tblEvents which populates the Well Notes
screen. User entered comments (Comment, Comment2, Comment3, TechNote) are
never deleted regardless of this parameter setting.
136
Well Communication
Add a Port
To add a new communications port, be sure that the serial port or terminal server is properly
configured, and then open the Configuration Tool and click on the tblPortMaster table. Enter data
as provided by your communications technician, and then commit changes by clicking in another
box to ensure that the data has been written to the database. After setting up the new port, you
will need to stop and start the server using the XSPOC Service Manager for the new port to
initialize. (See XSPOC Service Manager article above for information on Starting/Stopping
XSPOC services.)
You may then add new wells to the port using the Add Well function in the Main Menu. (Services
will likely need to be restarted again after adding wells to a new channel.) To reassign existing
wells to the port, edit the port assignments (PortID) under the Controller Tab in the Well
Configuration Screen OR use SSMS to update the port IDs in the tblNodeMaster table via SQL
Query. Below is a description of configuration columns in tblPortMaster. Not all columns are used
for all Port Types. Columns that are limited to a specific Port Type will be labeled as such. Port
Type Options are: 0 = Physical Serial Port, 1 = IP Virtual Port (multiple IP addresses on one
channel), 5 = IP Virtual Port (single IP address per channel).
ServerName this value should be local unless the scanning server is not the same as
the XSPOC server (very rare occurrence)
CommPort if your serial cable is plugged into the back of the XSPOC server, use the
device port number assigned in Device Manager in Windowns. For ports communicating
137
over the internet (Term Server, Cell Modem, etc.), this number is arbitrary and can should
the PortID for simplicity.
Enabled enables or disables the port. If disabled, XSScannerL and XSCommServer will
not start for this channel.
Parity parity setting for the radio modem, 0=none, 1=odd, 2=even (Port Type 0 only)
DataBits number of the data bit setting for the radio modem (Port Type 0 only)
StopBits number of stop bits for the radio modem (Port Type 0 only)
TimeOut the amount of time the host waits for the POC to respond to a data request, in
milliseconds, normal range 2000-5000 ms. The timeout counter is abandoned as soon as
data begins returning from the field device. This field may be useful when trying to
resolve a Timeout in Comm Status.
KeyUpDelay the amount of time the radio waits after keying up before sending a data
request, in milliseconds normal range 250-600 ms (normally used only in analog radio
networks, sometimes useful in IP networks to flush buffers)
KeyDownDelay the amount of time the radio waits before keying down after sending a
data read-write request, in milliseconds normal range 0-200 ms (normally used only in
analog radio networks, sometimes useful in IP networks to flush buffers)
CTSTimeout Clear-To-Send Timeout, the amount of time the host computer waits after
sending an RTS before timing out, in milliseconds normal range on Port Type 0 is 0-20
ms (very rare), normal range on Port Types 1 or 5 is 1,000 - 10,000 ms
Retries number of times XSPOC will attempt to resend the data request, after a
communication error occurs
1 = Virtual Port (used with wells that have individual IP addresses. See Talk
Directly to TCP/IP Device topic below.)
138
ipPort terminal server listening port (PortType 5 only see next topic)
After adding a Port to tblPortMaster, you must add the appropriate Scheduled events to that port
in tblSchedule so initiate automatic data collection from the affected wells. See the Admin Manual
article called Scheduled Events for more information.
Port Type 1
If each well location has its own IP address, then the location where the devices address (in the
Well Configuration screens address location or the Node column in the tblNodemaster) needs to
be modified according the following syntax:
iXXX.XXX.XXX.XXX|Port|RTU Address
The first letter designates the type of IP connection:
i = typical ip connection
m = Modbus Ethernet with Ethernet bridge
e = Modbus Ethernet with Ethernet bridge
139
This address scheme will actually work on ALL Port Types in tblPortMaster, but Port Type 1 is set
aside specifically for this configuration. A Type 1 Port will connect to and disconnect from the IP
Address for each device on the channel. This can impair the communication efficiency of the
channel. In addition to the time saved building the address configuration, time is saved during
communications by not connecting and disconnecting from the end IP Device during every device
scan. There are a couple of parameters that can be used to help tune the TCP/IP performance.
These are located in the tblSystemParameters and will affect all IP Communications:
TCPLoopDelay: This controls a time interval to wait while looping during the recption of
socket data. Typical values are 100-500, in milliseconds. Optimum performance may be
obtained by trying different values for this parameter.
TCPConnectTimeout: This controls how long XSPOC waits before timing out when trying
to connect to the remote device. This value may be useful when resolving
SocketConnectFail in Comm Status.
The most basic Digi Connect SP will work just fine if all you need is an RS232/422/485 interface.
You can read about the other units. Some have conformal coatings, some are DIN mounted, etc.
Any one of them will work fine with XSPOC.
140
The way it works is XSPOC will count the number of consecutive communication failures occur
on each comm channel. The count will accumulate until a well on the channel communicates
successfully at which point it will reset the count to 0. If the count reaches the threshold amount
before a well communicates successfully, an alarm email notification will be sent to the specified
contact group. To configure this feature in XSPOC:
Set the value in this record to the desired threshold. Note that 0 disables the feature while
a non-0 value enables the feature and determines the threshold.
Navigate to tblContactLists.
Identify the ID of the Contact List that should receive notifications. This number will be
used shortly. If none exist, navigate to Well Config -> Alarm Actions and create one, then
return to this table and note the ID.
Navigate to tblPortMaster.
For each communications channel on which you wish to receive failure notifications,
enter a ContactListID in the ContactListID field.
To view statistics on your Communication Channels, Follow the instructions for the Admin Manual
article External Data Queries.
Identify the OPC Server and Verify Connection. Gather this information from the
customer or use the opcbrowse tool found in the C:\XSPOC\utilities folder on the XSPOC
server
OPC ClassID
141
Open the OPC Browser Tool found in the XSPOC directory in the utilities folder.
(Usually c:\xspoc\utilities\BrowseDemo.exe)
142
You can get the Class ID from selecting the server and Use GUID.
Add a new entry in the tblOPCServerTypes. You have to know the ClassID of the
OPC server. It is a very long number with braces, and you can see some
examples in the table.
Add a new POC type for the register mapping. If you are setting up a facility to use OPC,
you must use a POCType=106 and there must be an entry in the tblPOCTypes for this
poctype. Use the Name of the OPC Server as the Description.
Add a well and set it to use the new POCType in the well config.
Add Facility Tags like in a normal facility using the tagname in the Register field. **Search
for a KB Article titled "Configuring Facility Tags" to learn more.
-OR
Add the registers you are using into tblParameters for POCType=106 and enter the
TagName in the Tag column for each register entered.
Scheduled Events
Occasionally, after a power failure or rebooting problem, you may find that XSPOC did not run a
scheduled event. To manually start an event, open the Configuration Tool, and select the
tblSchedule table.
143
The function for each of the tables columns is self-explanatory. Intervals are measured in
seconds and indicate how much time should pass before launching that event again.
To initiate an event, simply delete the LastStartExecuteDate for the desired task and then click in
another row to ensure that the data has been committed to the database.
The following list explains the function of each event name. This list does not contain retired
events. If you have events in tblSchedule that do not appear here, contact Theta Support to
determine their usefulness. Ports listed as PortID are to be run on ports that exist in
tblPortMaster. Ports 99 and 100 are reserved for Database Management Events. Note: Ensure
that you have checked the enable box for each event you want to run:
Parameter
Port
Description of Parameter
ArchiveDataHistory
100
BackupDB
100
Runs the daily backup task and removes old files from the
backup set.
CalculateSPC
99
ClearCommStats
100
ClipFiles
CollectCards
100
PortID Performs the portion of the Daily Scan that collects cards.
Can also run CollectCards2, 3, and 4 to achieve cluster
144
Parameter
Port
Description of Parameter
scans. See the Admin Manual article on Cluster Scanning
and FastScan for more info.
DeleteHistoricalData
100
DoFastScan
DoScan
DoSetpointScan
EFMCollectCustodyTrans
100
ferData
EFMCollectTrendData
100
EFMExportToFlowCalTask
100
EmailAnalysis2
100
ESPCollectLogs
100
FacilityWellControl
99
GetDailyData
GetTrendData
99
PortID Get Trend Data for all FB Rtu5000 Plunger Lift wells
(POCType 79 and 80).
145
Parameter
Port
Description of Parameter
InsertNewWells
100
IntegrateData
100
OnDemandPcsWellTrendData
100
PopulateExceptionsTable
100
PopluateGroupData
100
PrintMorningReports
100
ProcessDynFiles
100
ProcessHostAlarms
100
RefreshExternalData
100
RunXDiag
SetClocks
100
UpdatePOCData
PortID Acc Runtime, Acc Starts, KWH, MWH in Data History table.
Updates SPM, Runtime, POCGrossRate, Cycles,
PeakLoad, MinLoad in Well Details table. Update
146
Parameter
Port
Description of Parameter
YestRuntimePct in Node Master table. (Italicized data
points are not commonly used.)
UpdateWellDetails
100
UpdateWellData
100
Cluster Scans
The easy solution for the needs mentioned above is to use a Cluster Scan. This is configured by
creating a scan event and assigning wells to that event.
Determine which port to add the event to, then copy the existing DoScan or
CollectCards event by using the Copy/Paste icons in the Configuration Utility.
Locate the NodeID in tblNodeMaster and scroll over to the column titled
ScanCluster.
Place the number in that column that you used in tblSchedule to assign this well
to that event. For example, if you created a DoScan2 event in tblSchedule, place
a 2 in ScanCluster in NodeMaster. Now when DoScan2 runs, it will initiate a scan
on this well. This well will also continue scanning on the regular DoScan interval.
Keep in mind that if you have a DoScan2, CollectCards2, and a well marked as
ScanCluster2 on the same port; that well will Scan and CollectCards according to
the Scheduled Events.
147
Fast Scan
The more complicated but more configurable method for meeting the needs mentioned above is
FastScan. This feature was more valuable many years ago when radio networks were very slow
and internet availability and quality was very poor. In modern times, the efficiency savings are
minimal when comparing FastScan to ClusterScan. FastScan is configured by creating the scan
event for a PortID, assigning wells on that port to that event, and designating which register
addresses for each POCType on that port will be scanned.
Determine which port to add the event to, then create a record with the following
settings:
EventName = DoFastScan
Enabled = True
Mark the box as True for each well on the port to be FastScanned.
Keep in mind that creating additional DoScan, CollectCards, and FastScan events consumes
some of the available performance of each comm channel. Some customers have overloaded
their comm channels to the point that the only comm events completing were these higher
frequency events.
Write Sequences
In Group Status, users are given the option to Send Write Sequences to selected wells in the
group. This feature can be useful if you would like to quickly write an identical setpoint out to
148
multiple wells on your system. For example, if you wanted to set the idle time on all of your POCs
to 15 minutes without scrolling through your tree and updating them via Register Panel,
Setpoints, or Card Viewer, this could be done through Send Write Sequences. The Group Status
Send Write Sequences feature must be configured in the database before it can be used by
field personnel. To configure this feature:
Navigate to tblWriteSequences.
Create a row with a unique ID (arbitrary but cannot be a duplicate), Name (user defined),
and applicable POCType. The Send Write Sequences feature is limited to being used on
1 POCType at a time. It is not possible configure a write sequence that can be used on
multiple POCTypes.
Navigate to tblWriteSequenceRegisters
Create records using the ID mentioned above, the order in which the register should be
written, the register address, and a default value (users will be given the option to change
this before implementing a Write Sequence).
In the images above, ID 1 applies to SAM Controllers (POCType 8) and will write 3
register values to the controller in the order displayed. Note that WriteSequenceIDs can
appear multiple times in tblWriteSequenceRegisters, but neither the order nor the
address can appear twice per ID.
User Security
XSPOC uses two different methods for User Security Authentication XSPOC Authentication
and Windows Authentication. Within Windows Authentication, there are two options Active
Directory User Authentication or Active Directory Group Authentication. At the most basic level,
authentication is determined by the SystemParameter UseXSPOCAuthentication. If the value on
this parameter is set to 1, XSPOC Auth is used. If the parameter does not exist in
149
3. The Administrator would need to close and re-open the XSPOC Client for the
changes to take effect.
XSPOC Authentication
When using XSPOC Authentication, a user must first log into their Windows workstation using
their domain Username and Password. After logging in, they can now launch XSPOC. However,
before accessing XSPOC, they are forced to enter an XSPOC Username and Password. This
authentication method is useful in companies that limit XSPOC access to field office computers
that multiple employees use. Rather than forcing an employee to log into the machine prior to
launching XSPOC, they can simply log into the machine with a generic account and leave it
logged in all day. Then each employee logs into XSPOC using their personal account and closes
the software when they are finished using it. This ensures security and data integrity while
maintaining flexibility. This method is typically employed in areas where network access is scarce
or slow and the XSPOC server resides in a building at the base of a radio tower. As technology
increases, this authentication method is used less frequently.
The negative aspects of XSPOC Authentication are that each user who needs access must be
given an account by an administrator, and users are forced to use two usernames and passwords
to access the software.
Windows Authentication
Windows Authentication has several benefits. First, users are automatically added to the User
Security table as Read Only users when they first attempt to access the software. To gain more
150
rights, and XSPOC administrator must grant rights through the User Security Settings screen.
(See the User Manual article called User Security Settings for more information. Second, no
additional username or password is required so less time is spent by administrators trying to reset
accounts in XSPOC when an employee forgets his credentials. Finally, since user actions in
XSPOC are linked to user accounts, there is less guesswork when trying to track down the user
who made changes to a well. His XSPOC account name is identical to his Windows account
name.
151
To help ensure that AD Group names are inserted in the correct format, Theta provides a utility
that will list the AD groups configured on your corporate domain. This utility can be found at
C:\XSPOC\utilities\GroupLister.exe. It may need to be run as Administrator to work properly.
One more feature to this implementation is that users can be limited to multiple User Roots. See
the Admin Manual article called Limit User Navigation to a Group for more information on limiting
user access to certain groups. To clarify, suppose that a company has three main well groups on
their system Permian, Eagleford, and Bakken. To avoid accidents and tampering, the company
wants to limit users to the basin in which the wells exist. They could create an Active Directory
Group called gotheta.com\Bakken, add users to it, create the necessary record in XSPOC with
the Bakken user root, and the result would be that users in the AD group are automatically limited
to the Bakken branch in the tree.
Now suppose the company has a communications engineer in Midland who maintains comms for
all Texas wells. He would need to be able to see the Permian AND the Eagleford wells. The
company would need to create AD groups for gotheta.com\Permian and gotheta.com\Eagleford,
add this user to both groups, create the necessary User Security records each limited to the
appropriate area, and the result would be that he will see the Permian branch AND the Eagleford
branch in the Well Tree when he logs into XSPOC. In these last two examples the Bakken,
Permian, and Eagleford groups are not required to have any privileges in XSPOC. They simply
need to be limited to a User Root.
152
4. You grant different levels of access by checking the appropriate levels on the User
Security Settings form and clicking the Save button. If you place your mouse over each of
the levels labels then this will give you a short description in the tooltip of what access
rights are granted for that level. The user you made changes to will need to restart
Rights
Admin
Admin Lite
Group Builder
Well Admin
Add Well; Delete Well; Change Well Name; Change Alias on Group
Status Columns; Add New Custom Pumping Units
Well Config
Well Control
Set the Base Card of a AE POC; Set the Idle Time on a POC; Set the
Integration Start, Duration, and Limit values; Change Card Constraint
Value; Change Fill Base Line; Change High or Low Limit;
Enable/Disable Facilities; Action Commands for Group Status; Put Well
into Constant Run Mode, POC Mode, or % Timer Mode; Use the POC
Panel; Clear Alarms; Start, Stop or Idle a well; Recalculate Normals;
153
Security Level
Rights
Set Control Parameters (Setpoints Screen); Set POC Clock; Use
Register Panel to Write to POC
Secondly, you need to limit the necessary users in User Security. The User Root selection
determines how much of your Well Tree is visible to each user. The default User Root for all
users is Well Groups and this indicates that this user can see all of the groups in the Well Tree.
To limit a specific user to a group just select that group from the User Root drop down list and
click Save.
Morning Reports
154
XSPOC can be configured to print any of the pre-defined group reports (Group Tab, Reports
Drop-down, Report Name) or a Group Status View for a specific group, each day, at a specified
time (preferably just before field personnel arrive at the office).
Before configuring Morning Reports, a few pieces of data should be collected namely, the
Group Status View name or ID, the Group Name, the Destination, and the Report Type. See
below for information on locating this data.
In the ReportName column, enter the Group Status ViewID for the desired Group Status
view. The ViewID can be found in tblGroupStatusViews and they are listed by ViewName
and the UserID who created it. If the UserID is Global, the View is visible to all users on
the server. If using ReportType 10 (see below), the ReportName will be the GraphViewID
from tblGraphViews for the saved History Graph View to be exported.
In the GroupName column, enter the name of the group for which you want to print the
report. The name of the group must be entered exactly as it is listed in the Well Tree (or
the WellGroups table in the database).
The destination can be a local printer, a network printer, an HTML format file, an Excel
spreadsheet, a PDF file, a Rich Text file, or an email with the report attached as an PDF
file. Use any one of the following conventions for a printer in the Destination column.
o
Entering default will tell XSPOC to print the report to the default printer as
defined in the Windows setup on the server.
To print to a printer located on the local network, enter in the name of the printer
as defined in the Windows setup on the server.
To print to other printers on the network, enter the UNC location for the printer.
For example - \\machine name\printer name\). NOTE that the XSSchedServer
service needs to run on an account that has access to this resource for it to work.
155
To print to an HTML format file, enter the path and the name of the file. For
example - \\web\filename.html.
To email a report in pdf format, enter the email address. NOTE that the Email
System Parameters must be configured correctly for this to work. See the Admin
Manual article called Email Notification Setup for more information.
To print the report to an Excel file, include the location and file name for the
report with the xls extension. For example C:\MyReports\MorningReport.xls.
To print the report to an Adobe PDF file, include the location and file name for the
report with the pdf extension. For example C:\MyReports\MorningReport.pdf.
To print the report to a Rich Text File, include the location and file name for the
report with the rtf extension. For example C:\MyReports\MorningReport.rtf
The ScheduleReport column allows for groups of reports to be sent at different times of
the day. Previously ALL reports were sent at one time. See below for more information.
ReportTypeID determines what type of Morning Report this will be. Options can be found
in tblReportTypes.
o
ReportTypes 2-9: Canned group reports found in the Reports drop-down on the
Group tab. Most of these are defined in the User Manual article called Group
Reports.
ReportType 10: History Graph Report creates a pdf document containing images
of the History Graph screen for the tblGraphViews.ViewID specified in the
ReportName column. Typically one well per page in the report. The date range is
determined by the Date Range used in the saved History Graph View.
The tblSchedule Event called PrintMorningReports must exist and be enable for Morning
Reports to be sent. This can be set at an interval, but is usually set at a specific time
each day. See the Admin Manual article called Scheduled Events for more information.
To test the feature, delete the LastStartExecute Date and commit the change by clicking
off of the row. After refreshing the table, you should see the LastStartExecuteDate
change to a more current date and time.
In the image above, user [email protected] will receive 2 emails when the event runs
1 for the Group Status Report, and 1 for the History Graph Report. However
156
[email protected] will not receive an email because his report is configured to be sent
with the Afternoon schedule group.
To configure a Schedule Group for a secondary send time, simply mark each report for a
particular send time with the same ScheduleGroup designation. In the example above,
Afternoon is a ScheduleGroup. All records in the table with this designation will be sent
together.
Group Configuration
Group Builder
OVERVIEW: The Build Well Groups window allows the user to define new well groups that
display in the Well Group Explorer.
NAVIGATION:
From the Main Client window:
1. Click on the Group menu.
2. From the Tools Section,
click on the Group Builder
menu icon.
FEATURES: The Group Builder window allows the user to build their own well groups that will
display in the Well Group Explorer. When the Group Builder window is displayed it already has
the query of the selected group displayed. You can change this query and Save it to modify the
currently selected group or change the Group Name and Save it to create a new well group.
157
New Group in the upper left corner of the Group Builder toolbar clears out the SQL
window and the Group Name. Type the name of the new Well Group into the Group
Name text box.
Save - saves this new query to the database, effectively creating this new group
Exception Groups
XSPOC collects data throughout the day every day for the wells in the system. This data is
extremely powerful if used in effective and efficient ways. One powerful and effective way to use
this data is to automatically populate Exception Groups based on live data in the database at a
regular interval. For example, XSPOC can run the SQL Queries found in tblWellGroups (source
table for the Well Tree) and create a stored list of the wells that meet each criteria. This data can
then be displayed in Well Status in the Exceptions box to the right of the Pumping Unit, and in
Group Status in a Standard column called ExceptionGroupName.
158
Set a priority other than 0 or NULL on each group to be used for Exception Groups. A
larger number represents a higher priority, e.g. 5 is a higher priority than 1. (Not all
groups have to be included in this feature. Organizational groups can be ignored while
groups identifying problems are focused on.)
EventName: PopulateExceptionsTable
PortID: 100
Enabled: True
StartAt: Null
To view Exceptions in Group Status, open Group Status. Click on Views -> Customize and add
the ExceptionGroupName column from the Standard group. This row will display the highest
priority group name from the Exceptions table (set by inserting a number other than 0 in
tblWellGroups as noted above).
Well Status will also display the Exception Group names in the Exceptions box directly under the
Alarms box on the right side of the screen. These will be listed by priority, but multiples can be
seen simultaneously.
Open the client and go to the Configuration tool by going to Tools -> Configuration and
navigate to tblGroupParameters.
Create a new record by adding an ID (required), Description (user defined and required),
Function Type (defined below in tblGroupParameter FunctionTypes and required), and
PhraseID (not required).
159
Navigate to tblGroupParameterSources.
Create a new row by adding an ID, providing the GroupParameterID from the ID column
in tblGroupParameters, and setting a Function Type (defined below in
GroupParameterSources Function Types), POCType, and the register address. If more
than one POCType exists on the server (e.g. SAM, Well Pilot, and Genesis), create a row
for each POCType making sure that the ID and FunctionType are identical for each
POCType.
Finally ensure than a tblSchedule event exists with the following settings:
o
EventName = PopulateGroupData
PortID = 100
Enabled = True
Interval = 0
0 = Group Sum
1 = Group Average
2 = Group Minimum
3 = Group Maximum
160
A SQL View is a collection of data from various tables in the database that resides in one simple
location. This data can be a row of data from another table, or an aggregation of data from
multiple rows in another table, or a combination of both.
The standard XSPOC database comes standard with a preconfigured SQL View for Rod String
Data. It is called vwRodData in the XSPOC Database. It was created to display Rod String design
for each Well in XSPOC on a single line. This was necessary because the rod string components
in XSPOC are stored in tblRods as individual lines as seen here.
vwRodData takes this multi-row data and converts it in a view to single-row data as seen here
(the image was cut off on the right to improve visibility)
Because Group Status is not capable of displaying more than 1 row per well, the data in tblRods
cannot be displayed in Group Status in its database form. After converting that data to a wider
format where all the data appears on one row, the data is now compatible with Group Status and
can be displayed in that screen.
Other uses for SQL Views might include aggregated data. Injection volumes can be calculated to
display how much has been injected in the last 7 days, 14 days, 28 days, etc. for each well on the
161
server. Or Inferred Production numbers can be summed or averaged over the last month. The
possibilities are extensive when it comes to this feature. The only requirement when it comes to
seeing the result set in Group Status is that the table contains a NodeID column, and that a
NodeID does not appear twice in the view. (This article will not discuss the procedures to follow
when creating a SQL View. To further explore the capabilities of SQL Views, Theta recommends
performing a quick Google search on the topic.)
Ensure that the new View was created inside the XSPOC database in SQL.
Create a new row in tblGroupStatusTables using the View Name as the TableName
(must be entered exactly), and the next available TableID as the TableID.
Navigate to Views -> Customize and see the View available in the Columns to Select
field.
System Configuration
Changing Phrases in Software
XSPOC supports usability in multiple languages. One benefit of this feature is that users are able
adjust, as needed, many of the text objects in XSPOC in English or in their native language.
Nearly all of the text objects in
XSPOC are controlled by entries in
tblLocalePhrases. Therefore, in
order to change a text label in
XSPOC, simply change the value in
the corresponding record in
tblLocalePhrases. As an example,
lets change the Text Label in Well Config for Route to String.
Locate the row containing Route by sorting on the 1033 column and scrolling (the
PhraseID for this records is 235) Here are the language designations:
162
1033 = English
1031 = German
1034 = Spanish
1049 = Russian
1036 = French
2052 = Chinese
Change the text to read String in the 1033 column or the language column being used
in your environment.
Close and reopen the client to see the change take place.
XSDialer
Overview
This outlines the architecture and configuration of the XSPOC Dialer/Notification system. The
XSPOC Dialer/Notification system is composed of three essential parts: the governing XSPOC
Dialer/Notification service (XSDialer.exe), the Phone Notification Session (DialerSession.exe),
and the Radio Notification Session (RadioSession.exe). Working together the three modules
sequentially notify responders about events that occur within the XSPOC system.
163
The XSPOC Dialer/Notification service runs as a NT-service and is capable of functioning without
interaction with the desktop or having to physically log-in to the workstation or server. This
queries for active events that have been enabled for notification; these events are populated in
the tblDialerLog table in the XSPOC database. In addition to querying for active events, this
service is responsible for capturing configuration parameters and applying those parameters
throughout the service. Any changes to the configuration parameters will necessitate a restart of
this service. This service uses the Phone Notification Session and the Radio Notification Session
modules to facilitate responder notifications.
The Phone Notification Session selects the telephony device, synthesized voice, and playback
device and also performs a telephone call-out, in which the notification message is played and a
prompt to acknowledge the event is issued. The Phone Notification Session is a standalone
application which receives control information from the XSPOC Dialer/Notification service. Data
is passed to the Phone Notification Session by XML file found in the (\sessions) directory.
The Radio Notification Session connects to the control port of the RigBlaster for RTS control, and
plays notification messages through the sound card, which is connected by stereo or mono output
to a radio system. The Radio Notification System uses DirectSound for playback because it
allows sound to be played when the user is not logged into the workstation or server. The Radio
Notification Session is a standalone application which receives control information from the
XSPOC Dialer/Notification service. Data is passed to the Radio Notification Session by XML file
found in the (\sessions) directory.
Configuration
Once xsDialer is installed it is important to modify the following configuration parameters:
Parameter
DialerAckCode
Location
tblSystemParameters
DialerGlobalAckCode
tblSystemParameters
DialerModem
tblSystemParameters
164
Info
Specifies the digit-string used to acknowledge
reception of call-outs.
Values: Numeric digit-string e.g. 1234
Default: None
Specifies the digit-string used to acknowledge
ALL call-outs.
Values: Numeric digit-string e.g. 1234
Default: None
Specifies the modem that is in use for dial-out
voice notification.
Values: DialerModem are: HiPhoneUSB,
HiPhoneRS232, Creative and Zoom.
Default: Zoom
Parameter
DialerTimeout
Location
tblSystemParameters
DialerVoice
tblSystemParameters
DialerVoiceRate
tblSystemParameters
DatabaseName
XSDialer.exe.config
DatabasePassword
DatabaseUser
DialerRadioNumber
XSDialer.exe.config
XSDialer.exe.config
XSDialer.exe.config
DialerWaitTime
XSDialer.exe.config
KeyStorePath
XSDialer.exe.config
LicenseFilePath
XSDialer.exe.config
QueryDelay
XSDialer.exe.config
ServerName
XSDialer.exe.config
CommPort
RadioSession.exe.conf
ig
TimesToRepeat
RadioSession.exe.conf
ig
RadioSession.exe.conf
ig
WaitTimeAfterKeyUp
WaitTimeBeforeKeyDow RadioSession.exe.conf
n
ig
Info
Specifies the amount of time (in minutes)
allocated for a call-out, this time includes: time
to dial, time to play voice notification, and time
to acknowledge.
Default: 2
Specifies the synthesized system voice to use
when playing the notification message.
Values: Depend on voices available on the
machine (e.g. Microsoft Mary, Microsoft Mike,
Cepstral Frank).
Default: Microsoft Mike
Specifies the rate at which the synthesized
voice notification is played.
Values: -10 to 10.
Default: 0
Specifies the name of the XSPOC database
that contains notification records to be
processed. Default: XSPOC
Specifies the database access password.
Specifies the database access user.
Identifies a notification request as a radio callout versus a phone call-out.
Default: 10001
Specifies the time to wait (in seconds) before
a calling out for a given voice notification.
Enables applications such as the XSPOC
Alarm monitor to acknowledge a notification
event before the actual call-out.
Default: 0
Specifies the path the key store for license
authentication.
Specifies the path to the license file
(license.tlf)
Specifies the time (in seconds) between
queries for new notification requests.
Default: 10
Specifies the server name used to establish a
connection with the database.
Specifies local communication port which has
the RigBlaster radio controller. (For
KeyUp/KeyDown control through
RTSControl).
Specifies the number of times to repeat the
radio notification message
Specifies the time (in seconds) to wait after
keying up (enabling RTS).
Default: 1
Specifies the time (in seconds) to wait after
keying down (disabling RTS).
Default: 1
165
Parameter
DialerModem
DialerSound
DialerVoice
Override
Location
Info
DialerSession.exe.conf Specifies which modem to use when the
ig
Override property is set to True and
corresponds to the device enumeration found
in the device.log.
Default: 0
DialerSession.exe.conf Specifies which audio playback device to use
ig
use when the Override property is set to True
and corresponds to the playback device
enumeration found in the device.log.
Default: 0
DialerSession.exe.conf Specifies which synthesized voice to use
ig
when the Override property is set to True and
corresponds to the voice enumeration found
in the device.log.
Default: 0
DialerSession.exe.conf Forces the Phone Notification Session
ig
(DialerSession.exe) to use the DialerSound,
DialerVoice, DialerModem overrides specified
in the DialerSession.exe.config file.
Values: True or False
Default: False
Anytime these configuration parameters are modified, the xsDialer service needs to be restarted.
It is important to create Responder Lists and Responders to handle the callouts that xsDialer will
perform. When a scan is performed on a well and that well has been setup to perform callouts for
communication failures, facility tag limits, or well shutdowns, then tblDialerLog will have an entry.
The xsDialer program periodically checks this table and when it sees a new entry it performs the
callout to the specified responder list. Every time a callout is made, xsDialer writes to the
tblDialerLogDetails table and each entry contains one of the Result Codes listed below:
This allows you to know when a callout was acknowledged or why the callout was not received or
acknowledged.
166
To enable xsDialer to use the callouts setup for each well you will need to add responders to the
system and relate them by groups. By grouping your responders, you allow xsDialer to call
several users on the specified condition. First, you should add responders to the system. Open
the Admin Configuration Window. From the list of tables, choose tblResponders. In this table the
phone number for each entry needs to be unique and you can add the persons first and last
name to the entry. Once you have all your responders listed, navigate to tblRespondersList. This
table is used to set up logical groups that will be used on a callout. In tblRespondersList only the
ResponderListID column has to contain a unique value. Finally, from the list of tables, choose
tblRespondersListRel. This table allows you to relate your responder groups to your responders.
The ResponderListID is one of the ResponderListIDs from tblRespondersList and Phone is one
of the Phone entries from tblReponders. Relating your responders in this fashion allows you to
include a responder in more then one group and to tailor the list of who gets called when the
system needs to callout.
In summary, here are the following tables and the columns that need to be populated so that
xsDialer will know whom to call if the system should need to do a callout. The columns that are
bold need to contain a unique value for that table.
tblRespondersListRel (This table relates phone numbers to the lists, so it tells us which phone
number is on which list)
ResponderListID (the unique list number entered above)
Phone (the phone number of the person on the list)
Order (the order in which this phone number is called)
167
Recall that a Facility Tag can be associated with a Facility or can be associated with a Well. So if
you want to setup a callout for a register value in a POC you need to set up an associated Facility
Tag for that Well and the register. So regardless of the type of POC you have on a well, you can
setup xsDialer to notify you when a registers value is high, low or clear. See Facility
Configuration and Add an Analog Input in this Help manual for instructions on setting up a Facility
Tag.
To setup the callouts for when the Current Value passes a limit high or a limit low, you need to
populate tblFacilityTags.LimitHi and tblFacilityTags.LimitLo columns. You also need to set the
tblFacility.AlarmAction bit 5 for a high limit, bit 6 for a low limit, and bit 7 for when the current
value is no longer above the high limit or below the low limit. The tblFacilityTags columns
VoiceHiText, VoiceLoText, and VoiceClearText must also be set. If you have more than one
device monitoring the same register, make sure that you include the device identification in these
columns. The callouts on high, low and clear use what is in the VoiceHiText, VoiceLoText, and
VoiceClearText with the system parameter, Preamble, added to the beginning of the text in these
columns, as the message for the callout. The callouts only occur when there is a status change
(i.e. CurrentValue goes past LimitHi, CurrentValue goes from violating the LimitHi back to within
normal range, etc.) If you want a callout to happen every time a status scan returns a violation of
LimitHi or LimitLo, instead of when there is only a change in status, then you need to set the
system parameter, CallOutPersistent = 1.
On modbus devices a Shutdown callout can be set up so that whenever a status scan returns a
Shutdown of the well the appropriate users are notified. This will not include any status scan that
returns a Shutdown:User code. For the well you want to callout on Shutdown,
tblNodeMaster.StringID must refer to a valid record in tblStringPagers.StringID. In tblStringPagers
you need to specify if the callout is to be performed on the Weekday, Weekend or both by setting
the appropriate columns to 1. The PagingGroup is the same ID from the
tblResponderList.ResponderListID that you want called when the well shuts down.
168
Many of the manual well control and polling operations that you can perform on a well from the
XSClient interface can also be accomplished through other programs. This is accomplished by
writing an entry to the tblTransactions table in the XSPOC database. The following columns need
to be populated in order for this to occur:
NodeID: The name of the well in XSPOC that you want the function to be performed on.
PortID: This is the PortID number for the wells communication channel
Source: (Optional) This should be the name of the 3rd Party Program or process you are
using to write to this table.
After inserting the record, it gets processed by XSPOC Server and the DateProcess column in
tblTransactions will have the date and time that this function was performed.
Configure the data location for unprocessed Dyn files by setting tblSystemParameters
DynDir parameter to the path on the XSPOC server containing the DYN files.
169
Ensure the tblSchedule Event ProcessDynFiles is enabled and set to run occasionally or
daily (this is user defined and largely determined by how often new files will be placed in
that directory).
Once these two things are configured, XSPOC will begin scanning the directory for new files.
When it finds files, it will attempt to process them. Processed files will be moved into one of two
folders inside the DynDir location ImportsGood or ImportsBad. If a file ends up in ImportsBad,
something was wrong with it and it needs to be corrected and placed back in the DynDir location.
If files end up in ImportsGood, you should be able to see those cards in the Card Library for the
related well.
1. Users are complaining that they cannot get analysis, what should I check?
If the problem is only happening on some wells, there is usually a problem with that wells
data that is preventing it from running. From the clients Well Configuration screen, review
all of the equipment data to make sure that all the proper data has been provided.
If the problem appears to be global, and none of the wells are being analyzed, there are a
few things to check:
1. Go the XSPOC\logs directory and open the log named task_analysis.log. The
bottom of that file should contain a current timestamp. If the time stamp is not
current or recent, try restarting the XSSchedServer service using the XSPOC
Service Manager in the system tray.
2. If this still does not fix the problem, there may be a problem with the installation
of .NET, or some other configuration issue. Contact Theta Support for more
assistance.
2.
Why dont I see my xsScannerL and xsCommServer entries in the task manager?
1. The xsServer service is not running. Check the XSPOC Service Manager to
make sure that the xsServer service is running.
170
3. Are errors that might be causing problems on the server logged any place?
Yes, there is a file in the XSPOC\logs directory that records any errors that the server
application may generate. The files name is xserror.log. This file may be useful for Theta
to look at, and they may request that this file be e-mailed to them for review.
4. Can I use an OPC Server to provide communications services to XSPOC?
Yes you can. Among other things, OPC allows multiple hosts to share a communications
channel. The disadvantage is that some level of configuration has to be done in both
XSPOC and the OPC server when adding or configuring wells. XSPOC is an OPC client,
and it uses device read and write capabilities within OPC to provide this. It also relies on
the OPC server to provide dynamic tag specifications, where the item uses a generic
format to provide the data. As an example, most OPC Servers with Modbus capability
provide a way to request an item from a device using the Modbus address, like
server.device.40001 to read address 40001. Please contact Theta for more assistance
to set this up if you have this need and/or refer the the Admin Manual article called
Communicating Through OPC Servers.
Hardware (TCP/IP): Some terminal servers only support one listening socket, and
hence, one remote connection. Digi sells a special terminal server than allows
multiple simultaneous connections, but it can only be used by standard Modbus.
Software (TCP/IP): There are software solutions that allow multiple connections, and
multiplexing to a TCP/IP device (terminal server), where the terminal server only
provides one connection. In this scenario, the software is provided the coordination of
the data packets.
171
This is a question that could take an entire book to answer, but here are some guidelines
and suggestions:
All of the following has to be setup correctly, with matching values between all
equipment: Baud Rate, Parity, Stop Bits, valid cabling, proper device address, sufficient
radio signal strength, power at remote device, etc.
CRC Error/Timeout: Timeout errors happen when the remote device does not respond.
This can be caused by a power outage at the remote end, bad addresses, or by a
complete failure of the communications equipment. CRC Error happens if the remote
device responds, but the return message has some errors. This is usually caused by
inadequate signal strength, or bad timing parameters on the communications equipment.
Key Up/Key Down Delays: In many modern radio systems, keying up and down is no
longer needed. But on older licensed frequency channels, it is still necessary. Like
transmitting voice over a radio or a CB, you need to press the mike button a little before
you start talking (key up delay), and hold it a little while after you end speaking (key down
delay). There are key up and key down settings on both the master side and the remote
side (set with the RTU/POC). Key Up delays are typically from 50-500 ms. Key down
delays are typically shorter, ranging from 25-150 ms. Communication timeout errors may
be caused by too short of a Key Up or Key Down delay on the host. CRC Errors can be
caused by too short of a Key Up or Key Down delay on the remote side and can also be
caused by to long of a Key Down delay on the host side. In setting the remote delays, it is
often helpful to examine the raw data packets coming from the remote device (if the
beginning of the return packed is clipped, this is caused by too short of a Key Up delay, if
the end is clipped, too short of a Key Down delay.) Usually, some trial and error exercises
need to be used to find the optimum settings. The strategy should be to set all of these
delays to be as short as possible, while still allowing communications success. One
approach might be to set these near the high end of the range and then bring them down
until failures happen, and then bump them up slightly. Each one should be tuned on its
own, one at a time.
172
7. I see columns in the database that are named Locked. How do these work?
Because much of the XSPOC database is user configurable, we have to be very careful
that our service packs do not overwrite changes that our users make to the database.
Where it makes sense, many tables in the database contain this flag which lets us know
that we should not update or delete that particular row. If the Locked column is marked,
we do our best to avoid any future modification to that row.
8. Some of the tables I might modify contain IDs, does Theta want me to use certain
values for these?
Theta has reserved certain IDs for future use, and allows customers to use other ranges
that are reserved for them. Contact Theta if you are unsure which IDs are reserved in a
particular table or column.
9. How can I monitor and meter the amount of power (Kilowatts) consumed at each of our
wells?
XSPOC has the capability of calculating power consumption and can probably get within
about 5%-10% of actual power, provided that accurate input data is provided, including
counterbalance data. XSPOC calculates torque, and then calculates power requirements
based on motor torque curves. There are some frictional losses in the gearbox and belts
that are not considered, so the accuracy will not be perfect. Customers who have
compared our calculations to actual meter measurements tell us they were happy with
the accuracy for their purposes (probably within 10%).
If you need more accuracy than this than you should install an actual power meter device
that accumulates delivered KWH. Depending on the output or communications ability of
the device this information could be sent into XSPOC.
173
Appendix
Appendix
Session
Each time XSPOC Client is started up, you have begun a session and after closing the program,
you have ended the "session. You are prompted for the control passwords only once per session.
Therefore, you will not be prompted for the password again during that session and any additional
changes that you make will be written to the database and/or sent to the POC.
Data Entry
When entering or editing data, it is important to remember to click the cursor on an area out of the
box or field after editing or entering a value (preferably another field), otherwise the change may
not be written to the database. This applies to all windows where data is input.
Run States
The following table is an example of the different Run States that can appear on group status.
Because each controller type can have different status descriptions and meanings, the user is
encouraged to contact the manufacturer of his particular controller. As an example, the following
run states and their descriptions apply to the MPC controller from Lufkin Automation:
Alarm
Description of Problem*
The POC is trying to start the pumping unit but does not see dynamic
load and position signals to confirm that the unit is actually
Idle: StrtFail
Loss Prog
Running: ATF
174
Appendix
Alarm
Description of Problem*
Well State only when digital inputs are wired to contacts on the H-O-A
Running: HOA
switch and programmed for Hand and Auto use. Requires the use of two
digital inputs. Indicates that the H-O-A switch has been set to a position
to override well control by the POC.
The POC does not like the load input signal. In the event of a load signal
Running: LCF
Running: SpFail
Shutdown:
LoRPM
counter will be cleared, and normal operation will continue. If the Low
RPM violation occurs repeatedly for the number of Consecutive Allowed
violations, the POC will arrive at Malf/Low RPM well state. The pumping
unit will stay down until a Re-Set Malfunctions is done by the user.
The Min. Load Allowed Limit in the Surface dynamometer has been
violated and the POC has successfully stopped the pumping unit. The
POC will start the pumping unit after the programmed Downtime
elapses. If the Min. Load violation was due to a transient well bore
Shutdown: ML
Shutdown: MSP
175
Appendix
Alarm
Description of Problem*
of Consecutive Allowed violations, the POC will arrive at Malf/Setpoint
well state. The pumping unit will stay down until a Re-Set Malfunctions is
done by the user.
The programmed logic expression has been proved True and the POC
has successfully stopped the pumping unit. The POC will start the
pumping unit after the programmed Downtime elapses. If the Logic
Expression violation was due to a transient condition, the consecutive
Shutdown: OL
Shutdown: PL
XSPOC uses SPC to help find when runtime, cycles and other parameters are operating in an
abnormal fashion. By using SPC, upper and lower control limits are established on the parameters
that define a normal operating range. When the given parameter falls outside of the normal range,
the system can alert the user to this abnormal condition through exception groups and alarms.
SPC uses a calculation involving standard deviation, which looks at the amount of change
between consecutive data points.
SPC is a much more efficient way to find system problems than the old method of manually
setting these limits. SPC not only performs automatic alarm limit settings, but it also sets limits for
176
Appendix
wells based on that individual well's performance. Wells that have widely varying data will
automatically have broader control limits calculated than those that have consistent data.
In XSPOC, SPC control limits are automatically calculated on several key parameters. These
control limits are displayed on the trend graphs, and violations of these control limits can be
observed through color-coding on the group status screen and through exception groups.
177
Glossary
Glossary
C
CBALANCE (Now XBAL): The software that calculates the maximum counterbalance effect from
a given pumping unit configuration and counterweights positions, or calculates the
position of counterweights from a given pumping unit configuration and maximum
counterbalance effect.
D
Downhole Dynamometer Card: A plot of the loads on the pump versus the pump position. The
card is calculated by the analysis software (XDIAG) using the surface card, production
information, fluid data, and surface and downhole equipment.
R
RODSTAR: The predictive software that takes information from surface and downhole equipment,
production data, fluid data and the simulated downhole dynamometer card and calculates
the predicted surface dynamometer card and predicted condition of the entire system.
S
Scan: Retrieval of information from the controllers
Selected Group or Well: Refers to the group of wells or the individual well selected in the Well
Groups Tree. When a group or well is selected, XSClient is using data for that item to
populate the screens. You can tell which well or group is selected from the status bar at
the bottom on the XSClient screen.
Session: This refers to the time during which you have the XSClient program open and running.
The session begins when you open the program and ends when you close it. If you are
sharing a workstation with other users, it is recommended that you end a session when
finished doing your work.
Surface Dynamometer Card: A plot of rod string loads versus carrier bar position. Rod string
loads are collected by means of a load cell (either a horseshoe load cell, mounted
between the carrier bar and polished rod clamp OR a beam mounted strain gauge, that
detects stress deflections in the walking beam). Position data on POCs is usually
collected by one of two methods: a position (proximity) switch and modified sine wave, or
an inclinometer.
X
XBAL (Formerly CBalance): The software that calculates the maximum counterbalance effect
from a given pumping unit configuration and counterweights positions, or calculates the
position of counterweights from a given pumping unit configuration and maximum
counterbalance effect.
178
Glossary
XDIAG: The diagnostic software that takes information from surface and downhole equipment,
production data, fluid data and the surface dynamometer card to calculate a downhole
dynamometer card and an analysis of the condition of the entire system. Automatic
analysis of cards by XDIAG occurs once per day (early morning after collection).You can
manually analyze any selected dynamometer card. Only the current or startup card that
has been collected overnight will be analyzed automatically.
XSClient: The software interface used to access information from the XSPOC database, control
wells, and collect and analyze dynamometer cards.
179
Glossary
Index
A
Add
DH ............................................................. 21
90
DH Cap@24.............................................. 23
Alarms..................................................24, 43
DH Cap@RT ............................................. 23
DH Stroke ................................................. 23
Analysis Report.......................................... 24
Dynograph ................................................ 18
CAC ........................................................... 53
Event ......................................................... 43
Excel ......................................................... 35
Facilities ...................................................... 5
Fiberglass/steel ......................................... 27
Comment ................................................... 43
Controller ................................................... 53
181
Index
ML ........................................................... 174
Monitor ........................................................ 5
History........................................................ 29
Hrs ............................................................. 23
OL ........................................................... 174
Idletime ...................................................... 43
PL ............................................................ 174
PO ............................................................. 20
PO/SD ....................................................... 21
POC ... 7, 21, 23, 24, 27, 43, 48, 61, 65, 136,
174
Prime Mover.............................................. 57
Pumped-Off............................................... 53
Pumping
182
Index
Pump-off/shutdown .................................... 21
SurCap@24 .............................................. 23
Surface ...................................................... 26
Reports ................................................24, 37
Rod
Configuration .......................................... 52
Data ........................................................ 57
Time In State............................................. 82
Rod ............................................................ 57
Timeout ..................................................... 82
TIS ............................................................ 82
Rotation ..................................................... 57
Trend Description...................................... 68
Trends ....................................................... 29
Server/Port/Description ............................. 53
Well ........................................................... 68
Well Column.............................................. 76
SPM ........................................................... 23
Startup ....................................................... 21
183
Index
Administrator ......................................... 21
Client ....................................................... 7
XSPOC ....................................................... 5
XSPOC ....................................................... 8
YCycl ......................................................... 82
XSPOC
Zoom ......................................................... 29
184