CX-One: Een voorbeeld - DIDACTRIEKrubben.weebly.com/uploads/8/7/2/3/8723959/02-ris-01_20...13 F....

Post on 12-Feb-2020

3 views 0 download

Transcript of CX-One: Een voorbeeld - DIDACTRIEKrubben.weebly.com/uploads/8/7/2/3/8723959/02-ris-01_20...13 F....

1

F. Rubben, ing. CX Programmer: een oefening 1

CX-One: Een voorbeeld

Oefening op grafcet.

@2009

F. Rubben, ing.

F. Rubben, ing. CX Programmer: een oefening 2

CX-One Programmer: Een voorbeeld (0)

2

F. Rubben, ing. CX Programmer: een oefening 3

CX-One Programmer: Een voorbeeld (1)

� Doel:

� Bij het drukken op start (HR0.5) laat men de tank leeglopen.

� Als de tank leeg is (HR0.3 = “1”), dan wordt de tank gevuld.

� Als de tank gevuld is wordt er gedurende 15 minuten gemixed

� Daarna wordt de tank leeg gemaakt.

� Dit herhaalt zich tot er op stop (HR0.6) gedrukt wordt.

F. Rubben, ing. CX Programmer: een oefening 4

� Stap 1 > tank leeglopen

� Tank Leeg?

� Stap 2 > tank vullen

� Tank Vol?

� Stap 3 > mixen

� 15m?

� Stap 4 > tank leeglopen

� Machine actief én tank leeg > stap 2

Machine actief?

CX-One Programmer: Een voorbeeld (2)

3

F. Rubben, ing. CX Programmer: een oefening 5

� HR1.0 > HR0.2

� HR0.3

� HR1.1 > HR0.1

� HR0.4

� HR1.2 > HR0.0 & TIM001 (15m)

� TIM001

� HR1.3 > HR0.2

� HR0.5 & HR0.3

HR0.5

CX-One Programmer: een voorbeeld (3)Functiediagramma in symbolen

F. Rubben, ing. CX Programmer: een oefening 6

CX-One Programmer: Een voorbeeld (4)

4

F. Rubben, ing. CX Programmer: een oefening 7

CX-One Programmer: Een voorbeeld (5)

� De SFC omzetten naar ladder:

� In verschillende stappen

1. Ingangen inlezen

2. Fasen omzetten

3. Acties

4. Uitgangen wegschrijven

� Voor elke omzettin een andere “section”

nemen; voordelen bij foutzoeken.

F. Rubben, ing. CX Programmer: een oefening 8

CX-One Programmer: Een voorbeeld (6)

� Verschillende “sections” maken:

� “Insert Section” + “rename” elke section.

5

F. Rubben, ing. CX Programmer: een oefening 9

CX-One Programmer: Een voorbeeld (7)

F. Rubben, ing. CX Programmer: een oefening 10

CX-One Programmer: Een voorbeeld (8)

� Vooraleer te programmeren:

� benoemen de nodige IO.

� in ‘symbols’

� Hier in CX-One > een voordeel met tekst.

� de IO moet niet naar een hulpmerker!

� Uit principe > wél doen

6

F. Rubben, ing. CX Programmer: een oefening 11

CX-One Programmer: Een voorbeeld (9)

� Hier zijn enkel de IO’s aangebracht.

� Programmeer je deze in CX-One dan is er geen enkel probleem als je van adres moet veranderen.

F. Rubben, ing. CX Programmer: een oefening 12

CX-One Programmer: Een voorbeeld (10)

� Programmeer de inputs.

� Zie volgende slide

7

F. Rubben, ing. CX Programmer: een oefening 13

CX-One Programmer: Een voorbeeld (10)

F. Rubben, ing. CX Programmer: een oefening 14

CX-One Programmer: Een voorbeeld (11)

� Merk op HR’s:� weinig uitleg bij het programmeren.

� Ook de HR’s kun je dus in de symboollijst opnemen!!!� VERPLICHT!

� Dit maakt het verbeteren van het programma eenvoudiger!!!

