Jste zde

Průmyslová prediktivní údržba – vývoj snadno a rychle

Dostupnost inteligentních snímačů a jejich poměrně nízká cena zvýšila monitoring průmyslových zařízení a tím lze úspěšně provádět prediktivní údržbu. Shromažďování dat a jejich strukturování, komunikace se senzory, použití speciálních analýz pro prediktivní údržbu není jednoduchá záležitost, jelikož je potřeba speciální hardware a výkonný aplikační software.

Aby bylo možné uspokojit rychle rostoucí zájem o prediktivní údržbu, dodavatelé polovodičů nabízejí komplexní platformu, která kombinuje potřebný hardware a software. Tento článek pojednává o moderním pojetí prediktivní údržby s využitím internetu věcí (IoT) a o tom, jak může výrazně zlepšit výrobní procesy. Představíme si platformu pro prediktivní údržbu od společnosti STMicroelectronics. Ukážeme si, jak tento hardware a software použít pro prediktivní údržbu a vytvářet pro ni své vlastní aplikace.

Vývoj prediktivní údržby - od odhadů až po předpověď

Průmysloví inženýři již řadu let používají vibrační analýzu a další metody pro detekci problémů ve strojním zařízení. V minulosti se inženýři spoléhali na ruční analyzátory nebo jiné vyhrazené zkušební zařízení pro shromažďování a zpracování dat pro analýzu zařízení.  Díky IoT mohou výrobci nyní implementovat do důležitých zařízení snímače, které jsou schopné poskytovat podrobná data o stavu zařízení v reálném čase.

Schopnost průběžně posuzovat výkonnost zařízení představuje důležitou výhodu pro tovární provoz. Nyní lze používat lokální nebo vzdálené monitorovací aplikace, které rozšiřují nebo dokonce nahrazují naplánované manuální kontroly zařízení. Manuální kontrola se často provádí v době, kdy se v zařízení ještě nenachází nějaký problém nebo přichází příliš pozdě, aby zabránila poškození zařízení. Provozovatelé továrny mohou použít senzory k identifikaci problémů v předstihu. Mohou si tak připravit potřebné materiály nebo naplánovat potřebný servis či opravu v době, která minimalizuje odstávky výrobní linky.

Prediktivní údržba pomáhá správcům zařízení zachytit problémy předtím, než nastane katastrofická porucha. Mimo tento hlavní úkol nám umožní udržet integritu výrobní linky a zvyšuje bezpečnost pracovníků. Současně analýza získaných dat pomáhá zlepšit výrobní procesy. Výzvou pro vývojáře je vytvoření platformy, která je schopna shromažďovat data v potřebném rozlišení z široké škály senzorů.

Odhalení mechanického problému v zařízení lze udělat pomocí analýzy dat ze senzorů vibrací v časové i frekvenční oblasti.  Například periodické krátkodobé impulzy se širokou šířkou pásma  naznačují, že kuličkové ložisko, narazí na stěnu své dráhy při každé otáčce, což je vadné chování. Naopak události s dlouhou dobou trvání a s úzkou šířkou pásma mohou naznačovat, že součásti se navzájem otírají, což nakonec vede k opotřebení, tepelnému zatížení a možnému selhání celého stroje.

Aby bylo možné tyto údaje spolehlivě zachytit, musí být senzory vibrací dostatečně robustní, aby sledovaly dané zařízení i přes náhlé otřesy, intenzivní vibrace nebo jiné nečekané události, které se běžně vyskytují v průmyslovém prostředí. I při běžném provozu mohou průmyslová zařízení vytvářet vibrace a mechanické rázy, které mohou překročit schopnosti starších snímačů. Senzory založené na technologii MEMS z velké části vylučují tyto obavy. Snímač MEMS ISM330DLC od STMicroelectronics mohou přežít špičky zrychlení až na 10 000 g po dobu 0,2 ms a dokáže se z takového rázu rychle zotavit, aby byl schopen provést měření lineární akcelerace s citlivostí jeden miligram.

Údaje z pohybových čidel jsou nezbytné pro analýzu poruch a vibrace jsou pouze jedním ukazatelem zdraví stroje. Čas, který uběhne od prvního příznaku poruchy až do doby kdy porucha nastane se nazývá tzv. potential-to-failure (P-F) interval.  Zvýšená spotřeba energie, zvýšený hluk nebo teplota zařízení typicky naznačuje krátký P-F interval pro většinu strojů (obr. 1).

