Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial Internet of Things >> Интернет вещей

Используйте MATLAB для использования ваших данных IoT в реальном времени

Если вы когда-либо выполняли анализ данных с датчика или другого типа источника данных, вы, скорее всего, следовали процессу, в котором вы собираете данные, вы конвертируете данные, а затем используете MATLAB для обработки и анализа данных. Использование MATLAB для анализа данных - очень известный инструмент для выполнения этой задачи. Сбор и преобразование данных, чтобы их можно было использовать в MATLAB, может занять огромное количество времени. Благодаря интеграции, выполненной MathWorks, теперь можно легко подключить MATLAB к оперативным данным, которые публикуются и на которые подписываются в DDS. Поскольку MATLAB является одним из лучших инструментов, используемых для анализа данных, а DDS быстро становится промежуточным программным обеспечением передачи данных приложений IIoT, эта интеграция позволит разработчикам очень быстро создавать прототипы и анализировать тесты. В этом сообщении блога будет рассмотрено несколько примеров того, как публиковать данные DDS, а также как подписаться на данные DDS с помощью MATLAB.

Начало работы

Для начала вам необходимо убедиться, что на вашем компьютере установлены и MATLAB, и RTI Connext DDS. Для этого набора примеров были использованы следующие версии:

После того, как вы их установили, просто просмотрите видео по этой ссылке, чтобы завершить и проверить установку:Видео по установке

Инициализация

После того, как вы все установили и проверили, остается всего несколько шагов, чтобы правильно настроить DDS в MATLAB.

Импортировать тип данных в MATLAB просто. В DDS типы данных указываются с помощью файлов IDL. Оператор импорта MATLAB может читать файл IDL напрямую и создает файлы ".m", необходимые для работы с этим типом данных в интерпретаторе MATLAB. Следующий вызов MATLAB импортирует тип данных под названием «ShapeType» из файла ShapeType.idl, расположенного в текущем рабочем каталоге:

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

Теперь этот тип данных доступен для использования при создании DataReaders и DataWriters тем в DDS. Также обратите внимание, что после завершения импорта этот шаг больше не нужно выполнять в будущем. Тип будет доступен в MATLAB в будущем. Следующее, что нужно сделать, чтобы начать обнаружение DDS, - это создать участника домена DDS. Это можно сделать с помощью этого звонка:

>> dp =DDS.DomainParticipant; 

Используя этот объект DomainParticipant (dp), вы можете затем создать объекты DataWriter и DataReader. Следующие две команды добавят объект Datawriter и datareader в dp, указав его тип как вновь созданный «ShapeType», а их темы - «Triangle» и «Square» соответственно.

>> dp.addWriter ('Тип формы', 'Треугольник')>> dp.addReader ('Тип формы', 'Квадрат') 

Подписка на демонстрацию данных в фигурах

ShapeType используется для связи со стандартным приложением RTI Shapes Demonstration (Shapes), предоставляемым RTI. Фигуры позволяют создавать как DataWriters, так и DataReader тем «Square», «Circle» и «Triangle», которые, в свою очередь, основаны на типе данных «ShapeType». Для получения дополнительной информации о том, как использовать приложение Shapes, щелкните здесь, чтобы просмотреть наш видеоурок.

Следующим шагом в Shapes является создание подписчика Triangle. На следующем экране просто оставьте все остальные параметры QoS по умолчанию.

Публикация данных в MATLAB

Теперь, когда у нас есть настройка DataWriter в MATLAB для отправки ShapeType по теме «Треугольник», а также у нас есть настройка Shapes Demo для получения публикации, давайте поупражняем автора. Следующие команды заполнят поля ShapeType, а затем опубликуют данные в теме треугольника:

 %% создать экземпляр ShapeTypemyData =ShapeType; myData.x =int32 (75); myData.y =int32 (100); myData.shapesize =int32 (50); myData.color ='GREEN'; %% записывать данные в DDSdp.write (myData); 

Результатом в теме «Треугольник» в демонстрации фигур будет один зеленый треугольник, показанный здесь:

