Remote Automation Solutions FloBoss S600+ Modbus Specification Manual Manuals & Guides

FloBoss S600+ Modbus Specification Manual
D301904X012
February 2022
FloBoss S600+ Modbus Specification Manual
Remote Automation Solutions
FloBoss S600+ Modbus Specification Manual
D301904X012 February 2022
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.
ii
FloBoss S600+ Flow Computer Modbus Specification Manual
D301904X012
February 2022
Contents
1. Introduction 1
2. Physical Transport of Data 1
2.1 TCP Socket .............................................................................................................................................. 1
2.2 Modbus TCP ............................................................................................................................................ 1
2.3 Serial ....................................................................................................................................................... 1
2.4 Types and Capabilities of Serial Ports ....................................................................................................... 1
3. Network Interface 2
4. Modbus 3
4.1 Configuration .......................................................................................................................................... 3
4.2 Master ..................................................................................................................................................... 3
4.3 Slave ....................................................................................................................................................... 3
5. RTU/ASCII Protocol 4
6. Implemented Modbus Functions 5
6.1 Function 1: Read Output Status ............................................................................................................... 5
6.2 Function 2: Read Input Status .................................................................................................................. 6
6.3 Function 3: Read Output Registers .......................................................................................................... 6
6.4 Function 4: Read Input Registers ............................................................................................................. 7
6.5 Function 5: Write Single Coil .................................................................................................................... 7
6.6 Function 6: Write Single Register ............................................................................................................. 7
6.7 Function 8: Loopback .............................................................................................................................. 8
6.8 Function 15: Write Multiple Coils ............................................................................................................. 9
6.9 Function 16: Write Multiple Registers ...................................................................................................... 9
6.10 Function Codes 65, 66, 67, and 68 ......................................................................................................... 10
7. Message Length Mode 11
8. Register Formats 12
8.1 Register: Float ....................................................................................................................................... 12
8.2 Register: Rosemount ............................................................................................................................. 12
8.3 Register: Double .................................................................................................................................... 13
8.4 Register: Phillips Float ............................................................................................................................ 13
8.5 Register: Phillips Double ........................................................................................................................ 13
8.6 Register: INT .......................................................................................................................................... 13
8.7 Register: LONG_INT .............................................................................................................................. 13
8.8 Register: SCALE 0 nnnn .......................................................................................................................... 13
8.9 Register: Modicon ................................................................................................................................. 14
9. Enron Functions 15
9.1 Enron Modbus Map ............................................................................................................................... 15
9.2 Special Enron Functions for Events ......................................................................................................... 15
9.2.1 Clear/Acknowledge Modbus Event Log ..................................................................................... 15
Contents iii
FloBoss S600+ Flow Computer Modbus Specification Manual
D301904X012 February 2022
9.2.2 Event Count Register ................................................................................................................ 15
9.2.3 Alarm Count Register ............................................................................................................... 16
9.2.4 Read Modbus Alarm/Event Log Functions ................................................................................. 16
9.3 Special Enron Functions for Data Log Collection..................................................................................... 18
9.4 Read Report Log Configuration .............................................................................................................. 19
9.5 Read Report Log Data ............................................................................................................................ 20
10. S600+ Modbus Configuration Files 21
10.1 Config File Title...................................................................................................................................... 21
Config File Header .................................................................................................................... 21
10.1.1
10.2 Config File Master Section ..................................................................................................................... 22
10.3 Config File Slave N Section ..................................................................................................................... 24
10.4 Config File Data ..................................................................................................................................... 24
10.5 Config File Data Coil .............................................................................................................................. 24
10.6 Config File Data Input ............................................................................................................................ 25
10.7 Config File Data Registers ...................................................................................................................... 25
10.8 Discrete Data Point Format.................................................................................................................... 26
10.9 Numeric Data Point Format ................................................................................................................... 27
iv Contents
FloBoss S600+ Flow Computer Modbus Specification Manual

1. Introduction

This document describes the Modbus communications protocol on the FloBoss S600+ flow computer. The flow computer has 20 user definable communication tasks. Each of the links may be individually configured.

2. Physical Transport of Data

2.1 TCP Socket

The TCP/IP stream socket supports both master and slave links.
If the unit is the slave on the link, it creates a server socket and listens for clients to connect. The TCP/IP address of the slave link is the TCP/IP address of the flow computer.
If the unit is the master on the link, it acts as a client and attempts to connect to a remote server machine. When you configure the data link, you specify the TCP/IP address of the slave with which the master must communicate.
D301904X012
February 2022
The S600+ supports communication between networks using a gateway.
Other communication parameters are independent of the mode of data transfer. ASCII and RTU are supported over stream sockets and the Modbus map is independent of the transport mechanism.

2.2 Modbus TCP

This protocol is based on the Modbus/TCP Specification. The connection mechanism is TCP/IP which secures data transfer between any machines connected on a network. The Modbus protocol is encapsulated into the TCP/IP frame.
The data transfer within the Modbus part of the protocol is standard Modbus. The only significant difference is that the Modbus CRC is not used; instead the CRC with the TCP/IP protocol is used.

2.3 Serial

In serial mode the data links communicate over standard serial lines with these specifications:
Baud rates: 2400, 4800, 9600, 19200, 38400, and 57600
Data bits: 7 (ASCII, required for Modbus ASCII) and 8 (RTU, required for Modbus RTU).
Stop bits: 1, 2
Parity: None, Even, Odd

