De PLC geïntegreerd in de PC

advertisement
Vervolg
Eerste blad niet afdrukken.
Document eindigen op een even pagina.
Versie: vrijdag 2 november 2007
VRIJ TECHNISCH INSTITUUT
2 Programmable Logic Controller
Een Programmable Logic Controller is een elektronisch apparaat met een
microprocessor dat op basis van de informatie op zijn diverse ingangen, zijn uitgangen
aanstuurt. In de industrie worden machines over het algemeen aangestuurd met PLC's en
die zijn daarmee een belangrijk onderdeel in de automatisering.
De PLC verwerkt de informatie aan de ingangen en stuurt hiermee de uitgangen.
In een eenvoudig blokschema kan men de PLC als volgt voorstellen.
Ingangsdeel
Verwerkingsdeel
VERWERKING
INGANGEN
van het
programma door
de CPU
Uitgangsdeel.
UITGANGEN
Deze indeling komt verder in de cursus terug als we de bestanddelen van de PLC
bespreken.
2.1 Werking van de PLC
Om de informatie van de ingangen te verwerken naar de uitgangen toe, doorloopt de PLC
intern voortdurend een voorgeprogrammeerde cyclus. De PLC leest de status van de
ingangen in, verwerkt deze ingangen volgens een bepaalde programmering (programma).
Na de uitvoering van het programma wordt de status van de uitgangen aangepast aan de
resultaten van het programma. De cyclus is beëindigd en begint automatisch van vooraf
aan met het inlezen van de ingangen.
Een cyclus van een PLC duurt enkele milliseconden, daardoor kan een PLC schijnbaar
vele dingen tegelijk doen.
Ingangen
PII
Programma
verwerking:
Regel na
regel
PIQ
PLC CYCLUS
Uitgangen
PII : Proces Input Image = de status van de ingangen wordt bewaard in het geheugen.
Er wordt als het ware een foto gemaakt van de status van de ingangen.
PIQ : Proces Output Image = de status van de uitgangen wordt bewaard in het geheugen.
Het programma wijzigt de status van de uitgang in dit geheugen. Na het doorlopen van het
programma worden de uitgangen aangepast aan de hand van dit geheugen.
Toegepaste Informatica
29
VRIJ TECHNISCH INSTITUUT
2.2 Bestanddelen van een PLC
INGANGEN
= INPUT
Voeding
CPU
SF
BA F
SIEMEN
S
DC5V
FRCE
DC24V
RUN
STOP
Voltage
selector
UITGANGEN
= OUTPUT
IO
RUN-P
RUN
0
0
1
1
2
2
3
4
3
4
5
5
6
7
6
7
0
0
1
1
2
2
3
4
3
4
5
5
6
6
7
7
ON
OFF
STOP
MRES
Programmeertoestel
VELDBUS =
Seriële
verbinding
met andere
periferie
Informatie over
de installatie
d.m.v.:
- schakelaar
- drukknop
ultrasoonsensor
- druksensor
- optische sensor
- inductieve
sensor
Sturen van de
installatie d.m.v.:
- (signaal)lamp
- relais
- elektroventiel
- contactor
- toeter
- inductieve
sensor
2.2.1 Voeding:
De meeste PLC's hebben een spanning nodig van 24V DC. Deze spanning wordt
veelvuldig gebruikt in industriële installaties omdat het een veilige spanning is.
De meeste sensoren en actoren zijn dan ook ontworpen voor deze spanning.
De PLC dus ook.
Sommige PLC's kan men uitrusten met een modulaire voeding, de voeding past dan op
dezelfde montagerail als de PLC en kan via speciale hulpstukken rechtstreeks
aangesloten worden.
Dit is echter niet noodzakelijk, men kan evengoed een externe voeding gebruiken en deze
24V aan de PLC aansluiten.
30
Toegepaste Informatica
VRIJ TECHNISCH INSTITUUT
2.2.2 CPU-module:
De CPU is de eigenlijke PLC. Zoals de naam het zegt bestaat deze module uit een
processor die voor de verwerking van het programma zorgt. Naast de processor bestaat
de CPU nog uit:
●
Het programma geheugen, meestal een niet vluchtig of batterij gebufferd geheugen
dat zorgt voor de opslag van het programma.
●
De verschillende accumulator geheugens die zorgen voor de tijdelijke opslag van
de tussenresultaten.
●
Het Process Input Image (PII)en het Process Output Image bevat respectievelijk de
data van de ingangen en de data van de uitgangen. De CPU verwerkt deze data.
●
Een systeem programma dat zorgt voor het opstarten, controleren van de PLC. Dit
programma is opgeslagen in ROM-geheugen.
●
Een interface aanpassing die zorgt voor data uitwisseling tussen de verschillende
I/O-modules en het input/output-image geheugen.
Interne communicatie van de PLC: de data uitwisseling tussen
de CPU-module van PLC en de verschillende I/O-:kaarten.
PLC-RACK
PIQ
ROM
register
CPU-module
Ingangsgeheugen
Ingangsgeheugen
Buskoppelkaart
011010011101100010110010100111010
Blokschema van een modulaire PLC.
CVE
CPU
Uitgangsgeheugen
PII
register
IOIIOOIOIOOIIIOOIIOIIOOI Uitgangsgeheugen
CVE
CPU
Accumul
ator
Ingangsgeheugen
geheugen
Controle
logica
Uitgangsgeheugen
Program
ma
IO module
Individuele in- en uitgangen
2.2.3 IO Modules:
IO staat voor input/output. De eigenlijke in- en uitgangskaarten van de PLC.
o Op de ingangskaarten worden de ingangssignalen aangesloten. Deze komen van
de sensoren. Meestal werken deze op 24V gelijkspanning. Elke ingang is 1bit.
o Er bestaan ook analoge ingangskaarten deze vertalen dan een waarde van een
spanning of stroom naar een getal deze informatie wordt dan vertaalt naar 8 tot 16
bit informatie. Één ingang is dan bijvoorbeeld 16bit = een woord.
o Hetzelfde kan men vertellen over de uitgangssignalen. De uitgangen schakelen dan
afhankelijk van de informatie 24V of 0V. De aangesloten verbruiker treedt dan in
werking of juist niet. Dit kunnen lampjes zijn, ventielen ,relais, …
o Evenals bij de analoge ingangen bestaan er ook analoge uitgangen. Met 8 of 16 bit
data kan je dan een spanning laten variëren tussen 0 en 10V bijvoorbeeld.
Toegepaste Informatica
31
VRIJ TECHNISCH INSTITUUT
2.2.4 Het programmeertoestel.
De PLC moet geprogrammeerd worden met een programmeer toestel. Meestal is dit een
laptop met speciale software. Met deze software wordt het programma van de PLC naar
de laptop verzonden of omgekeerd. De programmering van de PLC kan dan worden
zichtbaar gemaakt in een bepaalde programmeertaal en kan aangepast worden door de
programmeur.
2.2.5 De HMI.
Complexere installaties met PLC, maken gebruik van een grafische visualisatie die de
toestand van het automatische proces weergeeft. Deze visualisatie gebeurt op een
speciaal (kleuren)scherm.
De bediener kan eveneens via deze weg het proces aanpassen, besturen.
Zulk een interface tussen mens en machine wordt HMI genoemd of Human Machine
Interface.
Deze HMI’s zijn dikwijls uitgerust met een PC.
Voorbeeld van een HMI
De PC is duidelijk zichtbaar bij deze HMI.
2.2.6 Externe modules.
Door middel van een seriële verbindingen kunnen externe modules aan de PLC gekoppeld
worden. Dit kunnen IO-modules zijn net zoals de IO-modules van de PLC zelf. Dit kunnen
ook speciale modules zijn of zelfs andere sturingen. Frequentie regelaars, robotsturingen,
lassturingen, andere PLC's of andere processturingen.
32
Toegepaste Informatica
VRIJ TECHNISCH INSTITUUT
2.3 PLC types
In het voorbeeld bij de werking van de PLC is er een traditionele, modulaire PLC gebruikt.
Men heeft verschillende soorten e PLC's in verschillende categoriën stoppen.
2.3.1 Traditionele PLC's
Traditionele PLC's hebben een eigen processor met eigen geheugen en hebben enkel een
voedingsspanning nodig om te kunnen functioneren.
Deze hardware is speciaal ontworpen door de PLC-fabrikant. Door het beperkt markt
segment t.o.v. van andere toestellen vb PC's, zijn deze PLC's in verhouding vrij duur.
Meestal zijn deze PLC's modulair opgebouw zodat uitbreiding via bijkomende modules
mogelijk is. De CPU module zelf heeft geen IO, er moeten dus IO modules gekoppeld
worden.
Bij de modulaire PLC's heeft men compact modulaire PLC's en grote Rack PLC's.
Een 'grote' Rack PLC.
Op de afbeelding zie je alleen het
Rack met de voeding.
In dit rack wordt één of meerdere
CPU's gestopt en de verschillende
IO modules.
Dit type PLC wordt gebruikt voor
grote installaties.
Verbinding van de CPU met de IOmodules gebeurt parallel.
De compacte PLC, is ook modulair. Op de afbeelding
zie je van links naar rechts een voedingsmodule, een
CPU module en 3 IO modules.
De verbinding tussen de modules gebeurt serieel.
Er bestaan ook PLC's die al een beperkt aantal in en uitgangen aan boord hebben. Binnen
één behuizing heeft men zowel de CPU module, als een aantal in en uitgangen. Soms zijn
deze PLC's zelfs rechtstreeks aansluitbaar aan de netspanning. Ondanks dat deze PLC's
alles in één behuizing hebben, zijn de meeste van dit type PLC's toch nog beperkt
uitbreidbaar.
Toegepaste Informatica
33
VRIJ TECHNISCH INSTITUUT
2.3.2 De SLOT PLC
Een slot PLC is een PLC met eigen processor en
geheugen. De PLC is echter gebouwd als
insteekkaart voor een PCI-slot van een PC. Vandaar
ook de naam SLOT PLC.
Natuurlijk kunnen de IO modules niet op deze kaart
voorzien zijn. Voor de verbinding met de periferie
wordt gebruik gemaakt van externe IO modules die
via een veldbussysteem verbonden zijn met de PLC.
Via de verbinding met de computer, de PLC steekt
namelijk in bijvoorbeeld een PCI slot van een
computer, kan er allerhande data uitgewisseld
worden. Zo kan de PLC bijvoorbeeld dan
geprogrammeerd en gemonitord worden via de PC
waar hij insteekt.
2.3.3 De SOFT PLC
Nog een stapje verder in de ontwikkeling is de SOFT PLC. De soft PLC heeft geen eigen
hardware meer. En maakt voor de verwerking van het PLC-programma gebruik van de
processor van de PC zelf. Het gedrag van de PLC wordt dan bepaald door Software
vandaar SOFT-PLC.
Om te kunnen communiceren met de periferie wordt net als bij de SLOT-PLC gebruik
gemaakt van externe modules die via een veldbus systeem verbonden worden met de PC.
De PC moet dus wel een kaart hebben om te kunnen communiceren via het
veldbussysteem. Er zijn zelfs al veldbussen gebaseerd op het ethernet. Bij die systemen is
een gewone netwerkkaart zelfs voldoende.
Door gebruik te maken van een SLOT- of een SOFT-PLC kan men verschillende toestellen
gaan combineren.
Zo kan bijvoorbeeld de HMI, die in feite een PC is ook gebruikt worden als PLC zelf.
34
Toegepaste Informatica
VRIJ TECHNISCH INSTITUUT
2.4 Programma verwerking van de PLC
Om een PLC te kunnen programmeren is het belangrijk te weten hoe de CPU van de PLC
het programma verwerkt.
2.4.1 De PLC-cyclus
Onderstaande figuur geeft de meest voorkomende PLC-cyclus grafisch weer. In deze
cyclus zie je wat er juist gebeurt en in welke volgorde.
Nieuwe start
PIQ-register wordt op
‘0’ gezet
Uitgangen worden
op ‘0’ gezet
Starten cyclustijdbewaking
Ingangen
PII-register wordt
ingelezen.
Programma (MAIN)
Instructie 1
Instructie 2
Instructie 3
Instructie 4
Instructie 5
Laatste instructie
PIQ-register wordt
overgedragen naar de
uitgangen.
Uitgangen
We onthouden:
De toestand van de ingangen wordt in het Proces Image Input geheugen geplaatst
Het programma wordt instructie per instructie in volgorde verwerkt, te beginnen met het
hoofdprogramma.
Het Proces Image Output geheugen bepaald de toestand van de uitgangen.
Toegepaste Informatica
35
VRIJ TECHNISCH INSTITUUT
2.4.2 Adressering in een PLC.
In het PLC programma worden de ingangsinformatie – meestal ingangen – verwerkt naar
uitgangsinformatie – meestal uitgangen.
De ingangsinformatie en de uitgangsinformatie word via een bepaalde adressering
aangesproken. Het principe van deze adressering wordt bij alle types PLC gebruikt.
In de adressering wordt er eerst en vooral een onderscheid gemaakt tussen
ingangsinformatie, uitgangsinformatie en geheugeninformatie.
Het ingangsbereik van de PLC wordt aangesproken met I van Input.
Het uitgangsbereik van de PLC wordt aangesproken met Q van Output. Mijn schrijft niet O
omdat dit verwarring kan geven met het cijfer 0. Het cijfer 0 wordt ook gebruikt in de
adressering vandaar.
Het geheugenbereik van de PLC wordt aangesproken met M van marker. Dit
merkergeheugen dient voor de opslag van tussentijdse resultaten in het programma.
Elke van deze bereiken zijn opnieuw ingedeeld en kan men per bit of per byte aanspreken.
Het byte adres begint vanaf 0 en gaat zo verder, in elke byte kan elke bit apart
aangesproken worden. In een byte zijn er 8 bits. Bij de adressering wordt dit eerste bit via
adres 0 en de 8ste bit met adres 7 aangesproken. Naar analogie met de binaire logica.
Welk adres je juist moet aanspreken om bijvoorbeeld de status van een bepaalde ingang
in te lezen is afhankelijk van de PLC configuratie.
Om een bepaalde ingangsbit aan te spreken gebruikt men bijvoorbeeld volgend adres.
I 124.3
Bit adres
Byte adres
Is afhankelijk van het soort module,
Is afhankelijk van PLC configuratie.
Het bereik :
-
I : Ingangsbereik
-
Q : Uitgangsbereik
-
M : Merkerbereik
Als je een bit aanspreekt kan deze dus maar twee waarden aannemen nl 0 of 1
Meestal komt status '0' van een ingang of uitgang voor westerse PLC's overeen met 0V
aan de ingang of aan de uitgang.
Status '1' komt overeen met 24V aan de ingang of uitgang.
Afhankelijk van programmeertaal en PLC die men gebruikt spreekt men voor status '1' ook
van True, Waar, H. Bij status '0' van False, onwaar, L.
Het is ook mogelijk per byte, woord of zelfs dubbel woord te adresseren.
Het adres zelf blijft meestal een byte aanwijzing.
36
Toegepaste Informatica
VRIJ TECHNISCH INSTITUUT
Enkele voorbeelden ter verduidelijking
IB124 => met deze adressering spreekt men I124.0 tot en met I124.7 aan.
De waarde van dit BYTE-adres is dan geen BOOL meer (0)2 of (1)2, maar een integer getal
dat kan variëren tussen (0)10 en (255)10
Een instructie zou kunnen zijn IB124=0
Hiermee worden dan I124.0 tot en met I124.7 laag gemaakt.
IW124 => met deze adressering spreekt men I124.0 t.e.m. I124.7 en 125.0 t.e.m. 125.7
aan.
IDW124 => met deze adressering spreekt men I124.0 t.e.m. I124.7, I125.0 t.e.m. I125.7,
I126.0 t.e.m. I126.7,en 127.0 t.e.m. 127.7 aan.
2.4.2.1 Symbolische adressering
Om dat de adressering via byte en bit adres niet veel zegt over de aangesloten sensor of
actuator wordt bij de programmering van een PLC bijna altijd gebruikt gemaakt van een
symbolische adressering. In plaats van het adres, wordt dan een symbolische naamgeving
gebruikt.
De bedoeling van deze naamgeving is het signaal dat in het programma verwerkt wordt
een herkenbare naam te geven zodat de functie van het signaal duidelijk is.
Op die manier wordt het programma beter leesbaar zonder dat men allerhande
toekenningslijsten moet gebruiken.
In een toekenningslijst staat bijvoorbeeld welke sensor is aan gesloten aan welke ingang.
Bij de hedendaagse PLC's kan men deze lijst op een of andere manier ingeven. Zodat in
het programma niet het adres maar de symbolische naam staat.
Bij de symbolische naamgeving moet men wel letten dat het nog steeds duidelijk is wat het
signaal behelst.
Stel men stuurt een pneumatische cilinder via de PLC. Via twee sensoren wordt de positie
van de cilinder teruggemeld naar de PLC. De functie van de pneumatische cilinder is het
klemmen van het werkstuk. Op het pneumatische schema noemt deze cilinder B
Het mono-stabiel ventiel is aangesloten aan Q124.2 en de sensoren aan I124.2 en 124.3
Een goede naam voor de Q124.2 is U_KLEM_WERKSTUK.
Voor de ingangen
I124.2 gebruik je de naam
I124.3
.
Toegepaste Informatica
I_WERKSTUK_VAST
I_WERKSTUK_LOS
37
VRIJ TECHNISCH INSTITUUT
2.4.2.2 Variabelen lijst
Bij het type PLC dat wij gebruiken is het niet mogelijk om de ingangen, uitgangen of
merkers rechtstreeks te adresseren. Er moeten symbolische namen gedeclareerd worden
die aan een bepaald fysisch adres gelinkt worden.
Bij het kiezen van een naam voor een variabele moet men er rekening mee houden dat
slechts de eerste 32 tekens van belang zijn d.w.z. dat er in de eerste 32 tekens een
verschil moet zijn tussen de variabelen.
Spaties en andere speciale tekens zijn niet toegelaten in de variabele naam.
De underscore is wel toegelaten. Zowel kleine als hoofdletters zijn toegelaten er wordt
echter geen onderscheid gemaakt. D.w.z. Test is dezelfde variabele als TEST.
Bepaalde sleutelwoorden zoals BOOL , INT, AND, enz. zijn niet toegelaten.
Toegelaten karakters zijn dus:
a-zA-Z en 0-9 en _
Variabele toekennen als fysisch adres.
In dit voorbeeld wordt getoond hoe een fysisch adres wordt samengesteld. Na de
variabele naam begint het fysische adres. Het fysische adres begint met “AT” en eindigt
met “:”, daartussen bepaalt men 3 dingen:
U_LAMP
AT
%QX0.3:BOOL;
de conversie.
het byte/bit adres van de informatie:
➔
Bit adres = 20.3
➔
Byte adres
t.e.m.18.7)
➔
Woord adres = 10 (byte 10 en 11)
= 18 (bit 18.0
de grootte van de informatie:
➔
Bit= X
➔
Byte (8bit)
=B
➔
Woord (16bit)
=W
➔
Dwoord(32bit)
=D
het type van informatie:
➔
Ingang = %I
➔
Uitgang = %Q
➔
Merker = %M
de symbolische naam of variabele naam
38
Toegepaste Informatica
VRIJ TECHNISCH INSTITUUT
In het onderstaand schema zie je de syntax regels voor de variabele definitie van een
fysisch adres.
Variabele toekennen als intern adres.
Bij het toekennen van een intern adres wordt alleen de variabele naam aangemaakt en
dan tussen de “:” en “;” wordt de grootte van de variabele bepaald.
Toegepaste Informatica
BOOL
= 1 bit
BYTE
= 8 bits
INT
= 16 bits
WORD
= 16 bits
DWORD
= 32 bits
REAL
= 32bits
TIME
= Timer variabele
STRING
= reeks karakters
39
VRIJ TECHNISCH INSTITUUT
Toegang tot variabele kiezen.
Je kunt de variabele bekend maken onder 5 verschillende groepen.
In de oefeningen die wij maken is het belangrijk dat wij de variabelen altijd globaal
declareren.
1. VAR_GLOBAL
= De variabele is bekend in het hele PLC-project.
2. VAR
= De variabele is alleen lokaal bekend.
3. VAR_INPUT
= Als ingangsvoorwaarde voor Functiebouwsteen.
4. VAR_OUTPUT
= Als uitgangsvoorwaarde voor Functiebouwsteen.
5. VAR_IN_OUT
= VAR die zowel geschreven als gelezen worden, alleen bij een
Functiebouwsteen (FB)
LOKALE VAR.
GLOBALE VAR.
40
Toegepaste Informatica
VRIJ TECHNISCH INSTITUUT
2.4.3 Programmeertalen.
Voor de programmering kan men kiezen uit verschillende programmeertalen.
De keuze van programmeertaal is afhankelijk van de toepassing.
Ook de voorkennis en opleiding van de programmeur bepaalt dikwijls de keuze van
programmeertaal.
Elke programmeertaal heeft zijn voordelen en nadelen:
2.4.3.1 FBD = Function block diagram
Het functionblockdiagram is een programmeertaal
gebaseerd op de logische bouwstenen van de elektronica.
Voordelen:
–
gestructureerde en logische opbouw
–
met een basis kennis van de logische bouwstenen kan
men al programmeren
–
Nadelen:
–
door de grafische weergaven neemt dit nogal veel ruimte in beslag op het scherm of op
papier.
–
voor complexe bewerkingen moet men terug vallen op andere programmeertalen
2.4.3.2 LD = ladder
Het ladderdiagram is gebaseerd op de elektrische
schema's. Bij de omschakeling van de relaistechniek
naar PLC, kan men bijna rechtstreeks de elektrische
schema's als PLC programma gebruiken.
Voordelen:
–
laagdrempelige programmatie eenvoudig leesbaar.
–
elektrische schema's kunnen bijna direct als plc-programma gebruikt worden.
–
De programmering is onmiddellijk herkenbaar bij ander type PLC's.
Nadelen:
–
door de grafische weergaven neemt dit nogal veel ruimte in beslag op het scherm of op
papier.
–
voor complexere bewerkingen moet men terug vallen op andere programmeertalen
Toegepaste Informatica
41
VRIJ TECHNISCH INSTITUUT
2.4.3.3 IL = Instruction list
De programmering via de instructies van de instructie
lijst doet denken aan de het programmeren van CPU in
assembler.
Dit is de basis programmeertaal van de PLC. Elke
programma van gelijk welke programmeertaal kan
vertaal worden naar deze programmeer taal.
Voordelen:
–
Alles wat geprogrammeerd kan worden met een PLC, kan via deze taal
geprogrammeerd worden.
–
Elke programmalijn is zeer kort, waardoor deze taal geschikt is om een PLC te
programmeren via een handprogrammeer-toestel met een klein display.
Sommig PLC's zijn uitgerust met een klein display van enkele karakters breed. Dit is al
voldoende om een PLC programma in IL weer te geven.
Nadelen:
–
ondanks de vrij eenvoudige instructieset is dit toch een moeilijke programmeertaal
omdat sommige functies uit een heleboel instructies bestaan.
–
De structuur van het programma, het overzicht gaat zeer snel verloren.
2.4.3.4 ST = Structured text
Iedereen die een hogere programmeertaal zoals Basic,
C enz. gebruikt heeft; kan deze programmeertaal vlot
gebruiken.
Het grote verschil tussen een PLC programma in
structured text en een programma in hogere
programmeertaal is dat bij de PLC het programma elke
cyclus opnieuw gestart wordt en bij een andere
toepassing het programma pas het einde bereikt als het
programma gedaan is.
Via deze programmeertaal is het dan ook mogelijk om lussen te programmeren daar waar
dit bij de andere programmeertalen moeilijker is. Als het programma in een ondeindige lus
komt, zal de PLC door de cyclustijd bewaking in storing vallen.
Voordelen:
–
Alles kan geprogrammeerd worden in deze programmeertaal
–
Het programma is beter leesbaar dan IL
–
Complexe bewerkingen kunnen compact geschreven worden.
Nadelen:
–
Door foute programmering is het mogelijk te PLC in storing te laten vallen.
–
Een kennis van hogere programmeertaal is noodzakelijk.
42
Toegepaste Informatica
VRIJ TECHNISCH INSTITUUT
2.4.3.5 SFC =Sequential Function chart
De SFC programmeertaal is speciaal
ontworpen voor sequentiële programmering.
Daar waar er een bepaalde volgorde is in het
aansturen van actuatoren, is de SFCprogrammeertaal geschikt.
Voordelen:
–
de
oplossingsmethode
'grafcet'
kan
rechtstreeks geprogrammeerd worden. Er is
geen omvorming nodig naar LD, FBD of IL.
–
Dit is een zeer grafische methode en
overzichtelijke methode om een sequentie te
programmeren
–
De programmering is vrij eenvoudig.
Nadelen:
–
niet
alle
PLC's
kunnen
deze
programmeertaal rechtstreeks verwerken.
2.4.4 Gestructureerd programmeren
Vanuit het systeemprogramma in ROM zal de PLC een programma starten nadat de
ingangen in het PII zijn ingelezen.
Dit is steeds hetzelfde programma. Bij de S7-300 PLC van siemens noemt dit programma
OB1 (organisatie bouwsteen 1). In de BeckHoff PLC noemt dit programma MAIN.
Nadat het programma volledig uitgevoerd is, zal het PIQ register naar de uitgangen
geschreven worden. En de cyclus begint opnieuw.
De meest eenvoudige manier van programmering is gewoon de programma regels in het
programma OB1 of MAIN te programmeren.
Als het programma complexer begint te worden volstaat dit niet. Voor de leesbaarheid van
het programma en voor de uitvoeringstijd moet het programma opgedeeld worden in deel
programma's. Het heeft geen zin dat bepaalde programmaregels die niet moeten
uitgevoerd worden, de handbediening in bedrijfsmode automatisch bijvoorbeeld, toch elke
cyclus allemaal verwerkt worden.
Ook als je verschillende programmeertalen wenst te gebruiken ben je verplicht om met
verschillende programma's te werken. Je kan immers maar één programmeertaal
gebruiken binnen één programma.
Deze deel programma's worden dan opgeroepen vanuit het hoofdprogramma. (OB1of
MAIN)
In principe worden alle instructies na elkaar uitgevoerd in de volgorde zoals de programma
regels gelezen worden. De PLC begint in MAIN op regel 1, en voert instructie per
instructie uit. Wordt er met de instructie een ander programma opgeroepen dan worden de
instructies van dat programma uitgevoerd. Na de laatste instructie van het opgeroepen
programma gaat de PLC verder waar hij het programma in de eerste plaats verlaten had.
Dit gaat zo verder tot de laatste regel van het hoofdprogramma is bereikt. Dan worden de
uitgangen geschreven aan de hand van het PIQ register en de cyclus begint van vooraf
aan opnieuw.
Toegepaste Informatica
43
VRIJ TECHNISCH INSTITUUT
Het figuur toont schematisch, een voorbeeld van gestructureerd programmeren.
MAIN()
start
Programma begin
Netwerk 1
CALL Subr.8
Netwerk 2
CALL Subr.5
‘
‘
‘
Netwerk n
Instructie n
Subroutine 8
Programma begin
Subroutine 10
Programma begin
Netwerk 1
Call subr.10
Netwerk 2
Instructie 2
‘
‘
Netwerk 13
‘
Call subr 10
Netwerk n
Instructie n
Netwerk 1
Instructie 1
Netwerk 2
Instructie 2
‘
‘
‘
Netwerk n
Instructie n
Programma einde
Programma einde
Subroutine 10
Programma begin
Programma einde
Subroutine 5
Programma begin
Netwerk 1
Instructie 1
Netwerk 2
Call subr 10
‘
‘
‘
Netwerk n
Instructie n
Programma einde
Netwerk 1
Instructie 1
Netwerk 2
Instructie 2
‘
‘
‘
Netwerk n
Instructie n
Programma einde
Subroutine 10
Programma begin
Netwerk 1
Instructie 1
Netwerk 2
Instructie 2
‘
‘
‘
Netwerk n
Instructie n
Programma einde
44
Toegepaste Informatica
VRIJ TECHNISCH INSTITUUT
Om zo een programmastructuur op te stellen beschikt men over verschillende types van
programma’s. Bij de beckhoff PLC zijn deze als volgt ingedeeld.
Programma (POU):

