Przemysłowa architektura pamięci: ukryte wyzwanie stojące za Przemysłem 4.0

Przemysł 4.0 opiera się na systemach pamięci, które potrafią szybko uruchamiać kontrolery, przetwarzać zadania w czasie rzeczywistym, zachowywać krytyczne dane podczas utraty zasilania oraz wytrzym...

Przemysł 4.0 jest zwykle opisywany przez pryzmat widocznych technologii. Połączone linie produkcyjne, przemysłowa sztuczna inteligencja, cyfrowe bliźniaki, autonomiczne roboty i analityka w chmurze często dominują w dyskusji.

Jednak te możliwości zależą od mniej widocznej części systemu. Każdy sterownik przemysłowy, napęd, robot, platforma wizyjna i komputer brzegowy wymaga niezawodnej pamięci.

Pamięć przechowuje instrukcje uruchamiające urządzenia. Przechowuje aktywne zmienne podczas działania programów sterujących. Zachowuje także alarmy, historie procesów, zapisy produkcyjne i dowody diagnostyczne.

W miarę jak systemy przemysłowe stają się bardziej połączone, ilość danych przepływających przez każde urządzenie stale rośnie. Sterowniki muszą przetwarzać więcej informacji, nie pogarszając czasu cyklu, deterministycznego zachowania ani dostępności sprzętu.

Pamięć przemysłowa musi także działać w warunkach znacznie różniących się od elektroniki konsumenckiej. Może być narażona na wysoką i niską temperaturę, zakłócenia elektryczne, powtarzające się przerwy w zasilaniu, wibracje oraz okresy eksploatacji przekraczające piętnaście lat.

Sama pojemność nie rozwiązuje tych problemów. Inżynierowie muszą również uwzględnić opóźnienia, przepustowość, wytrzymałość zapisu, retencję, zachowanie przy utracie zasilania, cyberbezpieczeństwo oraz długoterminową dostępność komponentów.

Architektura pamięci działająca w laboratorium może zawieść w szafie produkcyjnej. Projekt, który wydaje się wystarczający podczas uruchomienia, może stać się niewystarczający po aktualizacjach oprogramowania i wprowadzeniu dodatkowych usług danych.

Z tych powodów pamięć stała się jednym z ukrytych wyzwań inżynieryjnych na drodze do Przemysłu 4.0.

Połączone systemy produkcyjne łączące automatykę przemysłową, przetwarzanie brzegowe i analizę danych na dużą skalę

Rysunek 1. Przemysł 4.0 łączy połączone maszyny, rozległe zbieranie danych, rozproszone przetwarzanie i lokalne podejmowanie decyzji.

Przemysł 4.0 to także architektura pamięci

Czwarta rewolucja przemysłowa zmienia miejsce tworzenia, przetwarzania i przechowywania informacji przemysłowych.

Tradycyjne systemy automatyki były stosunkowo scentralizowane. Czujniki przesyłały wartości procesowe do sterowników, podczas gdy systemy nadzorcze wyświetlały wybrane informacje i rejestrowały alarmy.

Nowoczesne zakłady rozpraszają inteligencję na kilku poziomach. Inteligentne czujniki wykonują diagnostykę. Napędy analizują zachowanie silnika. Sterowniki PLC koordynują sterowanie i komunikację. Komputery brzegowe agregują dane z wielu maszyn.

Platformy chmurowe mogą porównywać wydajność między fabrykami, liniami produkcyjnymi lub flotami urządzeń. Jednak chmura nie zastępuje lokalnego przetwarzania.

Krytyczne decyzje sterujące muszą pozostawać blisko maszyny. System produkcyjny nie może polegać na ciągłym zewnętrznym połączeniu dla każdej akcji.

Ta rozproszona architektura zwiększa lokalne wymagania dotyczące pamięci. Każde urządzenie musi przechowywać więcej oprogramowania, utrzymywać większe bufory komunikacyjne i przetwarzać większe ilości danych operacyjnych.

Sterownik PLC może wykonywać logikę sterowania, zarządzając jednocześnie recepturami, alarmami, sesjami Ethernet, usługami internetowymi i zapisami produkcyjnymi. Napęd serwomechanizmu może przechowywać dane silnika, parametry bezpieczeństwa, wartości strojenia i historię zdarzeń.

Robot przemysłowy może obliczać trajektorie podczas przetwarzania danych wizyjnych i wymiany informacji z otaczającym sprzętem. Brama brzegowa może jednocześnie uruchamiać kilka sterowników protokołów i aplikacji analitycznych.

Każde obciążenie generuje różne wymagania. Niektóre dane muszą być dostępne w ciągu mikrosekund. Inne zapisy mogą być przetwarzane później, ale muszą przetrwać przerwę w zasilaniu.

Architektura pamięci decyduje, czy te wymagania mogą współistnieć bez wpływu na niezawodność systemu.

Projektant przemysłowy musi więc zdecydować, które informacje pozostaną wewnątrz procesora, które zostaną przeniesione do zewnętrznej pamięci RAM, a które wymagają pamięci nieulotnej.

To nie jest tylko decyzja sprzętowa. Struktura oprogramowania, priorytety sterowania, potrzeby konserwacji i polityki cyberbezpieczeństwa wpływają na ostateczną architekturę.

Dane przemysłowe mają różne okresy przechowywania

Nie każdy punkt danych ma taką samą wartość operacyjną lub wymaganą żywotność.

Błąd pozycji obliczony podczas jednego cyklu serwomechanizmu może stać się nieistotny po następnym cyklu. Receptura maszyny może być potrzebna przez wiele lat.

Sekwencja alarmowa może być potrzebna miesiące później podczas analizy awarii. Certyfikat bezpieczeństwa może pozostać ważny przez kilka wersji oprogramowania układowego.

Te różnice tworzą kilka szerokich klas danych.

Dane programowe obejmują bootloadery, oprogramowanie układowe, systemy operacyjne, biblioteki komunikacyjne i aplikacje użytkownika. Informacje te muszą pozostać dostępne po odłączeniu zasilania.

