What is a Data Set in ABB Advant MB300 Network?


Thread Starter


Hello there,

Can someone out there kind enough to share knowledge on ABB Advant Masterbus 300 system based on AC450 controller.

What is a Data Set?

Bryce Gillan

A Dataset is basically the way of exchanging values between two controllers on a MB300 network.

The Dataset is a database element in each controller. It defines a block of data to be received or transmitted. Within the Dataset you define address, direction and data. The data payload section references to separate DAT data base elements. In these DAT elements the data to be transmitted or received, is stored. The DAT elements can be either Boolean DAT(B), Integer DAT(I), Long Integer DAT(IL) or Real DAT(R). The total number of DAT elements that can be defined and transmitted is 24.
A "Data Set" is a message of data transferred between controllers on a MB300 network. The message structure must be defined on both sending and receiving nodes and consists of up to 24 integers, reals or 32 bit words.

The message is a proprietary ABB protocol and is fairly easy to set up in an Advant controller. However, it is not suitable for communications to Non ABB controllers or computers.

"DataSets" can also be used to configure an older style ABB Modbus or Siemens Serial link. But in reality this is a confusing mis-nomer. In this case the Dataset is used to map the ABB internal database to arbitrary Modbus or Siemens Addresses. If you are programming a remote PLC to communicate to the ABB controller you don't really need to know or care about data sets.

ok.. below are sample taken from AC450 BAX file.. not our plant.. a reference plant.. <pre><b>
:REF1 J101LY01_DS
:REF2 J102LY01_DS
:REF3 J103LY01_DS
:REF4 J104LY01_DS
:REF5 J105LY01_DS
:REF6 J106LY01_DS
:REF7 J107LY01_DS
:REF8 J108LY01_DS
:REF9 J109LY01_DS
:REF10 J110LY01_DS
:REF11 J111LY01_DS
:REF12 J112LY01_DS
:REF13 J113LY01_DS
:REF14 J114LY01_DS
:REF15 M1_S06_R9_11
:REF16 M1_S09_R9_11
:REF17 M1_S10_R9_11
:REF18 M1_S18_R9_11
:REF19 M1_S19_R9_11
:REF20 M1_S20_R9_11
:REF21 M1_S22_R9_11
:REF22 DS01R.89.R22
:REF23 DS01R.89.R23
:REF24 DS01R.89.R24
:NAME DS01R.89
:NET 15
:ACT 1</pre></b>
so my understanding is..
- Data Set "DS20" has got 20 Parameters configured (REF1 to REF24)
- Data type is Real

Another example below..<pre><b>
:REF1 P0112.CMD
:REF2 P0113.CMD
:REF3 P0114.CMD
:REF4 P0111.CMD
:REF5 DS01S.78.B5
:REF18 DS01S.78.I13
:REF19 DS01S.78.I14
:REF24 DS01S.78.R5
:NAME DS01S.78
:NO_INT 14
:NET 15
:ACT 1</pre></b>
My understanding is..
- Data Set "DS22" has got 14 Integers
- 5 Real data
- 5 "BREC" data ?

What is is the use of "ACT", "NET", "SOURCE" and other parameters that make up the Data Set block?
Dinster, not to break in on Rob, he sounds like he is a good reference for the Advant platform.

My understanding is..
- Data Set "DS22" has got 14 Integers Correct
- 5 Real data Correct
- 5 "BREC" data "Boolean record"

"ACT" 1 indicates the database element is "Active" or in use.
"NET" This is the network your controllers are on.
"SOURCE" defines the communication path, either the sender or the receiver.
"Ident" a number that identifies the dataset on each controller.
"Name" a unique name for the dataset.

I hope this helps.
OK, so if you are at the point of looking at DataSets in the database then you need to read the manuals .... DS Elements are in the AC400 Database elements reference manual : 3BSE 014 819R0101

Basically, each DataSet must have a matching Send and Receive DB element in sending and receiving controllers controllers. The DB element settings that must match are...

NET : The Masterbus Network. Must be the same in both nodes.
NODE : The node number of the Other node
IDENT : The identity of the DS. Must be the same in both nodes
SOURCE : SEND or RECEIVE. Must be one of each.

Total number of REAL,INT,INTL and BREC must be the same. Note : You can send a REAL datatype to a BREC datatype. This is NOT RECOMMENDED but can be a way of doing a mass conversion of INT to INTL or BREC. So, if you send 24 REAL, the receiving dataset expects 24* 32bit data fields that should all be floating point numbers.

The datasets transfer DAT elements. When you create a new DataSet element, the DAT elements are automatically created. You can rename these DAT elements as required and make direct connections to the PC programs. Some engineers use a single PC program to map data in and out of the DAT elements to make it easier to figure out what is being used and what is spare. Also, transferring single bits is very inefficient, so typically you will see boolean data being packed into INTL elements at the sending node and unpacked in the receiving node.

As I mentioned earlier, setting up DS communications is quite simple. Unfortunately if the site documentation is not kept up to date you often find yourself spending hours cross referencing exactly where the data comes from and goes to.

> "SOURCE" defines the communication path, either the sender or the receiver.

Hi MikeVI,

I got all your explanation except for Source. Say i have 8 AC450 controllers.

I'd like to define a Data Set within Controller 1 and only Controller 5 is supposed to receive that DS.

So i'd put SOURCE=SEND under Controller 5 and SOURCE=RECEIVE under Controller 1.

Is that correct?
>I'd like to define a Data Set within Controller 1 and only Controller 5 is supposed to receive that DS.
>So i'd put SOURCE=SEND under Controller 5 and SOURCE=RECEIVE under Controller 1.
>Is that correct?

No, wrong way round. And DS communicates between pairs of controllers. You cant send to more than 1 controller.