2.4 Types and Capabilities of Serial Ports

The S600+ supports the following serial ports:
1
FloBoss S600+ Flow Computer Modbus Specification Manual
D301904X012 February 2022
Com. Port 1: Reserved for the front panel display and keypad.
Com. Port 2: Reserved for the Config600 interface (actually a Modbus slave link)
Com. Ports 3 and Port 4: Dedicated RS-232 with RTS-CTS handshaking capabilities
Com. Ports 5, 6, and 7: RS-485/RS-232 capability. RTS line is controlled automatically by the P152 module’s UART and rapid turnaround is possible on the 485 links.
Com. Port 8: Reserved for I/O board communications.
Com. Ports 9, 10, 11, and 12: Dedicated RS-485.

3. Network Interface

The S600+ includes two 10 or 100 MB/s, full-duplex Ethernet interfaces. The system firmware provides a full TCP/IP stack implementation on this interface.
Standard supported features include:
Telnet
FTP
Socket-based Modbus communications
The S600+ supports two gateways, which are configured on NWTK1. The IP addresses of the two network ports
Supported: 193.195.232.1 / 193.195.230.1
Not supported: 193.195.232.1 / 193.195.232.2
must differ in the third octet:
2

4. Modbus

Modbus is the standard interface to the S600+. The protocol is based on Gould/Modicon Modbus. The Config600 configuration software interfaces to the S600+ using Modbus. The link uses the special function code 65, with specially defined S600+ sub-functions to provide file transfer, system edit commands, and other specialized functionality. The S600+ is the slave on this link.

4.1 Configuration

The system firmware supports up to 20 communications links. Links can have individual configurations or can share common parameters or configuration.
Configuration has two parts:
Link Configuration This step defines the data link’s port or socket, its master or slave status, and whether it uses RTU or ASCII. You enter this information using Config600 when the link is initially assigned, but the link configuration can be modified later if required.
FloBoss S600+ Flow Computer Modbus Specification Manual
D301904X012
February 2022
Map Configuration This step assigns database points and fields to Modbus coils, inputs, and registers using a text file created using Config600’s map builder utilities. You can modify this map later if required.

4.2 Master

In master mode, the device communicates with up to 10 slaves on a single-drop link. You can configure several masters if necessary.

4.3 Slave

In slave mode, the device waits for polls from an external master and responds to polls are requested. You can define several slaves if necessary. The slave address is configurable per link, so a single S600+ can have several slave addresses if required.
3
FloBoss S600+ Flow Computer Modbus Specification Manual
D301904X012 February 2022

5. RTU/ASCII Protocol

The S600+ fully supports both RTU Modbus and ACSII Modbus. A single configuration switch enables you to select one or the other. Other communication parameters exist independently of the ASCII/RTU switch.
RTU Mode In RTU mode, you must configure the link for 8 data bits. No message header or trailers are included. The checksum is the 16-bit CRC specified in the Modbus specification.
ASCII Mode In ASCII mode, you would normally configure the link for 7 data bits, although the S600+ also supports 8 data bits. The message starts with the ASCII Modbus start character (the colon, or “:”). The checksum is the 8-bit LRC defined in the Modbus specification. The message terminates with the ASCII Modbus trailer characters CR followed by LF.
4
FloBoss S600+ Flow Computer Modbus Specification Manual
Poll Format
Response Format
Note

6. Implemented Modbus Functions

Implemented Modbus functions include:
Function 1: Read Output Status
Function 2: Read Input Status
Function 3: Read Output Registers
Function 4: Read Input Registers
Function 5: Write Single Coil
Function 6: Write Single Register
Function 8: Loopback
Function 15: Write Multiple Coils
Function 16: Write Multiple Registers
D301904X012
February 2022
Function Codes 65, 66, 67, and 68
Each of these functions is described in this section.
Note
These message formats exclude the message header (ASCII only), the CRC/LRC, and message trailer (ASCII only), since these are specific to the data transfer mode.

6.1 Function 1: Read Output Status

Function Code 01 reads the output coils (00001–09999), reading up to 2040 coils per poll in non­extended mode.
Address 1 byte
Function 1 byte
Start Coil 2 bytes
Num Coils 2 bytes
Address 1 byte
Function 1 byte
Byte Count 1 or 2 bytes
: Byte count may be 8-bit or 16-bit
Data byte 1 1 byte (coils 0–7)
Data byte 2 1 byte (coils8–15)
Data byte N 1 byte (coils)
5
FloBoss S600+ Flow Computer Modbus Specification Manual
Poll Format
Response Format
Note
Poll Format
Response Format
Note
D301904X012 February 2022

6.2 Function 2: Read Input Status

Function Code 02 reads the input coils (10001–19999), reading up to 2040 coils per poll in non­extended mode.
Address 1 byte
Function 1 byte
Start Input 2 bytes
Num Inputs 2 bytes
Address 1 byte
Function 1 byte
Byte Count 1 or 2 bytes
: Byte count may be 8-bit or 16-bit
Data byte 1 1 byte (inputs 0–7)
Data byte 2 1 byte (inputs 8–15)
Data byte N 1 byte (inputs…)

6.3 Function 3: Read Output Registers