Dane konfiguracyjne obejmują parametry urządzenia, wartości kalibracji, ustawienia sieci, receptury i limity specyficzne dla maszyny. Zazwyczaj zmieniają się rzadziej, ale wymagają silnej integralności.

Dane w czasie rzeczywistym obejmują zmienne tymczasowe, stosy zadań, bufory komunikacyjne, klatki obrazu i obliczenia pośrednie. Wymagają szybkiego dostępu, ale zazwyczaj nie muszą być przechowywane po wyłączeniu zasilania.

Dane historyczne obejmują zdarzenia, alarmy, trendy warunków, liczniki produkcji i dowody konserwacji. Mogą być zapisywane ciągle przez cały cykl życia urządzenia.

Dane bezpieczeństwa obejmują klucze kryptograficzne, certyfikaty, tożsamości urządzeń oraz informacje o bezpiecznym rozruchu. Ich pojemność może być niewielka, ale nieautoryzowany dostęp może stworzyć poważne ryzyko.

Te klasy danych nie powinny automatycznie korzystać z jednej metody przechowywania.

Kod rozruchowy może wymagać długiego przechowywania i szybkiego odczytu, ale stosunkowo niewielu zapisów. Dziennik diagnostyczny może wymagać milionów operacji zapisu.

Bufor wizyjny maszyny może wymagać dużej przepustowości, ale bez utraty danych po wyłączeniu zasilania. Konfiguracja związana z bezpieczeństwem może wymagać podwójnego zapisu i ścisłej weryfikacji.

Architektura pamięci powinna odzwierciedlać te różnice. Wybór urządzenia tylko na podstawie pojemności może skutkować niską wytrzymałością, nadmiernymi kosztami lub nieakceptowalnym zachowaniem podczas odzyskiwania.

Trzy role pamięci w sprzęcie przemysłowym

Większość przemysłowych systemów wbudowanych używa pamięci do trzech podstawowych funkcji.

Pierwszą funkcją jest przechowywanie programów. Zewnętrzna pamięć flash zwykle przechowuje kod startowy, oprogramowanie układowe i aplikację użytkownika potrzebną do uruchomienia urządzenia.

Drugą funkcją jest pamięć robocza. Rozszerzona pamięć RAM zapewnia tymczasową przestrzeń dla aktywnych aplikacji, obliczeń, komunikacji i buforowania danych.

Trzecią funkcją jest przechowywanie danych trwałych. Ta pamięć zachowuje konfigurację, alarmy, liczniki i historię maszyny po odłączeniu zasilania.

Funkcje te mogą być zintegrowane w jednym układzie procesora lub rozproszone na kilku urządzeniach. Ich wymagania inżynieryjne pozostają różne.

Przechowywanie programów priorytetowo traktuje retencję, niezawodność uruchamiania i bezpieczne aktualizacje. Pamięć robocza priorytetowo traktuje opóźnienia, przepustowość i przewidywalny dostęp.

Pamięć trwała priorytetowo traktuje wytrzymałość zapisu, ochronę przed utratą zasilania i długoterminową integralność danych.

PLC może używać pamięci NOR flash do oprogramowania układowego i kodu aplikacji. Może używać DRAM lub SRAM do wykonywania, ruchu sieciowego i zmiennych czasu działania.

Inne urządzenie nieulotne może przechowywać zachowane tagi, historię zdarzeń i dane konfiguracyjne.

Napęd serwo używa podobnego układu. Flash przechowuje oprogramowanie sterujące i bazy danych silnika. Szybka pamięć RAM wspiera obliczenia prądu, prędkości i pozycji.

Pamięć nieulotna zachowuje parametry strojenia, godziny pracy i historię błędów.

Roboty przemysłowe, systemy CNC i platformy wizyjne używają tego samego ogólnego modelu, choć ich wymagania dotyczące pojemności i przepustowości mogą być znacznie wyższe.

Zrozumienie tych trzech ról pamięci pomaga inżynierom unikać stosowania jednej technologii do wszystkich zadań.

Przemysłowa platforma wbudowana z procesorem, komunikacją, I/O, czujnikami, pamięcią flash, pamięcią RAM roboczą i pamięcią trwałą

Rysunek 2. Typowy przemysłowy system wbudowany łączy przetwarzanie, I/O, komunikację, przechowywanie programów, pamięć roboczą i pamięć trwałą.

Pamięć Flash i niezawodne uruchamianie kontrolera

Każdy przemysłowy kontroler rozpoczyna pracę od pobrania kodu wykonywalnego z pamięci nieulotnej.

Sekwencja startowa może inicjalizować procesor, testować sprzęt, konfigurować interfejsy, weryfikować oprogramowanie układowe, przywracać zatwierdzone parametry i uruchamiać aplikację użytkownika.

Jeśli zapisany kod zostanie uszkodzony, kontroler może nie ukończyć tej sekwencji. Maszyna może pozostać niedostępna, nawet gdy wszystkie elementy mechaniczne działają prawidłowo.

Pamięć NOR flash jest powszechnie używana do przechowywania programów przemysłowych, ponieważ obsługuje nieulotne przechowywanie i losowy odczyt.

Wiele projektów korzysta również z trybu wykonywania w miejscu (execute-in-place). Procesor odczytuje instrukcje bezpośrednio z pamięci flash zamiast kopiować całą aplikację do RAM.

To podejście może skrócić czas uruchamiania i zmniejszyć wymagania dotyczące pamięci roboczej. Nadaje też większe znaczenie wydajności odczytu z pamięci flash i stabilności interfejsu.

Urządzenie musi dostarczać kod stabilnie przy zmianach napięcia i ekstremalnych temperaturach. Marginesy czasowe muszą pozostać odpowiednie w najgorszych warunkach pracy.

Nowoczesne oprogramowanie układowe wymaga więcej pojemności niż wcześniejsze aplikacje sterujące. Stosy sieciowe, interfejsy webowe, biblioteki bezpieczeństwa, usługi diagnostyczne i funkcje zdalnej aktualizacji zużywają pamięć.

