Cursus ILC 150 ETH V1_50 NL.pdf

86
I Inhoud Inhoud ...................................................................................................................................................... I 1 Beschrijving van de hardware ......................................................................................................... 1 1.1 Structuur van de starterkit ...................................................................................................... 1 1.2 Bekabeling van de starterkit ................................................................................................... 2 1.3 Omtrent de ILC 150 ETH .......................................................................................................... 3 2 Installeren van PC WorX .................................................................................................................. 4 2.1 Installatie van de software ...................................................................................................... 4 2.1.1 Starten van het PC WorX installatie programma ............................................................ 4 2.1.2 Starten van PC WorX ....................................................................................................... 4 2.2 Activeren van de PC WorX basislicentie .................................................................................. 5 3 Algemene informatie omtrent PC WorX ......................................................................................... 6 3.1 Enkele belangrijke icons uit de Toolbar .................................................................................. 6 3.2 Werkgebieden ......................................................................................................................... 7 3.2.1 Werkgebied “IEC programming” ..................................................................................... 7 3.2.2 Werkgebied “Bus configuratie” ....................................................................................... 9 3.2.3 Werkgebied “Process data assignment” ....................................................................... 10 3.3 Compileren en downloaden .................................................................................................... 10 4 De IEC 611313 .............................................................................................................................. 12 4.1 Inleiding ................................................................................................................................. 12 4.2 Structuur van een applicatie volgens de IEC 611313 norm ................................................. 12 4.3 POU’s ..................................................................................................................................... 14 4.3.1 Functies ......................................................................................................................... 14 4.3.2 Functiebouwstenen ....................................................................................................... 15 4.3.3 Programma’s ................................................................................................................. 16 4.4 Datatypes............................................................................................................................... 17 4.4.1 Algemene datatypes ...................................................................................................... 17 4.4.2 Array .............................................................................................................................. 18 4.4.3 Struct ............................................................................................................................. 20 4.4.4 String ............................................................................................................................. 20 4.5 Structured Text ...................................................................................................................... 21 4.5.1 Selectie statements ....................................................................................................... 21 4.5.2 Iteratie statements ........................................................................................................ 22

Transcript of Cursus ILC 150 ETH V1_50 NL.pdf

Page 1: Cursus ILC 150 ETH V1_50 NL.pdf

      I 

Inhoud Inhoud ...................................................................................................................................................... I 

1  Beschrijving van de hardware ......................................................................................................... 1 

1.1  Structuur van de starterkit ...................................................................................................... 1 

1.2  Bekabeling  van de starterkit ................................................................................................... 2 

1.3  Omtrent de ILC 150 ETH .......................................................................................................... 3 

2  Installeren van PC WorX .................................................................................................................. 4 

2.1  Installatie van de software ...................................................................................................... 4 

2.1.1  Starten van het PC WorX installatie programma ............................................................ 4 

2.1.2  Starten van PC WorX ....................................................................................................... 4 

2.2  Activeren van de PC WorX basislicentie .................................................................................. 5 

3  Algemene informatie omtrent PC WorX ......................................................................................... 6 

3.1  Enkele belangrijke icons uit de Toolbar .................................................................................. 6 

3.2  Werkgebieden ......................................................................................................................... 7 

3.2.1  Werkgebied “IEC programming” ..................................................................................... 7 

3.2.2  Werkgebied “Bus configuratie” ....................................................................................... 9 

3.2.3  Werkgebied “Process data assignment” ....................................................................... 10 

3.3 Compileren en downloaden .................................................................................................... 10 

4  De IEC 61131‐3 .............................................................................................................................. 12 

4.1  Inleiding ................................................................................................................................. 12 

4.2  Structuur van een applicatie volgens de IEC 61131‐3 norm ................................................. 12 

4.3  POU’s ..................................................................................................................................... 14 

4.3.1  Functies ......................................................................................................................... 14 

4.3.2  Functiebouwstenen ....................................................................................................... 15 

4.3.3  Programma’s ................................................................................................................. 16 

4.4  Datatypes............................................................................................................................... 17 

4.4.1  Algemene datatypes ...................................................................................................... 17 

4.4.2  Array .............................................................................................................................. 18 

4.4.3  Struct ............................................................................................................................. 20 

4.4.4  String ............................................................................................................................. 20 

4.5  Structured Text ...................................................................................................................... 21 

4.5.1  Selectie statements ....................................................................................................... 21 

4.5.2  Iteratie statements ........................................................................................................ 22 

Page 2: Cursus ILC 150 ETH V1_50 NL.pdf

      II 

5  Aanmaken van een project ........................................................................................................... 23 

5.1  Overzicht ............................................................................................................................... 23 

5.2  Nieuw project openen ........................................................................................................... 24 

5.3  Structuur nieuw project conform de IEC 61131‐3 ................................................................ 25 

5.4  Aanpassen van de projectinformatie .................................................................................... 26 

5.5  IP configuratie van uw PC ...................................................................................................... 27 

5.6  IP configuratie van de controller ........................................................................................... 29 

5.6.1  Algemeen ....................................................................................................................... 29 

5.6.2  Aanpassen IP‐adres via de BootP Server ....................................................................... 30 

5.7  De INTERBUS configuratie ..................................................................................................... 32 

5.8  Compileren en downloaden .................................................................................................. 34 

6  Uitgewerkt voorbeeldprogramma ................................................................................................ 35 

6.1  Inleiding ................................................................................................................................. 35 

6.2  Opdrachtomschrijving ........................................................................................................... 35 

6.3  Uitwerking ............................................................................................................................. 35 

6.3.1  Definiëren van de variabelen ........................................................................................ 36 

6.3.2  Aanmaken van een nieuwe POU ................................................................................... 38 

6.3.3  Aanmaken van een functieblok “Knipperlicht” ............................................................. 39 

6.3.4  Het hoofdprogramma .................................................................................................... 42 

6.3.5  Testen van het programma ........................................................................................... 44 

7  Analoge signaalverwerking ........................................................................................................... 45 

7.1  Functiebouwsteen voor analoge signaalverwerking ............................................................. 45 

7.2  Functie ................................................................................................................................... 48 

7.3  Watch Window ...................................................................................................................... 49 

7.4  Opdracht temperatuursmeting ............................................................................................. 50 

8  Webvisit ......................................................................................................................................... 53 

8.1  Inleiding ................................................................................................................................. 53 

8.2  Starten van de visualisatie ..................................................................................................... 54 

8.3  Een project uitwerken in WebVisit ........................................................................................ 55 

8.3.1  Een nieuw project aanmaken ........................................................................................ 55 

8.3.2  Een nieuwe webpagina aanmaken ................................................................................ 56 

8.3.3  Compileren van het project ........................................................................................... 62 

8.3.4  Downloaden van het project ......................................................................................... 63 

Temporary Internet Files ............................................................................................................... 64 

Page 3: Cursus ILC 150 ETH V1_50 NL.pdf

      III 

9  Tips & Trics .................................................................................................................................... 65 

9.1  Schermbeheer ....................................................................................................................... 65 

9.2  Beheer van variabelen ........................................................................................................... 65 

10  Opdrachten ................................................................................................................................ 67 

10.1  Een alarmsysteem ................................................................................................................. 67 

10.2  Openen van een sectionaal poort ......................................................................................... 69 

10.3  Temperatuursopvolging ........................................................................................................ 72 

10.4  Sequentieel programmeren in ST: de rolkraan ..................................................................... 73 

10.5  Tapijtoproller ......................................................................................................................... 74 

10.6  Voorbeeld in ST met array’s en structuren ........................................................................... 80 

Page 4: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Beschrijving van de

 hardw

are 

1  

 

1 Beschrijving van de hardware  

1.1 Structuur van de starterkit  

 

   

Figuur 1‐1 Opbouw van de starterkit 

Page 5: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Beschrijving van de

 hardw

are 

2  

1.2 Bekabeling  van de starterkit  

Module  I/O  Signaalpunt  Variabele ILC 150 ETH  Input I1 

Input I2 Input I3 Input I4 Input I5 Input I6 Input I7 Input I8 

Connector 3, aansluitpunt 1.1 Connector 3, aansluitpunt 2.1 Connector 3, aansluitpunt 1.4 Connector 3, aansluitpunt 2.4 Connector 4, aansluitpunt 3.1 Connector 4, aansluitpunt 4.1 Connector 4, aansluitpunt 3.4 Connector 4, aansluitpunt 4.4 

ONBOARD_INPUT_BIT0ONBOARD_INPUT_BIT1ONBOARD_INPUT_BIT2ONBOARD_INPUT_BIT3ONBOARD_INPUT_BIT4ONBOARD_INPUT_BIT5ONBOARD_INPUT_BIT6ONBOARD_INPUT_BIT7 

IB IL AO 1/U/SF‐PAC  Output O1  Connector 5, aansluitpunt 1.1  Output_Analoog IB IL AI 2/SF‐ME  Input I9  Connector 6, aansluitpunt 1.1  Input_Analoog 

   

Figuur 1‐2 Bekabeling van de starterkit 

Page 6: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Beschrijving van de

 hardw

are 

3  

1.3 Omtrent de ILC 150 ETH  

Onderstaande figuur geeft een overzicht van de verschillende controllers binnen AUTOMATIONWORX.  

 

 

Kenmerken ILC 150: 

• Interfaces: Ethernet (10/100), Inline, PRG (MiniDIN) • RUN/STOP/RESET buttons (no key switch) • Processing time < 3 ms/1K instructions • Program memory approx. 128 kbytes  • Data memory approx. 128 kbytes  • Retentive data memory 8 kbytes, minimum • Internal parameterization memory with file system • Real Time Clock (buffered) • Directe I/Os (8/4) • Te programmeren via PC WORX 

   

Figuur 1‐3: Controllers binnen AUTOMATIONWORX

Page 7: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Installeren van PC

 WorX 

4  

2 Installeren van PC WorX 

2.1 Installatie van de software  

 

 

 

 

 

2.1.1 Starten van het PC WorX installatie programma  

o Het installatieprogramma start normaal enkele seconden na het inbrengen van de CD‐ROM in de CD drive. Indien dit niet zou gebeuren, start dan via de SETUP.EXE van de “[drive]:\setup\” directory op de CD‐ROM.  