Function Code 03 reads the output registers (40001–49999); data can be configured at every address.
Address 1 byte
Function 1 byte
Start Item 2 bytes
Num Items 2 bytes
Address 1 byte
Function 1 byte
Length 1 or 2 bytes
: Length can be 8-bit byte count, 8-bit item count;
16-bit byte count, or 16-bit item count.
Data item 1 2, 4, or 8 bytes
Data item 2 2, 4, or 8 bytes
Data item N 2, 4, or 8 bytes
6
FloBoss S600+ Flow Computer Modbus Specification Manual
Poll Format
Response Format
Note Poll Format
Response Format

6.4 Function 4: Read Input Registers

Function Code 04 reads the input registers (30001–39999); data can be configured at every address.
Address 1 byte
Function 1 byte
Start Item 2 bytes
Num Items 2 bytes
Address 1 byte
Function 1 byte
Length 1 or 2 bytes
: Length can be 8-bit byte count, 8-bit item count,
16-bit byte count, or 16-bit item count.
Data item 1 2, 4, or 8 bytes
Data item 2 2, 4, or 8 bytes
Data item N 2, 4, or 8 bytes
D301904X012
February 2022

6.5 Function 5: Write Single Coil

Function Code 05 writes a single coil, either on (1) or off (0), to any valid coil address (00001–
09999).
Address 1 byte
Function 1 byte
Coil Number 2 bytes
Coil Value 2 bytes
Address 1 byte
Function 1 byte
Coil Number 2 bytes
Coil Value 2 bytes

6.6 Function 6: Write Single Register

7
Function Code 06 (Modicon) writes a value to a single holding register in standard Modbus format to any valid holding register address (40001–49999).
FloBoss S600+ Flow Computer Modbus Specification Manual
Poll Format
Response Format
Poll Format
Response Format
D301904X012 February 2022
Address 1 byte
Function 1 byte
Item Number 2 bytes
Value 2 bytes
Address 1 byte
Function 1 byte
Item Number 2 bytes
Value 2 bytes
Note
The write single register function applies only to simple 16-bit registers. The float and double formats are
not supported.

6.7 Function 8: Loopback

Function Code 08 performs a loopback test. If successful a loopback test returns the poll received. There are no variable parameters available on this function code.
Address 1 byte
Function 1 byte
Value 1 2 bytes
Value 2 2 bytes
Address 1 byte
Function 1 byte
Value 1 2 bytes
Value 2 2 bytes
8
FloBoss S600+ Flow Computer Modbus Specification Manual
Poll Format
Note Response Format
Poll Format
Note Response Format

6.8 Function 15: Write Multiple Coils

Function Code 15 writes multiple coils on (1) or off (2). Enter data as a string of up to 8 digits (0s and 1s). The RHS entry represents the LSB. Data is written to any valid coil address (00001–09999).
Address 1 byte
Function 1 byte
Start Coil 2 bytes
Num Coils 2 bytes
Byte Count 1 or 2 bytes
: Byte count may be 8-bit byte count or 16-bit byte
count.
Data byte 1 1 byte (coils 0–7)
Data byte 2 1 byte (coils 8–15)
Data byte N 1 byte (coils)
D301904X012
February 2022
Address 1 byte
Function 1 byte
Coil Number 2 bytes
Coil Value 2 bytes

6.9 Function 16: Write Multiple Registers

Function Code 16 writes to multiple registers.
Address 1 byte
Function 1 byte
Start Item 2 bytes
Num Items 2 bytes
Byte Count 1 or 2 bytes
: Byte count may be 8-bit byte count or 16-bit byte
count.
Data item 1 2, 4, or 8 bytes
Data item 2 2, 4, or 8 bytes
Data item N 2, 4, or 8 bytes
9
Address 1 byte
Function 1 byte
FloBoss S600+ Flow Computer Modbus Specification Manual
D301904X012 February 2022
Item Number 2 bytes
Num Items 2 bytes

6.10 Function Codes 65, 66, 67, and 68

These user-defined function codes are used to read or write multiple holding registers in IEEE single-precision format. The valid address range is 0–65535; data can be configured at every address.
Note
The Config600 interface to the S600+ is through Modbus. In this case the link uses the special function codes 65, 66, 67, and 68, with specially defined (S600+-specific) sub-functions to provide file transfer, system edit commands and other specialized functionality. The S600+ is the slave on this link.
10
FloBoss S600+ Flow Computer Modbus Specification Manual

7. Message Length Mode

Using standard Modbus, all variable length messages include an 8-bit byte count field which allows the receiver to determine the amount of data in the message. In some applications, the use of this field is not the actual byte count but the number of data items in the message. This variation only applies to register messages.
Emerson has extended this field to a 16-bit value, which simply allows more data to be transferred on the link.
Note
This functionality does not adhere to strict Modbus functionality.
Available message length modes are:
8-bit byte count The message contains a single byte, which determines the number of data bytes in the message.
D301904X012
February 2022
8-bit item count The message contains a single byte, which determines the number of data items in the message.
16-bit byte count The message contains a pair of bytes, which determines the number of data bytes in the message.
16-bit item count The message contains a pair of bytes, which determines the number of data items in the message.
11
FloBoss S600+ Flow Computer Modbus Specification Manual
D301904X012 February 2022

8. Register Formats