Projektanci muszą również zarezerwować pojemność na przyszłe wersje. Wypełnienie pamięci podczas pierwszej wersji oprogramowania pozostawia niewiele miejsca na poprawki bezpieczeństwa lub nowe funkcje komunikacyjne.

Sprzęt przemysłowy może pozostawać w eksploatacji przez piętnaście lat lub dłużej. Wymagania dotyczące oprogramowania mogą się znacznie zmieniać w tym okresie.

Pojemność do przechowywania kodu powinna zatem uwzględniać realistyczny margines wzrostu, a nie tylko początkowy rozmiar oprogramowania układowego.

Niezawodność uruchamiania powinna również obejmować zachowanie podczas odzyskiwania. Urządzenie musi wiedzieć, jak reagować, gdy weryfikacja oprogramowania układowego się nie powiedzie lub aktualizacja zostanie przerwana.

Aktualizacje oprogramowania układowego nie mogą pozostawiać maszyn nieużytecznymi.

Zdalne aktualizacje oprogramowania układowego stają się coraz powszechniejsze w połączonych systemach przemysłowych.

Zmniejszają koszty serwisu i pozwalają producentom na poprawę wad lub luk bezpieczeństwa bez konieczności wizyty w każdej instalacji.

Jednak przerwana aktualizacja może uszkodzić aktywny obraz oprogramowania układowego. Awaria zasilania lub utrata komunikacji może uniemożliwić urządzeniu ponowne uruchomienie.

Jednym z powszechnych rozwiązań jest architektura z dwoma obrazami. Kontroler zachowuje aktualne oprogramowanie, jednocześnie zapisując nową wersję w innej części pamięci.

System weryfikuje nowy obraz przed jego aktywacją. Jeśli walidacja się nie powiedzie, kontynuuje używanie wcześniejszej wersji.

Ten projekt poprawia możliwość odzyskiwania, ale wymaga dodatkowej pojemności i starannego zarządzania partycjami.

Proces aktualizacji musi również weryfikować autentyczność. Podłączone urządzenia nie powinny wykonywać oprogramowania układowego pochodzącego z nieznanego lub nieautoryzowanego źródła.

Bezpieczny rozruch ustanawia zaufanie od początku procesu uruchamiania. Kontroler sprawdza podpis oprogramowania przed jego wykonaniem.

Proces weryfikacji zależy od chronionych kluczy i zaufanego kodu startowego. Elementy te muszą być przechowywane w miejscu, gdzie zwykłe oprogramowanie aplikacyjne nie może ich swobodnie modyfikować.

Może być również konieczna ochrona przed cofnięciem wersji. Atakujący nie powinien mieć możliwości ponownej instalacji starszej wersji oprogramowania układowego zawierającej znane luki bezpieczeństwa.

Aktualizacje oprogramowania układowego generują cykle zapisu w pamięci flash. Częstotliwość jest zazwyczaj znacznie niższa niż w przypadku rejestrowania zdarzeń, ale nadal należy ją uwzględnić w obliczeniach cyklu życia.

Inżynierowie powinni udokumentować maksymalną przewidywaną liczbę aktualizacji, wymaganą metodę odzyskiwania oraz zachowanie podczas nagłej utraty zasilania.

Kontroler obsługujący zdalne aktualizacje bez niezawodnego mechanizmu awaryjnego może obniżyć koszty serwisu, ale zwiększyć ryzyko operacyjne.

Wytrzymałość i retencja pamięci flash wymagają innego podejścia

Pamięć flash nie zawsze może bezpośrednio nadpisać dane. Obszar może wymagać wymazania przed zaprogramowaniem nowych informacji.

Operacje kasowania zwykle dotyczą bloków, a nie pojedynczych bajtów. To zachowanie sprawia, że flash jest skuteczny dla oprogramowania układowego, ale bardziej skomplikowany dla często zmieniających się danych.

Obraz rozruchowy może zmieniać się tylko kilka razy w roku. Licznik produkcji może być aktualizowany co sekundę.

Umieszczenie obu obciążeń w tym samym obszarze pamięci może powodować niepotrzebne zużycie i komplikować odzyskiwanie danych.

Wyrównywanie zużycia rozprowadza zapisy na kilka fizycznych lokalizacji. Zapobiega to zbyt wczesnemu osiągnięciu limitu wytrzymałości przez jedno często aktualizowane miejsce.

Duplikowanie rekordów może również poprawić niezawodność. Kontroler zapisuje nową kopię przed unieważnieniem poprzedniej wersji.

Jeśli zasilanie zniknie podczas aktualizacji, przynajmniej jeden ważny rekord pozostaje.

Retencja to odrębna kwestia. Urządzenie może tolerować wiele zapisów, ale przechowywać dane przez krótszy czas w podwyższonej temperaturze.

Szafy elektryczne mogą pozostawać ciepłe z powodu napędów, procesorów, zasilaczy i ograniczonego przepływu powietrza.

Sprzęt zewnętrzny może być narażony zarówno na wysoką temperaturę w ciągu dnia, jak i na zimne warunki rozruchu.

Inżynierowie powinni ocenić retencję w określonym przemysłowym zakresie temperatur. Dane dla temperatury pokojowej dają niepełne wskazówki.

Cały system powinien być również testowany podczas wielokrotnych cykli zasilania. Wiele awarii pamięci występuje podczas przejść napięcia, a nie podczas stabilnej pracy.

Niezawodność pamięci flash zależy więc od współdziałania urządzenia pamięci, architektury zasilania, czasu interfejsu oraz metody aktualizacji oprogramowania.

Pamięć rozszerzająca wspiera aktywne obciążenie pracy

Procesory zawierają wewnętrzną pamięć SRAM, ale nowoczesne zastosowania przemysłowe często wymagają większej pojemności tymczasowej.

Pamięć rozszerzająca obsługuje aktywne programy sterujące, systemy operacyjne, bufory sieciowe, wizualizacje, obliczenia analityczne oraz tymczasowe struktury danych.

