Iot- en pc-gebaseerde besturing om productie- en machinedata te benutten

Machines, apparaten en fabrieken produceren steeds meer data naarmate ze slimmer worden en meer verbonden zijn. Smart Industry belooft deze enorme hoeveelheden data om te zetten in waardevolle informatie. Mathworks en Beckhoff laten zien hoe deze uitdaging kan worden aangepakt.

Fabian Bause is Twincat-productmanager bij Beckhoff Automation. Rainer Mümmler is principal application engineer bij Mathworks.

18 december 2020

Smart Industry zal bekende paradigma’s transformeren, zoals de vorm van de automatiseringspiramide, die nu ongeveer een kwart eeuw oud is. Als model voor automatisering in fabrieken kan de piramide op verschillende manieren worden begrepen. Een daarvan is hoe gegevens worden uitgewisseld en verwerkt in geautomatiseerde omgevingen.

De automatiseringspiramide bestaat uit vijf lagen, die in twee secties kunnen worden opgedeeld. Het onderste gedeelte beslaat het productieproces met sensoren, actuatoren, aandrijvingen, motoren en gereedschappen in laag 0 die het eigenlijke werk doen, en de plc’s in laag 1 die het proces regelen. Het bovenste deel vormt het bedrijfsmanagementniveau, bestaande uit scada (laag 2), mes (laag 3) en erp (laag 4).

De automatiseringspiramide.

Van fabrieksvloer tot bedrijfsniveau

De piramidevorm is niet alleen gekozen om hiërarchische redenen, maar ook omdat informatie horizontaal en verticaal reist. Onderaan is de hoeveelheid geproduceerde gegevens het grootst. De componenten in laag 0 communiceren verticaal en hard realtime vanuit verschillende delen van de machine met de controlelaag met bemonsteringsfrequenties tot enkele kilohertz, waardoor veldbussen nodig zijn om deze enorme datastromen te versturen. De bussen die hier worden gebruikt, zijn onder meer Ethercat, Profinet en ethernet/ip.

De plc’s in laag 1 zorgen ervoor dat het beoogde proces wordt uitgevoerd volgens de juiste stappen op het juiste moment binnen de vereiste toleranties. Horizontaal kunnen de controllers met elkaar communiceren, hetzij realtime, met behulp van Ethercat Automation Protocol (EAP) of UDP, hetzij niet-realtime, met bijvoorbeeld OPC UA, ADS of TCP/IP.

De business-machine-communicatie begint op de fabrieksvloer. Deze communicatie is meestal niet realtime, omdat ze doorgaans afhankelijk is van switches, routers, firewalls en andere infrastructuurapparaten die vertragingen veroorzaken. Traditioneel worden beslissingen langzamer genomen hoe hoger je in de piramide komt en zijn ze gebaseerd op steeds meer gecondenseerde gegevens.

 advertorial 

Innovatieve tilhulp op basis van servopneumatiek

Zuidberg uit Ens ontwerpt en produceert diverse componenten voor landbouwvoertuigen. Voor een nieuwe assemblagelijn ontwikkelde engineers van Zuidberg zelf ergonomische balancers die als tilhulp fungeren. “We hebben niet alleen gekeken naar ergonomie, maar ook naar producthandling. Bovendien kunnen we de balancer helemaal naar wens instellen.” Lees de reportage: Zuidberg kiest voor servopneumatische balancer | Festo NL

Een huidige trend in Smart Industry is om de mes-systemen en zelfs de erp-systemen rechtstreeks te verbinden met plc’s. Deze toplagen verzamelen nu niet alleen gegevens uit de lagen direct eronder, waar ze zijn samengevat en geanalyseerd, maar kunnen ook receptgegevens rechtstreeks naar plc’s sturen en in ruil daarvoor statusrapporten terugkrijgen. Dat maakt de weg vrij voor de flexibiliteit en responstijden die de slimme industrie nodig heeft.

