Simulink DDS Block Set By Mark McBroom
What is DDS? “Data Distribution Service” OMG Standard IDL data interface definition Publish-subscribe anonymous communication Targeted for high-performance and real-time systems Deterministic Data Delivery Highly configurable Supported OS’s: Windows, Linux, VxWorks, Integrity Multiple vendors : Free and paid implementations RTI DDS PrismTech Opensplice Twin Oaks OCI OpenDDS
Simulink/DDS Integration Goal 1: Allow Simulink simulation to participate in a DDS-based system Simulink model MATLAB model ( future? ) Goal 2: Code generated from Simulink model complies with DDS API.
DDS Blockset Supports both Simulation and Code Generation DDS Topic Type Simulink Bus QoS via XML profiles Based on RTI implementation. Working with RTI. OpenSplice support is possible MATLAB support is possible Implemented as inlined C S-Functions
DDS Blockset Dynamic Data API avoids need to compile DDS S-Functions code when changing Topic Types Introduces performance penalty Block dialog for setting key params, selecting QoS Library and profile Limitations Listeners not supported Simulink Accelerated mode not supported Wait-set conditions ( except for timeout) hard coded. No topic filtering Nested arrays of Buses (structs). Working with RTI to resolve. Topic keys not supported Strings, sequences not supported