User Manual for BASTRON models including: SDM230 Modbus Single-Phase Two Module DIN Rail Meters, SDM230, Modbus Single-Phase Two Module DIN Rail Meters, Two Module DIN Rail Meters, DIN Rail Meters, Rail Meters, Meters

User Man

Manual de utilizare Smart meter monofazat Solplanet SDM230-MODBUS

Smart meter monofazat Solplanet SDM230-MODBUS, 100 A, sina DIN, IP51 - spy-shop.ro


File Info : application/pdf, 32 Pages, 1.54MB

PDF preview unavailable. Download the PDF instead.

Manual de utilizare Smart meter monofazat Solplanet SDM230-MODBUS
SDM230-Modbus Single-Phase Two Module DIN rail Meters

 Measures kWh, Kvarh, KW, Kvar, KVA, PF, Hz, dmd, V, A, etc.  Bi-directional measurement IMP & EXP  Two pulse outputs  RS485 Modbus  Din rail mounting 35mm  100A direct connection  Better than Class 1 / B accuracy

User Manual V1.4 2015
- 1 -

Application
The energy-meters "with a blue back-lighted LCD screen for prefect reading" are used to measure single-phase like residential, Utility and Industrial application. The unit measures and displays various important electrical parameters, and provide a communication port for remote reading and monitoring. Bi-directional energy measurement makes the unit a good choice for solar PV energy metering.

PART 1 Specification

General Specifications
Voltage AC (Un) Voltage Range Base Current (Ib) Max. Current (Imax) Mini Current (Imin) Starting current Power consumption Frequency AC voltage withstand Impulse voltage withstand Overcurrent withstand Pulse output rate
Display Max. Reading

230V 176~276V AC 10A 100A 0.5A 0.4% of Ib <2W/10VA 50/60Hz(±10%) 4KV for 1 minute 6KV-1.2uS wavform 30Imax for 0.01s 1000imp/kWh (default) 1000/100/10/1 imp/kWh/kVarh (configurable) LCD with blue backlit 999999.9kWh

Accuracy
Voltage Current Frequency Power factor Active power Reactive power Apparent power Active energy
Reactive energy

0.5% of range maximum 0.5% of nominal 0.2% of mid-frequency 1% of Unity 1% of range maximum 1% of range maximum 1% of range maximum Class 1 IEC62053-21 Class B EN50470-3 1% of range maximum

- 2 -

Environment
Operating temperature Storage and transportation temperature Reference temperature Relative humidity Altitude Warm up time Installation category Mechanical Environment Electromagnetic environment Degree of pollution

-25 to +55 -40 to +70 23±2 0 to 95%, non-condensing up to 2500m 10s CAT III M1 E2 2

Output
Pulse Output The meter provides two pulse outputs. Both pulse outputs are passive type. Pulse output 1 is configurable. The pulse output can be set to generate pulses to represent total / import/export kWh or kVarh. The pulse constant can be set to generate 1 pulse per: 0.001(default) /0.01/0.1/1kWh/kVarh. Pulse width: 200/100/60ms Pulse output 2 is non-configurable. It is fixed up with import kWh. The constant is 1000imp/kWh.

RS485 output for Modbus RTU The meter provides a RS485 port for remote communication. Modbus RTU is the protocol applied. For Modbus RTU, the following RS485 communication parameters can be configured from the Set-up menu. Baud rate: 1200, 2400, 4800, 9600 Parity: NONE/EVEN/ODD Stop bits: 1 or 2 Modbus Address: 1 to 247

Mechanics
Din rail dimensions Mounting Sealing Material

36x99x63 (WxHxD) DIN 43880 DIN rail 35mm IP51 (indoor) self-extinguishing UL94V-0

- 3 -

LCD display
Item Descriptions 1 7 digits used to display measured values or RTC 2 Total value 4 Import information, Export information 5 Max. Demand for Power or Current 6 Pulse output 1 and Pulse output 2 7 Measurement units 8 PF = power factor Hz = frequency 9 Bar display of Power 10 Communication indicator 11 Time information 12 Low battery warning 13 Lock symbol
PART 2 Operation
Initialization Display
When it is powered on, the meter will initialize and do self-checking.

Full screen  software version  Modbus ID  Baud rate  total kWh
Scroll display by Button After initialization and self-checking program, the meter display the measured values. The default page is total kWh. If the user wants to check other information, he needs to press the scroll button on the front panel.

The display order by scroll button The display order by scroll button

: :

Total kWh import kWhexport kWh resettable KWh total kVarh import kVarh export kVarh resettTaobtlael kkVWahrhiMmpaxo.rtpokWwehrdeemxpaonrdt kWvholtatgoetal kcVuarrrehntimWporVt akrVarhVAexppoowrtekrVfaarchtor  frequMenacxy.popwuelsredceomnasntadntvoMltoagdebus cIDurrenbtaudWrateVarcoVnAtinuopuoswreurnfnaicntgortime.
frequency pulse constant Modbus ID baudrate.

- 4 -

Page Display 1 2 3
4 5 6 7

Descriptions Total active energy Example:70.00kWh
Import active energy Example: 50.00kWh
Export active energy Example: 20.00kWh
Total resettable energy
Total reactive energy Example: 10.00kVarh
Import reactive energy Example: 5.00kVarh
Export reactive energy Example: 5.00kVarh

- 5 -

8

Total resettable reactive energy

9

Total max. demand

Example: 6930W

10

Voltage

Example: 229.8V

11

Current

Example: 30.156A

12

Active Power

Example: 4700W

13

Reactive Power

Example: 1030Var

14

