Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

If you want to send a KNX telegram, you can also use the sub fields. For example of DPT 238.600, if you want to request the status of a DALI ballast, you have to set the sub field .Address to the corresponding address, and .LF and .BF to False. Afterwards, when you set the “- SEND” item to True, the BMS server calculates the value from the different sub fields and then it sends the calculated value to the KNX bus.

Custom DPTs

...

The definition of complex datapoint types is located in an XML file in the installation directory e e.g. <C C:\Program Files (x86)\NETxAutomation\NETx.BMS.Server.2.0\nxaKNXDataTypeDefinitions.xml>, Those Datapoints have a fixed definition and any modification on them might cause problems or they will not function correctly in the BMS Server.  But BMS Server gives the possibility also to define custom types based on customers' needs .xml. The file contains definition of all DPTs as specified by the KNX standard as well as other custom types used in KNX/DALI gateways.

Likewise, you can add DPTs for your own purpose to that file. In the following example we will add a new DPT with custom SubTypes.

First, the DPT should be added to has to be defined in the nxaKNXDataTypeDefinitions.xml file (see XML format description in the section below):

Code Block
languagexml
titleCustom DPT
<data_type name="Custom.001" descr="CustomeDPT" length_type="1BYTE" set_flag="T">
  <sub_type id="Scene" desc="Scene Number" start_index="0" length="6" length_type="1BYTE" input_type="EIS14" su="U" output_type="UINT8" unit="" pre_offset="0" post_offset="0" scale="1" min_max="" />
  <sub_type id="SA" desc="Scene Activation" start_index="6" length="1" length_type="1BIT" input_type="EIS1" su="" output_type="BOOL" unit="" pre_offset="0" post_offset="0" scale="1" min_max="" />
  <sub_type id="S" desc="BStorage function" start_index="7" length="1" length_type="1BIT" input_type="EIS1" su="" output_type="BOOL" unit="" pre_offset="0" post_offset="0" scale="1" min_max="" />

</data_type>

...

Now that the custom DPT is defined it has be announced in the BMS Studio's configuration file for telegram definitions, which can be found in <install-dir>\System\Definitions\nxaTelegramDefinitions.35.tvd.


In the Data Type line, the new Definition of the DPT should be inserted following the format <Data_Type Length_Type>|<Data_Type Name>@<Data_Type Descr>. In our example the definition will be like the following:

Image Added

After saving the custom DPT in nxaKNXDataTypeDefinitions.xml and the modified nxaTelegramDefinitions.35.tvd the BMS Studio needs to be restarted to be aware of the new DPT. After that the new DPT is ready to use in the telegram definition table:

Image Added

XML format description

data_type attributesDescription

name

:

The name of the custom DPT

,

which will be used later.

data_type

descr

Data type description.

data_type

length_type

Type length of DPT, 1BIT, 2BIT, 4BIT, 1BYTE, 2BYTE, etc.

...

data_type

set_flag

Set the DPT flag.

Filed


...

sub_type attributes

Description

sub_type

id

The ID of the Sub_Type.

sub_type

desc

Sub_Type description.

sub_type

start_index

The start index

to read from. !Attention Reading is always from Right To Left.sub_type

of the Sub_Type. (warning) The most right bit's position is 0

length

The length of the Sub_Type in bits.

sub_type

length_type

The length type of the Sub_Type.

sub_type

input_type

The input type EIS1, EIS2, EIS5, etc....

sub_type su

Signed / Unsigned

sub_type

su

S (signed) or U (unsigned); default is signed

output_type

The Sub_Type output type.

sub_type

unit

The Sub_Type unit type °C, K/h, m/s, %, etc...

sub_type sub_type

pre_offset

Giving a Preoffset for the Sub_Type value.

sub_type

offset to be added before scaling

post_offset

Giving a Postoffset for the Sub_Type value.

offset to be added after scaling

scale

Sub_Type

Scale.sub_type

scaling factor

min_max

define the min and max value e.g. "0:10" min is 0 and max is 10

.

...

.

...

In the Data Type line, the new Definition of the DPT should be added. Adding the DPT should follow the sequence <Data_Type Length_Type|Data_Type Name@Display Name>

And in our example the definition will like :

Image Removed

Changes need to be saved, and BMS Server reopen in order to apply the new changes. After that the new Datatype will added to Telegram definitions and ready to use. 

...