Ta pamięć zazwyczaj traci zawartość po odłączeniu zasilania. Jej głównym celem jest szybki i przewidywalny dostęp podczas pracy.

DRAM zapewnia dużą pojemność i wysoką przepustowość. Jest powszechny w systemach zarządzających dużymi zbiorami danych lub złożonymi środowiskami programowymi.

Jednak DRAM wymaga operacji odświeżania, kontrolowanego czasu interfejsu oraz starannego rozmieszczenia na płytce PCB. Może także zwiększać zużycie energii i obciążenie termiczne.

SRAM oferuje prostszy dostęp i przewidywalne działanie, ale zazwyczaj zapewnia niższą gęstość przy wyższych kosztach.

Właściwy wybór zależy od obciążenia. Kompaktowy PLC ma inne wymagania niż przemysłowy komputer PC z systemem wizyjnym.

Pojemność pamięci powinna być oparta na szczytowym zapotrzebowaniu, a nie na średnim użyciu.

Sterownik może działać normalnie przy umiarkowanym zużyciu pamięci. Duży ruch sieciowy, przechwytywanie diagnostyczne lub zmiana przepisu mogą powodować tymczasowe szczyty.

Niewystarczający zapas może powodować błędy alokacji lub niestabilną wydajność podczas tych zdarzeń.

Aplikacje czasu rzeczywistego powinny także unikać niekontrolowanej dynamicznej alokacji. Powtarzające się przydziały i zwolnienia mogą powodować fragmentację i nieprzewidywalne czasy wykonania.

Wiele systemów przemysłowych rezerwuje pamięć podczas uruchamiania. Stałe bufory i określone limity zadań pomagają zachować deterministyczne zachowanie.

Pamięć RAM rozszerzeń to więc coś więcej niż dodatkowa pojemność. Musi wspierać wymagania czasowe i niezawodności całej aplikacji.

Różne maszyny tworzą różne wymagania dotyczące pamięci roboczej.

PLC tradycyjnie używały pamięci roboczej do tabel I/O, timerów, liczników, zmiennych programowych i danych komunikacyjnych.

Nowoczesne sterowniki utrzymują także bufory alarmowe, usługi internetowe, sesje bezpieczeństwa, historie danych oraz kilka protokołów przemysłowych.

Te dodatkowe usługi wyjaśniają, dlaczego współczesne systemy PLC i PAC wymagają znacznie więcej pamięci niż wcześniejsze generacje.

Systemy ruchu stawiają kolejne wymagania. Sterowniki serwo wykonują obliczenia prądu, prędkości i pozycji z dużą częstotliwością.

Pętle te zależą od spójnego dostępu. Duża pojemność pamięci niewiele pomoże, jeśli opóźnienia zmieniają się nieprzewidywalnie.

Krytyczne zmienne ruchu mogą pozostawać w szybkiej pamięci wewnętrznej. Dane trajektorii, bufory komunikacyjne i wizualizacja mogą korzystać z pamięci RAM zewnętrznej.

Roboty przemysłowe łączą sterowanie ruchem z planowaniem ścieżki, strefami kolizji, transformacjami współrzędnych i komunikacją peryferyjną.

Roboty sterowane wizją dodają przetwarzanie obrazu i dane modeli. Te obciążenia nie mogą przerywać deterministycznej kontroli osi.

Systemy CNC wymagają programów obróbkowych, baz narzędzi, interfejsów graficznych, buforów interpolacji oraz obliczeń przewidywania.

Obróbka wysokiej prędkości może analizować wiele nadchodzących poleceń ruchu przed ich wykonaniem. Wspiera to płynny ruch i stabilną wydajność cięcia.

Systemy wizyjne generują szczególnie duże tymczasowe zestawy danych. Kilka ramek obrazu może być przechowywanych jednocześnie do filtrowania, porównywania i rozpoznawania obiektów.

Większość ramek nie wymaga trwałego przechowywania. Pamięć RAM rozszerzeń przechowuje je do momentu uzyskania wyniku inspekcji.

Architektura musi więc odpowiadać aplikacji. Logika PLC, sterowanie ruchem, robotyka, CNC i wizja nie mogą być oceniane na podstawie jednej ogólnej specyfikacji pamięci.

Przepustowość pamięci musi być oceniana na poziomie systemu.

Karta katalogowa pamięci może pokazywać imponującą szczytową przepustowość. Rzeczywista aplikacja może osiągać znacznie mniej.

Rdzenie procesora, układy graficzne, interfejsy sieciowe, kontrolery pamięci masowej i akceleratory mogą współdzielić tę samą magistralę pamięci.

Konflikty rosną, gdy kilka funkcji działa jednocześnie.

Sterownik może działać dobrze w normalnych warunkach sterowania, ale zwalniać podczas intensywnej komunikacji lub przechwytywania diagnostycznego.

Komputer przemysłowy może poprawnie przetwarzać obrazy, dopóki wizualizacja, rejestrowanie do bazy danych i zdalny dostęp nie wystąpią razem.

Testowanie systemu powinno zatem odtwarzać połączone obciążenia. Sterowanie, komunikacja, wyświetlanie, analiza i aktywność zapisu powinny działać jednocześnie.

Opóźnienie jest często równie ważne jak całkowita przepustowość. Zadania czasu rzeczywistego wymagają stałego dostępu, a nie tylko wysokiej średniej szybkości.

Pamięć podręczna może poprawić średnią wydajność procesora. Jednak brak trafienia w cache może wydłużyć czas dostępu.

Krytyczny kod i zmienne mogą wymagać umieszczenia w szybkiej pamięci lokalnej. Dane mniej pilne mogą korzystać z zewnętrznej pamięci RAM.

Bezpośredni dostęp do pamięci może przenosić dane między peryferiami a pamięcią bez ciągłego zaangażowania procesora.

Jest to przydatne w przypadku przemysłowego Ethernetu, akwizycji danych i wizji maszynowej. Tworzy to również wymagania synchronizacji.