� Dit maakt het gebruik van visualisatie eenvoudiger (=> inspelen op HR en niet op IR!)

8

F. Rubben, ing. CX Programmer: een oefening 15

CX-One Programmer: Een voorbeeld (12)

F. Rubben, ing. CX Programmer: een oefening 16

CX-One Programmer: Een voorbeeld (13)

9

F. Rubben, ing. CX Programmer: een oefening 17

CX-One Programmer: Een voorbeeld (14)

1. Programmeren van de Inputs naar HR.

� Uitgevoerd!

2. Programmeren van de fasen.

1. Fasen als symbolen

F. Rubben, ing. CX Programmer: een oefening 18

CX-One Programmer: Een voorbeeld (15)

� Ten eerste de fasen als symbolen programmeren!

10

F. Rubben, ing. CX Programmer: een oefening 19

CX-One Programmer: Een voorbeeld (16)

1. Programmeren van de Inputs naar HR.� Uitgevoerd!

2. Programmeren van de fasen.1. Fasen als symbolen

2. Fase wordt geset als:� De vorige fase hoog is

EN� De overgangsvoorwaarde hoog is

3. Fase wordt gereset als:� De volgende fase hoog wordt.

F. Rubben, ing. CX Programmer: een oefening 20

� Stap 1 > tank leeglopen

� Tank Leeg?

� Stap 2 > tank vullen

� Tank Vol?

� Stap 3 > mixen

� 15m?

� Stap 4 > tank leeglopen

� Machine actief én tank leeg > stap 2

Machine actief?

CX-One Programmer: Een voorbeeld (17)

11

F. Rubben, ing. CX Programmer: een oefening 21

F. Rubben, ing. CX Programmer: een oefening 22

CX-One Programmer: Een voorbeeld (19)

1. Programmeren van de Inputs naar HR.

2. Programmeren van de fasen.

3. Programmeren van de acties.

12

F. Rubben, ing. CX Programmer: een oefening 23

� Stap 1 > tank leeglopen

� Tank Leeg?

� Stap 2 > tank vullen

� Tank Vol?

� Stap 3 > mixen

� 15m?

� Stap 4 > tank leeglopen

� Machine actief én tank leeg > stap 2

Machine actief?

CX-One Programmer: Een voorbeeld (20)

F. Rubben, ing. CX Programmer: een oefening 24

CX-One Programmer: Een voorbeeld (21)

13

F. Rubben, ing. CX Programmer: een oefening 25

CX-One Programmer: Een voorbeeld (22)

� Let op de timerfunctie!!!

� Nummer van timers in CX-one overlappen met counters!

� 0 tot 127

� Oproepen als functie

� typ dan “TIM nrTimer #aantal 0,1Sec

� Bijvoorbeeld TIM 001 #9000

� 9000 = 10 x 60 x 15

� Dit is nu een constante; kan ook veranderen door gebruik te maken van een HR (woord!)bijvoorbeeld: TIM 002 HR7

F. Rubben, ing. CX Programmer: een oefening 26

CX-One Programmer: Een voorbeeld (23)

1. Programmeren van de Inputs naar HR.

2. Programmeren van de fasen.

3. Programmeren van de acties.

4. Programmeren van de outputs

14

F. Rubben, ing. CX Programmer: een oefening 27

CX-One Programmer: Een voorbeeld (24)

� Programmeren van de outputs?

� HR’s naar de outputs sturen!

F. Rubben, ing. CX Programmer: een oefening 28

CX-One Programmer: Een voorbeeld (25)

� Voilà, dit zou moeten werken…

� Laat ons het eens testen!

15

F. Rubben, ing. CX Programmer: een oefening 29

CX-One Programmer: Een voorbeeld (26)

F. Rubben, ing. CX Programmer: een oefening 30

CX-One Programmer: Een voorbeeld (22)

� Na deze module kun je nu

� Een grafcet individueel opstellen

� Een programma in CX-one maken

� Set/Reset

� Timers

� Gebruik makend van symbolen