Obrázek 1: Data z různých senzorů mohou odhalit problémy, které naznačují, že stroj může selhat. Analýza vibrací obvykle umožňuje včasnou detekci a pomáhá eliminovat prostoje v důsledku náhlého selhání. (Zdroj obrázku: STMicroelectronics)

Pro přesnější diagnostiku je nutné monitorovat nejen vibrace, ale i ostatní fyzikální veličiny jako je zvuk, tlak, teplotu a vlhkost. Vývojová sada STMicroelectronics STEVAL-BFA001V1B a související software poskytují komplexní platformu, která umožňuje rychlý start pro monitorování zařízení a prediktivní údržbu.

Referenční platforma

Sada STEVAL-BFA001V1B slouží jako referenční návrh a současně i rychlé řešení, které obsahuje průmyslovou desku snímačů a související software pro prediktivní údržbu. Deska je kompletní senzorový systém (obr. 2). Kombinuje vysoce výkonný 32-bitový procesor ARM Cortex STM32F469 od firmy STMicroelectronics s kompletní sadou snímačů jako jsou:

 

Obrázek 2: Vývojová sada STMicroelectronics STEVAL-BFA001V1B obsahuje kompletní sadu senzorů, které jsou obvykle nutné pro monitorování zařízení. (Zdroj obrázku: STMicroelectronics)

Procesor má integrovanou 2 MB Flash paměť, která je doplněna pamětí EEPROM M95M01-DF. Sada obsahuje správu napájení pomocí spínacího regulátoru L6984A a low-drop regulátoru (LDO) LDK220. Pro zjednodušení nasazení v průmyslových prostředích obsahuje deska konektor M12 na jednom konci, kde jsou vyvedeny signály z transceiveru L6362A komunikující protokolem IO-Link.  Na druhém konci desky je rozšiřující konektor, který poskytuje přístup ke GPIO mikrokontroléru, analogově-digitálnímu (ADC) převodníku a sériovému rozhraní I2C. Výsledkem je robustní systém, který je jen nepatrně větší než průmyslový kabel M12, a který je schopen splnit celou řadu požadavků na monitoring zařízení (obrázek 3).

Obr. 3: Průmyslová deska STMicroelectronics STEVAL-BFA001V1B obsahuje výkonný mikrokontrolér, mnoho senzorů, rozšiřující konektor, konektor pro ladění (SWD) a konektor M12. (Zdroj obrázku: STMicroelectronics)

Lze použít kabel M12, který je součástí sady, nebo použít jiný z řady M12. Sada obsahuje adaptérovou desku pro připojení sériového výstupu ze senzorové desky k rozhraní ST-LINK / V2-1, které je dodáváno s vývojovou deskou STM32 Nucleo-64. Desku lze napájet přímo přes kabel M12, který je připojen do vývojové desky STEVAL-IDP004V1 IO-Link. Použitím této desky zrychlíte vývoj, protože jste schopni ihned připojit a komunikovat s různými průmyslovými senzorovými moduly a konfigurovat je pomocí grafického uživatelského rozhraní (GUI) STEVAL-IDP005V1-GUI_v1.0  od STMicroelectronics (obrázek 4).

Obr. 4: Pomocí grafického uživatelského rozhraní lze rychle konfigurovat senzorové moduly, provádět sběr dat ze senzoru vibrací a zobrazovat výsledky v kmitočtové a časové oblasti, stejně jako údaje o teplotě, vlhkosti, tlaku a jiných fyzikálních veličin. (Zdroj obrázku: STMicroelectronics)

Po dokončení nastavení na obrazovce konfigurace se přesuneme na obrazovku „Analýza vibrací“ pro sběr dat. Po kliknutí na tlačítko Start lze sledovat kmitočty vibrací a rotační rychlosti v osách x, y a z (obrázek 5). Samostatná obrazovka pro enviromentální měření okolního prostředí (ENV Measures tab) zobrazuje údaje o tlaku, teplotě a vlhkosti z každé senzorové desky.

Obrázek 5: Grafické uživatelské rozhraní ST Windows GUI nabízí jednoduchý přístup k naměřeným datům ze snímačů s zobrazením v kmitočtové a časové oblasti. (Zdroj obrázku: STMicroelectronics)

Vývoj softwaru