Apparent power

Example: 4811VA

- 6 -

15

Power factor

Example: 1.000

16

Frequency

Example: 49.99Hz

17

Pulse Constant

Example: 1000

18

Modbus Address

Example: 001

19

Baud rate

Example: 9600

20

Continuous running time(In total)

- 7 -

Set-up Mode

To get into Set-up Mode, the user need press the "Enter" button

Page Display

Descriptions

for 3 second.

The setting is done correctly

The entering information is wrong. The operation fails.

1

Password

To get into Set-up mode, it asks a password

confirmation.

Default password: 1000

2

Address ID

Default ID is 001

Range: 001~247

2-1

Press the "Enter" button, the first digit

flash.

Press the "Scroll" button to change the

value. After choose the new address value,

the user need pressing the "Enter" button

to confirm the setting.

3

Baud rate

Default value: 2400bps

Range: 1200, 2400, 4800, 9600bps.

- 8 -

3-1

Press the "Enter" button, the red digit flash.

Press the "Scroll" button to change the

value.

After choose the new baud rate, the user

need pressing the "Enter" button to confirm

the setting.

4

Parity

Default: None

OptionNone, Even, Odd

4-1

Press the "Enter" button, the red part flash.

Press the "Scroll" button to change the

option.

After choose the new Parity, the user need

pressing the "Enter" button to confirm the

setting.

5

Pulse Output

Default: Export kWh

OptionkWh / KVarh / Imp. Kwh /

Exp.kWh / Imp.kVarh / Exp.kVarh

5-1

Press the "Enter" button, the red part flash.

Press the "Scroll" button to change the

option.

After choose the new Pulse output option,

the user need pressing the "Enter" button

to confirm the setting.

6

Pulse Constant

Default: 1000

Option: 1000 / 100 / 10 / 1

6-1

Press the "Enter" button, the red part flash.

Press the "Scroll" button to change the

option.

After choose the new Pulse constant option,

the user need pressing the "Enter" button

to confirm the setting.

- 9 -

7

Pulse duration

Default: 100mS

Option: 200 / 100 / 60ms

7-1

Press the "Enter" button, the red part flash.

Press the "Scroll" button to change the

option.

After choose the new Pulse duration option,

the user need pressing the "Enter" button

to confirm the setting.

8

Demand Integration Time

Default: 15 minutes

Option: 0 / 5 / 10 / 15 / 30 / 60

8-1

Press the "Enter" button, the red part flash.

Press the "Scroll" button to change the

option.

After choose the new DIT option, the user

need pressing the "Enter" button to confirm

the setting.

9

Automatic Scroll Time Interval

Default: 0 S

Option: 0 ~ 30S

9-1

Press the "Enter" button, the red part flash.

Press the "Scroll" button to change the

option.

After choose the new "Scrl" option, the user

need pressing the "Enter" button to confirm

the setting.

10

Backlit lasting time set-up

Default: 60 min

Option: 0OFF/ 5/ 10/ 20/ 30/ 60

Long press "Enter" button to enter set-up

mode.

- 10 -

10-1

Press the "Scroll" button to change the

option.

After choose the new "Scrl" option, the user

need pressing the "Enter" button to confirm

the setting.

11

Clear

Long press "Enter" to enter clear interface.

11-1

Clear Max demand of active power

Long press "Enter" button to confirm the

operation.

11-2

Clear the resettable energy

Long press the Enter button to confirm the

operation.

10

Password

Default: 1000

10-1

Press the "Enter" button, the red part flash.

Press the "Scroll" button to change the

value.

After choose the new password, the user

need pressing the "Enter" button to confirm

the setting.

- 11 -

Wiring diagram Dimensions

- 12 -

Installation - 13 -

1.Eastron SDM230Modbus Smart Meter Modbus Protocol Implementation V1.2

1.1 Modbus Protocol Overview

This section provides basic information for interfacing the Eastron Smart meter to a Modbus Protocol network. If background information or more details of the Eastron implementation is required, please refer to section 2 and 3 of this document.

Eastron offers the option of an RS485 communication facility for direct connection to SCADA or other communications systems using the Modbus Protocol RTU salve protocol. The Modbus Protocol establishes the format for the master's query by placing into it the device address, a function code defining the requested action, any data to be sent, and an error checking field. The slave's response message is also constructed using Modbus Protocol. It contains fields confirming the action taken, any data to be returned, and an error-checking field. If an error occurs in receipt of the message, SDM230Modbus will make no response. If the SDM230Modbus is unable to perform the requested action, it will construct an error message and send it as the response.

The electrical interface is 2-wire RS485, via 2 screw terminals. Connection should be made using twisted pair screened cable (Typically 22 gauge Belden 8761 or equivalent). All "A" and "B" connections are daisy chained together. Line topology may or may not require terminating loads depending on the type and length of cable used. Loop (ring) topology does not require any termination load. The impedance of the termination load should match the impedance of the cable and be at both ends of the line. The cable should be terminated at each end with a 120 ohm (0.25 Watt min.) resistor. A total maximum length of 1200 meters is allowed for the RS485 network. A maximum of 32 electrical nodes can be connected, including the controller. The address of each Eastron can be set to any value between 1 and 247. Broadcast mode (address 0) is supported.

The format for each byte in RTU mode is:

Coding System: 8-bit per byte

Data Format:

4 bytes (2 registers) per parameter.

Floating point format ( to IEEE 754)

Most significant register first (Default). The default may be changed if

required -See Holding Register "Register Order" parameter.

Error Check Field: 2 byte Cyclical Redundancy Check (CRC)

Framing:

1 start bit