The Modicon Modbus Protocol Reference Guide (publication PI-MBUS-300, from Modicon, Inc.) does not specify how numbers greater than 16 bits (that is, 32-bit integers and single- and double­precision real numbers) should be transferred.
The Modbus protocol has 16-bit elements (“registers”) that are only suitable for transferring 16-bit integer data. Since no standard exists, Emerson has developed that following formats to transfers numerical data to third parties and offers these as a standard solution.
Register – Float
Register – Rosemount
Register – Double
Register – Phillips Float
Register – Phillips Double
Register – Int
Register – Long_Int
Register – Scale 0 NNNN
Register – Modicon
Addresses per item (1, 2, or 4)
Each of these registers is described in this section.

8.1 Register: Float

[FORMAT FLOAT] [FORMAT ENRON FLOAT]
Holds registers as IEEE format single-precision floating point numbers, MSB first. For each point required, one address is requested in the Modbus message, 4 bytes are returned, and data is configurable at every address (40001–49999)

8.2 Register: Rosemount

[FORMAT ROSEMOUNT]
Holds registers as IEEE format single-precision floating point numbers, LSB first (used on Rosemount DCS system). For each point required, two addresses are requested in the Modbus message, 4 bytes are returned, and data is configurable at every other address (4000
5,…, 49999).
4000
1, 40003,
12
FloBoss S600+ Flow Computer Modbus Specification Manual

8.3 Register: Double

[FORMAT DOUBLE]
Holds registers as IEEE format double precision floating point numbers. For each point required, one address is requested in the Modbus message, 8 bytes are returned, and data is configurable at every address (40001 - 49999).

8.4 Register: Phillips Float

[FORMAT PHILLIPS FLOAT]
Holds registers as IEEE format single-precision numbers, MSB first. For each point required, two addresses are requested in the Modbus message, 4 bytes are returned, and data is configurable at
alternate addresses (40001, 40003 ..... 49999).

8.5 Register: Phillips Double

[FORMAT PHILLIPS DOUBLE]
D301904X012
February 2022
Holds registers as IEEE format double-precision numbers, MSB first. For each point required, four addresses are requested in the Modbus message, 8 bytes are returned, and data is configurable at every fourth addresses (40001, 40005, 40009,…, 49997)

8.6 Register: INT

[FORMAT ENRON 16-BIT]
Holds registers as 16-bit SIGNED integers, ranging from 32767 (Hex 8001) to 32767 (Hex 7FFF), and data can be configured at every address (40001–49999)

8.7 Register: LONG_INT

[FORMAT ENRON 32-BIT]
Holds registers as SIGNED long integers. For each point required one is requested and two registers (4 bytes) are returned in the Modbus message, and data can be configured at every address (40001, 40002,…, 49999).

8.8 Register: SCALE 0 nnnn

