Weatherford 8500 Card Buffer Upload

The Weatherford 8500 protocol module supports uploading card buffer data and event data from controllers that support the functionality. This data can be published to the ACM database and also provided to clients using OPC items as described on the OPC Items page.

Uploading card buffers from M8500 or M8650 is not supported.

Publishing to Database

In order to publish card data to the ACM database, the ACM device object must be configured with a meter object and one or more card buffer types enabled on the Card Collection tab of the device configuration. The archive objects associated with each card buffer type are pre-defined and cannot be edited. Refer to the Archive Limits object page for more information. Card data is published to the archive objects as History Record data. The following table lists each archive object and their properties.

Only controllers that support downhole data will have records published to the downhole archives, if so enabled.

Card Type

Archive Type Name

Archive Sub-Type Name

Card Type

Archive Type Name

Archive Sub-Type Name

Surface Present Buffer

Present

Surface

Downhole Present Buffer

Present

Downhole

Surface PumpOn Buffer

PumpOn

Surface

Downhole PumpOn Buffer

PumpOn

Downhole

Surface Shutdown Buffer

Shutdown

Surface

Downhole Shutdown Buffer

Shutdown

Downhole

Surface Event Buffer

Event

Surface

Downhole Event Buffer

Event

Downhole

Surface Fault Buffer

Fault

Surface

Downhole Fault Buffer

Fault

Downhole

Load Scaling Data

LoadScaling

 

Generating CSV Reports

Card data can be published to CSV reports for importation into third party systems for analysis. The type names and sub-type names listed in the prior table can be used to generate unique reports per archive type if needed. Create a CSV report object then configure.

On the Records tab, select Publish History Records.

A Publisher object will need to be created and associated with the CSV Report Object. Refer to Publisher section of the user manual for more information.

CSV Report Format

The format of the generated CSV report is fixed and described below. All card buffer archives generate the same report format with one exception. If “Marking” is selected for position type for a controller that uses FC16 for card upload, the report format will differ. Both formats are described below.

Card sets uploaded using FC16 or FC16EX will generate a single report record with all data points for all strokes in the one record. Card sets uploaded using FC25 will generate a report record for each individual stroke.

The table describes a CSV report when the CSV Report Object is set to publish Record per Row.

Column

Column Header

Description and Values

Column

Column Header

Description and Values

0

Timestamp

The time stamp of the card set. For FC16, this is the time the upload occurred. For FC16EX and FC25, this is the time the card was generated by the controller.

1

CardType

'E' - Event

'F' - Fault

'N' - Pump On

'P' - Present

'S' - Shutdown

2

Location

'S' - Surface

'D' - Downhole

3

Reason

The reason code for the card generation. See Reason Codes table below.

4

NumberOfStrokes

The number of pump strokes in the card data set.

5

StrokeIndex

The stroke index of the record as associated with the NumberOfStrokes field. Only cards uploaded using FC25 will create individual records for each stroke. Stroke index 1 is the oldest stroke in the set.

6

Points

The number of position/load pairs in the record.

7

LoadType

'P' - Pounds

'F' - Fractional

8

PositionType

'F' - Fractional

'S' - Synthesized

'M' - Marking

'V' - Voltage

 

9

PumpFillage

Pump fillage percent. Only valid for cards uploaded using FC25.

10

AlarmFlags

Alarm flags

11

Position0

Position 0

12

Load0

Load 0

13

Position1

Position 1

14

Load1

Load 1

….

 

 

N

PositionN

The last position in the data set.

N+1

LoadN

The last load in the data set.

Marker CSV Report Format

When Marking is selected as the position type, the report format differs from the prior table. The first ten fields of a record are the same as the prior table and are not repeated here.

Column

Column Header

Description and Values

Column

Column Header

Description and Values

11

MarkerType

'T' - Top of stroke

'B' - Bottom of stroke

12

MarkerCount

The number of marker and marker fraction pairs

13

Marker0

Marker 0 index

14

MarkerFraction0

Marker 0 fractional part

 

Additional marker pairs up to MarkerCount

Load0

Load 0. Next column after all marker pairs.

Load1

Load1

 

 

N

LoadN

Last load in the data set.

Alarm Flags

Alarm flag field is a 16 bit integer representing 16 bit-mapped fields.

Bit

Description

Bit

Description

0

Low Low load violation

1

Low load violation

2

High load violation

3

High High load violation

4

Low load average violation

5

Low load span violation

6

Pump was stopped by a violation

7

Position data is valid

8

Reserved

9

Downhole data available for stroke

10-15

Not used

