Remote Automation Solutions ROC Protocol Specifications Manual (for Emerson FB1000 and FB2000 Series Flow Computers) Manuals & Guides

ROC Protocol Specifications Manual (for Emerson FB Series Flow Computers)
Product Number: D301828X012
August 2021
Remote Automation Solutions
ROC Protocol Specifications Manual (for Emerson FB1000 and FB2000 Series Flow Computers)
ROC Protocol Specifications Manual (for Emerson FB Series Flow Computers)
D301828X012 August 2021
Contents ii
System Training
A well-trained workforce is critical to the success of your operation. Knowing how to correctly install, configure, program, calibrate, and trouble-shoot your Emerson equipment provides your engineers and technicians with the skills and confidence to optimize your investment. Remote Automation Solutions offers a variety of ways for your personnel to acquire essential system expertise. Our full-time professional instructors can conduct classroom training at several of our corporate offices, at your site, or even at your regional Emerson office. You can also receive the same quality training via our live, interactive Emerson Virtual Classroom and save on travel costs. For our complete schedule and further information, contact the Remote Automation Solutions Training Department at 800-338-8158 or email us at education@emerson.com.
ROC Protocol Specifications Manual (for Emerson FB Series Flow Computers)
D301828X012
August 2021
Contents iii
Contents
Section 1: Introduction .................................................................................. 1
1.1 Manual Organization ................................................................................................................. 1
1.2 General Protocol Message Format ............................................................................................. 2
1.3 Calculating Data Offsets ............................................................................................................ 3
1.4 Limitations ................................................................................................................................ 4
Section 2: Opcodes ....................................................................................... 5
2.1 Opcode Overview ...................................................................................................................... 5
2.2 Opcode 6 – FB Series ................................................................................................................. 6
2.3 Opcode 7 .................................................................................................................................. 7
2.4 Opcode 8 .................................................................................................................................. 8
2.5 Opcode 17 ................................................................................................................................ 8
2.6 Opcode 103 .............................................................................................................................. 9
2.7 Opcode 120 ............................................................................................................................ 10
2.8 Opcode 121 ............................................................................................................................ 11
2.9 Opcode 122 ............................................................................................................................ 13
2.10 Opcode 130 ............................................................................................................................ 16
2.11 Opcode 136 ............................................................................................................................ 17
2.12 Opcode 165 ............................................................................................................................ 19
2.13 Opcode 166 ............................................................................................................................ 19
2.14 Opcode 167 ............................................................................................................................ 20
2.15 Opcode 180 ............................................................................................................................ 21
2.16 Opcode 181 ............................................................................................................................ 21
2.17 Opcode 255 – Error Indicator ................................................................................................... 22
Section 3: Parameter Lists for Point Types .................................................... 25
3.1 ROC Point Types and Data Types ............................................................................................. 25
Type, Location/Logical and Parameter (TLPs) .............................................................. 27
Logical/Point Number Details ..................................................................................... 27
Bit Assignments .......................................................................................................... 29
3.2 ROC Point Type Parameter Definitions ..................................................................................... 29
Point Type 1: Discrete Input ........................................................................................ 31
Point Type 2: Discrete Output ..................................................................................... 33
Point Type 3: Analog Input .......................................................................................... 35
Point Type 4: Analog Output ....................................................................................... 38
ROC Protocol Specifications Manual (for Emerson FB Series Flow Computers) D301828X012 August 2021
iv Contents
Point Type 5: Pulse Input ............................................................................................. 40
Point Type 7: AGA Flow ............................................................................................... 42
Point Type 8: Standard History .................................................................................... 46
Point Type 10: AGA Flow Calculation ........................................................................... 49
Point Type 12: ROC Clock ............................................................................................ 51
Point Type 13: System Flag ......................................................................................... 52
Point Type 15: System Variables (ROC Information) .................................................... 54
Point Type 17: Soft Point ............................................................................................. 56
Point Type 19: Database ............................................................................................. 57
Point Type 21: User Defined Point ............................................................................... 58
Point Type 40: Multi-Variable Sensor ........................................................................... 59
Point Type 41: Run ...................................................................................................... 65
Point Type 42: Extra AGA Run ..................................................................................... 69
Point Type 45: Meter Calibration and Sampler............................................................. 71
Point Type 46: Meter Configuration ............................................................................ 72
Point Type 47: Meter Flow .......................................................................................... 81
Point Type 48: PID Control .......................................................................................... 85
Point Type 86: Extended History ................................................................................. 88
Section 4: CRC-16 Code and Example .......................................................... 91
Section 5: IEEE Floating Point Format ........................................................... 93
Index …….………… ............................................................................................. 95
ROC Protocol Specifications Manual (for Emerson FB Series Flow Computers) D301828X012 August 2021
Introduction 1
Section 1: Introduction
This manual provides information required to understand the specifications for the ROC protocol. The intended use is for developing communication drivers to interface with a FB Series flow computer.
The ROC database is broken into individual parameters. Each database parameter is uniquely associated by parameter number and point type. See Chapter 3, Parameter Lists for Point Types, for detailed information.
Note:
For simplicity, this manual uses the term FB Series” when referring to the Emerson FB1100, FB1200, FB2100 and FB2200 flow computers. Unless otherwise noted, the descriptions and procedures apply to all FB Series devices using the ROC protocol.
1.1 Manual Organization
This manual is organized into the following chapters:
Table 1-1: Manual Organization
Chapter
Description
Section 1 Introduction
Describes this manual and provides a summary of the general protocol message format, summary of each opcode, and how to calculate data offsets.
Section 2 Opcodes
Lists each opcode the ROC protocol uses.
Section 3 Parameter Lists for Point Types
Describes ROC point types and data types.
Section 4 CRC-16 Code and Examples
Provides information concerning the cyclical redundancy check the ROC protocol uses.
Section 5 IEEE Floating Point Format
Provides information about the binary representation of floating-point numbers. Index
Provides an alphabetic listing of items and topics contained in this manual.
ROC Protocol Specifications Manual (for Emerson FB Series Flow Computers) D301828X012 August 2021
2 Introduction
1.2 General Protocol Message Format
Tables 1-2 and 1-3 show the various ROC and host protocol message formats. General Message
Format - Station “A” Polling Station ‘B’ for Data/Action:
Table 1-2: General Format – Station A” Polling Station “B” for Data/Action
Destination
(B)
Source (A)
Opcode
Data
Length
m Data Bytes
CRC
unit
group
unit
group
# of
bytes
d1
d2
d3 - - - dm
Lsb
msb
Table 1-3: General Format – Station B Responding to Station A
Destination
(B)
Source (A)
Opcode
Data
Length
m Data Bytes
CRC
unit
group
unit
group
# of
bytes
d1
d2
d3 - - - dn
Lsb
msb
A message generally contains the following fields, in order from left to right:
Field
Description
Destination
Specifies the address for the destination device. Destination has two components:
Unit
One-byte unit code for the station address. The unit code for a ROC address is user-configurable. For a host, this must be a unique number. 0 represents “broadcast within group” and 240 is the “direct connect address.”
Group
Indicates the group code for the station address. This is user-configurable.
Source
Specifies the address for the source device. Source has two components:
Unit
One-byte unit code for the station address. The unit code for a ROC address is user-configurable. For a host, this must be a unique number. 0 represents
“broadcast within group” and 240 is the “direct connect address.”
Group
Indicates the group code for the station address. This is user-configurable.
Opcode
Defines the operation code (opcode) action to perform. See Section 2 for description of supported opcodes.
# of bytes
Indicates the number of bytes in the data byte field, consisting of the path, desired opcode, number of data bytes for the desired message, and the desired message itself.
Data Bytes
Contains messages of varying lengths, consisting of the path, desired opcode, number of data bytes for the desired message, and the message itself.
ROC Protocol Specifications Manual (for Emerson FB Series Flow Computers) D301828X012 August 2021
Introduction 3
CRC
Confirms validity of message transmission.
lsb
Least significant byte.
msb
Most significant byte.
Messages are of flexible length. The first six data bytes are used for the header information including: destination, source, opcode, and data length (number of bytes). The length of a message equals the number of data bytes transmitted plus eight overhead bytes (header information and CRC).
The minimum message length is eight bytes if the number of data bytes is zero (no data bytes transmitted). The maximum message length is 248 bytes (240 bytes of data). a byte.
Tables 1-4 and 1-5 provide examples of the messages exchanged if the host requests the current
time and date from ROC 13 of Group 5.
Table 1-4: Host Request to ROC
ROC Address
Host
Address
Opcode
Data
Length
CRC
unit
group
unit
group
-
# of
bytes
Lsb
msb
13 5 1 0 7 0 l
m
Table 1-5: ROC Response to Host
Host
Address
ROC
Address
Opcode
Data
Length
8 Data Bytes
CRC
unit
group
unit
group
-
# of
bytes
d1
d2
d3 - - - -
dn
Lsb
msb
1 0 13 5 7 8 sec
min
hr
day
mo
yr
lyr
dwk l m
Note:
Addresses 240, 240 and 0,x are reserved and should not be used.
1.3 Calculating Data Offsets
A data byte offset is the offset (zero-based) from the beginning of a transmit or receive buffer for the data items that comprise the opcode data. The offset of the first data item is always 6 to allow for the header information (bytes 0-5).
Certain data offset values are determined based on the ROC configuration. The data byte offset for each item may be calculated. To calculate the next data offset value, add the previous offset value to the length of the previous data item:
Offset = Previous Offset + Length of Previous Data Item
ROC Protocol Specifications Manual (for Emerson FB Series Flow Computers) D301828X012 August 2021
4 Introduction
1.4 Limitations
The following limitations currently exist when FB Series devices use ROC protocol:
Changes to the meter or history configuration in your FB Series device require you to issue an Opcode 6 to update configuration information before using other Opcodes to read/write data over ROC protocol. Additionally, Opcode 120 must be issued before making any call to retrieve history data.
New functionality such as Action or Math Blocks parameters cannot be accessed.
Events for BIN (binary) data types show only the new and old value of the changed bit; unchanged bits are not logged as events.
Events logged for the user mode property associated with a meter other than the first or integral sensor instance (for example, DP_1-2, Press_1-2, RTD_1-2) will all return the same MVS TLP (40,0,3). This may make it difficult for users to determine what specific instance was changed.
To generate valid EFM data:
o
User Data points cannot be assigned as flow measurement inputs
o
Identical objects cannot be assigned to two different meters
In cases where value precision is greater in the FB Series device than what was supported by the FloBoss107, the extra digits will be truncated without rounding. For example, the “no flow time limit in seconds” for Linear Meters on FB Series devices accepts a floating point number with up to three decimal places (e.g., 5.678) whereas the FloBoss107 supports an integer number. In this case, retrieving the value from the FB Series device over ROC protocol will yield an integer with trailing decimal numbers removed (e.g., 5). See the DNP3 protocol manual for a complete listing of parameter data types used by FB Series devices.
Meter history collection is limited to Station 1, which resides in group 4. You cannot access the Station 2 history group. Additionally, devices supporting two meter runs must have the second meter history configured in group 4 (station 1).
Station parameter assignments are primarily configured during a device’s initial setup. As previously noted, the FloBoss107’s ROC protocol does not have the concept of different
stations. As a result, both meters must be assigned to Station1/history group 4. For a similar reason, station parameter changes returned via Opcode 122 appear as if they are affecting only meter 1. However, the FlowCal Enterprise software recognizes (via the file’s configuration section) that the station parameter change has occurred in meter 2, but since it does not have an associated event, the software highlights the exception. Because there is no associated event to tag precisely when the value changed, it is advisable to make station changes as soon as possible after the SCADA poll (that is, for a 1:00 PM poll, make changes at 1:01PM). To avoid this issue with manually entered gas composition changes, assign each meter to a separate Components object.
ROC Protocol Specifications Manual (for Emerson FB Series Flow Computers) D301828X012 August 2021
Opcodes 5
Section 2: Opcodes
This chapter details each ROC protocol opcode.
2.1 Opcode Overview
Table 2-1 briefly describes each opcode. The tables in this section provide detailed descriptions of
the various opcodes used. For each opcode, a brief description of the data bytes is provided. In some cases, the number of data bytes returned for an opcode varies.
Certain opcodes only send data and do not receive data back from the FB Series. For example, Opcode 8 requests the FB Series to set the time and date. The host transmits six to nine data bytes defining the new time and date. The FB Series resets the time and date and sends back an acknowledgment in which the opcode is repeated, but no data bytes are transmitted back. All acknowledgments are 8-byte messages that repeat the opcode received, but do not transmit any data bytes.
Opcode 255 is an error message indicator. This is also an 8-byte message with no data bytes included. The opcode is set to 255 to indicate the message received by the FB Series had valid Cyclical Redundancy Check (CRC), but contained invalid parameters. For example, if a request was made for information on Analog Input #11, but the FB Series was configured for only eight analog inputs (0 to 7), the FB Series would respond back with the 8-byte message with the opcode equal to 255 (error).
The number of analog inputs varies from device to device. This variability is indicated by listing the first analog input and indicating the remaining analog inputs by a period (“.”). In the following tables, a period in either the Data byte(s) column or the Description of Data column indicates a repetition of the proceeding item for the necessary number of instances.
Table 2-1: Summary of Codes
Opcode
Description
6
Sends FB Series configuration information.
7
Sends current time and date.
8
Sets new time and date.
17
Sets operator identification.
103
Sends system information such as on/off times, manual/alarm status, firmware version, and current time and date.
120
Sends pointers for alarm, event, and history logs.
121
Sends specified number of alarms starting at specified alarm pointer.
122
Sends specified number of events starting at specified event pointer.
130
Sends archived hourly and daily data for specified history point starting at specified history pointer.
136
Requests multiple history points for multiple time periods
165
Sends current history configuration data
166
Sets specified contiguous block of parameters.
167
Sends specified contiguous block of parameters.
180
Sends specified parameters.
181
Sets specified parameters.
ROC Protocol Specifications Manual (for Emerson FB Series Flow Computers)
D301828X012
August 2021
6 Opcodes
Opcode
Description
255
Transmits error messages by FB Series in response to a request with invalid parameters or format.
2.2 Opcode 6 – FB Series
Opcode 6 returns the current configuration of the FB Series device.
Table 2-2: Opcode 6
Opcode 6
Communication
Opcode
Host Request to ROC
ROC Response to Host
Data
Description of Data
Data
Description of Data
Offset
Length
Offset
Length
Opcode 6: Send ROC Configuration – (FB Series)
No data bytes.
6
1
Number of Discrete Inputs
7
1
Number of Analog Inputs
8
1
Number of Discrete Outputs
9
1
Number of Analog Outputs
10
1
Number of Active meter runs
11
1
Number of PIs
12
1
Number of Active PIDs
13
1
Number of Tanks – always 0
14
1
Number of Standard History Points (0 - 60)
15
1
Number of Extended History Points (0 – 10)
16
1
Not Used – always 0
17
1
Not Used – always 0
18
1
Not Used – always 0
19
1
Not Used – always 0
20
1
Not Used – always 0
21
1
Not Used – always 0
22
1
Number of Soft Points
23
1
Number of Comm Ports
24
1
Device Type, (4 = FB Series)
25
1
Number of Configurable Opcodes = 0
26
20
Customer Name
46-63
1
Not Used – always 0
64
1
Number of MVS - Point Type 40
65
1
Number of Run Parameter – Point Type 41
66
1
Number of Extra Run Parameters – Point Type 42
67
1
Point Type 43 – Not Used – always 0
68
1
Number of Radio Power Control Parameters – Point Type 44 = 0
ROC Protocol Specifications Manual (for Emerson FB Series Flow Computers) D301828X012 August 2021
Opcodes 7
Opcode 6
Communication
Opcode
Host Request to ROC
ROC Response to Host
Data
Description of Data
Data
Description of Data
Offset
Length
Offset
Length
Opcode 6: Send ROC Configuration – (FB Series)
(Cont’d)
69
1
Number of Meter Calibration and Sampler – Point Type 45
70
1
Number of Meter Configuration – Point Type 46
71
1
Number of Meter Flow Values – Point Type 47
72
1
Number of PID Control – Point Type 48 73-84
1
Not Used – always 0
85
1
Communication Port where Opcode 6 Request Received. 0=COM1 1=COM2 2=COM3 4=Ethernet
86
1
Operating Mode (always 0) 0=Normal 1=Boot
87-91
4
Not Used – always 0
92
1
Maximum number of Standard History points
93
1
Maximum number of User Defined History points
94-114
1
Not Used – always 0
115
1
Number of Ethernet Points – Point Type 80
116-120
1
Not Used – always 0
121
1
Number of Extended History Information Points – Point Type 86 122-234
1
Not Used – always 0
2.3 Opcode 7
Opcode 7 returns the current time and date, the number of years since the last leap year, and the day of week.
Note:
Read the time/date by using Opcodes 167 and 180 and specifying Point Type 12.
ROC Protocol Specifications Manual (for Emerson FB Series Flow Computers)
D301828X012
August 2021
8 Opcodes
Table 2-3: Opcode 7
Opcode 7
Communication
Opcode
Host Request to ROC
ROC Response to Host
Data
Description of Data
Data
Description of Data
Offset
Length
Offset
Length
Opcode 7: Send Current Time and Date
No data bytes.
6
1
Current Second
7
1
Current Minute
8
1
Current Hour
9
1
Current Day
10
1
Current Month
11
1
Current Year
12
1
Leap Year or Not Leap Year 1 = Leap Year 0 = Not Leap Year
13
1
Current day of week 1=Sunday...7=Saturday
2.4 Opcode 8
Opcode 8 is the only way to set the real-time clock. The leap year counter provides a mechanism to set the leap year.
Table 2-4: Opcode 8
Opcode 8
Communication
Opcode
Host Request to ROC
ROC Response to Host
Data
Description of Data
Data
Description of Data
Offset
Length
Offset
Length
Opcode 8: Set Current Time and Date
6
1
Current seconds (0-59)
No data bytes.
7
1
Current minutes (0-59)
Time and date are set and acknowledgment sent back.
8
1
Current hour (0-23)
9
1
Current day (1-31)
10
1
Current month (1-12)
11
1
Current year (0-99)
2.5 Opcode 17
Opcode 17 sets an operator identification code for the communications port through which communications are occurring. The operator identification is logged with an event, indicating the operator responsible for creating the event. The FB Series provides a default operator identification for each communications port.
Once you set the operator identification, it remains set until changed either by:
Subsequent Opcode 17 requests.
Inactivity timeout for login
FB Series initialized by a cold start.
ROC Protocol Specifications Manual (for Emerson FB Series Flow Computers) D301828X012 August 2021
Opcodes 9
Table 2-5: Opcode 17
Opcode 17
Communication
Opcode
Host Request to ROC
ROC Response to Host
Data
Description of Data
Data
Description of Data
Offset
Length
Offset
Length
Opcode 17: Set Operator ID – (Accepted only when security is disabled for comm port)
6
3
Operator ID
No data bytes.
or
Opcode 17: Set Operator ID – (Accepted when User ID and and Password are valid user in device)
6
3
Operator ID
No data bytes.
9
2
Password
Acknowledgment sent back.
or
Opcode 17: Set Operator ID – (Accepted when User ID and Password are valid user in device. Access level is ignored as it is based on Role of user configured in device.) 6 3
Operator ID
No data bytes.
9
2
Password
Acknowledgment sent back.
11
6
Access Level
6
3
Operator ID
9
2
Password 11
6
“Logout”
2.6 Opcode 103
Opcode 103 determines the current version of firmware residing in the FB Series, as well as other device-specific information. This opcode is useful in determining which FB Series units should be upgraded.
ROC Protocol Specifications Manual (for Emerson FB Series Flow Computers)
D301828X012
August 2021
10 Opcodes
Table 2-6: Opcode 103
Opcode 103
Communication
Opcode
Host Request to ROC
ROC Response to Host
Data
Description of Data
Data
Description of Data
Offset
Length
Offset
Length
Opcode 103: Send System Information (Power Off/On Times, Manual/ Alarm Status, Firmware Version.)
No data bytes.
6
6
Last power-off time and date – Always 0
12
6
Last power-on time and date – Always 0
18
1
Manual Status flag – Always 0
19
1
Alarm Status flag – Always 0
20
40
Product Identification
60
20
Time and date firmware produced
80
1
Device Address
81
1
Device Group
82
20
Station Name
102
6
Current time and date: Seconds, minutes, hour, day, month, and year
2.7 Opcode 120
Opcode 120 also sends the current hour (periodic) and day pointers for the history groups and maximum number of logs for each group.
Note:
The FB Series hourly log archive can store up to 1500 entries. Only the most recent 840 can be retrieved through ROC protocol. The daily log can contain up to 365 entries. Only the most recent 35 can be retrieved through ROC protocol.
Table 2-7: Opcode 120
Opcode 120
Communication
Opcode
Host Request to ROC
ROC Response to Host
Data
Description of Data
Data
Description of Data
Offset
Length
Offset
Length
Opcode 120: Send Pointer for Alarm, Event, and History Index
No data bytes.
6
2
Current Alarm Log pointer (0-239)
8 2
Current Event Log pointer (0-239)
10
2
Index to current History Group 4 (Station 1) Hourly History (0-
839)
12
2
Index to current History Group 1 (User Periodic 1) History (0-9)
14
2
Number of User Periodic 1 History Logs (0-3999)
16
2
Not Used – Always 0
ROC Protocol Specifications Manual (for Emerson FB Series Flow Computers) D301828X012 August 2021
Opcodes 11
Opcode 120
Communication
Opcode
Host Request to ROC
ROC Response to Host
Data
Description of Data
Data
Description of Data
Offset
Length
Offset
Length
Opcode 120: Send Pointer for Alarm, Event, and History Index
(Cont’d)
18
1
Index to current History Group 4 (Station 1) Daily History (0-
34) 19
1
Not Used – Always 0
20
1
Not Used – Always 0
21
1
Not Used – Always 0
22
2
Maximum number of alarms (240)
24
2
Maximum number of events (240)
26
1
Number of Day of Archived Daily History logs (0-34)
27
1
Number of Days of Archived Hourly History logs (0-34)
28
1
Number of Days of Archived User Periodic 1 History logs (0-?)
29
1
Not Used – Always 0
30
1
Not Used – Always 0
31
1
Not Used – Always 0
2.8 Opcode 121
Opcode 121 requests alarm data from the Alarm Log in the FB Series. The Alarm Log consists of a maximum of 240 alarms.
Note:
An Opcode 120 request can be used to retrieve the current alarm index pointer.
For calls which start inside the valid alarm index range (0-239) but request data beyond the last index (239), the system will wrap back around to the first index (0) and use those older items to fill the response buffer.
Requests which try to reference values outside the valid alarm index range (>239) will result in an error.
ROC Protocol Specifications Manual (for Emerson FB Series Flow Computers)
D301828X012
August 2021
12 Opcodes
Table 2-8: Opcode 121
Opcode 121
Communication
Opcode
Host Request to ROC
ROC Response to Host
Data
Description of Data
Data
Description of Data
Offset
Length
Offset
Length
Opcode 121: Send Specified Number of Alarms Starting with Specified Alarm Pointer
6
1
Number of alarms requested (maximum
10)
6
1
Number of alarms being sent
7
2
Starting Alarm Log pointer (0-239)
7
2
Starting Alarm Log pointer
9
2
Current Alarm Log pointer
11
22
1st Alarm:
Alarm Type (1 byte – see below)
Alarm Code (1 byte – see below)
Time and date (6 bytes):
SS
MM
HH
DD
MM
YY
Tag (10 bytes)
Value (4 bytes)
- (above repeated as necessary)
Alarm Type: The byte is broken into two nibbles: high nibble equals bits 4 to 7, and low nibble equals bits 0 to 3. A nibble is a four-bit unit or half a byte.
High nibble equals 1 for DP Sensor alarms
High nibble equals 2 for SP Sensor alarms
High nibble equals 3 for PT Sensor alarms
High nibble equals 5 for I/O point AIs, DIs, PIs, and AOs
High nibble equals 6 for meter run alarms
High nibble equals 7 for User Text alarms
High nibble equals 8 for User Value alarms
High nibble equals 9 for Integral Sensor alarms
Low nibble equals 0 means alarm clear
Low nibble equals 1 means alarm set.
Low nibble equal to some other value is possible, but not given here (contact factory).
Alarm Code: For an I/O point (high nibble of the Alarm Type byte is 1, 2, 3, or 5):
0 = Low Alarm
1 = Lo Lo Alarm
2 = High Alarm
3 = Hi Hi Alarm
4 = Rate Alarm
5 = Status Change
ROC Protocol Specifications Manual (for Emerson FB Series Flow Computers) D301828X012 August 2021
Opcodes 13
6 = Point Fail
7 = Override Mode
For a meter run alarm (the high nibble of the Alarm Type byte is 6):
0 = Low Alarm
2 = High Alarm
6 = No Flow Alarm
7 = Manual Mode
For an Integral Sensor alarm (high nibble of the Alarm Type byte is 9):
4 = Input Freeze Mode (Calibration in progress)
6 = Sensor Communications Fail Alarm
7 = Scanning disabled
All other alarms = Invalid Alarm.
Time and Date: Seconds, minute, hour, day, month, and year.
Tag: Ten ASCII characters.
Value: Represents the value at time of the occurrence of the alarm.
2.9 Opcode 122
Opcode 122 requests up to 10 events from the Event Log in the FB Series. The Event Log consists of a fixed number of events. The maximum number of events in the Event Log is returned in Opcode
120. Each event consists of 22 bytes, organized according to the one of the five formats described in Tables 2-10 through 2-15. Table 2-16 shows the format used by each point type.
Note:
An Opcode 120 request can be used to retrieve the current event index pointer.
For calls which start inside the valid event index range (0-239) but request data beyond the last index (239), the system will wrap back around to the first index (0) and use those older items to fill the response buffer.
Requests which try to reference values outside the valid event index range (>239) will result in an error.
ROC Protocol Specifications Manual (for Emerson FB Series Flow Computers)
D301828X012
August 2021
14 Opcodes
Table 2-9: Opcode 122
Opcode 122
Communication
Opcode
Host Request to ROC
ROC Response to Host
Data
Description of Data
Data
Description of Data
Offset
Length
Offset
Length
Opcode 122: Send Specified Number of Events Starting with the Specified Event Pointer
6
1
Number of events requested (maximum
10)
6
1
Number of events being sent
7
2
Starting Event Log pointer (0-239)
7
2
Starting Event Log pointer
9
2
Current Event Log pointer
11
22
1st Event:
See Tables 2-10 through 2-15, for breakout of these 22 bytes. To determine which format is used by a given point type, see Table 2-16.
-
(above repeated as necessary)
Table 2-10: Event Format 1
Point Type
Parm # Time and Date
Occurrence of Event
Pt
#
Operator ID
Event Text
0 1 2 3 4 5 6 7 8 9 10
11
12
13
14
15
16
17
18
19
20
21 - -
sec
min
hr
day
mo
yr
Table 2-11: Event Format 2
Point
Type
Parm # Time and Date
Occurrence of Event
Pt
#
Operator ID
Old Value
New Value
Not Used
or Tag
0 1 2 3 4 5 6 7 8 9 10
11
12
13
14
15
16
17
18
19
20
21 - -
sec
min
hr
day
mo
yr
Notes:
Old values and New values are formatted in the native data type of the parameter changed with the Least Significant Byte (LSB) first. If the length of the parameter is less than 4 bytes, the Old and New values start at bytes 12 and 16, respectively, with unused bytes at the end of both the Old and New value 4-byte reserved area. For example, if the data type of the parameter changed was a TLP type (3 bytes), the Old value would be entered in bytes 12­14 and the New value would be entered in bytes 16-18, with bytes 15 and 19 unused. Refer to Section 3.2, ROC Point Type Parameter Definitions, concerning data types.
If the length of the parameter is 10 bytes, the New value is entered in both the Old, New, and Tag bytes (12 through 21) and the Old value is not retained. If the length of the parameter is greater than 10 bytes, the first 10 bytes of the New value are entered in the Old, New, and Tag bytes (12 through 21) and the Old value is not retained.
ROC Protocol Specifications Manual (for Emerson FB Series Flow Computers) D301828X012 August 2021
Opcodes 15
Table 2-12: Event Format 3 from EVT Function
Point
Type
Parm # Time and Date
Occurrence of Event
Event Text
Floating Point
Value
0 1 2 3 4 5 6 7 8 9 10
11
12
13
14
15
16
17
18
19
20
21 - -
sec
min
hr
day
mo
yr
Table 2-13: Event Format 4
Point
Type
Parm # Time and Date
Occurrence of Event
Time and Date
per Event
Not Used
0 1 2 3 4 5 6 7 8 9 10
11
12
13
14
15
16
17
18
19
20
21 - -
sec
min
hr
day
mo
yr
sec
min
hr
day
mo
yr x x x x x x x x
Table 2-14: Event Format 5
Point
Type
Parm # Time and Date
Occurrence of Event
Not Used
0 1 2 3 4 5 6 7 8 9 10
11
12
13
14
15
16
17
18
19
20
21 - -
sec
min
hr
day
mo
yr x x x x x x x x x x x x x x
Table 2-15: Event Format 6
Point Type
Parm # Time and Date
Occurrence of Event
Pt
#
Operator ID
Old Value
New Value
Cal Info
0 1 2 3 4 5 6 7 8 9 10
11
12
13
14
15
16
17
18
19
20
21
79
See
Note 1
sec
min
hr
day
mo
yr
See
Note 2
See
Note
3
See
Note
4
1. Defines type of calibration performed:
0 = Set Zero
1= SetSpan
2 = Set Mid-point 1
3 = Set Mid-point 2
4 = Set Mid-point 3
5 = Calibration Verified
10 = Set Zero Shift/Static Pressure Offset/ RTD Bias
29 = Calibration Cancelled
2. Logical number of 4088 or Analog Input being calibrated:
DP_1-1 : 0 (Point type no : 3)
SP_1-1 : 1 (Point type no : 3)
PT_1-1 : 2 (Point type no : 3)
DP_1-2 : 0 (Point type no : 40)
SP_1-2 : 0 (Point type no : 40)
PT_1-2 : 0 (Point type no : 40)
DP_1-3 : 1 (Point type no : 40)
SP_1-3 : 1 (Point type no : 40)
ROC Protocol Specifications Manual (for Emerson FB Series Flow Computers)
D301828X012
August 2021
16 Opcodes
PT_1-3 : 1 (Point type no : 40)
3. Type of point being calibrated (4088=40, AI=3)
4. Defines MVS input being calibrated (only valid when point type is 4088):
1 = Differential Pressure Input
2 = Static Pressure Input
3 = Temperature Input
Table 2-16: Event Format by Point Type
Point Type
Format
Description
1
2
Discrete Input Configuration Variables
2
2
Discrete Output Configuration Variables
3
2
Analog Input Configuration Variables
4
2
Analog Output Configuration Variables
5
2
Pulse Input Configuration Variables
6
2
PID Configuration Variables
7
2
Meter Run Configuration Variables
10
2
Meter Run Flow Rates Parameter
12
2
Clock Configuration Variables
15
2
System Variables
17
2
Soft Points
40
2
Multi-Variable Sensor – (4088B Sensors)
41
2
Meter Run Parameters
42
2
Extra Meter Run Parameters
45
2
Meter Calibration And
46
2
Meter Configuration Parameters
47
2
Meter Flow Values
48
2
PID Control Parameters
145
4
All Power Removed
200
1
Clock Change Event
2.10 Opcode 130
Opcode 130 requests a specified number of hourly or daily data values for a specified history point from history group 1 (User periodic 1) or group 4 (Station 1) starting at a specified history pointer.
The current history index for each group can be retrieved by Opcode 120.
The starting history index specifies the beginning record for hourly values or daily values:
Daily Values: 840 + x, where x can be 0 – 34 to indicate the starting history index.
Hourly Values: 0 – 839
ROC Protocol Specifications Manual (for Emerson FB Series Flow Computers) D301828X012 August 2021
Opcodes 17
Note:
For calls which start inside the valid history index range for hourly values (0-839) but request data beyond the last index (839), the system will wrap back around to the first index for hourly values (0) and use those older items to fill the response buffer.
For calls which start inside the valid history index range for daily values (840-874) but request data beyond the last index (874), the system will wrap back around to the first index for daily values (840) and use those older items to fill the response buffer.
Requests which try to reference values outside the valid history index range (>874) will result in an error.
To read time values for a particular history group, specify 254 as the history point number. Following is the format of the hourly and daily timestamp value for group 4 (Station 1):
Minute
Hour
Day
Month
Following is the format of the timestamp for group 1(User Periodic 1): Time in seconds since 12:00 a.m. Jan. 1, 1970.
Table 2-17: Opcode 130
Opcode 130
Communication
Opcode
Host Request to ROC
ROC Response to Host
Data
Description of Data
Data
Description of Data
Offset
Length
Offset
Length
Opcode 130: Send Specified # of Hourly or Daily Data for Specified History Point Extended History
6
1
Type of History: 0 = Hourly or Daily (Standard) 1 = Extended
6
1
Type of History: 0 = Hourly or Daily (Standard) 1 = Extended
7
1
History Point Number (0-59, for Timestamp specify 254)
7
1
History Point Number
8
1
Number of history values requested (maximum 60)
8
1
Number of history values being sent
9
2
Starting history index (0-839 for hourly, 840­874 for daily)
9
4
1st history value
13
4
2nd history value
-
(above repeated as necessary)
2.11 Opcode 136
Opcode 136 requests a specified number of user periodic or station 1 data values for a specified starting history index for a specified number of time periods, starting at a specified history point for a specified number of history points.
Opcode 136 returns the history values for the requested user periodic or station 1 history index from the starting history point and continuing until the requested number of history points is completed. The time stamp for the history index will always be returned.
ROC Protocol Specifications Manual (for Emerson FB Series Flow Computers)
D301828X012
August 2021
18 Opcodes
The timestamp is a TIME [UINT32] representing the number of seconds elapsed since 12:00 a.m. Jan. 1, 1970. This can be thought of as row addressing. An error is returned if the day was not found.
The current history index for each group can be retrieved by Opcode 120.
Note:
For calls which start inside the valid history index range for hourly values (0-839) but request data beyond the last index (839), the system will wrap back around to the first index for hourly values (0) and use those older items to fill the response buffer.
For calls which start inside the valid history index range for daily values (0-34) but request data beyond the last index (34), the system will wrap back around to the first index for daily values (0) and use those older items to fill the response buffer.
Table 2-18: Opcode 136
Opcode 136
Communication
Opcode
Host Request to ROC
ROC Response to Host
Data
Description of Data
Data
Description of Data
Offset
Length
Offset
Length
Opcode 136: Send specified # of history data for specified history index starting at specified history point
6
1
History Group (Always
0)
6
1
History Group (Always 0)
7
2
Requested History Index: Hourly: 0 - 839 Daily: 0 – 34 Extended: 0 - 3999
65535 = requests latest history records
7
2
History Index: Hourly: 0 - 839 Daily: 0 – 34 Extended: 0 - 3999
65535 = indicates latest history records
9
1
Type of History: Hourly = 0 (Standard) Daily = 1 (Standard) Extended = 2
9
2
Current history index
10
1
Starting history point (0
- 59)
11
1
# of data elements being sent ((# history points + 1) * # time periods) Value is 0 if the request is invalid.
11
1
# of history points
12
4
Time stamp for 1st time period
12
1
# of time periods (see note below) ((# history points + 1) * # time periods) must not be greater than 60
16
4
1st history point value
-
(repeat for number of history points)
(above repeated for number of time periods)
Note:
If no time periods are requested, the FB Series device does not return history values.
ROC Protocol Specifications Manual (for Emerson FB Series Flow Computers) D301828X012 August 2021
Opcodes 19
2.12 Opcode 165
Opcode 165 reads the current configuration for a contiguous group of history points. Opcode 165 reads the configuration of up to 50 history points. When reading the history points, only those points remaining in History Group 4 (Station 1) following the specified starting history point are returned.
Archive Type is defined as:
0 – Undefined
128 – Average value
129 – Integrated value
130 – Snapshot, minimum, or maximum value
134 – Totalized value
Table 2-19: Opcode 165
Opcode 165
Communication
Opcode
Host Request to ROC
ROC Response to Host
Data
Description of Data
Data
Description of Data
Offset
Length
Offset
Length
Opcode 165: Reads the current configuration for a contiguous group of history points
6
1
Read/Write option (always 0 – Read)
6
1
0
7
1
History segment (always 0 = History Group 4)
7
2
0
8
1
Starting history point index (0 – 59)
8
3
Number of history points sent (1 – 50).
9
1
Not used - Always 0
9
4
1
Archive Type
2
Point Type
3
Point / Logic Number
4
Parameter Number
- (above repeated as necessary)
2.13 Opcode 166
Opcode 166 configures either a single point or a contiguous block of parameters for a single point. This opcode is more efficient than Opcode 181 when the entire, or even partial, point configuration is required.
ROC Protocol Specifications Manual (for Emerson FB Series Flow Computers)
D301828X012
August 2021
20 Opcodes
Table 2-20: Opcode 166
Opcode 166
Communication
Opcode
Host Request to ROC
ROC Response to Host
Data
Description of Data
Data
Description of Data
Offset
Length
Offset
Length
Opcode 166: Set Specified Contiguous Block of Parameters
6
1
Point Type
No data bytes.
7
1
Point / Logic Number
Acknowledgment sent back.
8
1
Number of Parameters
9
1
Starting Parameter Number
10
x
Data (a contiguous block)
2.14 Opcode 167
Opcode 167 reads the configuration of a single point or it can be used to read a contiguous block of parameters for a single point. Opcode 167 is more efficient than Opcode 180 when reading the entire, or even partial, point configuration.
Use Opcode 167 to return the location of I/O installed in the FB Series device by “type” and
“position in the I/O database.” Specify 24 for the point type to indicate this I/O position array.
The “type” indicates the type of I/O module installed. The I/O module types are:
Undefined – 0
Discrete Input – 1
Discrete Output – 2
Analog Input – 3
Analog Output – 4
Pulse Input – 5
The order of the point type values in the array indicate the physical location of the point. This location is used as the “L” value in the TLP value to access point information. For example if the first
bytes returned in the array are “03, 03, 03, 03, 03, 04, 04”, This first analog input point in the
database would be accessed with logical of 0, the fifth with logical of 4, and the first analog output point would be accessed with logical of 5.
ROC Protocol Specifications Manual (for Emerson FB Series Flow Computers) D301828X012 August 2021
Opcodes 21
Table 2-21: Opcode 167
Opcode 167
Communication
Opcode
Host Request to ROC
ROC Response to Host
Data
Description of Data
Data
Description of Data
Offset
Length
Offset
Length
Opcode 167: Send Specified Contiguous Block of Parameters
6
1
Point Type
6
1
Point Type
7
1
Point / Logic Number
7
1
Point / Logic Number
8
1
Number of Parameters
8
1
Number of Parameters
9
1
Starting Parameter Number
9
1
Starting Parameter Number
10
x
Data (a contiguous block)
-
(above repeated as necessary)
2.15 Opcode 180
Opcode 180 reads several parameters in a single request. The parameters can be from different point numbers and of different point types. The opcode is intended to read any combination of parameters listed in the tables of Chapter 3. The opcode responds with an error response if the response is longer than 240 bytes, or if the request is for an invalid parameter, possibly due to a point that is not configured.
Table 2-22: Opcode 180
Opcode 180
Communication
Opcode
Host Request to ROC
ROC Response to Host
Data
Description of Data
Data
Description of Data
Offset
Length
Offset
Length
Opcode 180: Send Specified Parameters
6
1
Number of parameters requested
6
1
Number of parameters requested
7
3
1
Type of Point
7
1
Type of Point
1
Point / Logical Number (0-based)
1
Point / Logical Number (0-based)
1
Parameter Number
1
Parameter Number
- (above repeated as
necessary)
x Data comprising the
parameter
-
(above repeated as necessary)
2.16 Opcode 181
Opcode 181 sets specific parameters in the FB Series. This opcode is the opposite of Opcode 180 in that it writes values instead of reading them. The FB Series device responds with an acknowledgment. Opcode 181 can be used to configure the operator interface communications ports.
ROC Protocol Specifications Manual (for Emerson FB Series Flow Computers)
D301828X012
August 2021
22 Opcodes
Table 2-23: Opcode 181
Opcode 181
Communication
Opcode
Host Request to ROC
ROC Response to Host
Data
Description of Data
Data
Description of Data
Offset
Length
Offset
Length
Opcode 181: Set Specified Parameters
6
1
Number of parameters requested
No data bytes.
7
1
Type of Point
Acknowledgment sent back.
1
Point / Logical Number (0-based)
1
Parameter Number
x
Data comprising the parameter
- (above repeated as
necessary)
2.17 Opcode 255 – Error Indicator
Opcode 255 is an error message indicator. This is an 8-byte message with no data bytes included. The opcode is set to 255 to indicate that the message received by the FB Series device had valid Cyclical Redundancy Check (CRC), but contained invalid parameters. For example, if a request was made for information on Analog Input #11, but the FB Series device was configured for only eight analog inputs (0 – 7), then the FB Series device would respond back with the 8-byte message with the opcode equal to 255.
Table 2-24: Opcode 255
Opcode 255
Communication
Opcode
Host Request to ROC
ROC Response to Host
Data
Description of Data
Data
Description of Data
Offset
Length
Offset
Length
Opcode 255: Invalid Parameters in Request Received by FB Series device
Error message indicator
6
1
Error code (See Table 2-25)
7
1
Opcode that had the error
8 1
Byte in received message that had the error
Error Codes Returned by Opcode 255 for: FB Series Devices (to be defined)
Table 2-25: Opcode 255 – Error Codes
Error Code
Description
1
Invalid opcode request
2
Invalid parameter number
3
Invalid logical number
4
Invalid point type
5
Received too many data bytes
6
Received too few data bytes
7
Did not receive 1 data byte
8
Did not receive 2 data bytes
9
Did not receive 3 data bytes
ROC Protocol Specifications Manual (for Emerson FB Series Flow Computers) D301828X012 August 2021
Opcodes 23
Error Code
Description
10
Did not receive 4 data bytes
11
Did not receive 5 data bytes
12
Did not receive 16 data bytes
13
Outside valid address range
14
Invalid history request
16
Invalid event entry
17
Requested too many alarms
18
Requested too many events
19
Write to read only parameter
20
Security error
21
Invalid security logon
25
Database write failed
63
Access level too high
ROC Protocol Specifications Manual (for Emerson FB Series Flow Computers)
D301828X012
August 2021
24 Opcodes
[This page is intentionally left blank.]
ROC Protocol Specifications Manual (for Emerson FB Series Flow Computers)
D301828X012
August 2021
Parameter Lists for Point Types 25
Section 3: Parameter Lists for Point Types
Configuring FB Series devices requires you to be familiar with the structure of the database. The database is broken into individual parameters and each database parameter is uniquely associated by parameter number and point type.
This section details point types and parameters supported by the FB Series devices.
3.1 ROC Point Types and Data Types
Table 3-1 shows point types, Table 3-2 shows data types for the FB Series devices, and Tables 3-3 defines the data types found in the parameter tables.
Table 3-1: ROC Point Types – FB Series
Point Type
Description
FB Series
0
Configurable Opcode
No
1
Discrete Inputs
Yes
2
Discrete Outputs
Yes
3
Analog Inputs
Yes
4
Analog Outputs
Yes
5
Pulse Inputs
Yes
6
PID Control (see Point Type 48)
No
7
AGA Flow Parameters
Yes
8
History Parameters
Yes
10
AGA Flow Values
Yes
12
ROC Clock
Yes
13
System Flags
Yes
14
Communication Ports
No
15
System Variables (ROC Information)
Yes
16
FST Parameters
No
17
Soft Points
Yes
19
Database Setup
Yes
20
Diagnostics
No
21
Information for User Defined Points
Yes
22-39
User Defined Points
No
40
Multi-Variable Sensor (MVS) Parameters
Yes
ROC Protocol Specifications Manual (for Emerson FB Series Flow Computers) D301828X012 August 2021
26 Parameter Lists for Point Types
Point Type
Description
FB Series
41
AGA Run Parameters
Yes
42
Extra Run Parameters
Yes
43
User Lists
No
44
Power Control
No
45
Meter Calibration and Sampler
Yes
46
Meter Configuration Parameters
Yes
47
Meter Flow Values
Yes
48
PID Control Parameters
Yes
52
Battery Parameters
No
53
Modbus Configuration Parameters
No
54
Modbus Function Tables
No
55
Modbus Special Function Table
No
56
AI Calibration
No
57
Keypad / Logon Security Parameters
No
58
Revision Information
No
85
HART Parameters
No
86
Extended History Parameters
Yes
Table 3-2: Data Types
Data Type
Description
Byte Length
AC
ASCII character (groups of 10, 20, or 30 characters)
1 per character
BIN
Binary 1 FLP or FL
Floating Point – IEEE Format
4
INT8, 16, 32
Signed Integer – number of bits follows
1, 2 or 4
TLP
Point Type, Logical or Point Number, and Parameter Number
3
UINT8, 16, 32
Unsigned Integer – number of bits follows
1, 2 or 4
You reference data in the FB Series device by type, location or logical, and parameter (TLP). Type refers to the number of the point type. The location or logical number is a value based on physical input or output. A parameter is a numeric value assigned to each piece of data contained in a given point type. The tables in this section list the parameters numbers and descriptions for each of the point types.
Type, Location/Logical and Parameter (TLPs)
All supported parameters in the database are referenced via a specific TLP number using Point Type (T), Logical Number (L), and Parameter (P).
Loading...
+ 86 hidden pages