Inleiding in de PLC
Siemens S7
6 Programmastructuren 6.1 Lineair programmeren Een lineair programma heeft een eenvoudige structuur. Alle instructies worden geprogrammeerd in OB1. Deze bouwsteen wordt continu doorlopen waarbij het gehele lineaire programma uitgevoerd wordt in iedere CPU cyclus. OB1
Netwerk 1 Motor1
Netwerk 2 klepsturing
Netwerk 3 Pomp
Voordelen: Dit is de meest eenvoudige manier van programmeren en komt overeen met modellen voor vast bedrade relaiscircuits.
Nadelen: Omdat alle instructies in één bouwsteen wordt opgeslagen is deze programmeermethode enkel geschikt voor kleine programma’s die door 1 persoon worden geschreven. Aangezien alle instructies in 1 bouwsteen staan worden alle instructies iedere cyclus uitgevoerd, ook deze die niet gebruikt worden. Deze methode maakt geen efficiënt gebruik van de CPU. Als er identieke programmadelen zijn, bv 5 identieke motoren starten, moeten deze programmadelen steeds opnieuw worden ingevoerd. Dit maakt het programma lang en onoverzichtelijk. Bij het testen van het programma zijn we genoodzaakt het hele programma in 1 keer te testen. Het is niet mogelijk om delen van het programma afzonderlijk te testen.
KHLim dep IWT
MeRa 25/141
Inleiding in de PLC
6.2
Siemens S7
gepartitioneerd programmeren
Gepartitioneerd programmeren is het programma opsplitsen in partities of bouwstenen waarbij in iedere bouwsteen de logica geprogrammeerd is voor een bepaalde groep van taken. De instructies die in OB1 geprogrammeerd zijn, bepalen de uitvoering van de opgedeelde bouwstenen. Deze opgedeelde bouwstenen kunnen FC’s of FB’s zijn. Deze bouwstenen fungeren dan als subroutine in het cyclische programma. Als de organisatiebouwsteen een andere bouwsteen oproep, wordt de opgeroepen bouwsteen doorlopen tot op het einde waarna het systeem terugkeert naar de plaats in het programma waar de bouwsteen werd opgeroepen (in OB1)
OB1
FC1
Netwerk 1 FC1
FC2
Netwerk 2 FC2
FC3 Netwerk 3 FC3
Voordelen: Aangezien iedere taak in een aparte bouwsteen wordt geprogrammeerd is het mogelijk om met meerdere mensen aan 1 programma te werken. Ook is het testen van het programma eenvoudiger aangezien we bouwsteen per bouwsteen kunnen testen zodat fouten makkelijker te lokaliseren zijn. Aangezien we in OB1 de bouwstenen oproepen kunnen we de bouwstenen alleen dan oproepen als dit noodzakelijk is. Hierdoor kunnen we de CPU efficiënter benutten. Bv meten van de temperatuur in een traag proces dient slechts 1 maal per minuut te gebeuren.
Nadelen: Als er identieke programmadelen zijn, bv 5 identieke motoren starten, moeten deze programmadelen nog steeds opnieuw worden ingevoerd met de bijhorende in- en uitgangen. Dit maakt het programma lang.
KHLim dep IWT
MeRa 26/141
Inleiding in de PLC
Siemens S7
Voorbeeld in STEP7 Oproepen van een FC
KHLim dep IWT
MeRa 27/141
Inleiding in de PLC
6.3
Siemens S7
gestructureerd programmeren
In een gestructureerd programma gaan we algemene oplossingen zoeken die voor meerdere taken gebruikt kunnen worden. Door specifieke informatie aan deze bouwstenen toe te voegen in de vorm van parameters, is het gestructureerde programma in staat om de algemene bouwstenen meerdere malen in te zetten in hetzelfde programma. Dit doen we door bij iedere oproep andere actuele parameters toe te kennen. Bv We maken 1 bouwsteen voor het starten en stoppen van een motor. De adressen van startknop, stopknop en thermiek vervangen we door formele parameters. Voor iedere motor in de installatie roepen we nu deze bouwsteen 1 maal op, waarbij we aan de formele parameters de bij deze motor horende in- en uitgangsadressen toekennen.
OB1
Netwerk 1
FC1 Start Stop Thermiek
FC1
FC1
Parameters motor 1
Netwerk 2 FC1
Motor
Start Stop Thermiek
Motor
Parameters motor 2
FC1 Netwerk 3 FC1 Parameters motor 3
Start Stop Thermiek
Motor
Voordelen: We kunnen algemeen inzetbare bouwstenen aanmaken die we in een library opslaan en in meerdere projecten kunnen inzetten. Dit bespaart veel programmeerwerk.
KHLim dep IWT
MeRa 28/141
Inleiding in de PLC
Siemens S7
Voorbeeld in STEP7 Aanmaken van geparametreerde FC Formele parameters van FC2
Het programma wordt geschreven met de formele parameters i.pl.v. met adressen van in- en uitgangen
Oproepen geparametreerde FC
Bij het oproepen van de bouwsteen gaan we actuele parameters toekennen aan de formele parameters. Deze actuele parameter is de gewenste in- / uitgang / merker / timer / counter … Bij iedere oproep van de bouwsteen kunnen we andere parameters toekennen
KHLim dep IWT
MeRa 29/141