I když aplikace GUI poskytuje rychlý přístup ke všem funkcím senzorových modulů, vývojáři potřebují flexibilní přístup k vytváření vlastních aplikací pro prediktivní údržbu. Pro vlastní vývoj je vhodné použít softwarový balíček  STSW-BFA001V1 , kde nalezneme kompletní soubor softwarových modulů v jazyce C včetně ovladačů, knihoven a vzorových aplikací (obrázek 6).

Obrázek 6: Software ST STW-BFA001V1 poskytuje kompletní sadu ovladačů a middleware s ukázkovými aplikacemi, které lze okamžitě spustit a později použít jako základ pro své vlastní aplikace. (Zdroj obrázku: STMicroelectronics)

V softwarovém balíku STSW-BFA001V1 je aplikace, která demonstruje proces sběru dat ze snímačů a jeho vyhodnocení. Součástí jsou také před-generované data  v kmitočtové oblasti, hodnoty RMS a špičkové hodnoty zrychlení ze snímačů pohybu, která vývojáři mohou nahrát do hostitelské aplikace určené k odhalení poruch. Aplikace pro prediktivní údržbu rozšiřuje tento základ pro sběr dat o funkce, které jsou určeny ke generování varování před možnými poruchami.

Ze získaných dat můžeme získat mnoho výhod, ale nejpřesvědčivější je schopnost prodloužit P-F intervaly. Čili včasné zjištění stavů, které signalizují potenciální selhání. Čím dříve tím lépe. Aplikace pro prediktivní údržbu od STMicroelectronics nám s tím pomůže. Ve výrobním systému je výběr fyzikálních veličin, která jsou potřeba k analýze daleko více a přesahují rozsah tohoto článku.

Je důležité si uvědomit, že existují standardy, které lze použít jako referenci. Například ISO 10816 poskytuje limity pro hodnoty vibrací pro čtyři třídy strojů pracujících ve čtyřech různých provozních zónách, zóna A (dobré), zóna B (vyhovující), zóna C (nevhodné pro nepřetržitý provoz) a zóna D (kritické s možným poškozením při pokračujícím provozu). Jak naznačují tyto zóny, obsluha by měla být upozorněna, když úrovně vibrací stroje dosáhnou zóny C a měl by být vyhlášen kritický alarm, pokud naměřené hodnoty vibrací dosáhnou úrovně D.

Společnost STMicroelectronics navrhla svou aplikaci pro prediktivní údržbu, aby podpořila tento konkrétní model. Header soubor „MotionSP_Threshold.h“  obsahuje mez pro úroveň varování i alarm. V tomto případě STMicroelectronics definovala varovné meze, které jsou doporučeny v ISO 10816 pro provoz mezi hranicemi zóny B a C. Meze alarmu jsou v ISO 10816 mezi hranicemi zón C a D. Snímač pohybu ISM330DLC poskytuje data v rovinách x, y a z. Každá rovina má definované tři meze pro varování a tři meze pro alarmy pro každou sledovanou hodnotu - rychlost RMS, špičky zrychlení a rychlá Fourierova transformace (FFT). Aplikace používá meze pro FFT ve čtyřech různých spektrálních sub-pásmech.

Výsledkem je sada mezí odpovídajících širokému spektru reálných provozních stavů stroje. Vývojáři ovšem potřebují upravit tyto meze tak, aby odpovídaly konkrétnímu sledovanému zařízení.