8 data bits, least significant bit sent first

1 bit for even/odd parity (or no parity)

1 stop bit if parity is used; 1 or 2 bits if no parity

Data Coding

All data values in the SDM230Modbus smart meter are transferred as 32 bit IEEE754

%*HWHFK*PE+)U0HKULQJ6WU'(/DXFKKDPPHU 7HO)D[ 0DLOLQIR#EJHWHFKGH:HEZZZHDVWURQJHUPDQ\GH

floating point numbers, (input and output) therefore each SDM230Modbus meter value is transferred using two Modbus Protocol registers. All register read requests and data write requests must specify an even number of registers. Attempts to read/write an odd number of registers prompt the SDM230Modbus smart meter to return a Modbus Protocol exception message. However, for compatibility with some SCADA systems, SDM230Modbus Smart meter will response to any single input or holding register read with an instrument type specific value.

The SDM230Modbus can transfer a maximum of 40 values in a single transaction; therefore the maximum number of registers requestable is 80. Exceeding this limit prompts the SDM230Modbus to generate an exception response.
Data transmission speed is selectable between 12002400, 4800, 9600

1.2 Input register Input registers are used to indicate the present values of the measured and calculated electrical quantities. Each parameter is held in two consecutive16 bit register. The following table details the 3X register address, and the values of the address bytes within the message. A (*) in the column indicates that the parameter is valid for the particular wiring system. Any parameter with a cross(X) will return the value zero. Each parameter is held in the 3X registers. Modbus Protocol function code 04 is used to access all parameters. For example, to request: Amps 1 Start address=0006
No. of registers =0002 Amps 2 Start address=0008
No. of registers=0002 Each request for data must be restricted to 40 parameters or less. Exceeding the 40 parameter limit will cause a Modbus Protocol exception code to be returned.

Address (Register)

SDM230-Modbus Input Register Parameter

Description

Units

30001 30007 30013 30019 30025 30031 30037 30071

Line to neutral volts. Current. Active power. Apparent power Reactive power Power factor Phase angle. Frequency

Volts Amps Watts VoltAmps VAr None Degree Hz

Modbus

Protocol Start

Address Hex

Hi

Lo

Byte Byte

00

00

00

06

00

0C

00

12

00

18

00

1E

00

24

00

46

%*HWHFK*PE+)U0HKULQJ6WU'(/DXFKKDPPHU 7HO)D[ 0DLOLQIR#EJHWHFKGH:HEZZZHDVWURQJHUPDQ\GH

30073 30075 30077 30079 30085 30087 30089 30091 30093 30095 30259 30265 30343 30345 30385 30387

Import active energy Export active energy Import reactive energy Export reactive energy Total system power demand Maximum total system power demand Current system positive power demand Maximum system positive power demand Current system reverse power demand Maximum system reverse power demand Current demand. Maximum current demand. Total active energy Total reactive energy Current resettable total active energy Current resettable total reactive energy

kwh kwh kvarh kvarh W W W W W W Amps Amps kwh kvarh kwh kvarh

00

48

00

4A

00

4C

00

4E

00

54

00

56

00

58

00

5A

00

5C

00

5E

01

02

01

08

01

56

01

58

01

80

01

82

1.3 Modbus Protocol Holding Registers and Digital meter set up

Holding registers are used to store and display instrument configuration settings. All holding

registers not listed in the table below should be considered as reserved for manufacturer use

and no attempt should be made to modify their values.

The holding register parameters may be viewed or changed using the Modbus Protocol. Each

parameter is held in two consecutive 4X registers. Modbus Protocol Function Code 03 is used

to read the parameter and Function Code 16 is used to write. Write to only one parameter per

message.

Modbus

Protocol

Address Parameter

Start

Register

Address

Valid range

Mode

Hex

High Low

Byte Byte

Write relay on period in

Pulse

Milliseconds: 60, 100 or 200,

40013

output 1 00 0C default 100.

r/w

Width

Data Formatfloatlength4

byte

Write the network port

Network

40019

00 12 parity/stop bits for MODBUS

r/w

Parity

Protocol, where: 0 = One stop bit

%*HWHFK*PE+)U0HKULQJ6WU'(/DXFKKDPPHU 7HO)D[ 0DLOLQIR#EJHWHFKGH:HEZZZHDVWURQJHUPDQ\GH

and no parity, default.1 = One

stop bit and even parity. 2 = One

stop bit and odd parity.3 = Two

stop bits and no parity. Data Formatfloatlength4

byte

Write the network port node

Address: 1 to 247 for MODBUS

Network

40021

00 14 Protocol, default 1.

r/w

port Node

Data Formatfloatlength4

byte

Write the network port baud rate

for MODBUS Protocol, where: 0 = 2400 bps default. 1 =

Network

4800 bps.

40029

00 1C

r/w

Baud Rate

2 = 9600 bps.

5=1200 bps Data Formatfloatlength4 byte

Write MODBUS Protocol

input parameter for pulse

relay 1:

1=Import Wh;

2=Import and ExportWh;

Pulse1

4=Export Wh;(default)

40087

Energy 00 56

r/w

Type

5=Import VArh;

6=Import and Export VArh;

8=Export VArh. Data Formatfloatlength4

byte

Demand

min-min-s-min

interval ,

scroll time=0the display does

slide time,

not scroll automatically.

automatic

Backlight time=0 Backlight

scroll

always on

462721

display F5 00

r/w

interval (scroll Time)

Data Format: BCDlength4 byte

Backlight

time