Breng automatisering naar businessniveau

Toekomstige productie- en onderhoudsomgevingen zullen het hoofd moeten bieden aan steeds meer fabrieken die over verschillende locaties zijn verspreid. Machinebouwers zullen hun wereldwijd draaiende apparatuur in de gaten willen houden en onderhoudscontracten op afstand willen aanbieden. Het opzetten van geautomatiseerde processen in laag 2 en 3 en het met elkaar verbinden van fabrieken is daarom de toekomst van industriële automatisering. Productiebedrijven en machinebouwers moeten dit efficiënt en veilig kunnen doen, dus zonder de veilige werking, de netwerkintegriteit en waardevolle vertrouwelijke gegevens in gevaar te brengen.

Een goed startpunt voor procestechnologen, productieplanning en machinebouwers is het scada-niveau (laag 2), waar alle relevante productiegegevens al gereduceerd binnenkomen en worden geanalyseerd. Een eenvoudige manier om verbinding te maken met externe netwerken – en om rekenkracht toe te voegen – is door een edge-apparaat in te voegen. Door dit op scada-niveau te doen, kunnen bedrijven hun mes- en erp-inspanningen concentreren op minder locaties of zelfs op één centraal punt, waar het eenvoudig is om de machinebouwers toegang te verlenen tot gegevens van de fabrieksvloer en plc’s, maar niet tot de business- en bedrijfsgegevens van het productiebedrijf.

Een manier om veilige verbindingen tussen gedistribueerde fabrieken tot stand te brengen, is het gebruik van vpn’s, maar het opzetten en onderhouden ervan brengt verschillende uitdagingen met zich mee. Een alternatief is om te vertrouwen op cloudgebaseerde oplossingen die de voordelen bieden van veilig datatransport (zoals vpn) en de nadelen minimaliseren als het gaat om het onderhouden van de netwerkverbinding.

Thingspeak

Datacommunicatie in de cloud maakt vaak gebruik van transport layer security (tls). Traditioneel werken dergelijke oplossingen op client/server-basis. Als een technicus wil communiceren met een plc op een externe locatie, fungeert de plc die de gegevens aanbiedt als de server en de machine van de gebruiker neemt de rol van een client, waardoor een directe verbinding met de plc tot stand wordt gebracht. Het beveiligen van deze verbinding met behulp van tls is geen probleem, maar daarvoor zou een poort in de firewall moeten worden opengezet, wat de meeste it-beheerders eenvoudigweg weigeren.

Verbinden van een Thingspeak-server met de automatiseringspiramide.

Het Thingspeak-platform van Mathworks gebruikt een publisher/subscriber-model om deze beperkingen te elimineren en tegelijkertijd extra voordelen te bieden aan de gebruiker. De Thingspeak-server kan in een beveiligd netwerk worden geplaatst en fungeren als berichtenmakelaar, zodat alle gegevens die erop worden gepubliceerd alleen via een uitgaande verbinding worden verzonden. Elke subscriber verzendt zijn verzoeken ook via een uitgaande verbinding en ontvangt gegevens als een tcp-antwoord (zoals een webbrowser).

Deze aanpak heeft voordelen. Alle partijen die bij deze communicatie betrokken zijn, hoeven alleen het ip-adres van de berichtenmakelaar te weten. Het is niet nodig om ip-informatie van deelnemers vrij te geven buiten de individuele verbinding met de Thingspeak-server. Het toevoegen van nieuwe publishers en subscribers is eenvoudig, waardoor de applicatie flexibel en schaalbaar is. Omdat elke verbinding met de server in wezen een uitgaande verbinding is, zijn er geen aanvullende firewallvereisten, waardoor het gemakkelijk is om te integreren met bestaande it-infrastructuren en ze tegelijkertijd veilig te houden.

Gebruik van Thingspeak