Zatímco header soubor obsahuje meze, hlavní rutina (main.c) poskytuje logiku pro detekci překročení mezí v získaných datech. Po inicializaci hardwaru a souvisejících struktur softwaru vstupuje hlavní rutina do nekonečné smyčky pro generování FFT pro vibrační data, měření RMS a špičky zrychlení. Na základě analýzy dochází ke generování varování a alarmů(výpis 1).

  /* Initialize the motion sensor */

  MotionSensorInit();
  MotionSP_TimeDomainAlarmInit(&sTdAlarm,&sTimeDomainVal,&sTdRmsThresholds,&sTdPkThresholds);
  MotionSP_FreqDomainAlarmInit(&FDWarnThresh,&FDAlarmThresh,&THR_Fft_Alarms,MotionSP_Parameters.subrange_num);
  /****************************************************************************/
  while (1)
  {
    /* Vibration Analysis */
    MotionSP_Vibration_manager_run(&MotionSP_Parameters);
    /* Status check during Time domain Analysis */
    MotionSP_TimeDomainAlarm(&sTdAlarm,&sTimeDomainVal,
                             &sTdRmsThresholds,
                             &sTdPkThresholds,
                             &sTimeDomain);
    if(FinishAvgFlag == 1)
    {
      SendVibrationResult();
      TD_Thresholds_DataSend(&sTdAlarm,&sTimeDomainVal);
  
      MotionSP_FreqDomainAlarm (&SRAmplitude, FDWarnThresh, FDAlarmThresh,
                                MotionSP_Parameters.subrange_num,
                                &THR_Check,
                                &THR_Fft_Alarms);
      FD_Thresholds_DataSend(MotionSP_Parameters.subrange_num,
                             &SRBinVal,
                             &THR_Fft_Alarms,
                             &THR_Check);
      MotionSP_TotalStatusAlarm(&sTdAlarm,
                                &THR_Fft_Alarms,
                                MotionSP_Parameters.subrange_num,
                                &TotalTDAlarm,
                                &TotalFDAlarm); 
      Thresholds_DataSend(&TotalTDAlarm, &TotalFDAlarm);   
      FinishAvgFlag = 0;
      RestartFlag = 1;
 
      // wait while the UART is transmitting
      while((HAL_UART_GetState(&hSrvUart) & HAL_UART_STATE_BUSY_TX ) == HAL_UART_STATE_BUSY_TX);
      strcpy((char *)SrvUartTxBuffer, "\r\n|#################### Next Measurement ####################\r\n");
      HAL_UART_Transmit(&hSrvUart, SrvUartTxBuffer, strlen((char *)SrvUartTxBuffer), SRV_UART_TIMEOUT_MAX);  
      MotionSP_TimeDomainAlarmInit(&sTdAlarm,&sTimeDomainVal,
                                   &sTdRmsThresholds,&sTdPkThresholds);
      MotionSP_FreqDomainAlarmInit(&FDWarnThresh,
                                   &FDAlarmThresh,
                                   &THR_Fft_Alarms,
                                   MotionSP_Parameters.subrange_num);
      /* Configure the Hardware using parameters in RAM */
      MotionSP_Vibration_manager_init(&MotionSP_Parameters, 1);
      Accelero_MeasurementInit();
    }
  }

Výpis 1: Aplikace pro prediktivní údržbu STMicroelectronics demonstruje použití nekonečné smyčky pro identifikaci a vysílání alarmů na základě naměřených dat a jejich analýzu ve frekvenční a časové oblasti. (Zdroj kódu: STMicroelectronics)

Ovladače senzorů spolu se servisními rutinami sbírají data do vyrovnávací paměti, kde jsou přístupná pro vyšší vrstvy ke zpracování. Vzorový software poskytuje obslužné rutiny na aplikační úrovni, což je umožňuje snadno nahradit vlastními rutinami tak, aby splňovaly naše specifické požadavky, aniž bychom museli hluboko proniknout do softwarové architektury.

Při každé iteraci hlavní smyčky se volá hlavní rutina „MotionSP_TimeDomainAlarm ()“, která provádí kontrolu překročení prahových hodnot rychlosti RMS a špiček zrychlení. Pro kontrolu v kmitočtové oblasti hlavní smyčka opakovaně volá „MotionSP_Vibration_manager_run ()“, která nepřímo volá rutinu „MotionSP_FrequencyDomainProcess ()“ jiného modulu , která nakonec vyvolá rutinu výpočtu FFT pro middleware a to jen když je kruhová vyrovnávací paměť (AccCircBuffer) dostatečně plná a FFT je povolena (Výpis 2).

/**
  * @brief  Frequency Domain Processing starting from the Circular Buffer
  * @param pMotionSP_Parameters: Pointer to board parameters
  * @return None
  */ 
void MotionSP_FrequencyDomainProcess(sMotionSP_Parameter_t *pMotionSP_Parameters)
{
#define FFTSIZEDELTA  (MotionSP_Parameters.size*((100.0-MotionSP_Parameters.ovl)/100.0))
 
  if (fftIsEnabled == 1) {
      if (!accCircBuffIndexWaitForOvf) {
        if (AccCircBuffer.IdPos >= accCircBuffIndexForFft) {      
        MotionSP_FFT_All_Axes();      
        accCircBuffIndexForFft += FFTSIZEDELTA;
        if (accCircBuffIndexForFft >= AccCircBuffer.Size) {
          accCircBuffIndexForFft -= AccCircBuffer.Size;
          accCircBuffIndexWaitForOvf = 1;
        }
      }
    }
    else {
      if (AccCircBuffer.Ovf) {
        AccCircBuffer.Ovf = 0;
        accCircBuffIndexWaitForOvf = 0;
      }
    }
  }
}
 