%*HWHFK*PE+)U0HKULQJ6WU'(/DXFKKDPPHU 7HO)D[ 0DLOLQIR#EJHWHFKGH:HEZZZHDVWURQJHUPDQ\GH

463761

0000: 0.001kwhkvarh

/impdefault

0001: 0.01kwhkvarh/imp

Pulse 1

F9 10 0002: 0.1kwhkvarh/imp

r/w

constant

0003: 1kwhkvarh/imp

Data FormatHexlength2

byte

463776

0001:mode 1(total = import)

0002:mode 2(total = import

Measure

+ export) default

ment

F9 20 0003:mode 3 (total = import -

r/w

mode

export)

Data FormatHexlength2

byte

463792

Continuous working period--hour

Running F9 30 Data Formatfloatlength4

r/w

time

byte

Note Mode 1: Measure imported energy, Total energy=Imported energy. Mode 2: Measure imported energy and exported energy, Total energy=Import energy + export energy(default). Mode 3: Measure imported energy and exported energy, Total energy=Imported energy- exported energy.

2 RS485 General Information Some of the information in this section relates to other Eastron Digital meter product families, and is included to assist where a mixed network is implemented.RS485 or EIA (Electronic Industries Association) RS485 is a balanced line, half-duplex transmission system allowing transmission distances of up to 1.2 km. The following table summarizes the RS-485 Standard:

PARAMETER Mode of Operation Number of Drivers and Receivers Maximum Cable Length Maximum Data Rate Maximum Common Mode Voltage Minimum Driver Output Levels (Loaded) Minimum Driver Output Levels (Unloaded) Drive Load

Differential 32 Drivers, 32 Receivers 1200 m 10 M baud 12 V to ­7 V +/­ 1.5 V +/­ 6 V Minimum 60 ohms

%*HWHFK*PE+)U0HKULQJ6WU'(/DXFKKDPPHU 7HO)D[ 0DLOLQIR#EJHWHFKGH:HEZZZHDVWURQJHUPDQ\GH

Driver Output Short Circuit Current Limit
Minimum Receiver Input Resistance Receiver Sensitivity

150 mA to Gnd, 250 mA to 12 V 250 mA to ­7 V 12 kohms +/­ 200 mV

Further information relating to RS485 may be obtained from either the EIA or the various RS485 device manufacturers, for example Texas Instruments or Maxim Semiconductors. This list is not exhaustive.

2.1 Half Duplex

Half duplex is a system in which one or more transmitters (talkers) can communicate with one or more receivers (listeners) with only one transmitter being active at any one time. For example, a "conversation" is started by asking a question, the person who has asked the question will then listen until he gets an answer or until he decides that the individual who was asked the question is not going to reply. In a 485 network the "master" will start the "conversation" with a "query" addressed to a specific "slave", the "master" will then listen for the "slave's" response. If the "slave" does not respond within a pre-defined period, (set by control software in the "master"), the "master" will abandon the "conversation".

2.2 Connecting the Instruments

If connecting an RS485 network to a PC use caution if contemplating the use of an RS232 to 485 converter together with a USB to RS485 adapter. Consider either an RS232 to RS485 converter, connected directly to a suitable RS232 jack on the PC, or use a USB to RS485 converter or, for desktop PCs a suitable plug in RS485 card. (Many 232:485 converters draw power from the RS232 socket. If using a USB to RS232 adapter, the adapter may not have enough power available to run the 232:485 converter.) Screened twisted pair cable should be used. For longer cable runs or noisier environments, use of a cable specifically designed for RS485 may be necessary to achieve optimum performance. All "A" terminals should be connected together using one conductor of the twisted pair cable, all "B" terminals should be connected together using the other conductor in the pair. The cable screen should be connected to the "Gnd" terminals. A Belden 9841 (Single pair) or 9842 (Two pair) or similar cable with a characteristic impedance of 120 ohms is recommended. The cable should be terminated at each end with a 120 ohm, quarter watt (or greater) resistor. Note: Diagram shows wiring topology only. Always follow terminal identification on Eastron Digital meter product label.

%*HWHFK*PE+)U0HKULQJ6WU'(/DXFKKDPPHU 7HO)D[ 0DLOLQIR#EJHWHFKGH:HEZZZHDVWURQJHUPDQ\GH

There must be no more than two wires connected to each terminal, this ensures that a "Daisy Chain or "straight line" configuration is used. A "Star" or a network with "Stubs (Tees)" is not recommended as reflections within the cable may result in data corruption.
2.3 A and B terminals The A and B connections to the Eastron Digital meter products can be identified by the signals present on them whilst there is activity on the RS485 bus:
2.4 Troubleshooting ·Start with a simple network, one master and one slave. With Eastron Digital meter products this is easily achieved as the network can be left intact whilst individual instruments are %*HWHFK*PE+)U0HKULQJ6WU'(/DXFKKDPPHU 7HO)D[ 0DLOLQIR#EJHWHFKGH:HEZZZHDVWURQJHUPDQ\GH