o Volg nadien de instructies van het installatieprogramma. o Alle noodzakelijke directories worden automatisch aangemaakt en alle bestanden worden 

gekopieerd om de uitvoering van de programma’s mogelijk te maken. o Na een succesvolle installatie dient de PC heropgestart te worden. 

 

2.1.2 Starten van PC WorX  

o Start PC WorX via “Start… Programma’s… Phoenix Contact…  AUTOMATIONWORX Software suite 2007 1.50… PC WorX 6.00.x” 

o Wanneer PC WorX voor de eerste keer opgestart wordt, dan zal PC WorX in demo mode opgestart worden met beperkte mogelijkheden. 

o In het volgende punt wordt besproken hoe een basislicentie moet geïnstalleerd worden. Om over te gaan van de basislicentie tot een prolicentie, gelieve dan contact op te nemen met Phoenix Contact. 

 

   

Voor de installatie dienen alle windows applicaties afgesloten te worden 

Deze PC WorX versie kan parallel geïnstalleerd worden aan een eerdere versie 

Eerst de PC WorX software installeren van op de AX SW SUITE DEMO CD 

Page 8: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Installeren van PC

 WorX 

5  

2.2 Activeren van de PC WorX basislicentie  

Na de opstart van PC WorX kan de licentie op de volgende manier geactiveerd worden: 

o Selecteer “Register” onder het menu “?” zoals op figuur 3‐1. 

 

 

 

 

 

o Geef de registratiecode in     

o Bevestig met OK  

Deze registratiecode wordt geactiveerd bij het heropstarten van PC WorX 

 

 

   

Figuur 2‐1 

Voor meer informatie omtrent registratiecodes verwijs ik u naar bijlage I. 

Page 9: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Algem

ene inform

atie omtren

t PC WorX 

6  

3 Algemene informatie omtrent PC WorX  

3.1 Enkele belangrijke icons uit de Toolbar  

Conform de IEC 61131‐3 norm wordt een volledige scheiding nagestreefd tussen de hardware en de software.  

Daarom worden drie werkgebieden gedefinieerd:  

‐ Bus configuration: het werkgebied om de hardwareconfiguratie op te bouwen; ‐ IEC programming: het werkgebied waar het gebruikersprogramma opgebouwd wordt; ‐ Process data assignment: het werkgebied waar de softwarevariabelen gelinkt worden aan de 

fysische IO. 

Figuur  3.1. toont de drie iconen op de menubalken waarmee eenvoudig omgeschakeld kan worden tussen de verschillende werkgebieden. 

 

 

Figuur 3‐1 

 

 

 

 

 

 

 

 

 

   

Activeer het werkgebied “Process data assignment” 

Activeer het werkgebied “Bus configuration” 

Activeer het werkgebied “IEC programming”

Page 10: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Algem

ene inform

atie omtren

t PC WorX 

7  

3.2 Werkgebieden 

3.2.1 Werkgebied “IEC programming”  

In het werkgebied  “IEC programming” zijn volgende vensters zeer belangrijk: 

o Project tree window (links) ‐ <Shift> F8 o Programmeervenster (midden) ‐ <Ctrl> F2 o Edit wizard (rechts) ‐ <Shift> F2 

Andere vensters kunnen toegevoegd of verwijderd worden.  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Indien een window niet getoond wordt of afgesloten werd, dan kan dit altijd terug geactiveerd worden door onder het item “View” het juiste venster te kiezen. 

 

 

 

 

Figuur 3‐2 Werkgebied “IEC programming” 

Page 11: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Algem

ene inform

atie omtren

t PC WorX 

8  

   

Figuur 3‐3 

Page 12: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Algem

ene inform

atie omtren

t PC WorX 

9  

3.2.2 Werkgebied “Bus configuratie”  

 

 

 

 

 

 

 

 

 

 

 

 

Figuur 3‐4 Werkgebied " Bus configuratie" 

In het werkgebied “Bus configuratie” zijn alle details omtrent de hardware terug te vinden. In het ‘Device Details’ window staan algemene eigenschappen van het project vermeld.  

Van iedere hardwaremodule zijn in het window ‘Device Details’ alle belangrijke eigenschappen, instellingen en data sheets terug te vinden onder verschillende tabbladen, zie Figuur 4‐5. 

 

 

 

 

 

 

 

 

Figuur 3‐5 Device Details, per module verschillende tabbladen

Page 13: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Algem

ene inform

atie omtren

t PC WorX 

10  

3.2.3 Werkgebied “Process data assignment” 

Figuur 3‐6 

In het werkgebied “Proces Data assignment” is er de mogelijkheid om de gedefinieerde variabelen in de software te linken aan effectieve IO punten van de beschikbare modules uit de hardware configuratie.  

3.3 Compileren en downloaden 

 

 

 

 

 

 

 

  

 

Display project control dialog box

Debug mode aan/uit schakelen 

Programma compileren 

Watch window activeren 

Figuur 3‐7 

Page 14: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Algem

ene inform

atie omtren

t PC WorX 

11  

Figuur 4‐8 geeft de “Control dialog box” weer. Hiermee kan de PLC gemanipuleerd worden. Met andere woorden, de PLC kan gestopt, gereset, koud of warm gestart worden alsook het downloaden van een programma kan met dit venster gebeuren. 

   

Figuur 3‐8 Control Dialog Box 

Page 15: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

De IEC 61

131‐3 

12  

4 De IEC 61131­3   

4.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 6113 1‐3 : Programmeertalen  IEC 6113 1‐4 : Richtlijnen voor de gebruiker  IEC 6113 1‐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:  

o LADDER DIAGRAM (LD), een grafische taal welke gebaseerd is op contactorlogica.  o FUNCTION BLOCK DIAGRAM (FBD) o INSTRUCTION LIST (IL): een ‘low‐level’ taal, vergelijkbaar met assembler  o SEQUENTIAL FUNCTION CHART (SFC): een grafische taal speciaal ontwikkeld om de 

afloop van sequentiële systemen te programmeren.  o STRUCTURED TEXT (ST): een ‘high‐level’ taal om gestructureerd te programmeren. Deze 

taal is sterk vergelijkbaar met PASCAL.  

4.2 Structuur van een applicatie volgens de IEC 61131­3 norm  

In elke configuratie vinden we één of meerdere resources terug. Een resource voorziet in alle mogelijke tools om een bepaald gebruikersprogramma uit te voeren. Het is een kenmerk om een bepaalde processor te ondersteunen.  We kunnen een resource het best 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.  

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, ...).  

Page 16: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

De IEC 61

131‐3 

13  

Het uitvoeringsprogramma dat we in een task terugvinden kan bestaan uit verschillende POU’s (Program Organisation Unit).  

POU’s is de verzamelnaam voor programma’s, functieblokken of functies.  

 

  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

   

RESOURCE

TASK

program program program

 functiebouwsteen functie

functie functiebouwsteen functie

POU’s

functie

Page 17: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

De IEC 61

131‐3 

14  

4.3 POU’s  

POU staat voor Program Organisation Units en is een verzamelnaam voor programma’s, functieblokken 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

 

4.3.1 Functies  

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 altijd 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 teruggeven. 

 

 

 

 

 

   

 

 

result i_1

i_2

i_3

‘result’ is de naam van de functie en tevens de naam van de OUTPUT  

Een functie met 3 VAR_INPUT ‘s 

Page 18: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

De IEC 61

131‐3 

15  

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, zijnde de functienaam zelf.  

 Standaardfuncties  Er zijn heel wat standaardfuncties. We onderscheiden volgende groepen:  

o numerieke functies (ABS, SQRT, LN, LOG, EXP, SIN, COS, TAN, ASIN, ACOS, ATAN)  o 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.  

o bit stringfuncties (SHL, SHR, ROR, ROL)  o 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, WOORD of dubbelwoord kan zijn.  

o vergelijkingsfuncties (GT, GE, EQ, LE, LT, NE)  o 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.  

 

4.3.2 Functiebouwstenen  

Algemeen Instances voor functiebouwstenen: Een functieblok is een herbruikbaar software element om complexe tot eenvoudige besturingstaken uit te voeren. Bij het aanmaken van een functiebouwsteen worden variabelen gedefinieerd. Bij de oproep van deze functiebouwsteen wordt er voor deze variabelen geheugenruimte voorzien. Wil men deze functiebouwsteen meerdere malen oproepen, 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.  

 

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 uitgangswaarden 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 veranderen in de uitvoering van de FB.  

Page 19: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

De IEC 61

131‐3 

16  

Het gebruik van VAR_GLOBAL wordt vermeden in een functiebouwsteen. 

 

 

 

 

 

 

 

 

 

  

Standaardfunctiebouwstenen Er zijn heel wat vooraf gedefinieerde functieblokken. De belangrijkste zijn:  

o SR, RS, R_TRIG, F_TRIG,  o Counters: CTU, CTD, CTUD  o Timers: TP,TOF, TON 

 

4.3.3 Programma’s  

Algemeen Een programma is een groot herbruikbaar software element. Dit element is meestal opgebouwd 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.   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.  

 

 

   

actie i_1

i_2

i_3 q_2

q_1

actie_1

‘actie’ is de naam van de functiebouwsteen  

‘actie_1’ is de instance van de oproep van deze functiebouwsteen  

VAR_INPUT’s   VAR_OUTPUT’s  

Page 20: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

De IEC 61

131‐3 

17  

4.4 Datatypes  

4.4.1 Algemene datatypes  

In de volgende tabellen wordt een overzicht gegeven van de belangrijkste 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 

 

o Opmerkingen over de notatie van numerieke datatypes INT#15 of 15 REAL#8 of 8.0   

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 

 o Opmerkingen over de notatie van bitgebaseerde datatypes 

WORD#2#1010111100000011 (binaire notatie) WORD#16#AF03 (hexadecimal notatie) BYTE#2#10100011 

 

   

Page 21: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

De IEC 61

131‐3 

18  

 

Datatype  Beschrijving  Bits  Bereik 

