BEKA Advisor A90 Modbus Interface User Guide

June 9, 2024
BEKA

BEKA Advisor A90 Modbus Interface

Introduction

This guide gives all the necessary information to use our Advisor A90 process meter in a Modbus installation. For hardware installation information, please refer to the separate instruction manuals available for each model.
What’s in this Modbus Interface Guide

  • An overview of each instrument
  • A description of the parameters that are applicable to each instrument
  • Instructions on how to use the instrument in its standard mode

What’s in the Instruction Manuals

  • An overview of the instrument
  • System Design and Installation
  • Configuration
  • Maintenance

Other sources of information

Our website at www.beka.co.uk is kept up to date with the latest literature and information After reading through this guide, if you still have a problem getting the results you need then email us at support@beka.co.uk and we will do our best to help

Product Overview

A detailed overview of the instrument is given in the instruction manual for each product. This should be read before implementing any system using these instruments, however a summary of the main features is listed below:

Function
The Advisor A90 Universal Panel Meter is a multicolour five digit display instrument, primarily intended for displaying a current, voltage or resistance analogue process signal in engineering units. The instrument can also display temperature directly from a resistance thermometer. The A90 is configurable on-site using the four front panel push buttons and an intuitive menu that can be protected by a security code to prevent accidental adjustment.

Display
The Advisor A90 Process Panel Meter employs a novel technique that enables the display to be in any colour on a black background, readable in all conditions from total darkness to bright sunlight. The display intensity is fully adjustable to match other instruments and preserve operator’s night time vision.

When fitted with optional alarms the display colour can be linked to the alarm status. For example, a green display could indicate normal operation, the display colour changing to red when a high alarm occurs and to blue when a low alarm occurs.

Analogue Input
The instrument input type and range are selectable on-site and the meter display can be calibrated to show the engineering variable represented by the analogue input. The engineering units of measurement such as kg, gallons/hour or ºC, can be printed on the slide-in scalecard.

One of the following input ranges may be selected:

Voltage input

0 to 100mV
0 to 1V
0 to 10V

Current input

4 to 20mA
0 to 50mA

Resistance thermometer input

2 or 3 wire connected PT100 resistance thermometer, or differential output from two PT100 resistance thermometers. -200 to 850ºC

Changing the input type will reset the Panel Meter to its default settings for that input.

Optional Alarm Outputs
There are two relay changeover outputs available. These are totally isolated and are energised or de-energised independently according to the status of the Alarm set-points. These can NOT be overridden by issuing any Modbus commands.

Optional Analogue Output
A totally isolated analogue output is available which is configured as a current sink. This output can be configured to respond to the analogue input, and can NOT be overridden by issuing any Modbus commands. This option also comes with an isolated 24V DC power supply output which can be used to supply a 4-20 mA current loop.

Modbus Implementation

The Modbus implementation on the Advisor has several objectives.
It offers the following services to the Modbus Master (PLC, PC or similar):

  • Monitor the process variable measured by the instrument
  • Identify the status of the instrument (Alarms status, Tare Activation status,…)
  • Configure the instrument remotely

The Modbus interface is available as an optional module on the Advisor A90. The supported protocol is Modbus RTU (Modbus over RS485). Note that the ASCII version of the protocol has not been implemented.
The A90 operates only as a slave on the network, processing requests from a remote Master. Multidrop mode is supported in that there can be more than one device (A90 or others) on the bus.
Exclusions
It is not possible to configure the product locally and remotely at the same time. If a user is navigating through the menus, a Modbus Busy exception will be raised to the Master.
The Master cannot be used to override the internal logic of the instrument. For example, it is not possible to directly control the Alarm Outputs, read the keypad buttons or take control of the displayed value via Modbus.
The Master cannot override operations which are intended to take place locally. For example actions such as Silencing Alarms, Input Calibration, Temperature Trimming, Input Taring are not available via Modbus.
The Input type is not writeable by the Master as changing the input type has the effect of resetting the product back to defaults, causing significant problems.
Hardware
The physical hardware layer is a 2 wire RS485 interface. The A90 will see the all requests from the master and every reply from any other devices on the bus. These are ignored unless the request is specifically addressed to the unit.
The RS485 communication settings can be amended locally on the instrument by going into the “Ser” submenu or via the dedicated holding registers. The following settings can be changed :

  • Baud Rate in kbaud : can be 9.6, 19.2, 38.4, 57.6, 115.2
  • Parity: Even, None or Odd
  • Number of Stop Bits: 1 or 2