disconnected by removing the RS485 connection from the rear of the instrument. ·Check that the network is connected together correctly. That is all of the "A's" are connected together, and all of the "B's" are connected together, and also that all of the "Gnd's" are connected together. ·Confirm that the data "transmitted" onto the RS485 is not echoed back to the PC on the RS232 lines.(This facility is sometimes a link option within the converter). Many PC based packages seem to not perform well when they receive an echo of the message they are transmitting. SpecView and PCView (PC software) with a RS232 to RS485 converter are believed to include this feature. ·Confirm that the Address of the instrument is the same as the "master" is expecting. ·If the "network" operates with one instrument but not more than one check that each instrument has a unique address. · Each request for data must be restricted to 40 parameters or less. Violating this requirement will impact the performance of the instrument and may result in a response time in excess of the specification. ·Check that the MODBUS Protocol mode (RTU or ASCII) and serial parameters (baud rate, number of data bits, number of stop bits and parity) are the same for all devices on the network. ·Check that the "master" is requesting floating-point variables (pairs of registers placed on floating point boundaries) and is not "splitting" floating point variables. ·Check that the floating-point byte order expected by the "master" is the same as that used by Eastron Digital meter products. ·If possible obtain a second RS232 to RS485 converter and connect it between the RS485 bus and an additional PC equipped with a software package, which can display the data on the bus. Check for the existence of valid requests. 3 MODBUS Protocol General Information Communication on a MODBUS Protocol Network is initiated (started) by a "Master" sending a query to a "Slave". The "Slave", which is constantly monitoring the network for queries addressed to it, will respond by performing the requested action and sending a response back to the "Master". Only the "Master" can initiate a query.
In the MODBUS Protocol the master can address individual slaves, or, using a special "Broadcast" address, can initiate a broadcast message to all slaves. The Eastron Digital meter do not support the broadcast address.
%*HWHFK*PE+)U0HKULQJ6WU'(/DXFKKDPPHU 7HO)D[ 0DLOLQIR#EJHWHFKGH:HEZZZHDVWURQJHUPDQ\GH

3.1 MODBUS Protocol Message Format The MODBUS Protocol defines the format for the master's query and the slave's response. The query contains the device (or broadcast) address, a function code defining the requested action, any data to be sent, and an error-checking field. The response contains fields confirming the action taken, any data to be returned, and an error-checking field. If an error occurred in receipt of the message then the message is ignored, if the slave is unable to perform the requested action, then it will construct an error message and send it as its response. The MODBUS Protocol functions used by the Eastron Digital meters copy 16 bit register values between master and slaves. However, the data used by the Eastron Digital meter is in 32 bit IEEE 754 floating point format. Thus each instrument parameter is conceptually held in two adjacent MODBUS Protocol registers. Query The following example illustrates a request for a single floating point parameter i.e. two 16-bit Modbus Protocol Registers.

First Byte

Slave Function Address Code

Start Address
(Hi)

Start Address
(Lo)

Number of
Points (Hi)

Number of
Points (Lo)

Last Byte

Error Check
(Lo)

Error Check
(Hi)

Slave Address: 8-bit value representing the slave being addressed (1 to 247), 0 is reserved for the broadcast address. The Eastron Digital meters do not support the broadcast address. Function Code: 8-bit value telling the addressed slave what action is to be performed. (3, 4, 8 or 16 are valid for Eastron Digital meter) Start Address (Hi): The top (most significant) eight bits of a 16-bit number specifying the start address of the data being requested. Start Address (Lo): The bottom (least significant) eight bits of a 16-bit number specifying the start address of the data being requested. As registers are used in pairs and start at zero, then this must be an even number. Number of Points (Hi): The top (most significant) eight bits of a 16-bit number specifying the number of registers being requested. Number of Points (Lo): The bottom (least significant) eight bits of a 16-bit number specifying the number of registers being requested. As registers are used in pairs, then this must be an even number. Error Check (Lo): The bottom (least significant) eight bits of a 16-bit number representing the error check value. Error Check (Hi): The top (most significant) eight bits of a 16-bit number representing the error check value.

Response The example illustrates the normal response to a request for a single floating point parameter i.e. two 16-bit Modbus Protocol Registers.

%*HWHFK*PE+)U0HKULQJ6WU'(/DXFKKDPPHU 7HO)D[ 0DLOLQIR#EJHWHFKGH:HEZZZHDVWURQJHUPDQ\GH

First Byte

Slave Address

Function Code

Byte Count

First Register
(Hi)

First Register
(Lo)

Second Register
(Hi)

Second Register
(Lo)

Last Byte

Error

Error

Check Check

(Lo)

(Hi)

Slave Address: 8-bit value representing the address of slave that is responding. Function Code: 8-bit value which, when a copy of the function code in the query, indicates that the slave recognised the query and has responded. (See also Exception Response). Byte Count: 8-bit value indicating the number of data bytes contained within this response First Register (Hi)*: The top (most significant) eight bits of a 16-bit number representing the first register requested in the query. First Register (Lo)*: The bottom (least significant) eight bits of a 16-bit number representing the first register requested in the query. Second Register (Hi)*: The top (most significant) eight bits of a 16-bit number representing the second register requested in the query. Second Register (Lo)*: The bottom (least significant) eight bits of a 16-bit number representing the second register requested in the query. Error Check (Lo): The bottom (least significant) eight bits of a 16-bit number representing the error check value. Error Check (Hi): The top (most significant) eight bits of a 16-bit number representing the error check value.
*These four bytes together give the value of the floating point parameter requested.

Exception Response If an error is detected in the content of the query (excluding parity errors and Error Check mismatch), then an error response (called an exception response), will be sent to the master. The exception response is identified by the function code being a copy of the query function code but with the most-significant bit set. The data contained in an exception response is a single byte error code.

First Byte
Slave Address

Function Code

Error Code

Error Check
(Lo)

Last Byte Error Check (Hi)

Slave Address: 8-bit value representing the address of slave that is responding. Function Code: 8 bit value which is the function code in the query OR'ed with 80 hex, indicating that the slave either does not recognise the query or could not carry out the action requested. Error Code: 8-bit value indicating the nature of the exception detected. (See "Table Of Exception Codes" later).

