Siemens-PLC programmeren met TIA Portal: basis

In industriële installaties werkt een Siemens-PLC zelden als een ‘op zichzelf staand programma’. Hij functioneert als onderdeel van een systeem: hij beschikt over geconfigureerde hardware, een netwerk, I/O-modules en communicatie met aandrijvingen en HMI-panelen, en er wordt ook van hem verwacht dat hij jarenlang diagnostiek, voorspelbare responstijden en een stabiele werking biedt. Daarom houden de basisprincipes van Siemens-PLC’s niet op bij de vraag of iemand ladderlogica kent. Het begint met het begrijpen hoe de CPU werkt, hoe TIA Portal de configuratie samenbrengt en hoe een project wordt opgebouwd, zodat iemand het na de inbedrijfstelling kan onderhouden.

Veel beginners trappen al snel in de valkuil van een ‘mooi ogend programma’ dat op een desktop wel werkt, maar in de praktijk niet meer deugt. Meestal ligt het probleem niet in de logica zelf, maar in de details: de CPU-cyclus, realtime signaalverwerking, adressering, PROFINET-communicatie, datastructuren, fouten in de I/O-configuratie of een gebrek aan diagnostiek. Als u de wereld van de automatisering op professionele wijze wilt betreden, moet u de basisprincipes beschouwen als een reeks vaardigheden voor inbedrijfstelling, in plaats van louter kennis van één programmeertaal.

Wat houdt ‘Siemens PLC’ eigenlijk in binnen een fabrieksomgeving?

Met een Siemens-PLC wordt doorgaans het SIMATIC-ecosysteem en de TIA Portal-omgeving bedoeld. De S7-1200- en S7-1500-series zijn het meest gangbaar bij nieuwe installaties, omdat ze een consistent bedieningsmodel bieden en een eenvoudige schaalbaarheid van kleine machines tot grotere productielijnen. TIA Portal fungeert als het projectcentrum: je configureert de CPU, uitbreidingsmodules, het PROFINET-netwerk, tags, programmablokken en vaak ook de HMI allemaal op één plek. Vanuit het oogpunt van onderhoud en integratie is dit een enorm voordeel, maar het vereist ook het besef dat het ‘programma’ slechts één laag is.

In een fabrieksomgeving krijg je meestal te maken met een systeem waarin de PLC verantwoordelijk is voor de sequentielogica, de veiligheid en vergrendelingen, de communicatie met aandrijvingen en het verzamelen van statusgegevens voor visualisatie. Zelfs een eenvoudige machine beschikt tegenwoordig over een frequentieregelaar, sensoren, een ventielblok, een bedieningspaneel en een of andere vorm van communicatie met een hoofdsysteem. Daarom moeten de basisbeginselen niet alleen betrekking hebben op het programmeren, maar ook op wat er ‘rondom het programma’ gebeurt.

Hoe voert een PLC een programma uit, en waarom heeft dit invloed op alles?

Een PLC werkt cyclisch. Hij leest ingangen uit, voert logische bewerkingen uit, werkt uitgangen bij en regelt de communicatie en diagnostiek. Dit werkingsmodel is van invloed op de reactie van het systeem op signalen, de toepassing van filters en vertragingen, en de werking van randdetectie. Zodra u de cyclus begrijpt, maakt u geen veelvoorkomende fouten meer, zoals het herhaaldelijk ‘vastleggen’ van een gebeurtenis binnen één cyclus, het verkeerd berekenen van de tijd of onstabiele besturing als gevolg van het ontbreken van een duidelijk punt in het programma waar u een beslissing neemt.

Bij Siemens is er ook sprake van organisatorische blokken, of OB’s. Deze vormen het raamwerk voor de uitvoering van programma’s. OB1 regelt doorgaans de hoofdcyclus, maar het systeem beschikt ook over andere OB’s die gebeurtenisgestuurd werken. Dit is belangrijk in de praktijk, aangezien bepaalde taken beter in de daarvoor bestemde blokken kunnen worden uitgevoerd dan ‘overal tegelijk’. Als je hier diagnostiek, interrupts en getimede taken aan toevoegt, begin je een programma te bouwen dat zich voorspelbaar gedraagt, in plaats van zomaar ‘op de een of andere manier’.

