Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial Internet of Things >> Internet der Dinge-Technologie

Live IoT-Daten in MATLAB nutzen mit RTI Connext DDS Integration

Bei der Analyse von Sensordaten umfasst der typische Workflow das Sammeln von Rohdaten, die Konvertierung in ein nutzbares Format und dann die Nutzung von MATLABs leistungsstarken Analysefunktionen. Der Datkonvertierungsschritt kann jedoch zeitaufwendig sein. Mit MathWorks' neuer Integration kann MATLAB nun direkt Daten über DDS abonnieren und publizieren – dem de-facto Middleware-Standard für IIoT-Kommunikation. Dies ermöglicht Entwicklern, Echtzeit-Analysen mit minimalem Overhead zu prototypen und zu testen.

Erste Schritte

Stellen Sie vor Beginn sicher, dass MATLAB und RTI Connext DDS installiert sind. In den Beispielen wurden folgende Versionen verwendet:

Sehen Sie sich das Installationsvideo an, um zu prüfen, ob alle Komponenten korrekt konfiguriert sind: Installationsvideo.

Initialisierung

Nach der Installation initialisieren Sie DDS in MATLAB mit folgenden Schritten:

Der Import einer IDL-Datei generiert automatisch die entsprechenden .m-Dateien für MATLAB. Zum Import von ShapeType.idl:

> DDS.import('ShapeType.idl','matlab','f')

Nach dem Import ist der Datentyp für die nachfolgende DataReader/DataWriter-Erstellung verfügbar. Erstellen Sie einen Domain Participant:

> dp = DDS.DomainParticipant;

Fügen Sie Writer und Reader für den ShapeType-Datentyp auf den Topics Triangle und Square hinzu:

> dp.addWriter('ShapeType','Triangle')
> dp.addReader('ShapeType','Square')

Daten in Shapes Demo abonnieren

Die RTI Shapes Demo bietet vorkonfigurierte Topics für Square, Circle und Triangle, alle basierend auf ShapeType. Nutzen Sie die Demo, um einen Subscriber für das Triangle-Topic zu erstellen; lassen Sie QoS-Einstellungen auf Defaults.

Live IoT-Daten in MATLAB nutzen mit RTI Connext DDS Integration

Daten aus MATLAB publizieren

Mit dem konfigurierten DataWriter publizieren Sie ein grünes Dreieck:

%% ShapeType-Instanz erstellen
myData = ShapeType;
myData.x = int32(75);
myData.y = int32(100);
myData.shapesize = int32(50);
myData.color = 'GREEN';
%% Daten an DDS schreiben
dp.write(myData);

Die Shapes Demo zeigt ein einzelnes grünes Dreieck wie unten dargestellt:

Live IoT-Daten in MATLAB nutzen mit RTI Connext DDS Integration

Weitere Publikationsmuster:

%% Grüne Dreiecke in einer Linie bei 1 Hz
for i=1:10
  myData.x = int32(20 + 10*i);
  myData.y = int32(40 + 10*i);
  dp.write(myData);
  pause(1);
end
%% Grüne Dreiecke im Kreis bei 20 Hz
for i=1:1000
  angle = 10*pi * (i/200);
  myData.x = int32(100 + (50 * cos(angle)));
  myData.y = int32(100 + (50 * sin(angle)));
  myData.shapesize = int32(40);
  myData.color = 'GREEN';
  dp.write(myData);
  pause(0.05);
end

Die Demo visualisiert diese Muster wie gezeigt:

Live IoT-Daten in MATLAB nutzen mit RTI Connext DDS Integration Live IoT-Daten in MATLAB nutzen mit RTI Connext DDS Integration

Daten in Shapes Demo publizieren

In der Shapes Demo erstellen Sie einen Publisher für das Square-Topic. Wählen Sie eine Farbe (z. B. Orange) und behalten Sie QoS-Defaults bei. Die Demo sendet die X,Y-Position des Quadrats alle 30 ms.

Live IoT-Daten in MATLAB nutzen mit RTI Connext DDS Integration Live IoT-Daten in MATLAB nutzen mit RTI Connext DDS Integration

Daten in MATLAB abonnieren

Nutzen Sie den Square DataReader, um Daten von der Shapes Demo zu konsumieren. Lesen Sie zehn Samples im Sekundenabstand:

%% Daten lesen
for i=1:10
  dp.read()
  pause(1);
end

MATLAB gibt zehn Nachrichten ähnlich dem Screenshot unten aus:

Live IoT-Daten in MATLAB nutzen mit RTI Connext DDS Integration

Erweitertes Use Case: Transformieren und Visualisieren

Nach Etablierung bidirektionaler Kommunikation transformieren Sie die empfangenen Quadratdaten durch Vertauschen der X- und Y-Koordinaten, publizieren sie als rotes Dreieck neu und plotten die X-Positionen über die Zeit. Das folgende MATLAB-Skript demonstriert diesen Workflow:

%% Array für 100 Samples allokieren
xArray = zeros(1,100);
%% Sammeln, transformieren, republizieren
for i=1:100
  [myData, status] = dp.read();
  if ~isempty(myData)
    x = myData(1).x;
    y = myData(1).y;
    xArray(i) = x;
    yArray(i) = y;
    myData(1).y = x;
    myData(1).x = y;
    myData(1).color = 'RED';
    dp.write(myData(1));
  end
  pause(0.05);
end
%% X-Position plotten
t = 1:100;
plot(t,xArray);
legend('xPos');
xlabel('Zeit');
ylabel('Position');
title('X Positionen');

Die Shapes Demo zeigt nun ein rotes Dreieck, das das orangene Quadrat spiegelt, während MATLAB den X-Positions-Plot rendert:

Live IoT-Daten in MATLAB nutzen mit RTI Connext DDS Integration Live IoT-Daten in MATLAB nutzen mit RTI Connext DDS Integration

Die Integration von DDS mit MATLAB optimiert Dateneingabe, -injektion und -analyse. Während diese Demo die einfache Shapes-Anwendung nutzt, funktioniert der gleiche Ansatz für jede DDS-basierte IoT-Datenquelle. Für tiefere Einblicke in MATLABs DDS-Integration besuchen Sie die MATLAB DDS Integration Seite bei MathWorks. Um Connext DDS weiter zu erkunden, greifen Sie auf die Entwicklerressourcen hier zu.

Internet der Dinge-Technologie

  1. MQTT vs. DDS: Das richtige M2M-Protokoll für IoT wählen
  2. Lektionen von der Hannover Messe: 5 bewährte Strategien, IT für industrielle Operationen zu nutzen
  3. Datenschutz-Compliance im Internet der Dinge sicherstellen
  4. Ist Ihre Fertigungsstätte bereit für IoT? Ein praktischer Leitfaden
  5. Demokratisierung des Internet der Dinge: Next-Gen Satelliten-IoT bringt universelle, bezahlbare Konnektivität
  6. Den Wert von IoT-Daten erschließen: Sichere, insight-gesteuerte Strategien
  7. IoT-Daten in Business Value verwandeln: Ein praktischer Leitfaden
  8. IoT-Daten für Manufacturing Excellence nutzen
  9. Führende Cloud-basierte IoT-Analyseplattformen für 2026
  10. MATLAB Datentypen: Umfassender Leitfaden