[FORMAT SCALE 0 999] [FORMAT SCALE 0 4096] [FORMAT SCALE 0 9999]
Holds registers as integers, scaled between 0 and nnnn. In master mode the value returned is displayed in terms of the selected scaling (where 9999 scaling), and data can be configured at every address (40001–49999).
13
500 would represent 50% on 999 scaling or 5% on
FloBoss S600+ Flow Computer Modbus Specification Manual
 
 
+
=
Scale Zero- scale Full
0.5 Range x scale) Zero- value(Actual
Trunc ValueInteger Scaled
[ ]
0003 Integer
Scaled
5.07.2999 Trunc Integer Scaled
1000
0.5 9999 x 0) - (300
Trunc
Integer
Scaled
=
+=
 
 
+
=
D301904X012 February 2022
Scaled 16-bit integer between 0…9999 (or any other integer combination), where each real is scaled within this range based upon preconfigured zero and full scales, such that:
For example, a flow rate of 300 m
The supervisory system would then send 3000 to represent the flow rate of 300 m3/hr if the integer range was 0–999.
3
/hr has a zero scale of 0 m3/hr and a full scale of 1000 m3/hr:

8.9 Register: Modicon

[FORMAT ENRON 16-BIT]
Holds registers as integers (16-bit, valid data 0 - 65535) using Modbus formatting and writes to any valid holding register (40001–49999)
14
FloBoss S600+ Flow Computer Modbus Specification Manual
Address Descriptions

9. Enron Functions

The Enron Modbus protocol has been implemented as part of the Modbus slave application and is based on the Specifications and Requirements for an Electronic Flow Measurement Remote Terminal Unit (07-18-1990, Revised 12-05-1994, Enron Corp.)

9.1 Enron Modbus Map

Detailed below are the data areas defined in the Modbus specification. The S600+ Modbus map builder generates a map which corresponds to this format. Although not recommended, you can change these settings when you generate the map or by editing the Modbus configuration file.
Coil data (accessed using Modbus function 1, 5, and 15)
0032 Event log Clear command
1000 Boolean variables
Input data: accessed using Modbus function 2
1000 Boolean variables
Input data: accessed using Modbus functions 3, 4, and 16
0032 Event/Alarm log register (see following sections)
0701…0720 Report log configuration registers (see following sections)
0721…0740 Report log data registers (see following sections)
3000 Short integer variable
5000 Long integer variables (not used on S600+)
7000 Floating point variables
D301904X012
February 2022

9.2 Special Enron Functions for Events

9.2.1 Clear/Acknowledge Modbus Event Log
9.2.2 Event Count Register
15
The Enron implementation provides a special set of registers and coils that allow transfer of alarm and event log data to a supervisory computer.
The normal base address for this data is 32. A coil write with the data value set to this address clears the event log. A coil write to this address with the data value clear acknowledges the event log.
The normal base address for this value is 7001. It returns as a floating point value. A register read from this address returns the number of events available for collection.
FloBoss S600+ Flow Computer Modbus Specification Manual
Poll Format
Response Format
N
N
Bitmap
Unsigned Short
# Bytes
D301904X012 February 2022
9.2.3 Alarm Count Register
The normal base address for this value is 7002. It returns as a floating point value. A register read from this address returns the number of alarms available for collection.
9.2.4 Read Modbus Alarm/Event Log Functions
The normal base address for this value is 32. Data returns as a series of registers as described below.
Address 1 to 2551 byte
Function 31 bytes
Start Item 00322 bytes
Num Items Ignored 2 bytes
Address As poll 1 byte
Function 31 bytes
Length <N x 20> 1 byte
where events available in the buffer
Num Items 2 bytes
Byte Count 1 or 2 bytes
where count or 16-bit byte count.
Alarm/event 1 See below; 20 bytes
Alarm/event 2 See below; 20 bytes
Alarm/event N See below; 20 bytes
is a value up to 12, depending on the number of
is up to 12, depend: Byte count may be 8-bit byte
16
Each alarm or event consists of:
Data Point ID Unsigned Short 2 bytes
Time Stamp Float 4 bytes
Date Stamp Float 4 bytes
Value 1 Float 4 bytes
Value 2 Float 4 bytes
18 bytes total
Bitmap
Bit 9 of this register determines whether the data is an alarm or an event.
FloBoss S600+ Flow Computer Modbus Specification Manual
Bit
Name
Description
1 Bit
Name
Description
D301904X012
February 2022
Event/Change Type Bitmap
0 Fixed value Sets when the keypad (override) value changes
1 Zero scale Sets when the low-scale value of an analog changes
2 Full scale Sets when the full-scale value of an analog changes
3 Operator Entry Work Value Not used
4 Boolean Fixed Bit Not used
5 Fixed/Variable Flag
6 Table Entry Change Not used
7 System Command Change Not used
8 Spare
9 Change/Alarm Flag Sets for event/change; clears for alarm
10 Lolo Limit Sets when the LL limit changes
11 Lo Limit Sets when the L limit changes
12 Hi Limit Sets when the H limit changes
13 Hihi Limit Sets when the HH limit changes
14 Rate of Change limit Sets when the ROC limit changes
15 Spare
if item is in keypad/override mode; 0 if the item is
in live mode
Alarm Type Bitmap
0–8 Not used
9 Change/Alarm Flag Sets for event/change, clears for alarm
10 Lolo Limit Sets when the LL alarm sets or clears
11 Lo Limit Sets when the L alarm sets or clears
12 Hi Limit Sets when the H alarm sets or clears
13 Hihi Limit Sets when the HH alarm sets or clears
14 Rate of Change Limit Sets when the ROC alarm sets or clears
15 Set Reset Alarm 1 for alarm set; 0 for alarm clear
Data Point ID
This is a unique ID number which identifies the data point in the S600+ database.
Time Stamp
This floating point number represents the time associated the alarm or event, valued as:
(1000 x HH) + (100 x mm) + (ss)
Data Stamp
This floating point number represents the date associated the alarm or event, valued as:
(10000 x yy) + (100 x mm) + (dd)
17
FloBoss S600+ Flow Computer Modbus Specification Manual
Index
Report
Period
Period
Report Description
D301904X012 February 2022
Value 1 and Value 2
For event/change messages these are old and new values (that is, from/to). For alarm messages, the current value is in item five and the alarm limit is in item six. Both are floating-point formats.

9.3 Special Enron Functions for Data Log Collection

Enron defines a part of registers for reading a pair of report logs from the flow computer. The S600+ supports this functionality with the following enhancements:
More than two logs are available
The report format can be queried
The S600+ supports the following log periods:
1 Fixed Hourly Hourly
2 Maint On demand
3 Batch On demand
4 Basetime 1 period 1 Configurable
5 Basetime 1 period 2 Configurable
6 Basetime 1 period 3 Configurable
7 Basetime 1 period 4 Configurable
8 Basetime 2 period 1 Configurable
9 Basetime 2 period 2 Configurable
10 Basetime 2 period 3 Configurable
11 Basetime 2 period 4 Configurable
12 Basetime 3 period 1 Configurable
13 Basetime 3 period 2 Configurable
14 Basetime 3 period 3 Configurable
15 Basetime 3 period 4 Configurable
16 Proof Report On demand
18
Supported configurable report periods are:
Hourly Shows throughput for the previous hour
2 Hourly Shows throughput for the previous 2 hours
3 Hourly Shows throughput for the previous 3 hours
4 Hourly Shows throughput for the previous 4 hours
6 Hourly Shows throughput for the previous 6 hours
8 Hourly Shows throughput for the previous eight hours
12 Hourly Shows throughput for the previous 12 hours
Daily Shows throughput for the previous day
FloBoss S600+ Flow Computer Modbus Specification Manual
Period
Report Description
Poll Format
Response Format
Weekly Shows throughput for the previous week
Monthly Shows throughput for the previous month
Any combination of reports may be active in the S600+ but even if gaps are present, the indices remain the same.
The Enron specification states that all data is presented in float format. The S600+ uses an improved method with is a pair of polls for each log. One poll (read configuration) returns the format of the data in the log, the other poll (read data) return the data in the log, and the items may be float or long int format.

9.4 Read Report Log Configuration

To read the report log configuration data, you must poll for Modbus registers at one of the addresses in the Modbus log configuration area of the map. This data is normally placed at register addresses 701 to 720. Each address corresponds to a particular report period, and the response defines the format of the report.
D301904X012
February 2022
Address 1 to 2551 byte
Function 31 bytes
Start Item 0701–0720 bytes
Num Items 12 bytes
Address As poll 1 byte
Function 31 bytes
Byte Count <4 x N x 8> 1 byte
where N is a value up to 12, depending on the number of events available in the buffer
Report Interval Minutes2 bytes
Number of points
Point 1 data N x 8 bytes (see below)
Point 2 data N x 8 bytes (see below)
Point N data N x 8 bytes (see below)
Each data point consists of:
N2 bytes
19
Action Snapshot, Average, or totalize 2 bytes
Data Point ID FloBoss S600+ database
Point id2 bytes
Type 0=long, 1=float2 bytes
Unit Unit index2 bytes
FloBoss S600+ Flow Computer Modbus Specification Manual
Poll Format
Note Response Format
Addr
Function
Addr
Function
D301904X012 February 2022

9.5 Read Report Log Data

To read the actual report log data you must poll for Modbus registers in at one of the addresses which corresponds to a report log. This data is normally placed at register addresses 721–740. Each address corresponds to a particular report period, and the response contains the data from the report.
Address 1 to 2551 byte
Function 31 byte
Start Item 0721–0740 bytes
Num Items Record number2 bytes
: The record number defines which report to extract
from the archive.
Address As poll1 byte
Function 31 byte
Byte Count <4 x N x 8> 1 byte
where N is a value up to 12, depending on the number of events available in the buffer
Date 10000 x m + 100 x d + y4 bytes float
Time 10000 x h + 100 x m + s4 bytes float
Value 1 First point4 bytes float/long
Value 2 Second point4 bytes float/long
Value N Nth point4 bytes float/long
20
Summary of Default Report Config and Data Modbus Addresses
701 Fixed Hourly config 721 Fixed Hourly data
702 Maintenance config 722 Maintenance data
703 Batch config 723 Batch data
704 Base 1 period 1 config 724 Base 1 period 1 data
705 Base 1 period 2 config 725 Base 1 period 2 data
706 Base 1 period 3 config 726 Base 1 period 3 data
707 Base 1 period 4config 727 Base 1 period 1 data
708 Base 2 period 1 config 728 Base 2 period 1 data
709 Base 2 period 2 config 729 Base 2 period 2 data
710 Base 2 period 3 config 730 Base 2 period 3 data
711 Base 2 period 4 config 731 Base 2 period 4 data
712 Base 3 period 1 config 732 Base 3 period 1 data
713 Base 3 period 2 config 733 Base 3 period 2 data
FloBoss S600+ Flow Computer Modbus Specification Manual
714 Base 3 period 3 config 734 Base 3 period 3 data
715 Base 3 period 4 config 735 Base 3 period 4 data
716 Proof config 736 Proof data
717 Spare 737 Spare
718 Spare 738 Spare
719 Spare 739 Spare
720 Spare 740 Spare

10. S600+ Modbus Configuration Files

Whenever a Modbus communication task starts, it receives the name of a configuration file. This file defines the map that links Modbus addresses to S600+ database points.
All configuration files are ASCII text files which may be created manually if required. However, Config600 software program includes Modbus configuration file generators for most common applications. Always use these file generators. You can then edit the generated files manually.
D301904X012
February 2022
There are two basic file types, master and slave. Both share many common features, since the slave configuration file is a subset of the master configuration file. The # symbol is used to indicate a comment. When a line is read, any characters following a # symbol are ignored. The overall layout of the configuration files depends on whether the file is for master or slave use:
Format of Master Configuration File
Title Header Section Master Section Slave 1 Data Slave 2 Data … Slave N Data
Format of Slave Configuration File:
Title Header Section Slave 1 Data

10.1 Config File Title

This is simply a comment at the start of the file describing its function, version history, etc. The S600+ ignores this comment.
10.1.1 Config File Header
This block, used by both master and slave links, is mandatory. Four commands are supported, all of which are enclosed in brackets ([]):
21
FloBoss S600+ Flow Computer Modbus Specification Manual
D301904X012 February 2022
[TX BUFF SIZE <NNNN>]
[RX BUFF SIZE <NNNN>]
These lines determine the size in bytes of the message transmit (TX) and receive (RX) buffers. For normal Modbus operation set them both to message size Modbus supports. The valid range is 256–65535.
[MSG LENGTH MODE <mode>]
This field determines how the message length part of the Modbus message is handled. The basic Modbus specification defines this field as a single byte which defines the number of bytes of data in the message. However, many implementations change this field to be an item count, i.e. the number of data items in the message.
Additionally, in order to increase the amount of data which may be transferred, the S600+ supports a 16-bit value for this field. This is only when communicating with the DMS.
The available values for <mode> are:
BYTE_8
BYTE_16
ITEM_8
ITEM_16
not compatible with standard Modbus and is used
256, which is the maximum
Note that if either of the 16-bit formats is used, the messages may be longer than 256 bytes and the tx and rx buffer sizes should be adjusted accordingly.
[CHECKSUM <status>]
This field is used to enable or disable checksum checking on received data. It is intended for test purposes only. The available values for <status> are
TRUE
FALSE
Example Header:
[TX BUFF SIZE 256] [RX BUFF SIZE 256] [MSG LENGTH MODE BYTE_8] [CHECKSUM TRUE]

10.2 Config File Master Section

This section is required only for the master task. It defines the master’s poll loop settings, the list of slave machines with which the master communicates, and a series of polls to perform. Six commands are supported, all of which are enclosed by brackets ([]):
22
[POLL DELAY <NNN>]
This specifies the delay between messages (polls). The value is in system ticks (a tick is 1/60 of a second)
FloBoss S600+ Flow Computer Modbus Specification Manual
Value
Description
[LOOP DELAY <NNN>]
This specifies the delay at the end of the poll loop (i.e. the time between the last message and starting the first message again). The value is in system ticks (a tick is 1/60 of a second)
[RETRY LIMIT <NNN>]
This specifies the number of retries the master should perform for a single message before classing it as failed.
[TIMEOUT <NNN>]
This specified the amount of time the master will wait for a response from the slave. The value is in seconds
[SLAVES <A> <B> <C> <D>]
This command specifies a list of up to 10 slave addresses which the master task will communicate with.
[SLAVE STATUS OBJ <kp int array number>]
This command is used only by the prover master link and specifies the KPINT_ARRAY used to indicate the status of the link to each stream. For each stream, the Modbus master task updates the KPINT_ARRAY with:
D301904X012
February 2022
0 Link OK
1 Link disabled
2 Telemetry failed
[MESSAGE ADDR:<addr> FUNC:<func> START:<start> NUM:<num> TRIGGER:KPINT <n>]
The message command defines a single message which the master task performs. Any number of messages may be included. The master task performs the messages according to their order in the file.
The trigger field is optional. If it is not present, the poll is always performed. If it is present, the field defines a KPINT object in the database which controls the poll. If the KPINT object is non-zero, the poll occurs. If the object is zero, the poll does not occur. The object is set back to zero at the end of the poll loop.
<addr> is the Modbus slave address (0...255)
<func> is the Modbus function code code for the message
<start> is the data start address for the message
<num> is the number of data items in the message
<n> is the database index for the KPINT object used to control the poll
Example Master Section
# MASTER SECTION [POLL DELAY 5] [LOOP DELAY 5] [RETRY LIMIT 3] [TIMEOUT 5] # LIST OF SLAVES [SLAVES 1] # SLAVE STATUS OBJECT
23
FloBoss S600+ Flow Computer Modbus Specification Manual
D301904X012 February 2022
[SLAVE STATUS OBJ 22] # NORMAL POLLS [MESSAGE ADDR:1 FUNC:03 START:9000 NUM:9] [MESSAGE ADDR:1 FUNC:03 START:9020 NUM:7] [MESSAGE ADDR:1 FUNC:16 START:9009 NUM:2] [MESSAGE ADDR:1 FUNC:16 START:9027 NUM:3] # END OF MASTER SETTINGS

10.3 Config File Slave N Section

Each slave to which the master talked requires a slave data block. The block starts with the command:
[SLAVE ADDRESS <N>]
<N> can be any valid Modbus slave address value (from1 to 255).
Following this statement is the data map for the slave.

10.4 Config File Data

This section applies to both master and slave links. It defines the relationship between Modbus addresses and S600+ database points.
The slave has a single map section, while the master can have up to 10 slave sections, each of which is preceded by the [SLAVE ADDRESS N] command. The map is sub-divided into coil, input, and register sections, each of which forms independent blocks of data. Within each of these blocks there may be any number of further sub-blocks.
The map section has these major blocks:
[SECTION COILS] Indicate the start of the Modbus coil data.
[SECTION INPUTS] Indicate the start of the Modbus input data.
[SECTION REGISTERS] Indicate the start of the Modbus register data.

10.5 Config File Data Coil

The coil section can contain any number of blocks of coil data. Each block starts with the command:
24
[BASE ADDRESS <NNNN>]
This command determines the base address of the block of data. <NNNN> must be in the range 0–65535. The base address command is followed by a list of data points each of which must occupy successive coil addresses. Each of these commands is a discrete data base point identifier.
FloBoss S600+ Flow Computer Modbus Specification Manual

10.6 Config File Data Input

The input section can contain any number of blocks of coil data. Each block starts with the command:
[BASE ADDRESS <NNNN>]
This command determines the base address of the block of data. <NNNN> must be in the range 0–65535. The base address command is followed by a list of data points, each of which must occupy successive input addresses.
Each of these commands is a discrete data base point identifier.

10.7 Config File Data Registers

The register section can contain any number of blocks of register data. The way in which data is packed into registers is controlled by three commands:
[BASE ADDRESS <NNNN>]
This command determines the base address of the block of data. It is followed by a list of data points each of which must occupy successive registers.
0–65535.
D301904X012
February 2022
<NNNN> must be in the range
[FORMAT <format>]
Each block of register data can represent numeric data in a different format.
Register addressing is probably the most confusing aspect of configuring a Modbus link. The original Modbus specification defines a register as a 16-bit integer value. Strictly speaking, this is the only supported register data format. However, most users map a value over several registers so that a single data item occupies 1, 2, or 4 registers (respectively 2, 4, or 8 bytes). Using this mechanism, you can pack longer integers, floats, or doubles into the Modbus message.
Supported formats are:
SCALE
SCALE 0 999
SCALE 0 4096
SCALE 0 9999
FLOAT
DOUBLE
ENRON 16 BIT
ENRON 32 BIT
ENRON FLOAT
ROSEMOUNT
PHILLIPS FLOAT
PHILLIPS DOUBLE
25
FloBoss S600+ Flow Computer Modbus Specification Manual
D301904X012 February 2022
[ADDRESSES PER ITEM <N>]
This command determines the number of Modbus addresses which each data item corresponds to. For 16-bit (2 byte) data it is data it controls the way Modbus register addressing is performed. It is closely related to the FORMAT command (or more accurately the number of bytes per data item) and the number of addresses field contained in the poll.
If the data is 32-bit, the number of addresses per item must be set to either 1 or 2. If the value is set to (that is, the number of 32-bit entities) number of addresses per item is number of Modbus registers
If the data is 64-bit, the number of addresses per item must be set to either 1 or 4. If the value is set to (that is, the number of 64-bit entities) rather than the number of Modbus registers. If the number of addresses per item is number of Modbus registers.
1, the number of addresses contained in the poll is the number of data items
2, the number of addresses contained in the poll is the
1, the number of addresses contained in the poll is the number of data items
4, the number of addresses contained in the poll is the
always 1. For 32-bit (4 byte) and 64-bit (8 byte)
rather than the number of Modbus registers. If the
ADDRESSES PER ITEM may be set to –1 for some special data formats. This informs the Modbus message building code to ignore the number of registers requested. It is typically used for Enron report data (where the number of registers is used to define the report number, but the number of registers to be transmitted is actually determined by the report layout).
Combinations of FORMAT and ADDRESSES PER ITEM commands should support the most commonly used register formats. The ADDRESSES PER ITEM command must be followed by a list of data points, each of which must occupy successive register addresses.
Each of these commands is a numeric data base point identifier.

10.8 Discrete Data Point Format

All the data that makes up a block is defined using a series of consecutive lines in the configuration file which refer to objects in the S600+ database. Each line represents a point in the database. You can add any number of lines to a block. Each block refers to successive coils or inputs.
The format of the line is:
<OBJECT_TYPE> <OBJECT_INDEX> <OBJECT_FIELD> < OBJECT_BITNO>
for example:
26
ADC 3 MEASURED 0
<OBJECT_TYPE>, <OBJECT_INDEX>, and <OBJECT_FIELD> define a unique point in the database using the object naming format used by the reports, display and communication configuration files. <OBJECT_BITNO> is the bit within the specified database point which is mapped to the coil or input.
See the example slave configuration file for many examples of the format used.
FloBoss S600+ Flow Computer Modbus Specification Manual

10.9 Numeric Data Point Format

The data which makes up a block is defined using a series of consecutive lines in the configuration file which refer to objects in the S600+ database. Each line represents a point in the database. You can add any number of lines to a block. Each block refers to successive registers.
The format of the line is:
<OBJECT_TYPE> <OBJECT_INDEX> <OBJECT_FIELD>
for example:
CALCALMITEM 26 INUSE # [MASS-FR)
<OBJECT_TYPE>, <OBJECT_INDEX>, and <OBJECT_FIELD> define a unique point in the database using the object naming format used by the reports, display and communication configuration files.
See the example slave configuration file for many examples of the format used.
D301904X012
February 2022
27
FloBoss S600+ Flow Computer Modbus Specification Manual
For customer service and technical support,
Global Headquarters, North America, and Latin America:
products at any time without notice. All sales are governed
RAS accepts no responsibility
Europe:
Middle East/Africa:
Asia-Pacific:
D301904X012 February 2022
visit www.Emerson.com/SupportNet.
Emerson Automation Solutions Remote Automation Solutions 6005 Rogerdale Road Houston, TX 77072 U.S.A. T +1 281 879 2699 | F +1 281 988 4445
www.Emerson.com/RemoteAutomation
Emerson Automation Solutions Remote Automation Solutions Unit 1, Waterfront Business Park Dudley Road, Brierley Hill Dudley DY5 1LX UK T +44 1384 487200 | F +44 1384 487258
Emerson Automation Solutions Remote Automation Solutions Emerson FZE P.O. Box 17033 Jebel Ali Free Zone – South 2 Dubai U.A.E. T +971 4 8118100 | F +971 4 8865465
Emerson Automation Solutions Remote Automation Solutions 1 Pandan Crescent Singapore 128461 T +65 6777 8211| F +65 6777 0947
© 2021-2022 Remote Automation Solutions, a business unit of Emerson Automation Solutions. All rights reserved.
This publication is for informational purposes only. While every effort has been made to ensure accuracy, this publication shall not be read to include any warranty or guarantee, express or implied, including as regards the products or services described or their use or applicability. Remote Automation Solutions (RAS) reserves the right to modify or improve the designs or specifications of its by RAS terms and conditions which are available upon request. for proper selection, use or maintenance of any product, which remains solely with the purchaser and/or end-user.
Remote Automation Solutions
Loading...