Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial Internet of Things >> Internet of Things-technologie

MATLAB gebruiken om uw live IoT-gegevens te benutten

Als je ooit een data-analyse van een sensor of ander type databron hebt gedaan, heb je hoogstwaarschijnlijk een proces gevolgd waarbij je de data verzamelt, de data converteert en vervolgens MATLAB gebruikt om de data te verwerken en analyseren. Het gebruik van MATLAB om de gegevens te analyseren is een zeer bekend hulpmiddel om die taak te volbrengen. Het verzamelen en omzetten van de data, zodat deze bruikbaar zijn in MATLAB, kan enorm veel tijd kosten. Dankzij een integratie die door MathWorks is voltooid, is het nu mogelijk om MATLAB eenvoudig te koppelen aan live data die wordt gepubliceerd en waarop geabonneerd is op DDS. Met MATLAB als een van de beste tools die worden gebruikt om gegevens te analyseren en DDS snel de datacommunicatie-middleware van IIoT-applicaties wordt, zal deze integratie een aantal zeer snelle prototyping- en testanalyses voor ontwikkelaars mogelijk maken. In deze blogpost worden enkele voorbeelden besproken van hoe u DDS-gegevens kunt publiceren en hoe u zich kunt abonneren op DDS-gegevens met MATLAB.

Aan de slag

Om te beginnen, moet u ervoor zorgen dat zowel MATLAB als RTI Connext DDS op uw computer zijn geïnstalleerd. Voor deze reeks voorbeelden zijn de volgende versies gebruikt:

  • MathWorks MATLAB R2016b
  • MathWorks DDS-blokset 2.9.2
  • RTI Connext DDS 5.2.3 (videozelfstudie - installatie voor Linux en Windows)
  • RTI Shapes Demo Application (geïnstalleerd met Connext DDS; bekijk hier de tutorial)
  • Windows 10-pc

Zodra u deze hebt geïnstalleerd, volgt u gewoon de video op deze link om de installatie te voltooien en te verifiëren:Installatievideo

Initialisatie

Als je alles eenmaal hebt geïnstalleerd en geverifieerd, zijn er maar een paar stappen om de DDS-configuratie correct in MATLAB te krijgen.

  • Importeer de datatype(s) die in uw project zullen worden gebruikt.
  • Maak een DDS-domeindeelnemer
  • Maak een DDS DataWriter
  • Maak een DDS DataReader

Het importeren van een datatype in MATLAB is eenvoudig. In DDS worden datatypes gespecificeerd met behulp van IDL-bestanden. De MATLAB-importinstructie kan een IDL-bestand rechtstreeks lezen en zal de ".m"-bestanden maken die nodig zijn om met dat gegevenstype te werken binnen de MATLAB-interpreter. De volgende MATLAB-aanroep importeert een datatype met de naam "ShapeType" uit het bestand ShapeType.idl dat zich in de huidige werkmap bevindt:

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

Nu is dat datatype beschikbaar om te gebruiken bij het maken van uw DataReaders en DataWriters van onderwerpen in DDS. Houd er ook rekening mee dat als de import eenmaal is uitgevoerd, deze stap in de toekomst niet meer hoeft te worden uitgevoerd. Het type zal in de toekomst beschikbaar zijn in MATLAB. Het volgende dat u moet doen om DDS-detectie op gang te brengen, is door een DDS-domeindeelnemer aan te maken. Dat kan in deze oproep:

>> dp =DDS.DomainParticipant;

Met dit DomainParticipant-object (dp) kunt u vervolgens zowel DataWriter- als DataReader-objecten maken. De volgende twee commando's zullen een datawriter-object en een datareader-object aan de dp toevoegen en specificeren dat het type het nieuw gemaakte "ShapeType" is en dat hun onderwerpen respectievelijk "Triangle" en "Square" zijn.

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

Abonneren op Data in Shapes-demo

Het ShapeType wordt gebruikt zodat het communiceert met de standaard RTI Shapes Demonstration-toepassing (Shapes) die wordt geleverd door RTI. Met Shapes kunnen zowel DataWriters als DataReaders van "Vierkante", "Cirkel" en "Driehoek"-onderwerpen worden gemaakt die op hun beurt zijn gebaseerd op het gegevenstype "ShapeType". Voor meer informatie over het gebruik van de toepassing Shapes, klik hier om onze videozelfstudie te bekijken.

In Shapes is de volgende stap het aanmaken van een abonnee van Triangle. Laat in het volgende scherm alle andere QoS-opties als standaard.

Gegevens publiceren in MATLAB

Nu we de DataWriter-setup in MATLAB hebben om ShapeType over het Triangle-onderwerp te verzenden, en we ook de Shapes Demo-setup hebben om de publicatie te ontvangen, laten we de schrijver oefenen. De volgende opdrachten vullen de velden van het ShapeType en publiceren vervolgens de gegevens over het Triangle Topic:

%% maak een instantie van ShapeTypemyData =ShapeType;myData.x =int32(75);myData.y =int32(100);myData.shapesize =int32(50);myData.color ='GROEN';%% schrijf gegevens naar DDSdp.write(myData);

Het resultaat van het Driehoeksonderwerp in de Vormen-demo is een enkele Groene Driehoek die hier wordt weergegeven:

Enkele interessantere use-cases van het publiceren van Triangle binnen MATLAB zijn:

%% Publiceer groene driehoeken in een regel op 1 Hzfor i=1:10 myData.x =int32(20 + 10*i); mijnData.y =int32(40 + 10*i); dp.write(mijnData); pause(1);end%% Publiceer groene driehoeken in een cirkelpatroon bij 20Hzfor i=1:1000 hoek =10*pi * (i/200); mijnData.x =int32(100 + (50 * cos(hoek))); myData.y =int32(100 + (50 * sin(hoek))); mijnData.shapesize =int32(40); mijnData.color ='GROEN'; dp.write(mijnData); pauze(0.05);einde

De resulterende output op de Shapes Demo is respectievelijk:

Gegevens publiceren in Shapes-demo

Maak in de Shapes-demonstratie een uitgever van Square. Kies in het volgende scherm gewoon een kleur en laat alle andere QoS-opties als standaard. De volgende schermafbeelding toont het Square Publish-scherm. Voor mijn demonstratie heb ik een Oranje Vierkant gekozen. Hierdoor wordt elke 30 msec de X,Y-positie op het scherm gepubliceerd.

Abonneren op gegevens in MATLAB

Als je het je herinnert, hebben we een Square Topic DataReader toegevoegd aan de domeindeelnemer in MATLAB. We zullen deze DataReader gebruiken om ons te abonneren op gegevens die we nu publiceren vanuit de Shapes Demonstration. De volgende commando's in MATLAB lezen 10 samples op 1 Hz.

%% leesgegevens voor i=1:10 dp.read() pause(1);end

De resulterende output in MATLAB is 10 rapporten van het volgende:

Iets interessanters

Nu we beide kanten op gaan, gaan we iets creatiever doen met de gegevens. Eerst zullen we de Square-gegevens inlezen en deze wijzigen om de X- en Y-coördinaten om te wisselen en deze vervolgens opnieuw publiceren naar een RODE Driehoek. Ten tweede zullen we de resulterende positiegegevens nemen en deze direct in MATLAB plotten. Dit zijn de commando's die je in MATLAB moet gebruiken om dat te bereiken.

%% wijs een array van 100 elementen toexArray =nullen (1.100);%% voer een lus uit om gegevens te verzamelen en op te slaan in de array%% schakel ook de X- en Y-coördinaten om en publiceer vervolgens opnieuw op %% het Triangle-onderwerp voor i=1:100 [mijnData, status] =dp.read(); if ~isempty(myData) x =mijnData(1).x; y =mijnGegevens(1).y; xArray(i) =x; yArray(i) =y; mijnData(1).y =x; mijnData(1).x =y; mijnData(1).kleur ='ROOD'; dp.write(mijnData(1)); end pause(0.05)end%% Plot de X Positie Datat =1:100;plot(t,xArray);legend('xPos');xlabel('Time'), ylabel('Position');title('X Berichten');

De resulterende uitvoer in Shapes Demo zal een rode driehoek zijn die het tegenovergestelde van het oranje vierkant beweegt en er wordt ook een plot gegenereerd binnen MATLAB met de X-positiegegevens:

Zoals u kunt zien, is de integratie van DDS met MATLAB zeer eenvoudig te gebruiken en maakt het zeer eenvoudig om gegevens te verzamelen, gegevens te injecteren en gegevens te analyseren. Voor deze demonstratie hebben we de eenvoudige Shapes-applicatie gebruikt, maar de gebruikte gegevens kunnen net zo goed uw eigen applicatiegegevens zijn. Als u meer wilt weten over de MATLAB-integratie met RTI Connext DDS, bezoek dan deze site op de MathWorks-site:MATLAB DDS-integratie. Als je meer wilt weten over het gebruik van Connext DDS, klik dan hier om toegang te krijgen tot onze bronnen voor ontwikkelaars.


Internet of Things-technologie

  1. MQTT en DDS:communicatie van machine tot machine in IoT
  2. Connext DDS en het industriële IoT:de 5 belangrijkste dingen om te weten
  3. Lessen van de Hannover Messe:5 manieren om IT te benutten voor uw industriële activiteiten
  4. Datacompatibel blijven in het IoT
  5. Is uw systeem klaar voor IoT?
  6. Het IoT democratiseren
  7. De waarde van IoT-gegevens maximaliseren
  8. IoT-gegevens laten werken voor uw bedrijf
  9. IoT en uw begrip van data
  10. Top IoT-data-analyseplatforms
  11. MATLAB - Gegevenstypen