Výpis 2: Tato rutina ze vzorové aplikace STMicroelectronics ilustruje mechanismus pro práci s kruhovou vyrovnávací pamětí, kde jsou uloženy data ze snímačů pro analýzu ve frekvenční oblasti. (Zdroj kódu: STMicroelectronics)

Aplikace používá rutinu „MotionSP_TotalStatusAlarm ()“ používaná na konci každého měření, a která vyhodnocuje naměřená data. Alarmy v kmitočtové oblasti „pTotalFDAlarm“ a alarmy v časové oblasti „pTotalTDAlarm“ se nastaví na maximální hodnotu (Výpis 3). Hlavní rutina ve Výpisu 1 přenáší tyto alarmy přes UART před každou inicializací systému.

void MotionSP_TotalStatusAlarm(sTimeDomainAlarm_t *pTdAlarm,
                               sFreqDomainAlarm_t *pTHR_Fft_Alarms,
                               uint8_t subrange_num,
                               Alarm_Type_t *pTotalTDAlarm,
                               Alarm_Type_t *pTotalFDAlarm)
{
 Alarm_Type_t TempAlarm = GOOD;
 Alarm_Type_t TempFDAlarm = GOOD;
 
 TempAlarm = MAX4(TempAlarm,
                  pTdAlarm->PK_STATUS_AXIS_X,
                  pTdAlarm->PK_STATUS_AXIS_Y,
                  pTdAlarm->PK_STATUS_AXIS_Z);
 
 TempAlarm = MAX4(TempAlarm,
                  pTdAlarm->RMS_STATUS_AXIS_X,
                  pTdAlarm->RMS_STATUS_AXIS_Y,
                  pTdAlarm->RMS_STATUS_AXIS_Z);
 
 for(int i=0; i<subrange_num; i++)
 {
   TempFDAlarm = MAX4(TempFDAlarm,
                      pTHR_Fft_Alarms->STATUS_AXIS_X[i],
                      pTHR_Fft_Alarms->STATUS_AXIS_Y[i],
                      pTHR_Fft_Alarms->STATUS_AXIS_Z[i]);
 }
 
 *pTotalTDAlarm = TempAlarm;
 *pTotalFDAlarm = TempFDAlarm;
 
}

Výpis 3: Vzorová aplikace STMicroelectronics demonstruje základní vzor pro práci s více zdroji alarmů v aplikaci pro prediktivní údržbu. (Zdroj kódu: STMicroelectronics)

Vzorová aplikace STMicroelectronics umožňuje vývojářům rychle používat funkce pro prediktivní údržbu. Mohou se jednoduše připojit k desce s průmyslovými snímači a pomocí terminálu okamžitě vidět naměřené hodnoty a stavy výstrah či alarmů. 

Pro výrobní aplikace je nutné s největší pravděpodobností používat sériové rozhraní senzorové desky, abychom se dostali k funkcím pro složitější monitorování a kontrolu. Hlavní poskytovatelé cloudových služeb již nabízejí pokročilá řešení pro strojové učení pro prediktivní údržbu. Například společnost Microsoft Azure nabízí řešení pro prediktivní údržbu, která je obsažena v sadě řešení pro IoT. Vývojáři mohou začít se sadou Azure, která zahrnuje simulaci dat z více snímačů pořízených z tryskových motorů NASA. Na konci řetězce je poskytnuta služba pro strojové učení Azure. V některých případech lze použít model Azure pro prediktivní údržbu, jako výchozí bod pro svůj vlastní model strojového učení.

Závěr

Aby mohli vývojáři reagovat na rostoucí zájem o prediktivní údržbu, musí být schopni rychle zavést robustní multisenzorové systémy vhodné pro průmyslová prostředí. Komplexní vývojové řešení od společnosti STMicroelectronics kombinuje hardware a softwarové prostředí navržené speciálně pro prediktivní údržbu. S využitím tohoto systémového řešení lze okamžitě začít vyhodnocovat data pro prediktivní údržbu, rychle rozvíjet své vlastní aplikace pro prediktivní údržbu a využívat strojové učení v prostředí cloud.

Článek vyšel v originále "Use a Kit to Rapidly Develop an Industrial Predictive Maintenance Application)"  na webu https://DigiKey.com, autorem je Stephen Evanczuk

Hodnocení článku: