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 001.
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
010x01Read Coils
020x02Read Discrete Inputs
030x03Read Holding Registers
040x04Read Input Registers
050x05Write Single Coil
060x06Write Single Register
080x08Diagnostics (Partly Supported)
150x0FWrite Multiple Coils
160x10Write Multiple Registers
430x2BRead 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 CodeDescription
DecimalHex
000x00Return Query Data
010x01Restart Communications Option
020x02Return Diagnostic Registers
030x03Change ASCII Input Delimiter (Unsupported)
040x04Force Listen Only Mode
05…090x05…0x09Reserved
100x0AClear Counters and Diagnostic Register
110x0BReturn Bus Message Count
120x0CReturn Bus Communication Error Count
130x0DReturn Bus Exception Error Count
140x0EReturn Server Message Count
150x0FReturn Server No Response Count
160x10Return Server NAK Count
170x11Return Server Busy Count
180x12Return Bus Character Overrun Count
190x13Reserved
200x14Clear Overrun Counter and Flag
21…655350xnnReserved

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 IDObject Name / DescriptionTypeCategoryReturned ValueValue Length
140x00Vend or NameASCII StringBasic“BEKA Associates Ltd.”20
0x01Product CodeASCII String“A90”3
0x02Major Minor RevisionASCII String“A90.1.FX.XX” where X.XX

is the firmware version

11
0x03Vendor URLASCII StringRegularwww.beka.co.uk”14
0x04Product NameASCII String“Advisor”7
0x05Model NameASCII String“A90”3
0x06User Application NameASCII StringUnused
0x07…0x7FReserved Unused
0x80…0xFF  ExtendedNot 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

CoilsRead / Write 
AddressBitsDescriptionFunctions Supported
11Alarm1 Enable1, 5, 15
21Alarm2 Enable1, 5, 15
314/20 O/P Enable1, 5, 15
41Save Configuration1, 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 StatusRead

Only

 
AddressBitsDescriptionFunctions Supported
11Alarm1 Energised2
21Alarm2 Energised2
31Input Fault Status2
41Configuration Not Saved2
51Alarm Option Fitted2
614/20 O/P Option Fitted2
71Tare Display Status2
81Write Error2
Alarms:0 = De-Energised1= Energised
Fault Status:0 = Normal1 = Fault
Configuration:n: 0 = Saved1 = Changed, but not saved
Options:0 = Not Fitted1 = Fitted
Tare Display:0 = Gross1 = Tare
Write0 = No Error1 = 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 RegistersRead

Only

 
AddressRegistersDescriptionFunctions Supported
11Input Type4
22Display Value (IEEE)4
42Max Hold Value (IEEE)4
62Min Hold Value (IEEE)4
82Display Value (32 bits Integer)4
101Display Value divisor (n/10)4
112Max Hold (32 bits Integer)4
131Max Hold divisor (n/10)4
142Min Hold (32 bits Integer)4
161Min 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

AddressRegistersDescriptionDefaultRange  Exceptions        Functions Supported
12Set Zero (IEEE)0.0floatOnly applicable to Voltage & Current Inputs3, 16
32Set Span (IEEE)100.0floatOnly applicable to Voltage & Current Inputs3, 16
52Bar Low (IEEE)*float 3, 16
72Bar High (IEEE)*float 3, 16
92Alarm1 Setpoint (IEEE)0.0floatOnly applicable if Option fitted3, 16
112Alarm1 Hysteresis (IEEE)0.0float3, 16
132Alarm2 Setpoint (IEEE)0.0float3, 16
152Alarm2 Hysteresis (IEEE)0.0float3, 16
1724/20 O/P Zero (IEEE)*float3, 16
1924/20 O/P Span (IEEE)*float3, 16
211Input Units00…4Only applicable to RTD Inputs3, 6,16
221Function (Root Extraction)00…1Only applicable to Current Inputs3, 6,16
231Resolution (of least significant digit)00…3 3, 6,16
241D.P. (Decimal Point position on the display)*0…5 3, 6,16
251Bar Type10…4 3, 6,16
261Alarm1 Hi/Lo00…1Only applicable if Option fitted Not all characters are available. See Note.3, 6,16
271Alarm1 ND/NE00…13, 6,16
281Alarm1 Delay (in seconds)00…36003, 6,16
291Alarm1 Silence00…36003, 6,16
301Alarm1 Colour (Colour Preset Number)11…73, 6,16
311Alamr1 Flash Enable10…13, 6,16
321Alarm1 Latch Enable00…13, 6,16
331Alarm2 Hi/Lo00…13, 6,16
341Alarm2 ND/NE00…13, 6,16
351Alarm2 Delay (in seconds)00…36003, 6,16
361Alarm2 Silence00…36003, 6,16
371Alarm2 Colour (Colour Preset Number)11…73, 6,16
381Alarm2 Flash Enable10…13, 6,16
391Alarm2 Latch Enable00…13, 6,16
402Alarms Access Code“0000”ASCII3,16
421ACSP Enable00…13, 6,16
431Tare Enable00…1 3, 6,16
441Hold Enable00…1 3, 6,16
451Hold clear00…1 3, 6,16
461U – P (Function of P Button)00…1 3, 6,16
471Serial Baud10…4 3, 6,16
481Serial Par20…2 3, 6,16
491Serial Stop11…2 3, 6,16
501Serial Addr11…247 3, 6,16
5114/20 O/P RTD Fault Current00…3Only applicable if Option fitted3, 6,16
522Security Code“0000”ASCIINot all characters are available. See Note.3,16
541Menu Colour Preset41…7 3, 6,16
551Calibration source00…1 3, 6,16
2012Set Zero0sigintOnly applicable to Voltage & Current Inputs3,16
2031Set Zero Divisor20…4Only applicable to Voltage & Current Inputs3, 6,16
2042Set Span10000sigintOnly applicable to Voltage & Current Inputs3,16
2061Set Span Divisor20…4Only applicable to Voltage & Current Inputs3, 6,16
2072Bar Low*sigint 3,16
2091Bar Low Divisor*0…4 3, 6,16
2102Bar High*sigint 3,16
2121Bar High Divisor*0…4 3, 6,16
2132Alarm1 Setpoint*sigintOnly applicable if Option fitted3,16
2151Alarm1 Setpoint Divisor*0…43, 6,16
2162Alarm1 Hysteresis*sigint3,16
2181Alarm1 Hysteresis Divisor*0…43, 6,16
2192Alarm2 Setpoint*sigint3,16
2211Alarm2 Setpoint Divisor*0…43, 6,16
2222Alarm2 Hysteresis*sigint3,16
2241Alarm2 Hysteresis Divisor*0…43, 6,16
22524/20 O/P Zero*sigint3,16
22714/20 O/P Zero Divisor*0…43, 6,16
22884/20 O/P Span*sigint3,16
23014/20 O/P Span Divisor*0…43, 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 extraction1 = 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 Type0 = OFF
4 = Asps (if alarms are fitted)
1 = Left
3 = Right
Alarm Hi/Lo0 = Alarm is a Low Alarm1 = Alarm is a High Alarm
Alarm ND/NE0 = Alarm Normally De-Energized1 = Alarm Normally Energized
Alarm Flash Enable0 = Disables Alarm Flashing1 = Enables Alarm Flashing
Alarm Latch Enable0 = Disables Alarm Latching1 = Enables Alarm Latching
ACSP Enable0 = Disables Alarm Menu shortcut1 = Enables Alarm Menu shortcut
Tare Enable0 = Disables Tare function1 = Enables Tare Function
Hold Enable0 = Disables Hold function1 = Enables Hold Function
Hold Clear0 = No effect1 = 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 Current0 = No Fault Current
1 = 3.6 mA
2 = 3.8 mA
3 = 21 mA
Calibration source0 = Factory (SET1 = User (CAL)
float = IEEE Floating PointThe 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 DivisorThe 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

Documents / Resources

BEKA Advisor A90 Modbus Interface [pdf] User Guide
Advisor A90 Modbus Interface, Advisor A90, Modbus Interface, Interface

References

Leave a comment

Your email address will not be published. Required fields are marked *