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

Nutzen Sie MATLAB zur Nutzung Ihrer Live-IoT-Daten

Wenn Sie jemals eine Datenanalyse von einem Sensor oder einer anderen Art von Datenquelle durchgeführt haben, haben Sie höchstwahrscheinlich einen Prozess verfolgt, bei dem Sie die Daten sammeln, die Daten konvertieren und dann MATLAB verwenden, um die Daten zu verarbeiten und zu analysieren. Die Verwendung von MATLAB zum Analysieren der Daten ist ein sehr bekanntes Werkzeug, um diese Aufgabe zu erfüllen. Das Sammeln und Konvertieren der Daten, damit sie in MATLAB nutzbar sind, kann enorm viel Zeit in Anspruch nehmen. Dank einer von MathWorks abgeschlossenen Integration ist es jetzt möglich, MATLAB einfach mit Live-Daten zu verbinden, die auf DDS veröffentlicht und abonniert werden. Da MATLAB eines der Top-Tools zur Datenanalyse ist und DDS schnell zur Datenkommunikations-Middleware von IIoT-Anwendungen wird, wird diese Integration Entwicklern eine sehr schnelle Prototypenerstellung und Testanalyse ermöglichen. In diesem Blogbeitrag werden einige Beispiele zum Veröffentlichen von DDS-Daten und zum Abonnieren von DDS-Daten mit MATLAB erläutert.

Erste Schritte

Um zu beginnen, müssen Sie sicherstellen, dass sowohl MATLAB als auch RTI Connext DDS auf Ihrem Computer installiert sind. Für diesen Satz von Beispielen wurden die folgenden Versionen verwendet:

Sobald Sie diese installiert haben, folgen Sie einfach dem Video unter diesem Link, um die Installation abzuschließen und zu überprüfen:Installationsvideo

Initialisierung

Sobald Sie alles installiert und verifiziert haben, sind es nur noch wenige Schritte, um das DDS-Setup in MATLAB entsprechend einzurichten.

Das Importieren eines Datentyps in MATLAB ist einfach. In DDS werden Datentypen mithilfe von IDL-Dateien angegeben. Die MATLAB-Importanweisung kann eine IDL-Datei direkt lesen und erstellt die ".m"-Dateien, die für die Arbeit mit diesem Datentyp im MATLAB-Interpreter erforderlich sind. Der folgende MATLAB-Aufruf importiert einen Datentyp namens "ShapeType" aus der Datei ShapeType.idl, die sich im aktuellen Arbeitsverzeichnis befindet:

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

Jetzt steht dieser Datentyp zur Verfügung, wenn Sie Ihre DataReader und DataWriter von Themen in DDS erstellen. Beachten Sie auch, dass dieser Schritt nach dem Import in Zukunft nicht mehr ausgeführt werden muss. Der Typ wird in Zukunft in MATLAB verfügbar sein. Als nächstes müssen Sie einen DDS-Domänenteilnehmer erstellen, um die DDS-Erkennung in Gang zu bringen. Das kann in diesem Aufruf erreicht werden:

>> dp =DDS.DomainParticipant;

Mit diesem DomainParticipant (dp)-Objekt können Sie dann sowohl DataWriter- als auch DataReader-Objekte erstellen. Die folgenden beiden Befehle fügen dem dp ein Datawriter-Objekt und ein Datareader-Objekt hinzu, indem sie den Typ als neu erstellten "ShapeType" und ihre Themen als "Triangle" bzw. "Square" angeben.

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

Daten in Shapes-Demo abonnieren

Der ShapeType wird verwendet, damit er mit der von RTI bereitgestellten Standard-RTI-Shapes-Demonstrationsanwendung (Shapes) kommuniziert. Shapes ermöglicht die Erstellung von sowohl DataWritern als auch DataReadern der Themen "Square", "Circle" und "Triangle", die wiederum auf dem Datentyp "ShapeType" basieren. Für weitere Informationen zur Verwendung der Shapes-Anwendung klicken Sie hier, um unser Video-Tutorial anzuzeigen.

In Shapes besteht der nächste Schritt darin, einen Abonnenten von Triangle zu erstellen. Lassen Sie im nächsten Bildschirm einfach alle anderen QoS-Optionen als Standard.

Daten in MATLAB veröffentlichen

Da wir nun das DataWriter-Setup in MATLAB haben, um ShapeType zum Thema Triangle zu senden, und auch das Shapes-Demo-Setup zum Empfangen der Veröffentlichung haben, können wir den Writer üben. Die folgenden Befehle füllen die Felder des ShapeType und veröffentlichen dann die Daten im Triangle Topic:

%% Erstellen einer Instanz von ShapeTypemyData =ShapeType;myData.x =int32(75);myData.y =int32(100);myData.shapesize =int32(50);myData.color ='GREEN';%% schreibe Daten in DDSdp.write(myData);

