knx ip simulation update 2009 03 11 - tu wien
Post on 26-Jan-2022
2 Views
Preview:
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 – 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
top related