18.09.2013 Views

6 programma structuren - KHLim

6 programma structuren - KHLim

6 programma structuren - KHLim

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!