TIME  Tijdsduur     DATE  Kalendergegevens     TIME_OF_DAY  Tijd van de dag     DATE_AND_TIME  Kalendergegevens + tijd van 

de dag    

 

o Opmerkingen over TIME  T# 3s  T# 16d_5h_3m_4s_2Oms (16 dagen, 5 uur, 3 minuten, 4 seconden en 20 milliseconden)  TIME# 1Os  

o Opmerkingen over DATE  D#2001‐10‐15 (15 oktober 2001)  DATE#1999‐1‐30  

o 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)   

o Opmerkingen over DATE_AND_TIME  DT#2007‐03‐22‐15:36 :50  DATE_AND_TIME# 2007‐02‐01‐12:00:00  

  

4.4.2 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 

   

Page 22: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

De IEC 61

131‐3 

19  

Voorbeeld van een ééndimensionale array  

Declaratie array datatype  

TYPE       getallen_reeks : ARRAY[1..23] OF INT;  END_TYPE  

Definitie van variabelen  

VAR       reeks_1 : getallen_reeks;       waarde_4: INT;  END_VAR  

CODE in ST  

       waarde_4 := reeks_1 [4]   

 

Voorbeeld van een multi‐dimensionale array  

 Declaratie array datatype  

 TYPE       getallen_reeks : ARRAY[1..23] OF INT;       resultaten : ARRAY [1..3] OF getallen_reeks;  END_TYPE   

Definitie van variabelen  

 VAR       productielijn_1 : resultaten;       opbrengst_x: INT;  END_VAR   

CODE in ST  

opbrengst_x := productielijn_1 [2] [10]; 

 

   

Page 23: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

De IEC 61

131‐3 

20  

4.4.3 Struct  

‘Struct’ datatype is een structuur van verschillende elementen van een verschillend datatype.  

TYPE 

  (*Typename*)  : 

  STRUCT 

    (*Element 1 Name*)  :  (*DATATYPE*); 

    (*Element 2 Name*)  :  (*DATATYPE*); 

    (*Element 3 Name*)  :  (*DATATYPE*); 

    (*      .    :        .   *) 

    (*      .    :        .   *) 

    (*Element n Name*)  :  (*DATATYPE*); 

  END_STRUCT; 

END_TYPE 

 

 

4.4.4 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 

 

 

 

 

 

 

Page 24: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

De IEC 61

131‐3 

21  

4.5 Structured Text  

Specifiek aan structured text zijn de voorwaardelijke statements. Hierna volgt een kort overzicht. 

4.5.1 Selectie statements 

 

IF… THEN… ELSE…  

 

 

 

 

Met ELSIF wordt het: 

 

 

 

 

 

 

 

CASE  

 

 

 

 

 

 

 

 

IF       <boolean expression>  THEN 

  <statement>; 

ELSE 

<statement>; 

END_IF; 

IF       <boolean expression>  THEN 

  <statement>; 

ELSIF  <boolean expression>  THEN 

  <statement>; 

ELSE 

<statement>; 

END_IF; 

CASE       <integer expression>  OF 

<integer value_1> :  <statement>; 

<integer value_2> :  <statement>; 

<integer value_3> :  <statement>; 

 

ELSE 

<statement>; 

END_CASE; 

Page 25: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

De IEC 61

131‐3 

22  

4.5.2 Iteratie statements 

FOR… DO  

 

 

 

 

 

 

WHILE… DO  

 

 

 

 

 

 

REPEAT… UNTIL  

 

 

 

 

 

 

 

Met het statement EXIT kan een voorwaardelijk einde gemaakt worden aan een iteratie statement   

FOR   <initialiserende waarde>  TO  <eindwaarde>  BY  <incrementele waarde>  OF   

 <statement>; 

<statement>; 

 <statement>; 

END_FOR; 

WHILE   <boolean expression>  DO    

 <statement>; 

<statement>; 

 <statement>; 

END_WHILE; 

REPEAT   

 <statement>; 

<statement>; 

 <statement>; 

UNTIL    <boolean expression> 

END_REPEAT; 

Page 26: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Aanmaken

 van

 een

 project 

23  

5 Aanmaken van een project  

5.1 Overzicht  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

   

start

Nieuw project aanmaken

Project opslaan  

Projectinformatie aanpassen

IP Configuratie

toekennen IP‐adres aan de controller 

INTERBUS configuratie

Gebruikersprogramma aanmaken 

Koppeling softwarevariabelen aan fysische IO 

Compileren, downloaden en koude start 

Run/debug

Page 27: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Aanmaken

 van

 een

 project 

24  

5.2 Nieuw project openen  

o 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.  

o Selecteer de “ILC 150 ETH Rev. > 01/2.00” controller en bevestig met OK. 

 

 

 

 

 

 

 

 

 o 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 QuickStart_ILC150, zie Figuur 6‐2) en sla het project op via “Save”.              

 

   

Figuur 5‐1  Project templates 

Figuur 5‐2 

Ieder project wordt opgeslagen als een *.mwt bestand en een folder met dezelfde naam. Op Figuur 6‐2 is er een *.mwt bestand met de naam EXAMPLE alsook een folder met de naam EXAMPLE. 

Het is ook mogelijk om het project te zippen tot een *.zwt bestand 

Page 28: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Aanmaken

 van

 een

 project 

25  

5.3 Structuur nieuw project conform de IEC 61131­3  

 

 

 

 

 

 

 

 

 

 

 

 

 

Onder de map ‘Logical POU’s ‘wordt reeds één programma aangemaakt 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). 

 

   

totale configuratie 

resource 

DEFAULT  task met een eerste ingebruikname  van het programma Main 

Figuur 5‐3 Structuur bij het aanmaken van een nieuw project in PC Worx

Page 29: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Aanmaken

 van

 een

 project 

26  

5.4 Aanpassen van de projectinformatie  

o Schakel over naar het werkgebied “Bus configuration”. Hier wordt alle projectinformatie weergegeven.   

 

 

 

 

 

 

 

 

 

 

 

 

Figuur 5‐4 

 

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 ook het subnetmask aanpassen.  

 

 

 

 

  Zie ook figuur 5.5.    

 

Voor de cursus worden volgende IP adressen toegepast: 

PC    192.168.0.10 

ILC_150  192.168.0.11 

Page 30: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Aanmaken

 van

 een

 project 

27  

 

Figuur 5‐5  ‐  Configuratie 

 

5.5 IP configuratie van uw PC  

Belangrijk is om eerst de netwerkinstellingen van de PC te controleren. Start een DOS applicatie om het IP‐adres van de PC op te vragen via het commando “ipconfig”.  

 

Figuur 5‐6 Ipconfig 

   

Page 31: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Aanmaken

 van

 een

 project 

28  

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.                 

   

Figuur 5‐7

Page 32: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Aanmaken

 van

 een

 project 

29  

5.6 IP configuratie van de controller  

5.6.1 Algemeen   

 

Figuur 5‐8 

 Om het IP adres aan te passen zijn er de volgende mogelijkheden: o Voor de eerste keer een IP‐adres toekennen  

• Via een BootP Server 

• Via de seriële interface  

o  Veranderen van het IP‐adres 

• Via de seriële interface 

• Via Ethernet met PC WorX  

o IP‐adres vergeten? 

• Opvragen via BootP Server 

 

 

 

Page 33: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Aanmaken

 van

 een

 project 

30  

5.6.2 Aanpassen IP­adres via de BootP Server  

 

Figuur 5‐9 BootP 

 o Activeer de “BootP Server active” checkbox. o Schakel over naar het werkgebeid “Bus configuration”. o Selecteer de “ILC  150 ETH” controller. o Selecteer het  tabblad “IP Settings” in het venster “Device Details”. o Breng het MAC‐adres van de controller in (MAC‐adres begint met 00.A0.45 ). o Vul het gewenste IP‐adres in. 

                 

 o Druk met een scherpe punt de resetknop van de controller in. o Neem de spanning weg van de controller terwijl de resetknop ingedrukt blijft. o De spanning terug laten opkomen, resetknop lossen. Vanaf nu wordt het BootP 

proces opgestart, de controller krijgt het ingestelde IP‐adres en na een tweetal minuten is het IP‐adres geactiveerd. 

 

Figuur 5‐10 

Page 34: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Aanmaken

 van

 een

 project 

31  

Eens bij de controller en op de PC het juiste IP‐adres ingesteld staat kan de communicatie geactiveerd worden.  

Hiervoor wordt de ILC 150 ETH aangeklikt in het window “Bus Structure” (links) en wordt het tabblad “Communication” gekozen in het window “Device Details” 

  

 

 

 

 

 

 

 

 

 

                        

Figuur 5‐11 

Na het instellen van het juiste IP‐adres van de controller kan de communicatie getest worden via de knop “Test”.      Na enkele seconden zal de indicatiebar groen oplichten.  

        

   

Figuur 5‐12

Page 35: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Aanmaken

 van

 een

 project 

32  

5.7 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 2 INTERBUS modules verbonden met de controller. 

o Selecteer het “Connected Bus” commando via het “View” menu om het INTERBUS systeem in te lezen (Figuur 5‐13). 

 

 

 

                

Figuur 5‐13 

 o Selecteer de juiste controller in het venster “Connected Bus”.           

Figuur 5‐14 

Page 36: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Aanmaken

 van

 een

 project 

33  

o De INTERBUS modules worden nu automatisch ingelezen. Eens ingelezen moeten ze toegevoegd worden aan het project. 

o Klik hiervoor op de controller, rechtermuis toets en kies vervolgens “Import to Project” en “With Device Description” 

        

  

o Het venster “Select Device” toont nu alle modules welke overeenstemmen met de ID code van de geconnecteerde modules. Uit deze lijst moeten de werkelijk verbonden modules geselecteerd worden.  

     o Uiteindelijk moet de configuratie opgebouwd zijn zoals op Figuur 5‐16 wordt 

weergegeven.  

    

 

 o Tot slot is het beter om nu opnieuw off‐line te selecteren vooraleer dit venster af te 

sluiten.      

Figuur 5‐15 

De INTERBUS modules welke in dit project gebruikt zijn: 

‐ IB IL AO 1/U/SF ‐ IB IL AI 2/SF‐ME 