Oproepen van andere functieblokken en programma’s.

Onthoudt de status van de lokale variabelen tot de volgende PLC-cyclus.

Oproepen van het programma gebeurt door de PLC-taak.
Functieblok:
•
Oproepen van andere functies en functieblokken.
•
Onthoudt de status van de lokale variabelen tot de volgende PLC-cyclus.
•
Gebruikt programmacode voor het oproepen van FB’s.
Function :
•
Heeft geen intern geheugen.
•
Heeft exact 1 uitgang.
•
Niet meer, niet minder.
2.4.5 Programma's documenteren
Via de symbolische benamingen en door gestructureerd te programmeren kan men een
programma verduidelijken en leesbaar maken.
Men kan programma's bijkomend verduidelijken door de naam van het programma zelf zo
te kiezen dat deze iets zegt over de functie van het programma. Programma 'HAND' en
'AUTO' voor respectievelijk de handbediening en automatische bedrijfsmode van een
machine.
Verder is meestal mogelijk om programma's en programmaregels te commentariëren.
Dit is heel belangrijk niet alleen voor collega's die het programma ook moet kunnen lezen
en aanpassen, maar ook voor jezelf. Als je lange tijd niet meer aan een bepaald
programma bezig bent geweest en je moet iets aanpassen dan is het interessant als je
aan de hand van de commentaar in het programma snel terug vind hoe het programma in
elkaar zit.
Toegepaste Informatica
45
VRIJ TECHNISCH INSTITUUT
46
Toegepaste Informatica
VRIJ TECHNISCH INSTITUUT
2.5 Doelstellingen.
1. Het verband tussen ingangsinformatie en uitgangsinformatie in de PLC kunnen
geven.
2. Kort de algemene werking van de PLC kunnen geven.
3. De verschillende componenten van een traditionele PLC kunnen geven. En beknopt
de functie kunnen omschrijven.
4. Een blokschema van de PLC kunnen toelichten.
5. De functie van een HMI kunnen beschrijven.
6. De functie van het programmeertoestel kunnen omschrijven.
7. De verschillende type's van PLC's kunnen opnoemen en beknopt kunnen
omschrijven.
8. De belangrijkste bouwstenen de CPU en hun functie kunnen opnoemen.
9. Een PLC-cyclus kunnen omschrijven.
10. Algemeen de adressering van een PLC kunnen toelichten.
11. Het verschil tussen bits gewijze, bytes gewijze adressering kunnen uitleggen.
12. Het doel van symbolische adressering kunnen uitleggen.
13. Goede symbolische adressering gebruiken.
14. Weten wat een toekenningslijst is en het doel hiervan verklaren.
15. Een variabele lijst kunnen samenstellen voor gegeven in en uitgangen. Hierbij een
juiste benaming kiezen voor de signalen en de juiste syntax volgen.
16. Het verschil tussen globale en locale variabele declaratie kennen en toelichten
17. De belangrijkste programmeertalen kunnen opnoemen.
18. De FBD programmeertaal kunnen toelichten en de voor en nadelen ervan kunnen
toelichten.
19. De LD programmeertaal kunnen toelichten en de voor en nadelen ervan kunnen
toelichten.
20. De IL programmeertaal kunnen toelichten en de voor en nadelen ervan kunnen
toelichten.
21. De ST programmeertaal kunnen toelichten en de voor en nadelen ervan kunnen
toelichten.
22. De SFC programmeertaal kunnen toelichten en de voor en nadelen ervan kunnen
toelichten.
23. Kunnen uitleggen wat met gestructureerd programmeren bedoelt wordt.
24. Kunnen verklaren waarom gestructureerd programmeren nodig is.
25. 5 middelen kunnen geven om een programma leesbaar te maken.
26. De afkortingen PLC, PII, PIQ, HMI, CPU, CVE, ROM, IL, LD, SFC, FBD, ST kunnen
verklaren.
Toegepaste Informatica
47
VRIJ TECHNISCH INSTITUUT
48
Toegepaste Informatica
Download