...
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:
BMS Server supports a default type list of Datapoints, This list is predefined in a XML file in the installation directory e.g. <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 . In the following example we will add a new DPT with custom SubTypes.
First DPT should be added to nxaKNXDataTypeDefinitions.xml file:
Code Block | ||||
---|---|---|---|---|
| ||||
<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>
|
Field | Description |
---|---|
data_type 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 | 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 length | The length of the Sub_Type. |
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 output_type | The output type. |
sub_type unit | The Sub_Type unit type °C, K/h, m/s, %, etc... |
sub_type pre_offset | Giving a Preoffset for the Sub_Type value. |
sub_type post_offset | Giving a Postoffset for the Sub_Type value. |
sub_type scale | Sub_Type Scale. |
sub_type min_max | define the min and max value e.g. "0:10" min is 0 and max is 10. |
After adding the custom DPT in the nxaKNXDataTypeDefinitions.xml file. Changes need to be saved. The new DPT needs to be defined in Telegram Definitions file of BMS Server.
Telegram Definitions file can be found in the BMS installation folder. <C:\Program Files (x86)\NETxAutomation\NETx.BMS.Server.2.0\System\Definitions\nxaTelegramDefinitions.35.tvd>.
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 :
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.