Procesor musi wiedzieć, kiedy transfery są zakończone. Buforowane dane muszą pozostać spójne z zawartością pamięci fizycznej.

Systemy wielordzeniowe dodają więcej złożoności, ponieważ kilka procesorów może jednocześnie uzyskiwać dostęp do współdzielonych informacji.

Architektura oprogramowania, przypisanie zadań i ochrona pamięci są zatem kluczowymi elementami inżynierii wydajności.

Pamięć do rejestrowania danych zachowuje historię maszyny.

Systemy przemysłowe generują alarmy, zmiany stanów, wartości procesowe i pomiary diagnostyczne przez cały czas działania.

Te informacje wyjaśniają, co się wydarzyło przed awarią. Wspierają także analizę produkcji, planowanie konserwacji, kontrolę jakości i zarządzanie energią.

Pamięć do rejestrowania danych ma inne obciążenie niż pamięć flash programu czy pamięć robocza RAM.

Może otrzymywać ciągłe zapisy przez wiele lat. Musi również zachować ważne zapisy, gdy zaniknie napięcie zasilania.

Maszyna o dużej prędkości może generować tysiące zdarzeń na godzinę. System monitorowania stanu może ciągle rejestrować temperaturę, prąd, drgania i wartości procesowe.

Ilość danych może szybko rosnąć, gdy dodaje się wiele czujników.

Nie każdy zapis wymaga trwałego przechowywania. Rutynowe wartości procesów mogą być podsumowane, podczas gdy alarmy i zdarzenia nieprawidłowe powinny być przechowywane dłużej.

Strategia rejestrowania powinna zatem określać priorytet danych, częstotliwość próbkowania, okres przechowywania oraz dopuszczalne straty podczas nagłego wyłączenia.

Wytrzymałość pamięci musi być obliczana na podstawie rzeczywistego obciążenia zapisem.

Zmienna zapisywana raz na sekundę generuje ponad trzydzieści milionów zapisów rocznie. Rejestrator na poziomie milisekund tworzy znacznie większą liczbę.

Obliczenia powinny uwzględniać metadane i aktywność zarządzania pamięcią. Systemy plików mogą wykonywać więcej fizycznych zapisów niż żąda aplikacja.

Buforowanie może zmniejszyć liczbę operacji zapisu. Jednak dane przechowywane w pamięci roboczej RAM pozostają podatne, dopóki nie trafią do pamięci nieulotnej.

Poprawny projekt równoważy wytrzymałość, wydajność i ilość danych, które mogą zostać utracone podczas przerwy.

Czujniki przemysłowe i maszyny generujące ciągłe dane procesowe, zdarzeniowe i diagnostyczne

Rysunek 3. Inteligentne urządzenia produkcyjne generują ciągłe dane, które muszą być niezawodnie przetwarzane, przechowywane i odzyskiwane.

SRAM zasilany baterią rozwiązał jeden problem, ale stworzył inne

Wiele starszych systemów przemysłowych używało SRAM zasilanego baterią do zachowania danych.

Niskoprądowy SRAM pozostawał zasilany przez baterię, gdy główne zasilanie zanikało.

Ta metoda oferowała szybki dostęp i prostą obsługę programową. Kontroler mógł używać zachowanego obszaru jak zwykłej pamięci.

Dobrze sprawdzała się dla parametrów maszyn, liczników, receptur, zapisów zdarzeń i stanu operacyjnego.

Bateria jednak stała się elementem wymagającym konserwacji. Jej pojemność malała z wiekiem, temperaturą i warunkami przechowywania.

Słaba bateria mogła pozostać niezauważona, podczas gdy maszyna działała normalnie.

Awaria stawała się widoczna dopiero po zaniku głównego zasilania i utracie zachowanych informacji.

Wymiana baterii wymagała procedur serwisowych, zapasów wymiennych, zaplanowanego dostępu i zarządzania utylizacją.

Zdalne lokalizacje zwiększały ten problem. Wymiana małej baterii mogła wymagać wysłania technika do odizolowanej stacji pomp lub instalacji użyteczności publicznej.

Pamięć zasilana baterią wymagała również układów nadzorczych. Układ wykrywał utratę głównego zasilania i przełączał SRAM na zasilanie awaryjne.

Musiała zapobiegać niestabilnym zapisom podczas zmiany napięcia. Nieprawidłowe przełączanie mogło uszkodzić dane nawet przy zdrowej baterii.

Dodatkowe komponenty zwiększały powierzchnię PCB i tworzyły więcej potencjalnych punktów awarii.

Te ograniczenia skłoniły projektantów do poszukiwania pamięci nieulotnej, która mogłaby zapewnić częste zapisy bez zależności od wymiennej baterii.

Pamięć nieulotna RAM oferuje kilka alternatyw

Nowoczesne technologie pamięci nieulotnej mogą zachować dane bez ciągłego zasilania awaryjnego.

Żadna pojedyncza technologia nie jest idealna dla każdej aplikacji. Każda oferuje inny balans gęstości, szybkości, wytrzymałości, kosztów i retencji.

F-RAM może obsługiwać częste operacje zapisu przy niskim zużyciu energii. Nadaje się do liczników, dzienników zdarzeń i zmiennych zachowywanych.

nvSRAM łączy zwykłe zachowanie SRAM z mechanizmem pamięci nieulotnej. Aktywne dane mogą być zachowane podczas utraty zasilania.

MRAM oferuje inne podejście, wykorzystując stany magnetyczne do przechowywania informacji. Jego przydatność zależy od wymaganej pojemności, interfejsu i kosztów systemu.

Zarządzana pamięć flash oferuje znacznie większą gęstość. Jest przydatna do dużych baz danych, przechowywania obrazów i długich historii.

Jednak pamięć flash wymaga zarządzania zużyciem, korekcji błędów i uwagi na opóźnienia zapisu.

Metoda przechowywania powinna odpowiadać klasie danych.

