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