SlideShare une entreprise Scribd logo
1  sur  196
Télécharger pour lire hors ligne
Workshop
IT-Powered Automation
Multifunctionele besturingen
Voorjaar 2016
Inhoudsopgave
1 Beschrijving van de hardware 1
1.1 Structuur van de starterkits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.1 ILC131 starterkit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.2 AXC1050 starterkit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Phoenix Contact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.1 Overzicht van de PLC’s . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.2 Specifieke kenmerken voor de 100-reeks . . . . . . . . . . . . . . . . . . 7
1.2.3 Specifieke kenmerken voor de AXC1050 . . . . . . . . . . . . . . . . . . . 8
2 IEC 61131-3 9
2.1 Inleiding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2 Structuur van een applicatie volgens de IEC 61131-3 norm . . . . . . . . . . . . 10
2.3 POU’s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.4 Functies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.4.1 Algemeen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.4.2 Variabelen en functies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.4.3 Standaardfuncties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.5 Functiebouwstenen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.5.1 Algemeen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.5.2 Variabelen en functiebouwstenen . . . . . . . . . . . . . . . . . . . . . . 15
2.5.3 Standaardfunctiebouwstenen . . . . . . . . . . . . . . . . . . . . . . . . 15
2.6 Programma’s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.6.1 Algemeen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.6.2 Variabelen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.7 Naamgeving . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.7.1 Benaming binnen een functiebouwsteen . . . . . . . . . . . . . . . . . . 17
2.7.2 Benaming binnen een programma . . . . . . . . . . . . . . . . . . . . . . 17
2.7.3 Benaming van user defined datatypes . . . . . . . . . . . . . . . . . . . . 18
2.8 Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.8.1 Numerieke datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.8.2 Bitgebaseerde datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.8.3 Time-gebaseerde datatypes . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.8.4 Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.8.5 Struct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.8.6 String . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.9 Structured Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.9.1 Selectie statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.9.2 Iteratie statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Inhoudsopgave i
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
3 Aanmaken van een project met de ILC131 26
3.1 Nieuw project aanmaken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.2 Structuur nieuw project conform de IEC 61131-3 . . . . . . . . . . . . . . . . . . 28
3.3 Aanpassen van de projectinformatie . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.3.1 Bus configuratie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.3.2 IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.3.3 IP configuratie van uw PC . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.4 IP configuratie van de controller . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.4.1 Algemeen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.4.2 Aanpassen IP-adres via de BootP Server (m.b.v. PC WorX) . . . . . . . . 33
3.4.3 Aanpassen IP-adres via de IP Assigment Tool (IPAssign) . . . . . . . . . . 34
3.4.4 Communicatie opzetten tussen PC en plc . . . . . . . . . . . . . . . . . . 36
3.5 De INTERBUS configuratie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.6 Compileren en downloaden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4 Aanmaken van een project met de AXC1050 40
4.1 Nieuw project aanmaken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.2 Structuur nieuw project conform de IEC 61131-3 . . . . . . . . . . . . . . . . . . 42
4.3 Aanpassen van de projectinformatie . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.3.1 Bus configuratie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.3.2 IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.3.3 IP configuratie van uw PC . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.4 IP configuratie van de controller . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.4.1 Algemeen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.4.2 Aanpassen IP-adres via de IP Assigment Tool (IPAssign) . . . . . . . . . . 47
4.4.3 Aanpassen IP-adres via DCP in PC Worx . . . . . . . . . . . . . . . . . . . 49
4.4.4 Aanpassen IP-adres via USB-interface in PC Worx . . . . . . . . . . . . . 52
4.4.5 Communicatie opzetten tussen PC en PLC . . . . . . . . . . . . . . . . . 54
4.5 De AXIOLINE configuratie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.6 Compileren en downloaden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
5 Uitgewerkt Voorbeeldprogramma 58
5.1 Inleiding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
5.2 Opdrachtomschrijving . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
5.3 Uitwerking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
5.3.1 Definiëren van de variabelen . . . . . . . . . . . . . . . . . . . . . . . . . 60
5.3.2 Aanmaken van een nieuwe POU . . . . . . . . . . . . . . . . . . . . . . . 62
5.3.3 Aanmaken van een nieuwe POU groep . . . . . . . . . . . . . . . . . . . 63
5.3.4 Aanmaken van een variabele . . . . . . . . . . . . . . . . . . . . . . . . . 64
5.3.5 Aanmaken van een functieblok “Transportband” . . . . . . . . . . . . . . 65
5.3.6 Het hoofdprogramma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
5.3.7 Testen van het programma . . . . . . . . . . . . . . . . . . . . . . . . . . 70
5.3.8 Deel 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Inhoudsopgave ii
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
6 Ladder 73
6.1 Voorbeeld: Transportband . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
7 Structured Text 77
7.1 Voorbeeld: Transportband . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
8 WebVisit 79
8.1 Inleiding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
8.2 Een project uitwerken in WebVisit . . . . . . . . . . . . . . . . . . . . . . . . . . 81
8.2.1 Een nieuw project aanmaken . . . . . . . . . . . . . . . . . . . . . . . . . 81
8.2.2 Een nieuwe webpagina aanmaken . . . . . . . . . . . . . . . . . . . . . 82
8.2.3 Compileren van het project . . . . . . . . . . . . . . . . . . . . . . . . . . 89
8.2.4 Downloaden van het project . . . . . . . . . . . . . . . . . . . . . . . . . 90
8.3 Uitbreiding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
8.3.1 Figuur invoegen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
8.3.2 Background en Foreground TEQ . . . . . . . . . . . . . . . . . . . . . . . 91
9 Analoge signaalverwerking met de ILC 93
9.1 Functiebouwsteen voor analoge signaalverwerking . . . . . . . . . . . . . . . . 93
9.1.1 De analoge ingangsmodules . . . . . . . . . . . . . . . . . . . . . . . . . 94
9.1.2 De analoge uitgangsmodule . . . . . . . . . . . . . . . . . . . . . . . . . 95
9.2 Functie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
9.3 Watch Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
9.4 Opdracht temperatuursmeting . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
9.4.1 Resultaat in FBD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
9.4.2 Resultaat in ST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
9.5 Uitbreiding WebVisit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
10 Analoge signaalverwerking met de AXC1050 104
10.1 Toevoegen van de analoge I/O-kaarten . . . . . . . . . . . . . . . . . . . . . . . 105
10.2 Configureren van de analoge I/O-kaarten . . . . . . . . . . . . . . . . . . . . . . 105
10.3 Programmatie voor de signaalverwerking . . . . . . . . . . . . . . . . . . . . . 108
10.3.1 Binnenlezen met analoge ingangskaart . . . . . . . . . . . . . . . . . . . 108
10.3.2 Uitsturen met analoge uitgangskaart . . . . . . . . . . . . . . . . . . . . 109
10.4 Koppelen van de procesdata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
11 User Defined Datatypes 111
11.1 Algemeen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
11.1.1 Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
11.1.2 Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
11.1.3 Combinatie van User Defined Datatypes . . . . . . . . . . . . . . . . . . 115
11.2 Opdracht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
11.3 Aanvullende FB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
11.3.1 STRING_TO_BUF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Inhoudsopgave iii
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
12 Modbus 119
12.1 De 1x1-reeks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
12.2 Modbus: de basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
12.2.1 Functiecodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
12.2.2 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
12.2.3 Berichtstructuur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
13 Modbus TCP 124
13.1 Aansluitingen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
13.2 Toevoegen nodige bibliotheek . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
13.3 Modbus TCP met functiebouwstenen . . . . . . . . . . . . . . . . . . . . . . . . . 127
13.3.1 Werking functiebouwstenen . . . . . . . . . . . . . . . . . . . . . . . . . 127
13.3.2 Gebruik in Function Block Diagram . . . . . . . . . . . . . . . . . . . . . . 130
13.3.3 Gebruik in Structured Text . . . . . . . . . . . . . . . . . . . . . . . . . . 130
13.3.4 Uitgewerkt voorbeeld: ILC 171 en EMpro met FB’s . . . . . . . . . . . . . 131
13.4 Modbus TCP met modbusregister . . . . . . . . . . . . . . . . . . . . . . . . . . 134
13.4.1 Modbus-settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
13.4.2 Modbusregister editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
13.5 Modbus kopstation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
13.5.1 Configureren en lezen van de registers . . . . . . . . . . . . . . . . . . . 137
13.5.2 Binnenlezen inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
14 Modbus RTU 142
14.1 Modbus RTU over RS485 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
14.1.1 Benodigde functiebouwstenen . . . . . . . . . . . . . . . . . . . . . . . . 143
14.1.2 Werking functiebouwstenen . . . . . . . . . . . . . . . . . . . . . . . . . 144
14.1.3 Gebruik in Function Block Diagram . . . . . . . . . . . . . . . . . . . . . . 147
14.2 Modbus RTU met gateway . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
14.2.1 Aansluitingen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
14.2.2 Voordeel gateway . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
14.2.3 Instellen gateway . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
14.2.4 Communicatie met functiebouwstenen . . . . . . . . . . . . . . . . . . . 151
14.2.5 Communicatie met modbusregisters . . . . . . . . . . . . . . . . . . . . 152
15 Uitbreiding 155
15.1 Tips & Trics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
15.1.1 Schermbeheer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
15.1.2 Beheer van variabelen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
15.1.3 Aanmaken project m.b.v. de wizard . . . . . . . . . . . . . . . . . . . . . 157
15.2 Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
15.2.1 Functiebouwsteen: analoge technologie . . . . . . . . . . . . . . . . . . 158
15.3 Firmware Update . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
15.4 Variabelen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
15.5 Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
15.6 Bus Diagnose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
Inhoudsopgave iv
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
15.6.1 Verbinding met controller maken . . . . . . . . . . . . . . . . . . . . . . . 170
15.6.2 Interbus Diagnose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
15.6.3 Axioline Diagnose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
16 Opdrachten 175
16.1 Een alarmsysteem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
16.2 Openen van een sectionaal poort . . . . . . . . . . . . . . . . . . . . . . . . . . 177
16.3 Temperatuursopvolging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
16.4 Sequentieel programmeren in ST: de rolkraan . . . . . . . . . . . . . . . . . . . 181
16.5 Tapijtoproller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
16.5.1 Overzicht in- en uitgangen opdracht tapijtroller . . . . . . . . . . . . . . 182
16.5.2 Verloop van de oprolcyclus . . . . . . . . . . . . . . . . . . . . . . . . . . 183
16.5.3 Hoofdprogramma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
16.5.4 Functiebouwsteen Blokgolf . . . . . . . . . . . . . . . . . . . . . . . . . . 184
16.5.5 Functiebouwsteen StartStop . . . . . . . . . . . . . . . . . . . . . . . . . 184
16.5.6 Functiebouwsteen Oprolcyclus . . . . . . . . . . . . . . . . . . . . . . . . 185
16.6 Voorbeeld in ST met array’s en structuren . . . . . . . . . . . . . . . . . . . . . 189
Inhoudsopgave v
1 Beschrijving van de hardware
1.1 Structuur van de starterkits
1.1.1 ILC131 starterkit
De ILC131 starterkit is een combinatie van hardware en software die nodig is om een basis-
project aan te maken. De starterkit is geassembleerd op een bord en bevat een voeding, een
ILC131 met analoge ingangskaart, een potentiometer en een switch module met 8 schake-
laars (zie figuur 1.1).
Figuur 1.1: Opbouw van de starterkit
1 Beschrijving van de hardware 1
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
1.1.2 AXC1050 starterkit
De AXC1050 starterkit is een combinatie van hardware en software die nodig is om een
basisproject aan te maken.
De starterkit is geassembleerd op een bord en bevat een AXC1050 met daaraan gekoppeld
een digitale in- en uitgangskaart, een analoge uitgangskaart en een analoge ingangskaart
voor spanningssignalen.
Daarnaast bevat het bord ook een voeding, een switch module met 8 schakelaars, een led-
bar en een potentiometer (zie figuur 1.2).
Figuur 1.2: Opbouw van de starterkit
1 Beschrijving van de hardware 2
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
1.2 Phoenix Contact
1.2.1 Overzicht van de PLC’s
Phoenix Contact volgt de internationale IEC 61131-3 norm voor programmeerbare sturingen.
Figuur 1.3 toont een overzicht van het plc-gamma van Phoenix Contact: de ILC’s, de Axio-
controllers en de softPLC’s.
Figuur 1.3: Overzicht plc’s van Phoenix Contact
ILC’s
De ILC’s uit het gamma van Phoenix Contact zijn ingedeeld in 3 performantieklasses: de 100-
reeks, de 300-reeks en de 400-reeks. Specificaties van de ILC’s binnen iedere reeks zijn te
vinden in tabellen 1.1, 1.2 en 1.3.
Axioline
Binnen de Axioline zijn er twee reeksen: de 1000-reeks en de 3000-reeks. Specificaties van
de Axiocontrollers per reeks zijn te vinden in tabellen 1.4 en 1.5.
SoftPLC’s
Ook is het mogelijk om softwarematig een cyclische plc-werking te verkrijgen op een indus-
triële pc. Specificaties van de mogelijke softPLC’s zijn te vinden in tabel 1.6.
1 Beschrijving van de hardware 3
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
Tabel 1.1: Specificaties voor ILC’s binnen de 100-reeks van Phoenix Contact
Tabel 1.2: Specificaties voor ILC’s binnen de 300-reeks van Phoenix Contact
1 Beschrijving van de hardware 4
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
Tabel 1.3: Specificaties voor ILC’s binnen de 400-reeks van Phoenix Contact
Tabel 1.4: Specificaties voor Axiocontrollers binnen de 1000-reeks van Phoenix Contact
1 Beschrijving van de hardware 5
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
Tabel 1.5: Specificaties voor Axiocontrollers binnen de 3000-reeks van Phoenix Contact
Tabel 1.6: Specificaties voor softPLC’s van Phoenix Contact
1 Beschrijving van de hardware 6
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
1.2.2 Specifieke kenmerken voor de 100-reeks
ILC131 ETH
Dit is een PLC Base-Unit voor de kleine toepassingen. De plc heeft de volgende kenmerken:
– 192kB programma- en datageheugen
– 8kB retain-geheugen
– 1 Ethernetpoort
– Modbus-client geïmplementeerd (4 connecties)
Het geheugen kan uitgebreid worden met een SD-kaart.
ILC151 ETH
Dit is een PLC Standard-Unit voor de basis toepassingen. De plc heeft de volgende kenmer-
ken:
– 256kB programma- en datageheugen
– 8kB retain-geheugen
– 1 Ethernetpoort
– Modbus-client geïmplementeerd (8 connecties)
Het geheugen kan uitgebreid worden met een SD-kaart.
ILC171 ETH 2TX
Deze PLC Advanced-Unit wordt gebruikt in toepassingen voor data-logging en communicatie.
De plc heeft de volgende kenmerken:
– 512kB programma- en datageheugen
– 48kB retain-geheugen
– 2 Ethernetpoorten
– Modbus-client geïmplementeerd (16 connecties)
Het geheugen kan uitgebreid worden met een SD-kaart.
ILC191 ETH 2TX
Deze PLC Advanced-Unit met FPU wordt gebruikt in closed-loop control toepassingen. De plc
heeft de volgende kenmerken:
– 1MB programma- en datageheugen
– 48kB retain-geheugen
1 Beschrijving van de hardware 7
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
– 2 Ethernetpoorten
– Modbus-client geïmplementeerd (16 connecties)
– Geïntegreerde FPU voor snellere floating-point bewerkingen
Het geheugen kan uitgebreid worden met een SD-kaart.
ILC151 GSM/GPRS
Deze PLC met geïntegreerde GSM/GPRS modem wordt gebruikt voor Remote Control toepas-
singen. De PLC heeft de volgende kenmerken:
– 512kB programma- en datageheugen
– 48kB retain-geheugen
– 1 Ethernetpoort
– Modbus-client geïmplementeerd (8 connecties)
– Nieuw geïntegreerde webserver
Het geheugen kan uitgebreid worden met een SD-kaart.
1.2.3 Specifieke kenmerken voor de AXC1050
De Axiocontroller AXC1050 is snel, robuust en eenvoudig. Deze PLC is geschikt voor middel-
grote automatiseringstaken en heeft onder andere de volgende kenmerken:
– Geïntegreerde UPS
– 48 kB retain-geheugen
– 2 ethernetpoorten, 1 USB poort
– Modbus-client geïmplementeerd (16 connecties)
– Profinet controller
Het geheugen kan uitgebreid worden met een SD-kaart.
1 Beschrijving van de hardware 8
2 IEC 61131-3
2.1 Inleiding
De IEC 61131 STANDAARD is een internationale standaard voor programmeerbare sturingen
(PLC’s, soft PLC’s. . . ) en bestaat uit 5 delen:
IEC 61131-1 : Algemeen overzicht;
IEC 61131-2 : Hardware karakteristieken;
IEC 61131-3 : Programmeertalen;
IEC 61131-4 : Richtlijnen voor de gebruiker;
IEC 61131-5 : Communicatie;
+ 2 technische rapporten.
DE IEC 61131-3 NORM is sinds 1993 de internationale standaard voor het programmeren van
industriële controllers. Het definieert 5 verschillende talen. Deze worden wereldwijd door
alle grote PLC-fabrikanten gebruikt. Deze 5 talen zijn de volgende:
• LADDER DIAGRAM (LD), een grafische taal welke gebaseerd is op contactorlogica;
• FUNCTION BLOCK DIAGRAM (FBD);
• INSTRUCTION LIST (IL): een ‘low-level’ taal, vergelijkbaar met assembler;
• SEQUENTIAL FUNCTION CHART (SFC): een grafische taal speciaal ontwikkeld om de af-
loop van sequentiële systemen te programmeren;
• STRUCTURED TEXT (ST): een ‘high-level’ taal om gestructureerd te programmeren.
Deze taal is sterk vergelijkbaar met PASCAL.
2 IEC 61131-3 9
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
2.2 Structuur van een applicatie volgens de IEC 61131-3 norm
Elke configuratie bevat één of meerdere resources. Een resource voorziet in alle mogelijke
tools om een bepaald gebruikersprogramma uit te voeren. Het is een kenmerk om een be-
paalde processor te ondersteunen. Een resource is het best te begrijpen als een CPU met het
daarbij behorende operating systeem. In elke resource kunnen meerdere tasks actief zijn.
Een task wordt aangemaakt om een aantal programma’s uit te voeren. Een TASK kan een
cyclische (periodische) task, een event-gestuurde task of een systeem-gestuurde (interrupt-)
task zijn.
Een cyclische task wordt cyclisch uitgevoerd met tijdsbewaking.
Meestal wordt een default task voorzien in de engineeringssofware. Dit is een cyclische
taak die steeds opnieuw wordt uitgevoerd. De cyclischtijd is enerzijds afhankelijk van de
verwerkingssnelheid van de CPU van het besturingssyteem, anderzijds van de grootte van
het gebruikersprogramma.
Een event-gestuurde task wordt aangestoten bij een bepaalde gebeurtenis. Bij PC WorX
wordt de event-gestuurde task gebruikt voor de mogelijkheid van sequential processing.
Een systeem-gestuurde task wordt aangestoten door het operatingsysteem (warme start,
koude start, stop, watchdog error, divide by zero. . . ).
In sectie 15.5 op pagina 168 wordt dieper ingegaan op de verschillende tasks.
Het uitvoeringsprogramma gekoppeld aan een task kan bestaan uit verschillende POU’s (Pro-
gram Organisation Unit).
2 IEC 61131-3 10
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
Figuur 2.1: Structuur van een applicatie volgens de IEC 61131-3 norm
2 IEC 61131-3 11
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
2.3 POU’s
POU staat voor Program Organisation Units en is de verzamelnaam voor programma’s, func-
tieblokken en functies.
Een overzicht:
POU type Meermaals gebruik als Commentaar
Programma Programma instance Grotere herbruikbare software elementen
binnen een gebruikersprogramma
Functieblok Functieblok instance Kleinere (van complex algoritmes tot
eenvoudige besturingstaken) herbruikbare
software elementen
Functie Functie Herbruikbare software elementen voor
data manipulatie
2 IEC 61131-3 12
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
2.4 Functies
2.4.1 Algemeen
Een functie is een software-blokje dat meermaals kan gebruikt worden in een andere POU.
Meestal zullen functies gebruikt worden om data te manipuleren. Een functie produceert al-
tijd ogenblikkelijk een definitief resultaat met behulp van een aantal ingangsparameters.
Het resultaat wordt toegekend aan de functienaam zelf. Hiervoor zal een functie altijd van
een bepaald data-type moeten zijn.
• Een functie heeft juist één uitgang
• Voor een identieke set ingangsparameters zal een functie altijd hetzelfde resultaat te-
ruggeven
Figuur 2.2: Voorstelling van een functie
2.4.2 Variabelen en functies
Een variabele in een functie kan van het type VAR en VAR_INPUT zijn. Variabelen van het
type VAR_OUTPUT zijn niet mogelijk omdat een functie slechts één uitgang heeft, nl. de
functienaam zelf.
2.4.3 Standaardfuncties
Er zijn heel wat standaardfuncties. Een greep uit de beschikbare groepen:
• Numerieke functies (ABS, SQRT, LN, LOG, EXP, SIN, COS, TAN, ASIN, ACOS, ATAN).
• Rekenkundige functies (ADD, MUL, SUB, DIV, MOD, EXPT, MOVE)
Deze functies zijn meestal van het data-type ANY_NUM. Dit betekent dat het data_type
van de inputparameters zowel een INT, DINT of REAL kan zijn.
2 IEC 61131-3 13
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
• Bit stringfuncties (SHL, SHR, ROR, ROL).
• Booleaanse bit-functies (AND, OR, XOR, NOT)
De functies van de twee laatste groepen zijn meestal van het data-type ANY_BIT. Dit
betekent dat het data_type van de inputparameters zowel een BIT, BYTE, WORD of
DWORD kan zijn.
• Vergelijkingsfuncties (GT, GE, EQ, LE, LT, NE).
• Karakter stringfuncties (LEFT, RIGHT, MID, CONCAT, INSERT, DELETE, REPLACE, LEN,
FIND) functies om data-types om te zetten.
Voor PC WorX zijn nog heel wat bibliotheken voorhanden met speciale functies.
2 IEC 61131-3 14
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
2.5 Functiebouwstenen
2.5.1 Algemeen
Een functieblok is een herbruikbaar software element om eenvoudige tot complexe bestu-
ringstaken uit te voeren. Bij het aanmaken van een functiebouwsteen worden variabelen
gedefinieerd. Bij de oproep van deze functiebouwsteen wordt er voor deze variabelen ge-
heugenruimte voorzien. Indien deze functiebouwsteen meerdere malen opgeroepen wordt,
dan moet er meerdere keren geheugenruimte voorzien worden. Daarom wordt er bij de
oproep van een functiebouwsteen een instance gedefinieerd. Deze instance verwijst dan
naar deze specifieke geheugenlocatie. Bij een bepaalde set ingangsparameters zullen de
uitgangsparameters van een functieblok een variërend resultaat hebben in functie van de
tijd.
2.5.2 Variabelen en functiebouwstenen
Een variabele in een functiebouwsteen kan van het type VAR, VAR_GLOBAL, VAR_INPUT en
VAR_OUTPUT zijn. Hierbij zijn de ingangsparameters van het type VAR_INPUT. De uitgangs-
waarden van de FB zijn van het type VAR_OUTPUT. Een variabele kan ook van het type
VAR_IN_OUT zijn. Dergelijke variabele krijgen een inputwaarde meegegeven welke kan ver-
anderen in de uitvoering van de FB. Het gebruik van VAR_GLOBAL wordt vermeden in een
functiebouwsteen. Een voorstelling van een functiebouwsteen is te zien in figuur ??.
Figuur 2.3: Voorstelling van een functiebouwsteen
2.5.3 Standaardfunctiebouwstenen
Er zijn heel wat vooraf gedefinieerde functieblokken. De belangrijkste zijn:
• SR, RS, R_TRIG, F_TRIG
• Counters: CTU, CTD, CTUD
• Timers: TP,TOF, TON
2 IEC 61131-3 15
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
2.6 Programma’s
2.6.1 Algemeen
Een programma is een groot herbruikbaar software element. Dit element is meestal opge-
bouwd uit verschillende andere software elementen zoals functies en functieblokken. Die
elementen worden in één van de 5 IEC talen geschreven. Een typisch programma bestaat uit
een aantal gelinkte functieblokken die softwarematig data kunnen uitwisselen.
2.6.2 Variabelen
Variabelen kunnen van het type VAR, VAR EXTERNAL, VAR_EXTERNAL_PG en VAR_GLOBAL
zijn.
Globale variabelen worden in programma’s gebruikt en worden nadien gelinkt aan periferie
IO of aan softwarevariabelen.
In het laatste hoofdstuk worden de verschillen tussen deze variabelen onder de loep geno-
men.
2 IEC 61131-3 16
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
2.7 Naamgeving
De naamgeving van variabelen is onderworpen aan een standaard. De richtlijnen zorgen
ervoor dat bij de diagnose van een probleem de programmeur in één oogopslag het gebruik
van de variabelen kan aflezen aan de hand van de naamgeving.
Algemeen kan gesteld worden dat de opbouw voor de naamgeving van een variabele is vol-
gens figuur 2.4.
Figuur 2.4: Opbouw naamgeving
Ieder datatype heeft zijn eigen afkorting, deze worden weergegeven in tabel 2.1.
Tabel 2.1: Overzicht van afkortingen voor datatypes
De naam zelf dient logisch te zijn en zelfverklarend te zijn. Te lange namen worden logisch
afgekort. Namen die bestaan uit meerdere woorden worden aan elkaar geschreven, waarbij
ieder woord begint met een hoofdletter zoals bv. xEnableDataExchange. Afkortingen worden
in hoofdletters geschreven en van de rest van de naam gescheiden door een underscore
zoals bv. xClearBuffer_RTU.
2.7.1 Benaming binnen een functiebouwsteen
De variabelen binnen een functiebouwsteen krijgen een prefix naargelang hun gebruik, zie
tabel 2.2.
2.7.2 Benaming binnen een programma
De variabelen binnen het hogere programmaniveau krijgen ook een prefix naargelang hun
gebruik, zie tabel 2.3.
2 IEC 61131-3 17
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
Tabel 2.2: Overzicht van prefixen binnen een functiebouwsteen
Tabel 2.3: Overzicht van prefixen binnen een programma
2.7.3 Benaming van user defined datatypes
Datatypes zoals ARRAYs en STRUCTs worden door de gebruiker gedefinieerd. De benaming
voor het datatype zelf wordt als volgt voorgesteld:
• Array: ARR_x_y_z
– x: Start getal array
– y: Eind getal array
– z: datatype arrayelement
vb. ARR_1_10_BYTE: een array van 10 bytes, ARR_0_9_Settings: een array van 10
elementen van het eerder aangemaakte datatype ‘Settings’.
• Struct: udt<benaming>
vb. udtLaskop
De benaming van de variabele van zo’n datatype volgt de algemene regels van hierboven.
2 IEC 61131-3 18
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
2.8 Datatypes
2.8.1 Numerieke datatypes
De volgende tabel toont een overzicht van de belangrijkste numerieke datatypes.
Datatype Beschrijving Bits Bereik
SINT Short integer 8 -128 tot +127
INT Integer 16 -32768 tot 32767
DINT Double integer 32 −231 tot +231 − 1
LINT Long integer 64 −263 tot +261 − 1
USINT Unsigned short integer 8 0 tot 255
UINT Unsigned integer 16 0 tot 216 − 1
UDINT Unsigned double integer 32 0 tot 232 − 1
ULINT Unsigned long integer 64 0 tot 264 − 1
REAL Floating point 32 ±10±38
LREAL Long floating point 64 ±10±308
Opmerkingen over de notatie van numerieke datatypes:
• INT#15 of 15
• REAL#8 of 8.0
2.8.2 Bitgebaseerde datatypes
De volgende tabel toont een overzicht van de belangrijkste bitgebaseerde datatypes.
Datatype Beschrijving Bits Bereik
BOOL 1 bit 1 Logisch 1 of 0
BYTE Bitstring van 8 bits 8 Binaire informatie
WORD Bitstring van 16 bits 16 Binaire informatie
DWORD Bitstring van 32 bits 32 Binaire informatie
LWORD Bitstring van 64 bits 64 Binaire informatie
STRING Karakter string Tekst informatie
Opmerkingen over de notatie van bitgebaseerde datatypes:
• WORD#2#1010111100000011 (binaire notatie)
• WORD #16#AF03 (hexadecimal notatie)
• BYTE#2#10100011
2 IEC 61131-3 19
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
2.8.3 Time-gebaseerde datatypes
De volgende tabel toont een overzicht van de belangrijkste time-gebaseerde datatypes.
Datatype Beschrijving Bits Bereik
TIME Tijdsduur
DATE Kalendergegevens
TIME_OF_DAY Tijd van de dag
DATE_AND_TIME Kalendergegevens + tijd
van de dag
Opmerkingen over de notatie van bitgebaseerde datatypes:
• Opmerkingen over TIME:
– T#3s
– T#16d_5h_3m_4s_20ms (16 dagen, 5 uur, 3 minuten, 4 seconden en 20 millise-
conden)
– TIME#10s
• Opmerkingen over DATE:
– D#2001-10-15 (15 oktober 2001)
– DATE#1999-1-30
• Opmerkingen over TIME_OF_DAY
– TOD#10:10:30 (10 uur, 10 minuten en 30 seconden)
– TIME_OF_DAY#23:59:59 (1 seconde voor middernacht)
• Opmerkingen over DATE_AND_TIME
– DT#2007-03-22-15:36:50
– DATE_AND_TIME#2007-02-01-12:00:00
2 IEC 61131-3 20
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
2.8.4 Array
‘Array’ datatype is een structuur van verschillende elementen van hetzelfde datatype.
De verschillende elementen kunnen één voor één apart gemanipuleerd worden aan de hand
van een array-index.
Een array datatype moet vooraf gedeclareerd worden. Eens het datatype gedeclareerd is,
dan kunnen variabelen van dit array datatype gedefinieerd worden.
TYPE
(*Typename*) : ARRAY [(*From..To*)] OF (*DATATYPE*);
END_TYPE
Voorbeeld van een ééndimensionale array
Declaratie array datatype
TYPE
ARR_1_23_INT : ARRAY[1..23] OF INT;
END_TYPE
Definitie van variabelen
VAR
arrReeks_1 : ARR_1_23_INT;
iWaarde_4: INT;
END_VAR
CODE in ST
iWaarde_4 := arrReeks_1
Voorbeeld van een multi-dimensionale array
Declaratie array datatype
TYPE
ARR_1_23_INT : ARRAY[1..23] OF INT;
udtResultaten : ARRAY [1..3] OF ARR_1_23_INT;
END_TYPE
2 IEC 61131-3 21
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
Definitie van variabelen
VAR
udtProductielijn_1 : udtResultaten;
iOpbrengst_x: INT;
END_VAR
CODE in ST
iOpbrengst_x := udtProductielijn_1 [2] [10];
2.8.5 Struct
‘Struct’ datatype is een structuur van verschillende elementen van een verschillend data-
type.
TYPE
(*Typename*) :
STRUCT
(*Element 1 Name*) : (*DATATYPE*);
(*Element 2 Name*) : (*DATATYPE*);
(*Element 3 Name*) : (*DATATYPE*);
(* . : . *);
(* . : . *);
(*Element n Name*) : (*DATATYPE*);
END_STRUCT;
END_TYPE
2.8.6 String
Een string is een datatype om tekst te verwerken. Het is een verzameling van bytes, waarbij
elke byte een character voorstelt (ASCII-tabel).
TYPE
(*Typename*):STRING((*String length*));
END_TYPE
2 IEC 61131-3 22
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
2.9 Structured Text
Specifiek aan structured text zijn de voorwaardelijke statements. Hierna volgt een kort over-
zicht.
2.9.1 Selectie statements
IF... THEN... ELSE...
IF <boolean expression> THEN
<statement>;
ELSE
<statement>;
END_IF;
Met ELSIF wordt het:
IF <boolean expression> THEN
<statement>;
ELSIF <boolean expression> THEN
<statement>;
ELSE
<statement>;
END_IF;
2 IEC 61131-3 23
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
CASE
CASE <integer expression> OF
<integer value_1> : <statement>;
<integer value_2> : <statement>;
<integer value_3> : <statement>;
ELSE
<statement>;
END_CASE;
2.9.2 Iteratie statements
FOR... DO
FOR <initialiserende waarde> TO <eindwaarde> BY <incrementele waarde> DO
(* BY is optioneel. Standaard wordt er met 1 stap verhoogd *)
<statement>;
<statement>;
<statement>;
END_FOR;
WHILE... DO
WHILE <boolean expression> DO
<statement>;
<statement>;
<statement>;
END_WHILE;
2 IEC 61131-3 24
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
REPEAT... UNTIL
REPEAT
<statement>;
<statement>;
<statement>;
UNTIL <boolean expression>
END_REPEAT;
Met het statement EXIT kan een voorwaardelijk einde gemaakt worden aan een iteratie
statement.
2 IEC 61131-3 25
3 Aanmaken van een project met
de ILC131
3.1 Nieuw project aanmaken
1. Selecteer “New Project” onder het menu “File” om een nieuw project aan te maken
via een template. De structuur van het project alsook de keuzemogelijkheid van een
controller worden nu voorbereid.
2. Selecteer een template voor de gebruikte ILC, bv.: “ILC 131 ETH Rev. > 00/4.00” en
bevestig met OK (zie figuur 3.1).
Figuur 3.1: Project templates
3. Selecteer “Save Project As. . . ” onder het menu “File”. Kies een projectnaam, i.f.v. het
gebruik van Webvisit zijn spaties in de naam niet toegelaten, (hier StartersProgram, zie
figuur 4.2) en sla het project op via “Save”, zie figuur 4.2.
Figuur 3.2: Opslaan project
3 Aanmaken van een project met de ILC131 26
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
Ieder project wordt opgeslagen als een ∗.mwt bestand en een folder met dezelfde naam.
Op figuur 4.2 is er een ∗.mwt bestand met de naam DEMO_PRO alsook een folder met de
naam DEMO_PRO.
Het is ook mogelijk om het project te zippen tot een ∗.zwt bestand.
Het is interessant om vooraf bij “Options” onder “Extras” de gewenste project directories
in te stellen zoals in figuur 4.3.
Figuur 3.3: Instellen project directories
3 Aanmaken van een project met de ILC131 27
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
3.2 Structuur nieuw project conform de IEC 61131-3
Figuur 3.4: Structuur bij het aanmaken van een nieuw project in PC WorX
Zie “2.2 Structuur van een applicatie volgens de IEC 61131-3 norm” op pagina 10 voor de
theoretische uitleg.
Zoals te zien is in figuur 3.4 wordt onder de map ‘Logical POU’s’ reeds één programma aan-
gemaakt met de naam Main.
Dit programma wordt een eerste in gebruik genomen via de DEFAULT task. Hierdoor is dit
programma dadelijk compileerbaar.
Indien andere programma’s aangemaakt worden dienen die zeker in een task geactiveerd te
worden (zie verder in deze cursus).
3 Aanmaken van een project met de ILC131 28
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
3.3 Aanpassen van de projectinformatie
3.3.1 Bus configuratie
Schakel over naar het werkgebied “Bus configuration”. Hier wordt alle projectinformatie
weergegeven (zie figuur 3.5).
Figuur 3.5: De busconfiguratie
3.3.2 IP
Tijdens het aanmaken van het project kent PC WorX automatisch een IP range toe voor een
lokaal netwerk (192.168.0.2 tot 192.168.0.254).
Indien een ander adres moet gebruikt worden, dan moet het start- en eindadres aangepast
worden. Indien nodig moet ook het subnetmask aangepast worden.
Voor de cursus worden volgende IP adressen toegepast:
PC 192.168.0.10/24 (subnetmask 255.255.255.0)
ILC_150 192.168.0.11/24 (subnetmask 255.255.255.0)
Beiden moeten hetzelfde subnetmask hebben.
3.3.3 IP configuratie van uw PC
Belangrijk is om eerst de netwerkinstellingen van de PC te controleren. Via de Command
Prompt wordt met behulp van het commando “ipconfig” het IP-adres van de PC opgevraagd
(zie figuur 4.6).
De PC instellingen aanpassen indien nodig via de eigenschappen voor LAN-verbinding. Bij
het Internet-protocol, kiezen voor de eigenschappen en een vast IP-adres instellen.
3 Aanmaken van een project met de ILC131 29
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
Figuur 3.6: Configuratie
Figuur 3.7: Ipconfig
Vast IP-adres kiezen Om een vast IP-adres voor de PC te kiezen, moet het netwerkcen-
trum geopend worden. Via ‘adapter-instellingen wijzigen’ wordt een overzicht van alle adap-
ters verkregen. Rechtermuisklik op de gewenste adapter, meestal LAN-verbinding (zie figuur
4.7), en het venster ‘Eigenschappen’ wordt geopend.
Figuur 3.8: Verschillende netwerkadapters in netwerkcentrum
3 Aanmaken van een project met de ILC131 30
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
Er wordt gebruik gemaakt van IPv4, dus moeten de eigenschappen van dit protocol geopend
worden, zie figuur 4.8.
Figuur 3.9: IPv4-eigenschappen selecteren
Uiteindelijk kan er een vast IP-adres ingesteld worden dat in dezelfde range van het IP-adres
van de controller moet liggen. Dit wordt weergegeven in figuur 4.9.
Figuur 3.10: Vast IP-adres toekennen
3 Aanmaken van een project met de ILC131 31
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
3.4 IP configuratie van de controller
3.4.1 Algemeen
De IP-settings binnen PCWorx zijn te zien in figuur 3.11. Om het IP-adres van de plc aan te
Figuur 3.11: IP Settings
passen zijn er de volgende mogelijkheden:
• Voor de eerste keer een IP-adres toekennen
– Via IPAssign (BootP Server)
– Via PC WorX (BootP Server)
– Via de seriële interface
– Via PC Worx, extended settings
• Veranderen van het IP-adres
– Via IPAssign (BootP Server)
– Via PC WorX (BootP Server)
– Via de seriële interface
3 Aanmaken van een project met de ILC131 32
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
3.4.2 Aanpassen IP-adres via de BootP Server (m.b.v. PC WorX)
Opmerking: De BootP-methode werkt enkel tot en met Windows XP!
Figuur 3.12: BootP opstarten binnen PCWorx
1. Activeer de “BootP Server active” checkbox.
2. Schakel over naar het werkgebied “Bus configuration”.
3. Selecteer de “ILC 131 ETH” controller.
4. Selecteer het tabblad “IP Settings” in het venster “Device Details”.
5. Breng het MAC-adres van de controller in (MAC-adres begint met 00-A0-45).
6. Vul het gewenste IP-adres in.
Figuur 3.13: Aanpassen van het IP-adres
7. Neem de spanning weg van de controller.
8. De spanning terug laten opkomen. Vanaf nu wordt het BootP proces opgestart, de
controller krijgt het ingestelde IP-adres en na een tweetal minuten is het IP-adres geac-
tiveerd.
3 Aanmaken van een project met de ILC131 33
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
3.4.3 Aanpassen IP-adres via de IP Assigment Tool (IPAssign)
IPAssign is te downloaden op de website van Phoenix Contact.
1. Zorg ervoor dat de BootP Server van PC WorX niet geactiveerd is. Enkel de bedrade
adapter van de PC mag aanliggen, alle andere adapters uitschakelen.
2. Openen IPAssign, klik op volgende en wacht tot het MAC-adres verschijnt, zie figuur
4.11.
3. Indien de controler niet in de lijst verschijnt, neem dan de spanning weg van de control-
ler door de zwarte connector even los te maken, daarna de spanning terug opzetten.
Figuur 3.14: MAC-adres selecteren
4. Klik op het MAC-adres van de controller dat op het scherm verschijnt (MAC-adres begint
met 00-A0-45).
5. Vul het gewenste IP-adres in zoals in figuur 4.12.
Figuur 3.15: IP-adres invullen
3 Aanmaken van een project met de ILC131 34
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
Figuur 3.16: Wachten op bevestiging
6. Wacht tot de aanpassing bevestigd is. Indien er na een twintigtal seconden nog geen
bevestiging verkregen is, neem dan terug even kort de spanning weg van de controller.
Bij de heropstart neemt de controller het IP-adres aan.
Figuur 3.17: Bevestiging
3 Aanmaken van een project met de ILC131 35
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
3.4.4 Communicatie opzetten tussen PC en plc
Eens bij de controller en op de PC het juiste IP-adres ingesteld staat kan de communicatie
geactiveerd worden.
Hiervoor wordt de ILC 131 ETH aangeklikt in het window “Bus Structure” (links) en wordt het
tabblad “Communication” gekozen in het window “Device Details”, zie figuur 3.18. Na het
Figuur 3.18: ‘Communication’-tabblad om verbinding te maken
instellen van het juiste IP-adres van de controller kan de communicatie getest worden via de
knop “Test”, zie figuur 3.19.
Figuur 3.19: Testen van de communicatie
Na enkele seconden zal de indicatiebar groen oplichten zoals in figuur 3.20. Vervolgens kan
op ‘Apply’ geklikt worden om te bevestigen. Ter controle zal links in de boomstructuur het
IP-adres wijzigen.
Figuur 3.20: Geslaagde communicatietest
3 Aanmaken van een project met de ILC131 36
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
3.5 De INTERBUS configuratie
Eens het communicatiepad actief is tussen de controller en de PC kan het INTERBUS systeem
verbonden met de controller automatisch ingelezen worden.
Voor dit project zijn twee INTERBUS modules verbonden met de controller.
• Selecteer het “Connected Bus” commando via het “View” menu om het INTERBUS sys-
teem in te lezen (zie figuur 3.21).
Figuur 3.21: Connected Bus
• Selecteer de juiste controller in het venster “Connected INTERBUS” (zie figuur 3.22).
Figuur 3.22: Selecteer de juiste controller
• De INTERBUS modules worden nu automatisch ingelezen. Eens ingelezen moeten ze
toegevoegd worden aan het project.
3 Aanmaken van een project met de ILC131 37
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
• Klik hiervoor op de controller, rechtermuistoets en kies vervolgens “Import to Project”
en “With Device Description”.
Figuur 3.23: Uitgelezen busstructure
• Het venster “Select Device” toont nu alle modules welke overeenstemmen met de ID
code en met de hoeveelheid processdata van de geconnecteerde modules. Uit deze
lijst moeten de werkelijk verbonden modules geselecteerd worden.
De INTERBUS modules welke in dit project gebruikt zijn:
- IB IL AI 2/SF-ME Beiden moeten hetzelfde subnetsmask hebben.
• Uiteindelijk moet de configuratie opgebouwd zijn zoals op figuur 3.24 wordt weergege-
ven.
Figuur 3.24: Uiteindelijke configuratie
• Tot slot is het beter om nu opnieuw offline te selecteren vooraleer dit venster af te
sluiten.
Figuur 3.25: Opnieuw offline gaan
3 Aanmaken van een project met de ILC131 38
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
3.6 Compileren en downloaden
Het project bevat nu alle informatie omtrent de busconfiguraties (Ethernet & INTERBUS) en
is er een actieve communicatie. Op dit moment is het mogelijk om het project te compileren
en te downloaden om eventuele fouten te herkennen.
compileren → downloaden naar de controller → cold start uitvoeren.
Enkele belangrijke sneltoetsen betreffende het compileren:
Figuur 3.26: Compileren en downloaden
Figuur 3.27: Sneltoetsen
3 Aanmaken van een project met de ILC131 39
4 Aanmaken van een project met
de AXC1050
4.1 Nieuw project aanmaken
1. Selecteer “New Project” onder het menu “File” om een nieuw project aan te maken
via een template. De structuur van het project alsook de keuzemogelijkheid van een
controller worden nu voorbereid.
2. Selecteer een template voor de gebruikte Axiocontroller, bv.: “AXC 1050 Rev. > 01/2.10”
en bevestig met OK (zie figuur 4.1).
Figuur 4.1: Project templates voor AXC1050
3. Selecteer “Save Project As. . . ” onder het menu “File”. Kies een projectnaam, i.f.v. het
gebruik van Webvisit zijn spaties in de naam niet toegelaten, (hier StartersProgram, zie
figuur 4.2) en sla het project op via “Save”, zie figuur 4.2.
Figuur 4.2: Opslaan project
4 Aanmaken van een project met de AXC1050 40
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
Ieder project wordt opgeslagen als een ∗.mwt bestand en een folder met dezelfde naam.
Op figuur 4.2 is er een ∗.mwt bestand met de naam DEMO_PRO alsook een folder met de
naam DEMO_PRO.
Het is ook mogelijk om het project te zippen tot een ∗.zwt bestand.
Het is interessant om vooraf bij “Options” onder “Extras” de gewenste project directories
in te stellen zoals in figuur 4.3.
Figuur 4.3: Instellen project directories
4 Aanmaken van een project met de AXC1050 41
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
4.2 Structuur nieuw project conform de IEC 61131-3
Figuur 4.4: Structuur bij het aanmaken van een nieuw project in PC WorX
Zie “2.2 Structuur van een applicatie volgens de IEC 61131-3 norm” op pagina 10 voor de
theoretische uitleg.
Zoals te zien is in figuur 4.4 wordt onder de map ‘Logical POU’s’ reeds één programma aan-
gemaakt met de naam Main.
Dit programma wordt bij aanmaak van een project standaard via de DEFAULT task opgeroe-
pen. Hierdoor is dit programma dadelijk compileerbaar.
Indien andere programma’s aangemaakt worden, dienen deze zeker in een task geactiveerd
te worden (zie verder in deze cursus).
4 Aanmaken van een project met de AXC1050 42
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
4.3 Aanpassen van de projectinformatie
4.3.1 Bus configuratie
Schakel over naar het werkgebied “Bus configuration”. Hier wordt alle projectinformatie
weergegeven (zie figuur 4.5).
Figuur 4.5: De busconfiguratie
4.3.2 IP
Tijdens het aanmaken van het project kent PC WorX automatisch een IP range toe voor een
lokaal netwerk (192.168.0.2 tot 192.168.0.254).
Indien een ander adres moet gebruikt worden, dan moet het start- en eindadres aangepast
worden. Indien nodig moet ook het subnetmask aangepast worden.
Voor de cursus worden volgende IP adressen toegepast:
PC 192.168.0.10/24 (subnetmask 255.255.255.0)
AXC1050 192.168.0.11/24 (subnetmask 255.255.255.0)
Beiden moeten hetzelfde subnetmask hebben.
4.3.3 IP configuratie van uw PC
Belangrijk is om eerst de netwerkinstellingen van de PC te controleren. Via de Command
Prompt wordt met behulp van het commando “ipconfig” het IP-adres van de PC opgevraagd
(zie figuur 4.6).
De PC instellingen aanpassen indien nodig via de eigenschappen voor LAN-verbinding. Bij
het Internet-protocol, kiezen voor de eigenschappen en een vast IP-adres instellen.
4 Aanmaken van een project met de AXC1050 43
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
Figuur 4.6: Ipconfig
Vast IP-adres kiezen Om een vast IP-adres voor de PC te kiezen, moet het netwerkcen-
trum geopend worden. Via ‘adapter-instellingen wijzigen’ wordt een overzicht van alle adap-
ters verkregen. Rechtermuisklik op de gewenste adapter, meestal LAN-verbinding (zie figuur
4.7), en het venster ‘Eigenschappen’ wordt geopend.
Figuur 4.7: Verschillende netwerkadapters in netwerkcentrum
Er wordt gebruik gemaakt van IPv4, dus moeten de eigenschappen van dit protocol geopend
worden, zie figuur 4.8.
Uiteindelijk kan er een vast IP-adres ingesteld worden dat in dezelfde range van het IP-adres
van de controller moet liggen. Dit wordt weergegeven in figuur 4.9.
4 Aanmaken van een project met de AXC1050 44
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
Figuur 4.8: IPv4-eigenschappen selecteren
Figuur 4.9: Vast IP-adres toekennen
4 Aanmaken van een project met de AXC1050 45
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
4.4 IP configuratie van de controller
4.4.1 Algemeen
De IP-settings binnen PCWorx zijn te zien in figuur 4.10.
Figuur 4.10: IP Settings
Om het IP-adres van de plc aan te passen zijn er de volgende mogelijkheden:
• Voor de eerste keer een IP-adres toekennen
– Via IPAssign (BootP Server)
– Via PC WorX (DCP)
– Via PC Worx (Extended settings, over USB interface)
• Veranderen van het IP-adres
– Via IPAssign (BootP Server)
– Via PC WorX (DCP)
– Via PC WorX (Extended settings, over USB interface)
– Via PC Worx (Extended settings, over ethernet)
4 Aanmaken van een project met de AXC1050 46
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
4.4.2 Aanpassen IP-adres via de IP Assigment Tool (IPAssign)
IPAssign is te downloaden op de website van Phoenix Contact.
1. Zorg ervoor dat de BootP Server van PC WorX niet geactiveerd is. Enkel de bedrade
adapter van de PC mag aanliggen, alle andere adapters uitschakelen.
2. Openen IPAssign, klik op volgende en wacht tot het MAC-adres verschijnt, zie figuur
4.11.
3. Indien de controler niet in de lijst verschijnt, neem dan de spanning weg van de control-
ler door de zwarte connector even los te maken, daarna de spanning terug opzetten.
Figuur 4.11: MAC-adres selecteren
4. Klik op het MAC-adres van de controller dat op het scherm verschijnt (MAC-adres begint
met 00-A0-45).
5. Vul het gewenste IP-adres in zoals in figuur 4.12.
Figuur 4.12: IP-adres invullen
4 Aanmaken van een project met de AXC1050 47
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
Figuur 4.13: Wachten op bevestiging
6. Wacht tot de aanpassing bevestigd is. Indien er na een twintigtal seconden nog geen
bevestiging verkregen is, neem dan terug even kort de spanning weg van de controller.
Bij de heropstart neemt de controller het IP-adres aan.
Figuur 4.14: Bevestiging
4 Aanmaken van een project met de AXC1050 48
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
4.4.3 Aanpassen IP-adres via DCP in PC Worx
Het Discovery and Configuration Protocol (DCP) is een protocol binnen de Profinet context.
Daar de AXC1050 een Profinet controller/device is, kunnen het IP-adres en de device name
rechtstreeks via DCP toegekend worden.
1. Na het selecteren van de AXC1050 binnen de “Bus Structure”, kunnen de gewenste
IP-settings ingevoerd worden (zie figuur 4.15).
Figuur 4.15: Ingeven gewenste IP-settings
2. Van zodra op het tabblad “IP Assignment” geklikt wordt, worden alle beschikbare Profi-
net toestellen binnen het netwerk door DCP afgescand (zie figuur 4.16.
Figuur 4.16: Met DCP wordt een lijst van beschikbare Profinet toestellen verkregen
3. De AXC1050 komt in de lijst voor als beschikbaar Profinet toestel (zie figuur 4.17) Het
toestel is herkenbaar aan zijn MAC-adres. Daarnaast kan ook een visuele controle ge-
beuren door op “Flashing on” te klikken.
4 Aanmaken van een project met de AXC1050 49
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
Figuur 4.17: AXC1050 in lijst van beschikbare Profinet toestellen
4. De IP-settings rechtsboven komen overeen met deze die ingesteld zijn in het “IP set-
tings” tabblad. Om deze toe te kennen aan de AXC1050 volstaat het om de AXC1050
te selecteren en te klikken op “Assign IP” (zie figuur 4.18).
Figuur 4.18: Toekennen van de IP-settings aan de AXC1050
5. De IP-settings zijn succesvol toegekend, zie figuur 4.19.
6. Ook de Profinet device name kan ingesteld worden zoals gespecifieerd onder het tab-
blad “IP Settings”, dit door te klikken op “Assign Name” (zie figuur 4.20
7. De Profinet device name is succesvol toegekend, zie figuur 4.21
4 Aanmaken van een project met de AXC1050 50
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
Figuur 4.19: Succesvolle toekenning van de IP-settings
Figuur 4.20: Toekennen van de Profinet device name
Figuur 4.21: Succesvolle toekenning van de Profinet device name
4 Aanmaken van een project met de AXC1050 51
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
4.4.4 Aanpassen IP-adres via USB-interface in PC Worx
De AXC1050 is voorzien van een micro-USB interface. Deze kan gebruikt worden voor dia-
gnose (bijvoorbeeld via Diag+), maar ook om de IP-settings te wijzigen. Om de USB-interface
te kunnen gebruiken, moet de “Phoenix Contact USB to UART Interface” driver geïnstalleerd
zijn.
1. In het tabblad “Extended settings” kunnen de gewenste IP-settings ingegeven worden.
Verzenden van deze settings gebeurt door te klikken op “Send” (zie figuur 4.22).
Figuur 4.22: Verzenden van de IP-settings
2. Vervolgens moet het communicatiepad ingesteld worden op de USB-interface, zie figuur
4.23.
Figuur 4.23: USB-interface als communicatiepad kiezen
3. Een melding verschijnt indien de service correct uitgevoerd is, zie figuur 4.24.
4. Om de nieuwe IP-settings effectief aan te nemen, moet de controller nog heropgestart
worden.
4 Aanmaken van een project met de AXC1050 52
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
Figuur 4.24: IP-settings succesvol verzonden
4 Aanmaken van een project met de AXC1050 53
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
4.4.5 Communicatie opzetten tussen PC en PLC
Eens bij de controller en op de PC het juiste IP-adres ingesteld staat, kan de communicatie
geactiveerd worden.
Hiervoor wordt de AXC1050 aangeklikt in het window “Bus Structure” (links) en wordt het
tabblad “Communication” gekozen in het window “Device Details”, zie figuur 4.25.
Figuur 4.25: ‘Communication’-tabblad om verbinding te maken
Na het instellen van het juiste IP-adres van de controller kan de communicatie getest worden
via de knop “Test”, zie figuur 4.25.
Na enkele seconden zal de indicatiebar groen oplichten zoals in figuur 4.26. Vervolgens kan
op ‘Apply’ geklikt worden om te bevestigen. Ter controle zal links in de boomstructuur het
IP-adres wijzigen.
Figuur 4.26: Geslaagde communicatietest
4 Aanmaken van een project met de AXC1050 54
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
4.5 De AXIOLINE configuratie
Nu het communicatiepad tussen de controller en de PC actief is, kunnen de extra modu-
les met de controller verbonden worden. Het AXIOLINE systeem kan automatisch ingelezen
worden.
Bij deze starterkit worden 3 AXIOLINE modules verbonden met de controller:
– AXL F DI8/1 DO8/1 1H, module met 8 digitale ingangen en 8 digitale uitgangen
– AXL F AO4 1H, module met 4 analoge uitgangen
– AXL F AI4 U 1H, module met 4 analoge ingangen, spanningssignalen
Om de bus in te lezen moeten de volgende stappen doorlopen worden:
1. Ga naar de “Bus Structure” binnen de “Bus Configuration Workspace”.
2. Selecteer via een rechtermuisklik op “#Axioline” de functie “Read Axioline”, zie figuur
4.27.
Figuur 4.27: Read Axioline
3. De bus wordt automatisch uitgelezen en er wordt een overzicht gegeven van de gevon-
den modules, zie figuur 4.28
4. Na bevestiging ziet de uiteindelijke busstructuur eruit zoals in figuur 4.29
4 Aanmaken van een project met de AXC1050 55
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
Figuur 4.28: Gevonden modules
Figuur 4.29: Uiteindelijke busstructuur
4 Aanmaken van een project met de AXC1050 56
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
4.6 Compileren en downloaden
Het project bevat nu alle informatie omtrent de busconfiguraties (Ethernet & INTERBUS) en
is er een actieve communicatie. Op dit moment is het mogelijk om het project te compileren
en te downloaden om eventuele fouten te herkennen.
compileren → downloaden naar de controller → cold start uitvoeren.
Enkele belangrijke sneltoetsen betreffende het compileren:
Figuur 4.30: Compileren en downloaden
Figuur 4.31: Sneltoetsen
4 Aanmaken van een project met de AXC1050 57
5 Uitgewerkt
Voorbeeldprogramma
5.1 Inleiding
Hieronder wordt een eenvoudig voorbeeldprogramma stap voor stap omschreven. De be-
oogde werking bestaat uit 2 delen:
1. PC WorX: In PC WorX wordt een eenvoudig programma geschreven die een transport-
band met telfunctie voorstelt. Daarnaast wordt ook een analoge waarde binnengelezen
en gevisualiseerd op een LED-bar.
2. Webvisit: De ILC131 ETH beschikt over een webserver. Bij deze oefening is het de
bedoeling dat een webpagina aangemaakt wordt waarmee de transportband gevisua-
liseerd wordt, alsook de aansturing ervan mogelijk wordt. De toestand van de analoge
ingang zal hier ook worden gevisualiseerd.
5 Uitgewerkt Voorbeeldprogramma 58
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
5.2 Opdrachtomschrijving
Na een correcte hardwareconfiguratie wordt aan de hand van een voorbeeldprogramma de
programmeeromgeving van PC WorX, conform de IEC61131-3 norm, verder toegelicht.
De opdracht omvat een transportband met een bedienkastje en een lampenzuil.
Een motor, die in snelheid regelbaar is, laat de transportband draaien. Met behulp van een
startknop (NO) kan de band gestart worden. Met de stopknop (NC) kan de band gestopt
worden.
Een veiligheidrelais (NC) wordt eveneens op het kastje gemonteerd en wordt als ingang op
de PLC binnen genomen.
De lampenzuil bestaat uit een rode en groene lamp. De rode lamp gaat branden wanneer
de noodstop (veiligheidsrelais) ingedrukt is. De groene lamp brandt continu wanneer de
transportband draait en de werking OK is. De groene lamp brandt niet als de rode lamp
brandt. Wanneer alle voorwaarden OK zijn (geen noodstop), maar er is nog niet gestart, gaat
de groene lamp pulsen (halve seconde hoog, halve seconde laag).
Met behulp van een potentiometer (analoge ingang) kan de transportband in snelheid ge-
stuurd worden (analoge uitgang).
Figuur 5.1: De transportband
5 Uitgewerkt Voorbeeldprogramma 59
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
5.3 Uitwerking
Eerst en vooral moet er omgeschakeld worden naar het werkgebied “IEC Programming”. Met-
een is duidelijk dat PC WorX conform de IEC 61131-3 norm opgebouwd is. In het venster “Pro-
ject Tree Window” zijn er enkele duidelijke onderverdelingen terug te vinden.
Figuur 5.2: Projectstructuur
Er is een mapstructuur voor libraries, voor datatypes, voor
POU’s en er is de Physical Hardware.
Op figuur 5.2 is deze structuur afgebeeld.
Onder “Physical Hardware” is de hoofdstructuur terug te vin-
den. De STD_CNF (standaard configuratie) bestaat uit een
STD_RES (standaard resource) welke hier de ILC 150 ETH is.
Deze resource kan dan verschillende Tasks uitvoeren. Bij de
opstart van een nieuw project is er telkens een “Main program”
voorzien onder het mapje “Logical POU’s” welke geactiveerd is
binnen de “Default task”.
5.3.1 Definiëren van de variabelen
Vooreerst wordt er een onderscheid gemaakt tussen lokale en globale variabelen.
• Lokale variabelen
Lokale variabelen worden gedefinieerd op POU niveau. Deze variabelen kunnen enkel
gebruikt worden binnen de POU waarin ze aangemaakt worden.
Naast het gebruik van lokale variabelen als VAR kunnen lokale variabelen ook op een
ander manier gebruikt worden. Hier wordt onderscheid gemaakt naargelang het type
POU.
Binnen een functie kunnen lokale variabelen als VAR_INPUT gedefinieerd worden. Deze
zullen de ingangsparameters van de functie worden.
Binnen een functiebouwsteen kunnen lokale variabelen als VAR_INPUT, VAR_OUTPUT
en als VAR_IN_OUT. Via deze variabelen worden alle input- en outputparameters van de
functiebouwsteen gedefinieerd.
• Globale variabelen
Globale variabelen worden gedefinieerd op project niveau. Deze variabelen kunnen
over het volledige project afgevraagd of gemanipuleerd worden. Hier moet er onder-
scheid gemaakt worden tussen systeem variabelen en user variabelen.
5 Uitgewerkt Voorbeeldprogramma 60
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
– SYSTEM variabelen
Systeem variabelen zijn voorgedefinieerde variabelen, afhankelijk van de gekozen
controller, welke sowieso altijd beschikbaar zijn. Een lijst van alle systeemvariabe-
len is terug te vinden onder het item “Global Variables” in de Project Tree Window,
zie figuur 5.3.
Figuur 5.3: Systeemvariabelen
5 Uitgewerkt Voorbeeldprogramma 61
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
– USER variabelen
Naast de systeemvariabelen zal de gebrui-
ker ook een lijst met globale user variabelen.
Deze kunnen beter onderverdeeld worden in
verschillende groepen om dusdanig een goed
overzicht te bewaren tussen alle globale va-
riabelen. Daartoe kunnen nieuwe groepen
aangemaakt worden onder het item “Global
Variables”.
Figuur 5.4: aanmaken groepen voor
globale variabelen
Klik op de lijn “System Variables”, rechtermuistoets en selecteer het item “Insert
Group”. Op die manier kunnen betekenisvolle groepen aangemaakt. Maak 3 groe-
pen aan met de volgende namen:
∗ Analoog
∗ Digitaal I/O
∗ Webvisit
Figuur 5.5: Globale user variabelen indelen
5.3.2 Aanmaken van een nieuwe POU
Het aanmaken van een nieuwe POU kan op twee manieren. Enerzijds links in de boomstruc-
tuur met een rechtermuisklik op “Logical POUs” gevolgd door “Insert” en de gewenste POU.
Anderzijds door bovenaan in de werkbalk rechtstreeks met de 4 aangeduide icons te werken.
Er kan een keuze gemaakt worden tussen een nieuw programma ( ), een nieuwe functie-
bouwsteen ( ) of een nieuwe functie ( ).
5 Uitgewerkt Voorbeeldprogramma 62
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
Vervolgens moet de POU in het window “Insert” verder gespecificeerd worden. Eén van de
vijf programmeertalen (conform de norm) moet gekozen worden voor de POU. Enkel in het
geval van een functie moet een “Datatype” of “return value” geselecteerd worden, zie figuur
5.6.
Figuur 5.6: Aanmaken van een functie die een boolean teruggeeft
Per POU worden drie werkbladen aangemaakt:
• NaamPOUT( ); Textveld: alles wat hierin genoteerd wordt, zal verschijnen bij het op-
vragen van de help omtrent deze POU.
• NaamPOUV( ): Veld voor het ingeven van variabelen
• NaamPOU( , , , , ): Programmeerveld
5.3.3 Aanmaken van een nieuwe POU groep
Een POU groep wordt gebruikt om een duidelijkere structuur te creëren in een (groot) pro-
ject. Zo kunnen bv. alle programma’s, functies en functieblokken elk apart een groep krijgen,
maar er kan bv. ook een groep aangemaakt worden voor een aantal functies en/of functie-
blokken die een gemeenschappelijk doel hebben.
Om een POU groep aan te maken wordt er met de rechtermuisknop geklikt op ’Logical POUs’,
klik vervolgens op ’insert’ en ’POU group’ (zie figuur 5.7).
5 Uitgewerkt Voorbeeldprogramma 63
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
Figuur 5.7: POU groep toevoegen
In deze opdracht zullen er 2 POU groepen aangemaakt worden:
• FBs
• Programs
Na het aanmaken van beide groepen kan het hoofdprogramma “Main” versleept worden naar
de POU groep “Programs”.
5.3.4 Aanmaken van een variabele
Binnen een POU moeten variabelen aangemaakt worden. Dit kan op verschillende manieren
gebeuren:
– Door te dubbelklikken op een ingangs- of uitgangsbolletje van een functiebouwsteen.
– Via een rechtermuisklik ergens in het werkblad en te kiezen voor “Variable”.
– Door de sneltoets ‘F5’ te gebruiken.
In ieder geval verschijnt het “Variable Properties” venster. De variabele moet een naam krij-
gen, een datatype en een scoop (local of global). Afhankelijk van de scoop kan de ‘usage’
geselecteerd worden, bijvoorbeeld VAR_INPUT voor een digitale ingang. De mogelijkheden
zijn te zien in figuur 5.8.
(a) Bij local scope (b) Bij global scope
Figuur 5.8: Mogelijke ‘usage’ voor een variabele
5 Uitgewerkt Voorbeeldprogramma 64
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
Opmerking: Indien het niet mogelijk is om de ‘Definition scope’ te wijzigen, moet de check-
box ‘Show all variables of worksheets’ afgevinkt worden.
Om een overzichtelijk project te verkrijgen worden alle variabelen ingedeeld in groepen: één
groep voor input parameters, één voor output parameters. . . Deze groepen moeten aange-
maakt worden in het variabelenveld van de POU ( ). De groepen worden standaard voor-
zien, zelfs als deze niet gebruikt worden, zie figuur 5.9.
De verschillende groepen zijn:
– Input Parameters
– Output Parameters
– InOut Parameters
– Local Parameters
– External Variables
– FB Instances
Figuur 5.9: Indeling van variabelen in groepen
Voor iedere variabele die aangemaakt wordt, kan in het “Variable Properties” venster inge-
steld worden onder welke groep de variabele moet komen. Dit via ‘Local Variable Groups’,
zie opnieuw figuur 5.8.
5.3.5 Aanmaken van een functieblok “Transportband”
• De transportband wordt gemaakt in een functieblok. Om een nieuwe functieblok aan
te maken, kies links bovenaan.
• Selecteer de programmeertaal FBD ("Function Block Diagram") en stel bovenaan de
gewenste bouwsteennaam in (hier: ‘Transportband’).
5 Uitgewerkt Voorbeeldprogramma 65
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
Figuur 5.10: Nieuwe functieblok aanmaken
• Bevestig met OK. De bouwsteen wordt aangemaakt.
• Dubbelklik op . Maak daar de volgende groepen aan zoals in figuur 5.11:
– Input Parameters
– Output Parameters
– InOut Parameters
– Local Parameters
– External Variables
– FB Instances
Figuur 5.11: Aanmaken van variabelengroepen
• Open het werkblad van de functieblok door te dubbelklikken op
• Nu kan het programma voor de transportband geschreven worden.
• Voeg een ‘Set Reset’ in vanuit de Edit Wizard aan de rechterzijde: selecteer onder
“Favorites” ‘RS’ en sleep het in het werkveld, wijzig de Instance van de bouwsteen naar
5 Uitgewerkt Voorbeeldprogramma 66
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
“oRS_StartStop”, wijzig de Local Variable Group naar “FBs” en bevestig vervolgens met
OK.
Figuur 5.12 Figuur 5.13: Instance voor FB
• Op dezelfde manier wordt een OR functie vanuit de Edit Wizard opgehaald. Let op het
feit dat er voor de OR functie geen instance moet toegekend worden (verschil functie-
bouwsteen en functie).
Figuur 5.14: Transportband FBD
• De uitgang van de OR functie wordt nu met de RESET1 ingang van de bouwsteen
RS_StartStop verbonden.
• Nu moeten enkel nog de lokale variabelen aangemaakt worden. Dit kan op 2 manieren
gebeuren:
– De variabele in- of uitgangen van een bouwsteen zijn gemakkelijk aan te maken
door dubbel te klikken op het bolletje bij de in- of uitgang.
5 Uitgewerkt Voorbeeldprogramma 67
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
– Klik op een plaats in het werkblad, klik rechtermuisknop en kies voor het item
“Variable”.
• In beide gevallen wordt het scherm zoals in figuur 5.15 weergegeven.
Figuur 5.15: Lokale variabele aanmaken
• Stel linksboven de gewenste naam in, bv.: i_xVeiligheidsrelais.
• Kies als datatype Bool en kies bij het item “Usage” voor VAR_INPUT.
• De scope voor deze “User Variable” staat ingesteld op local.
• Kies bij “Local Variable Groups” voor Inputs.
• Op dezelfde manier worden volgende variabelen gedeclareerd:
Naam Data type Usage Scope Local Var.
Groups
Global Var.
Groups
i_xStart Bool VAR_INPUT Local Inputs
i_xStop Bool VAR_INPUT Local Inputs
i_xVeiligheidsrelaisBool VAR_INPUT Local Inputs
q_xMotor Bool VAR_OUTPUT Local Outputs
q_xRood Bool VAR_OUTPUT Local Outputs
q_xGroen Bool VAR_OUTPUT Local Outputs
Figuur 5.16 geeft de lijst weer na het invoegen van alle variabelen.
5 Uitgewerkt Voorbeeldprogramma 68
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
Figuur 5.16: Lijst met variabelen van de functieblok “Transportband”
Vooraleer de functieblok verder gebruikt kan worden moet deze eerst gecompi-
leerd worden!
Figuur 5.17: Compileer de functieblok
5.3.6 Het hoofdprogramma
• In het werkblad “Main” kan de aangemaakte functie-
bouwsteen opgevraagd worden. Voeg deze toe door in
de “Edit Wizard” onder de programmanaam te dubbel-
klikken op de functieblok ’Transportband’. Deze func-
tiebouwsteen kan nu eventueel een tweede keer opge-
vraagd worden om een tweede transportband voor te
stellen.
Figuur 5.18
• Nu moeten ook nog alle variabelen toegekend worden. De 8 digitale ingangen en
de 4 digitale uitgangen on board van de ILC 131 ETH, zijn te vinden als systeem-
variabelen. Dubbelklikken op het aansluitpunt (niet op de naam zelf) van de ingang
i_xVeiligheidsrelais:
5 Uitgewerkt Voorbeeldprogramma 69
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
Figuur 5.19: On-board input toevoegen
• Kies voor Global, en via de selecttoets onder Name kan een keuze gemaakt worden
tussen alle systeemvariabelen. Selecteer de ONBOARD_INPUT_BIT0.
• Het programma kan nu als volgt worden afgewerkt:
Figuur 5.20
Opmerking: Signalen kunnen geínverteerd worden door ter hoogte van de gewenste
in- of uitgang van de functiebouwsteen, net buiten de functiebouwsteen te klikken met
de rechtermuisknop. Dan kan ‘Toggle FP Negation’ geselecteerd worden.
Daarnaast kan dit ook gebeuren door de in- of uitgang van de functiebouwsteen te
selecteren en de sneltoets SHIFT+F5 te gebruiken.
• Vergeet niet alles opnieuw te compileren!
5.3.7 Testen van het programma
Het testen van het programma met de ILC 131 ETH kan tot slot gebeuren na het compileren
downloaden (zie 4.6 op pagina 57) van het project. Met het icoon (Debug On/Off) kan het
opsporen van fouten gestart worden. Onder elke variabele wordt nu zijn status of actuele
waarde weergegeven.
5 Uitgewerkt Voorbeeldprogramma 70
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
Door het schakelen van de derde schakelaar op de switchbox kan de transportband geac-
tiveerd worden. De statusveranderingen kunnen nu zowel online als op de modules zelf
worden teruggevonden.
Figuur 5.21
5.3.8 Deel 2
Tijdens het tweede deel van de opdracht zal de knipperlichtfunctie van de groene lamp op-
gebouwd worden.
• Maak in de POU group “FBs” een nieuwe functieblok met de naam “AanUitpuls”.
• Ga naar de lijst met variabelen en maak er opnieuw de groepen ‘Input Parameters’,
‘Output Parameters’, ‘InOut Parameters’, ‘Local Variables’, ‘External Variables’ en ‘FB
instances’ aan.
• Voeg een ‘On delay’ timer, een ‘Puls’ timer en een ‘AND’ functie in vanuit de Edit Wizard.
Benoem deze respectievelijk TON_1 en TP_1. Voor de AND functie moet geen instance
toegekend worden.
• Uiteindelijk moet alles aan elkaar verbonden worden tot de volgende functionaliteit
bekomen wordt:
– Let wel: Het ingangssignaal van de timer-on-delay dient geínverteerd te worden.
Dit kan door te dubbelklikken op de ingang van de functiebouwsteen en het vakje
“negated” aan te vinken.
Figuur 5.22
• Maak de variabelen aan:
5 Uitgewerkt Voorbeeldprogramma 71
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
Naam Data type Usage Scope Local Var.
Groups
Global Var.
Groups
i_tTotalePulsTijd Time VAR_INPUT Local Inputs
i_tPulsAanTijd Time VAR_INPUT Local Inputs
i_xEnable Bool VAR_INPUT Local Inputs
q_xPuls Bool VAR_OUTPUT Local Outputs
• Compileer de functieblok!
• Open het werkblad van de functieblok ‘Transportband’
• Voeg daar de functiebouwsteen ‘AanUitpuls’ toe via de ‘Edit Wizard’.
• Vervolledig het programma als volgt:
Figuur 5.23
• Compileer en dowload het project.
• Test het project m.b.v. de ILC 131 ETH.
5 Uitgewerkt Voorbeeldprogramma 72
6 Ladder
6.1 Voorbeeld: Transportband
Om de programmeertaal Ladder Diagram uit te leggen wordt er gewerkt met de basisoefe-
ning ‘Transportband’.
• Maak een nieuwe functieblok aan, selecteer de programmeertaal LD (“Ladder Dia-
gram”) en stel bovenaan de gewenste bouwsteennaam in (hier: ‘Transportband_LD’).
Figuur 6.1: Aanmaken functieblok in LD
• Bevestig met OK. De bouwsteen wordt aangemaakt.
• Dubbelklik op . Maak daar de volgende 4 groepen aan:
– Inputs
– Outputs
– Locals
– FBs
• Open het werkblad van de functieblok door te dubbelklikken op
• Nu kan het programma voor de transportband in Ladder Diagram geschreven worden.
6 Ladder 73
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
• Voeg een nieuw netwerk in via:
Figuur 6.2: Werkbalk LD
• Voeg een ‘Set Reset’ in vanuit de Edit Wizard aan de rechterzijde: selecteer onder
“Favorites” ‘RS’ en sleep het in het zojuist aangemaakte netwerk, wijzig de Instance
van de bouwsteen naar “RS_StartStop”, wijzig de Local Variable Group naar “FBs” en
bevestig vervolgens met OK.
Figuur 6.3
• Klik in de bouwsteen ‘RS_StartStop’ op ‘Reset1’. En klik dan op het icoontje ‘Contact
left’. Contact ‘C002’ komt dan te voorschijn zoals op figuur 6.4.
Figuur 6.4
• Verbind het begin van ’COO2’ met powerrail ’001’.
• Er zijn echter 2 variabelen die de ingang ‘Reset1’ kunnen manipuleren. In Ladder Dia-
gram wordt een OR-functie voorgesteld als een parallele weergaven van contacten. Bij
een AND-functie is dit in serie. Voeg nu parallel met ‘C002’ een nieuw contact in.
6 Ladder 74
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
Figuur 6.5
• Doe hetzelfde over coil ‘C001’. Hier worden dus twee uitgangen voorgesteld.
• Nu moeten enkel nog de variabelen gedeclareerd worden. Dit gebeurt door op het
contact of de coil te klikken. Ga nu als volgt te werk voor het declareren van bv. ‘COO0’:
Figuur 6.6: Invoegen variabele
– Stel linksboven de gewenste naam in, bv.: i_xStart.
– Kies als datatype Bool en kies bij het item “Usage” voor VAR_INPUT.
– De scope voor deze “User Variable” staat ingesteld op local.
– Kies bij “Local Variable Groups” voor Inputs.
– Kies onderaan voor ‘Contact’.
– Het type mag ongewijzigd blijven.
• Voeg een tweede netwerk toe en zorg ervoor dat uiteindelijk figuur 6.7 bekomen wordt.
6 Ladder 75
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
Figuur 6.7: Uiteindelijk resultaat
6 Ladder 76
7 Structured Text
7.1 Voorbeeld: Transportband
• Maak een nieuwe functieblok aan volgens figuur7.1, selecteer de programmeertaal ST
(“Structured Text”) en stel bovenaan de gewenste bouwsteennaam in (hier: ‘Transport-
band_ST’).
Figuur 7.1: Aanmaken nieuwe functieblok
• Bevestig met OK. De bouwsteen wordt aangemaakt.
• Dubbelklik op . Maak daar de volgende 4 groepen aan: Inputs,
Outputs, Locals en FBs
• Open het werkblad van de functieblok door te dubbelklikken op
• Nu kan het programma voor de transportband in Structured Text geschreven worden.
• Voeg een ‘Set Reset’ in vanuit de Edit Wizard aan de rechterzijde: selecteer onder
“Favorites” ’RS’ en sleep het in het werkveld, wijzig de Instance van de bouwsteen naar
“oRS_StartStop”, wijzig de Local Variable Group naar “FBs” en bevestig vervolgens met
OK.
• De lokale variabelen moeten ingevuld worden op de plaatsen waar er (* BOOL *) staat.
Dit wordt als volgt gedaan:
7 Structured Text 77
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
– Typ de gewenste variabele(n) in. Selecteer de variabele, rechtermuisklik en klik
op ‘Variabele’. Het volgende scherm komt te voorschijn:
Figuur 7.2: Variabel properties
– Laat de naam ongewijzigd. In dit geval is dit dus i_xStart.
– Kies als datatype Bool en kies bij het item “Usage” voor VAR_INPUT.
– De scope voor deze “User Variable” staat ingesteld op local.
– Kies bij “Local Variable Groups” voor Inputs.
• Doe nu hetzelfde voor de andere variabelen en vervolledig als volgt:
Figuur 7.3: Functieblok Transportband in ST
• Vergeet niet iedere regel code met ‘;’ af te sluiten!
7 Structured Text 78
8 WebVisit
8.1 Inleiding
WebVisit is een softwarepakket dat mee geínstalleerd wordt tijdens het installeren van PC
WorX. Met behulp van deze software kan op een grafische manier een webpagina aange-
maakt worden en gedownload worden naar de ILC. Op deze manier kunnen globale variabe-
len van het programma worden gevisualiseerd en gemanipuleerd.
De methode om een variabele in een WebVisit toepassing te gaan gebruiken bestaat er ener-
zijds in de variabele als een VAR_GLOBAL te declareren. Anderzijds moet ook de “PPD check-
box” aangevinkt worden waardoor in het programma vastgelegd wordt dat de variabele te
benaderen is vanaf de webpagina (zie figuur 8.1).
Figuur 8.1: PDD optie aanvinken
Een overzicht van alle globale in- en uitgangen, welke als PDD aangevinkt zijn, is ook te
vinden bij de lijst “Global_Variables” (links in het ‘Project Tree Window’).
Figuur 8.2: PDD controleren in “Global_Variables”-lijst
Om nu een WebVisit toepassing te maken met de transportband moet het programma aan-
8 WebVisit 79
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
gepast worden zoals in figuur 8.3: een OR- poort wordt bij iedere ingang toegevoegd, iedere
keer wordt een nieuwe globale variabele aangemaakt. Bij iedere variabel moet de optie PDD
aangevinkt worden. Op die manier kan de transportband bediend worden met zowel de ana-
loge als de digitale schakelaars via WebVisit. Ook moet er bij elke “ONBOARD_INPUT_BITx”
en “ONBOARD_OUTPUT_BITx” PDD aangevinkt worden.
Figuur 8.3: Main programma voor de transportband
Tijdens het compileren van een PC WorX project wordt er door de software steeds een “PDD.CSV”
bestand gegenereerd. Dit bestand bevat een lijst met de variabelennamen die vanuit de web-
pagina kunnen benaderd worden.
Figuur 8.4: CSV-file van alle weer te geven PDD-variabelen
Figuur 8.4 toont een voorbeeld van een dergelijk bestand. Wanneer Microsoft Office op de PC
genstalleerd is zal dit bestand (met extensie .CSV) geopend kunnen worden in Excel.
Het PDD.CSV bestand is terug te vinden in de map horende bij het PC WorX project. PC WorX
maakt namelijk voor elk project een map aan met dezelfde naam als het PC WorX project
en plaatst deze map op dezelfde locatie (directory) als het project zelf. In deze map is het
PDD.CSV bestand terug te vinden onder:
Locatie van het project...ProjectnaamCSTD_CNFRSTD_RES
8 WebVisit 80
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
8.2 Een project uitwerken in WebVisit
Start de WebVisit software via “Start → Programma’s → Phoenix Contact → AUTOMATION-
WORX Software suite 2013 1.81 → WebVisit 6.21.xx”
8.2.1 Een nieuw project aanmaken
– Sluit eventuele openstaande projecten af door onder “File” voor “Close project” te kie-
zen.
– Een nieuw project aanmaken gebeurt door in het beginscherm op “New Project” te
klikken of onder “File”, “New Project. . . ” te kiezen. In de 7 stappen moet een naam ge-
kozen worden voor het project en een locatie, vervolgens enkele grafische instellingen
en andere opties. Deze kunnen later nog aangepast worden.
– Na het afronden van de ‘New Project’-wizard moeten de belangrijke instellingen gebeu-
ren. Bovenaan kan via “Project → Project Configurations” en te klikken op het tabblad
‘Project Advanced’ het venster uit figuur 8.5 geopend worden.
Figuur 8.5: PCWorx project + PPO lijst instellen
Het is belangrijk om in te stellen met welk PC WorX project zal gecommuniceerd worden,
en welke het daarbij horende “PDD.CSV” bestand is. Onder PPO Variable List moet het
pad naar het PCWorX project (.mwt bestand) ingesteld wordt, het bijhorende PDD.CSV
bestand zal automatisch opgezocht en ingesteld worden door de WebVisit software.
8 WebVisit 81
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
– In het tabblad ‘Runtime Configurations’ onder de ‘Project Configurations’ kan de ‘Client
Technology’ ingesteld worden, zie figuur 8.6. Tot voor kort was enkel Java mogelijk, wat
problemen gaf voor systemen waarop Java niet geïnstalleerd is.
Met de nieuwe ILC 1x1-reeks kan vanaf firmwareversie 4.30 ook gekozen worden voor
HTML5, wat geen bijkomende software vereist en daarom ideaal is voor visualisaties op
tablets en dergelijke.
Figuur 8.6: Kiezen van de client technology
Het verdere verloop van deze WebVisit cursus is gebaseerd op de eerder aangemaakte oe-
fening. Het is de bedoeling een webpagina aan te maken waarmee de transportband kan
gestart en gestopt worden. Ook de transportband zelf wordt op deze pagina gevisualiseerd.
Het geheel wordt gecontroleerd door een hoofdpagina van waaruit de andere pagina’s opge-
roepen kunnen worden.
8.2.2 Een nieuwe webpagina aanmaken
Een nieuwe webpagina (xxx.teq) invoegen gebeurt als volgt:
8 WebVisit 82
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
Figuur 8.7: Nieuwe webpagina aanmaken
• Geef de eerste pagina bijvoorbeeld de naam ‘Transportband’.
• Selecteer de zopas aangemaakte pagina “Transportband.teq” links onder ‘Project Files’.
• Een object toevoegen op de pagina kan door het gewenste object te selecteren in de
‘painters gallery’ (te vinden zowel rechts in de sidebalk, zie figuur 8.8, als boven in de
toolbar) en vervolgens op het werkvlak te klikken. De positie en grootte van het object
kunnen aangepast worden.
Figuur 8.8: Painters gallery
• Voeg in het venster 4 buttons en 2 cirkels toe zoals in figuur 8.9:
8 WebVisit 83
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
Figuur 8.9
• Dubbelklik op de bovenste button om de eigenschappen te bekomen. Dit wordt de
startknop. De belangrijkste basiseigenschappen uit het “Properties”-venster zijn:
– General: algemene lay-out instellingen voor het object zoals grootte, positie, kleur,
font voor tekst. . .
– Repaints: instellingen voor data die op het object weergegeven moeten worden.
Zo kan per conditie een andere tekst verschijnen op een button. . .
– Actions: specifieke instellingen per object. Voor een button zijn dit:
∗ Actions Set Variables: enkel voor een button. Met dit kan een toestand van
een variabele veranderd worden naargelang de knop ingedrukt is of niet.
∗ Actions Toggle Increment Variables: enkel voor een button. Met ‘Toggle’ kan
een variabele hoog en laag gezet worden met een muisklik. Increment zorgt
voor een verhoging van een variabele per muisklik.
∗ Actions Jump: enkel voor een button. Om te navigeren tussen verschillende
webpagina’s.
– Border Advanced: mogelijkheid om per conditie een ander kleur te geven aan het
object via vb. 2-kleurenmode.
– Hide-Disable: conditioneel kan een object verschijnen of vervagen.
• Figuur 8.10 toont dat onder “Repaints” de tekst op de drukknop gewijzigd kan worden.
8 WebVisit 84
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
Figuur 8.10
• Nu moet er ingesteld worden wat er gebeurt bij de bediening van de startdrukknop.
De werking van de schakelaar wordt opgevat als een ‘Mouse Down/Up’ functie. Dit
betekent dat de ingang ‘1’ wordt bij het indrukken van de knop en terug ‘0’ bij het
loslaten ervan.
• Vink hiervoor onder ‘Actions Set Variables’ zowel de ‘Set Var On Mouse Down’ als ‘Set
Var on Mouse Up’ optie aan. Kies bij beiden voor het type ‘PPO’ en selecteer als naam
“@GV.IN_xWebStart” (zie figuur 8.11). Een ‘PPO’ (Process POint) is een plc-variabele
die zichtbaar gemaakt wordt op de webpagina.
Stel ‘Value = 1’ bij ‘Set Var On Mouse Down’ en ‘Value = 0’ bij ‘Set Var On Mouse Up’.
• Doe hetzelfde voor de tweede button. Dit wordt de stopknop, dus de gekozen ‘PPO’
wordt in dit geval “@GV.IN_xWebStop”.
• De derde en kleinste button wordt de noodknop. In tegenstelling tot de start -en stop-
knoppen moet deze knop ingedrukt blijven bij het loslaten van de muis. Er wordt ge-
bruik gemaakt van de ‘Toggle’ functie. Dit betekent dat de noodstop ingeschakeld wordt
8 WebVisit 85
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
(a) PPO instellen (b) Muisactie instellen
Figuur 8.11: Bediening startknop instellen
bij een eerste maal klikken op de drukknop. Een tweede maal klikken op dezelfde knop
schakelt de noodstop terug uit.
Figuur 8.12: Toggle instellen
• Het koppelen van de bovenste cirkel met de variabele “ONBOARD_OUTPUT_BIT1” zodat
deze de groene lamp voorstelt, gebeurt onder de optie ‘Boarder Advanced’. Daar kan
de binnenkleur van de cirkel veranderd worden afhankelijk van de toestand van de plc-
variabele. Indien de variabele laag (==0) is, zal ‘Color1’ aangenomen worden. Is de
variabele hoog (==1), zal ‘Color2’ gebruikt worden, zie figuur 8.13.
• Doe nu hetzelfde voor de onderste cirkel die de rode lamp voorstelt.
• Om de werking van de motor te visualiseren wordt een tweede webpagina aangemaakt.
Klik dus opnieuw op ‘Project’ → ‘Add to project’ → ‘New...’ en geef de pagina de naam
“Motor.teq”.
8 WebVisit 86
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
Figuur 8.13: Kleur veranderen in ‘Border Advanced’ eigenschappen
• De motor wordt voorgesteld als een grote cirkel die rood is als de transportband stil ligt
en groen is als de motor van de transportband werkt. Dit wordt opnieuw ingesteld via
‘Border Advanced’, zie figuur 8.14:
• Als de noodstop ingedrukt is (dus als de rode lamp brandt) moet de tekst “Noodstop is
ingedrukt!” verschijnen. Dit wordt gedaan door gebruik te maken van de ‘hide’ optie,
zie figuur 8.15:
Figuur 8.15: Tekst conditioneel zichtbaar maken
• Het moet het ook mogelijk zijn om te navigeren tussen de verschillende webpagina’s.
8 WebVisit 87
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
Figuur 8.14: Conditioneel tussen 2 kleuren switchen
Hiervoor wordt op deze pagina een button toegevoegd met de tekst “Terug”. De link
terug naar de vorige pagina kan zeer eenvoudig ingesteld worden onder ‘Actions Jump’
door de optie ‘Back Jump’ aan te selecteren, zie figuur 8.16.
Figuur 8.16: Jump actie naar vorige pagina instellen
• Ga nu terug naar het scherm ‘Transportband.teq’, selecteer de overgebleven button
en geef deze de naam ‘Transportband’. Deze drukknop moet naar het scherm van de
motor leiden. Onder ‘Actions Jump’ kan de pagina ingesteld worden waarnaar omge-
schakeld moet worden. Figuur 8.17 toont hoe dit moet.
8 WebVisit 88
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
Figuur 8.17: Jump actie naar specifieke pagina instellen
Tot slot dient nog 1 instelling te gebeuren om er voor te zorgen dat de ‘Transportband.teq’
wel degelijk als startpagina wordt weergegeven. Via ‘Projects → Project Configurations →
Applet Advanced’ wordt het venster zoals in figuur 8.18 terug opgeroepen. Hierin kan de
“Main TEQ” ingesteld worden. Geef hiervoor ‘Transportband.teq’ in zodat dit de startpagina
wordt bij het surfen naar de ILC.
Figuur 8.18: Startpagina instellen
Let ook op de instelling ‘period’. Standaard staat dit ingesteld op 1000ms wat betekent dat
elke seconde het beeld van de webpagina geüpdate wordt. Bij het visualiseren van een knip-
perlicht van 1Hz is dit uiteraard te traag. Daarom zal deze parameter moeten verlaagd wor-
den tot bijvoorbeeld 50ms om een snellere en meer correcte weergave van het knipperlicht
te bekomen.
8.2.3 Compileren van het project
Net als in PC WorX moet een project gecompileerd worden, of met andere woorden, alle
gemaakte instellingen moeten worden vertaald naar HTML code. Dit kan uitgevoerd worden
onder ‘Project’ → ‘Build All’ ( ). Een simulatie van de webpagina’s kan opgeroepen worden
via de simulatieknop ( ). De interactie met de plc blijft in simulatiemode achterwege.
8 WebVisit 89
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
8.2.4 Downloaden van het project
Nu de HTML pagina aangemaakt is kan het project gedownload worden. Om het project naar
de ILC 131 ETH te downloaden wordt gebruik gemaakt van de ftp-server van de ILC, zie figuur
8.19:
• Roep het downloadvenster op:
Figuur 8.19: Downloaden via ftp-server van de ILC
• Geeft het IP-adres van de ILC (192.168.0.11) in en druk op “Connect”, zie figuur 8.20.
Figuur 8.20: Connectie maken met de plc
• De verbinding wordt tot stand gebracht en door een druk op de knop “Download pro-
ject” wordt het project gedownload.
Figuur 8.21: Downloaden naar de plc
• Het oproepen van de webpagina kan nu gebeuren door in een webbrowser (bijvoorbeeld
Internet Explorer) het IP-adres van de ILC in te stellen.
8 WebVisit 90
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
8.3 Uitbreiding
8.3.1 Figuur invoegen
• Selecteer de optie ‘image’ in de ‘Painters Gallery’.
• Kies in het werkgebied de plaats uit waar de afbeelding moet komen.
• Figuur 8.22 toont dat onder “Repaints” een figuur die opgeslagen staat op de computer
ingevoegd kan worden. Als “Adjust Image” aangevinkt wordt, kan de figuur verschaald
worden naar eigen wens. Dit kan gebeuren door de hoogte en de breedte van de figuur
in te stellen via het properties menu of door het formaat van de figuur aan te passen
door de hoekpunten te verslepen.
Figuur 8.22
8.3.2 Background en Foreground TEQ
• Maak 2 nieuwe webpagina’s aan (de uitleg hierover is terug te vinden op pagina 82) en
geef deze de naam “Knoppenbalk.teq” en “Settings.teq”.
• Open de pagina “Knoppenbalk.teq” en voeg onderaan de pagina 3 buttons toe, nl.
“Transportband”, “Motor” en “Settings”.
Figuur 8.23
• Deze knoppen dienen een jump actie uit te voeren naar hun bijhorende pagina. Stel
deze jump acties bij alle 3 de knoppen in.
• Het is de bedoeling dat deze pagina de achtergrond (background) wordt van iedere
pagina. Stel via ‘Project’ → ‘Project Configurations’ in het ‘View Configurations’-tabblad
“Knoppenbalk.teq” in als ‘Background TEQ’ zoals in figuur 8.24 weergegeven wordt.
8 WebVisit 91
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
Figuur 8.24: Background instellen voor een project
Opmerking: De ingestelde achtergrondpagina wordt enkel toegevoegd bij nieuwe
webpagina’s (pagina’s aangemaakt nadat de achtergrond ingesteld is zoals hierboven).
Voor reeds bestaande pagina’s moet de achtergrond apart toegevoegd worden. Zorg
dat de pagina actief is en stel dan via ‘Project’ → ‘Teq view configurations’, de ‘Back-
ground view’ in, zie figuur 8.25.
Figuur 8.25: Background instellen per view
8 WebVisit 92
9 Analoge signaalverwerking met
de ILC
9.1 Functiebouwsteen voor analoge signaalverwerking
Om het toekennen van procesdata en het gebruik van analoge in- en uitgangen toe te lichten
wordt een tweede functionaliteit voorzien in het bestaande project. Hiervoor wordt opnieuw
een functieblok aangemaakt met de naam ’Analog_In_Out’. Bedoeling is om de analoge
ingang (potentiometer) door te koppelen naar de analoge uitgang (LED bar graph).
• Dit programma kan heel eenvoudig zijn:
Figuur 9.1
• Oproep van deze functiebouwsteen in het programma ’Main’:
Figuur 9.2
• Er moeten nu twee variabelen aangemaakt worden om te linken aan de werkelijke fy-
sische IO. Deze worden op de volgende manier gedeclareerd, en worden onder ’Project
Variables’ geplaatst.
9 Analoge signaalverwerking met de ILC 93
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
Figuur 9.3: Aanmaken in- en outputvariabele
• Uiteindelijk wordt volgend programma bekomen volgens figuur 9.4:
Figuur 9.4: Uindelijk programma met in- en uitgangsvariabelen
• Via “process data workspace” kunnen deze variabelen aan de fysische IO gekoppeld
worden. In deze werkomgeving is er de onderverdeling met links de softwarevariabelen
en rechts de hardwarevariabelen.
• Onder de groep “Analoog” staan de zopas aangemaakte variabelen.
• Rechts staan alle gebruikte in- en uitgangsmodules. De variabelen worden gekoppeld
door ze naar de desbetreffende module te slepen. Voor “IN_wPotentiometer1” kies “AI
1 Voltage”. “OUT_wLedBar1” wordt gelinkt aan “1.1.1 Output Voltage”.
Dit programma kan nu getest worden.
Na het testen blijkt dat er een probleem is. Slechts de halve range van de ledbar wordt
gebruikt. Het probleem ontstaat omdat het proceswoord gekoppeld aan de ingangs- en uit-
gangsmodule op een verschillende manier gebruikt wordt. Om dit op te lossen worden de
proceswoorden van naderbij bekeken.
9.1.1 De analoge ingangsmodules
• De analoge ingangsmodules gebruiken een tekenbit:
9 Analoge signaalverwerking met de ILC 94
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
Figuur 9.5: Proceswoord ingangsmodule
• De potentiometer biedt een stroomsignaal aan tussen 0 en 20mA. Uit tabel 9.1 valt af te
leiden dat dit door de analoge inputmodule wordt vertaald naar een inputrange tussen
0 en 30000.
Tabel 9.1: Omzetfactor analoge signaalverwerking
9.1.2 De analoge uitgangsmodule
• De analoge uitgangsbit gebruikt geen tekenbit. Hierdoor kan een extra bit gebruikt
worden om nuttige data te verzenden.
Figuur 9.6: Proceswoord uitgansmodule
• De analoge outputrange wordt voor deze module vertaald naar een waarde tussen 0
en 65535. (=216)
De waarde moet van de range van 0 tot 30000 aangepast worden naar een range tussen 0
tot 65535. Daarom moet de waarde van de analoge ingangskaart vermenigvuldigd worden
met een schalingsfactor van 65635 gedeeld door 30000, zijnde 2,1845.
Daarom wordt de functiebouwsteen als volgt aangepast:
9 Analoge signaalverwerking met de ILC 95
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
Figuur 9.7
9 Analoge signaalverwerking met de ILC 96
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
9.2 Functie
De zopas uitgevoerde opdracht is louter datamanipulatie. Hiervoor kan i.p.v. een functie-
bouwsteen ook gewoon een functie gebruikt worden.
Voeg een functie toe, kies een naam en een programmeertaal. Let op het feit dat de func-
tienaam een variabele is en er dus ook een datatype moet toegekend worden. Dit datatype
komt overeen met de enige uitgang van de functie.
Figuur 9.8: Functie toevoegen
De functie in ST wordt dan de volgende code:
AnaloogInUit := real_to_word(word_to_real(i_wAnaloogIn) ∗ 2, 1845));
Het programma kan nu gecompileerd en gedownload worden.
9 Analoge signaalverwerking met de ILC 97
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
9.3 Watch Window
Figuur 9.9
Een andere handige mogelijkheid om uw programma op te vol-
gen is het Watch Window.
Eens online kan iedere variabele aan het Watch Window toe-
gevoegd worden.
Klik in de programmeeromgeving op een variabele, rechter-
muistoets en dan kiezen voor het item “Add to Watch Window”.
Figuur 9.10
Een andere manier is via het werkblad vari-
abelen van een bepaalde functieblok, func-
tie of programma: klikken op een variabele,
rechtermuistoets en kiezen voor het item
“Add to Watch Window”.
Activeer het “watch window” via volgend icoon .
Figuur 9.11: Watch window
9 Analoge signaalverwerking met de ILC 98
IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT
9.4 Opdracht temperatuursmeting
De potentiometer wordt in de volgende opdracht beschouwd als een temperatuurssensor
welke een temperatuursrange van -50.0 tot +100.0◦C omzet naar een analoge spanning van
0 tot 10V.
Gevraagd wordt om een functiebouwsteen te schrijven welke volgende outputparameters
levert:
• De temperatuur in graden Celsius.
• Een warninguitgang indien de temperatuur kleiner is dan -10.0◦C en groter is dan -20.0◦
C of indien de temperatuur groter wordt dan een warning temperatuursgrens welke
als inputparameter wordt meegegeven en kleiner is dan een alarm temperatuurgrens
welke als inputparameter wordt meegegeven.
• Een alarmuitgang indien de temperatuur kleiner is dan -20.0◦C of indien de tempera-
tuur groter wordt dan een alarm temperatuursgrens die als inputparameter meegeven
wordt.
Verder moet er nagegaan worden indien de inputparameters correct ingegeven worden. Hier-
bij moet de warninggrens kleiner zijn dan de alarmgrens. Indien dit niet zo is wordt de
warninggrens op 40.0◦C geplaatst en zal de alarmgrens op 60.0◦C geplaatst worden.
Deze opdracht wordt uitgewerkt in FBD en/of ST.
Het resultaat wordt een functiebouwsteen waarbij de oproep ervan volgend resultaat heeft.
Figuur 9.12: Functiebouwsteen temperatuursopvolging
Bestuur het resultaat en ga na waarom er hier gebruik gemaakt wordt van VAR_INOUT para-
meters.
9 Analoge signaalverwerking met de ILC 99
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"
Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"

Contenu connexe

Similaire à Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"

Flexibele oplossingen voor het laagspanningsnet van morgen [pt. II]
Flexibele oplossingen voor het laagspanningsnet van morgen [pt. II]Flexibele oplossingen voor het laagspanningsnet van morgen [pt. II]
Flexibele oplossingen voor het laagspanningsnet van morgen [pt. II]Rémy Cleenwerck
 
Flexibele oplossingen voor het laagspanningsnet van morgen [pt. I]
Flexibele oplossingen voor het laagspanningsnet van morgen [pt. I]Flexibele oplossingen voor het laagspanningsnet van morgen [pt. I]
Flexibele oplossingen voor het laagspanningsnet van morgen [pt. I]Rémy Cleenwerck
 
Functional programming - Lecture notes
Functional programming - Lecture notesFunctional programming - Lecture notes
Functional programming - Lecture notesRémi Benoit
 
344478 chicago 220_isdn
344478 chicago 220_isdn344478 chicago 220_isdn
344478 chicago 220_isdnRené Jordaan
 
XML en Organisatie: vijf tegenstellingen
XML en Organisatie: vijf tegenstellingenXML en Organisatie: vijf tegenstellingen
XML en Organisatie: vijf tegenstellingenPieter van der Hijden
 
Wiskunde voor Chemici
Wiskunde voor ChemiciWiskunde voor Chemici
Wiskunde voor ChemiciTom Mortier
 
Onetouch 810 user manual - dutch
Onetouch 810   user manual - dutchOnetouch 810   user manual - dutch
Onetouch 810 user manual - dutchMatinator10
 
Toepassingen En Implementatie Van Mobiele Netwerken Aan De Hand Van Cisco Mob...
Toepassingen En Implementatie Van Mobiele Netwerken Aan De Hand Van Cisco Mob...Toepassingen En Implementatie Van Mobiele Netwerken Aan De Hand Van Cisco Mob...
Toepassingen En Implementatie Van Mobiele Netwerken Aan De Hand Van Cisco Mob...Jimmy Symoens
 
Mod bus+hostlink 3.0 eng
Mod bus+hostlink 3.0 engMod bus+hostlink 3.0 eng
Mod bus+hostlink 3.0 engnashfaq
 
EtherCAT DeltaRobot Xilinx Spartan FPGA
EtherCAT DeltaRobot Xilinx Spartan FPGAEtherCAT DeltaRobot Xilinx Spartan FPGA
EtherCAT DeltaRobot Xilinx Spartan FPGAVincent Claes
 
Niko NV - Home control
Niko NV - Home controlNiko NV - Home control
Niko NV - Home controlArchitectura
 
business word
business wordbusiness word
business wordJeroen
 
Rapport Jaarlijks Onderzoek Wikiwijs 2011
Rapport Jaarlijks Onderzoek Wikiwijs 2011Rapport Jaarlijks Onderzoek Wikiwijs 2011
Rapport Jaarlijks Onderzoek Wikiwijs 2011Henk Orsel
 
Linked in netwerking_op_het_internet_okt_2009
Linked in netwerking_op_het_internet_okt_2009Linked in netwerking_op_het_internet_okt_2009
Linked in netwerking_op_het_internet_okt_2009kittyleuverink
 
LinkedIn Gebruiksaanwijzing
LinkedIn GebruiksaanwijzingLinkedIn Gebruiksaanwijzing
LinkedIn GebruiksaanwijzingDuco Scholtanus
 

Similaire à Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen" (20)

Flexibele oplossingen voor het laagspanningsnet van morgen [pt. II]
Flexibele oplossingen voor het laagspanningsnet van morgen [pt. II]Flexibele oplossingen voor het laagspanningsnet van morgen [pt. II]
Flexibele oplossingen voor het laagspanningsnet van morgen [pt. II]
 
Masterproef
MasterproefMasterproef
Masterproef
 
Flexibele oplossingen voor het laagspanningsnet van morgen [pt. I]
Flexibele oplossingen voor het laagspanningsnet van morgen [pt. I]Flexibele oplossingen voor het laagspanningsnet van morgen [pt. I]
Flexibele oplossingen voor het laagspanningsnet van morgen [pt. I]
 
Functional programming - Lecture notes
Functional programming - Lecture notesFunctional programming - Lecture notes
Functional programming - Lecture notes
 
344478 chicago 220_isdn
344478 chicago 220_isdn344478 chicago 220_isdn
344478 chicago 220_isdn
 
XML en Organisatie: vijf tegenstellingen
XML en Organisatie: vijf tegenstellingenXML en Organisatie: vijf tegenstellingen
XML en Organisatie: vijf tegenstellingen
 
Wiskunde voor Chemici
Wiskunde voor ChemiciWiskunde voor Chemici
Wiskunde voor Chemici
 
Onetouch 810 user manual - dutch
Onetouch 810   user manual - dutchOnetouch 810   user manual - dutch
Onetouch 810 user manual - dutch
 
Toepassingen En Implementatie Van Mobiele Netwerken Aan De Hand Van Cisco Mob...
Toepassingen En Implementatie Van Mobiele Netwerken Aan De Hand Van Cisco Mob...Toepassingen En Implementatie Van Mobiele Netwerken Aan De Hand Van Cisco Mob...
Toepassingen En Implementatie Van Mobiele Netwerken Aan De Hand Van Cisco Mob...
 
Mod bus+hostlink 3.0 eng
Mod bus+hostlink 3.0 engMod bus+hostlink 3.0 eng
Mod bus+hostlink 3.0 eng
 
thesis Steve Catternan
thesis Steve Catternanthesis Steve Catternan
thesis Steve Catternan
 
EtherCAT DeltaRobot Xilinx Spartan FPGA
EtherCAT DeltaRobot Xilinx Spartan FPGAEtherCAT DeltaRobot Xilinx Spartan FPGA
EtherCAT DeltaRobot Xilinx Spartan FPGA
 
Niko NV - Home control
Niko NV - Home controlNiko NV - Home control
Niko NV - Home control
 
eGo Manual
eGo ManualeGo Manual
eGo Manual
 
Iab handboekonlinevideo
Iab handboekonlinevideoIab handboekonlinevideo
Iab handboekonlinevideo
 
business word
business wordbusiness word
business word
 
Rapport Jaarlijks Onderzoek Wikiwijs 2011
Rapport Jaarlijks Onderzoek Wikiwijs 2011Rapport Jaarlijks Onderzoek Wikiwijs 2011
Rapport Jaarlijks Onderzoek Wikiwijs 2011
 
Linked in netwerking_op_het_internet_okt_2009
Linked in netwerking_op_het_internet_okt_2009Linked in netwerking_op_het_internet_okt_2009
Linked in netwerking_op_het_internet_okt_2009
 
LinkedIn Gebruiksaanwijzing
LinkedIn GebruiksaanwijzingLinkedIn Gebruiksaanwijzing
LinkedIn Gebruiksaanwijzing
 
Tms online 1 1
Tms online 1 1Tms online 1 1
Tms online 1 1
 

Plus de Cito Benelux

Phoenix Contact, Themadag Veiligheidsbesturingen vj2015
Phoenix Contact, Themadag Veiligheidsbesturingen vj2015Phoenix Contact, Themadag Veiligheidsbesturingen vj2015
Phoenix Contact, Themadag Veiligheidsbesturingen vj2015Cito Benelux
 
Phoenix contact, Secure Remote Access
Phoenix contact, Secure Remote AccessPhoenix contact, Secure Remote Access
Phoenix contact, Secure Remote AccessCito Benelux
 
Phoenix Contact, Themamiddag Alles over bliksembeveiliging
Phoenix Contact, Themamiddag Alles over bliksembeveiligingPhoenix Contact, Themamiddag Alles over bliksembeveiliging
Phoenix Contact, Themamiddag Alles over bliksembeveiligingCito Benelux
 
Is uw schakelkast EMC-bestendig conform de nieuwe norm?
Is uw schakelkast EMC-bestendig conform de nieuwe norm?Is uw schakelkast EMC-bestendig conform de nieuwe norm?
Is uw schakelkast EMC-bestendig conform de nieuwe norm?Cito Benelux
 
Power Quality, de moderne kijk op stroom en spanning
Power Quality, de moderne kijk op stroom en spanningPower Quality, de moderne kijk op stroom en spanning
Power Quality, de moderne kijk op stroom en spanningCito Benelux
 
Phoenix Contact, Themadag industriële netwerkarchitectuur
Phoenix Contact, Themadag industriële netwerkarchitectuurPhoenix Contact, Themadag industriële netwerkarchitectuur
Phoenix Contact, Themadag industriële netwerkarchitectuurCito Benelux
 
Phoenix Contact, Themadag draadloze netwerken in de industrie
Phoenix Contact, Themadag draadloze netwerken in de industriePhoenix Contact, Themadag draadloze netwerken in de industrie
Phoenix Contact, Themadag draadloze netwerken in de industrieCito Benelux
 
Rittal, Workshop Klimatisering in de praktijk - zelf aan de slag met Therm
Rittal, Workshop Klimatisering in de praktijk - zelf aan de slag met ThermRittal, Workshop Klimatisering in de praktijk - zelf aan de slag met Therm
Rittal, Workshop Klimatisering in de praktijk - zelf aan de slag met ThermCito Benelux
 
Rittal, Themadag Het praktijkgericht samenstellen van besturingskasten voor d...
Rittal, Themadag Het praktijkgericht samenstellen van besturingskasten voor d...Rittal, Themadag Het praktijkgericht samenstellen van besturingskasten voor d...
Rittal, Themadag Het praktijkgericht samenstellen van besturingskasten voor d...Cito Benelux
 
Rittal, workshop EMC - veldgebonden EMC voor industriële installaties volgens...
Rittal, workshop EMC - veldgebonden EMC voor industriële installaties volgens...Rittal, workshop EMC - veldgebonden EMC voor industriële installaties volgens...
Rittal, workshop EMC - veldgebonden EMC voor industriële installaties volgens...Cito Benelux
 
Phoenix Contact, themadag "Gestructureerd Programmeren - IEC 61131-3 garandee...
Phoenix Contact, themadag "Gestructureerd Programmeren - IEC 61131-3 garandee...Phoenix Contact, themadag "Gestructureerd Programmeren - IEC 61131-3 garandee...
Phoenix Contact, themadag "Gestructureerd Programmeren - IEC 61131-3 garandee...Cito Benelux
 
Phoenix Contact, workshop EMC – installatietechniek volgens de huidige EMC-ri...
Phoenix Contact, workshop EMC – installatietechniek volgens de huidige EMC-ri...Phoenix Contact, workshop EMC – installatietechniek volgens de huidige EMC-ri...
Phoenix Contact, workshop EMC – installatietechniek volgens de huidige EMC-ri...Cito Benelux
 

Plus de Cito Benelux (13)

Seminar sv vj2016
Seminar sv vj2016Seminar sv vj2016
Seminar sv vj2016
 
Phoenix Contact, Themadag Veiligheidsbesturingen vj2015
Phoenix Contact, Themadag Veiligheidsbesturingen vj2015Phoenix Contact, Themadag Veiligheidsbesturingen vj2015
Phoenix Contact, Themadag Veiligheidsbesturingen vj2015
 
Phoenix contact, Secure Remote Access
Phoenix contact, Secure Remote AccessPhoenix contact, Secure Remote Access
Phoenix contact, Secure Remote Access
 
Phoenix Contact, Themamiddag Alles over bliksembeveiliging
Phoenix Contact, Themamiddag Alles over bliksembeveiligingPhoenix Contact, Themamiddag Alles over bliksembeveiliging
Phoenix Contact, Themamiddag Alles over bliksembeveiliging
 
Is uw schakelkast EMC-bestendig conform de nieuwe norm?
Is uw schakelkast EMC-bestendig conform de nieuwe norm?Is uw schakelkast EMC-bestendig conform de nieuwe norm?
Is uw schakelkast EMC-bestendig conform de nieuwe norm?
 
Power Quality, de moderne kijk op stroom en spanning
Power Quality, de moderne kijk op stroom en spanningPower Quality, de moderne kijk op stroom en spanning
Power Quality, de moderne kijk op stroom en spanning
 
Phoenix Contact, Themadag industriële netwerkarchitectuur
Phoenix Contact, Themadag industriële netwerkarchitectuurPhoenix Contact, Themadag industriële netwerkarchitectuur
Phoenix Contact, Themadag industriële netwerkarchitectuur
 
Phoenix Contact, Themadag draadloze netwerken in de industrie
Phoenix Contact, Themadag draadloze netwerken in de industriePhoenix Contact, Themadag draadloze netwerken in de industrie
Phoenix Contact, Themadag draadloze netwerken in de industrie
 
Rittal, Workshop Klimatisering in de praktijk - zelf aan de slag met Therm
Rittal, Workshop Klimatisering in de praktijk - zelf aan de slag met ThermRittal, Workshop Klimatisering in de praktijk - zelf aan de slag met Therm
Rittal, Workshop Klimatisering in de praktijk - zelf aan de slag met Therm
 
Rittal, Themadag Het praktijkgericht samenstellen van besturingskasten voor d...
Rittal, Themadag Het praktijkgericht samenstellen van besturingskasten voor d...Rittal, Themadag Het praktijkgericht samenstellen van besturingskasten voor d...
Rittal, Themadag Het praktijkgericht samenstellen van besturingskasten voor d...
 
Rittal, workshop EMC - veldgebonden EMC voor industriële installaties volgens...
Rittal, workshop EMC - veldgebonden EMC voor industriële installaties volgens...Rittal, workshop EMC - veldgebonden EMC voor industriële installaties volgens...
Rittal, workshop EMC - veldgebonden EMC voor industriële installaties volgens...
 
Phoenix Contact, themadag "Gestructureerd Programmeren - IEC 61131-3 garandee...
Phoenix Contact, themadag "Gestructureerd Programmeren - IEC 61131-3 garandee...Phoenix Contact, themadag "Gestructureerd Programmeren - IEC 61131-3 garandee...
Phoenix Contact, themadag "Gestructureerd Programmeren - IEC 61131-3 garandee...
 
Phoenix Contact, workshop EMC – installatietechniek volgens de huidige EMC-ri...
Phoenix Contact, workshop EMC – installatietechniek volgens de huidige EMC-ri...Phoenix Contact, workshop EMC – installatietechniek volgens de huidige EMC-ri...
Phoenix Contact, workshop EMC – installatietechniek volgens de huidige EMC-ri...
 

Phoenix Contact, workshop "IT-powered AUTOMATION - multifunctionele besturingen"

  • 2. Inhoudsopgave 1 Beschrijving van de hardware 1 1.1 Structuur van de starterkits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1.1 ILC131 starterkit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1.2 AXC1050 starterkit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 Phoenix Contact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2.1 Overzicht van de PLC’s . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2.2 Specifieke kenmerken voor de 100-reeks . . . . . . . . . . . . . . . . . . 7 1.2.3 Specifieke kenmerken voor de AXC1050 . . . . . . . . . . . . . . . . . . . 8 2 IEC 61131-3 9 2.1 Inleiding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.2 Structuur van een applicatie volgens de IEC 61131-3 norm . . . . . . . . . . . . 10 2.3 POU’s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.4 Functies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.4.1 Algemeen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.4.2 Variabelen en functies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.4.3 Standaardfuncties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.5 Functiebouwstenen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.5.1 Algemeen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.5.2 Variabelen en functiebouwstenen . . . . . . . . . . . . . . . . . . . . . . 15 2.5.3 Standaardfunctiebouwstenen . . . . . . . . . . . . . . . . . . . . . . . . 15 2.6 Programma’s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.6.1 Algemeen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.6.2 Variabelen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.7 Naamgeving . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.7.1 Benaming binnen een functiebouwsteen . . . . . . . . . . . . . . . . . . 17 2.7.2 Benaming binnen een programma . . . . . . . . . . . . . . . . . . . . . . 17 2.7.3 Benaming van user defined datatypes . . . . . . . . . . . . . . . . . . . . 18 2.8 Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.8.1 Numerieke datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.8.2 Bitgebaseerde datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.8.3 Time-gebaseerde datatypes . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.8.4 Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.8.5 Struct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.8.6 String . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.9 Structured Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.9.1 Selectie statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.9.2 Iteratie statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 Inhoudsopgave i
  • 3. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT 3 Aanmaken van een project met de ILC131 26 3.1 Nieuw project aanmaken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.2 Structuur nieuw project conform de IEC 61131-3 . . . . . . . . . . . . . . . . . . 28 3.3 Aanpassen van de projectinformatie . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.3.1 Bus configuratie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.3.2 IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.3.3 IP configuratie van uw PC . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.4 IP configuratie van de controller . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3.4.1 Algemeen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3.4.2 Aanpassen IP-adres via de BootP Server (m.b.v. PC WorX) . . . . . . . . 33 3.4.3 Aanpassen IP-adres via de IP Assigment Tool (IPAssign) . . . . . . . . . . 34 3.4.4 Communicatie opzetten tussen PC en plc . . . . . . . . . . . . . . . . . . 36 3.5 De INTERBUS configuratie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 3.6 Compileren en downloaden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 4 Aanmaken van een project met de AXC1050 40 4.1 Nieuw project aanmaken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 4.2 Structuur nieuw project conform de IEC 61131-3 . . . . . . . . . . . . . . . . . . 42 4.3 Aanpassen van de projectinformatie . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.3.1 Bus configuratie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.3.2 IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.3.3 IP configuratie van uw PC . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.4 IP configuratie van de controller . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 4.4.1 Algemeen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 4.4.2 Aanpassen IP-adres via de IP Assigment Tool (IPAssign) . . . . . . . . . . 47 4.4.3 Aanpassen IP-adres via DCP in PC Worx . . . . . . . . . . . . . . . . . . . 49 4.4.4 Aanpassen IP-adres via USB-interface in PC Worx . . . . . . . . . . . . . 52 4.4.5 Communicatie opzetten tussen PC en PLC . . . . . . . . . . . . . . . . . 54 4.5 De AXIOLINE configuratie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 4.6 Compileren en downloaden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 5 Uitgewerkt Voorbeeldprogramma 58 5.1 Inleiding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 5.2 Opdrachtomschrijving . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 5.3 Uitwerking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 5.3.1 Definiëren van de variabelen . . . . . . . . . . . . . . . . . . . . . . . . . 60 5.3.2 Aanmaken van een nieuwe POU . . . . . . . . . . . . . . . . . . . . . . . 62 5.3.3 Aanmaken van een nieuwe POU groep . . . . . . . . . . . . . . . . . . . 63 5.3.4 Aanmaken van een variabele . . . . . . . . . . . . . . . . . . . . . . . . . 64 5.3.5 Aanmaken van een functieblok “Transportband” . . . . . . . . . . . . . . 65 5.3.6 Het hoofdprogramma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 5.3.7 Testen van het programma . . . . . . . . . . . . . . . . . . . . . . . . . . 70 5.3.8 Deel 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 Inhoudsopgave ii
  • 4. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT 6 Ladder 73 6.1 Voorbeeld: Transportband . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 7 Structured Text 77 7.1 Voorbeeld: Transportband . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 8 WebVisit 79 8.1 Inleiding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 8.2 Een project uitwerken in WebVisit . . . . . . . . . . . . . . . . . . . . . . . . . . 81 8.2.1 Een nieuw project aanmaken . . . . . . . . . . . . . . . . . . . . . . . . . 81 8.2.2 Een nieuwe webpagina aanmaken . . . . . . . . . . . . . . . . . . . . . 82 8.2.3 Compileren van het project . . . . . . . . . . . . . . . . . . . . . . . . . . 89 8.2.4 Downloaden van het project . . . . . . . . . . . . . . . . . . . . . . . . . 90 8.3 Uitbreiding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 8.3.1 Figuur invoegen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 8.3.2 Background en Foreground TEQ . . . . . . . . . . . . . . . . . . . . . . . 91 9 Analoge signaalverwerking met de ILC 93 9.1 Functiebouwsteen voor analoge signaalverwerking . . . . . . . . . . . . . . . . 93 9.1.1 De analoge ingangsmodules . . . . . . . . . . . . . . . . . . . . . . . . . 94 9.1.2 De analoge uitgangsmodule . . . . . . . . . . . . . . . . . . . . . . . . . 95 9.2 Functie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 9.3 Watch Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 9.4 Opdracht temperatuursmeting . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 9.4.1 Resultaat in FBD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 9.4.2 Resultaat in ST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 9.5 Uitbreiding WebVisit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 10 Analoge signaalverwerking met de AXC1050 104 10.1 Toevoegen van de analoge I/O-kaarten . . . . . . . . . . . . . . . . . . . . . . . 105 10.2 Configureren van de analoge I/O-kaarten . . . . . . . . . . . . . . . . . . . . . . 105 10.3 Programmatie voor de signaalverwerking . . . . . . . . . . . . . . . . . . . . . 108 10.3.1 Binnenlezen met analoge ingangskaart . . . . . . . . . . . . . . . . . . . 108 10.3.2 Uitsturen met analoge uitgangskaart . . . . . . . . . . . . . . . . . . . . 109 10.4 Koppelen van de procesdata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 11 User Defined Datatypes 111 11.1 Algemeen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 11.1.1 Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 11.1.2 Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 11.1.3 Combinatie van User Defined Datatypes . . . . . . . . . . . . . . . . . . 115 11.2 Opdracht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 11.3 Aanvullende FB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 11.3.1 STRING_TO_BUF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 Inhoudsopgave iii
  • 5. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT 12 Modbus 119 12.1 De 1x1-reeks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 12.2 Modbus: de basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 12.2.1 Functiecodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 12.2.2 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 12.2.3 Berichtstructuur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 13 Modbus TCP 124 13.1 Aansluitingen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 13.2 Toevoegen nodige bibliotheek . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 13.3 Modbus TCP met functiebouwstenen . . . . . . . . . . . . . . . . . . . . . . . . . 127 13.3.1 Werking functiebouwstenen . . . . . . . . . . . . . . . . . . . . . . . . . 127 13.3.2 Gebruik in Function Block Diagram . . . . . . . . . . . . . . . . . . . . . . 130 13.3.3 Gebruik in Structured Text . . . . . . . . . . . . . . . . . . . . . . . . . . 130 13.3.4 Uitgewerkt voorbeeld: ILC 171 en EMpro met FB’s . . . . . . . . . . . . . 131 13.4 Modbus TCP met modbusregister . . . . . . . . . . . . . . . . . . . . . . . . . . 134 13.4.1 Modbus-settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 13.4.2 Modbusregister editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 13.5 Modbus kopstation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 13.5.1 Configureren en lezen van de registers . . . . . . . . . . . . . . . . . . . 137 13.5.2 Binnenlezen inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 14 Modbus RTU 142 14.1 Modbus RTU over RS485 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 14.1.1 Benodigde functiebouwstenen . . . . . . . . . . . . . . . . . . . . . . . . 143 14.1.2 Werking functiebouwstenen . . . . . . . . . . . . . . . . . . . . . . . . . 144 14.1.3 Gebruik in Function Block Diagram . . . . . . . . . . . . . . . . . . . . . . 147 14.2 Modbus RTU met gateway . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 14.2.1 Aansluitingen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 14.2.2 Voordeel gateway . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 14.2.3 Instellen gateway . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 14.2.4 Communicatie met functiebouwstenen . . . . . . . . . . . . . . . . . . . 151 14.2.5 Communicatie met modbusregisters . . . . . . . . . . . . . . . . . . . . 152 15 Uitbreiding 155 15.1 Tips & Trics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 15.1.1 Schermbeheer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 15.1.2 Beheer van variabelen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 15.1.3 Aanmaken project m.b.v. de wizard . . . . . . . . . . . . . . . . . . . . . 157 15.2 Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 15.2.1 Functiebouwsteen: analoge technologie . . . . . . . . . . . . . . . . . . 158 15.3 Firmware Update . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 15.4 Variabelen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 15.5 Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 15.6 Bus Diagnose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 Inhoudsopgave iv
  • 6. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT 15.6.1 Verbinding met controller maken . . . . . . . . . . . . . . . . . . . . . . . 170 15.6.2 Interbus Diagnose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 15.6.3 Axioline Diagnose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 16 Opdrachten 175 16.1 Een alarmsysteem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 16.2 Openen van een sectionaal poort . . . . . . . . . . . . . . . . . . . . . . . . . . 177 16.3 Temperatuursopvolging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 16.4 Sequentieel programmeren in ST: de rolkraan . . . . . . . . . . . . . . . . . . . 181 16.5 Tapijtoproller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 16.5.1 Overzicht in- en uitgangen opdracht tapijtroller . . . . . . . . . . . . . . 182 16.5.2 Verloop van de oprolcyclus . . . . . . . . . . . . . . . . . . . . . . . . . . 183 16.5.3 Hoofdprogramma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 16.5.4 Functiebouwsteen Blokgolf . . . . . . . . . . . . . . . . . . . . . . . . . . 184 16.5.5 Functiebouwsteen StartStop . . . . . . . . . . . . . . . . . . . . . . . . . 184 16.5.6 Functiebouwsteen Oprolcyclus . . . . . . . . . . . . . . . . . . . . . . . . 185 16.6 Voorbeeld in ST met array’s en structuren . . . . . . . . . . . . . . . . . . . . . 189 Inhoudsopgave v
  • 7. 1 Beschrijving van de hardware 1.1 Structuur van de starterkits 1.1.1 ILC131 starterkit De ILC131 starterkit is een combinatie van hardware en software die nodig is om een basis- project aan te maken. De starterkit is geassembleerd op een bord en bevat een voeding, een ILC131 met analoge ingangskaart, een potentiometer en een switch module met 8 schake- laars (zie figuur 1.1). Figuur 1.1: Opbouw van de starterkit 1 Beschrijving van de hardware 1
  • 8. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT 1.1.2 AXC1050 starterkit De AXC1050 starterkit is een combinatie van hardware en software die nodig is om een basisproject aan te maken. De starterkit is geassembleerd op een bord en bevat een AXC1050 met daaraan gekoppeld een digitale in- en uitgangskaart, een analoge uitgangskaart en een analoge ingangskaart voor spanningssignalen. Daarnaast bevat het bord ook een voeding, een switch module met 8 schakelaars, een led- bar en een potentiometer (zie figuur 1.2). Figuur 1.2: Opbouw van de starterkit 1 Beschrijving van de hardware 2
  • 9. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT 1.2 Phoenix Contact 1.2.1 Overzicht van de PLC’s Phoenix Contact volgt de internationale IEC 61131-3 norm voor programmeerbare sturingen. Figuur 1.3 toont een overzicht van het plc-gamma van Phoenix Contact: de ILC’s, de Axio- controllers en de softPLC’s. Figuur 1.3: Overzicht plc’s van Phoenix Contact ILC’s De ILC’s uit het gamma van Phoenix Contact zijn ingedeeld in 3 performantieklasses: de 100- reeks, de 300-reeks en de 400-reeks. Specificaties van de ILC’s binnen iedere reeks zijn te vinden in tabellen 1.1, 1.2 en 1.3. Axioline Binnen de Axioline zijn er twee reeksen: de 1000-reeks en de 3000-reeks. Specificaties van de Axiocontrollers per reeks zijn te vinden in tabellen 1.4 en 1.5. SoftPLC’s Ook is het mogelijk om softwarematig een cyclische plc-werking te verkrijgen op een indus- triële pc. Specificaties van de mogelijke softPLC’s zijn te vinden in tabel 1.6. 1 Beschrijving van de hardware 3
  • 10. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT Tabel 1.1: Specificaties voor ILC’s binnen de 100-reeks van Phoenix Contact Tabel 1.2: Specificaties voor ILC’s binnen de 300-reeks van Phoenix Contact 1 Beschrijving van de hardware 4
  • 11. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT Tabel 1.3: Specificaties voor ILC’s binnen de 400-reeks van Phoenix Contact Tabel 1.4: Specificaties voor Axiocontrollers binnen de 1000-reeks van Phoenix Contact 1 Beschrijving van de hardware 5
  • 12. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT Tabel 1.5: Specificaties voor Axiocontrollers binnen de 3000-reeks van Phoenix Contact Tabel 1.6: Specificaties voor softPLC’s van Phoenix Contact 1 Beschrijving van de hardware 6
  • 13. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT 1.2.2 Specifieke kenmerken voor de 100-reeks ILC131 ETH Dit is een PLC Base-Unit voor de kleine toepassingen. De plc heeft de volgende kenmerken: – 192kB programma- en datageheugen – 8kB retain-geheugen – 1 Ethernetpoort – Modbus-client geïmplementeerd (4 connecties) Het geheugen kan uitgebreid worden met een SD-kaart. ILC151 ETH Dit is een PLC Standard-Unit voor de basis toepassingen. De plc heeft de volgende kenmer- ken: – 256kB programma- en datageheugen – 8kB retain-geheugen – 1 Ethernetpoort – Modbus-client geïmplementeerd (8 connecties) Het geheugen kan uitgebreid worden met een SD-kaart. ILC171 ETH 2TX Deze PLC Advanced-Unit wordt gebruikt in toepassingen voor data-logging en communicatie. De plc heeft de volgende kenmerken: – 512kB programma- en datageheugen – 48kB retain-geheugen – 2 Ethernetpoorten – Modbus-client geïmplementeerd (16 connecties) Het geheugen kan uitgebreid worden met een SD-kaart. ILC191 ETH 2TX Deze PLC Advanced-Unit met FPU wordt gebruikt in closed-loop control toepassingen. De plc heeft de volgende kenmerken: – 1MB programma- en datageheugen – 48kB retain-geheugen 1 Beschrijving van de hardware 7
  • 14. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT – 2 Ethernetpoorten – Modbus-client geïmplementeerd (16 connecties) – Geïntegreerde FPU voor snellere floating-point bewerkingen Het geheugen kan uitgebreid worden met een SD-kaart. ILC151 GSM/GPRS Deze PLC met geïntegreerde GSM/GPRS modem wordt gebruikt voor Remote Control toepas- singen. De PLC heeft de volgende kenmerken: – 512kB programma- en datageheugen – 48kB retain-geheugen – 1 Ethernetpoort – Modbus-client geïmplementeerd (8 connecties) – Nieuw geïntegreerde webserver Het geheugen kan uitgebreid worden met een SD-kaart. 1.2.3 Specifieke kenmerken voor de AXC1050 De Axiocontroller AXC1050 is snel, robuust en eenvoudig. Deze PLC is geschikt voor middel- grote automatiseringstaken en heeft onder andere de volgende kenmerken: – Geïntegreerde UPS – 48 kB retain-geheugen – 2 ethernetpoorten, 1 USB poort – Modbus-client geïmplementeerd (16 connecties) – Profinet controller Het geheugen kan uitgebreid worden met een SD-kaart. 1 Beschrijving van de hardware 8
  • 15. 2 IEC 61131-3 2.1 Inleiding De IEC 61131 STANDAARD is een internationale standaard voor programmeerbare sturingen (PLC’s, soft PLC’s. . . ) en bestaat uit 5 delen: IEC 61131-1 : Algemeen overzicht; IEC 61131-2 : Hardware karakteristieken; IEC 61131-3 : Programmeertalen; IEC 61131-4 : Richtlijnen voor de gebruiker; IEC 61131-5 : Communicatie; + 2 technische rapporten. DE IEC 61131-3 NORM is sinds 1993 de internationale standaard voor het programmeren van industriële controllers. Het definieert 5 verschillende talen. Deze worden wereldwijd door alle grote PLC-fabrikanten gebruikt. Deze 5 talen zijn de volgende: • LADDER DIAGRAM (LD), een grafische taal welke gebaseerd is op contactorlogica; • FUNCTION BLOCK DIAGRAM (FBD); • INSTRUCTION LIST (IL): een ‘low-level’ taal, vergelijkbaar met assembler; • SEQUENTIAL FUNCTION CHART (SFC): een grafische taal speciaal ontwikkeld om de af- loop van sequentiële systemen te programmeren; • STRUCTURED TEXT (ST): een ‘high-level’ taal om gestructureerd te programmeren. Deze taal is sterk vergelijkbaar met PASCAL. 2 IEC 61131-3 9
  • 16. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT 2.2 Structuur van een applicatie volgens de IEC 61131-3 norm Elke configuratie bevat één of meerdere resources. Een resource voorziet in alle mogelijke tools om een bepaald gebruikersprogramma uit te voeren. Het is een kenmerk om een be- paalde processor te ondersteunen. Een resource is het best te begrijpen als een CPU met het daarbij behorende operating systeem. In elke resource kunnen meerdere tasks actief zijn. Een task wordt aangemaakt om een aantal programma’s uit te voeren. Een TASK kan een cyclische (periodische) task, een event-gestuurde task of een systeem-gestuurde (interrupt-) task zijn. Een cyclische task wordt cyclisch uitgevoerd met tijdsbewaking. Meestal wordt een default task voorzien in de engineeringssofware. Dit is een cyclische taak die steeds opnieuw wordt uitgevoerd. De cyclischtijd is enerzijds afhankelijk van de verwerkingssnelheid van de CPU van het besturingssyteem, anderzijds van de grootte van het gebruikersprogramma. Een event-gestuurde task wordt aangestoten bij een bepaalde gebeurtenis. Bij PC WorX wordt de event-gestuurde task gebruikt voor de mogelijkheid van sequential processing. Een systeem-gestuurde task wordt aangestoten door het operatingsysteem (warme start, koude start, stop, watchdog error, divide by zero. . . ). In sectie 15.5 op pagina 168 wordt dieper ingegaan op de verschillende tasks. Het uitvoeringsprogramma gekoppeld aan een task kan bestaan uit verschillende POU’s (Pro- gram Organisation Unit). 2 IEC 61131-3 10
  • 17. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT Figuur 2.1: Structuur van een applicatie volgens de IEC 61131-3 norm 2 IEC 61131-3 11
  • 18. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT 2.3 POU’s POU staat voor Program Organisation Units en is de verzamelnaam voor programma’s, func- tieblokken en functies. Een overzicht: POU type Meermaals gebruik als Commentaar Programma Programma instance Grotere herbruikbare software elementen binnen een gebruikersprogramma Functieblok Functieblok instance Kleinere (van complex algoritmes tot eenvoudige besturingstaken) herbruikbare software elementen Functie Functie Herbruikbare software elementen voor data manipulatie 2 IEC 61131-3 12
  • 19. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT 2.4 Functies 2.4.1 Algemeen Een functie is een software-blokje dat meermaals kan gebruikt worden in een andere POU. Meestal zullen functies gebruikt worden om data te manipuleren. Een functie produceert al- tijd ogenblikkelijk een definitief resultaat met behulp van een aantal ingangsparameters. Het resultaat wordt toegekend aan de functienaam zelf. Hiervoor zal een functie altijd van een bepaald data-type moeten zijn. • Een functie heeft juist één uitgang • Voor een identieke set ingangsparameters zal een functie altijd hetzelfde resultaat te- ruggeven Figuur 2.2: Voorstelling van een functie 2.4.2 Variabelen en functies Een variabele in een functie kan van het type VAR en VAR_INPUT zijn. Variabelen van het type VAR_OUTPUT zijn niet mogelijk omdat een functie slechts één uitgang heeft, nl. de functienaam zelf. 2.4.3 Standaardfuncties Er zijn heel wat standaardfuncties. Een greep uit de beschikbare groepen: • Numerieke functies (ABS, SQRT, LN, LOG, EXP, SIN, COS, TAN, ASIN, ACOS, ATAN). • Rekenkundige functies (ADD, MUL, SUB, DIV, MOD, EXPT, MOVE) Deze functies zijn meestal van het data-type ANY_NUM. Dit betekent dat het data_type van de inputparameters zowel een INT, DINT of REAL kan zijn. 2 IEC 61131-3 13
  • 20. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT • Bit stringfuncties (SHL, SHR, ROR, ROL). • Booleaanse bit-functies (AND, OR, XOR, NOT) De functies van de twee laatste groepen zijn meestal van het data-type ANY_BIT. Dit betekent dat het data_type van de inputparameters zowel een BIT, BYTE, WORD of DWORD kan zijn. • Vergelijkingsfuncties (GT, GE, EQ, LE, LT, NE). • Karakter stringfuncties (LEFT, RIGHT, MID, CONCAT, INSERT, DELETE, REPLACE, LEN, FIND) functies om data-types om te zetten. Voor PC WorX zijn nog heel wat bibliotheken voorhanden met speciale functies. 2 IEC 61131-3 14
  • 21. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT 2.5 Functiebouwstenen 2.5.1 Algemeen Een functieblok is een herbruikbaar software element om eenvoudige tot complexe bestu- ringstaken uit te voeren. Bij het aanmaken van een functiebouwsteen worden variabelen gedefinieerd. Bij de oproep van deze functiebouwsteen wordt er voor deze variabelen ge- heugenruimte voorzien. Indien deze functiebouwsteen meerdere malen opgeroepen wordt, dan moet er meerdere keren geheugenruimte voorzien worden. Daarom wordt er bij de oproep van een functiebouwsteen een instance gedefinieerd. Deze instance verwijst dan naar deze specifieke geheugenlocatie. Bij een bepaalde set ingangsparameters zullen de uitgangsparameters van een functieblok een variërend resultaat hebben in functie van de tijd. 2.5.2 Variabelen en functiebouwstenen Een variabele in een functiebouwsteen kan van het type VAR, VAR_GLOBAL, VAR_INPUT en VAR_OUTPUT zijn. Hierbij zijn de ingangsparameters van het type VAR_INPUT. De uitgangs- waarden van de FB zijn van het type VAR_OUTPUT. Een variabele kan ook van het type VAR_IN_OUT zijn. Dergelijke variabele krijgen een inputwaarde meegegeven welke kan ver- anderen in de uitvoering van de FB. Het gebruik van VAR_GLOBAL wordt vermeden in een functiebouwsteen. Een voorstelling van een functiebouwsteen is te zien in figuur ??. Figuur 2.3: Voorstelling van een functiebouwsteen 2.5.3 Standaardfunctiebouwstenen Er zijn heel wat vooraf gedefinieerde functieblokken. De belangrijkste zijn: • SR, RS, R_TRIG, F_TRIG • Counters: CTU, CTD, CTUD • Timers: TP,TOF, TON 2 IEC 61131-3 15
  • 22. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT 2.6 Programma’s 2.6.1 Algemeen Een programma is een groot herbruikbaar software element. Dit element is meestal opge- bouwd uit verschillende andere software elementen zoals functies en functieblokken. Die elementen worden in één van de 5 IEC talen geschreven. Een typisch programma bestaat uit een aantal gelinkte functieblokken die softwarematig data kunnen uitwisselen. 2.6.2 Variabelen Variabelen kunnen van het type VAR, VAR EXTERNAL, VAR_EXTERNAL_PG en VAR_GLOBAL zijn. Globale variabelen worden in programma’s gebruikt en worden nadien gelinkt aan periferie IO of aan softwarevariabelen. In het laatste hoofdstuk worden de verschillen tussen deze variabelen onder de loep geno- men. 2 IEC 61131-3 16
  • 23. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT 2.7 Naamgeving De naamgeving van variabelen is onderworpen aan een standaard. De richtlijnen zorgen ervoor dat bij de diagnose van een probleem de programmeur in één oogopslag het gebruik van de variabelen kan aflezen aan de hand van de naamgeving. Algemeen kan gesteld worden dat de opbouw voor de naamgeving van een variabele is vol- gens figuur 2.4. Figuur 2.4: Opbouw naamgeving Ieder datatype heeft zijn eigen afkorting, deze worden weergegeven in tabel 2.1. Tabel 2.1: Overzicht van afkortingen voor datatypes De naam zelf dient logisch te zijn en zelfverklarend te zijn. Te lange namen worden logisch afgekort. Namen die bestaan uit meerdere woorden worden aan elkaar geschreven, waarbij ieder woord begint met een hoofdletter zoals bv. xEnableDataExchange. Afkortingen worden in hoofdletters geschreven en van de rest van de naam gescheiden door een underscore zoals bv. xClearBuffer_RTU. 2.7.1 Benaming binnen een functiebouwsteen De variabelen binnen een functiebouwsteen krijgen een prefix naargelang hun gebruik, zie tabel 2.2. 2.7.2 Benaming binnen een programma De variabelen binnen het hogere programmaniveau krijgen ook een prefix naargelang hun gebruik, zie tabel 2.3. 2 IEC 61131-3 17
  • 24. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT Tabel 2.2: Overzicht van prefixen binnen een functiebouwsteen Tabel 2.3: Overzicht van prefixen binnen een programma 2.7.3 Benaming van user defined datatypes Datatypes zoals ARRAYs en STRUCTs worden door de gebruiker gedefinieerd. De benaming voor het datatype zelf wordt als volgt voorgesteld: • Array: ARR_x_y_z – x: Start getal array – y: Eind getal array – z: datatype arrayelement vb. ARR_1_10_BYTE: een array van 10 bytes, ARR_0_9_Settings: een array van 10 elementen van het eerder aangemaakte datatype ‘Settings’. • Struct: udt<benaming> vb. udtLaskop De benaming van de variabele van zo’n datatype volgt de algemene regels van hierboven. 2 IEC 61131-3 18
  • 25. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT 2.8 Datatypes 2.8.1 Numerieke datatypes De volgende tabel toont een overzicht van de belangrijkste numerieke datatypes. Datatype Beschrijving Bits Bereik SINT Short integer 8 -128 tot +127 INT Integer 16 -32768 tot 32767 DINT Double integer 32 −231 tot +231 − 1 LINT Long integer 64 −263 tot +261 − 1 USINT Unsigned short integer 8 0 tot 255 UINT Unsigned integer 16 0 tot 216 − 1 UDINT Unsigned double integer 32 0 tot 232 − 1 ULINT Unsigned long integer 64 0 tot 264 − 1 REAL Floating point 32 ±10±38 LREAL Long floating point 64 ±10±308 Opmerkingen over de notatie van numerieke datatypes: • INT#15 of 15 • REAL#8 of 8.0 2.8.2 Bitgebaseerde datatypes De volgende tabel toont een overzicht van de belangrijkste bitgebaseerde datatypes. Datatype Beschrijving Bits Bereik BOOL 1 bit 1 Logisch 1 of 0 BYTE Bitstring van 8 bits 8 Binaire informatie WORD Bitstring van 16 bits 16 Binaire informatie DWORD Bitstring van 32 bits 32 Binaire informatie LWORD Bitstring van 64 bits 64 Binaire informatie STRING Karakter string Tekst informatie Opmerkingen over de notatie van bitgebaseerde datatypes: • WORD#2#1010111100000011 (binaire notatie) • WORD #16#AF03 (hexadecimal notatie) • BYTE#2#10100011 2 IEC 61131-3 19
  • 26. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT 2.8.3 Time-gebaseerde datatypes De volgende tabel toont een overzicht van de belangrijkste time-gebaseerde datatypes. Datatype Beschrijving Bits Bereik TIME Tijdsduur DATE Kalendergegevens TIME_OF_DAY Tijd van de dag DATE_AND_TIME Kalendergegevens + tijd van de dag Opmerkingen over de notatie van bitgebaseerde datatypes: • Opmerkingen over TIME: – T#3s – T#16d_5h_3m_4s_20ms (16 dagen, 5 uur, 3 minuten, 4 seconden en 20 millise- conden) – TIME#10s • Opmerkingen over DATE: – D#2001-10-15 (15 oktober 2001) – DATE#1999-1-30 • Opmerkingen over TIME_OF_DAY – TOD#10:10:30 (10 uur, 10 minuten en 30 seconden) – TIME_OF_DAY#23:59:59 (1 seconde voor middernacht) • Opmerkingen over DATE_AND_TIME – DT#2007-03-22-15:36:50 – DATE_AND_TIME#2007-02-01-12:00:00 2 IEC 61131-3 20
  • 27. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT 2.8.4 Array ‘Array’ datatype is een structuur van verschillende elementen van hetzelfde datatype. De verschillende elementen kunnen één voor één apart gemanipuleerd worden aan de hand van een array-index. Een array datatype moet vooraf gedeclareerd worden. Eens het datatype gedeclareerd is, dan kunnen variabelen van dit array datatype gedefinieerd worden. TYPE (*Typename*) : ARRAY [(*From..To*)] OF (*DATATYPE*); END_TYPE Voorbeeld van een ééndimensionale array Declaratie array datatype TYPE ARR_1_23_INT : ARRAY[1..23] OF INT; END_TYPE Definitie van variabelen VAR arrReeks_1 : ARR_1_23_INT; iWaarde_4: INT; END_VAR CODE in ST iWaarde_4 := arrReeks_1 Voorbeeld van een multi-dimensionale array Declaratie array datatype TYPE ARR_1_23_INT : ARRAY[1..23] OF INT; udtResultaten : ARRAY [1..3] OF ARR_1_23_INT; END_TYPE 2 IEC 61131-3 21
  • 28. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT Definitie van variabelen VAR udtProductielijn_1 : udtResultaten; iOpbrengst_x: INT; END_VAR CODE in ST iOpbrengst_x := udtProductielijn_1 [2] [10]; 2.8.5 Struct ‘Struct’ datatype is een structuur van verschillende elementen van een verschillend data- type. TYPE (*Typename*) : STRUCT (*Element 1 Name*) : (*DATATYPE*); (*Element 2 Name*) : (*DATATYPE*); (*Element 3 Name*) : (*DATATYPE*); (* . : . *); (* . : . *); (*Element n Name*) : (*DATATYPE*); END_STRUCT; END_TYPE 2.8.6 String Een string is een datatype om tekst te verwerken. Het is een verzameling van bytes, waarbij elke byte een character voorstelt (ASCII-tabel). TYPE (*Typename*):STRING((*String length*)); END_TYPE 2 IEC 61131-3 22
  • 29. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT 2.9 Structured Text Specifiek aan structured text zijn de voorwaardelijke statements. Hierna volgt een kort over- zicht. 2.9.1 Selectie statements IF... THEN... ELSE... IF <boolean expression> THEN <statement>; ELSE <statement>; END_IF; Met ELSIF wordt het: IF <boolean expression> THEN <statement>; ELSIF <boolean expression> THEN <statement>; ELSE <statement>; END_IF; 2 IEC 61131-3 23
  • 30. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT CASE CASE <integer expression> OF <integer value_1> : <statement>; <integer value_2> : <statement>; <integer value_3> : <statement>; ELSE <statement>; END_CASE; 2.9.2 Iteratie statements FOR... DO FOR <initialiserende waarde> TO <eindwaarde> BY <incrementele waarde> DO (* BY is optioneel. Standaard wordt er met 1 stap verhoogd *) <statement>; <statement>; <statement>; END_FOR; WHILE... DO WHILE <boolean expression> DO <statement>; <statement>; <statement>; END_WHILE; 2 IEC 61131-3 24
  • 31. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT REPEAT... UNTIL REPEAT <statement>; <statement>; <statement>; UNTIL <boolean expression> END_REPEAT; Met het statement EXIT kan een voorwaardelijk einde gemaakt worden aan een iteratie statement. 2 IEC 61131-3 25
  • 32. 3 Aanmaken van een project met de ILC131 3.1 Nieuw project aanmaken 1. Selecteer “New Project” onder het menu “File” om een nieuw project aan te maken via een template. De structuur van het project alsook de keuzemogelijkheid van een controller worden nu voorbereid. 2. Selecteer een template voor de gebruikte ILC, bv.: “ILC 131 ETH Rev. > 00/4.00” en bevestig met OK (zie figuur 3.1). Figuur 3.1: Project templates 3. Selecteer “Save Project As. . . ” onder het menu “File”. Kies een projectnaam, i.f.v. het gebruik van Webvisit zijn spaties in de naam niet toegelaten, (hier StartersProgram, zie figuur 4.2) en sla het project op via “Save”, zie figuur 4.2. Figuur 3.2: Opslaan project 3 Aanmaken van een project met de ILC131 26
  • 33. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT Ieder project wordt opgeslagen als een ∗.mwt bestand en een folder met dezelfde naam. Op figuur 4.2 is er een ∗.mwt bestand met de naam DEMO_PRO alsook een folder met de naam DEMO_PRO. Het is ook mogelijk om het project te zippen tot een ∗.zwt bestand. Het is interessant om vooraf bij “Options” onder “Extras” de gewenste project directories in te stellen zoals in figuur 4.3. Figuur 3.3: Instellen project directories 3 Aanmaken van een project met de ILC131 27
  • 34. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT 3.2 Structuur nieuw project conform de IEC 61131-3 Figuur 3.4: Structuur bij het aanmaken van een nieuw project in PC WorX Zie “2.2 Structuur van een applicatie volgens de IEC 61131-3 norm” op pagina 10 voor de theoretische uitleg. Zoals te zien is in figuur 3.4 wordt onder de map ‘Logical POU’s’ reeds één programma aan- gemaakt met de naam Main. Dit programma wordt een eerste in gebruik genomen via de DEFAULT task. Hierdoor is dit programma dadelijk compileerbaar. Indien andere programma’s aangemaakt worden dienen die zeker in een task geactiveerd te worden (zie verder in deze cursus). 3 Aanmaken van een project met de ILC131 28
  • 35. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT 3.3 Aanpassen van de projectinformatie 3.3.1 Bus configuratie Schakel over naar het werkgebied “Bus configuration”. Hier wordt alle projectinformatie weergegeven (zie figuur 3.5). Figuur 3.5: De busconfiguratie 3.3.2 IP Tijdens het aanmaken van het project kent PC WorX automatisch een IP range toe voor een lokaal netwerk (192.168.0.2 tot 192.168.0.254). Indien een ander adres moet gebruikt worden, dan moet het start- en eindadres aangepast worden. Indien nodig moet ook het subnetmask aangepast worden. Voor de cursus worden volgende IP adressen toegepast: PC 192.168.0.10/24 (subnetmask 255.255.255.0) ILC_150 192.168.0.11/24 (subnetmask 255.255.255.0) Beiden moeten hetzelfde subnetmask hebben. 3.3.3 IP configuratie van uw PC Belangrijk is om eerst de netwerkinstellingen van de PC te controleren. Via de Command Prompt wordt met behulp van het commando “ipconfig” het IP-adres van de PC opgevraagd (zie figuur 4.6). De PC instellingen aanpassen indien nodig via de eigenschappen voor LAN-verbinding. Bij het Internet-protocol, kiezen voor de eigenschappen en een vast IP-adres instellen. 3 Aanmaken van een project met de ILC131 29
  • 36. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT Figuur 3.6: Configuratie Figuur 3.7: Ipconfig Vast IP-adres kiezen Om een vast IP-adres voor de PC te kiezen, moet het netwerkcen- trum geopend worden. Via ‘adapter-instellingen wijzigen’ wordt een overzicht van alle adap- ters verkregen. Rechtermuisklik op de gewenste adapter, meestal LAN-verbinding (zie figuur 4.7), en het venster ‘Eigenschappen’ wordt geopend. Figuur 3.8: Verschillende netwerkadapters in netwerkcentrum 3 Aanmaken van een project met de ILC131 30
  • 37. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT Er wordt gebruik gemaakt van IPv4, dus moeten de eigenschappen van dit protocol geopend worden, zie figuur 4.8. Figuur 3.9: IPv4-eigenschappen selecteren Uiteindelijk kan er een vast IP-adres ingesteld worden dat in dezelfde range van het IP-adres van de controller moet liggen. Dit wordt weergegeven in figuur 4.9. Figuur 3.10: Vast IP-adres toekennen 3 Aanmaken van een project met de ILC131 31
  • 38. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT 3.4 IP configuratie van de controller 3.4.1 Algemeen De IP-settings binnen PCWorx zijn te zien in figuur 3.11. Om het IP-adres van de plc aan te Figuur 3.11: IP Settings passen zijn er de volgende mogelijkheden: • Voor de eerste keer een IP-adres toekennen – Via IPAssign (BootP Server) – Via PC WorX (BootP Server) – Via de seriële interface – Via PC Worx, extended settings • Veranderen van het IP-adres – Via IPAssign (BootP Server) – Via PC WorX (BootP Server) – Via de seriële interface 3 Aanmaken van een project met de ILC131 32
  • 39. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT 3.4.2 Aanpassen IP-adres via de BootP Server (m.b.v. PC WorX) Opmerking: De BootP-methode werkt enkel tot en met Windows XP! Figuur 3.12: BootP opstarten binnen PCWorx 1. Activeer de “BootP Server active” checkbox. 2. Schakel over naar het werkgebied “Bus configuration”. 3. Selecteer de “ILC 131 ETH” controller. 4. Selecteer het tabblad “IP Settings” in het venster “Device Details”. 5. Breng het MAC-adres van de controller in (MAC-adres begint met 00-A0-45). 6. Vul het gewenste IP-adres in. Figuur 3.13: Aanpassen van het IP-adres 7. Neem de spanning weg van de controller. 8. De spanning terug laten opkomen. Vanaf nu wordt het BootP proces opgestart, de controller krijgt het ingestelde IP-adres en na een tweetal minuten is het IP-adres geac- tiveerd. 3 Aanmaken van een project met de ILC131 33
  • 40. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT 3.4.3 Aanpassen IP-adres via de IP Assigment Tool (IPAssign) IPAssign is te downloaden op de website van Phoenix Contact. 1. Zorg ervoor dat de BootP Server van PC WorX niet geactiveerd is. Enkel de bedrade adapter van de PC mag aanliggen, alle andere adapters uitschakelen. 2. Openen IPAssign, klik op volgende en wacht tot het MAC-adres verschijnt, zie figuur 4.11. 3. Indien de controler niet in de lijst verschijnt, neem dan de spanning weg van de control- ler door de zwarte connector even los te maken, daarna de spanning terug opzetten. Figuur 3.14: MAC-adres selecteren 4. Klik op het MAC-adres van de controller dat op het scherm verschijnt (MAC-adres begint met 00-A0-45). 5. Vul het gewenste IP-adres in zoals in figuur 4.12. Figuur 3.15: IP-adres invullen 3 Aanmaken van een project met de ILC131 34
  • 41. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT Figuur 3.16: Wachten op bevestiging 6. Wacht tot de aanpassing bevestigd is. Indien er na een twintigtal seconden nog geen bevestiging verkregen is, neem dan terug even kort de spanning weg van de controller. Bij de heropstart neemt de controller het IP-adres aan. Figuur 3.17: Bevestiging 3 Aanmaken van een project met de ILC131 35
  • 42. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT 3.4.4 Communicatie opzetten tussen PC en plc Eens bij de controller en op de PC het juiste IP-adres ingesteld staat kan de communicatie geactiveerd worden. Hiervoor wordt de ILC 131 ETH aangeklikt in het window “Bus Structure” (links) en wordt het tabblad “Communication” gekozen in het window “Device Details”, zie figuur 3.18. Na het Figuur 3.18: ‘Communication’-tabblad om verbinding te maken instellen van het juiste IP-adres van de controller kan de communicatie getest worden via de knop “Test”, zie figuur 3.19. Figuur 3.19: Testen van de communicatie Na enkele seconden zal de indicatiebar groen oplichten zoals in figuur 3.20. Vervolgens kan op ‘Apply’ geklikt worden om te bevestigen. Ter controle zal links in de boomstructuur het IP-adres wijzigen. Figuur 3.20: Geslaagde communicatietest 3 Aanmaken van een project met de ILC131 36
  • 43. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT 3.5 De INTERBUS configuratie Eens het communicatiepad actief is tussen de controller en de PC kan het INTERBUS systeem verbonden met de controller automatisch ingelezen worden. Voor dit project zijn twee INTERBUS modules verbonden met de controller. • Selecteer het “Connected Bus” commando via het “View” menu om het INTERBUS sys- teem in te lezen (zie figuur 3.21). Figuur 3.21: Connected Bus • Selecteer de juiste controller in het venster “Connected INTERBUS” (zie figuur 3.22). Figuur 3.22: Selecteer de juiste controller • De INTERBUS modules worden nu automatisch ingelezen. Eens ingelezen moeten ze toegevoegd worden aan het project. 3 Aanmaken van een project met de ILC131 37
  • 44. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT • Klik hiervoor op de controller, rechtermuistoets en kies vervolgens “Import to Project” en “With Device Description”. Figuur 3.23: Uitgelezen busstructure • Het venster “Select Device” toont nu alle modules welke overeenstemmen met de ID code en met de hoeveelheid processdata van de geconnecteerde modules. Uit deze lijst moeten de werkelijk verbonden modules geselecteerd worden. De INTERBUS modules welke in dit project gebruikt zijn: - IB IL AI 2/SF-ME Beiden moeten hetzelfde subnetsmask hebben. • Uiteindelijk moet de configuratie opgebouwd zijn zoals op figuur 3.24 wordt weergege- ven. Figuur 3.24: Uiteindelijke configuratie • Tot slot is het beter om nu opnieuw offline te selecteren vooraleer dit venster af te sluiten. Figuur 3.25: Opnieuw offline gaan 3 Aanmaken van een project met de ILC131 38
  • 45. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT 3.6 Compileren en downloaden Het project bevat nu alle informatie omtrent de busconfiguraties (Ethernet & INTERBUS) en is er een actieve communicatie. Op dit moment is het mogelijk om het project te compileren en te downloaden om eventuele fouten te herkennen. compileren → downloaden naar de controller → cold start uitvoeren. Enkele belangrijke sneltoetsen betreffende het compileren: Figuur 3.26: Compileren en downloaden Figuur 3.27: Sneltoetsen 3 Aanmaken van een project met de ILC131 39
  • 46. 4 Aanmaken van een project met de AXC1050 4.1 Nieuw project aanmaken 1. Selecteer “New Project” onder het menu “File” om een nieuw project aan te maken via een template. De structuur van het project alsook de keuzemogelijkheid van een controller worden nu voorbereid. 2. Selecteer een template voor de gebruikte Axiocontroller, bv.: “AXC 1050 Rev. > 01/2.10” en bevestig met OK (zie figuur 4.1). Figuur 4.1: Project templates voor AXC1050 3. Selecteer “Save Project As. . . ” onder het menu “File”. Kies een projectnaam, i.f.v. het gebruik van Webvisit zijn spaties in de naam niet toegelaten, (hier StartersProgram, zie figuur 4.2) en sla het project op via “Save”, zie figuur 4.2. Figuur 4.2: Opslaan project 4 Aanmaken van een project met de AXC1050 40
  • 47. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT Ieder project wordt opgeslagen als een ∗.mwt bestand en een folder met dezelfde naam. Op figuur 4.2 is er een ∗.mwt bestand met de naam DEMO_PRO alsook een folder met de naam DEMO_PRO. Het is ook mogelijk om het project te zippen tot een ∗.zwt bestand. Het is interessant om vooraf bij “Options” onder “Extras” de gewenste project directories in te stellen zoals in figuur 4.3. Figuur 4.3: Instellen project directories 4 Aanmaken van een project met de AXC1050 41
  • 48. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT 4.2 Structuur nieuw project conform de IEC 61131-3 Figuur 4.4: Structuur bij het aanmaken van een nieuw project in PC WorX Zie “2.2 Structuur van een applicatie volgens de IEC 61131-3 norm” op pagina 10 voor de theoretische uitleg. Zoals te zien is in figuur 4.4 wordt onder de map ‘Logical POU’s’ reeds één programma aan- gemaakt met de naam Main. Dit programma wordt bij aanmaak van een project standaard via de DEFAULT task opgeroe- pen. Hierdoor is dit programma dadelijk compileerbaar. Indien andere programma’s aangemaakt worden, dienen deze zeker in een task geactiveerd te worden (zie verder in deze cursus). 4 Aanmaken van een project met de AXC1050 42
  • 49. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT 4.3 Aanpassen van de projectinformatie 4.3.1 Bus configuratie Schakel over naar het werkgebied “Bus configuration”. Hier wordt alle projectinformatie weergegeven (zie figuur 4.5). Figuur 4.5: De busconfiguratie 4.3.2 IP Tijdens het aanmaken van het project kent PC WorX automatisch een IP range toe voor een lokaal netwerk (192.168.0.2 tot 192.168.0.254). Indien een ander adres moet gebruikt worden, dan moet het start- en eindadres aangepast worden. Indien nodig moet ook het subnetmask aangepast worden. Voor de cursus worden volgende IP adressen toegepast: PC 192.168.0.10/24 (subnetmask 255.255.255.0) AXC1050 192.168.0.11/24 (subnetmask 255.255.255.0) Beiden moeten hetzelfde subnetmask hebben. 4.3.3 IP configuratie van uw PC Belangrijk is om eerst de netwerkinstellingen van de PC te controleren. Via de Command Prompt wordt met behulp van het commando “ipconfig” het IP-adres van de PC opgevraagd (zie figuur 4.6). De PC instellingen aanpassen indien nodig via de eigenschappen voor LAN-verbinding. Bij het Internet-protocol, kiezen voor de eigenschappen en een vast IP-adres instellen. 4 Aanmaken van een project met de AXC1050 43
  • 50. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT Figuur 4.6: Ipconfig Vast IP-adres kiezen Om een vast IP-adres voor de PC te kiezen, moet het netwerkcen- trum geopend worden. Via ‘adapter-instellingen wijzigen’ wordt een overzicht van alle adap- ters verkregen. Rechtermuisklik op de gewenste adapter, meestal LAN-verbinding (zie figuur 4.7), en het venster ‘Eigenschappen’ wordt geopend. Figuur 4.7: Verschillende netwerkadapters in netwerkcentrum Er wordt gebruik gemaakt van IPv4, dus moeten de eigenschappen van dit protocol geopend worden, zie figuur 4.8. Uiteindelijk kan er een vast IP-adres ingesteld worden dat in dezelfde range van het IP-adres van de controller moet liggen. Dit wordt weergegeven in figuur 4.9. 4 Aanmaken van een project met de AXC1050 44
  • 51. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT Figuur 4.8: IPv4-eigenschappen selecteren Figuur 4.9: Vast IP-adres toekennen 4 Aanmaken van een project met de AXC1050 45
  • 52. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT 4.4 IP configuratie van de controller 4.4.1 Algemeen De IP-settings binnen PCWorx zijn te zien in figuur 4.10. Figuur 4.10: IP Settings Om het IP-adres van de plc aan te passen zijn er de volgende mogelijkheden: • Voor de eerste keer een IP-adres toekennen – Via IPAssign (BootP Server) – Via PC WorX (DCP) – Via PC Worx (Extended settings, over USB interface) • Veranderen van het IP-adres – Via IPAssign (BootP Server) – Via PC WorX (DCP) – Via PC WorX (Extended settings, over USB interface) – Via PC Worx (Extended settings, over ethernet) 4 Aanmaken van een project met de AXC1050 46
  • 53. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT 4.4.2 Aanpassen IP-adres via de IP Assigment Tool (IPAssign) IPAssign is te downloaden op de website van Phoenix Contact. 1. Zorg ervoor dat de BootP Server van PC WorX niet geactiveerd is. Enkel de bedrade adapter van de PC mag aanliggen, alle andere adapters uitschakelen. 2. Openen IPAssign, klik op volgende en wacht tot het MAC-adres verschijnt, zie figuur 4.11. 3. Indien de controler niet in de lijst verschijnt, neem dan de spanning weg van de control- ler door de zwarte connector even los te maken, daarna de spanning terug opzetten. Figuur 4.11: MAC-adres selecteren 4. Klik op het MAC-adres van de controller dat op het scherm verschijnt (MAC-adres begint met 00-A0-45). 5. Vul het gewenste IP-adres in zoals in figuur 4.12. Figuur 4.12: IP-adres invullen 4 Aanmaken van een project met de AXC1050 47
  • 54. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT Figuur 4.13: Wachten op bevestiging 6. Wacht tot de aanpassing bevestigd is. Indien er na een twintigtal seconden nog geen bevestiging verkregen is, neem dan terug even kort de spanning weg van de controller. Bij de heropstart neemt de controller het IP-adres aan. Figuur 4.14: Bevestiging 4 Aanmaken van een project met de AXC1050 48
  • 55. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT 4.4.3 Aanpassen IP-adres via DCP in PC Worx Het Discovery and Configuration Protocol (DCP) is een protocol binnen de Profinet context. Daar de AXC1050 een Profinet controller/device is, kunnen het IP-adres en de device name rechtstreeks via DCP toegekend worden. 1. Na het selecteren van de AXC1050 binnen de “Bus Structure”, kunnen de gewenste IP-settings ingevoerd worden (zie figuur 4.15). Figuur 4.15: Ingeven gewenste IP-settings 2. Van zodra op het tabblad “IP Assignment” geklikt wordt, worden alle beschikbare Profi- net toestellen binnen het netwerk door DCP afgescand (zie figuur 4.16. Figuur 4.16: Met DCP wordt een lijst van beschikbare Profinet toestellen verkregen 3. De AXC1050 komt in de lijst voor als beschikbaar Profinet toestel (zie figuur 4.17) Het toestel is herkenbaar aan zijn MAC-adres. Daarnaast kan ook een visuele controle ge- beuren door op “Flashing on” te klikken. 4 Aanmaken van een project met de AXC1050 49
  • 56. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT Figuur 4.17: AXC1050 in lijst van beschikbare Profinet toestellen 4. De IP-settings rechtsboven komen overeen met deze die ingesteld zijn in het “IP set- tings” tabblad. Om deze toe te kennen aan de AXC1050 volstaat het om de AXC1050 te selecteren en te klikken op “Assign IP” (zie figuur 4.18). Figuur 4.18: Toekennen van de IP-settings aan de AXC1050 5. De IP-settings zijn succesvol toegekend, zie figuur 4.19. 6. Ook de Profinet device name kan ingesteld worden zoals gespecifieerd onder het tab- blad “IP Settings”, dit door te klikken op “Assign Name” (zie figuur 4.20 7. De Profinet device name is succesvol toegekend, zie figuur 4.21 4 Aanmaken van een project met de AXC1050 50
  • 57. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT Figuur 4.19: Succesvolle toekenning van de IP-settings Figuur 4.20: Toekennen van de Profinet device name Figuur 4.21: Succesvolle toekenning van de Profinet device name 4 Aanmaken van een project met de AXC1050 51
  • 58. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT 4.4.4 Aanpassen IP-adres via USB-interface in PC Worx De AXC1050 is voorzien van een micro-USB interface. Deze kan gebruikt worden voor dia- gnose (bijvoorbeeld via Diag+), maar ook om de IP-settings te wijzigen. Om de USB-interface te kunnen gebruiken, moet de “Phoenix Contact USB to UART Interface” driver geïnstalleerd zijn. 1. In het tabblad “Extended settings” kunnen de gewenste IP-settings ingegeven worden. Verzenden van deze settings gebeurt door te klikken op “Send” (zie figuur 4.22). Figuur 4.22: Verzenden van de IP-settings 2. Vervolgens moet het communicatiepad ingesteld worden op de USB-interface, zie figuur 4.23. Figuur 4.23: USB-interface als communicatiepad kiezen 3. Een melding verschijnt indien de service correct uitgevoerd is, zie figuur 4.24. 4. Om de nieuwe IP-settings effectief aan te nemen, moet de controller nog heropgestart worden. 4 Aanmaken van een project met de AXC1050 52
  • 59. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT Figuur 4.24: IP-settings succesvol verzonden 4 Aanmaken van een project met de AXC1050 53
  • 60. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT 4.4.5 Communicatie opzetten tussen PC en PLC Eens bij de controller en op de PC het juiste IP-adres ingesteld staat, kan de communicatie geactiveerd worden. Hiervoor wordt de AXC1050 aangeklikt in het window “Bus Structure” (links) en wordt het tabblad “Communication” gekozen in het window “Device Details”, zie figuur 4.25. Figuur 4.25: ‘Communication’-tabblad om verbinding te maken Na het instellen van het juiste IP-adres van de controller kan de communicatie getest worden via de knop “Test”, zie figuur 4.25. Na enkele seconden zal de indicatiebar groen oplichten zoals in figuur 4.26. Vervolgens kan op ‘Apply’ geklikt worden om te bevestigen. Ter controle zal links in de boomstructuur het IP-adres wijzigen. Figuur 4.26: Geslaagde communicatietest 4 Aanmaken van een project met de AXC1050 54
  • 61. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT 4.5 De AXIOLINE configuratie Nu het communicatiepad tussen de controller en de PC actief is, kunnen de extra modu- les met de controller verbonden worden. Het AXIOLINE systeem kan automatisch ingelezen worden. Bij deze starterkit worden 3 AXIOLINE modules verbonden met de controller: – AXL F DI8/1 DO8/1 1H, module met 8 digitale ingangen en 8 digitale uitgangen – AXL F AO4 1H, module met 4 analoge uitgangen – AXL F AI4 U 1H, module met 4 analoge ingangen, spanningssignalen Om de bus in te lezen moeten de volgende stappen doorlopen worden: 1. Ga naar de “Bus Structure” binnen de “Bus Configuration Workspace”. 2. Selecteer via een rechtermuisklik op “#Axioline” de functie “Read Axioline”, zie figuur 4.27. Figuur 4.27: Read Axioline 3. De bus wordt automatisch uitgelezen en er wordt een overzicht gegeven van de gevon- den modules, zie figuur 4.28 4. Na bevestiging ziet de uiteindelijke busstructuur eruit zoals in figuur 4.29 4 Aanmaken van een project met de AXC1050 55
  • 62. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT Figuur 4.28: Gevonden modules Figuur 4.29: Uiteindelijke busstructuur 4 Aanmaken van een project met de AXC1050 56
  • 63. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT 4.6 Compileren en downloaden Het project bevat nu alle informatie omtrent de busconfiguraties (Ethernet & INTERBUS) en is er een actieve communicatie. Op dit moment is het mogelijk om het project te compileren en te downloaden om eventuele fouten te herkennen. compileren → downloaden naar de controller → cold start uitvoeren. Enkele belangrijke sneltoetsen betreffende het compileren: Figuur 4.30: Compileren en downloaden Figuur 4.31: Sneltoetsen 4 Aanmaken van een project met de AXC1050 57
  • 64. 5 Uitgewerkt Voorbeeldprogramma 5.1 Inleiding Hieronder wordt een eenvoudig voorbeeldprogramma stap voor stap omschreven. De be- oogde werking bestaat uit 2 delen: 1. PC WorX: In PC WorX wordt een eenvoudig programma geschreven die een transport- band met telfunctie voorstelt. Daarnaast wordt ook een analoge waarde binnengelezen en gevisualiseerd op een LED-bar. 2. Webvisit: De ILC131 ETH beschikt over een webserver. Bij deze oefening is het de bedoeling dat een webpagina aangemaakt wordt waarmee de transportband gevisua- liseerd wordt, alsook de aansturing ervan mogelijk wordt. De toestand van de analoge ingang zal hier ook worden gevisualiseerd. 5 Uitgewerkt Voorbeeldprogramma 58
  • 65. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT 5.2 Opdrachtomschrijving Na een correcte hardwareconfiguratie wordt aan de hand van een voorbeeldprogramma de programmeeromgeving van PC WorX, conform de IEC61131-3 norm, verder toegelicht. De opdracht omvat een transportband met een bedienkastje en een lampenzuil. Een motor, die in snelheid regelbaar is, laat de transportband draaien. Met behulp van een startknop (NO) kan de band gestart worden. Met de stopknop (NC) kan de band gestopt worden. Een veiligheidrelais (NC) wordt eveneens op het kastje gemonteerd en wordt als ingang op de PLC binnen genomen. De lampenzuil bestaat uit een rode en groene lamp. De rode lamp gaat branden wanneer de noodstop (veiligheidsrelais) ingedrukt is. De groene lamp brandt continu wanneer de transportband draait en de werking OK is. De groene lamp brandt niet als de rode lamp brandt. Wanneer alle voorwaarden OK zijn (geen noodstop), maar er is nog niet gestart, gaat de groene lamp pulsen (halve seconde hoog, halve seconde laag). Met behulp van een potentiometer (analoge ingang) kan de transportband in snelheid ge- stuurd worden (analoge uitgang). Figuur 5.1: De transportband 5 Uitgewerkt Voorbeeldprogramma 59
  • 66. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT 5.3 Uitwerking Eerst en vooral moet er omgeschakeld worden naar het werkgebied “IEC Programming”. Met- een is duidelijk dat PC WorX conform de IEC 61131-3 norm opgebouwd is. In het venster “Pro- ject Tree Window” zijn er enkele duidelijke onderverdelingen terug te vinden. Figuur 5.2: Projectstructuur Er is een mapstructuur voor libraries, voor datatypes, voor POU’s en er is de Physical Hardware. Op figuur 5.2 is deze structuur afgebeeld. Onder “Physical Hardware” is de hoofdstructuur terug te vin- den. De STD_CNF (standaard configuratie) bestaat uit een STD_RES (standaard resource) welke hier de ILC 150 ETH is. Deze resource kan dan verschillende Tasks uitvoeren. Bij de opstart van een nieuw project is er telkens een “Main program” voorzien onder het mapje “Logical POU’s” welke geactiveerd is binnen de “Default task”. 5.3.1 Definiëren van de variabelen Vooreerst wordt er een onderscheid gemaakt tussen lokale en globale variabelen. • Lokale variabelen Lokale variabelen worden gedefinieerd op POU niveau. Deze variabelen kunnen enkel gebruikt worden binnen de POU waarin ze aangemaakt worden. Naast het gebruik van lokale variabelen als VAR kunnen lokale variabelen ook op een ander manier gebruikt worden. Hier wordt onderscheid gemaakt naargelang het type POU. Binnen een functie kunnen lokale variabelen als VAR_INPUT gedefinieerd worden. Deze zullen de ingangsparameters van de functie worden. Binnen een functiebouwsteen kunnen lokale variabelen als VAR_INPUT, VAR_OUTPUT en als VAR_IN_OUT. Via deze variabelen worden alle input- en outputparameters van de functiebouwsteen gedefinieerd. • Globale variabelen Globale variabelen worden gedefinieerd op project niveau. Deze variabelen kunnen over het volledige project afgevraagd of gemanipuleerd worden. Hier moet er onder- scheid gemaakt worden tussen systeem variabelen en user variabelen. 5 Uitgewerkt Voorbeeldprogramma 60
  • 67. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT – SYSTEM variabelen Systeem variabelen zijn voorgedefinieerde variabelen, afhankelijk van de gekozen controller, welke sowieso altijd beschikbaar zijn. Een lijst van alle systeemvariabe- len is terug te vinden onder het item “Global Variables” in de Project Tree Window, zie figuur 5.3. Figuur 5.3: Systeemvariabelen 5 Uitgewerkt Voorbeeldprogramma 61
  • 68. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT – USER variabelen Naast de systeemvariabelen zal de gebrui- ker ook een lijst met globale user variabelen. Deze kunnen beter onderverdeeld worden in verschillende groepen om dusdanig een goed overzicht te bewaren tussen alle globale va- riabelen. Daartoe kunnen nieuwe groepen aangemaakt worden onder het item “Global Variables”. Figuur 5.4: aanmaken groepen voor globale variabelen Klik op de lijn “System Variables”, rechtermuistoets en selecteer het item “Insert Group”. Op die manier kunnen betekenisvolle groepen aangemaakt. Maak 3 groe- pen aan met de volgende namen: ∗ Analoog ∗ Digitaal I/O ∗ Webvisit Figuur 5.5: Globale user variabelen indelen 5.3.2 Aanmaken van een nieuwe POU Het aanmaken van een nieuwe POU kan op twee manieren. Enerzijds links in de boomstruc- tuur met een rechtermuisklik op “Logical POUs” gevolgd door “Insert” en de gewenste POU. Anderzijds door bovenaan in de werkbalk rechtstreeks met de 4 aangeduide icons te werken. Er kan een keuze gemaakt worden tussen een nieuw programma ( ), een nieuwe functie- bouwsteen ( ) of een nieuwe functie ( ). 5 Uitgewerkt Voorbeeldprogramma 62
  • 69. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT Vervolgens moet de POU in het window “Insert” verder gespecificeerd worden. Eén van de vijf programmeertalen (conform de norm) moet gekozen worden voor de POU. Enkel in het geval van een functie moet een “Datatype” of “return value” geselecteerd worden, zie figuur 5.6. Figuur 5.6: Aanmaken van een functie die een boolean teruggeeft Per POU worden drie werkbladen aangemaakt: • NaamPOUT( ); Textveld: alles wat hierin genoteerd wordt, zal verschijnen bij het op- vragen van de help omtrent deze POU. • NaamPOUV( ): Veld voor het ingeven van variabelen • NaamPOU( , , , , ): Programmeerveld 5.3.3 Aanmaken van een nieuwe POU groep Een POU groep wordt gebruikt om een duidelijkere structuur te creëren in een (groot) pro- ject. Zo kunnen bv. alle programma’s, functies en functieblokken elk apart een groep krijgen, maar er kan bv. ook een groep aangemaakt worden voor een aantal functies en/of functie- blokken die een gemeenschappelijk doel hebben. Om een POU groep aan te maken wordt er met de rechtermuisknop geklikt op ’Logical POUs’, klik vervolgens op ’insert’ en ’POU group’ (zie figuur 5.7). 5 Uitgewerkt Voorbeeldprogramma 63
  • 70. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT Figuur 5.7: POU groep toevoegen In deze opdracht zullen er 2 POU groepen aangemaakt worden: • FBs • Programs Na het aanmaken van beide groepen kan het hoofdprogramma “Main” versleept worden naar de POU groep “Programs”. 5.3.4 Aanmaken van een variabele Binnen een POU moeten variabelen aangemaakt worden. Dit kan op verschillende manieren gebeuren: – Door te dubbelklikken op een ingangs- of uitgangsbolletje van een functiebouwsteen. – Via een rechtermuisklik ergens in het werkblad en te kiezen voor “Variable”. – Door de sneltoets ‘F5’ te gebruiken. In ieder geval verschijnt het “Variable Properties” venster. De variabele moet een naam krij- gen, een datatype en een scoop (local of global). Afhankelijk van de scoop kan de ‘usage’ geselecteerd worden, bijvoorbeeld VAR_INPUT voor een digitale ingang. De mogelijkheden zijn te zien in figuur 5.8. (a) Bij local scope (b) Bij global scope Figuur 5.8: Mogelijke ‘usage’ voor een variabele 5 Uitgewerkt Voorbeeldprogramma 64
  • 71. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT Opmerking: Indien het niet mogelijk is om de ‘Definition scope’ te wijzigen, moet de check- box ‘Show all variables of worksheets’ afgevinkt worden. Om een overzichtelijk project te verkrijgen worden alle variabelen ingedeeld in groepen: één groep voor input parameters, één voor output parameters. . . Deze groepen moeten aange- maakt worden in het variabelenveld van de POU ( ). De groepen worden standaard voor- zien, zelfs als deze niet gebruikt worden, zie figuur 5.9. De verschillende groepen zijn: – Input Parameters – Output Parameters – InOut Parameters – Local Parameters – External Variables – FB Instances Figuur 5.9: Indeling van variabelen in groepen Voor iedere variabele die aangemaakt wordt, kan in het “Variable Properties” venster inge- steld worden onder welke groep de variabele moet komen. Dit via ‘Local Variable Groups’, zie opnieuw figuur 5.8. 5.3.5 Aanmaken van een functieblok “Transportband” • De transportband wordt gemaakt in een functieblok. Om een nieuwe functieblok aan te maken, kies links bovenaan. • Selecteer de programmeertaal FBD ("Function Block Diagram") en stel bovenaan de gewenste bouwsteennaam in (hier: ‘Transportband’). 5 Uitgewerkt Voorbeeldprogramma 65
  • 72. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT Figuur 5.10: Nieuwe functieblok aanmaken • Bevestig met OK. De bouwsteen wordt aangemaakt. • Dubbelklik op . Maak daar de volgende groepen aan zoals in figuur 5.11: – Input Parameters – Output Parameters – InOut Parameters – Local Parameters – External Variables – FB Instances Figuur 5.11: Aanmaken van variabelengroepen • Open het werkblad van de functieblok door te dubbelklikken op • Nu kan het programma voor de transportband geschreven worden. • Voeg een ‘Set Reset’ in vanuit de Edit Wizard aan de rechterzijde: selecteer onder “Favorites” ‘RS’ en sleep het in het werkveld, wijzig de Instance van de bouwsteen naar 5 Uitgewerkt Voorbeeldprogramma 66
  • 73. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT “oRS_StartStop”, wijzig de Local Variable Group naar “FBs” en bevestig vervolgens met OK. Figuur 5.12 Figuur 5.13: Instance voor FB • Op dezelfde manier wordt een OR functie vanuit de Edit Wizard opgehaald. Let op het feit dat er voor de OR functie geen instance moet toegekend worden (verschil functie- bouwsteen en functie). Figuur 5.14: Transportband FBD • De uitgang van de OR functie wordt nu met de RESET1 ingang van de bouwsteen RS_StartStop verbonden. • Nu moeten enkel nog de lokale variabelen aangemaakt worden. Dit kan op 2 manieren gebeuren: – De variabele in- of uitgangen van een bouwsteen zijn gemakkelijk aan te maken door dubbel te klikken op het bolletje bij de in- of uitgang. 5 Uitgewerkt Voorbeeldprogramma 67
  • 74. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT – Klik op een plaats in het werkblad, klik rechtermuisknop en kies voor het item “Variable”. • In beide gevallen wordt het scherm zoals in figuur 5.15 weergegeven. Figuur 5.15: Lokale variabele aanmaken • Stel linksboven de gewenste naam in, bv.: i_xVeiligheidsrelais. • Kies als datatype Bool en kies bij het item “Usage” voor VAR_INPUT. • De scope voor deze “User Variable” staat ingesteld op local. • Kies bij “Local Variable Groups” voor Inputs. • Op dezelfde manier worden volgende variabelen gedeclareerd: Naam Data type Usage Scope Local Var. Groups Global Var. Groups i_xStart Bool VAR_INPUT Local Inputs i_xStop Bool VAR_INPUT Local Inputs i_xVeiligheidsrelaisBool VAR_INPUT Local Inputs q_xMotor Bool VAR_OUTPUT Local Outputs q_xRood Bool VAR_OUTPUT Local Outputs q_xGroen Bool VAR_OUTPUT Local Outputs Figuur 5.16 geeft de lijst weer na het invoegen van alle variabelen. 5 Uitgewerkt Voorbeeldprogramma 68
  • 75. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT Figuur 5.16: Lijst met variabelen van de functieblok “Transportband” Vooraleer de functieblok verder gebruikt kan worden moet deze eerst gecompi- leerd worden! Figuur 5.17: Compileer de functieblok 5.3.6 Het hoofdprogramma • In het werkblad “Main” kan de aangemaakte functie- bouwsteen opgevraagd worden. Voeg deze toe door in de “Edit Wizard” onder de programmanaam te dubbel- klikken op de functieblok ’Transportband’. Deze func- tiebouwsteen kan nu eventueel een tweede keer opge- vraagd worden om een tweede transportband voor te stellen. Figuur 5.18 • Nu moeten ook nog alle variabelen toegekend worden. De 8 digitale ingangen en de 4 digitale uitgangen on board van de ILC 131 ETH, zijn te vinden als systeem- variabelen. Dubbelklikken op het aansluitpunt (niet op de naam zelf) van de ingang i_xVeiligheidsrelais: 5 Uitgewerkt Voorbeeldprogramma 69
  • 76. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT Figuur 5.19: On-board input toevoegen • Kies voor Global, en via de selecttoets onder Name kan een keuze gemaakt worden tussen alle systeemvariabelen. Selecteer de ONBOARD_INPUT_BIT0. • Het programma kan nu als volgt worden afgewerkt: Figuur 5.20 Opmerking: Signalen kunnen geínverteerd worden door ter hoogte van de gewenste in- of uitgang van de functiebouwsteen, net buiten de functiebouwsteen te klikken met de rechtermuisknop. Dan kan ‘Toggle FP Negation’ geselecteerd worden. Daarnaast kan dit ook gebeuren door de in- of uitgang van de functiebouwsteen te selecteren en de sneltoets SHIFT+F5 te gebruiken. • Vergeet niet alles opnieuw te compileren! 5.3.7 Testen van het programma Het testen van het programma met de ILC 131 ETH kan tot slot gebeuren na het compileren downloaden (zie 4.6 op pagina 57) van het project. Met het icoon (Debug On/Off) kan het opsporen van fouten gestart worden. Onder elke variabele wordt nu zijn status of actuele waarde weergegeven. 5 Uitgewerkt Voorbeeldprogramma 70
  • 77. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT Door het schakelen van de derde schakelaar op de switchbox kan de transportband geac- tiveerd worden. De statusveranderingen kunnen nu zowel online als op de modules zelf worden teruggevonden. Figuur 5.21 5.3.8 Deel 2 Tijdens het tweede deel van de opdracht zal de knipperlichtfunctie van de groene lamp op- gebouwd worden. • Maak in de POU group “FBs” een nieuwe functieblok met de naam “AanUitpuls”. • Ga naar de lijst met variabelen en maak er opnieuw de groepen ‘Input Parameters’, ‘Output Parameters’, ‘InOut Parameters’, ‘Local Variables’, ‘External Variables’ en ‘FB instances’ aan. • Voeg een ‘On delay’ timer, een ‘Puls’ timer en een ‘AND’ functie in vanuit de Edit Wizard. Benoem deze respectievelijk TON_1 en TP_1. Voor de AND functie moet geen instance toegekend worden. • Uiteindelijk moet alles aan elkaar verbonden worden tot de volgende functionaliteit bekomen wordt: – Let wel: Het ingangssignaal van de timer-on-delay dient geínverteerd te worden. Dit kan door te dubbelklikken op de ingang van de functiebouwsteen en het vakje “negated” aan te vinken. Figuur 5.22 • Maak de variabelen aan: 5 Uitgewerkt Voorbeeldprogramma 71
  • 78. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT Naam Data type Usage Scope Local Var. Groups Global Var. Groups i_tTotalePulsTijd Time VAR_INPUT Local Inputs i_tPulsAanTijd Time VAR_INPUT Local Inputs i_xEnable Bool VAR_INPUT Local Inputs q_xPuls Bool VAR_OUTPUT Local Outputs • Compileer de functieblok! • Open het werkblad van de functieblok ‘Transportband’ • Voeg daar de functiebouwsteen ‘AanUitpuls’ toe via de ‘Edit Wizard’. • Vervolledig het programma als volgt: Figuur 5.23 • Compileer en dowload het project. • Test het project m.b.v. de ILC 131 ETH. 5 Uitgewerkt Voorbeeldprogramma 72
  • 79. 6 Ladder 6.1 Voorbeeld: Transportband Om de programmeertaal Ladder Diagram uit te leggen wordt er gewerkt met de basisoefe- ning ‘Transportband’. • Maak een nieuwe functieblok aan, selecteer de programmeertaal LD (“Ladder Dia- gram”) en stel bovenaan de gewenste bouwsteennaam in (hier: ‘Transportband_LD’). Figuur 6.1: Aanmaken functieblok in LD • Bevestig met OK. De bouwsteen wordt aangemaakt. • Dubbelklik op . Maak daar de volgende 4 groepen aan: – Inputs – Outputs – Locals – FBs • Open het werkblad van de functieblok door te dubbelklikken op • Nu kan het programma voor de transportband in Ladder Diagram geschreven worden. 6 Ladder 73
  • 80. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT • Voeg een nieuw netwerk in via: Figuur 6.2: Werkbalk LD • Voeg een ‘Set Reset’ in vanuit de Edit Wizard aan de rechterzijde: selecteer onder “Favorites” ‘RS’ en sleep het in het zojuist aangemaakte netwerk, wijzig de Instance van de bouwsteen naar “RS_StartStop”, wijzig de Local Variable Group naar “FBs” en bevestig vervolgens met OK. Figuur 6.3 • Klik in de bouwsteen ‘RS_StartStop’ op ‘Reset1’. En klik dan op het icoontje ‘Contact left’. Contact ‘C002’ komt dan te voorschijn zoals op figuur 6.4. Figuur 6.4 • Verbind het begin van ’COO2’ met powerrail ’001’. • Er zijn echter 2 variabelen die de ingang ‘Reset1’ kunnen manipuleren. In Ladder Dia- gram wordt een OR-functie voorgesteld als een parallele weergaven van contacten. Bij een AND-functie is dit in serie. Voeg nu parallel met ‘C002’ een nieuw contact in. 6 Ladder 74
  • 81. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT Figuur 6.5 • Doe hetzelfde over coil ‘C001’. Hier worden dus twee uitgangen voorgesteld. • Nu moeten enkel nog de variabelen gedeclareerd worden. Dit gebeurt door op het contact of de coil te klikken. Ga nu als volgt te werk voor het declareren van bv. ‘COO0’: Figuur 6.6: Invoegen variabele – Stel linksboven de gewenste naam in, bv.: i_xStart. – Kies als datatype Bool en kies bij het item “Usage” voor VAR_INPUT. – De scope voor deze “User Variable” staat ingesteld op local. – Kies bij “Local Variable Groups” voor Inputs. – Kies onderaan voor ‘Contact’. – Het type mag ongewijzigd blijven. • Voeg een tweede netwerk toe en zorg ervoor dat uiteindelijk figuur 6.7 bekomen wordt. 6 Ladder 75
  • 82. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT Figuur 6.7: Uiteindelijk resultaat 6 Ladder 76
  • 83. 7 Structured Text 7.1 Voorbeeld: Transportband • Maak een nieuwe functieblok aan volgens figuur7.1, selecteer de programmeertaal ST (“Structured Text”) en stel bovenaan de gewenste bouwsteennaam in (hier: ‘Transport- band_ST’). Figuur 7.1: Aanmaken nieuwe functieblok • Bevestig met OK. De bouwsteen wordt aangemaakt. • Dubbelklik op . Maak daar de volgende 4 groepen aan: Inputs, Outputs, Locals en FBs • Open het werkblad van de functieblok door te dubbelklikken op • Nu kan het programma voor de transportband in Structured Text geschreven worden. • Voeg een ‘Set Reset’ in vanuit de Edit Wizard aan de rechterzijde: selecteer onder “Favorites” ’RS’ en sleep het in het werkveld, wijzig de Instance van de bouwsteen naar “oRS_StartStop”, wijzig de Local Variable Group naar “FBs” en bevestig vervolgens met OK. • De lokale variabelen moeten ingevuld worden op de plaatsen waar er (* BOOL *) staat. Dit wordt als volgt gedaan: 7 Structured Text 77
  • 84. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT – Typ de gewenste variabele(n) in. Selecteer de variabele, rechtermuisklik en klik op ‘Variabele’. Het volgende scherm komt te voorschijn: Figuur 7.2: Variabel properties – Laat de naam ongewijzigd. In dit geval is dit dus i_xStart. – Kies als datatype Bool en kies bij het item “Usage” voor VAR_INPUT. – De scope voor deze “User Variable” staat ingesteld op local. – Kies bij “Local Variable Groups” voor Inputs. • Doe nu hetzelfde voor de andere variabelen en vervolledig als volgt: Figuur 7.3: Functieblok Transportband in ST • Vergeet niet iedere regel code met ‘;’ af te sluiten! 7 Structured Text 78
  • 85. 8 WebVisit 8.1 Inleiding WebVisit is een softwarepakket dat mee geínstalleerd wordt tijdens het installeren van PC WorX. Met behulp van deze software kan op een grafische manier een webpagina aange- maakt worden en gedownload worden naar de ILC. Op deze manier kunnen globale variabe- len van het programma worden gevisualiseerd en gemanipuleerd. De methode om een variabele in een WebVisit toepassing te gaan gebruiken bestaat er ener- zijds in de variabele als een VAR_GLOBAL te declareren. Anderzijds moet ook de “PPD check- box” aangevinkt worden waardoor in het programma vastgelegd wordt dat de variabele te benaderen is vanaf de webpagina (zie figuur 8.1). Figuur 8.1: PDD optie aanvinken Een overzicht van alle globale in- en uitgangen, welke als PDD aangevinkt zijn, is ook te vinden bij de lijst “Global_Variables” (links in het ‘Project Tree Window’). Figuur 8.2: PDD controleren in “Global_Variables”-lijst Om nu een WebVisit toepassing te maken met de transportband moet het programma aan- 8 WebVisit 79
  • 86. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT gepast worden zoals in figuur 8.3: een OR- poort wordt bij iedere ingang toegevoegd, iedere keer wordt een nieuwe globale variabele aangemaakt. Bij iedere variabel moet de optie PDD aangevinkt worden. Op die manier kan de transportband bediend worden met zowel de ana- loge als de digitale schakelaars via WebVisit. Ook moet er bij elke “ONBOARD_INPUT_BITx” en “ONBOARD_OUTPUT_BITx” PDD aangevinkt worden. Figuur 8.3: Main programma voor de transportband Tijdens het compileren van een PC WorX project wordt er door de software steeds een “PDD.CSV” bestand gegenereerd. Dit bestand bevat een lijst met de variabelennamen die vanuit de web- pagina kunnen benaderd worden. Figuur 8.4: CSV-file van alle weer te geven PDD-variabelen Figuur 8.4 toont een voorbeeld van een dergelijk bestand. Wanneer Microsoft Office op de PC genstalleerd is zal dit bestand (met extensie .CSV) geopend kunnen worden in Excel. Het PDD.CSV bestand is terug te vinden in de map horende bij het PC WorX project. PC WorX maakt namelijk voor elk project een map aan met dezelfde naam als het PC WorX project en plaatst deze map op dezelfde locatie (directory) als het project zelf. In deze map is het PDD.CSV bestand terug te vinden onder: Locatie van het project...ProjectnaamCSTD_CNFRSTD_RES 8 WebVisit 80
  • 87. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT 8.2 Een project uitwerken in WebVisit Start de WebVisit software via “Start → Programma’s → Phoenix Contact → AUTOMATION- WORX Software suite 2013 1.81 → WebVisit 6.21.xx” 8.2.1 Een nieuw project aanmaken – Sluit eventuele openstaande projecten af door onder “File” voor “Close project” te kie- zen. – Een nieuw project aanmaken gebeurt door in het beginscherm op “New Project” te klikken of onder “File”, “New Project. . . ” te kiezen. In de 7 stappen moet een naam ge- kozen worden voor het project en een locatie, vervolgens enkele grafische instellingen en andere opties. Deze kunnen later nog aangepast worden. – Na het afronden van de ‘New Project’-wizard moeten de belangrijke instellingen gebeu- ren. Bovenaan kan via “Project → Project Configurations” en te klikken op het tabblad ‘Project Advanced’ het venster uit figuur 8.5 geopend worden. Figuur 8.5: PCWorx project + PPO lijst instellen Het is belangrijk om in te stellen met welk PC WorX project zal gecommuniceerd worden, en welke het daarbij horende “PDD.CSV” bestand is. Onder PPO Variable List moet het pad naar het PCWorX project (.mwt bestand) ingesteld wordt, het bijhorende PDD.CSV bestand zal automatisch opgezocht en ingesteld worden door de WebVisit software. 8 WebVisit 81
  • 88. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT – In het tabblad ‘Runtime Configurations’ onder de ‘Project Configurations’ kan de ‘Client Technology’ ingesteld worden, zie figuur 8.6. Tot voor kort was enkel Java mogelijk, wat problemen gaf voor systemen waarop Java niet geïnstalleerd is. Met de nieuwe ILC 1x1-reeks kan vanaf firmwareversie 4.30 ook gekozen worden voor HTML5, wat geen bijkomende software vereist en daarom ideaal is voor visualisaties op tablets en dergelijke. Figuur 8.6: Kiezen van de client technology Het verdere verloop van deze WebVisit cursus is gebaseerd op de eerder aangemaakte oe- fening. Het is de bedoeling een webpagina aan te maken waarmee de transportband kan gestart en gestopt worden. Ook de transportband zelf wordt op deze pagina gevisualiseerd. Het geheel wordt gecontroleerd door een hoofdpagina van waaruit de andere pagina’s opge- roepen kunnen worden. 8.2.2 Een nieuwe webpagina aanmaken Een nieuwe webpagina (xxx.teq) invoegen gebeurt als volgt: 8 WebVisit 82
  • 89. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT Figuur 8.7: Nieuwe webpagina aanmaken • Geef de eerste pagina bijvoorbeeld de naam ‘Transportband’. • Selecteer de zopas aangemaakte pagina “Transportband.teq” links onder ‘Project Files’. • Een object toevoegen op de pagina kan door het gewenste object te selecteren in de ‘painters gallery’ (te vinden zowel rechts in de sidebalk, zie figuur 8.8, als boven in de toolbar) en vervolgens op het werkvlak te klikken. De positie en grootte van het object kunnen aangepast worden. Figuur 8.8: Painters gallery • Voeg in het venster 4 buttons en 2 cirkels toe zoals in figuur 8.9: 8 WebVisit 83
  • 90. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT Figuur 8.9 • Dubbelklik op de bovenste button om de eigenschappen te bekomen. Dit wordt de startknop. De belangrijkste basiseigenschappen uit het “Properties”-venster zijn: – General: algemene lay-out instellingen voor het object zoals grootte, positie, kleur, font voor tekst. . . – Repaints: instellingen voor data die op het object weergegeven moeten worden. Zo kan per conditie een andere tekst verschijnen op een button. . . – Actions: specifieke instellingen per object. Voor een button zijn dit: ∗ Actions Set Variables: enkel voor een button. Met dit kan een toestand van een variabele veranderd worden naargelang de knop ingedrukt is of niet. ∗ Actions Toggle Increment Variables: enkel voor een button. Met ‘Toggle’ kan een variabele hoog en laag gezet worden met een muisklik. Increment zorgt voor een verhoging van een variabele per muisklik. ∗ Actions Jump: enkel voor een button. Om te navigeren tussen verschillende webpagina’s. – Border Advanced: mogelijkheid om per conditie een ander kleur te geven aan het object via vb. 2-kleurenmode. – Hide-Disable: conditioneel kan een object verschijnen of vervagen. • Figuur 8.10 toont dat onder “Repaints” de tekst op de drukknop gewijzigd kan worden. 8 WebVisit 84
  • 91. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT Figuur 8.10 • Nu moet er ingesteld worden wat er gebeurt bij de bediening van de startdrukknop. De werking van de schakelaar wordt opgevat als een ‘Mouse Down/Up’ functie. Dit betekent dat de ingang ‘1’ wordt bij het indrukken van de knop en terug ‘0’ bij het loslaten ervan. • Vink hiervoor onder ‘Actions Set Variables’ zowel de ‘Set Var On Mouse Down’ als ‘Set Var on Mouse Up’ optie aan. Kies bij beiden voor het type ‘PPO’ en selecteer als naam “@GV.IN_xWebStart” (zie figuur 8.11). Een ‘PPO’ (Process POint) is een plc-variabele die zichtbaar gemaakt wordt op de webpagina. Stel ‘Value = 1’ bij ‘Set Var On Mouse Down’ en ‘Value = 0’ bij ‘Set Var On Mouse Up’. • Doe hetzelfde voor de tweede button. Dit wordt de stopknop, dus de gekozen ‘PPO’ wordt in dit geval “@GV.IN_xWebStop”. • De derde en kleinste button wordt de noodknop. In tegenstelling tot de start -en stop- knoppen moet deze knop ingedrukt blijven bij het loslaten van de muis. Er wordt ge- bruik gemaakt van de ‘Toggle’ functie. Dit betekent dat de noodstop ingeschakeld wordt 8 WebVisit 85
  • 92. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT (a) PPO instellen (b) Muisactie instellen Figuur 8.11: Bediening startknop instellen bij een eerste maal klikken op de drukknop. Een tweede maal klikken op dezelfde knop schakelt de noodstop terug uit. Figuur 8.12: Toggle instellen • Het koppelen van de bovenste cirkel met de variabele “ONBOARD_OUTPUT_BIT1” zodat deze de groene lamp voorstelt, gebeurt onder de optie ‘Boarder Advanced’. Daar kan de binnenkleur van de cirkel veranderd worden afhankelijk van de toestand van de plc- variabele. Indien de variabele laag (==0) is, zal ‘Color1’ aangenomen worden. Is de variabele hoog (==1), zal ‘Color2’ gebruikt worden, zie figuur 8.13. • Doe nu hetzelfde voor de onderste cirkel die de rode lamp voorstelt. • Om de werking van de motor te visualiseren wordt een tweede webpagina aangemaakt. Klik dus opnieuw op ‘Project’ → ‘Add to project’ → ‘New...’ en geef de pagina de naam “Motor.teq”. 8 WebVisit 86
  • 93. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT Figuur 8.13: Kleur veranderen in ‘Border Advanced’ eigenschappen • De motor wordt voorgesteld als een grote cirkel die rood is als de transportband stil ligt en groen is als de motor van de transportband werkt. Dit wordt opnieuw ingesteld via ‘Border Advanced’, zie figuur 8.14: • Als de noodstop ingedrukt is (dus als de rode lamp brandt) moet de tekst “Noodstop is ingedrukt!” verschijnen. Dit wordt gedaan door gebruik te maken van de ‘hide’ optie, zie figuur 8.15: Figuur 8.15: Tekst conditioneel zichtbaar maken • Het moet het ook mogelijk zijn om te navigeren tussen de verschillende webpagina’s. 8 WebVisit 87
  • 94. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT Figuur 8.14: Conditioneel tussen 2 kleuren switchen Hiervoor wordt op deze pagina een button toegevoegd met de tekst “Terug”. De link terug naar de vorige pagina kan zeer eenvoudig ingesteld worden onder ‘Actions Jump’ door de optie ‘Back Jump’ aan te selecteren, zie figuur 8.16. Figuur 8.16: Jump actie naar vorige pagina instellen • Ga nu terug naar het scherm ‘Transportband.teq’, selecteer de overgebleven button en geef deze de naam ‘Transportband’. Deze drukknop moet naar het scherm van de motor leiden. Onder ‘Actions Jump’ kan de pagina ingesteld worden waarnaar omge- schakeld moet worden. Figuur 8.17 toont hoe dit moet. 8 WebVisit 88
  • 95. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT Figuur 8.17: Jump actie naar specifieke pagina instellen Tot slot dient nog 1 instelling te gebeuren om er voor te zorgen dat de ‘Transportband.teq’ wel degelijk als startpagina wordt weergegeven. Via ‘Projects → Project Configurations → Applet Advanced’ wordt het venster zoals in figuur 8.18 terug opgeroepen. Hierin kan de “Main TEQ” ingesteld worden. Geef hiervoor ‘Transportband.teq’ in zodat dit de startpagina wordt bij het surfen naar de ILC. Figuur 8.18: Startpagina instellen Let ook op de instelling ‘period’. Standaard staat dit ingesteld op 1000ms wat betekent dat elke seconde het beeld van de webpagina geüpdate wordt. Bij het visualiseren van een knip- perlicht van 1Hz is dit uiteraard te traag. Daarom zal deze parameter moeten verlaagd wor- den tot bijvoorbeeld 50ms om een snellere en meer correcte weergave van het knipperlicht te bekomen. 8.2.3 Compileren van het project Net als in PC WorX moet een project gecompileerd worden, of met andere woorden, alle gemaakte instellingen moeten worden vertaald naar HTML code. Dit kan uitgevoerd worden onder ‘Project’ → ‘Build All’ ( ). Een simulatie van de webpagina’s kan opgeroepen worden via de simulatieknop ( ). De interactie met de plc blijft in simulatiemode achterwege. 8 WebVisit 89
  • 96. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT 8.2.4 Downloaden van het project Nu de HTML pagina aangemaakt is kan het project gedownload worden. Om het project naar de ILC 131 ETH te downloaden wordt gebruik gemaakt van de ftp-server van de ILC, zie figuur 8.19: • Roep het downloadvenster op: Figuur 8.19: Downloaden via ftp-server van de ILC • Geeft het IP-adres van de ILC (192.168.0.11) in en druk op “Connect”, zie figuur 8.20. Figuur 8.20: Connectie maken met de plc • De verbinding wordt tot stand gebracht en door een druk op de knop “Download pro- ject” wordt het project gedownload. Figuur 8.21: Downloaden naar de plc • Het oproepen van de webpagina kan nu gebeuren door in een webbrowser (bijvoorbeeld Internet Explorer) het IP-adres van de ILC in te stellen. 8 WebVisit 90
  • 97. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT 8.3 Uitbreiding 8.3.1 Figuur invoegen • Selecteer de optie ‘image’ in de ‘Painters Gallery’. • Kies in het werkgebied de plaats uit waar de afbeelding moet komen. • Figuur 8.22 toont dat onder “Repaints” een figuur die opgeslagen staat op de computer ingevoegd kan worden. Als “Adjust Image” aangevinkt wordt, kan de figuur verschaald worden naar eigen wens. Dit kan gebeuren door de hoogte en de breedte van de figuur in te stellen via het properties menu of door het formaat van de figuur aan te passen door de hoekpunten te verslepen. Figuur 8.22 8.3.2 Background en Foreground TEQ • Maak 2 nieuwe webpagina’s aan (de uitleg hierover is terug te vinden op pagina 82) en geef deze de naam “Knoppenbalk.teq” en “Settings.teq”. • Open de pagina “Knoppenbalk.teq” en voeg onderaan de pagina 3 buttons toe, nl. “Transportband”, “Motor” en “Settings”. Figuur 8.23 • Deze knoppen dienen een jump actie uit te voeren naar hun bijhorende pagina. Stel deze jump acties bij alle 3 de knoppen in. • Het is de bedoeling dat deze pagina de achtergrond (background) wordt van iedere pagina. Stel via ‘Project’ → ‘Project Configurations’ in het ‘View Configurations’-tabblad “Knoppenbalk.teq” in als ‘Background TEQ’ zoals in figuur 8.24 weergegeven wordt. 8 WebVisit 91
  • 98. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT Figuur 8.24: Background instellen voor een project Opmerking: De ingestelde achtergrondpagina wordt enkel toegevoegd bij nieuwe webpagina’s (pagina’s aangemaakt nadat de achtergrond ingesteld is zoals hierboven). Voor reeds bestaande pagina’s moet de achtergrond apart toegevoegd worden. Zorg dat de pagina actief is en stel dan via ‘Project’ → ‘Teq view configurations’, de ‘Back- ground view’ in, zie figuur 8.25. Figuur 8.25: Background instellen per view 8 WebVisit 92
  • 99. 9 Analoge signaalverwerking met de ILC 9.1 Functiebouwsteen voor analoge signaalverwerking Om het toekennen van procesdata en het gebruik van analoge in- en uitgangen toe te lichten wordt een tweede functionaliteit voorzien in het bestaande project. Hiervoor wordt opnieuw een functieblok aangemaakt met de naam ’Analog_In_Out’. Bedoeling is om de analoge ingang (potentiometer) door te koppelen naar de analoge uitgang (LED bar graph). • Dit programma kan heel eenvoudig zijn: Figuur 9.1 • Oproep van deze functiebouwsteen in het programma ’Main’: Figuur 9.2 • Er moeten nu twee variabelen aangemaakt worden om te linken aan de werkelijke fy- sische IO. Deze worden op de volgende manier gedeclareerd, en worden onder ’Project Variables’ geplaatst. 9 Analoge signaalverwerking met de ILC 93
  • 100. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT Figuur 9.3: Aanmaken in- en outputvariabele • Uiteindelijk wordt volgend programma bekomen volgens figuur 9.4: Figuur 9.4: Uindelijk programma met in- en uitgangsvariabelen • Via “process data workspace” kunnen deze variabelen aan de fysische IO gekoppeld worden. In deze werkomgeving is er de onderverdeling met links de softwarevariabelen en rechts de hardwarevariabelen. • Onder de groep “Analoog” staan de zopas aangemaakte variabelen. • Rechts staan alle gebruikte in- en uitgangsmodules. De variabelen worden gekoppeld door ze naar de desbetreffende module te slepen. Voor “IN_wPotentiometer1” kies “AI 1 Voltage”. “OUT_wLedBar1” wordt gelinkt aan “1.1.1 Output Voltage”. Dit programma kan nu getest worden. Na het testen blijkt dat er een probleem is. Slechts de halve range van de ledbar wordt gebruikt. Het probleem ontstaat omdat het proceswoord gekoppeld aan de ingangs- en uit- gangsmodule op een verschillende manier gebruikt wordt. Om dit op te lossen worden de proceswoorden van naderbij bekeken. 9.1.1 De analoge ingangsmodules • De analoge ingangsmodules gebruiken een tekenbit: 9 Analoge signaalverwerking met de ILC 94
  • 101. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT Figuur 9.5: Proceswoord ingangsmodule • De potentiometer biedt een stroomsignaal aan tussen 0 en 20mA. Uit tabel 9.1 valt af te leiden dat dit door de analoge inputmodule wordt vertaald naar een inputrange tussen 0 en 30000. Tabel 9.1: Omzetfactor analoge signaalverwerking 9.1.2 De analoge uitgangsmodule • De analoge uitgangsbit gebruikt geen tekenbit. Hierdoor kan een extra bit gebruikt worden om nuttige data te verzenden. Figuur 9.6: Proceswoord uitgansmodule • De analoge outputrange wordt voor deze module vertaald naar een waarde tussen 0 en 65535. (=216) De waarde moet van de range van 0 tot 30000 aangepast worden naar een range tussen 0 tot 65535. Daarom moet de waarde van de analoge ingangskaart vermenigvuldigd worden met een schalingsfactor van 65635 gedeeld door 30000, zijnde 2,1845. Daarom wordt de functiebouwsteen als volgt aangepast: 9 Analoge signaalverwerking met de ILC 95
  • 102. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT Figuur 9.7 9 Analoge signaalverwerking met de ILC 96
  • 103. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT 9.2 Functie De zopas uitgevoerde opdracht is louter datamanipulatie. Hiervoor kan i.p.v. een functie- bouwsteen ook gewoon een functie gebruikt worden. Voeg een functie toe, kies een naam en een programmeertaal. Let op het feit dat de func- tienaam een variabele is en er dus ook een datatype moet toegekend worden. Dit datatype komt overeen met de enige uitgang van de functie. Figuur 9.8: Functie toevoegen De functie in ST wordt dan de volgende code: AnaloogInUit := real_to_word(word_to_real(i_wAnaloogIn) ∗ 2, 1845)); Het programma kan nu gecompileerd en gedownload worden. 9 Analoge signaalverwerking met de ILC 97
  • 104. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT 9.3 Watch Window Figuur 9.9 Een andere handige mogelijkheid om uw programma op te vol- gen is het Watch Window. Eens online kan iedere variabele aan het Watch Window toe- gevoegd worden. Klik in de programmeeromgeving op een variabele, rechter- muistoets en dan kiezen voor het item “Add to Watch Window”. Figuur 9.10 Een andere manier is via het werkblad vari- abelen van een bepaalde functieblok, func- tie of programma: klikken op een variabele, rechtermuistoets en kiezen voor het item “Add to Watch Window”. Activeer het “watch window” via volgend icoon . Figuur 9.11: Watch window 9 Analoge signaalverwerking met de ILC 98
  • 105. IT Powered Automation: multifunctionele besturingen PHOENIX CONTACT 9.4 Opdracht temperatuursmeting De potentiometer wordt in de volgende opdracht beschouwd als een temperatuurssensor welke een temperatuursrange van -50.0 tot +100.0◦C omzet naar een analoge spanning van 0 tot 10V. Gevraagd wordt om een functiebouwsteen te schrijven welke volgende outputparameters levert: • De temperatuur in graden Celsius. • Een warninguitgang indien de temperatuur kleiner is dan -10.0◦C en groter is dan -20.0◦ C of indien de temperatuur groter wordt dan een warning temperatuursgrens welke als inputparameter wordt meegegeven en kleiner is dan een alarm temperatuurgrens welke als inputparameter wordt meegegeven. • Een alarmuitgang indien de temperatuur kleiner is dan -20.0◦C of indien de tempera- tuur groter wordt dan een alarm temperatuursgrens die als inputparameter meegeven wordt. Verder moet er nagegaan worden indien de inputparameters correct ingegeven worden. Hier- bij moet de warninggrens kleiner zijn dan de alarmgrens. Indien dit niet zo is wordt de warninggrens op 40.0◦C geplaatst en zal de alarmgrens op 60.0◦C geplaatst worden. Deze opdracht wordt uitgewerkt in FBD en/of ST. Het resultaat wordt een functiebouwsteen waarbij de oproep ervan volgend resultaat heeft. Figuur 9.12: Functiebouwsteen temperatuursopvolging Bestuur het resultaat en ga na waarom er hier gebruik gemaakt wordt van VAR_INOUT para- meters. 9 Analoge signaalverwerking met de ILC 99