Licznik o wysokiej częstotliwości wymaga doskonałej wytrzymałości, ale niewielkiej pojemności. Archiwum wizji maszynowej wymaga znacznie większej pojemności, ale może otrzymywać mniej zapisów na każdą fizyczną lokalizację.

Przechowywany stan maszyny wymaga szybkiego i niezawodnego zapisu przy utracie zasilania. Baza danych historycznych może tolerować dłuższy proces zamknięcia.

Inżynierowie powinni unikać wybierania pamięci nieulotnej tylko dlatego, że jest nowsza niż pamięć SRAM z podtrzymaniem bateryjnym.

Decyzja musi opierać się na częstotliwości zapisu, wymaganym czasie przechowywania, warunkach środowiskowych i akceptowalnym zachowaniu podczas odzyskiwania.

Testowanie powinno obejmować wielokrotne przerwy w zasilaniu podczas aktywnych zapisów. Ujawnia to słabości, których zwykłe testy wytrzymałościowe mogą nie wykryć.

Utrata zasilania musi być traktowana jako zdarzenie związane z integralnością danych.

Przerwa w zasilaniu robi więcej niż tylko zatrzymuje procesor. Może przerwać aktywny zapis i pozostawić przechowywane informacje niekompletnymi.

Skutkiem może być uszkodzony zapis, nieprawidłowa konfiguracja lub uszkodzenie większej struktury plików.

Solidne systemy wykrywają spadek zasilania zanim procesor stanie się niestabilny.

Sterownik może wtedy zatrzymać nieistotne działania i zachować krytyczne informacje.

Kondensatory podtrzymujące lub nieprzerwane źródło zasilania mogą dostarczyć wystarczającej energii do kontrolowanego zamknięcia.

Wymagany interwał zależy od metody przechowywania i ilości danych.

Zapisanie kilku zmiennych przechowywanych może wymagać tylko krótkiego czasu. Zamknięcie bazy danych lub dużego systemu plików może zająć znacznie więcej czasu.

Informacje krytyczne powinny mieć priorytet. Sterownik może potrzebować zachować aktywny przepis, licznik partii, tryb maszyny, stan awarii i pozycję osi.

Tymczasowe dane wyświetlania i rutynowe bufory komunikacyjne można zazwyczaj odrzucić.

Logika odzyskiwania jest równie ważna. Sterownik nie powinien zakładać, że przechowywane informacje są ważne tylko dlatego, że istnieją.

Sumy kontrolne mogą wykrywać uszkodzenia. Numery sekwencji mogą identyfikować najnowszy kompletny zapis.

Zduplikowana pamięć może przechowywać zarówno poprzednią, jak i aktualną wersję podczas aktualizacji.

Uszkodzona konfiguracja może być bardziej niebezpieczna niż brak konfiguracji. Maszyna może rozpocząć pracę z nieprawidłowymi parametrami, mimo że wydaje się działać normalnie.

Z tego powodu krytyczne zapisy wymagają weryfikacji przed użyciem. Niektóre aplikacje powinny również wymagać potwierdzenia operatora przed wznowieniem pracy.

Konserwacja predykcyjna zależy od niezawodnej pamięci brzegowej

Konserwacja predykcyjna opiera się na ciągłych dowodach zachowania sprzętu.

Czujniki mogą rejestrować drgania, temperaturę, prąd, ciśnienie, prędkość i stan smarowania.

Te pomiary są porównywane w czasie, aby zidentyfikować pogorszenie stanu przed wystąpieniem awarii funkcjonalnej.

Chmura może wspierać analizę floty, ale niezawodna lokalna pamięć pozostaje niezbędna.

Przerwa w komunikacji nie powinna tworzyć okresu ślepoty. Urządzenie brzegowe powinno buforować dane do czasu przywrócenia połączenia.

Wymagana pojemność bufora zależy od częstotliwości próbkowania, typu danych i przewidywanego czasu przerwy.

Wysokoczęstotliwościowe przebiegi drgań tworzą znacznie większe zbiory danych niż trendy temperatury.

Wiele systemów oblicza więc cechy lokalnie. Całkowite drgania, szczyty spektralne, współczynnik grzbietu i zmiana temperatury wymagają mniej pamięci niż pełne surowe przebiegi.

Surowe dane mogą być zachowane wokół anomalii, alarmów i wybranych okresów diagnostycznych.

Ta metoda zmniejsza obciążenie komunikacji i pamięci, zachowując jednocześnie ważne dowody inżynierskie.

Jakość danych powinna być przechowywana wraz z pomiarem. Brakujące próbki, usterki czujników, zmiany kalibracji i awarie komunikacji muszą pozostać widoczne.

W przeciwnym razie mogą pojawić się zamrożone lub niekompletne dane, które będą wyglądać na stabilne zachowanie maszyny.

Synchronizacja czasu jest również niezbędna. Zdarzenia z napędów, sterowników, bramek i systemów archiwizacji muszą pozostać w prawidłowej kolejności.

Zegar dryfujący może spowodować, że alarm pojawi się przed warunkiem procesu, który go wywołał.

Niezawodna pamięć, flagi jakości danych i zsynchronizowane znaczniki czasu są więc częścią architektury utrzymania predykcyjnego.

Prawdziwe maszyny pokazują, dlaczego jeden typ pamięci nie wystarcza.

Weźmy pod uwagę linię pakującą z napędami serwo, czytnikami kodów kreskowych, systemem wizyjnym, przenośnikami i centralnym sterownikiem PLC.

Pamięć flash przechowuje oprogramowanie sterownika, aplikację maszyny, usługi komunikacyjne oraz oprogramowanie do zarządzania recepturami.

Rozszerzona pamięć RAM wspiera aktywną logikę, bufory sieciowe, obliczenia produkcyjne oraz tymczasowe przetwarzanie obrazów.

Pamięć nieulotna zachowuje informacje o partii, liczbę odrzuconych produktów, historię alarmów oraz błędy napędu.

System wizyjny może kontrolować każdą paczkę, ale zachowuje tylko obrazy z błędami i wybrane próbki produkcyjne.