%*HWHFK*PE+)U0HKULQJ6WU'(/DXFKKDPPHU 7HO)D[ 0DLOLQIR#EJHWHFKGH:HEZZZHDVWURQJHUPDQ\GH

Error Check (Lo): The bottom (least significant) eight bits of a 16-bit number representing the error check value. Error Check (Hi): The top (most significant) eight bits of a 16-bit number representing the error check value.
3.2 Serial Transmission Modes There are two MODBUS Protocol serial transmission modes, ASCII and RTU. Eastron Digital meters do not support the ASCII mode. In RTU (Remote Terminal Unit) mode, each 8-bit byte is used in the full binary range and is not limited to ASCII characters as in ASCII Mode. The greater data density allows better data throughput for the same baud rate, however each message must be transmitted in a continuous stream. This is very unlikely to be a problem for modern communications equipment.
Coding System: Full 8-bit binary per byte. In this document, the value of each byte will be shown as two hexadecimal characters each in the range 0-9 or A-F. Line Protocol: 1 start bit, followed by the 8 data bits. The 8 data bits are sent with least significant bit first. User Option Of Parity No Parity and 2 Stop Bits And Stop Bits: No Parity and 1 Stop Bit
Even Parity and 1 Stop Bit Odd Parity and 1 Stop Bit. User Option of Baud 120024004800 9600
The baud rate, parity and stop bits must be selected to match the master's settings.
3.3 MODBUS Protocol Message Timing (RTU Mode) A MODBUS Protocol message has defined beginning and ending points. The receiving devices recognizes the start of the message, reads the "Slave Address" to determine if they are being addressed and knowing when the message is completed they can use the Error Check bytes and parity bits to confirm the integrity of the message. If the Error Check or parity fails then the message is discarded. In RTU mode, messages starts with a silent interval of at least 3.5 character times. The first byte of a message is then transmitted, the device address. Master and slave devices monitor the network continuously, including during the `silent' intervals. When the first byte (the address byte) is received, each device checks it to find out if it is the addressed device. If the device determines that it is the one being addressed it records the whole message and acts accordingly, if it is not being addressed it continues monitoring for the next message. Following the last transmitted byte, a silent interval of at least 3.5 character times marks the end of the message. A new message can begin after this interval. The entire message must be transmitted as a continuous stream. If a silent interval of more
%*HWHFK*PE+)U0HKULQJ6WU'(/DXFKKDPPHU 7HO)D[ 0DLOLQIR#EJHWHFKGH:HEZZZHDVWURQJHUPDQ\GH

than 1.5 character times occurs before completion of the message, the receiving device flushes the incomplete message and assumes that the next byte will be the address byte of a new message. Similarly, if a new message begins earlier than 3.5 character times following a previous message, the receiving device may consider it a continuation of the previous message. This will result in an error, as the value in the final CRC field will not be valid for the combined messages.

3.4 How Characters are Transmitted Serially

When messages are transmitted on standard MODBUS Protocol serial networks each byte is

sent in this order (left to right):

Transmit Character = Start Bit + Data Byte + Parity Bit + 1 Stop Bit (11 bits total):

Least Significant Bit (LSB)

Most Significant Bit (MSB)

Start 1

2

3

4

5

6

7

8 Party Stop

Transmit Character = Start Bit + Data Byte + 2 Stop Bits (11 bits total):

Start 1

2

3

4

5

6

7

8

Stop Stop

Eastron Digital meters additionally support No parity, 1 stop bit.

Transmit Character = Start Bit + Data Byte + 1 Stop Bit (10 bits total):

Start

1

2

3

4

5

6

7

8

Stop

The master is configured by the user to wait for a predetermined timeout interval. The master will wait for this period of time before deciding that the slave is not going to respond and that the transaction should be aborted. Care must be taken when determining the timeout period from both the master and the slaves' specifications. The slave may define the `response time' as being the period from the receipt of the last bit of the query to the transmission of the first bit of the response. The master may define the `response time' as period between transmitting the first bit of the query to the receipt of the last bit of the response. It can be seen that message transmission time, which is a function of the baud rate, must be included in the timeout calculation.

3.5 Error Checking Methods
%*HWHFK*PE+)U0HKULQJ6WU'(/DXFKKDPPHU 7HO)D[ 0DLOLQIR#EJHWHFKGH:HEZZZHDVWURQJHUPDQ\GH

Standard MODBUS Protocol serial networks use two error checking processes, the error check bytes mentioned above check message integrity whilst Parity checking (even or odd) can be applied to each byte in the message.
3.5.1 Parity Checking If parity checking is enabled ­ by selecting either Even or Odd Parity - the quantity of "1's" will be counted in the data portion of each transmit character. The parity bit will then be set to a 0 or 1 to result in an Even or Odd total of "1's". Note that parity checking can only detect an error if an odd number of bits are picked up or dropped in a transmit character during transmission, if for example two 1's are corrupted to 0's the parity check will not find the error. If No Parity checking is specified, no parity bit is transmitted and no parity check can be made. Also, if No Parity checking is specified and one stop bit is selected the transmit character is effectively shortened by one bit.
3.5.2 CRC Checking The error check bytes of the MODBUS Protocol messages contain a Cyclical Redundancy Check (CRC) value that is used to check the content of the entire message. The error check bytes must always be present to comply with the MODBUS Protocol, there is no option to disable it. The error check bytes represent a 16-bit binary value, calculated by the transmitting device. The receiving device must recalculate the CRC during receipt of the message and compare the calculated value to the value received in the error check bytes. If the two values are not equal, the message should be discarded. The error check calculation is started by first pre-loading a 16-bit register to all 1's (i.e. Hex (FFFF)) each successive 8-bit byte of the message is applied to the current contents of the register. Note: only the eight bits of data in each transmit character are used for generating the CRC, start bits, stop bits and the parity bit, if one is used, are not included in the error check bytes. During generation of the error check bytes, each 8-bit message byte is exclusive OR'ed with the lower half of the 16 bit register. The register is then shifted eight times in the direction of the least significant bit (LSB), with a zero filled into the most significant bit (MSB) position. After each shift the LSB prior to the shift is extracted and examined. If the LSB was a 1, the register is then exclusive OR'ed with a pre-set, fixed value. If the LSB was a 0, no exclusive OR takes place. This process is repeated until all eight shifts have been performed. After the last shift, the next 8-bit message byte is exclusive OR'ed with the lower half of the 16 bit register, and the process repeated. The final contents of the register, after all the bytes of the message have been applied, is the error check value. In the following pseudo code "Error Word" is a 16-bit value representing the error check values.
BEGIN
%*HWHFK*PE+)U0HKULQJ6WU'(/DXFKKDPPHU 7HO)D[ 0DLOLQIR#EJHWHFKGH:HEZZZHDVWURQJHUPDQ\GH