The default values are 19.2kbaud, Even Parity, 1 Stop bit The default values are 19.2kbaud, Even Parity, 1 Stop bit

Setting the Address

The Modbus Slave Address can only be amended locally on the instrument via the “5Er” submenu. The slave address can range from 1 to 247. The default value is

  1. Note: Address 0 is reserved for broadcast messages. The A90 accepts the broadcast for writing functions, however no response is returned to the master.
    Reset to Defaults
    Changing the instrument input type (locally via the keypad) or resetting the configuration to defaults will have the effect of reverting the Modbus communication settings and slave address to their default values.

Supported Modbus Functions
The Modbus functions that are supported by the A90 are as follows:

Decimal                    Hex                        Description

01| 0x01| Read Coils
02| 0x02| Read Discrete Inputs
03| 0x03| Read Holding Registers
04| 0x04| Read Input Registers
05| 0x05| Write Single Coil
06| 0x06| Write Single Register
08| 0x08| Diagnostics (Partly Supported)
15| 0x0F| Write Multiple Coils
16| 0x10| Write Multiple Registers
43| 0x2B| Read Device Identification (Partly Supported)

All of the following diagnostic sub-functions are supported except sub- function 0x03 (This is only required for ASCII protocol. A request on this subfunction generates an ILLEGAL DATA VALUE exception.)

Sub-Function Code Description
Decimal Hex
00 0x00
01 0x01
02 0x02
03 0x03
04 0x04
05…09 0x05…0x09
10 0x0A
11 0x0B
12 0x0C
13 0x0D
14 0x0E
15 0x0F
16 0x10
17 0x11
18 0x12
19 0x13
20 0x14
21…65535 0xnn

Read Device Identification (Function Code 0x2B)

Only the MEI type 14 is supported in this function, and all other types are rejected. This function code allows reading the identification and additional information from a remote device.
There are 3 categories of objects defined in the following table. The table also specifies the value and message length from the instrument for each object ID.

MEI

Type

| Object ID| Object Name / Description| Type| Category| Returned Value| Value Length
---|---|---|---|---|---|---
14| 0x00| Vend or Name| ASCII String| Basic| “BEKA Associates Ltd.”| 20
0x01| Product Code| ASCII String| “A90”| 3
0x02| Major Minor Revision| ASCII String| “A90.1.FX.XX” where X.XX

is the firmware version

| 11
0x03| Vendor URL| ASCII String| Regular| “www.beka.co.uk”| 14
0x04| Product Name| ASCII String| “Advisor”| 7
0x05| Model Name| ASCII String| “A90”| 3
0x06| User Application Name| ASCII String| Unused
0x07…0x7F| Reserved|  | Unused
0x80…0xFF|  |  | Extended| Not Supported