Figuur 5‐16 

Figuur 5‐17 

Page 37: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Aanmaken

 van

 een

 project 

34  

5.8 Compileren en downloaden  

Het project bevat nu alle informatie omtrent de busconfiguraties (Ethernet & INTERBUS) en is er een active communicatie. Op dit moment is het mogelijk om het project te compileren en te downloaden om eventuele fouten te herkennen. 

 

   

 

 

 

 

 

 

 

 

 

 

Enkele belangrijke sneltoetsen betreffende het compileren: 

 

 

 

 

 

Figuur 5‐19 

 

   

compileren   downloaden naar de controller   cold restart uitvoeren. 

Compileren projectCompilleren en online overschrijven   

Werkblad compileren

Figuur 5‐18 

Page 38: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Uitg

ewerkt voo

rbeeldprogramma 

35  

6 Uitgewerkt voorbeeldprogramma  

6.1 Inleiding  

Hieronder wordt een eenvoudig voorbeeldprogramma stap voor stap omschreven. De beoogde werking bestaat uit 2 delen: 

1. PC WorX: In PC WorX wordt een eenvoudig programma geschreven waarbij via een schakelaar een knipperlicht kan geactiveerd worden. Daarnaast wordt ook een analoge waarde binnengelezen en gevisualiseerd op een LED‐bar.  

2. Webvisit: De ILC150 ETH beschikt over een webserver. Bij deze oefening is het de bedoeling dat een webpagina aangemaakt wordt waarmee opnieuw het knipperlicht gevisualiseerd wordt, alsook de aansturing ervan mogelijk wordt. De toestand van de analoge ingang zal hier ook worden gevisualiseerd. 

 

6.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.  

Het voorbeeldprogramma bestaat uit het programmeren van een eenvoudig knipperlicht waarbij een schakelaar van de switchbox het knipperen van een uitgang op de Inline uitgangsmodule activeert. De controle van dit knipperlicht kan ook gebeuren via het visualisatiepanel en Webvisit.  

Een tweede functie is het doorkoppelen van een analoge ingang (potentiometer) naar een analoge uitgang (LED Bar Graph) via enkele bewerkingen. De waarde van de analoge uitgang zal ook kunnen worden opgevolgd via Webvisit. 

 

6.3 Uitwerking  

Eerst en vooral moet er omgeschakeld worden naar het werkgebied ‘IEC Programming”. Meteen is duidelijk dat PC WorX conform de IEC 61131‐3 norm opgebouwd is. In het venster “Project Tree Window” zijn er enkele duidelijke onderverdelingen terug te vinden. Er is een mapstructuur voor libraries, voor datatypes, voor POU’s en er is de Physical Hardware. 

 

 

Page 39: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Uitg

ewerkt voo

rbeeldprogramma 

36  

Op Figuur 6‐1 is deze structuur afgebeeld.  

Onder “Physical Hardware” is de hoofdstructuur terug te vinden. 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” 

 

 

6.3.1 Definiëren van de variabelen  

Vooreerst wordt er een onderscheid gemaakt tussen locale en globale variabelen. 

Locale variabelen  Locale variabelen worden gedefinieerd op POU niveau. Deze variabelen kunnen enkel gebruikt worden binnen de POU waarin ze aangemaakt worden.  

Naast het gebruik van locale variabelen als VAR kunnen locale variabelen ook op een ander manier gebruikt worden. Hier wordt onderscheid gemaakt naargelang het type POU. 

Binnen een functie kunnen ook locale variabelen als VAR_INPUT gedefinieerd worden. Deze zullen de ingangsparameters van de functie worden. 

Binnen een functiebouwsteen kunnen locale 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 onderscheid gemaakt worden tussen systeem variabelen en user variabelen. 

SYSTEM variabelen: dit zijn voorgedefinieerde variabelen, afhankelijk van de gekozen controller, welke sowieso altijd beschikbaar zijn.  

Een lijst van alle systeemvariabelen is terug te vinden onder het item “Global Variables” in de Project Tree Window, zie figuur 6.2. 

 

Figuur 6‐1

Page 40: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Uitg

ewerkt voo

rbeeldprogramma 

37  

 

USER variabelen: Naast de systeemvariabelen zal de gebruiker ook een lijst met globale user variabelen aanmaken. Deze kunnen beter onderverdeeld worden in verschillende groepen om dusdanig een goed overzicht te bewaren tussen alle globale variabelen. Daartoe kunnen nieuwe groepen aangemaakt worden onder het item “Global Variables” . 

Klik op de lijn “System Variables”, rechter muistoets en selecteer het item “Insert Group”. Op die manier kunnen we betekenisvolle groepen aanmaken.  

Maak 3 groepen aan met de volgende namen:   ‐Analoog         ‐Digitaal I/O         ‐Webvisit 

 

 

Figuur 6‐2 Systeemvariabelen

Figuur 6‐3 Aanmaken groepen voor globale variabelen

Page 41: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Uitg

ewerkt voo

rbeeldprogramma 

38  

 

 

6.3.2 Aanmaken van een nieuwe POU  

Aan de hand van de 4 aangeduide icons kan een nieuwe POU toegevoegd worden. Er kan een keuze gemaakt worden tussen een nieuw programma ( ), een nieuwe functiebouwsteen ( ) of een nieuwe functie ( ).   In het window “Insert”  moet de POU 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. 

 

Figuur 6‐4 Aanmaken van een nieuwe POU

Figuur 6‐4  

Page 42: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Uitg

ewerkt voo

rbeeldprogramma 

39  

Per POU worden drie werkbladen aangemaakt:  

o NaamPOUT( ); Textveld: alles wat hierin genoteerd wordt, zal verschijnen bij het opvragen van de help omtrent deze POU. 

o NaamPOUV( ): Veld voor het ingeven van variabelen o NaamPOU( ,  ,  ,  ,  ): Programmeerveld 

  

6.3.3 Aanmaken van een functieblok “Knipperlicht”  

o De knipperfunctie wordt aangemaakt in een functieblok. Om een nieuwe functieblok aan te maken, kies       links bovenaan.  

o Selecteer de programmeertaal FBD (“Function Block Diagram”) en stel bovenaan de gewenste bouwsteennaam in. (hier: ‘Knipperlicht’)  

            

 o Bevestig met OK. De bouwsteen wordt aangemaakt. o Open het werkblad van de functieblok door te dubbelklikken op      o Nu kan het programma voor de knipperfunctie geschreven worden o Voeg een ‘On delay’ timer in vanuit de Edit Wizard: 

dubbelklik onder “Function blocks” op ‘TON’ , controleer en/of wijzig de Instance van de bouwsteen en bevestig vervolgens met OK. 

 

  

Figuur 6‐5 

Figuur 6‐6 

Page 43: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Uitg

ewerkt voo

rbeeldprogramma 

40  

             

o  o  o  

 o Op dezelfde manier wordt een ‘Pulse’ timer en een AND functie vanuit de Edit Wizard 

opgehaald. Let op het feit dat er voor de AND functie geen instance moet toegekend worden (verschil functiebouwsteen en functie). 

o Uiteindelijk verbinden we alles aan elkaar tot volgende functionaliteit bekomen wordt: Let wel: Het ingangssignaal van onze timer‐on‐delay dient omgekeerd te worden. We doen dit door te dubbelklikken op de ingang en het vakje “negated” aan te vinken.  

 

    

o Nu moeten enkel nog de variabelen aangemaakt worden. o Klik op een plaats in het werkblad, klik rechtermuisknop en kies voor het item 

“Variable”  o Stel linksboven de gewenste naam in, bijv: i_xEnable o Kies als datatype Bool en kies bij het item “Usage” voor VAR_INPUT o De scope voor deze “User Variable”  staat ingesteld op local.  

Figuur 6‐7 Instance voor FB 

Page 44: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Uitg

ewerkt voo

rbeeldprogramma 

41  

 

 

 

 

 

 

 

 

 

o  o  

 o Op dezelfde manier worden volgende variabelen gedeclareerd: 

Naam  Data type  Usage  Scope  Glob. Var. Groups i_xEnable  Bool  VAR_INPUT  local   i_tTotalePulsTijd  Time  VAR_INPUT  Local   i_tPulsAanTijd  Time  VAR_INPUT  Local   q_xKnipperPuls  Bool  VAR_OUTPUT  Local   

 

 o In ST ziet deze functieblok er als volgt uit: 

      

 

Vooraleer de functieblok verder gebruikt kan worden moet deze gecompileerd te worden! 

   

Figuur 6‐8 

Page 45: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Uitg

ewerkt voo

rbeeldprogramma 

42  

6.3.4 Het hoofdprogramma  

o In het werkblad “Main” kan de  aangemaakte functiebouwsteen opgevraagd worden. Voeg deze toe door in de “Edit Wizard” onder de programmanaam te dubbelklikken op de functieblok ‘Knipperlicht’.  Deze functiebouwsteen kan nu eventueel een tweede keer opgevraagd worden om twee uitgangen te laten knipperen.     

o Nu moeten ook nog alle variabelen toegekend worden.  De 8 digitale ingangen en de 4 digitale uitgangen on board van de ILC 150 ETH, zijn te vinden als systeemvariabelen. Dubbelklikken op het aansluitpunt (niet op de naam zelf) van de ingang i_xEnable:  

 

 

   

 

 

 

   

  

o Kies voor Global, en via de selecttoets onder Name kan een keuze gemaakt worden tussen alle systeemvariabelen. Selecteer de ONBOARD_INPUT_BIT0 

   

Figuur 6‐9

Page 46: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Uitg

ewerkt voo

rbeeldprogramma 

43  

o Voor de inputvariabelen van het datatype time kan bijvoorbeeld een constante tijd meegegeven worden.  

 

 

 

 

 

 

  

 o Het programma kan nu als volgt worden afgewerkt: 

               

o Vergeet niet alles opnieuw te compileren! 

   

Figuur 6‐10 

Page 47: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Uitg

ewerkt voo

rbeeldprogramma 

44  

6.3.5 Testen van het programma  

