Sonic Driver FIXED-UFM Ultrasonic Flowmeter Instruction Manual
- June 12, 2024
- Sonic Driver
Table of Contents
Sonic Driver FIXED-UFM Ultrasonic Flowmeter
Product Information
- Product Name: FIXED-UFM Ultrasonic Flowmeter – Modbus RTU Slave Plug-in Module
- Manufacturer: Sonic Driver Ltd
- Version: 3.0
- Date of Release: 13th March 2023
- Country of Origin: Made in Britain
Introduction
Modbus Slave functionality is implemented in the Sonic Driver TM range of Fixed clamp-on ultrasonic flowmeters (UFM) by means of an optional plug-in board. Modbus settings are fully configurable on the UFM using its User Interface (UI).
Mode
The Modbus RTU protocol is implemented over RS485 hardware. Physical
connection to the 2-wire bus is via the screw terminals on the end of the
plug-in board. The terminals are labelled ‘A’ and ‘B’, see Figure(1).
Note that some equipment manufacturers label their terminals in other ways, e.g. ‘+’ and ‘-‘ so the exact order that the wires are connected may be reversed. There is also a screw terminal for connection of cable screen. This may be connected at the Master or the Slave UFM if necessary.
Baud rate
The RS485 baud rate can be selected using the UI on the UFM;
- 9600 (Default)
- 19200
Parity
The RS485 parity can be selected using the UI on the UFM;
- None (Default)
- Even
- Odd
top Bits
The RS485 stop bits can be selected using the UI on the UFM;
- 1 (Default)
- 2
Modbus Address
The Modbus plug-in board Slave address is programmable using the UI on the
UFM, from 1 to 247. The default Slave address is set to 1.
Data bits
RS485 serial data is fixed at 8 bit.
Register format
In the Modbus plug-in board each Modbus register is a 16-bit word, consisting
of two 8-bit bytes. Register data in Modbus messages are packed as 2 bytes per
register. The binary contents are right justified in each byte. For each
register the first byte contains the high order bits and the second byte
contains the low order bits. A floating-point number is stored as 32 bits
using 4 bytes and therefore occupies 2 Modbus registers.
Representation of floating-point values
The micro controller on the Modbus plug-in board stores floating point values
in IEEE 754 single precision format.
The bus Master accesses a floating-point value from any one of 4 different register tables. Each register table represents a different byte order .
By reading the first 2 registers of each table the user can determine which format matches their system when a fixed test value of 1234.0 is received.
Modbus Commands
The Modbus plug-in board implements Modbus commands 03, 04 and 06.
Read Holding Registers 03
This function code is used to read from 1 to 52 contiguous holding registers
from the UFM. Registers are addressed starting at zero. Therefore holding
registers numbered 1-32 are addressed as 0-31. The Modbus Master specifies a
start address and register count.
Read Input Registers 04
This function code is used to read from 1 to 52 contiguous input registers
from the flowmeter. Registers are addressed starting at zero. Therefore input
registers numbered 1-32 are addressed as 0-31. The Modbus Master specifies a
start address and register count.
Write Single Register 06
- This function code is used to write a single register. This function code is used to reset the Slave UFM internal totals from the Master.
- The Master specifies an address and 16-bit data value for write.
- The value is an unsigned 16-bit value. Valid values are in the range 1 to 3 inclusive.
- Writing a value of 1 to register 60300 will clear the unit’s internal flow metering totals.
- Writing a value of 2 to register 60300 will clear the unit’s internal energy metering totals.
- Writing a value of 3 to register 60300 will clear both the unit’s internal flow and energy metering totals.
Broadcast address
The Modbus plug-in board supports broadcast address 0. In broadcast address mode the Modbus master can send a command to all slaves. No response is sent by the slaves.
Communications Soft ware
There are several communications programs available for download online. The
Modbus plug in board has been tested using Modbus Poll (for Windows plat form
and M odbus Monit or for Android and Windows platforms.
Appendix
Appendix 1: Communication Command Structure
Read holding registers| |
---|---|---
| Slave ID| (1 byte)
| Function| (1 byte=03H)
| Start Address| (2 bytes)
| No. of Registers R| (2 bytes)
| CRC code| (2 bytes)
Reply| |
| Slave ID| (1 byte)
| Function| (1 byte)
N = 2R| Byte Count N| (1 byte)
| Hex Data| (N bytes)
| CRC code| (2 bytes)
| |
| |
Read input registers| |
| Slave ID| (1 byte)
| Function| (1 byte=04H)
| Start Address| (2 bytes)
| No. of Registers R| (2 bytes)
| CRC code| (2 bytes)
Reply| |
| Slave ID| (1 byte)
| Function| (1 byte)
N = 2R| Byte Count N| (1 byte)
| Hex Data| (N bytes)
| CRC code| (2 bytes)
| |
| |
Write single register| Slave ID| (1 byte)
| Function| (1 byte=06H)
| Start Address| (2 bytes)
| Hex Data| (2 bytes)
| CRC code| (2 bytes)
| |
Appendix 2: UFM Register Map
Modbus Address | Measurement Variable | Bytes | Format |
---|---|---|---|
40001 | Fixed test pattern 1234.0 | 4 | IEEE |
40002 | |||
40003 | Flow Velocity (m/s) | 4 | IEEE |
40004 | |||
40005 | Flow Rate | 4 | IEEE |
40006 | |||
40007 | Flow Positive Total | 4 | IEEE |
40008 | |||
40009 | Flow Negative Total | 4 | IEEE |
40010 | |||
40011 | Flow Net Total | 4 | IEEE |
40012 | |||
40013 | Energy Rate | 4 | IEEE |
40014 | |||
40015 | Energy Positive Total | 4 | IEEE |
40016 | |||
40017 | Energy Negative Total | 4 | IEEE |
40018 | |||
40019 | Energy Net Total | 4 | IEEE |
40020 | |||
40021 | Delta Time Difference (ns) | 4 | IEEE |
40022 | |||
40023 | Upstream Transit Time (us) | 4 | IEEE |
40024 | |||
40025 | Signal Amplitude (dB) | 4 | IEEE |
40026 | |||
40027 | Signal Noise (dB) | 4 | IEEE |
40028 | |||
40029 | Amplifier gain (dB) | 4 | IEEE |
40030 | |||
40031 | SNR (dB) | 4 | IEEE |
40032 | |||
40033 | Signal Quality 1 (us) | 4 | IEEE |
--- | --- | --- | --- |
40034 | |||
40035 | Signal Quality 2 (ADU) | 4 | IEEE |
40036 | |||
40037 | Signal Quality 3 (ADU) | 4 | IEEE |
40038 | |||
40039 | CU Temperature (degC) | 4 | IEEE |
40040 | |||
40041 | Inlet Temperature (degC) | 4 | IEEE |
40042 | |||
40043 | Outlet Temperature (degC) | 4 | IEEE |
40044 | |||
40045 | Fluid Temperature (degC) | 4 | IEEE |
40046 | |||
40047 | ATA/ETA (%) | 4 | IEEE |
40048 | |||
40049 | Fluid Density (kg/m3) | 4 | IEEE |
40050 | |||
40051 | Fluid Specific Heat Capacity (J/K.degC) | 4 | IEEE |
Modbus Address | Text Strings | Bytes | Format |
--- | --- | --- | --- |
Model Code | |||
40101 | Mo | 2 | WORD |
40102 | de | 2 | WORD |
40103 | l< > | 2 | WORD |
40104 | Co | 2 | WORD |
40105 | de | 2 | WORD |
40106 | < >< > | 2 | WORD |
40107 | < >< > | 2 | WORD |
40108 | < >< > | 2 | WORD |
40109 | < >< > | 2 | WORD |
40110 | < >< > | 2 | WORD |
40111 | < >< > | 2 | WORD |
40112 | < >< > | 2 | WORD |
40113 | < >< > | 2 | WORD |
Serial Number | |||
40114 | 88 | 2 | WORD |
40115 | 88 | 2 | WORD |
40116 | 88 | 2 | WORD |
40117 | 88 | 2 | WORD |
Tag | |||
40118 | Ta | 2 | WORD |
40119 | g< > | 2 | WORD |
40120 | < >< > | 2 | WORD |
40121 | < >< > | 2 | WORD |
40122 | < >< > | 2 | WORD |
Ident | |||
40123 | Id | 2 | WORD |
40124 | en | 2 | WORD |
40125 | t< > | 2 | WORD |
40126 | < >< > | 2 | WORD |
40127 | < >< > | 2 | WORD |
Flow rate units | |||
40128 | m/ | 2 | WORD |
40129 | s< > | 2 | WORD |
40130 | < >< > | 2 | WORD |
40131 | < >< > | 2 | WORD |
Flow net total units | |||
40132 | l/ | 2 | WORD |
40133 | m< > | 2 | WORD |
40134 | < >< > | 2 | WORD |
40135 | < >< > | 2 | WORD |
Energy rate units | |||
40136 | GJ | 2 | WORD |
40137 | /s | 2 | WORD |
40138 | < >< > | 2 | WORD |
40139 | < >< > | 2 | WORD |
--- | --- | --- | --- |
Energy net total units | |||
40140 | GJ | 2 | WORD |
40141 | < >< > | 2 | WORD |
40142 | < >< > | 2 | WORD |
40143 | < >< > | 2 | WORD |