Tymczasowe ramki obrazu pozostają w pamięci RAM do momentu zakończenia decyzji inspekcyjnej. Przechowywanie każdego obrazu zużywałoby niepotrzebnie pamięć.

Po przerwie w zasilaniu sterownik musi przywrócić ważne informacje o partii. Nie powinien automatycznie wznawiać każdej akcji mechanicznej.

Częściowo przetworzone produkty mogą pozostać wewnątrz maszyny, podczas gdy osie serwomechanizmów mogą wymagać potwierdzenia pozycji.

Zdalna stacja pomp stwarza różne priorytety.

Łącze komunikacyjne może zniknąć na kilka godzin, ale sterownik PLC musi nadal lokalnie kontrolować pompy.

Pamięć nieulotna rejestruje ciśnienie, przepływ, prąd silnika, zużycie energii, alarmy oraz uruchomienia pompy podczas przerwy w zasilaniu.

Gdy komunikacja zostanie przywrócona, brama przesyła zbuforowaną historię do platformy centralnej.

Przemysłowe komputery PC używane do wizji, baz danych lub analityki brzegowej generują jeszcze większe obciążenia. Mogą wymagać znacznej ilości pamięci DRAM i pamięci półprzewodnikowej.

Odpowiednie przemysłowe platformy komputerowe muszą być oceniane pod kątem pojemności pamięci, zachowania przy utracie zasilania, ograniczeń środowiskowych i możliwości serwisowych.

Temperatura, zakłócenia i jakość zasilania kształtują niezawodność.

Pamięć przemysłowa działa w większym środowisku elektrycznym i mechanicznym.

Silniki, styczniki, sprzęt spawalniczy, napędy i zasilacze impulsowe generują zakłócenia elektromagnetyczne.

Szybkie interfejsy pamięci mogą być wrażliwe na złe prowadzenie ścieżek, niestabilne zasilanie i niewystarczające uziemienie.

Komponent pamięci może spełniać wszystkie wymagania datasheetu, podczas gdy cała płytka pozostaje zawodna.

Układ PCB, integralność sygnału, ekranowanie i regulacja napięcia mają wpływ na wynik.

Temperatura stanowi kolejne wyzwanie. Kompaktowe sterowniki i uszczelnione urządzenia brzegowe mogą działać bez wentylatorów.

Procesory, układy komunikacyjne i przetwornice podnoszą temperaturę wewnątrz obudowy.

Wyższa temperatura może wpływać na retencję, wycieki, czas działania i żywotność komponentów.

Sprzęt zewnętrzny może doświadczać zimnego startu, szybkich zmian termicznych i silnego nagrzewania słonecznego w ciągu tego samego roku.

Testowanie tylko w temperaturze pokojowej daje ograniczone dowody na zastosowanie przemysłowe.

Cały system powinien być oceniany w skrajnych warunkach napięcia i temperatury. Powinien być także testowany podczas wielokrotnego włączania i wyłączania zasilania.

Wibracje mechaniczne mogą wpływać na pamięć wymienną, złącza i lutowania.

Pamięć lutowana poprawia stabilność mechaniczną, ale może utrudniać naprawy w terenie. Pamięć wymienna ułatwia wymianę, ale wprowadza ryzyko związane z połączeniami i obsługą.

Poprawny projekt zależy od instalacji, strategii serwisowej i krytyczności sprzętu.

Integralność danych i cyberbezpieczeństwo się zbliżają.

Błędy pamięci mogą wynikać z zakłóceń elektrycznych, starzenia się, niestabilnego zasilania, defektów oprogramowania lub zdarzeń promieniowania.

Niektóre błędy dotyczą jednego bitu. Inne mogą uszkodzić cały rekord konfiguracyjny lub strukturę pamięci.

Kody korekcji błędów mogą identyfikować i naprawiać niektóre usterki. Parzystość może wykrywać prostsze błędy.

Sumy kontrolne lub hasze kryptograficzne mogą weryfikować oprogramowanie układowe i krytyczne dane konfiguracyjne.

Skorygowane błędy powinny być nadal rejestrowane. Powtarzające się korekty mogą wskazywać na pogarszający się sprzęt, nadmierną temperaturę lub problemy z zasilaniem.

Oprogramowanie może również uszkadzać pamięć. Przepełnienia bufora, nieprawidłowe wskaźniki i konflikty zadań mogą uszkodzić dane bez fizycznej awarii urządzenia.

Jednostki ochrony pamięci mogą izolować aplikacje i ograniczać nieautoryzowany dostęp.

Bezpieczny rozruch dodaje kolejną warstwę. Kontroler weryfikuje autentyczność swojego firmware przed wykonaniem.

Klucze i certyfikaty bezpieczeństwa wymagają chronionej pamięci. Zwykłe oprogramowanie aplikacyjne nie powinno ujawniać prywatnych poświadczeń.

Interfejsy debugowania muszą być również kontrolowane w sprzęcie produkcyjnym. Otwarty port deweloperski może obejść inne zabezpieczenia.

Dzienniki bezpieczeństwa powinny pozostać chronione przed zmianami. Atakujący nie powinien móc usunąć dowodów przez usunięcie zwykłych plików.

Te wymagania pokazują, że integralność danych i cyberbezpieczeństwo nie są już odrębnymi tematami pamięci.

Ta sama architektura musi chronić informacje przed przypadkową korupcją i celową modyfikacją.

Cykl życia przemysłowego tworzy problem przestarzałości

Sprzęt przemysłowy często pozostaje w użyciu znacznie dłużej niż elektronika komercyjna.

Kontroler, napęd lub obrabiarka mogą służyć przez piętnaście lub dwadzieścia lat. Wybrane urządzenie pamięciowe może mieć znacznie krótszy czas produkcji.

Przestarzałość może wymusić przeprojektowanie płyty, nawet gdy oryginalny produkt przemysłowy pozostaje udany.

