KNX_Write_DPT_6x

KNX_Write_DPT_6x (FB)

FUNCTION_BLOCK KNX_Write_DPT_6x EXTENDS SlaveBasicWr

Overview

Transmit function for DPT 6.x (8-bit signed value).

Inputs

Inputs
Initial value
Description

xUpdateSetp

FALSE

Trigger for setpoint update

iValue

-

INT value to be sent

xWriteVisu

-

Trigger for one-time send

uiDelta

1

Threshold for value change detection

eDPT_Format

-

DPT 6.x format selection

byAdrGroup

0

Group address (0-255)

byAdrMiddleGroup

0

Middle group address (0-7)

byAdrMainGroup

0

Main group address (0-31)

tTimeUpdateSetp

T#0S

Cyclic update interval

tPauseTimeUntilNextSend

T#3S

Send pause

Outputs

  • sUnit (STRING[10]): Unit of the value

  • tNextWrite (TIME): Time until next write operation

  • iLastBusValue (INT): Last received value

Usage

  1. Select the DPT 6.x format with eDPT_Format.

  2. Set the value to be sent in iValue.

  3. Configure the send options:

    • For cyclic sending: tTimeUpdateSetp > T#0S

    • For event-based sending: use xUpdateSetp or xWriteVisu

  4. Adjust uiDelta to set the sensitivity for value changes.

  5. Monitor iLastBusValue for received values and sUnit for the unit.

InOut:

Scope
Name
Type
Initial
Comment
Inherited from

Input

itfKnxConnector

IKnxConnector

IMasterConnector interface input to register/unregister the FB to the list on the Master

SlaveBasicWr

Input

xEnable

BOOL

TRUE

SlaveBasicWr

Output

sPhysicallAddressDevice

STRING(15)

SlaveBasicWr

Output

sGroupAddress

STRING(15)

SlaveBasicWr

Input

xUpdateSetp

BOOL

FALSE

Update of setpoint values (on every rising edge )

Input

iValue

INT

Input Const

xWriteVisu

BOOL

Single Read

Input Const

uiDelta

UINT

1

Specification of the delta value

Input Const

eDPT_Format

DPT_6x

Enum DPT_6x

Input Const

byAdrGroup

BYTE

0

Group address

Input Const

byAdrMiddleGroup

BYTE

0

Middle group address

Input Const

byAdrMainGroup

BYTE

0

Main group address

Input Const

tTimeUpdateSetp

TIME

TIME#0ms

Update interval for operations influenced by the input ‘xUpdateSetp’ 0 = no automatic update, > 0 cyclic update

Input Const

tPauseTimeUntilNextSend

TIME

TIME#3s0ms

Pause after sending 0 = no pause

Output

sUnit

STRING(10)

Output

tNextWrite

TIME

Output

iLastBusValue

INT

Last updated