Еще несколько интересных вариантов использования публикации Triangle в MATLAB:

 %% Публикация зеленых треугольников в строке с частотой 1 Гц для i =1:10 myData.x =int32 (20 + 10 * i); myData.y =int32 (40 + 10 * я); dp.write (myData); pause (1); end %% Публикация зеленых треугольников в круге с частотой 20 Гц для i =1:1000 angle =10 * pi * (i / 200); myData.x =int32 (100 + (50 * cos (угол))); myData.y =int32 (100 + (50 * грех (угол))); myData.shapesize =int32 (40); myData.color ='ЗЕЛЕНЫЙ'; dp.write (myData); пауза (0,05); конец 

Результатом демонстрации форм являются соответственно:

Демонстрация публикации данных в фигурах

В демонстрации Shapes создайте издателя Square. На следующем экране просто выберите цвет и оставьте все остальные параметры QoS по умолчанию. На следующем снимке экрана показан экран Square Publish. Для демонстрации я выбрал Оранжевый квадрат. Положение X, Y будет публиковаться на экране каждые 30 мсек.

Подписка на данные в MATLAB

Если вы помните, как раньше мы добавили DataReader с квадратной темой к участнику домена в MATLAB. Мы будем использовать этот DataReader для подписки на данные, которые мы сейчас публикуем из демонстрации форм. Следующие команды в MATLAB будут читать 10 выборок с частотой 1 Гц.

 %% читать данные для i =1:10 dp.read () pause (1); end 

В результате в MATLAB будет 10 отчетов следующего содержания:

Что-нибудь поинтереснее

Теперь, когда у нас есть оба направления, давайте сделаем что-нибудь более творческое с данными. Сначала мы прочитаем данные Square и изменим их, чтобы переключить координаты X и Y, а затем повторно опубликуем их в КРАСНОМ Треугольнике. Во-вторых, мы возьмем полученные данные Position и построим их прямо в MATLAB. Это команды, которые нужно использовать в MATLAB для достижения этой цели.

 %% выделить массив из 100 элементов xArray =zeros (1,100); %% запустить цикл для сбора данных и сохранения их в массиве %% также переключить координаты X и Y и затем повторно опубликовать на %% тему «Треугольник» для я =1:100 [моиДанные, статус] =dp.read (); если ~ isempty (myData) x =myData (1) .x; y =myData (1) .y; xArray (я) =х; yArray (i) =y; myData (1) .y =x; myData (1) .x =y; myData (1) .color ='КРАСНЫЙ'; dp.write (myData (1)); end pause (0.05) end %% Постройте данные позиции Xatat =1:100; plot (t, xArray); legend ('xPos'); xlabel ('Time'), ylabel ('Position'); title ('X Позиции '); 

Результирующий вывод в Shapes Demo будет красным треугольником, движущимся в противоположность оранжевому квадрату, а также в MATLAB будет сгенерирован график, показывающий данные X Position:

Как видите, интеграция DDS с MATLAB очень проста в использовании и позволяет очень легко собирать данные, вводить данные и анализировать данные. Для этой демонстрации мы использовали простое приложение Shapes, но используемые данные также могут быть данными вашего собственного приложения. Если вы хотите узнать больше об интеграции MATLAB с RTI Connext DDS, посетите этот сайт на сайте MathWorks:MATLAB DDS Integration. Если вы хотите узнать больше об использовании Connext DDS, нажмите здесь, чтобы получить доступ к нашим ресурсам для разработчиков.


Интернет вещей

  1. MQTT и DDS:межмашинное взаимодействие в IoT
  2. Уроки Hannover Messe:5 способов использовать ИТ для производственных операций
  3. Сохранение совместимости данных в IoT
  4. Готова ли ваша система к IoT?
  5. Демократизация Интернета вещей
  6. Максимизация ценности данных IoT
  7. Как заставить данные IoT работать на ваш бизнес
  8. Интернет вещей и ваше понимание данных
  9. Лучшие платформы анализа данных Интернета вещей
  10. MATLAB — типы данных