Projectstructuur bij Siemens: OB, FB, FC en DB als basis voor het onderhoud

Bij Siemens is een goed ontworpen project vanaf het begin gebaseerd op blokken en gegevens. Een OB fungeert als het startpunt van het programma en regelt de uitvoering ervan. Een FC is een functie die geen status bijhoudt, waardoor deze geschikt is voor berekeningen, gegevenstransformaties en eenvoudige bewerkingen. Een FB is een functieblok met statusgeheugen dat werkt op een DB-instantie, waardoor je modules kunt bouwen die apparaten en hun gedrag weergeven.

Een database bestaat uit gegevens. Je kunt er parameters, statussen, tellers, recepten en al het andere in opslaan dat de programmacyclus moet overleven. In de praktijk bieden een goed ontworpen database en een consistente blokstructuur twee voordelen. Ten eerste wordt het project overzichtelijker, omdat de apparaatlogica in speciale modules is ondergebracht in plaats van verspreid over één hoofdblok. Ten tweede wordt het project veiliger om te onderhouden, omdat een wijziging in één FB minder snel neveneffecten in de hele toepassing veroorzaakt.

Als je begint met een ‘grote OB1’, raak je al snel het overzicht kwijt over de onderlinge afhankelijkheden. Bij de lancering werkt het misschien nog wel, maar zodra er een storing optreedt, een upgrade plaatsvindt of een nieuwe functie wordt toegevoegd, ontstaat er chaos. Fundamenteel gezien is het vermogen om een applicatie op te splitsen in functionele blokken (FB) voor apparaten en functies belangrijker dan de vraag of iemand een mooie contactlay-out schrijft in LAD.

Programmeertalen: LAD, FBD en SCL

In de discrete logica kom je nog steeds heel vaak LAD tegen. Onderhoudsmonteurs geven de voorkeur aan LAD omdat hiermee vergrendelingen, blokkeringen en startvoorwaarden gemakkelijk te lezen zijn. Dit is logisch, vooral bij machines waar snelle logische diagnose nodig is. FBD kan handig zijn voor eenvoudige functionele en signaalcircuits.

SCL, oftewel Structured Text van Siemens, biedt voordelen bij het werken met gegevens, arrays, recepten, berekeningen en schaalberekeningen. In de industriële praktijk is SCL uiterst nuttig omdat je hiermee heldere en herhaalbare code kunt schrijven, terwijl het ook het aanmaken van bibliotheken vergemakkelijkt. Als je een carrière in de automatisering overweegt, loont het niet om je tot één enkele programmeertaal te beperken. Een basiskennis van Siemens-PLC’s houdt in dat u weet wanneer LAD het onderhoud vergemakkelijkt en wanneer SCL het ontwerpproces verkort en het aantal fouten vermindert.

PROFINET en I/O: zonder deze twee kun je niet aan de slag

In nieuwe installaties is PROFINET de standaard. De CPU fungeert doorgaans als I/O-controller, terwijl veldapparaten als I/O-apparaten fungeren. In- en uitgangen bevinden zich vaak op I/O-eilanden in de schakelkast of in gedistribueerde modules. Aandrijvingen, klepeilanden, lezers, weegschalen en andere apparaten communiceren via PROFINET. Dit betekent dat ‘PLC-programmering’ zonder kennis van het netwerk ertoe leidt dat het project alleen in het laboratorium werkt.

De basisvaardigheden op dit gebied omvatten het kunnen configureren van apparaten in TIA Portal, het toewijzen van PROFINET-namen, het instellen van adressering en het laden van apparaatbeschrijvingen. In de praktijk komen bij de inbedrijfstelling vaak problemen voor zoals onjuiste apparaatnamen, adresconflicten, modules die niet overeenkomen met de configuratie of problemen met de topologie. Zonder online diagnostiek kun je al snel urenlang op zoek zijn naar een storing die het gevolg is van slechts één parameter.

Het is ook goed om te onthouden dat I/O niet alleen draait om het ‘toewijzen van bits’. Wat telt, zijn filtertijden, contactstoringen, signaalsnelheden en – in analoge systemen – schaalbaarheid, filtering en foutdetectie. In wezen moet je het signaal zo kunnen configureren dat het geen valse gebeurtenissen genereert of sequenties verstoort.