Error Word = Hex (FFFF) FOR Each byte in message
Error Word = Error Word XOR byte in message FOR Each bit in byte
LSB = Error Word AND Hex (0001) IF LSB = 1 THEN Error Word = Error Word ­ 1 Error Word = Error Word / 2 IF LSB = 1 THEN Error Word = Error Word XOR Hex (A001) NEXT bit in byte NEXT Byte in message END

3.6 Function Codes

The function code part of a MODBUS Protocol message defines the action to be taken by the

slave. Eastron Digital meters support the following function codes:

Code

MODBUS Protocol name

Description

Read Holding

Read the contents of read/write

03

Registers

location(4X references)

Read the contents of read only

04

Read Input Registers

location(3X references)

3.7 IEEE floating point format The MODBUS Protocol defines 16 bit "Registers" for the data variables. A 16-bit number would prove too restrictive, for energy parameters for example, as the maximum range of a 16-bit number is 65535. However, there are a number of approaches that have been adopted to overcome this restriction. Eastron Digital meters use two consecutive registers to represent a floating-point number, effectively expanding the range to +/- 1x1037. The values produced by Eastron Digital meters can be used directly without any requirement to "scale" the values, for example, the units for the voltage parameters are volts, the units for the power parameters are watts etc. What is a floating point Number? A floating-point number is a number with two parts, a mantissa and an exponent and is written in the form 1.234 x 105. The mantissa (1.234 in this example) must have the decimal point moved to the right with the number of places determined by the exponent (5 places in this example) i.e. 1.234x 105 = 123400. If the exponent is negative the decimal point is moved to the left. What is an IEEE 754 format floating-point number? An IEEE 754 floating point number is the binary equivalent of the decimal floating-point number shown above. The major difference being that the most significant bit of the mantissa is always arranged to be 1 and is thus not needed in the representation of the number. The

%*HWHFK*PE+)U0HKULQJ6WU'(/DXFKKDPPHU 7HO)D[ 0DLOLQIR#EJHWHFKGH:HEZZZHDVWURQJHUPDQ\GH

process by which the most significant bit is arranged to be 1 is called normalization, the mantissa is thus referred to as a "normal mantissa". During normalization the bits in the mantissa are shifted to the left whilst the exponent is decremented until the most significant bit of the mantissa is one. In the special case where the number is zero both mantissa and exponent are zero.

The bits in an IEEE 754 format have the following significance:

Data Hi Reg,

Data Hi Reg,

Data Lo Reg,

Hi Byte.

Lo Byte.

Hi Byte.

SEEE

EMMM

MMMM

EEEE

MMMM

MMMM

Data Lo Reg, Lo Byte. MMMM MMMM

Where: S represents the sign bit where 1 is negative and 0 is positive E is the 8-bit exponent with an offset of 127 i.e. an exponent of zero is represented by 127, an exponent of 1 by 128 etc. M is the 23-bit normal mantissa. The 24th bit is always 1 and, therefore, is not stored.

Using the above format the floating point number 240.5 is represented as 43708000 hex:

Data Hi Reg,

Data Hi Reg,

Data Lo Reg,

Data Lo Reg,

Hi Byte

Lo Byte

Hi Byte

Lo Byte

43

70

80

00

The following example demonstrates how to convert IEEE 754 floating-point numbers from their hexadecimal form to decimal form. For this example, we will use the value for 240.5 shown above Note that the floating-point storage representation is not an intuitive format. To convert this value to decimal, the bits should be separated as specified in the floating-point number storage format table shown above.

For example: Data Hi Reg, Hi Byte 0100 0011

Data Hi Reg, Lo Byte 0111 0000

Data Lo Reg, Hi Byte
1000 0000

Data Lo Reg, Lo Byte
0000 0000

From this you can determine the following information. ·The sign bit is 0, indicating a positive number. ·The exponent value is 10000110 binary or 134 decimal. Subtracting 127 from 134 leaves 7, which is the actual exponent. ·The mantissa appears as the binary number 11100001000000000000000 There is an implied binary point at the left of the mantissa that is always preceded by a 1. This bit is not stored in the hexadecimal representation of the floating-point number. Adding 1 and

%*HWHFK*PE+)U0HKULQJ6WU'(/DXFKKDPPHU 7HO)D[ 0DLOLQIR#EJHWHFKGH:HEZZZHDVWURQJHUPDQ\GH