Tot slot kan het geschreven programma getest worden. Hiervoor wordt terug het “IEC programming” werkgebied geactiveerd. Met het icoon  (Debug On/Off) kan het opsporen van fouten gestart worden. Onder elke variabele wordt nu zijn status of actuele waarde weergegeven.  

Door het schakelen van de eerste schakelaar op de switchbox kan het knipperlicht geactiveerd worden. De statusveranderingen kunnen nu zowel online als op de modules zelf worden teruggevonden.  

 

 

 

 

 

 

 

   

Figuur 6‐11 

Page 48: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Analoge signaalverw

erking

 

45  

7 Analoge signaalverwerking 

7.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, een Analog_In_Out – functiebouwsteen. 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). 

o Dit programma kan heel eenvoudig zijn: 

 

 

o Oproep van deze functiebouwsteen in het programma ‘Main’: 

 

 

 

o Er moeten nu twee variabelen aangemaakt worden om te linken aan de werkelijke fysische IO.  Deze worden op de volgende manier gedeclareerd, en worden onder Project Variables  geplaatst.   

 

 

 

 

 

 

 

o Uiteindelijk wordt volgend programma bekomen: 

 

 

Figuur 7‐1 

Page 49: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Analoge signaalverw

erking

 

46  

 

o Om deze variabelen nu aan de fysische IO te koppelen springen we over naar de “process data workspace”. Hier zien we een onderverdeling met links de softwarevariabelen en rechts de hardwarevariabelen.  

o Onder de groep “Analoog” vinden we nu onze pas aangemaakte variabelen.  

 

 

 

 

    

o Rechts vinden we onze gekoppelde in‐ en uitgangsmodules. We koppelen onze variabelen door ze naar de desbetreffende module te slepen. Voor “IN_wPotentiometer1” kies “AI 1 Voltage”. “OUT_wLedBar1” slepen we naar “1.1.1 Output Voltage”.          

Dit programma kan nu getest worden.   

   

Page 50: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Analoge signaalverw

erking

 

47  

Na het testen blijkt dat er een probleem is. Slechts de halve range van de ledbar wordt gebruikt.  

Probleem situeert zich bij de modules: 

De analoge ingangsmodules  

• De analoge ingangsmodules gebruiken een tekenbit: 

 

 

 

 

• De analoge inputrange wordt altijd vertaald naar een waarde tussen 0 en 30000. 

 

 

 

 

 

 

 

De analoge uitgangsmodule  

• De analoge uitgangsbit gebruikt geen tekenbit 

 

 

 

 

 

• De analoge outputrange wordt voor deze module vertaald naar een waarde tussen 0 en 65535. 

 

 

Page 51: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Analoge signaalverw

erking

 

48  

De waarde moet van de range van 0 tot 30000 aangepast worden naar een range van 0 tot 65535. 

Daarom wordt de functiebouwsteen als volgt aangepast: 

 

 

 

 

 

7.2 Functie  

De zopas uitgevoerde opdracht is louter datamanipulatie. Hiervoor kan i.p.v. een functiebouwsteen ook gewoon een functie gebruikt worden. 

Voeg een functie toe, kies een naam en een programmeertaal. Let op het feit dat de functienaam een variabele is en er dus ook een datatype moet toegekend worden. 

 

 

 

 

 

 

 

 

 

 

 

De functie in STL wordt dan de volgende code: 

AnaloogInUit := real_to_word ( word_to_real (i_wAnaloogIn) * 2,1845));

 

Het programma kan nu gecompileerd en gedownload worden.   

Toekennen van een datatype aan de naam van de functie 

Figuur 7‐2

Page 52: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

 

49  

7.3 Watch Window  

Een andere handige mogelijkheid om uw programma op te volgen is het Watch Window. 

 

Eens online kan iedere variabele aan het Watch Window toegevoegd worden. 

Klik in de programmeeromgeving op een variabele, rechter muistoets en dan kiezen voor het item “Add to Watch Window”. 

 

Een andere manier is in het werkblad variabelen van een bepaalde functieblok, functie of programma, klikken op een variabele, rechter muistoets en kiezen voor het item “Add to Watch Window”.  

 

 

 Activeer het “watch window” via volgend icon        . 

  

 

   

  

   

Figuur 7‐3

Figuur 7‐4

Figuur 7‐5 

Page 53: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

 

50  

7.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 volgend 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 temperatuur groter wordt dan een alarm temperatuursgrens die als inputparameter meegeven wordt. 

Verder moet er nagegaan worden indien de inputparameters coorect ingegeven worden. Hierbij 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 STL. 

Het resultaat wordt een functiebouwsteen waarbij de oproep ervan volgend resultaat heeft.  

 

 

 

 

 

 

 

 

Bestuur het resultaat en ga na waarom er hier gebruik gemaakt wordt van VAR_INOUT parameters. 

 

 

  

 

 

Page 54: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

 

51  

Resultaat in FBD  

 

 

 

 

 

 

 

 

 

 

 

 

 

   

Page 55: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

 

52  

Resultaat in STL  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

   

Page 56: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Web

visit 

53  

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 aangemaakt worden en gedownload worden naar de ILC. Op deze manier kunnen globale variabelen van het programma worden gevisualiseerd en gemanipuleerd. 

De methode om een variabele in een WebVisit toepassing te gaan gebruiken bestaat er enerzijds in de variabele als een VAR_GLOBAL te declareren. Anderzijds moet ook de “PPD checkbox” aangevinkt worden waardoor in het programma vastgelegd wordt dat de variabele te benaderen is vanaf de webpagina (zie Figuur 8‐1). 

 

 

 

 

 

 

 

 

 

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‐1 

Figuur 8‐2 

Page 57: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Web

visit 

54  

o Om nu een webvisit toepassing te maken met ons knipperlicht gaan we het programma als volgt aanpassen: een OR‐ poort wordt toegevoegd, en een nieuwe globale variabele wordt aangemaakt, waar we PDD gaan aanvinken. Op die manier zullen we het knipperlicht kunnen bedienen met zowel de analoge schakelaar als digitaal via webvisit. Ook gaan we bij “ONBOARD_OUTPUT_BIT0” PDD aanvinken.   

 

 

 

o Tenslotte zullen we ook onze Ledbar visueel willen maken via webvisit, dus ook bij de variabele OUT_wLedbar vinken we PDD aan. 

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 webpagina kunnen benaderd worden. 

Figuur 8‐3 toont een voorbeeld van dergelijk bestand. Wanneer Microsoft Office op de PC geïnstalleerd is zal dit bestand (met extensie .CSV) kunnen geopend 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…\Projectnaam\C\STD_CNF\R\STD_RES                      

 

 

 

 

8.2 Starten van de visualisatie  