Diagnostiek en inbedrijfstelling: hier vindt het grootste deel van het werk plaats

Bij een sprint wint meestal niet degene die het snelst code schrijft. De winnaar is degene die het snelst kan vaststellen en begrijpen wat het systeem op elk willekeurig moment doet. Daarom moeten online tools deel uitmaken van de basis: tagmonitoring, watchlists, controles van de module-status, analyse van de cyclustijd en het oordeelkundig gebruik van forcing. Forcing is een krachtig en gevaarlijk hulpmiddel, dus het vereist discipline. Het wordt gebruikt om omstandigheden na te bootsen en de reactie van het programma te controleren, niet alleen om het ’te laten werken’.

Het is aanbevolen dat het programma aangeeft wat er gebeurt. Als het apparaat niet start, moeten de operator en de onderhoudstechnicus kunnen zien of dit wordt veroorzaakt door een storing, een ontbrekende bevestiging, een onvoorbereide aandrijving, een tekort aan druk of een andere oorzaak. Dit betekent dat u vanaf het begin statusbits, diagnosesignalen en eenvoudige mechanismen om te achterhalen ‘waarom het niet werkt’ moet inplannen. Zonder dit wordt elke opstartprocedure een zoektocht naar één enkele bit tussen honderden tags.

De minimale norm voor een eerste toepassing die in een fabriek zinvol is

Als je je eerste toepassing in Siemens wilt bouwen zodat deze lijkt op de praktijk, ontwerp deze dan als een klein onderdeel van een machine. Maak een structuur met een FB voor de functie, voeg een DB toe voor parameters en statussen, en organiseer de logica zo dat deze kan worden gediagnosticeerd. Een praktisch voorbeeld is de besturing van een aandrijving met een start- en stopsequentie, vergrendelingen, bevestigingen, timers en foutafhandeling.

In deze toepassing leer je het hele proces kennen: van I/O-configuratie en logica tot online diagnostiek. Je leert ook hoe je met statussen moet werken, aangezien je bij deze sequentie de fase in de gaten moet houden en deze op de juiste manier moet resetten. Dit is precies het soort vaardigheid dat vanaf dag één van pas komt in een controlekamer of bij een systeemintegrator.

Hoe kun je studeren zonder vast te lopen op de basisbeginselen?

De meest voorkomende valkuil is het uit het hoofd leren van afzonderlijke instructies zonder de operationele context te begrijpen. In een fabriek maakt het niemand uit of je vijftig functieblokken kent. Waar het mensen om gaat, is of je de machine kunt opstarten, de oorzaak van een stilstand kunt achterhalen, de volgorde kunt corrigeren en ervoor kunt zorgen dat de procesveiligheid niet in het gedrang komt.

Daarom moet een goed opgebouwd leertraject een reeks opdrachten volgen: discrete besturing, analoge besturing, communicatie en eenvoudige visualisatie. Bij elke opdracht moet je oefenen met het oplossen van problemen en ervoor zorgen dat je code overzichtelijk is. Als je er vanaf het begin een gewoonte van maakt om modules, statusindicatoren en duidelijke blokkeervoorwaarden te gebruiken, zul je later gemakkelijker grotere projecten kunnen aanpakken.

Samenvatting – Basisprincipes van Siemens-PLC’s

De basisbeginselen van Siemens-PLC’s omvatten een reeks vaardigheden die zorgen voor een betrouwbare inbedrijfstelling en onderhoud, en niet alleen maar ‘werkende code’. Je moet inzicht hebben in de CPU-cyclus, de structuur van OB/FB/FC/DB-blokken, gegevensverwerking en online diagnostiek. Daarnaast moet je ook kennis hebben van PROFINET en I/O-configuratie, aangezien deze de ruggengraat vormen van de meeste installaties.

Zodra je deze basisbeginselen onder de knie hebt, wordt de programmeertaal een hulpmiddel in plaats van een doel op zich. Dan gaan LAD, FBD en SCL voor je werken, in plaats van tegen je. En dan zal je eerste toepassing geen ‘oefenproject’ meer zijn, maar iets dat echt lijkt op wat er in de praktijk gebeurt.

0 reacties
Oudste
Nieuwste