knx ip simulation update 2009 03 11 - tu wien

16
Automation Systems Group Institute of Computer Aided Automation Vienna University of Technology Vienna, Austria www.auto.tuwien.ac.at KNX IP Simulation Status Update Wolfgang Kastner

Upload: others

Post on 26-Jan-2022

2 views

Category:

Documents


0 download

TRANSCRIPT

Automation Systems GroupInstitute of Computer Aided Automation

Vienna University of TechnologyVienna, Austria

www.auto.tuwien.ac.at

KNX IP Simulation

Status UpdateWolfgang Kastner

KNX IP TF MeetingKNX IP Simulation Status Update – 2

Review: KNX IP Flow Control

ROUTING_BUSY(tw) N++;start_timer(twait, tw);

ROUTING_BUSY(tw) start_timer(twait, max(tw,twait));

UCT ROUTING_INDICATION;

10ms expiredROUTING_BUSY(tw) N++;start_timer(twait, max(tw,twait));

twait expired start_timer(trand, [0..1]*N*50ms);

trand expired start_timer(tslowdur, N*100ms);

tslow expired ROUTING_

INDICATION;

tslowdur expired

5ms expired if (N > 0) N - -;

Pause 10msNormal

Pause twaitPause tslowdur

Pause trand

KNX IP TF MeetingKNX IP Simulation Status Update – 3

MACMAC

µPµP

KNX IP Device Model

KNX Application• Traffic generator

KNX IP Driver• KNX IP protocol

• Ring buffer (50 messages)

• Routing table (RT) with KNX group addresses

• Promiscuous mode

• Interface to KNX application: message handling if sending allowed

EthernetEthernet

802.3x802.3x

IPIP

UDPUDP

KNX IP KNX IP twait, trand, tslow

KNX ApplicationKNX Application

KN

X IP

Drive

r

RT

KNX IP TF MeetingKNX IP Simulation Status Update – 4

µPµP

KNX IP Router Device Model

MACMACEthernetEthernet

802.3x802.3x

IPIP

UDPUDP

KNX IP KNX IP twait, trand, tslow

KNX IP Router Application (empty)KNX IP Router Application (empty)

MACMACEthernetEthernet

802.3x802.3x

IPIP

UDPUDP

KNX IP KNX IP twait, trand, tslow

Routing Table

KNX IP TF MeetingKNX IP Simulation Status Update – 5

MACMAC

µPµP

KNXnet IP Router Model

(Special) KNX Application

• Traffic generator

• Network load

• Buffer for KNX network

• Buffer for IP network

KNX IP Driver

• KNX IP protocol

• Ring buffer (50 messages)

• Promiscuous modeEthernetEthernet

802.3x802.3x

IPIP

UDPUDP

KNX IP KNX IP twait, trand, tslow

KNXnet AppKNXnet App

KN

X IP

Drive

rRT

KNX IP TF MeetingKNX IP Simulation Status Update – 6

Build and Run a Simulation

Simulation programSimulation program Setup parameter

Setup parameter

ResultsResults

Model structure

Network descriptionNetwork

description

Implementation of simple modules

Implementation of simple modules

Nedtool compilerNedtool compiler

Implementation of structure

Implementation of structure

C++ compilerC++ compiler

LinkerLinker

Simulation kernel library

User interface libraries

Add behaviorSimulation build process

Simulation run process

KNX IP TF MeetingKNX IP Simulation Status Update – 7

Topology

<config>

<linelist>

<line id="1">239.24.24.13</line>

<line id="2">239.24.24.24</line>

</linelist>

<routerlist>

<router id="1“ promiscuous=“off">

<belongsto>1</belongsto>

<belongsto>2</belongsto>

<in>1/1/21</in>

<out>1/1/41</out>

<inout>1/1/31</inout>

</router>

<router id="2” promiscuous=“on” >

</router>

</routerlist>

<devicelist>

<device id="1“ promiscuous="on“>

<belongsto>1</belongsto>

<inout>1/2/2</inout>

</device>

<device id="2“promiscuous="off“>

</device>

</devicelist>

<knxnetrouterlist>

<knxnetrouter id="1" promiscuous="off">