Wanneer er reeds een webvisualisatie, waarvan de naam gekend is, aanwezig is in de ILC kan deze geopend worden door te surfen naar het IP adres van de ILC aangevuld met de naam van de .html pagina met behulp van een webbrowser (bijv. “//192.168.0.3/Paginanaam.html”). 

   

Figuur 8‐3

Page 58: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Web

visit 

55  

8.3 Een project uitwerken in WebVisit  

Start de WebVisit software via “Start… Programma’s… Phoenix Contact…  AUTOMATIONWORX Software suite 2009 1.50… WebVisit 5.14.05” 

 

8.3.1 Een nieuw project aanmaken   

o Sluit eventuele openstaande projecten af door onder “File” voor “Close project” te kiezen. Een nieuw project aanmaken gebeurt door onder “File”, “New Project…” te kiezen.  

o Kies het item “Project configurations” onder het menu “Project” zodat onderstaand venster geopend wordt. 

Het is belangrijk om in te stellen met welk PC WorX project zal gecommuniceerd worden, en welke het daarbij horende “PDD.CSV” bestand is. Wanneer met behulp van de eerste ‘browse’ button het PC WorX project (.mwt bestand) ingesteld wordt zal automatisch het bijhorende PDD.CSV bestand opgezocht en ingesteld worden door de WebVisit software. 

 

 

 

 

Het verdere verloop van deze WebVisit cursus is gebaseerd op de eerder aangemaakte oefening. Het is de bedoeling een webpagina aan te maken waarmee het knipperlicht kan gestart en gestopt worden. Ook het knipperlicht zelf wordt op deze pagina gevisualiseerd. Daarnaast wordt een pagina aangemaakt voor het visualiseren van de toestand van de analoge temperatuurswaarde (Ledbar). Verder moet het ook mogelijk zijn om aan temperatuurswaarde een Warning –en Alarmgrens te koppelen.  

Het geheel wordt gecontroleerd door een hoofdpagina van waaruit de andere pagina’s kunnen worden opgeroepen.    

Figuur 8‐4

Page 59: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Web

visit 

56  

8.3.2 Een nieuwe webpagina aanmaken  

Een nieuwe webpagina (xxx.teq) invoegen gebeurt als volgt: 

 

 

 

 

 

              

o Geef de eerste pagina bijvoorbeeld de naam ‘Knipperlicht’. o Selecteer de zopas aangemaakte pagina “Knipperlicht.teq” links onder ‘Project Files'. o Voeg in het venster een button en een cirkel toe vanuit de toolbar. 

 

 

 

 

 

 

o Dubbelklik op de aangemaakte button om de eigenschappen te bekomen. o Figuur 8.7 toont dat onder “Repaints” de tekst op de drukknop gewijzigd kan worden. 

  

 

 

 

 

 

 

 

Figuur 8‐6 

Figuur 8‐7 

Figuur 8‐5

Page 60: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Web

visit 

57  

o Bij het bedienen van de knop select komt de inhoud van het “PDD.SCV” bestand te voorschijn. Nu kan de gewenste variabele uit het PC WorX programma gekoppeld worden aan een bepaalde actie in WebVisit. (Hier “IN_xWebStart_Knipperen”)         

o Instellen van de actie bij het bedienen van de drukknop. De werking van de schakelaar wordt opgevat als een ‘Toggle’ functie. Dit betekent dat het knipperlicht ingeschakeld wordt bij een eerste maal klikken op de drukknop. Een tweede maal klikken op dezelfde knop schakelt het knipperlicht terug uit.  

  

 

 

 

 

 

 

o De kleur van de drukknop laten veranderen indien actief of niet actief: groen = knipperlicht niet actief, rood = knipperlicht actief gebeurt onder ‘Border Advanced’. De select button laat hier opnieuw toe de correcte variabele in te stellen.         

 

Figuur 8‐8

Figuur 8‐9 

Figuur 8‐10 

Page 61: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Web

visit 

58  

 o Koppelen van de cirkel met de variabele “ONBOARD OUTPUT BIT0” zodat het knipperen 

van de uitgang zichtbaar wordt: onder ‘Boarder Advanced’ kan de binnenkleur van de cirkel. 

  

  

       

o Om de analoge temperatuurswaarde te visualiseren wordt een tweede webpagina aangemaakt. Klik dus opnieuw op ‘Project’… ‘Add to project’… ‘New…’ en geef de pagina de naam “Analoog.teq”. Een analoge waarde wordt zeer vaak voorgesteld in de vorm van een ‘Bar graph’ (staafdiagram). Voeg dus een staafdiagram toe zoals op onderstaande figuur aangegeven.    

 

 

 

 

 

 

 

 

o Het parametreren van de bargraph gebeurt opnieuw door er op te dubbelklikken. Onder “Repaints” kan de bronvariabele ingesteld worden. Het diagram varieert mee met de PLC‐variabele ‘OUT_rTemperatuur’, dus wordt als type terug voor PPO gekozen en met de ‘select’ button word de gewenste variabele ingesteld:   

 

 

Figuur 8‐11 

Figuur 8‐12 

Page 62: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Web

visit 

59  

 

 

 

 

 

 

 

 

 

o Onder het tabblad “Bargraph Advanced” kunnen de grenzen waartussen de variabele zal variëren, ingesteld worden. Voor deze uitgang zal dit tussen ‐50 en 150 zijn. Verder kan ook een bijhorende schaal worden toegevoegd via ‘Scale’  

 

 

 

 

 

 

 

 

 

 

   

o Ook de richting waarin het diagram moet toenemen kan hier met behulp van de instelling “Orientation” worden ingesteld. 

o Verder moet het ook mogelijk zijn om via de WebVisit applicatie de alarm –en warninggrens te kunnen aanpassen. Dit kan gebeuren via 2 “Edit boxes”. Voeg dus 2 “Edit boxes” toe zoals op figuur 8‐15 wordt aangegeven. 

o Om de correcte waarde te kunnen uitlezen en aanpassen van de 2 grenzen. Moet de “Edit box” correct worden ingesteld. Wanneer dubbelgeklikt wordt op de “Edit box” verschijnen de parameters. 

Figuur 8‐13 

Figuur 8‐14 

Figuur 8‐15Figuur 8‐15

Page 63: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Web

visit 

60  

Op het tweede tabblad “Repaints” moet de correcte variabele met de bronvariabele van de “Edit box” gekoppeld worden. Dit moet bij beide “Edit boxes” worden ingesteld. Aan de eerste “Edit box” wordt variabele “INOUT_rAlarmGrens” gekoppeld. Aan de tweede “Edit box“ wordt “INOUT_rWarningGrens” gekoppeld. Verduidelijkende tekst kan toegevoegd worden via een “Static Text”. 

 

 

 

 

 

 

 

 

 

 

o Verder kunnen ook de alarm –en warningstatus worden voorgesteld via cirkel waarbij de kleur de status weergeeft. Ook hier moet de verschillende PDD‐variabelen gekoppelde worden met de WebVisit‐figuur. Via Border Advanced kan een status gekoppeld aan de juiste kleur. In de figuur hieronder zien we dan het resultaat. 

 

 

Figuur 8‐16 

Figuur 8‐17 

Page 64: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Web

visit 

61  

Tot slot wordt nog één pagina aangemaakt die het de gebruiker mogelijk maakt tussen de pagina’s te wisselen. Met behulp van twee buttons wordt er toegang gegeven tot respectievelijk de pagina ‘Knipperlicht’ en de pagina ‘Analoog’. 

o Maakt dus opnieuw een pagina aan met de naam ‘Startpagina’ en voeg twee buttons in. o Stel de tekst in van beide buttons op respectievelijk “Knipperlicht” en “Analoog” onder 

het tabblad ‘Repaints’ zodat volgend beeld verkregen wordt.  

 

Figuur 8‐148 

o Onder het tabblad ‘Actions Jump’ kan de pagina ingesteld worden waarnaar moet omgeschakeld worden. Onderstaande figuur geeft dit weer voor de pagina ‘Knipperlicht’. Doe dezelfde instelling voor de button ‘Analoog’ met een verwijzing naar de pagina ‘Analoog’.   

 

 

 

 

 

 

 

Zowel op de pagina ‘Knipperlicht’ als op de pagina ‘Analoog’ moet het ook mogelijk zijn om terug te keren naar de ‘Startpagina’. Hiervoor wordt op beide pagina’s een button toegevoegd met de tekst “Terug”. De link terug naar de vorige pagina kan zeer eenvoudig worden ingesteld onder het tabblad ‘Actions Jump’ door de optie ‘Back Button’ aan te vinken. 

 

Figuur 8‐15 

Page 65: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Web

visit 

62  

 

Figuur 8‐16 

 

Tot slot dient nog 1 instelling te gebeuren om er voor te zorgen dat de zopas aangemaakte ‘Startpagina’ wel degelijk als startpagina wordt weergegeven. Via “Projects… Project Configurations…” wordt onderstaand venster terug opgeroepen. Hierin kan de “Main teq” ingesteld worden. Geef hiervoor ‘Startpagina’ in zodat dit de startpagina wordt bij het surfen naar de ILC150 ETH. 

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 knipperlicht van 1 Hz is dit uiteraard te traag. Daarom zal deze parameter moeten verlaagd worden tot bijvoorbeeld 50ms om 

een snellere en meer correcte weergave van het knipperlicht te bekomen. 

 

8.3.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 door middel van het icoon   of onder ‘Project’   ‘Generate HTML…’. Bij dit commando wordt gevraagd het HTML bestand een naam te geven. Dit is tevens de naam die moet opgeroepen worden bij het surfen naar de ILC150, dus wordt er bijvoorbeeld gekozen voor de functionele naam “Starterkit.html”. 

 

   

Figuur 8‐21

Page 66: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Web

visit 

63  

8.3.4 Downloaden van het project  

Nu de HTML pagina aangemaakt is kan het project gedownload worden. Om het project naar de ILC 150 ETH te downloaden wordt als volgt tewerk gegaan: 

o Roep het downloadvenster op: 

 

 

 

 

 

 

 

 

 

 

  Figuur 8‐17 

o Geeft het IP‐adres in van de ILC (192.168.0.11) en druk op “Connect”. o De verbinding wordt tot stand gebracht en door een druk op de knop “Download 

project” wordt het project gedownload.  o Het oproepen van de webpagina kan nu gebeuren door in een webbrowser (bijvoorbeeld 

Internet Explorer) het IP‐adres van de ILC in te stellen, aangevuld met de naam van de HTML pagina:  

        

 

 

 

 

 

 

Figuur 8‐18 

Page 67: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Web

visit 

64  

Temporary Internet Files  

Wanneer een webpagina niet lijkt te reageren zoals het verwacht wordt, dan kan de oorzaak liggen in de Temporary Internet Files: 

• Open onder Control Panel (Configuratiescherm), Java.  

• Selecteer op het eerste tabblad (General), onder Temporary Internet Files, Settings:   

 

Figuur 8‐19: Settings Temporary Internet Files 

• Vink de bovenste optie af: Keep temporary files on my computer. 

 

Figuur 8‐20: Deselecteren Temporary Internet Files bewaren 

Page 68: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Tips & Trics 

65  

9   Tips & Trics  

9.1 Schermbeheer  

o Shortcuts in het werkgebied IEC Programming  <SHIFT>  F2  Edit Wizard <ALT>   F2  Message Window <CTRL>  F2  Cross Reference  <SHIFT>  F8  Project Tree Window <ALT>   F10  Watch Window   

o Indien de schermen totaal ongeordend staan is een volledige herschikking mogelijk.  Selecteer “Options” onder “Extras” en kies voor het tabblab “General”. Klik vervolgens op “Reset Workspaces”  Vervolgens dient PC WORX opnieuw opgestart te worden         

o In het programmeer window kan gemakkelijk in‐ en uitgezoomd worden via het indrukken van de  <CTRL>‐toets en tegelijkertijd scrollen met de muis 

 

9.2 Beheer van variabelen  

o Verwijderen van ongebruikte variabelen en instances. Kies “Remove unused … “ onder “Build” 

   

Figuur 9‐1

Figuur 9‐2

Page 69: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Tips & Trics 

66  

o In FBD 

Variabelen losmaken, indrukken van de <SHIFT>‐toets, klikken op de variabele en verslepen 

 

 

 

 

 

 

 

 

Variabelen kopiëren, indrukken van de <CTRL>‐toets, klikken op de variabele en verslepen  

 

Een bit, byte selecteren uit een woord: klik op het bolletje van een ingang, variabelen properties wordt geopend, selecteer het woord, plaats er een punt achter en dan komt een lijst tevoorschijn van alle bits en bytes welk onderdeel zijn van dit woord.  

 

 

 

 

 

 

 

 

 

o In STL 

<CRLT>‐toets en de spatiebalk leveren een lijst van alle variabelen op.  

Kies een woord, plaats er een punt achter en alle bits en bytes komen te voorschijn welke in dit woord kunnen geselecteerd worden. 

   

Figuur 9‐3 

Page 70: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Opd

rachten 

67  

10   Opdrachten  

10.1 Een alarmsysteem  

o Een alarmsysteem heeft 3 ingangen, 3 alarmmeldingslampjes, één geluidsmelding, één bevestigingsingang en één testknop. 

o Wordt één van de alarmingangen geactiveerd dan:  gaat één van de alarmmeldingslampjes aan het pinken.  treedt er een algemene geluidsmelding in werking. 

o Na de bevestiging van het alarm:  brandt het corresponderende  alarmmeldingslampje continu  stopt de geluidsmelding 

o Na het wegnemen van de oorzaak van het alarm, gaat het overeenstemmende alarmmeldingslampje uit. 

o Verdwijnt een alarm vooraleer de operator de kans heeft gekregen te bevestigen, dan blijven de geluidsmelding en het lampje in werking. 

o Een testdrukknop laat toe een lampentest en een geluidstest door te voeren. Bij het indrukken van deze knop gaan alle lampjes branden en gaat de geluidsmelding. Wanneer deze knop terug losgelaten wordt, doven de lampjes en stopt het geluid. 

Het uiteindelijke programma (in één geval) moet voldoen aan volgend tijdsdiagram:

o Bovenstaand tijdsdiagram is uitgetekend voor één alarm. Schrijf een functieblok voor de uitvoering van het gevraagde.     

o Maak een totaalprogramma. 

 

   

alarm 1

meldingslampje 1

geluidsmelder

bevestiging

 

Page 71: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Opd

rachten 

68  

Maak gebruik van de functie knipperlicht welke eerder al in deze cursus werd aangemaakt. 

Maak vervolgens een functiebouwsteen alarmverwerking. Een mogelijk oplossing voor deze functiebouwsteen in figuur Figuur 10‐1 Oplossing FB alarmverwerking. 

 

 

 

 

 

 

 

 

Het volledige programma: 

 

Figuur 10‐1 Oplossing FB alarmverwerking

Figuur 10‐2 Volledige oplossing 

Page 72: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Opd

rachten 

69  

10.2 Openen van een sectionaal poort  

Een sectionaal poort moet automatisch gestuurd worden. Met behulp van een startknop moet de poort geopend worden. Eens open, moet de poort automatisch na 10 seconden terug sluiten. Volgende voorwaarden moeten gecontroleerd worden: 

‐ In de sectionaal poort is een deur aanwezig.  Een sensor controleert of de deur dicht is. De poort kan niet geopend worden indien de deur niet in het slot zit. 

‐ Eindeloopcontacten signaleren het open en dicht zijn van de poort. 

IO‐lijst: 

Functie signaalgever  I/Q  Type  Bediend  Logische naam Drukknop poort openen  I  NO  Detectie ‘1’  in_xPoortOpenen Eindeloop poort dicht  I  NC  Detectie ‘0’  in_xPoortDicht Eindeloop poort open  I  NC  Detectie ‘0’  in_xPoortOpen Deurcontact  I  NC  Detectie ‘0’  in_xDeurDicht          Poort openen  Q      out_xPoortOpenen Poort sluiten  Q      out_xPoortSluiten  

Schrijf een passende functieblok: 

 

 

 

Programmacode functieblok in LD:  

 

 

   

Page 73: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Opd

rachten 

70  

Uitbreiding: 

Een optische sensor controleert of er geen personen of voorwerpen in de poortopening aanwezig zijn. De poort mag uiteraard pas sluiten indien de doorgang volledig vrij is. Na het vrijmaken van de poort duurt het 10 sec vooraleer de poort sluit. 

 

IO‐lijst: 

Functie signaalgever  I/Q  Type  Bediend  Logische naam Drukknop poort openen  I  NO  Detectie ‘1’  in_xPoortOpenen Eindeloop poort dicht  I  NC  Detectie ‘0’  in_xPoortDicht Eindeloop poort open  I  NC  Detectie ‘0’  in_xPoortOpen Deurcontact  I  NC  Detectie ‘0’  in_xDeurDicht Optische sensor poort vrij  I  NO  Detectie ‘1’  in_xPoortVrij          Poort openen  Q      out_xPoortOpenen Poort sluiten  Q      out_xPoortSluiten  

Aangepaste programmacode functieblok in LD:  

 

 

 

 

 

Page 74: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Opd

rachten 

71  

 

Programmacode functieblok in ST: 

 

 

   

Page 75: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Opd

rachten 

72  

10.3 Temperatuursopvolging 

 Een temperatuurssensor levert een stroomsignaal van 4mA tot 20mA (0 .. 30.000) en dit voor een temperatuursbereik van ‐50°C tot +100°C. Met deze sensor moet de procestemperatuur bewaakt worden en moet binnen het bereik van ‐25°C en +55°C gehouden worden. 

Via de webserver op de ILC150 kan de werkelijke temperatuurswaarde opgevolgd worden en zijn er twee toestandsmeldingen voorzien. 

Een toestandmelding ‘WARNING’ indien de temperatuur gelegen is tussen ‐10°C en ‐25°C of indien de temperatuur gelegen is tussen +40°C en +55°C. 

Een toestandsmelding ‘ALARM’ indien de temperatuur lager is dan ‐25°C of indien de temperatuur hoger is dan 55°C.  

Schrijf een functieblok met drie VAR_OUTPUT’s, één voor de werkelijke temperatuurswaarde in °C en twee voor de toestandsmeldingen. 

 

 

 

 

 

Programmacode functieblok in ST: 

 

   

Page 76: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Opd

rachten 

73  

10.4 Sequentieel programmeren in ST: de rolkraan  

Een rolkraan brengt een product naar een spoelcabine. In deze cabine wordt het product gedurende 10 seconden besproeid met water. De watertemperatuur moet gelegen zijn tussen de 45 en de 70°C. 

Een eindeloop links en rechts geeft de stand van de rolkraan weer. De contacten van de eindelopen zijn NC.   

Via een startknop wordt de rolbrug in werking gezet.  

Het volledige proces wordt in verschillende stappan opgedeeld. 

Een eerste stap is de initiële stap. Hierin wordt gewacht tot er op de startknop gedrukt wordt. Indien de temperatuur van het water OK wordt de volgende stap uitgevoerd. 

In de tweede stap gaat de rolkraan naar links, richting spoelcabine. Indien de rolkraan de eindeloop links bereikt wordt de volgende stap geactiveerd. 

In de derde stap blijft de rolkraan 10 seconden staan in de spoelcabine.  

In een vierde stap beweegt de rolkraan terug naar de oorspronkelijke startplaats. 

Deze oefening wordt stap voor stap in de opleiding uitgewerkt. 

  

   

Page 77: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Opd

rachten 

74  

10.5 Tapijtoproller   

Bij een tapijtenproducent staat een tapijtoproller. Onderstaande figuur heeft een schematische voorstelling van de oprolmachine. De cijfers in de voorstelling stellen de zin van de flow in de machine voor.  

 

 

Overzicht in­ en uitgangen  

 

 

 

 

 

 

   

Page 78: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Opd

rachten 

75  

Verloop van de oprolcyclus  

o Nadat een operator een tapijt op de aanvoerband legt (I1), moet de aanvoerband na 5s beginnen draaien. 

o Ziet sensor I2 het tapijt, dan moet de tussenband ook beginnen draaien. Ziet dezelfde sensor het tapijt niet meer, dan moet de aanvoerband stilvallen. 

o Komt sensor I3 hoog, dan moet de tussenband stilvallen. Na 2 seconden gaat het tapijt via “Invoerband rolmachine” naar de rolmachine. 

o Wanneer het tapijt in de rol‐as van de machine zit (I4), dan moet “invoerband rolmachine” stoppen met draaien en kan het rollen starten. Zowel de folie‐gever als de roller worden tegelijk geactiveerd. Wanneer het tapijt 5 toeren gedraaid heeft (sensor I5 geeft per toer een puls) dan kan er geknipt worden. Het knippen is een uitgang die gedurende een seconde actief is. Wanneer het knippen start, moet de foliegever stoppen. Het rollen moet nog 3 seconden aangehouden blijven na het knippen. 

o Wanneer uiteindelijk ook het rollen stopt, moet de afduwer het tapijt afstoten tot op de invoerband van de kipper. De afduwer blijft vooruitgaan tot hij aan de eindeloop zit. (I7)  

o Is de ingang I7 hoog, (d.w.z. dat tapijt op de invoerband van de kipper ligt) dan moet de Invoerband van de kipper geactiveerd worden Ook moet de afduwer zich weer naar de beginpositie begeven. (afduwer achteruit tot I6 bereikt is) 

o Is het tapijt tot aan ingang I8 gevorderd, dan moet de Invoerband kipper stoppen. Wanneer de band gestopt is en wanneer de afduwer weer op de beginpositie staat, dan pas kan het kippen geactiveerd worden. Deze uitgang moet gedurende 5 seconden actief staan. Op die manier wordt het opgerolde tapijt in een kar gekipt. De cyclus is ten einde. 

o De volledige cyclus moet steeds opnieuw kunnen herhaald worden. o Archiveer deze opdracht onder de naam “Oprolcyclus Voornaam Familienaam” (op 

bureaublad)  

Bediening: o Wanneer de stopknop bediend wordt, dan moet het huidige tapijt nog volledig afgewerkt 

worden en daarna stopt de machine. De machine kan enkel terug opgestart worden wanneer de machine volledig stilgevallen is en als de startknop ingedrukt wordt.  

Signalistatie: o Wanneer de machine in normaal bedrijf is, moet de groene lamp vast branden en is de rode 

lamp gedoofd. Wanneer op de stopknop gedrukt wordt, moet de rode lamp beginnen knipperen (2s hoog, 1s laag). Wanneer het huidige tapijt afgewerkt is, na bediening van de stopknop, dan brandt de rode lamp continu. 

 

Tellers  o De volgende zaken moeten opgevolgd kunnen worden: 

• Het aantal meter folie dat verbruikt is. Telkens een tapijt gerold is, wordt ongeveer 2meter folie verbruikt. (teller1) 

• Hoeveelheid afgewerkte tapijten. (teller2) o Via knop I11 kunnen beide tellers gereset worden. 

 

 

 

 

Page 79: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Opd

rachten 

76  

 

Hoofdprogramma 

 

Functiebouwsteen Blokgolf (* Takt *) TON_Taktpuls(IN := NOT TON_Taktpuls.Q, PT := T#3s); TP_Blokgolf(IN := TON_Taktpuls.Q, PT:= T#2s); Q := TP_Blokgolf.Q; 

 

Functiebouwsteen StartStop  R_TRIG_Start(CLK:= i_xStart); R_TRIG_Stop(CLK:= i_xStop); Blokgolf_1();  (* Controlblok *) IF  R_TRIG_Start.Q  AND NOT i_xStop  THEN   q_xVrijgave := TRUE;   xStartGedrukt := TRUE;   xStopGedrukt := FALSE; END_IF;   IF  R_TRIG_Stop.Q  THEN   q_xVrijgave := FALSE;   xStopGedrukt := TRUE;   xStartGedrukt := FALSE; END_IF; 

Page 80: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Opd

rachten 

77  

(* Signalisatie *) IF  xStopGedrukt  AND NOT  i_xCyclusGedaan  THEN   q_xRodeLamp := Blokgolf_1.Q;   q_xGroeneLamp := FALSE; ELSIF  xStopGedrukt  AND  i_xCyclusGedaan  THEN   q_xRodeLamp := TRUE;   q_xGroeneLamp := FALSE; ELSIF  xStartGedrukt  THEN   q_xGroeneLamp := TRUE;   q_xRodeLamp := FALSE; END_IF; 

  

Functiebouwsteen Oprolcyclus  (* Timers *) TON_TapijtOpAanvoer(IN := i_xTapijtOpAanvoer, PT := T#5s); q_tTijd_TapijtOpAanvoer := TON_TapijtOpAanvoer.ET; TON_EindeTussenband(IN := i_xEindeTussenband, PT :=T #2s); q_tTijd_EindeTussenband := TON_EindeTussenband.ET; TP_Knippen(IN := xStartKnippen, PT := T#1s); Tijd_Knippen := TP_Knippen.ET; TON_Rollen(IN := xStartKnippen, PT := T#3s);  Tijd_EindRollen := TON_Rollen.ET; TP_Kipper(IN := iStapteller =11, PT := T#5s); Tijd_Kipper := TP_Kipper.ET;  (* Counter *) CTU_Rollen(CU := iStapteller = 7 AND i_xTapijtGedraaid, RESET :=CTU_Rollen.Q, PV := 5); AantalRolPulsen := CTU_Rollen.CV;  (* Flankdetecties *) R_TRIG_EindeAanvoer(CLK := i_xEindeAanvoer); F_TRIG_EindeAanvoer(CLK := i_xEindeAanvoer); R_TRIG_EindeTussenband(CLK := i_xEindeTussenband); R_TRIG_TapijtInRolas(CLK := i_xTapijtInRolas); R_TRIG_AfduwerEind(CLK := i_xAfduwerEind); R_TRIG_AfduwerBegin(CLK := i_xAfduwerBegin); R_TRIG_EindeInvoerKipper(CLK := i_xEindeInvoerKipper); F_TRIG_Kipper(CLK := q_xKipper); R_TRIG_ResetTellers(CLK := i_xResetTellers);  

 (* ‐‐‐‐‐‐‐‐‐‐‐Rolcyclus ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐*)  CASE  iStapteller  OF  1:   q_xCyclusGedaan := TRUE;    

IF i_xVrijgave AND TON_TapijtOpAanvoer.Q THEN     iStapteller := iStapteller + 1;   END_IF; 

Page 81: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Opd

rachten 

78  

 2:   q_xCyclusGedaan := FALSE;   q_xAanvoerband := TRUE;    IF R_TRIG_EindeAanvoer.Q THEN     iStapteller := iStapteller + 1;   END_IF;  3:   q_xTussenband := TRUE;  

IF F_TRIG_EindeAanvoer.Q THEN     iStapteller := iStapteller + 1;       END_IF;  4:  q_xAanvoerband := FALSE; 

IF R_TRIG_EindeTussenband.Q THEN     iStapteller := iStapteller + 1;   END_IF;    5:  q_xTussenband := FALSE; 

 IF TON_EindeTussenband.Q THEN 

    iStapteller := iStapteller + 1;     END_IF;  6:   q_xInvoerbandRol := TRUE; 

 IF R_TRIG_TapijtInRolas.Q THEN 

    iStapteller := iStapteller + 1;     END_IF;  7:  q_xInvoerbandRol := FALSE;   q_xFolieGever := TRUE;   q_xRollen := TRUE;  

IF CTU_Rollen.Q THEN     iStapteller := iStapteller + 1;         END_IF;  8:   q_xStartKnippen := TRUE;   q_xFolieGever := FALSE;   q_iAantalMeterFolie := q_iAantalMeterFolie + 2; 

q_xFolieKnippen := TP_Knippen.Q;    

IF TON_Rollen.Q THEN     iStapteller := iStapteller + 1;     END_IF;  9:  q_xRollen := FALSE;   q_xStartKnippen := FALSE;   

Page 82: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Opd

rachten 

79  

IF i_xAfduwerBegin THEN     iStapteller := iStapteller + 1;   END_IF;  10:  q_xAfduwerVooruit := TRUE;  

IF R_TRIG_AfduwerEind.Q THEN     q_xAfduwerVooruit := FALSE;     q_xInvoerbandKipper := TRUE;     q_xAfduwerAchteruit := TRUE;     END_IF;    IF R_TRIG_AfduwerBegin.Q THEN     q_xAfduwerAchteruit := FALSE;     xOK1 := TRUE;    END_IF;    IF R_TRIG_EindeInvoerKipper.Q THEN     q_xInvoerbandKipper := FALSE;        xOK2 := TRUE;   END_IF;    IF xOK1 AND xOK2 THEN     iStapteller := iStapteller + 1;     END_IF;  11:  xOK1 := FALSE;   xOK2 := FALSE; 

q_xKipper := TP_Kipper.Q;    IF F_TRIG_Kipper.Q THEN     q_iAfgewerkteTapijtjes := q_iAfgewerkteTapijtjes + 1;     iStapteller := 1;   END_IF; END_CASE;   q_iStap := iStapteller;  (* Reset Tellers *) IF R_TRIG_ResetTellers.Q THEN   q_iAantalMeterFolie := 0;   q_iAfgewerkteTapijten := 0; END_IF;    

Page 83: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Opd

rachten 

80  

10.6 Voorbeeld in ST met array’s en structuren   

Bedoeling: op een installatie moeten drie events opgevolgd worden. Per uur moet het aantal keer dat één van deze events opgetreden is bijgehouden worden, alsook in welke minuut. Om het uur kunnen mogen deze gegevens gewist worden.  

Per event moet de naam, het aantal keer per uur en een tabel met het tijdstip bijgehouden worden. 

Uiteindelijk moet volgende structuur bekomen worden: 

 

Page 84: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Opd

rachten 

81  

Hiervoor moeten volgende datatypes aangemaakt worden: 

TYPE 

  logtabel: ARRAY [0..10] of int; 

  string15 : string(15); 

  eventgegevens: 

    STRUCT 

      eventnaam : string15; 

      aantal_keer_event : INT; 

      tijdstippen : logtabel; 

    END_STRUCT; 

  eventlogboek:   ARRAY [1..3] of eventgegevens; 

END_TYPE 

 

Vervolgens wordt een programma aangemaakt.  

Een variabele met de naam  ‘eventdata’ wordt aangemaakt van het datatype ‘eventlogboek’. 

 

Oplossing in ST: 

if  uur_vorige_cyclus  <>  RTC_HOURS  then 

  for eventnr := 1 to 3 do 

    eventdata[eventnr].aantal := 0; 

    for index := 1 to 10 do 

      eventdata[eventnr].tijdstippen[index] := 0; 

    end_for; 

  end_for; 

end_if; 

 

uur_vorige_cyclus := RTC_HOURS; 

Page 85: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Opd

rachten 

82  

 

R_TRIG_1(CLK:= ONBOARD_INPUT_BIT0); 

R_TRIG_2(CLK:=  ONBOARD_INPUT_BIT1); 

R_TRIG_3(CLK:= ONBOARD_INPUT_BIT2); 

 

if R_TRIG_1.Q then 

  index := eventdata[1].aantal +1; 

  eventdata[1].tijdstippen[index] := RTC_MINUTES; 

  eventdata[1].aantal_keer_event := index; 

end_if; 

 

if R_TRIG_2.Q then 

  index := eventdata[2].aantal +1; 

  eventdata[2].tijdstippen[index] := RTC_MINUTES; 

  eventdata[2]. aantal_keer_event := index; 

end_if; 

 

if R_TRIG_3.Q then 

  index := eventdata[3].aantal +1; 

  eventdata[3].tijdstippen[index] := RTC_MINUTES; 

  eventdata[3]. aantal_keer_event := index; 

end_if; 

   

Page 86: Cursus ILC 150 ETH V1_50 NL.pdf

IT Powered Automation: multifunctionele besturingen   PHOENIX CONTACT             

 

Opd

rachten 

83  

Bijlage I: Licentie PC WORX

(Programming, Configuration, Parameterization, Diagnostics Softwaretool) .

Uw starterkit bevat een PC WORX Basic versie 5 licentie. De licentie code voor PCWORX Basic versie 5 is:

19E80-19A75-E3B30-C895B-8D8CF-04541-B5E. Mocht u deze software nog niet in uw bezit hebben dan kunt u deze downloaden van onze website: www.phoenixcontact.nl rubriek Download Center en zoeken op artikelnummer 2985660 en scrollen naar “AUTOMATIONWORX Software Suite 2008 Demo Programming, Configuration, Parameterization, Diagnostics” (AX_Suite_2008_140.zip) (User ID: TSS en password: download). Wanneer u deze licentie wilt updaten naar de nieuwste PC WORX Basic versie 6, bieden we u hiervoor een voucher aan voor de licentie voor de “AUTOMATIONWORX Software Suite 2009 Demo Programming, Configuration, Parameterization, Diagnostics” (AX_Suite_2009_150.zip). Mocht u deze software nog niet in uw bezit hebben dan kunt u deze downloaden van onze website: www.phoenixcontact.nl rubriek Download Center en zoeken op artikelnummer 2985725 en scrollen naar Demo-Software (User ID: TSS en Password: download).  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Voucher PC WORX Basic update licentie 

Artikelnummer:   2985262 Artikelomschrijving:   Software‐update voor PC WORX BASIC versie 5.xx naar         PC WORX BASIC versie 6.xx. Prijs:      125,‐ Euro * 

* Maximaal 1 per betalende workshopdeelnemer.