Thingspeak-communicatie is gebaseerd op eenvoudig configureerbare kanalen. Deze hebben lees/schrijf-api-sleutels en kunnen openbaar of privé worden gemaakt. Elk kanaal bevat acht velden om acht gegevensstromen op te slaan, zoals sensormetingen, elektrische signalen of temperaturen. De maximale updatesnelheid is één keer per seconde. Elk veld van elk kanaal is voorzien van een standaardvisualisatie die automatisch wordt bijgewerkt als er nieuwe gegevens binnenkomen.

Gebruik van het MQTT-protocol om data te verzamelen.

Om gegevens voor deze kanalen te verzamelen, biedt Thingspeak Rest- en MQTT-api’s en specifieke hardwareondersteuning. Waar de Rest-api platformspecifiek is, is de MQTT-api algemeen. De enige vereiste van MQTT is dat de gebruiker het juiste payload-formaat specificeert, waarna het gemakkelijk te implementeren is voor tal van applicaties en apparaten.

Zodra de kanaaldata in Thingspeak zitten, kunnen ze worden opgeslagen in de cloud of direct worden verwerkt en gevisualiseerd. Het platform biedt de mogelijkheid om Matlab-code uit te voeren zonder dat er een verdere licentie nodig is. Meer dan een dozijn Matlab-toolboxen bieden functionaliteit voor statistiek, analyse, signaalverwerking, machine learning en meer. Matlab-scripts kunnen worden ingepland, waardoor geüpdatete berekeningen en visualisaties op vaste tijden mogelijk zijn.

Scripts kunnen in Thingspeak worden ingevoegd door eenvoudig de Matlab-code te kopiëren en te plakken. Die code kan – zowel voor gebruiksgemak als voor testen – worden geschreven op elke desktop of laptop met een Matlab-licentie. Thingspeak wordt zo een natuurlijke cloud-extensie van de Matlab-desktop.

De herziene piramide

Thingspeak alleen is natuurlijk geen garantie voor een succesvolle iot-omgeving, maar het past er vrij eenvoudig in. Om dit te begrijpen, moeten we de data-acquisitie en -verwerking in de piramide nog eens bekijken.

Op de fabrieksvloer worden live data realtime en lokaal op de controller verwerkt. Dit vereist een enorme bandbreedte en dus veldbussen met datasnelheden tot enkele gigabit per seconde, die Beckhoff aanbiedt door poortvermenigvuldigers te gebruiken met standaard 100 Mb/s Ethercat of door Ethercat G te gebruiken met een datasnelheid van 1 Gb/s. De benodigde algoritmes kunnen bijvoorbeeld in Matlab en Simulink worden ontwikkeld en vervolgens met Matlab Coder en Simulink Coder op de plc worden geïntegreerd, samen met de target voor Matlab/Simulink voor naadloze integratie in de automatiseringssoftware Twincat 3 van Beckhoff. Deze aanpak garandeert een snelle verwerking met deterministische responstijden en vertragingen in het sub-millisecondebereik die nodig zijn voor realtime gecontroleerde processen. Toepassingen voor dit soort gegevensverwerking zijn statusmonitoring, energiemonitoring, visiontoepassingen en informatiecompressie.

Dataverwerking in de scada-laag (level 2, Twincat 3 Runtime) of op het edge-apparaat (Twincat 3 Runtime/Matlab Compiler Runtime).

De nadelen van de beperking van gegevensverwerking tot de plc-laag zijn dat er slechts één specifiek proces kan worden bewaakt en bestuurd (zonder kennis van aangrenzende processen, machines of apparatuur) en dat alleen live gegevens worden gebruikt (geen gegevensgeschiedenis). Om deze reden worden data die door meer dan één controller worden aangeleverd vaak verder verwerkt in de scada-laag. Dit kan worden geïmplementeerd op een edge-apparaat – bijvoorbeeld een industriële pc – die de link vormt naar Thingspeak. Een dergelijke structuur maakt live datastroomverwerking mogelijk, evenals vergelijking met opgeslagen gegevens, wat behoorlijk verschilt van de plc-laag, waar gegevens gewoon doorstromen en er vrijwel geen beschikbaar is.

