PmKNX - Driver for communication by the KNX protocol

This driver serves for communication by the KNX protocol.
See Communication by the KNX protocol.

The driver is used for transmission KNX telegrams via the KNXnet/IP router (so-called KNXnet/IP routing - service 0530h, ROUTING_INDICATION).
The PmaCommGroup object can be used in the PROMOTIC application to send Master messages (read and write) to KNXnet/IP router.
The PmaCommMsg object can be used to receive Slave message sent from the KNXnet/IP router without active request from the PROMOTIC application.

Before using this driver in the PROMOTIC application it is highly recommended to watch "PROMOTIC video tutorial 4 - Communication drivers".

Basic properties of the driver:
- Usage of this driver requires purchase of the PmKNX licence. When developing the application in the freeware mode PmFree, or with development environment and while testing it in runtime, this component is always functional.
- The communication is done for Ethernet (PROMOTIC application is client).
- The driver is incorporated into the PROMOTIC system by means of the PmaComm object.
The driver supports the usage of both PmaCommMsg and PmaCommGroup objects. For common case of the data transfer, it is better to use the PmaCommGroup object.
For easy integration of this driver into the application it is handy to use: Preconfigurations in group "KNX"
- The driver supports the data types that are defined in the chapter KNX protocol data types (Datapoint Types).

Recommended values of the PmaComm object parameters:

Recommended values for the Ethernet-client parameters:
Network address224.0.23.12
It is IP multicast address of the KNXnet/IP interface (can be changed).

The multicast address is a logical identifier of a group of hosts in a computer network that are available for processing datagrams.
Multicast address communication represents communication with all hosts in the group (the "normal" IP address communicates only to a single host).
Multicast addresses are:
- for IPv4: all IP addresses in the range from to
- for IPv6: all IP addresses with prefix ff00::/8
TCP/UDP remote port number3671
It is for KNX Association officially registered IP port (can be changed).
Ethernet transfer typeUDP
Description and recommended values for the Protocol parameters:
This configurator is not used for given driver.

The communication description by means of the PmaCommGroup object

The PmaCommGroup objects can be used for this driver. For usual data transmissions it is more favourable than using the PmaCommMsg object.
The variables in the PmaCommGroup object (or even better the variables in the PmaData object with ExtComm data extension) can be of arbitrary number, type and order. The driver uses optimalised internal communication messages for reading the data from the device. Individual KNX telegram is sent for each variable being read.
All variables are read (if the "Data refresh enabled" configurator is checked). When writing into the variable, only the single variable is sent into the device (if the "Auto send when writing to item" configurator is checked).

Description of the "ItemId" configurator:
ItemId is the text identifier of the item that is used for addressing the item in the device. The "ItemId" configurator tells the driver how to receive or send the item value.
The text can be written manually, or it can be assembled in the window opened by the button to the right of the configurator.
Macro expression can be used for input (it is evaluated after the application is launched).

The ItemId identifier general syntax is:

- KnxType = Identifier of the KNX data type in the 999.9999 format (see KNX protocol data types (Datapoint Types))
- AddrType = Address type.
0 = Address Addr is used for read and write and AddrWrite is not defined
1 = Address Addr is used for reading and AddrWrite is defined for writing
- Addr = Group KNX address (group address) in the main/middle/sub format.
- AddrWrite = Address for writing.
Entered only if AddrType==1.
Entered only as the sub part of the KNX group address for writing (main and middle portion of the address is the same as in Addr)

Examples of the identifier syntax:
Identifier ItemId of the data type item 5.005 (=DPT_DecimalFactor, Long).
The item is at address 2/4/7 for read and write.
Identifier ItemId of the data type item 1.018 (=DPT_Occupancy, Boolean).
Item is for reading at address 2/1/80 and for writing at address 2/1/81.

Description of the "PmaCommGroup > Parameters > Special Parameters" configurator:
Check the write - backSpecifies whether the result of the variable writing is checked.
1 - Without write control - The variable write is not checked.
2 - Only if the same KNX addresses are used for both Read and Write - Only the items that do not have AddrWrite defined in ItemId will be checked
3 - For all KNX addresses - All written items will be checked

The communication description by means of the PmaCommMsg object

The PmaCommMsg object is used for receiving Slave messages and therefore it is necessary to set the "Message type" configurator to "Slave".

List and description of the communication messages: There is only one message type:

Receiving not reguested messages:
Reading "Slave messages", i.e. messages sent from the KNXnet/IP router that were not actively requested.
There is no variable on the "Data-sent" tab.
There are following variables on the "Data-received" tab:
MsgType - (Long) The received message can be of read type (value 1) or write type (value 2)
SourceAddress - (String) KNX device address that have sent the message
TargetAddress - (String) KNX device address receiving the message
Value - (String) The value sent in the message. The value is string of the HexaString type. It can be then processed e.g. by means of the PmBuffer object (see the PmBuffer.SetHexaString method).

Pm9.00.14: Created
PROMOTIC 9.0.27 SCADA system documentation MICROSYS, spol. s r.o.

Send page remarkContact responsible person
© MICROSYS, spol. s r.o.