Reason Codes

Reason Code field is an integer that represents a reason the card was saved and the alarm bits associated with the reason. The four high-order bits contain the event type and are coded as follows.

Event Type Hex

Event Type Decimal

Type

Event Type Hex

Event Type Decimal

Type

0000

0

Present (live) card set

1xxx

4096

Fault

2xxx

8192

Alarm

3xxx

12288

Plain Event

The lower twelve bits contain the actual reason code, which may or may not be associated with an alarm bit.

For plain events which have no associated alarm bit, the reason code is a unique number beginning at hex 800 (2048 decimal).

If associated with an alarm bit, the four low-order bits represent the bit number within the alarm parameter. The next eight bits represent the zero based index into the alarm parameter array starting at parameter 527.

Example: Hex reason 2012 ( decimal 8210 ) - Alarm event, parameter 528, bit 2.

Reason Codes Table

The Reason Codes table values are given in Hex with the ‘x' representing one of the Hex event types listed above. This provides for easy reason lookup without having to decode the reason’s bit pattern.

Alarm Bits Hex

Description

Alarm Bits Hex

Description

x000

Plain Event - Live action data; Fault or Alarm Event - Control failure

x001

Low Load violation

x002

High Load violation

x003

Low Load Average violation

x004

Position Switch failure

x005

Multiple Position Switch failure

x006

Auto cleared position sensor problem

x007

Auto cleared Multiple Position Switch failure

x008

Low Load Span failure

x009

Load Input fault

x00A

Continuous Position sensor fault

x00B

Auto cleared Continuous Position sensor fault

x00C

Attempted Software Timer mode with no timer value

x00D

A/D Converter failure

x00E

Manual Off Until Reset

x00F

POC Override Timer Active

x010

Immediate Pumpoff

x011

Minimum Cycle Run Time violation

x012

Maximum Cycle Run Time violation

x013

Minimum Daily Run Time violation

x014

Parameters initialized (coldstart)

x015

Parameters Expanded

x016

Parameters restored from EEPROM backup

x017

EEPROM cell bad

x018

EEPROM failure

x019

Bad Status value at startup

x01A

Bad Error Bits

x01B

Time and/or Date value suspect

x01C

Clock/Calendar chip failure

x01D

Wrong Line Frequency

x01E

Manual Control Transfer

x01F

Manual Software Timer

x020

CPU Fell behind

x021

Auto cleared Clock/Calendar chip failure

x022

Motor Off too long violation

x023

DI1 Closed

x024

DI1 Open

x025

DI2 Closed

x026

DI2 Open

x027

AI1 as a digital closed

x028

AI1 as a digital open

x029

AI2 as a digital closed

x02A

AI2 as a digital open

x02B

AI3 as a digital closed

x02C

AI3 as a digital open

x02D

Immediate Upper load limit violation

x02E

Reverse Pumpoff violation

x02F

Air Balance Amps too low

x030

DI3 Closed

x031

DI3 Open

x032

DI4 Closed

x033

DI4 Open

x034

DI5 Closed

x035

DI5 Open

x036

DI6 Closed

x037

DI6 Open

x038

AI1 Low Limit violation

x039

AI1 High Limit violation

x03A

AI2 Low Limit violation

x03B

AI2 High Limit violation

x03C

AI3 Low Limit violation

x03D

AI3 High Limit violation

x03E

Air Balance Add Air Forced

x03F

Air Balance Release Air Forced

x040

DI7 Closed

x041

DI7 Open

x042

DI8 Closed

x043

DI8 Open

x044

Program Error

x045

Bad Shutdown

x046

AI4 Low Limit violation

x047

AI4 High Limit violation

x048

AI5 Low Limit violation

x049

AI5 High Limit violation

x04A

AI6 Low Limit violation

x04B

AI6 High Limit violation

x04C

AI7 Low Limit violation

x04D

AI7 High Limit violation

x04E

AI8 Low Limit violation

x04F

AI8 High Limit violation

x050

Run Time under 50% in cycle time stabilization

x051

Divide Error

x052

Gross Fluid Calculation Error

x800

Normal start up

x801

Normal shutdown

x802

Idle Time Parameter (20) set to zero

x803

Pump-off Position Parameter (21) set to zero

x804

Pump-off Load Parameter (23) set to zero

x805

Pump-off stroke count Parameter (24) set to zero

x806

Position Switch setup Parameter (130) set to zero

FFFF

Out of range or buffer empty

For assistance, please submit a ticket via our Support Portal, email autosol.support@autosoln.com or call 281.286.6017 to speak to a support team member.