Themadag Gestructureerd Programmeren - IEC 61131-3 garandeert een enorme boost aan uw efficiency
Het programmeervak in Nederland staat op een hoogniveau. Toch is een extra kwaliteitsimpuls mogelijk door te programmeren volgens de IEC 61131-3. Het juist hanteren van deze norm biedt zowel voor de programmeur als opdrachtgever meer efficiency en kwaliteit.
Wie overstapt op IEC 61131-3 boekt op termijn belangrijke winst. IEC 61131-3 standaardiseert alles wat met programmeertalen te maken heeft. Software kan men hierdoor op een gestructureerde wijze opbouwen. Modificaties en uitbreidingen kunnen zo sneller uitgevoerd worden.
Op de themadag krijgt u praktijkgerichte informatie van gespecialiseerde technici. Niet alleen van Phoenix Contact maar ook van Bert van der Linden, schrijver van een boek over gestructureerd programmeren volgens IEC 61131-3 en werkzaam bij de firma ATS. Hij maakt u bewust van de gevaren van ‘vrij programmeren’ én van de voordelen van IEC 61131-3. Ook is er aandacht voor de programmeersoftware van Phoenix Contact die voldoet aan de norm.
2. Welcome to PHOENIX CONTACT
Themadag
Gestructureerd
programmeren
INTRODUCTIE THEMADAG
2 | Introductie Themadag | Bert van der Linden | ATS | (2008-2013)
1/36
3. Doelstellingen en voorkennis
Doelstelling:
• Inzicht geven in gestructureerd programmeren in ‘brede’ zin
waarmee de kwaliteit van een applicatie is te verbeteren met
behulp van de IEC61131-3.
Voorkennis:
• (Enige) ervaring met het programmeren van industriële
(technische) processen.
3 | Introductie Themadag | Bert van der Linden | ATS | (2008-2013)
Invalshoeken/ uitgangspunten
• Niet alleen structuren ten gevolge van gestructureerd
programmeren in formele zin maar ook andere mogelijke
structuren met de IEC 61131-3.
• Er komen geen dialecten aan de orde laten, maar een
nauwkeurige beschrijving volgens de IEC61131-3, anders een
vermelding.
• Er is geen algoritme/procedure die altijd tot een goed resultaat
zal leiden. Het is dus een heuristische taak.
• Er zijn richtlijnen die richting geven aan een goede oplossing.
• Een voorbeeldapplicatie speelt een centrale rol om de
mogelijkheden in de praktijk te tonen.
4 | Introductie Themadag | Bert van der Linden | ATS | (2008-2013)
2/36
5. Criteria:
• Het programma moet correct en robuust werken. JA/NEE?
• Lage productiekosten. JA/NEE?
• Goede prestaties. JA/NEE?
• Portabiliteit. JA/NEE?
• Lage onderhoudskosten. JA/NEE?
• Hoge mate van betrouwbaarheid. JA/NEE?
• Tijdige aflevering. JA/NEE?
7 | Inleiding gestructureerd programmeren | Bert van der Linden | ATS | (2008-2013)
Kwaliteitsmodel: McCall
8 | Gestructureerd programmeren| Bert van der Linden (ATS) (2008-2013)
4/36
6. Kwaliteitsmodel : McCall
9 | Gestructureerd programmeren| Bert van der Linden (ATS) (2008-2013)
Programma bakken cake (1/4)
Omschrijving:
Deze cake bestaat uit een gelijke verhouding van vier
basisingrediënten. Als smaakversterker kan je er heel fijn geraspte
citroenschillen of een schutje bruine rum aan toevoegen. Ook
zonder smaakversterker krijg je een lekkere cake, maar hier
gebruik ik toch vanillesuiker.
Ingrediënten:
• 150 gram boter, 150 gram suiker en
• 150 gram bloem, 3 eieren (150 gram), 1 zakje vanillesuiker
10 | Inleiding gestructureerd programmeren | Bert van der Linden | ATS | (2008-2013)
5/36
7. Programma bakken cake (2/4)
Werkwijze 1:
Klop de zachte boter en suiker op tot alles egaal wit is.
Blijf kloppen en voeg er één voor één de eieren aan toe.
Doe er ook al roerend het zakje vanillesuiker bij.
Zeef de bloem.
Klop het deeg verder op terwijl je de gezeefde bloem toevoegt.
Vet de zijden van de cakevorm in met boter.
Doe er bloem in, en schud die er terug uit. (Op die manier blijft er bloem aan de vorm hangen en zal de cake
zeker niet blijven plakken).
Doe het deeg in de cakevorm en plaats die 36 minuten in een aan 180°C voorverwarmde oven (reken 1 uur
baktijd per kilogram deeg).
11 | Inleiding gestructureerd programmeren | Bert van der Linden | ATS | (2008-2013)
Programma bakken cake (3/4)
Werkwijze 2:
• Klop de zachte boter en suiker op tot alles egaal wit is.
• Blijf kloppen en voeg er één voor één de eieren aan toe.
• Doe er ook al roerend het zakje vanillesuiker bij.
• Zeef de bloem.
• Klop het deeg verder op terwijl je de gezeefde bloem toevoegt.
• Vet een cakevorm in met boter
• Invetten onderzijde
• Invetten linkerzijde
• Ga naar punt 7
• Invetten achterzijde
• Invetten rechterzijde
• Invetten voorzijde
• Ga naar punt 8.
• Doe er bloem in, en schud die er terug uit. (Op die manier blijft er bloem aan de vorm hangen en zal de cake
zeker niet blijven plakken). Ga naar 6d.
• Doe het deeg in de cakevorm en plaats die 36 minuten in een aan 180°C voorverwarmde oven (reken 1 uur
baktijd per kilogram deeg).
12 | Inleiding gestructureerd programmeren | Bert van der Linden | ATS | (2008-2013)
6/36
8. Programma bakken cake (4/4)
13 | Inleiding gestructureerd programmeren | Bert van der Linden | ATS | (2008-2013)
Programmeren en programma
• Programmeren is het ontwerpen, schrijven (coderen) en testen
van een programma.
• Een programma is een lijst van instructie (een reeks opdrachten),
gecodeerd in een voor de PLC verwerkbare (uitvoerbare) vorm,
om een bepaald resultaat te bereiken.
• De PLC executeert het programma.
• Het programma is een specificatie.
• Een programmeertaal is een formeel communicatiemiddel tussen
de programmeur en de computer.
14 | Inleiding gestructureerd programmeren | Bert van der Linden | ATS | (2008-2013)
7/36
9. Samenvatting
• Gestructureerd programmeren heeft te maken met samengesteld
geheel. Een programma dat bestaat uit modulen.
• Gestructureerd programmeren zegt iets over de vorm (structuur)
van het programma en niet over de functionaliteit.
15 | Inleiding gestructureerd programmeren | Bert van der Linden | ATS | (2008-2013)
GESTRUCTUREERD
PROGRAMMEREN
16 | Gestructrureerd programmeren | Bert van der Linden | ATS | (2008-2013)
8/36
10. Gestructureerd programmeren : Essentie
• Een gestructureerd programma is in essentie een programma
dat gemakkelijk te begrijpen is en maakt daarbij gebruik van
abstractie.
• Eén van de oplossingen, voor gestructureerd programmeren, is
het gedisciplineerd toepassen van besturingsconstructies om
besturingsabstractie te bereiken door het vermijden van het
GOTO-statement.
17 | Gestructrureerd programmeren | Bert van der Linden | ATS | (2008-2013)
Gestructureerd programmeren : Herkomst
• Gestructureerd programmeren is bedacht door E.W. Dijkstra
e.a.
• Het bestaat uit drie besturingsconstructies:
• opeenvolgingen;
• keuzes;
• herhalingen.
18 | Gestructrureerd programmeren | Bert van der Linden | ATS | (2008-2013)
9/36
11. Gestructureerd programmeren : Doel (1/2)
• Het doel van gestructureerd programmeren is het verkrijgen
van een begrijpelijk programma.
• Door gestructureerd te programmeren is het programma beter
te onderhouden.
• Het voorkomen van Goto-statements. Let op: Het is een
middel en geen doel op zich.
19 | Gestructrureerd programmeren | Bert van der Linden | ATS | (2008-2013)
Gestructureerd programmeren : Doel (2/2)
20 | Gestructrureerd programmeren | Bert van der Linden | ATS | (2008-2013)
10/36
12. Mikado en gestructureerd programmeren
21 | Introductie Themadag | Bert van der Linden | ATS | (2008-2013)
Structureren en structuur
• Structureren is synoniem voor organiseren en ordenen.
• Structuur is synoniem voor organisatie, samenstelling, vorm en
opbouw.
• Structuur betekent een functionele indeling.
• Een verzameling van relaties vormt de interne/externe structuur.
• Een relatie is een gekoppelde beweging. Een verandering bij A
resulteert in een verandering bij B.
22 | Inleiding gestructureerd programmeren | Bert van der Linden | ATS | (2008-2013)
11/36
13. Gestructureerd programmeren : Acceptatie
• Gestructureerd programmeren is een manier om de kwaliteit
van programma’s te verbeteren.
• Er zijn ook diagrammen ontwikkeld in overeenstemming met de
denkwijze van gestructureerd programmeren
(ProgrammaStructuurDiagrammen).
• Het betreft alleen maar besturingsabstractie en geen andere
vormen van abstractie.
• Het is alleen geschikt voor datatransformaties en minder voor
de besturing van een proces.
23 | Gestructrureerd programmeren | Bert van der Linden | ATS | (2008-2013)
Gestructureerd programmeren : Acceptatie
24 | Gestructrureerd programmeren | Bert van der Linden | ATS | (2008-2013)
12/36
14. Gestructureerd programmeren: Kwaliteit
• Gestructureerd programmeren draagt dus bij aan de kwaliteit van
een programma.
• Het draagt bij aan:
• Reliability;
• Maintainbility;
• Adaptablility.
Zijn er nog maar technieken die bijdragen aan de kwaliteit van de
het programma? Gestructureerd programmeren in ‘brede’ zin.
Structuren toepassen die de kwaliteit verbeteren van een
programma.
25 | Gestructrureerd programmeren | Bert van der Linden | ATS | (2008-2013)
Gestructureerd programmeren: Methode
• Functionele decompositie:
• Gericht op functies of acties die een programma moet uitvoeren.
• Begint met een abstracte functie en daarna steeds meer detail.
• Iedere fase van decompositie een abstracte machine.
• Data-flow diagrammen
• Gestructureerd systeemontwerp (Page-Jones).
• Gestructureerde analyse (Yourdon of Hatley&Pirbhai of Wieringa).
26 | Gestructrureerd programmeren | Bert van der Linden | ATS | (2008-2013)
13/36
15. IEC 61131 EN KWALITEIT
27 | IEC 61131 en kwaliteit | Bert van der Linden | ATS | (2008-2013)
IEC 61131 : Onderdelen
• 1 General overview, definitions IS
• 2 Hardware IS
• 3 Programming Languages IS
• 4 User Guidelines IS
• 5 Messaging Service Specification IS
• 7 Fuzzy Logic IS
• 8 Technical Report
IS = International Standard
28 | IEC 61131 en kwaliteit | Bert van der Linden | ATS | (2008-2013)
14/36
16. IEC 61131- 3: Introductie (1/2)
• De IEC 61131-3 is een standaard op het gebied van
programmeertalen voor ‘moderne’ PLC-systemen.
• Vijf programmertalen:
• Instruction List IL
• Structured Text ST
• Ladder Diagram LD
• Function Block Diagram FBD
• Sequential Function Chart SFC
29 | IEC 61131 en kwaliteit | Bert van der Linden | ATS | (2008-2013)
IEC 61131-3 : Introductie (2/2)
30 | IEC 61131 en kwaliteit | Bert van der Linden | ATS | (2008-2013)
15/36
17. IEC 61131-3 : Instruction list
Toepassing: Eenvoudige rekenkundige bewerkingen.
31 | IEC 61131 en kwaliteit | Bert van der Linden | ATS | (2008-2013)
IEC 61131-3 : Structured Text
Toepassing: Complexe rekenkundige bewerkingen en
toestandsmachines.
32 | IEC 61131 en kwaliteit | Bert van der Linden | ATS | (2008-2013)
16/36
18. IEC 61131-3 : Ladderdiagram
Toepassing: Eenvoudige logische vergelijkingen.
33 | IEC 61131 en kwaliteit | Bert van der Linden | ATS | (2008-2013)
IEC 61131-3 : Function block diagram
Toepassing: Logische vergelijkingen maar ook
eenvoudige berekeningen.
34 | IEC 61131 en kwaliteit | Bert van der Linden | ATS | (2008-2013)
17/36
19. IEC 61131-3 : Sequentiel function chart
Toepassing: Sequentiële processen.
35 | IEC 61131 en kwaliteit | Bert van der Linden | ATS | (2008-2013)
IEC 61131-3 : Softwaremodel
Global and direct variables
Access path
Execution
control path
Variable
access path
FBTask
Program Program
FB FB
Task
Program
Task
Program
FB FB
Task
Resource Resource
Configuration
Communication Function
Function Block
Variable
36 | IEC 61131 en kwaliteit | Bert van der Linden | ATS | (2008-2013)
18/36
20. IEC 61131: Kwaliteit
De belangrijkste ontwikkelingen in de norm ter verbetering van de
kwaliteit zijn:
• Encapsulation en hiding;
• Explicit representation of state;
• Mapping to the application domain;
• Mapping of design to implementation;
• Structured programming;
• Software reuse.
37 | IEC 61131 en kwaliteit | Bert van der Linden | ATS | (2008-2013)
Encapsulation and hiding (1/2)
• Encapsulation is het inpakken van functioneel gerelateerde data
en/of procedures in een enkelvoudige software-entiteit.
• Information hiding is verbergen van data en procedures voor de
gebruiker door een externe interface en gespecificeerde
functionaliteit. Ontwerpbeslissingen zijn verborgen, dus de
interne structuren van data en procedures.
38 | IEC 61131 en kwaliteit | Bert van der Linden | ATS | (2008-2013)
19/36
21. Encapsulation and hiding (2/2)
39 | IEC 61131 en kwaliteit | Bert van der Linden | ATS | (2008-2013)
Explicit representation of state
• Door het toepassen van stappen ontstaat er een expliciete
representatie van een toestand. Dus de toestand hoeft niet te
worden afgeleid van interne variabelen; zoals input of
toestandsvariabelen.
• SFC realiseert ook structuur in een programma, in de vorm van
stappen, transities en acties.
• SFC verbetert ook de reactie en verwerkingscapaciteit omdat de
PLC alleen de instructies (een deel van het algortime) uitvoert
van de actieve stap.
• Andere optie is het bouwen van een toestandsmachine met LD,
FBD of ST.
40 | IEC 61131 en kwaliteit | Bert van der Linden | ATS | (2008-2013)
20/36
22. Software reuse (1/3) :
• Het programmeermodel ondersteunt de mogelijkheid van
hergebruik van code.
• De gebruiker kan deze software-elementen ontwikkelen door
middel van een ‘Bottom-up’ implementatieproces (implementeren
door functionele compositie).
• Natuurlijk ondersteunt de IEC 61131 ook de ‘Top-down” ontwerp-
proces (ontwerp door functionele decompositie).
41 | IEC 61131 en kwaliteit | Bert van der Linden | ATS | (2008-2013)
Software reuse (2/3) :
42 | IEC 61131 en kwaliteit | Bert van der Linden | ATS | (2008-2013)
21/36
23. Software reuse (3/3) : X-model
43 | IEC 61131 en kwaliteit | Bert van der Linden | ATS | (2008-2013)
PLCOPEN
44 | PLCopen | Bert van der Linden | ATS | (2008-2013)
22/36
24. Missie
We want to be the leading association
resolving topics related to
control programming
to support the use of
international standards in this field.
45 | PLCopen | Bert van der Linden | ATS | (2008-2013)
Organisatie (1/2)
• TC1: Standaard
• TC2: Functies
• TC3: Certificering
• TC4: Communicatie
• TC5: Veilige software
• PC1: Promotie algemeen
• PC2: Algemeen trainingsprogramma
• PC3: Promotie Noord-Amerika
• PC4: Promotie Japan
46 | PLCopen | Bert van der Linden | ATS | (2008-2013)
23/36
25. Organisatie (2/2)
BOM, MD & General Meeting
TC1 TC
3
TC
4
TC
5
PC
2
PC
3
TC2 PC4PC
1
47 | PLCopen | Bert van der Linden | ATS | (2008-2013)
Compliancy niveau’s (1/3)
• Zonder testen bestaat er geen ‘compliancy’.
• De IEC 61131-3 geeft basisregels voor ‘compliancy’.
• Certificering is een herkenbaar keurmerk voor gebruikers
waarmee ze ‘echte’ IEC 61131-3 programmeeromgevingen
kunnen herkennen.
• De ‘compliancy’ niveau’s zijn:
• base;
• reuseability;
• conformity.
48 | PLCopen | Bert van der Linden | ATS | (2008-2013)
24/36
26. Compliancy niveau’s (2/3)
49 | PLCopen | Bert van der Linden | ATS | (2008-2013)
Compliancy niveau’s (3/3)
50 | PLCopen | Bert van der Linden | ATS | (2008-2013)
25/36
27. Certified IEC 61131-3 environments
Product name Base Level CL & RL Company Country
Codesys IL & ST 3S Smart Software Solutions Germany
Concept IL, ST, FBD CL & RL for ST Schneider Automation Germany
ISaGRAF IL ICS Triplex France
MELSEC MEDOC plus IL Mitsubishi Electric Europe Germany
MULTIPROG wt IL & ST KW-Software Germany
NAiS Control FPWIN Pro IL CL & RL for ST Panasonic Electric Works Germany
Kemro.iecedit IL & ST KEBA Austria
RSLogix 5000 V.13 RL for ST Rockwell Automation USA
S7-SCL ST RL for ST Siemens Germany
Simotion Eng. Sytem Scout-
standard
ST Siemens Germany
SELECONTROL CAP 1131 IL Selectron Switzerland
Sisteam Servicer (IEC 1131-3) ST Ingeteam Spain
S7-GRAPH SFC Siemens Germany
Melsoft GX IEC Developer IL, ST Mitsubishi Germany
51 | PLCopen | Bert van der Linden | ATS | (2008-2013)
Adresgegevens
Post address:
PLCopen
P.O. Box: 3009
4200 EA Gorinchem
The Netherlands
Tel: +31 (0)183 660261
Fax: +31 (0)183 664821
www.plcopen.org
email: evdwal@plcopen.org
Visiting address:
PLCopen
Molenstraat 34
4201 CX Gorinchem
The Netherlands
Tel: +31 (0)183 660261
Fax: +31 (0)183 664821
52 | PLCopen | Bert van der Linden | ATS | (2008-2013)
26/36
28. GESTRUCTUREERD
PROGRAMMEREN : ONTWERP
53 | Gestructureerd programmeren: ontwerp | Bert van der Linden | ATS | (2008-2013)
Modulair programmeren : Inleiding
• In principe is het mogelijk om één groot programma te maken,
in veel gevallen wel complex.
• Programma opdelen in meerdere delen.
• Doelstellingen:
• Mogelijkheid tot verandering.
• Onafhankelijke ontwikkeling.
• Begrijpelijkheid.
• Richtlijnen voor modulariteit: Koppeling en cohesie.
• ‘Information hiding’ is de basistechniek.
54 | Gestructureerd programmeren: ontwerp | Bert van der Linden | ATS | (2008-2013)
27/36
29. Modulair programmeren : Koppeling en
cohesie (1/2)
• Koppeling is de interactie tussen de modulen.
• Cohesie is de interactie in een module.
• Koppeling en cohesie zijn tegenpolen. Een sterke cohesie
realiseert een zwakke koppeling en andersom.
55 | Gestructureerd programmeren: ontwerp | Bert van der Linden | ATS | (2008-2013)
Modulair programmeren : Koppeling en
cohesie (2/2)
Sterke koppeling / Zwakke cohesie Zwakke koppeling / Sterke cohesie
56 | Gestructureerd programmeren: ontwerp | Bert van der Linden | ATS | (2008-2013)
28/36
30. Modulair programmeren: Koppeling
• Veranderen van de code van een andere module.
• Springen naar, of aanroepen van, een punt anders
dan het begin.
• Toegang verkrijgen binnen een andere module.
• Gemeenschappelijke of globale data.
• Procedure-aanroep met een ‘switch’ als parameter.
• Procedure-aanroep met ‘zuivere’ dataparameters.
• Een seriële datastroom van de ene module naar de
andere doorgeven.
Zwak
Sterk
57 | Gestructureerd programmeren: ontwerp | Bert van der Linden | ATS | (2008-2013)
Modulair programmeren : Cohesie
• Toevallige cohesie
• Logische cohesie
• Tijdelijke cohesie
• Communicatieve cohesie
• Sequentiële cohesie
• Functionele cohesie
Sterk
Zwak
58 | Gestructureerd programmeren: ontwerp | Bert van der Linden | ATS | (2008-2013)
29/36
31. Sequentiel function chart : Gemma (1/3)
• Sequentiel function chart (SFC) biedt veel structuur bij het
beschrijven van een normaal programma.
• Volgende toestanden moeilijk te beschrijven:
• Noodstop
• Handbediening
• Biedt geen mogelijkheden voor het scheiden van ‘modes’.
• Oplossing: Gemma, een grafische gids voor bestudering van
bedrijfstoestanden.
59 | Gestructureerd programmeren: ontwerp | Bert van der Linden | ATS | (2008-2013)
Sequentiel function chart : Gemma (2/3)
60 | Gestructureerd programmeren: ontwerp | Bert van der Linden | ATS | (2008-2013)
30/36
32. Sequentiel function chart : Gemma (3/3)
• Een software-element die de Gemma uitvoert is een coördinator.
• Let op: Er moet wel natuurlijk ook coördinatie zijn tussen de
coördinatoren.
• Twee mogelijkheden:
• Horizontale coördinatie.
• Verticale coördinatie.
61 | Gestructureerd programmeren: ontwerp | Bert van der Linden | ATS | (2008-2013)
GESTRUCTUREERD
PROGRAMMEREN : CODEREN
62 | Gestructureerd programmeren: Coderen | Bert van der Linden | ATS | (2008-2013)
31/36
33. Inleiding
Tijdens het coderen zijn er ook nog andere mogelijkheden om
structuren aan te brengen:
• Declareren van een variabele.
• Benoemen van een variabele.
• Toevoegen commentaar.
63 | Gestructureerd programmeren: Coderen | Bert van der Linden | ATS | (2008-2013)
Declareren van een variabele (1/3)
Variabele
Scope Life time Binding time
• Lokaal
• Globaal
• Routine
• Programma
• Oneindig
• Codeer fase
• Compilatie fase
• Initialisatie fase
• Executie fase
64 | Gestructureerd programmeren: Coderen | Bert van der Linden | ATS | (2008-2013)
32/36
34. Declareren van een variabele (2/3)
• Basisregels bij het declareren van een variabele:
• Begin altijd met een zo klein mogelijk ‘scope’.
• Creëer een ‘late’ binding.
• Een kleine scope verkomt globale data.
• ‘Late binding’ creëert flexibiliteit.
65 | Gestructureerd programmeren: Coderen | Bert van der Linden | ATS | (2008-2013)
Declareren van een variabele (3/3)
• VAR_TEMP
• VAR
• VAR_GLOBAL
• VAR_EXTERNAL
• RETAIN
• NON_RETAIN
• CONSTANT
• AT
66 | Gestructureerd programmeren: Coderen | Bert van der Linden | ATS | (2008-2013)
33/36
35. Benoemen van een variabele
• Breng bij het benoemen van een variabele structuur aan in de
naam, door gebruik te maken van een naamconventie.
• Voorbeeld:
• gpblnStartMotor
• gprlnTemperatuurVat_MAX
• inblnAanvraagMateriaal
Scope Life time
Omschrijving _ Kenmerk
Parameter
• MAX
• SET
• HH
• LL
67 | Gestructureerd programmeren: Coderen | Bert van der Linden | ATS | (2008-2013)
Datatype
Commentaar (1/2)
Commentaar is te classificeren in vijf groepen:
• Herhaling van de code.
• Uitleg van de code.
• Markeerpunt in de code.
• Samenvatting van de code.
• Intentie van de code.
68 | Gestructureerd programmeren: Coderen | Bert van der Linden | ATS | (2008-2013)
34/36
36. Commentaar (2/2)
*********************************************************************************************
* Name: {Naam van de routine} *
* Purpose: {Doel van de routine} *
* Algorithm: {Omschrijving van het algoritme} *
* *
* Inputs: {Input data} *
* Outputs: {Output data} *
* *
* Interface assumptions: {Aannames van de toestand van de ontvangen *
* variabelen} *
* Modification history: *
* *
* *
* *
*********************************************************************************************
69 | Gestructureerd programmeren: Coderen | Bert van der Linden | ATS | (2008-2013)
Conclusie
• De IEC 61131-3 biedt voor ‘echt’ gestructureerd programmeren
de taal Structured Text (ST).
• Maak gebruik van een gestructureerde ontwerp methodiek als
functionele decompositie, data-flow of een andere techniek.
• Om een betere kwaliteit te krijgen heeft de IEC 6113-3
‘professionele’ principes geïmplementeerd:
• Sequentiel function chart;
• Program Organisation Units;
• Mogelijkheid tot ‘Top down’ en ‘Bottom up’ ontwerp-methoden.
70 | Gestructureerd programmeren: Coderen | Bert van der Linden | ATS | (2008-2013)
35/36
37. Literatuurlijst
• D. Bell: Software engineering, Academic Service, 1986
• B. Meyer: Object Oriented software construction, 1988
• Bonfatti: IEC 1131-3 Programming Methodology, CJ International, 1997
• S. McConnell : Code Complete, Microsoft Press, 1993
• Programmble Controllers Part 3, Programming Languages, IEC 61131-3,IEC
Geneva, 1993.
• G. Cloutier : Gemma, the complementary tool of the grafcet, 1997
• A.J. van der Linden : Besturings- en PLC-techniek 6/7MK, 2000
71 | Gestructureerd programmeren: Coderen | Bert van der Linden | ATS | (2008-2013)
36/36