Gegevensverwerking op een edge-apparaat kan een hoge rekenkracht en geheugen combineren met Gigabit-lan met hoge bandbreedte. Het kan echter geen deterministische reactietijden produceren en is daarom niet geschikt om processen realtime te besturen. Nogmaals, de vereiste code kan in Matlab worden geschreven of worden gegenereerd op basis van Simulink-modellen. Implementatie op het edge-apparaat (met Matlab Compiler) garandeert een snelle uitvoering van runtime-applicaties. Met behulp van de Twincat 3-interface voor Matlab/Simulink kan snelle communicatie tot stand worden gebracht tussen de plc-laag en de Matlab Runtime op een edge-apparaat. Dit laatste omvat de mogelijkheid om functies die in Matlab zijn geschreven weer te geven als een oproepbare functie vanuit de plc. Typische toepassingen zijn cross-processtatistiek, modelgebaseerde optimalisatie, anomaliedetectie en wederom informatiecompressie.

Alle dataverwerking die tot nu toe is beschreven, vindt lokaal plaats in één gesloten netwerk. Hoewel deze benadering een uitgebreid overzicht kan geven van één fabriek of locatie, is het niet mogelijk om processen die over verschillende locaties zijn verspreid te bewaken of te besturen. Dit is een mogelijkheid die wordt aangeboden door Thingspeak.

Buiten de traditionele piramide

Omdat Thingspeak via een extern netwerk met het edge-apparaat is verbonden, is datareductie vaak nodig vanwege de bandbreedte. Deze reductie kan worden uitgevoerd door algoritmes die direct zijn geïntegreerd in de runtime-applicatie die is gemaakt door Matlab Compiler. Thingspeak kan de binnenkomende datastroom opslaan of direct verwerken. Informatiereductie kan ook worden uitgevoerd binnen de plc met geïntegreerde Matlab-functionaliteiten en er kan een directe verbinding van de plc naar Thingspeak worden gelegd. Vanwege vertragingen en bandbreedtelimieten kan Thingspeak geen deterministische responstijden en realtime controle bieden.

Gebruik van Thingspeak om meerdere fabrieken en machines te monitoren.

Desalniettemin zijn de voordelen enorm. De integratie van verschillende processen is eenvoudig. De gebruiker hoeft alleen de corresponderende kanalen op te geven om gegevens te verzamelen. Op deze manier kan een willekeurig aantal faciliteiten op Thingspeak worden aangesloten. Bovendien is de opslagcapaciteit veel hoger, waardoor datageschiedenissen kunnen worden opgeslagen om onderhoud- en zakelijke beslissingen over lange periodes te ondersteunen. Dit is niet alleen interessant voor productie-industrieën, maar ook voor machinefabrikanten die nu machines over de hele wereld kunnen monitoren, onderhoudscontracten kunnen aanbieden en prestaties kunnen vergelijken op basis van omgevingsomstandigheden, allemaal vanaf één locatie.

Thingspeak biedt een serverloze architectuur. Hoewel de Thingspeak-cloud weliswaar servers bevat, werken ze zonder dat gebruikers ze hoeven te onderhouden of bij te werken. Het platform wordt ook geleverd met Matlab en verschillende toolboxen erin geïntegreerd. Het gebruik van Matlab stelt gebruikers in staat hun activiteiten in Thingspeak uit te breiden naar de desktop voor algoritme- en codeontwikkeling of implementatie van realtime en runtime-applicaties. Dit maakt Thingspeak tot een effectieve link tussen een uitgebreid modelleer- en ontwerpplatform en industriële en wetenschappelijke toepassingen in het veld, terwijl bedrijven tegelijkertijd hun mogelijkheden voor zakelijk gebruik kunnen benutten.