Das Ergebnis zum Thema Dreieck in der Shapes-Demo wird ein einzelnes grünes Dreieck sein, das hier angezeigt wird:

Einige weitere interessante Anwendungsfälle für die Veröffentlichung von Triangle in MATLAB sind:

%% Grüne Dreiecke in einer Zeile mit 1 Hz veröffentlichen für i=1:10 myData.x =int32(20 + 10*i); myData.y =int32(40 + 10*i); dp.write(meineDaten); pause(1);end%% Veröffentlichen Sie grüne Dreiecke in einem Kreismuster bei 20 Hz für i=1:1000 Winkel =10*pi * (i/200); myData.x =int32(100 + (50 * cos(Winkel))); myData.y =int32(100 + (50 * sin(Winkel))); myData.shapesize =int32(40); myData.color ='GRÜN'; dp.write(meineDaten); Pause(0.05);Ende

Die resultierende Ausgabe der Shapes-Demo ist jeweils:

Veröffentlichen von Daten in Shapes-Demo

Erstellen Sie in der Shapes-Demonstration einen Herausgeber von Square. Wählen Sie im nächsten Bildschirm einfach eine Farbe aus und lassen Sie alle anderen QoS-Optionen als Standard. Der folgende Screenshot zeigt den Square Publish-Bildschirm. Für meine Demonstration habe ich ein Oranges Quadrat gewählt. Dadurch wird die X,Y-Position alle 30 ms auf dem Bildschirm veröffentlicht.

Daten in MATLAB abonnieren

Wenn Sie sich erinnern, haben wir dem Domänenteilnehmer in MATLAB einen Square Topic DataReader hinzugefügt. Wir werden diesen DataReader verwenden, um Daten zu abonnieren, die wir jetzt aus der Shapes-Demonstration veröffentlichen. Die folgenden Befehle in MATLAB lesen 10 Samples bei 1 Hz.

%% gelesene Daten für i=1:10 dp.read() pause(1);end

Die resultierende Ausgabe in MATLAB besteht aus 10 Berichten mit den folgenden:

Etwas Interessanteres

Da wir nun in beide Richtungen gehen, können wir mit den Daten etwas kreativer machen. Zuerst lesen wir die Quadratdaten ein und ändern sie, um die X- und Y-Koordinaten zu wechseln, und veröffentlichen sie dann erneut in einem ROTEN Dreieck. Zweitens nehmen wir die resultierenden Positionsdaten und zeichnen sie direkt in MATLAB. Dies sind die Befehle, die Sie in MATLAB verwenden müssen, um dies zu erreichen.

%% ordne ein Array von 100 Elementen zu xArray =zeros(1,100);%% führe eine Schleife aus, um Daten zu sammeln und sie im Array zu speichern%% tausche auch die X- und Y-Koordinaten um und publiziere dann auf %% das Dreieck-Themafor i=1:100 [myData, status] =dp.read(); if ~isempty(myData) x =myData(1).x; y =meineDaten(1).y; xArray(i) =x; yArray(i) =y; meineDaten(1).y =x; meineDaten(1).x =y; myData(1).color ='ROT'; dp.write(meineDaten(1)); end pause(0.05)end%% Plotten der X-Position Datat =1:100;plot(t,xArray);legend('xPos');xlabel('Time'), ylabel('Position');title('X Positionen');

Die resultierende Ausgabe in Shapes Demo ist ein rotes Dreieck, das das Gegenteil des orangefarbenen Quadrats bewegt, und es wird auch ein Plot in MATLAB generiert, der die X-Positionsdaten zeigt:

Wie Sie sehen, ist die Integration von DDS mit MATLAB sehr einfach zu bedienen und macht es sehr einfach, Daten zu sammeln, Daten einzufügen und Daten zu analysieren. Für diese Demonstration haben wir die einfache Shapes-Anwendung verwendet, aber die verwendeten Daten können genauso gut Ihre eigenen Anwendungsdaten sein. Wenn Sie mehr über die MATLAB-Integration mit RTI Connext DDS erfahren möchten, besuchen Sie bitte diese Site auf der MathWorks-Site:MATLAB DDS Integration. Wenn Sie mehr über die Verwendung von Connext DDS erfahren möchten, klicken Sie hier, um Zugang zu unseren Entwicklerressourcen zu erhalten.


Internet der Dinge-Technologie

  1. MQTT und DDS:Machine-to-Machine-Kommunikation im IoT
  2. Lektionen von der Hannover Messe:5 Wege zur Nutzung der IT für Ihren Industriebetrieb
  3. Datenkonform im IoT bleiben
  4. Ist Ihr System bereit für IoT?
  5. Demokratisierung des IoT
  6. Maximierung des Wertes von IoT-Daten
  7. IoT-Daten für Ihr Unternehmen nutzbar machen
  8. IoT und Ihr Verständnis von Daten
  9. Top IoT Data Analytics Platforms
  10. MATLAB - Datentypen