<belongsto>2</belongsto>

<inout>1/2/2</inout>

</knxnetrouter>

<knxnetrouter id=“2" promiscuous="off">

</knxnetrouter>

</knxnetrouterlist>

</config>

Specified in *.xml fileNaming is still subject to change

KNX IP TF MeetingKNX IP Simulation Status Update – 8

Simulation Configuration

Specified in *.ned filesNaming is still subject to change

• KNXIP Host• KNXApp: User application• KNXIP Body: IP segment

• KNXIP Router• KNXIP Body: IP segment 1• KNXIP Body: IP segment 2

• KNXnet Router• KNXnetApp: TP segment• KNXIP Body: IP segment

KNX IP TF MeetingKNX IP Simulation Status Update – 9

Simulation Parameters

• General network• number of KNX IP nodes

• Switch• relayUnit**.bufferSize• relayUnit**.highWatermark

• Ethernet NIC configuration (802.3x Flow control)• useFlowControl• bufferSize, highWatermark

• KNX IP protocol• t_busyWaitTime• t_slow• t_decrementBusyCounter• t_ignoreTime• t_normalTime

• KNX(net) IP node • buffersize• highwatermark• t_processingtime• knxnetr**.

workloadofknxnet

Specified in *.ini filesNaming is still subject to change

KNX IP TF MeetingKNX IP Simulation Status Update – 10

What can be watched?

• KNX Routing Indication datagrams sent, received, dropped

• KNX Busy datagrams sent, received:

• KNX node state machine

• KNX node buffer size

• …

Parameters stored in *.vec filesOn a per node basis

Naming is still subject to change

KNX IP TF MeetingKNX IP Simulation Status Update – 11

Tutorial

• Setup and installation• Unpack file in arbitrary directory• Open command window• Change to installation directory and call “.\setpath”

• Simulation run• Change to sample directory (e.g. “cd KNXSamples\KNX_...”)• Call “..\..\bin\inet” with *.ini file as parameter

(e.g. “..\..\bin\inet –f 2_Devices.ini”)• Start simulation in step, run, fast, or express mode

(more or less) debug information is generatedmodules can be opened and closedpacket flow can be watched

• Simulation analysis• Call “..\..\omnet\bin\plove”• Select vector file and choose parameters

Zip file contains current version of the KNX IP simulation plus some KNX samples

KNX IP TF MeetingKNX IP Simulation Status Update – 12

Live Demo

KNX IP TF MeetingKNX IP Simulation Status Update – 13

Some Scenarios…

Senders on a high speed segment, the receivers on a low speed segment, and a coupler with a queue that can hold 20 frames in between

•One controller activates a complex scenario by sendingout 30 GroupValue_Write indications.

•Two controllers simultaneously activate complex scenarios by sending out 15 GroupValue_Write indications each.

The power has failed and returns. 40 actuators connected to the same segment transmit their status.

A KNX OPC server initializes its process image by sending out 400 GroupValue_Read requests.

KNX IP TF MeetingKNX IP Simulation Status Update – 14

Suggestions beyond KNX IP Flow Control

• Flow control• Keep a sender from overrunning a receiver

• Congestion control• Controlling traffic entry

• “Offline” vs. “online” measures

• Some ideas/visions• Amend function blocks (cf. LTE HVAC function blocks)• Reduce likelihood of burst traffic (e.g. randomize order)• Introduce means of feedback• Diagnostic messages• Rules for propagation

KNX IP TF MeetingKNX IP Simulation Status Update – 15

Suggestions beyond KNX IP Flow Control

• Some ideas/visions (cont.):• Adapt transmission rate (for e.g. management clients)• Random waiting period• Include priorities

• 802.3x• Different interpretations of specification resulted in

different implementations• Considered counterproductive when higher layer flow

control exists• Generally considered obsolete• 801.Q (Priority-based Flow Control)

KNX IP TF MeetingKNX IP Simulation Status Update – 16

Next Steps

• Abandon 802.3x option

• Revise KNX application for KNX IP nodes• Sporadic traffic• Cyclic traffic

• Prepare office traffic load generator

• Unify parameter naming

• Harmonize configuration files

• Prepare simulation runs

• Generate documentation