The request from the Master for this function must include a Read Device ID Code which defines whether the request is only for a single object or stream of objects:
ID 01 : request to get the basic device identification (stream access)
ID 02: request to get the regular device identification (stream access)
ID 03: request to get the extended device identification (stream access) – Not Supported
ID 04: request to get one specific identification object (individual access)

  • For Extended access (ID 03) an Exception Code 03 (ILLEGAL DATA VALUE) is returned
  • For a single object request (ID 04), if the object ID requested corresponds to an unused or unsupported object ID (address >= 0x07), an Exception Code 02 (ILLEGAL DATA ADDRESS) is returned
  • For a stream access (ID 02), the response will only include the used objects (address < 0x07) and the next object ID will be set to 0x00 (restart at the beginning

Modbus Register Address Map

Notes :
In the tables below (IEEE) indicates that data is represented by a 4 byte IEEE floating point format For 32 bits registers (integers or floats), the Most Significant 16 bits word is the one with the highest Modbus address

Coils| Read / Write|
---|---|---
Address| Bits| Description| Functions Supported
1| 1| Alarm1 Enable| 1, 5, 15
2| 1| Alarm2 Enable| 1, 5, 15
3| 1| 4/20 O/P Enable| 1, 5, 15
4| 1| Save Configuration| 1, 5, 15

Notes:
Enable: 0 = Disable 1 = Enable
Save: 0 = No Effect 1 = Save Configuration Data in Flash (Coil will revert to zero once saved)

Input Status| Read

Only

|
---|---|---
Address| Bits| Description| Functions Supported
1| 1| Alarm1 Energised| 2
2| 1| Alarm2 Energised| 2
3| 1| Input Fault Status| 2
4| 1| Configuration Not Saved| 2
5| 1| Alarm Option Fitted| 2
6| 1| 4/20 O/P Option Fitted| 2
7| 1| Tare Display Status| 2
8| 1| Write Error| 2
Alarms:| 0 = De-Energised| 1= Energised
---|---|---
Fault Status:| 0 = Normal| 1 = Fault
Configuration:| n: 0 = Saved| 1 = Changed, but not saved
Options:| 0 = Not Fitted| 1 = Fitted
Tare Display:| 0 = Gross| 1 = Tare
Write| 0 = No Error| 1 = Error *

  • A value of 1 indicates that the last attempt to write to the unit generated an error due to the fact that one or more of the data registers were outside the allowable range. It should be noted that any valid value within this same request would have still been processed, i.e. the entire write packet is not rejected.

Input Registers| Read

Only

|
---|---|---
Address| Registers| Description| Functions Supported
1| 1| Input Type| 4
2| 2| Display Value (IEEE)| 4
4| 2| Max Hold Value (IEEE)| 4
6| 2| Min Hold Value (IEEE)| 4
8| 2| Display Value (32 bits Integer)| 4
10| 1| Display Value divisor (n/10)| 4
11| 2| Max Hold (32 bits Integer)| 4
13| 1| Max Hold divisor (n/10)| 4
14| 2| Min Hold (32 bits Integer)| 4
16| 1| Min Hold divisor (n/10)| 4

Notes:
Input Type Enumeration:

0 = 0.1V
1 = 1V
2 = 10V
3 = 4/20 mA
4 = 0-50 mA
5 = Differential RTD
6 = 2-Wire RTD
7 = 3-Wire RTD

Address| Registers| Description| Default| Range Exceptions        Functions Supported
---|---|---|---|---
1| 2| Set Zero (IEEE)| 0.0| float| Only applicable to Voltage & Current Inputs| 3, 16
3| 2| Set Span (IEEE)| 100.0| float| Only applicable to Voltage & Current Inputs| 3, 16
5| 2| Bar Low (IEEE)| | float|  | 3, 16
7| 2| Bar High (IEEE)|
| float|  | 3, 16
9| 2| Alarm1 Setpoint (IEEE)| 0.0| float| Only applicable if Option fitted| 3, 16
11| 2| Alarm1 Hysteresis (IEEE)| 0.0| float| 3, 16
13| 2| Alarm2 Setpoint (IEEE)| 0.0| float| 3, 16
15| 2| Alarm2 Hysteresis (IEEE)| 0.0| float| 3, 16
17| 2| 4/20 O/P Zero (IEEE)| | float| 3, 16
19| 2| 4/20 O/P Span (IEEE)|
| float| 3, 16
21| 1| Input Units| 0| 0…4| Only applicable to RTD Inputs| 3, 6,16
22| 1| Function (Root Extraction)| 0| 0…1| Only applicable to Current Inputs| 3, 6,16
23| 1| Resolution (of least significant digit)| 0| 0…3|  | 3, 6,16
24| 1| D.P. (Decimal Point position on the display)| | 0…5|  | 3, 6,16
25| 1| Bar Type| 1| 0…4|  | 3, 6,16
26| 1| Alarm1 Hi/Lo| 0| 0…1| Only applicable if Option fitted Not all characters are available. See Note.| 3, 6,16
27| 1| Alarm1 ND/NE| 0| 0…1| 3, 6,16
28| 1| Alarm1 Delay (in seconds)| 0| 0…3600| 3, 6,16
29| 1| Alarm1 Silence| 0| 0…3600| 3, 6,16
30| 1| Alarm1 Colour (Colour Preset Number)| 1| 1…7| 3, 6,16
31| 1| Alamr1 Flash Enable| 1| 0…1| 3, 6,16
32| 1| Alarm1 Latch Enable| 0| 0…1| 3, 6,16
33| 1| Alarm2 Hi/Lo| 0| 0…1| 3, 6,16
34| 1| Alarm2 ND/NE| 0| 0…1| 3, 6,16
35| 1| Alarm2 Delay (in seconds)| 0| 0…3600| 3, 6,16
36| 1| Alarm2 Silence| 0| 0…3600| 3, 6,16
37| 1| Alarm2 Colour (Colour Preset Number)| 1| 1…7| 3, 6,16
38| 1| Alarm2 Flash Enable| 1| 0…1| 3, 6,16
39| 1| Alarm2 Latch Enable| 0| 0…1| 3, 6,16
40| 2| Alarms Access Code| “0000”| ASCII| 3,16
42| 1| ACSP Enable| 0| 0…1| 3, 6,16
43| 1| Tare Enable| 0| 0…1|  | 3, 6,16
44| 1| Hold Enable| 0| 0…1|  | 3, 6,16
45| 1| Hold clear| 0| 0…1|  | 3, 6,16
46| 1| U – P (Function of P Button)| 0| 0…1|  | 3, 6,16
47| 1| Serial Baud| 1| 0…4|  | 3, 6,16
48| 1| Serial Par| 2| 0…2|  | 3, 6,16
49| 1| Serial Stop| 1| 1…2|  | 3, 6,16
50| 1| Serial Addr| 1| 1…247|  | 3, 6,16
51| 1| 4/20 O/P RTD Fault Current| 0| 0…3| Only applicable if Option fitted| 3, 6,16
52| 2| Security Code| “0000”| ASCII| Not all characters are available. See Note.| 3,16
54| 1| Menu Colour Preset| 4| 1…7|  | 3, 6,16
55| 1| Calibration source| 0| 0…1|  | 3, 6,16
201| 2| Set Zero| 0| sigint| Only applicable to Voltage & Current Inputs| 3,16
203| 1| Set Zero Divisor| 2| 0…4| Only applicable to Voltage & Current Inputs| 3, 6,16
204| 2| Set Span| 10000| sigint| Only applicable to Voltage & Current Inputs| 3,16
206| 1| Set Span Divisor| 2| 0…4| Only applicable to Voltage & Current Inputs| 3, 6,16
207| 2| Bar Low|
| sigint|  | 3,16
209| 1| Bar Low Divisor| | 0…4|  | 3, 6,16
210| 2| Bar High|
| sigint|  | 3,16
212| 1| Bar High Divisor| | 0…4|  | 3, 6,16
213| 2| Alarm1 Setpoint|
| sigint| Only applicable if Option fitted| 3,16
215| 1| Alarm1 Setpoint Divisor| | 0…4| 3, 6,16
216| 2| Alarm1 Hysteresis|
| sigint| 3,16
218| 1| Alarm1 Hysteresis Divisor| | 0…4| 3, 6,16
219| 2| Alarm2 Setpoint|
| sigint| 3,16
221| 1| Alarm2 Setpoint Divisor| | 0…4| 3, 6,16
222| 2| Alarm2 Hysteresis|
| sigint| 3,16
224| 1| Alarm2 Hysteresis Divisor| | 0…4| 3, 6,16
225| 2| 4/20 O/P Zero|
| sigint| 3,16
227| 1| 4/20 O/P Zero Divisor| | 0…4| 3, 6,16
228| 8| 4/20 O/P Span|
| sigint| 3,16
230| 1| 4/20 O/P Span Divisor| *| 0…4| 3, 6,16

  • = Default values are input type dependent 10

Notes

Input Unit Enumeration:
(Only for Temperature Inputs)| 0 = Degrees Celsius
2 = Degrees Fahrenheit
4 = Resistance| 1 = Degrees Kelvin
3 = Degrees Rankine
---|---|---
Function (Root extraction) (Only for Current Inputs)| 0 = No Root extraction| 1 = Root extraction
Resolution (of least significant digit)| 0 = 1
2 = 5| 1 = 2
3 = 10
D.P. (Decimal Point position on the Display:)| 0 = 00000 (No Decimal Point)
2 = 000.00
4 = 0.0000| 1 = 0000.0
3 = 00.000
5 = Auto (gives best resolution)
Bar Type| 0 = OFF
4 = Asps (if alarms are fitted)| 1 = Left
3 = Right
Alarm Hi/Lo| 0 = Alarm is a Low Alarm| 1 = Alarm is a High Alarm
Alarm ND/NE| 0 = Alarm Normally De-Energized| 1 = Alarm Normally Energized
Alarm Flash Enable| 0 = Disables Alarm Flashing| 1 = Enables Alarm Flashing
Alarm Latch Enable| 0 = Disables Alarm Latching| 1 = Enables Alarm Latching
ACSP Enable| 0 = Disables Alarm Menu shortcut| 1 = Enables Alarm Menu shortcut
Tare Enable| 0 = Disables Tare function| 1 = Enables Tare Function
Hold Enable| 0 = Disables Hold function| 1 = Enables Hold Function
Hold Clear| 0 = No effect| 1 = Clears max/min held values.
U – P (Function of P Button)
Serial Baud (Modbus baud rate)| 0 = % of Span
0 = 9600
2 = 38400
4 = 115200| 1 = Analogue Input
1 = 19200
3 = 57600
Serial Par (Modbus Parity)| 0 = None
2 = Even| 1 = Odd
Factory Default Colours Codes
(each color assigned to a code can be adjusted manually through the menu)| 1 = Red
2 = Orange
3 = Light Green
4 = Green| 5 = Blue
6 = Purple
7 = White
4/20 O/P RTD Fault Current| 0 = No Fault Current
1 = 3.6 mA| 2 = 3.8 mA
3 = 21 mA
Calibration source| 0 = Factory (SET| 1 = User (CAL)
float = IEEE Floating Point| The entire 32 bits value has to be written and read as one command rather than separately otherwise an ILLEGAL ADDRESS exception will be raised
sigint = 32 bits Signed Integer with Divisor| The divisor register defines the number of times the integer value is divided by ten. The divisor and 32 bits value have to be written and read together otherwise an ILLEGAL ADDRESS exception will be raised

For 32 bits registers (either integers or floats), the Most Significant 16 bits word is the one with the highest Modbus address.

If the register written to does not apply to the option fitted or the input type, the write will be allowed but the underlying value will not be changed and the write rejected flag will not be set. Read requests will return a value of 0. This behavior avoids generating exceptions which would prevent a full group write. The ASCII Character set for access codes is limited by the characters that can be displayed on a 7 segment digit. The following characters may be used:
0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,I,J,L,N,O,P,R,T,U,V,Y

BEKA Associates
Old Charlton Road
Hitchin
Hertfordshire
SG5 2DA
Tel: +44 (0)1462 438301
Fax: +44 (0)1462 453971
Web: www.beka.co.uk
Email: support@beka.co.uk
or sales@beka.co.uk

References

Read User Manual Online (PDF format)

Read User Manual Online (PDF format)  >>

Download This Manual (PDF format)

Download this manual  >>

Related Manuals