Weatherford 8500 OPC Items
Standard Items
Parameter Items
The format for parameter items is [P]nnnn[.Field][:Bit][/Type] where ‘nnnn’ is the parameter number and the portions in [] are optional.
‘P’ is optional
nnnn – 1 to 9999
The item fields are pre-defined and if not included, the default is “.Value”. Only one field is allowed per item.
Examples: P1.Value, P1, 24.Size, 4701
Item Field | Description | Datatype |
.Access | read/write access specifier | String |
.Type | storage type specifier | String |
.AtDefault | default value in effect specifier | String |
.Size | size in bytes | Word |
.Display | LCD display string | String |
.Value | current value | Parameter dependent |
Bit designator is optional and only valid for byte and integer type parameters. Returns the value of the zero based bit specified. Valid .Bit field value depends upon the number of bits in the parameter. Items that specify a bit field are read only.
Examples: P2:8, 395.Value:16, 45:0
Type designator is optional and usually not needed if the parameter specified is in the driver’s internal item lookup tables. These tables are used to validate the number of the parameter and determine data type. The type field is provided so that parameter items can be created as needed in the event the lookup tables are incorrect, incomplete, or new parameters are added in the future. Using a type specifier overrides the internal lookup tables. The type specified is the type of the parameter on the controller, not necessarily the data type of the OPC item in client software.
Examples: 1665/F, P20/TS, P9/W:4
Type Designator | Parameter Type | Data Type |
/M | String | String |
/A | Display | String |
/B | Byte | Byte |
/C | Signed Byte | Short Integer |
/W | Unsigned Short Integer | Unsigned Short Integer |
/S | Signed Short Integer | Signed Short Integer |
/L | Long Integer | Unsigned Long Integer |
/F | Floating Point | 32 bit Floating Point |
/T | Time | Unsigned Long Integer – “hhmmss” |
/TM | Time | String – “hh:mm:ss” |
/TS | Time | Unsigned Long Integer - number of seconds |
/D | Date | Unsigned Long Integer – “yymmdd” |
/DM | Date | String – “yy/mm/dd” |
/X | Command | Unsigned Short Integer |
/R | All | Raw ASCII string of parameter value |
By default, time and date parameters are returned as unsigned long integers in the format “hhmmss” and “yymmdd”. If a delimited string type item is desired, specify the data types as “/TM” for time and “/DM” for date. This will return string data in the formats “hh:mm:ss” and “yy/mm/dd”. Use “/TS” to translate time parameters to number of seconds.
The :Bit and /Type specifiers can occur in either order but must be after the .Field specifier, if present.
Command type parameters are read only. Use the item ‘ExecuteParameter’, detailed below, to execute a command parameter.
Protocol Items
Item | Data Type | Description |
---|---|---|
ClearErrors | Boolean | Write a value of ‘True’ to issue FC11 command to the controller to clear all errors |
ClearErrors.Result | Integer | Result code from issuing the Clear Errors command |
DateTime | Date | Current controller date and time |
ExecuteParameter | Integer | Item used to execute a command parameter on the controller. The value to write to this item is the parameter number that is to be executed. Once the command completes, the value will return to zero. |
ExecuteParameter.Result | Integer | Result code from executing the parameter. Negative value means error. |
ExecuteParameter.ResultData | String | Result data, if any, or error message from executing the parameter |
ForceWellIdle | Boolean | Write a value of ‘True” to issue FC17 command to the controller to force well into idle time |
ForceWellIdle.Result | Integer | Result code from issuing Force Well Idle command |
ForceWellOn | Boolean | Write a value of ‘True’ to issue FC18 command to the controller to turn well on |
ForceWellOn.Result | Integer | Result code from issuing Force Well On command. |
UnitType | String | Unit Id |
UnitVersion | String | Firmware Version |
Extended Items
Item | Data Type | Description |
---|---|---|
LastTimeSync | Date | Time of last time synchronization attempt |
LastTimeSyncResult | Integer | Result of last time synchronization attempt |
LoadScalingData | Integer Array | Item to receive load scaling data when a load scaling upload occurs. Format explained below. |
RetrieveLoadScalingData | Boolean | Write a value of ‘True’ to initiate load scaling data upload using FC3. |
RetrieveHistory | Integer | Write a value of ‘1’ to initiate enabled card buffer upload |
TimeSync | Integer | Write a value of ‘1’ to initiate time synchronization |
Load Scaling Data Format
The LoadScalingData item returns an array of integer data comprised of the following. This same format is used for the record if load scaling data is being published to the ACM database.
Array Index | Description |
---|---|
0 | LCUVOF |
1 | P71 |
2 | P74 |
3 | P79 |
4 | P80 |
5 | P83 |
6 | P84 |
7 | P85 |
8 | P86 |
9 | P87 |
10 | P210 |
11 | P211 |
12 | P212 |
Extended Items – Card Buffer Items
The following items allow OPC clients to monitor the most current time stamps and data values of associated card buffer archives. The item names include the associated buffer name.
Data items only return card data for uploads that occur after the item has been activated.
Data items do not support returning card data when the position type is set to “Marking”.
Data items do not support returning data for event records that do not have associated card data.
Item | Data Type | Description |
---|---|---|
LastAlarmCardData | Long Integer Array | Header and load/position pairs for last Alarm Card. Format explained below. |
LastFaultCardData | Long Integer Array | Header and load/position pairs for last Fault Card. Format explained below. |
LastPresentCardData | Long Integer Array | Header and load/position pairs for last Present (live) Card. Format explained below. |
LastPumpOffCardData | Long Integer Array | Header and load/position pairs for last Pump Off Card. Format explained below. |
LastPumpOnCardData | Long Integer Array | Header and load/position pairs for last Pump On Card. Format explained below. |
LastAlarmCardDateTime | Date | Date of last Alarm Card uploaded. |
LastFaultCardDateTime | Date | Date of last Fault Card uploaded. |
LastPresentCardDateTime | Date | Date of last Present Card uploaded. |
LastPumpOffCardDateTime | Date | Date of last PumpOff Card uploaded. |
LastPumpOnCardDateTime | Date | Date of last PumpOn Card uploaded. |
Card Buffer Item Format
Card Buffer data items return an array of signed long integers consisting of header values followed by position/load pairs. The format is detailed in the following table.
Array Index | Description |
0 | Card date in format ‘yymmdd’ |
1 | Card Time in format ‘hhmmss’ |
2 | The sum of the count of all position values and all load values. If ACM device is configured to retrieve multiple strokes, this will include the point count of all cards. If configured for downhole data, this will include the total of surface points plus the total of downhole points. To determine the number of position/load pairs in the data set, divide this number by 2. |
3 | Number of Strokes in data set. |
4 | Reason code. See Card Buffer Upload for reason code values. |
5 | Has downhole data in data set. 1 = True, 0 = False. Any downhole position/load pairs are included in the array after all the surface data points. The number of downhole points will equal the number of surface points in the set. |
6 | Position 0 Value |
7 | Load 0 Value |
8 | Position 1 Value |
9 | Load 1 Value |
| …….. |
| Position N Value |
| Load N Value |
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.