exponenta event banner

Подготовка матричных данных для конструктора диагностических функций

В этом примере показано, как подготовить матричные данные для импорта в Diagnostic Feature Designer. Сначала выполняется преобразование одноэлементной матрицы и связанного с ней кода отказа в table. Затем можно объединить несколько таблиц в одну таблицу ансамбля, которую можно импортировать как ансамбль из нескольких элементов.

Diagnostic Feature Designer принимает данные об элементах, содержащиеся в отдельных цифровых матрицах. Однако таблицы элементов обеспечивают большую гибкость и простоту использования.

  • С помощью таблицы можно встроить измерения в качестве переменных сигнала, каждая из которых содержит как независимую переменную, так и одну или несколько переменных данных. С помощью матрицы можно указать только одну независимую переменную, которая применяется ко всем столбцам данных. Приложение может легче интерпретировать табличные данные.

  • С помощью таблицы можно указать информативные имена переменных. С помощью матрицы приложение использует номера столбцов для идентификации векторов данных.

  • С помощью таблицы можно включить скалярную информацию для каждого элемента, например переменные условия или элементы. С помощью матрицы нельзя комбинировать скалярную информацию с информацией о сигнале. Это ограничение означает, что вы не можете группировать данные по меткам в приложении и не можете оценить эффективность функций при разделении, скажем, healthy данные из unhealthy данные.

Таблицу ансамбля еще проще использовать, поскольку она объединяет все таблицы-члены в один набор данных. Чтобы импортировать таблицу ансамбля, необходимо импортировать только один элемент, а не выбрать несколько элементов.

Матрицы элементов нагрузки и коды отказов

Загрузите данные элемента и данные кода отказа. Данные об участниках dmatall состоит из четырех наборов измерений временной метки вибрации и тахометра, выполненных за интервал 30 секунд. Эти матрицы элементов складываются вместе в матрицу 3-D. Независимый вектор кода отказа fc указывает, является ли каждый член здоровым (0) или нездоровым (1) система.

Инициализировать tv_ensemble table, которая в конечном итоге включает в себя как помеченные временем данные, так и код отказа для каждого элемента.

load tvmatrixmembers dmatall fc

Преобразование матрицы в таблицу

Начните с преобразования матрицы одного элемента в таблицу, которая содержит расписания для сигналов измерения и код неисправности элемента. Извлечь первую матрицу элементов из dmatall.

memmat = dmatall(:,:,1);

Первые два столбца memmat содержат измеренный вибросигнал. Третий и четвертый содержат измеренный сигнал тахо. Каждый сигнал состоит из независимой переменной (время) и переменной данных (измерение вибрации или тахо). Извлечение этих сигналов в независимые матрицы vibmat и tachmat .

vibmat = memmat(:,[1 2]);
tachmat = memmat(:,[3 4]);

Преобразование каждого сигнала в timetable. Во-первых, разделите каждый сигнал на его компоненты времени и данных. Используйте функцию seconds преобразование временных меток в переменные длительности для расписания. Затем введите компоненты сигнала в array2timetable для преобразования сигналов в timetables vibtt и tachtt. Назначить имя переменной Data в столбец данных. Расписание автоматически присваивает имя Time к столбцу времени.

vibtime = seconds(vibmat(:,1));
vibdata = vibmat(:,2);
tachtime = seconds(tachmat(:,1));
tachdata = tachmat(:,2);
vibtt = array2timetable(vibdata,'RowTimes',vibtime,'VariableNames',{'Data'});
tachtt = array2timetable(tachdata,'RowTimes',tachtime,'VariableNames',{'Data'});

Извлечение кода неисправности faultcode из вектора кода отказа fc.

faultcode = fc(1);

Соберите таблицу элементов, которая содержит два расписания, скаляр кода ошибки и описательные имена переменных.

memtable = table({vibtt},{tachtt},faultcode,'VariableNames',{'Vibration','Tacho','FaultCode'});

Теперь имеется таблица-член, которую можно вставить в таблицу-ансамбль, содержащую несколько таблиц-членов. Инициализируйте таблицу ансамбля и вставьте первый элемент.

tv_ensemble_table = table();
tv_ensemble_table(1,:) = memtable
tv_ensemble_table=1×3 table
         Vibration                Tacho           FaultCode
    ___________________    ___________________    _________

    {30001x1 timetable}    {30001x1 timetable}        1    

Преобразование нескольких матриц-членов в таблицу ансамбля

Можно повторить одни и те же шаги обработки для всех матриц элементов, чтобы создать полную таблицу ансамбля. Можно также автоматизировать шаги обработки для каждой матрицы. Для этого сначала инициализируйте таблицу ансамбля. Затем выполните цикл через матрицы элементов, чтобы преобразовать элементы в таблицы и вставить их в таблицу ансамбля.

Инициализировать tv_ensemble_table.

tv_ensemble_table = table();

Циклический переход через последовательность преобразования и вставки

for idx = 1:size(dmatall,3)
    vibmat = dmatall(:,[1 2],idx);
    tachmat = dmatall(:,[3 4],idx);
vibtt = array2timetable(vibmat(:,2),'RowTimes',seconds(vibmat(:,1)),'VariableNames',{'Data'});
tachtt = array2timetable(tachmat(:,2),'RowTimes',seconds(tachmat(:,1)),'VariableNames',{'Data'});
tv_member = table({vibtt},{tachtt},fc(idx),'VariableNames',{'Vibration','Tacho','FaultCode'});
tv_ensemble_table(idx,:) = tv_member;
end

Создан единый ансамблевый стол. Каждая строка представляет один элемент, и каждый элемент состоит из двух графиков, представляющих сигналы вибрации и тахометра, и скалярного кода неисправности.

tv_ensemble_table
tv_ensemble_table=4×3 table
         Vibration                Tacho           FaultCode
    ___________________    ___________________    _________

    {30001x1 timetable}    {30001x1 timetable}        1    
    {30001x1 timetable}    {30001x1 timetable}        0    
    {30001x1 timetable}    {30001x1 timetable}        1    
    {30001x1 timetable}    {30001x1 timetable}        0    

Можно импортировать эту таблицу ансамбля в Diagnostic Feature Designer, щелкнув Создать сеанс (New Session) и выбрав команду DataTable на панели Выберите дополнительные переменные.

См. также

| | |

Связанные темы