the binary point to the beginning of the mantissa gives the following: 1.11100001000000000000000 Now, we adjust the mantissa for the exponent. A negative exponent moves the binary point to the left. A positive exponent moves the binary point to the right. Because the exponent is 7, the mantissa is adjusted as follows: 11110000.1000000000000000 Finally, we have a binary floating-point number. Binary bits that are to the left of the binary point represent the power of two corresponding to their position. For example, 11110000 represents (1 x 27) + (1 x 26) + (1x 25) + (1 x 24) + (0 x 23)+ (0 x 22) + (0 x 21)+ (0 x 20) = 240. Binary bits that are to the right of the binary point also represent a power of 2 corresponding to their position. As the digits are to the right of the binary point the powers are negative. For example: .100 represents (1 x 2-1) + (0 x 2-2)+ (0 x 2-3) + ... which equals 0.5. Adding these two numbers together and making reference to the sign bit produces the number +240.5.

For each floating point value requested two MODBUS Protocol registers (four bytes) must be

requested. The received order and significance of these four bytes for Eastron Digital meters is

shown below:

Data Hi Reg,

Data Hi Reg,

Data Lo Reg,

Data Lo Reg,

Hi Byte

Lo Byte

Hi Byte

Lo Byte

3.8 MODBUS Protocol Commands supported All Eastron Digital meters support the "Read Input Register" (3X registers), the "Read Holding Register" (4X registers) and the "Pre-set Multiple Registers" (write 4X registers) commands of the MODBUS Protocol RTU protocol. All values stored and returned are in floating point format to IEEE 754 with the most significant register first.

3.8.1 Read Input Registers MODBUS Protocol code 04 reads the contents of the 3X registers.

Example

The following query will request `Volts 1' from an instrument with node address 1:

Field Name Slave Address Function Starting Address High Starting Address Low Number of Points High Number of Points Low Error Check Low Error Check High

Example(Hex)
01 04 00 00 00 02 71 CB

%*HWHFK*PE+)U0HKULQJ6WU'(/DXFKKDPPHU 7HO)D[ 0DLOLQIR#EJHWHFKGH:HEZZZHDVWURQJHUPDQ\GH

Note: Data must be requested in register pairs i.e. the "Starting Address" and the "Number of

Points" must be even numbers to request a floating point variable. If the "Starting Address" or

the "Number of points" is odd then the query will fall in the middle of a floating point variable

the product will return an error message.

The following response returns the contents of Volts 1 as 230.2. But see also "Exception

Response" later.

Field Name Slave Address Function

Example (Hex)
01 04

Byte Count

04

Data, High Reg, High Byte

43

Data, High Reg, Low Byte

66

Data, Low Reg, High Byte

33

Data, Low Reg, Low Byte

34

Error Check Low

1B

Error Check High

38

3.9 Holding Registers

3.9.1 Read Holding Registers

MODBUS Protocol code 03 reads the contents of the 4X registers.

Example

The following query will request the prevailing `Pulse output 1 Width':

Field Name Slave Address Function Starting Address High Starting Address Low

Example (Hex)
01 03 00 0C

Number of Points High

00

Number of Points Low

02

Error Check Low

04

Error Check High

08

Note: Data must be requested in register pairs i.e. the "Starting Address" and the "Number of

Points" must be even numbers to request a floating point variable. If the "Starting Address" or

the "Number of points" is odd then the query will fall in the middle of a floating point variable

the product will return an error message.

The following response returns the contents of Demand Time as 1, But see also "Exception

Response" later.

Field Name Slave Address Function Byte Count

Example (Hex)
01 03 04

%*HWHFK*PE+)U0HKULQJ6WU'(/DXFKKDPPHU 7HO)D[ 0DLOLQIR#EJHWHFKGH:HEZZZHDVWURQJHUPDQ\GH

Data, High Reg, High Byte

42

Data, High Reg, Low Byte

C8

Data, Low Reg, High Byte

00

Data, Low Reg, Low Byte

00

Error Check Low

6F

Error Check High

B5

3.9.2 Write Holding Registers

MODBUS Protocol code 10 (16 decimal) writes the contents of the 4X registers.

Example

The following query will set the Pulse output 1 Width to 60 ms, which effectively resets the

Demand Time:

Field Name Slave Address Function Starting Address High Starting Address Low Number of Registers High Number of Registers Low Byte Count Data, High Reg, High Byte

Example (Hex)
01 10 00 0C 00 02 04 42

Data, High Reg, Low Byte

70

Data, Low Reg, High Byte

00

Data, Low Reg, Low Byte

00

Error Check Low

E6

Error Check High

59

Note: Data must be written in register pairs i.e. the "Starting Address" and the "Number of Points" must be even numbers to write a floating point variable. If the "Starting Address" or the "Number of points" is odd then the query will fall in the middle of a floating point variable the product will return an error message. In general only one floating point value can be written per query

The following response indicates that the write has been successful. But see also "Exception

Response"later.

Field Name Slave Address Function Starting Address High Starting Address Low Number of Registers High

Example (Hex)
01 10 00 02 00

%*HWHFK*PE+)U0HKULQJ6WU'(/DXFKKDPPHU 7HO)D[ 0DLOLQIR#EJHWHFKGH:HEZZZHDVWURQJHUPDQ\GH

Number of Registers Low

02

Error Check Low

E0

Error Check High

08

%*HWHFK*PE+)U0HKULQJ6WU'(/DXFKKDPPHU 7HO)D[ 0DLOLQIR#EJHWHFKGH:HEZZZHDVWURQJHUPDQ\GH



References

Microsoft Word 2013