Urządzenie zastępcze może reklamować tę samą pojemność i interfejs, ale zachowywać się inaczej.

Czas pracy, napięcie, sekwencje poleceń, funkcje bezpieczeństwa, wytrzymałość i klasa temperaturowa mogą się różnić.

Sterowniki firmware mogą wymagać zmian. Wymieniany element powinien być zweryfikowany pod kątem rzeczywistych obciążeń, a nie przyjmowany jako automatycznie kompatybilny.

Planowanie cyklu życia powinno rozpocząć się już podczas pierwotnego projektu.

Inżynierowie powinni rozważyć opcje drugiego źródła, dostępność opakowań, zależności oprogramowania oraz przewidywany czas produkcji.

Zarządzane urządzenia pamięci masowej mogą również raportować informacje o stanie, takie jak liczba błędów czy pozostały czas życia.

Te informacje pozwalają kontrolerowi wykryć pogorszenie stanu przed całkowitą awarią.

Pamięć można wtedy wymienić podczas planowanego przestoju, a nie po nagłej utracie danych.

Dokumentacja jest równie ważna. Przyszłe zespoły inżynierskie muszą rozumieć podziały pamięci, procedury aktualizacji, logikę odzyskiwania i założenia dotyczące wytrzymałości.

Bez tych informacji późniejsza modyfikacja oprogramowania może nieumyślnie przekroczyć granice pierwotnego projektu.

Wybór pamięci jako systemu przemysłowego

Praktyczny proces wyboru zaczyna się od klasyfikacji danych.

Inżynierowie powinni zidentyfikować kod programu, zmienne czasu wykonywania, zachowane parametry, dzienniki zdarzeń, dane obrazów oraz informacje o bezpieczeństwie.

Kolejnym krokiem jest określenie pojemności. Szacunek powinien uwzględniać przyszły wzrost oprogramowania, obrazy zapasowe, metadane i przestrzeń na odzyskiwanie danych.

Należy obliczyć obciążenia odczytu i zapisu. Średnie wartości nie wystarczą. Ważne są również szczytowe skoki i najgorsze okresy logowania.

Wymagania dotyczące opóźnień i przepustowości powinny być określone dla zadań czasu rzeczywistego. Urządzenie o dużej pojemności może nadal być nieodpowiednie do sterowania deterministycznego.

Trwałość i wytrzymałość powinny być oceniane w całym oczekiwanym zakresie temperatur.

Projekt musi również określić zachowanie przy utracie zasilania. Inżynierowie powinni wiedzieć, które dane wymagają natychmiastowego zachowania i jak długo może trwać proces zamykania.

Wykrywanie błędów, bezpieczny rozruch, przechowywanie kluczy i kontrola dostępu powinny być uwzględnione przed wyborem urządzenia.

Należy również uwzględnić dostępność w cyklu życia i kompatybilność wymiany.

Ostateczna architektura może wykorzystywać kilka technologii pamięci. Często jest to właściwy efekt, a nie niepotrzebna złożoność.

Flash może służyć do oprogramowania układowego. Szybka pamięć RAM może wspierać aktywną kontrolę. Pamięć nieulotna o wysokiej wytrzymałości może zachowywać zdarzenia i zmienne trwałe.

Pamięć o większej gęstości może przechowywać obrazy, bazy danych i długie historie produkcji.

Celem nie jest znalezienie jednej uniwersalnej pamięci. Chodzi o przypisanie każdej klasy danych do urządzenia odpowiadającego jej znaczeniu operacyjnemu.

Pamięć pozostanie krytycznym ograniczeniem Przemysłu 4.0

Przyszłe systemy przemysłowe będą wymagać większej pojemności i szybszego dostępu.

Więcej czujników wygeneruje więcej lokalnych danych. Analiza edge będzie korzystać z większych modeli i dłuższych historii.

Sterowniki będą przechowywać więcej funkcji bezpieczeństwa, usług komunikacyjnych i oprogramowania diagnostycznego.

Pamięć flash o większej gęstości i pamięć nieulotna będą wspierać te wymagania. Szybsza pamięć RAM poprawi widzenie maszynowe i lokalną analizę.

Pamięć trwała bez baterii zmniejszy konserwację i poprawi odzyskiwanie po utracie zasilania.

Jednak większa pojemność nie wyeliminuje potrzeby zdyscyplinowanej architektury.

Fabryki nie powinny przechowywać każdego surowego punktu danych bezterminowo. Systemy edge muszą decydować, które informacje tworzą wartość operacyjną.

Rutynowe dane mogą być podsumowywane. Szczegółowe informacje można zachować wokół alarmów, awarii lub zdarzeń jakościowych.

Wydajność musi również pozostać przewidywalna. Maksymalna przepustowość jest mniej użyteczna, gdy czasy dostępu stają się niestabilne podczas łączonych obciążeń.

Projektanci przemysłowi będą nadal balansować między gęstością, opóźnieniami, zużyciem energii, wytrzymałością, bezpieczeństwem i wsparciem cyklu życia.

Pamięć może być niewidoczna dla operatorów, ale bezpośrednio wpływa na to, czy połączona maszyna uruchomi się, działa, rejestruje i poprawnie się odzyskuje.

Przemysł 4.0 nie opiera się więc wyłącznie na czujnikach, sieciach i sztucznej inteligencji.

Jest on również oparty na niezawodnej pamięci, która zachowuje instrukcje, kontekst i dowody stojące za każdą decyzją przemysłową.

O autorze

Daniel Mercer | Starszy analityk ds. przemysłowych systemów komputerowych

Daniel Mercer ma 15 lat doświadczenia w zakresie architektury sterowników, systemów wbudowanych, systemów ruchu oraz infrastruktury przemysłowego edge. Jego doświadczenie inżynierskie obejmuje prace integracyjne z platformami Siemens, Beckhoff Automation, Schneider Electric i Rockwell Automation w zakładach produkcyjnych i procesowych.

Zostaw komentarz

Pamiętaj, że komentarze muszą zostać zatwierdzone przed ich opublikowaniem.