Pro-H een begin

advertisement
ActWin training
ActWin Training
Windows Programmeerpakket voor de Hitachi PLC’s EH, H,
EMII en EC serie
1
ActWin training
ActWin Training
Windows Programmeerpakket voor de Hitachi PLC’s EH, H,
EMII en EC serie
ActWin versie 3.28A (maart 2002)
Versie
: Mei 2003
www.esco-transmissions.be
[email protected]
[email protected]
Copyright  2002 Hiflex Automatiseringstechniek B.V.
2
ActWin training
Inleiding
Voor het programmeren van de Hitachi PLC’s kunnen verschillende
softwarepakketten worden toegepast. Hierin valt het onderscheidt te
maken tussen het DOS-pakket en de Windows-pakketten. In deze
cursus zal er geprogrammeerd worden met het Windowspakket
ActWin. Met ActWin is het mogelijk om zowel voor de Hitachi mode te
kiezen als voor de IEC61131-3 mode.
In deze cursus zal er naast programmering van ActWin gebruik
gemaakt worden van de Hitachi EH150 PLC. De EH-150 is een nieuwe
generatie PLC met een 32bits-RISC processor, en gebruik makend
van de techniek zoals deze in de grote-H serie wordt toegepast. Alle
EH-150 CPU’s beschikken standaard over 2 communicatiepoorten
hierdoor is mogelijk om tegelijkertijd te monitoren/programmeren op
poort 1 en poort 2 te gebruiken voor een MMI/SCADA koppeling. De
EH-150 is opgedeeld in verschillende CPU klassen.
•
•
•
•
•
EH-150 CPU104A
EH-150 CPU208A
EH-150 CPU308A
EH-150 CPU316A
EH-150 CPU448
In deze cursus zal er gebruik worden gemaakt van de EH150 CPU308.
Deze CPU beschikt onder andere standaard over een RTC, een
RS485 en RS232 communicatie poort, 32kByte geheugen en kan tot
16 I/O modules geprogrammeerd worden.
3
ActWin training
Inleiding
3
ActWin
7
Opbouw van deze cursus
8
1. Wat en Hoe?
9
1.1 ActWin
9
2. Gebruikte opstelling
10
2.1 De PLC (Programmable Logic Controller)
10
2.2 De Hardware configuratie van de PLC
11
2.3 De (cursus) configuratie
13
2.4 I/O benaming en nummering
13
3. Adressering
14
3.1 Nummering (bit-niveau)
15
3.2 Nummering (woord-niveau)
15
3.3 Overzicht
15
4. Interne uitgangen
16
4.1 Gecombineerde Bit/Woord Plaatsen
16
4.2 Woord en bit toegekende plaatsen
17
4.3 Opmerking bij het gebruik van merkers en woordmerkers
18
5. Instructies
19
5.4 Flankdetectie
20
5.5 Master Control SET/RESET
20
5.6 Timers en tellers
21
6. Programma verwerking
23
6.1 Refresh I/O
24
6.2 Scan en Interupt
25
6.3 Retentive geheugen
25
7. Koppeling PLC - Simulatie-kastje
27
8. Inleiding Software
28
9. Opbouw van de software-lagen
29
4
ActWin training
10. Opmaak ActWin
30
10.1 Iconenbalken:
31
10.2 De Boomstructuur
32
10.3 Programma onderdelen
32
10.4 Hardwareconfiguratie
33
10.5 Instellingen
33
10.6 Libaries (bibliotheken)
34
11. Programmeerveld
35
11.1 Symbolenlijst
35
11.2 Cross Reference Window
36
11.3 Watch Window
36
12. Samenvatting Software
37
13. Inleiding ActWin configureren
38
14. Opstarten ActWin
39
15. Project Opzet
40
15.1 Nieuw Project
16. Opzet boomstructuur
16.1 Communicatieparameter
17. Inleiding Adressering binnen ActWin (IEC 61131-3)
40
42
44
45
17.1 Adresseren
45
17.2 Elementaire Data Types
46
17.3 Bepalen adressering
47
18. Samenvatting Adressering
48
19. Inleiding Elementaire logische instructies
49
20. Logische instructies
50
20.1 Ingeven van een logische instructie
50
20.2 Downloaden
53
20.3 Debuggen
54
20.4 Monitorlijst
54
20.5 Online
55
20.6 Wijzigen
56
20.7 Invoegen en Tussenvoegen
58
5
ActWin training
21. Samenvatting
59
22. Geheugenfuncties
60
22.1 Master Control
61
23. Tijdsfunctie
62
23.1 Vertraagd opkomend
62
23.2 Integral Timer (TMR)
63
23.3 Single Shot
64
23.4 Monostabiele Timer (MS)
64
23.5 Counter
65
23.6 Teller Optellen (Counter Up)
65
23.7 Ringcounter
67
23.8 Up-Down Counter
68
24. Wijzigen data gebieden
70
24.1 Verplaatsen
70
24.2 Verwisselen
71
25. Exporteren van Data
72
26. Woordverwerking
73
26.1 Getallenstelsels
74
26.2 Decimalestelsel
74
26.3 Binairestelsel
74
26.4 Hexadecimale stelsel
75
26.5 Datasamenstelling
76
26.6 Vergelijkingsbox
76
26.7 Rekenkundigebox
78
27. Programmastructuur
81
27.1 SUB-Routine
82
27.2 JUMP instructie
83
27.3 Interrupt
84
27.4 Controle en Statusgebieden
85
6
ActWin training
ActWin
Doelgroep:
-
Technici/programmeurs, Service-monteurs
-
De cursist heeft basis kennis op het gebied van Windows.
De cursist heeft kennis van de verschillende getallenstelsels
zoals binair, decimaal, octaal en hexadecimaal.
De cursist heeft kennis van logische schakelingen zoals AND,
OR, NAND, NOR, XOR, NOT etc.
De cursist heeft een basiskennis op het gebied van PLC’s
Voorkennis:
-
Doelstelling:
-
De cursist kan na het volgen van de cursus ActWin training
zelfstandig met behulp van ActWin, gebruik makend van de
programmeer eenheden zoals aangereikt in deze cursus, een
Hitachi PLC programma opzetten.
-
1 dag
Cursusduur:
7
ActWin training
Opbouw van deze cursus
Inleiding Hitachi PLC’s
Functionele werking
Opbouw ActWin
Opzet van een project
Elementaire instructies
Tijd- en Tel instructies
Woordverwerking
Rekenkundige en
Vergelijkingsinstructies
Gestructureerde
programmering
8
ActWin training
1. Wat en Hoe?
In het volgende hoofdstuk zal en begin gemaakt worden met ActWin
en zal er nader worden ingegaan op de Hitachi PLC serie EH.
1.1 ActWin
ActWin is een programmeer pakket voor IEC ontworpen- en
traditionele PLC’s. Het pakket is gebaseerd op standaard
programmeertaal IEC 61131-3 en beschikt derhalve dan ook over de
volle IEC mogelijkheden.
Doordat ActWin Windows programmeerpakket is beschikt het over
“tools” als in- en uitzoomen, knippen, plakken, kopiëren, klik en sleep
etc. deze tools zorgen ervoor dat u op een eenvoudige en snelle wijze
uw projecten kunt opzetten. Ook het aanpassen van de iconenbalken
en een shortcut manager behoren tot de mogelijkheden.
Binnen ActWin treft u een zeer complete en overzichtelijke Debug aan
welke ervoor zorgt dat u eenduidig wordt geïnformeerd over uw project
opzet. De boomstructuur zorgt ervoor dat de opmaak van uw project
duidelijk wordt weergegeven.
9
ActWin training
2. Gebruikte opstelling
Zoals in de inleiding beschreven zal er tijdens deze cursus gebruik
worden gemaakt van de Hitachi EH-150 ofwel Hitachi Micro-EH. Naast
deze PLC treft u ook het simulatie kastje of een scherm aan zoals
hieronder afgebeeld.
100
0909
0F69
100
50
0
50
0
Door middel van het simulatiekastje kunt u uw programmering van de
cursus opgenomen opdrachten controleren. Het simulatiekastje
beschikt over digitale in- en uitgangen in de vorm van lampjes,
schakelaars, duimwielschakelaar en het 7 segments display. Analoge
in- en uitgangen treft u aan in de vorm van potentiometers en
naalddisplays.
2.1 De PLC (Programmable Logic Controller)
De PLC (EH-150) en het simulatiekasje zijn met elkaar verbonden. Dit
is een vaste installatie wat betekend dat de indeling van de in en
uitgangen op het simulatiekastje overeenkomen met bepaalde in- en
uitgangsmodulen van de PLC.
De programma’s die u in deze cursus zal gaan programmeren zullen
dus betrekking hebben op de EH-150 in combinatie met het
simulatiekastje. Het is dus van belang om te weten hoe de configuratie
van de EH-150 is opgebouwd.
10
ActWin training
2.2 De Hardware configuratie van de PLC
Bovenstaand is de “kale” configuratie weergegeven. De Backplane
bestaat uit een basisplaat en een uitbreidingsplaat. De basisplaat
wordt door middel van een verbindingskabel en een I/O controller
verbonden met de uitbreidingsplaat. De modulen zoals VU, CPU en I/O
worden geplaatst op de backplane. Wanneer we kijken naar basisplaat
dan zal altijd dezelfde configuratie volgorde gezien worden, namelijk:
Voedingsmodule - CPU (central processing unit) - I/O .......
De uitbreidingsplaat daar en tegen kent de volgende volgorde:
Voedingsmodule - I/O Controller - I/O ......
Op de uitbreidingsplaat zit dus geen CPU. De volgorde van voeding CPU - I/O of voeding - I/O Controllerstaat - I/O vast een andere
volgorde is dus niet toegestaan. Voeding altijd in het eerste rack slot
gevolgd, bij een basisrack, door CPU of, bij een uitbreidingsrack, door
de I/O Controller.
De backplanes wordt aangegeven met EH-BS met als suffix het aantal
I/O sloten bijvoorbeeld:
EH-BS5
Voeding + CPU + 5 I/O
Wanneer er gebruik gemaakt wordt van de H-series 200/250 en 252
dan zal er rekening mee gehouden moeten worden dat de CPU in het
basisrack (BSM of BSH) één module plaats inneemt dus:
BSM-6
BSH-7
Voeding + CPU + 5 I/O
Voeding + CPU + 6 I/O
Selecteer bij gebruik van de Hitachi H252B en C de BSH behuizing. De
Hitachi H200 wordt altijd in een BSM behuizing geplaatst.
11
ActWin training
12
ActWin training
2.3 De (cursus) configuratie
Wanneer we de “kale” configuratie gaan invullen met Hitachi eigen
modules dan zal het volgende te zien zijn. Vul de ontbrekende
specificatie’s in.
Rack num.
Slot num.
Benaming
Soort I/O
Aantal I/O
.....0........
.NVT.
PSM-D
...NVT....
...NVT.....
.....0........
.NVT.
CPU 252C
...NVT....
...NVT.....
.....0......
..0...
PIM-DPH
..digitaal.
...16......
...............
......
………….
..............
...............
...............
......
………….
..............
...............
...............
......
………….
..............
...............
...............
......
………….
..............
...............
...............
.NVT.
PSM-D
...NVT....
....NVT....
...............
......
…………
..............
...............
...............
......
…………
... …......
...............
...............
......
…………
.…….....
...............
...............
......
…………
.…….....
...............
.............
......
…………
.…….....
...............
2.4 I/O benaming en nummering
Wanneer er geprogrammeerd gaat worden dan zullen we, afhankelijk
van de configuratie, de PLC moeten vertellen waar de I/O te vinden is
en wat voor I/O het is.
Er zal rekening gehouden moeten worden met het nummer van de
montageplaat- en slotnummer, met in- of uitgang en digitaal of
analoog. Laten we beginnen met wat voor I/O we willen aanspreken.
Benamingen
Hitachi
IEC61131
X
WX
Y
WY
%I
%IW
PLC
Ingang
Woordingang
%Q
Uitgang
%QW
Woorduitgang
13
ActWin training
3. Adressering
In dit hoofdstuk zal de adressering van de Hitachi-H PLC besproken
worden. We zullen zowel gaan kijken naar de digitale als naar de
analoge adressering. Daarnaast zal er gekeken worden naar de
externe en interne gebieden van de PLC.
De adressering van de externe in en uitgangen kan zowel op bit- als op
woordniveau worden gedaan. Er wordt dan onderscheid gemaakt
tussen digitale en analoge in- en uitgangen. Dit wordt bepaald aan de
hand van de gebruikte modules.
EH-Xxx (PIM-xxx) voor de digitale ingangsmodules
EH-Yxx (POM-xxx) voor de digitale uitgangsmodules
EH-AX (AGH-Ixx) voor de analoge ingangsmodules
EH-AY (AGH-Oxx) voor de analoge uitgangsmodules
14
ActWin training
3.1 Nummering (bit-niveau)
[BIT] X x x x x x
Bit nummer
Bit nummer
Slot nummer
Unit (Rack) nummer
Remote
I/O type
Voorbeeld X00105 (%I1.5) = ingang - geen remote - unit 0 (basisrack) slot 1 - bit 5
Vrij vertaald geeft dat: ingangsbit 5 van slot 1 in unit 0
3.2 Nummering (woord-niveau)
[WORD]WXx x x x
Woord nummer
Slot nummer
Unit (Rack) nummer
Remote
I/O type
Voorbeeld WY0010 (%QW1.0) = uigang - geen remote - unit 0
(basisrack) - slot 1 - woord 0
Vrij vertaald geeft dat: uitgangswoord 0 van slot 1 in unit 0
3.3 Overzicht
Type
X
WX
DX
Y
WY
DX
Bit
Byte
Woord
DW
In- uitgang
Extern ingang
Externe uitgang
Soort
Bit
Woord
Dubbelwoord
Bit
Woord
Dubbelwoord
Opmerking
De bit ingang op de module
Woord 16 bits
Dubbelwoord 32 bits
De bit uitgang op de module
Woord 16 bits
Dubbelwoord 32 bits
0 of 1
decimaal 0 - 1
8 bits
decimaal 0 - 255
2 Bytes / 16 bits
decimaal 0 - 65535
2 Woorden / 4 Bytes / 32 bits decimaal 0 - 4294967295
15
ActWin training
4. Interne uitgangen
Hiervoor is er vooral gesproken over de externe in- en uitgangen. Voor
deze in- en uitgangen zijn in- en uitgangsmodules nodig. Hierbij wordt
onderscheidt gemaakt naar digitale en analoge in- en
uitgangsmodules. Daarnaast kennen we nog speciale modules als
snelle tellers, PT100, positionerings- en busmodules.
Wanneer er echter verwerkingen binnen de PLC uitgevoerd moeten
worden kunnen we volstaan met door de fabrikant op de CPU
gereserveerde interne uitgangen. Deze interen uitgangen kunnen
onderverdeeld naar:
• Gecombineerde bit/woord plaatsen (M en WM)
• Woord toegekende plaatsen (WR)
• Bit toegekende plaatsen (R)
Deze spelen een belangrijke rol in het verwerken van data die niet
direct hoeft te worden uitgestuurd. Denk hierbij aan data opslag,
berekeningen, vergelijkingen etc.
In deze cursus zullen we ons vooral gaan bezig houden met de
Merkers en Registers. Naast de merkers en registers kent de EH-150
onder andere ook de DIF, SET en RESET functie Master control
SET/RESET Timers en Tellers.
4.1 Gecombineerde Bit/Woord Plaatsen
Binnen de Hitachi PLC’s worden deze plaatsen aangeduid met de term
merker en woordmerker. Zoals al uit de kop is op te maken bezetten
de bits en woorden dus het zelfde geheugen gebied in de PLC.
Afhankelijk van welke Hitachi PLC er gebruikt wordt staat u bepaald
merker gebied tot de beschikking. Om enig inzicht te geven in de
grootte van deze gebieden geven we hieronder een voorbeeld voor de
EH150 CPU 208:
Deze beschikt over 16.384 bit plaatsen wat overeenkomt met 1024
woorden. Dit betekent in de PLC:
Merkers van M0 tot M3FFF
Merkerwoorden van WM0 tot WM3FF
16
ActWin training
4.2 Woord en bit toegekende plaatsen
Deze plaatsen worden bij de Hitachi PLC aangeduid met register en
woordregister. In tegenstelling de merkers en woordmerkers maken de
registers en woordregister geen deel uit van elkaar. Het dus twee
gescheiden gebieden.
Een ander groot verschil met de merkers en woordmerkers is dat de
registers en woordregister tevens gebuikt worden voor speciale
functies. Hierbij kan worden gedacht aan woordregisters voor de CPU
status, real time clock en scantijden. Bij de register kunnen dit zijn
batterij status, pulsen (0.02, 0.1, 1.0 sec) en shiftbits. Deze speciale
register en woordregister staan op speciaal daarvoor gereserveerde
plaatsen en kunnen dan ook niet voor andere doeleinden gebruikt
worden.
Net als bij de merkers en woordmerkers staat er, afhankelijk van de
gekozen CPU, een bepaald gebied tot de beschikking van de
programmeur. Een voorbeeld voor de EH 150 CPU 208:
1.984 registers van R0 tot R7BF en 8.192 woordregisters van WR0 tot
WR1FFF. Voor de speciale gebieden staan 64 registers van R7C0 tot
R7FF en 512 woordregisters van WRF000 tot WRF1FF tot uw
beschikking
17
ActWin training
4.3 Opmerking bij het gebruik van merkers en woordmerkers
Zoals is besproken maken de merkers en woordmerkers deel uit van
elkaar bij de registers en woordregister is dit niet het geval. Let bij het
programmeren van merkers en registers op dit verschil. Wanneer er
een WM-gebied is geprogrammeerd dan zal er rekening moeten
worden gehouden met programmeren van de merkers. Deze kunnen
namelijk grote invloed op elkaar hebben bijvoorbeeld:
Stel dat we WM0 gebruiken voor het bijhouden van een telling. In WM0
staat bijvoorbeeld het aantal 204.
de inhoud van WM0 is dan: 0 0 0 0 0 0 0 0 1 1 0 0 1 1 0 0 = 204 dec
Stel dat er nu verder in het programma M05 wordt benoemd en dat hier
een 1 naar wordt geschreven. De inhoud van WM0 zal nu als volgt zijn:
0 0 0 0 0 0 0 0 1 1 1 0 1 1 0 0 = 236 dec
Voor de PLC betekend dit dat er nu een telling van 236 stuks, liter,
hectoliter etc. is gedaan. Hierdoor kunnen er acties ontstaan die op het
dat moment nog helemaal niet mogen worden uitgevoerd.
Daarnaast kan er natuurlijk ook goed gebruik worden gemaakt van
deze eigenschap. Zo kan een WM bijvoorbeeld worden gebruik voor
een status. Elke M heeft staat dan voor een status die tijdens het
proces worden geset en gereset. Wanneer het proces is voltooid kan
het status gebied gemakkelijk nul worden gemaakt door naar het
betreffende WM de waarde nul te schrijven.
18
ActWin training
5. Instructies
Al deze externe- en interne in- en uitgangen kunnen gebruikt worden
bij de instructies zoals deze in de Hitachi H-serie PLC gebruikt
worden.
Binnen de Hitachi H-serie worden 5 instructiesets onderscheiden te
weten:
•
Basis instructies zoals in- en uitgangen timers en counters en
vergelijkingen.
•
Rekenkundige instructies voor het uitvoeren van rekenkundige
opdrachten.
•
Applicatie instructies voor het uitvoeren van interne
woordbewerkingen.
•
Controle instructies voor het uitvoeren van programma
commando’s zoals Jump, Return Sub-routine en Next.
•
FUN instructies voor speciale commando’s zoals opdrachten
voor de programma verwerking PID opdrachten en instructies
voor de aansturing van speciale modules als de High Speed
Counter.
Afhankelijk van de gebruikte processor zult per instructieset kunnen
beschikken over meer of minder instructies. In het betreffende
handboek van de processor treft u de mogelijkheden aan. In de
volgende paragrafen zullen een aantal instructies worden besproken.
19
ActWin training
5.4 Flankdetectie
Naast de externe en interne contacten kent de Hitachi PLC ook nog
andere in en uitgangs specificaties. Een daarvan de flankdetectie die
aangeduid wordt met DIF en DFN. Respectievelijk flankdetectie op de
opkomende flank en op de neergaande flank.
Het toepassen van deze functie wordt gedaan wanneer men op een
binnenkomend of wegvallend signaal eenmalig (1 scan) een actie wil
uitvoeren. Denk hierbij bijvoorbeeld aan een rekenkundige actie, een
product die langs een sensor komt en op dat moment geteld moet
worden. Echter kan de tijd die het product voor de sensor ligt langer
zijn dan 1 scan zodat het dus meerdere malen geteld wordt. Door nu
een DIF/DFN toe te passen kan dit voorkomen worden.
Binnen de Hitachi PLC staan er 512 DIF/DFN plaatsen tot de
beschikken. Deze worden aangegeven met DIF/DFN0 tot DIF/DFN511.
5.5 Master Control SET/RESET
Met de Master Control Set en Reset kunnen bepaalde stukken van een
programma wel of niet worden uitgevoerd.
De master control SET/RESTET heeft een bereik van:
MCS0 tot MCS49 (SET)
MCR0 tot MCR49 (RESET)
De master control set en reset kunnen worden opgebouwd uit 8 lagen
20
ActWin training
5.6 Timers en tellers
Timers en tellers (counters) zijn belangrijke interne functie. Met deze
functies kunnen we bijvoorbeeld aantallen tellen, regeltijden setten etc.
Het gebied is een gecombineerd gebied en loopt van 0 tot 511. Hierbij
moet het volgende opgemerkt worden:
De timers lopen van 0 tot 255 (dit zijn er dus 256)
De tellers lopen van 0 tot 511 (dit zijn er dus 512)
Het is echter één gebied. Om een goede scheiding tussen deze twee
te creëren is het aan te raden om de timers van 0 tot 255 te laten lopen
en de tellers van 256 tot 512.
Wanneer timer 0 is gebruikt kan counter 0 niet meer worden
geprogrammeerd. Het is dus niet toegestaan om timers en counters te
laten overlappen.
21
ActWin training
5.6.1 Indeling timers en tellers
TD
SS
WDT
MS
TMR
CU
RCU
CTU
CTD
CT
CL
TC
bit
bit
bit
bit
bit
bit
bit
bit
bit
bit
bit
word
On delay timer
Single-shot timer
Watchdog timer
Monostabiele timer
Retentive timer
Counter up
Ring counter
Counter up-down counter “up” ingang
Counter up-down counter “down” ingang
Counter up-down uitgang
Clear Counter
Actuele waarde
Afhankelijk van de toepassing word er dus gekozen voor een bepaalde
timer/counter. De actuele waarde wordt altijd teruggevonden in de TC.
Dit betekent bijvoorbeeld dat wanneer TD0 wordt geprogrammeerd de
actuele waarde van TD0 kan worden teruggevonden in TC0.
Deze actuele waarde kan bijvoorbeeld worden gebruikt voor
terugkoppeling naar een bedienpaneel. Ook is het mogelijk om de
actuele waarde te gebruiken voor bepaalde acties binnen de applicatie.
Looptijd van de timer
Starttimer
Halverwege de PRESET
Eindetimer
22
ActWin training
6. Programma verwerking
De programma verwerking van de PLC zal plaats vinden in de CPU.
Zoals al eerder besproken treft u deze CPU aan op de montageplaat.
De CPU kent een tweetal geheugenplaatsen het systeemgeheugen en
het programmageheugen. Het systeemgeheugen is een door de
fabriek ingesteld gebied waardoor de CPU/PLC zijn eigenschappen
verkrijgt. Dit gebied is derhalve dan ook niet door de
programmeur/gebruiker te wijzigen. Het programma geheugen daar en
tegen is door de programmeur/gebruiker vrij te wijzigen (natuurlijk
binnen de parameters van het systeem).
De CPU zal zijn programma op een bepaalde wijze afhandelen. Hierbij
wordt het onderscheid gemaakt tussen:
Refresh I/O en Direct I/O
23
ActWin training
6.1 Refresh I/O
Bij refresh I/O worden in- en uitgangen tijdens het doorlopen van het
programma naar een buffergeheugen weggeschreven. Nadat het
programma is doorlopen zal het buffergeheugen uitgelezen en naar de
uitgangen worden weggeschreven en de ingangen opnieuw worden
ingelezen.
De scantijd is mede afhankelijk van het geschreven programma,
normaal is een scan tussen de 5 en 30ms.
Direct I/O
Hier wordt de ingangswaarde direct gelezen, de uitgang zal direct
worden aangestuurd.
Opmerking
Doordat refresh I/O eerst alles naar een buffergeheugen wegschrijft
kan in de minst ideale situatie een reactie 2 scan tijden duren. Bij direct
I/O is dit door de directe verwerking 1 scan tijd.
24
ActWin training
6.2 Scan en Interupt
Normale scan en peridic scan
Naast de normale scan die steeds opnieuw wordt uitgevoerd, worden
op tijdbasis 4 interrupt routines uitgevoerd (3 voor Micro-EH).
INT 0
INT1
INT2
INT3
-
5 msec scan
10 msec scan
20 msec scan
40 msec scan
Wanneer een normale scan volloopt ten gevolge van een periodic scan
wordt een normal scan congetion error gegeven (bit R7D1)
De watch dog timer staat normaal op 100msec. De watch dog timer is
instelbaar tussen de 10msec en 2550msec.
Als 2 dezelfde periodic scans na elkaar komen zonder dat er tijd
overblijft voor de normale scan wordt er een periodic scan congestion
error gegeven.
6.3 Retentive geheugen
De geheugen gebieden zoals WR, R, WM, M, DIF en DFN zijn
standaard niet tegen spanningsuitval beschermd. Dit betekent dat zijn
bij spanningsuitval hun actuele waarde verliezen en bij het opstarten
met de waarde nul gevuld worden. Het kan echter gewenst zijn de PLC
bepaalde geheugen gebieden bij de opstart vult met waarden. Hierbij
kan gedacht worden aan geheugengebieden die worden gebruikt voor
de opslag van aantallen, machine uren, foutmeldingen en andere van
belang zijnde statussen.
Het is mogelijk om in de software gebieden aan te geven welke hun
waarde bij spanningsuitval moeten behouden. Het vasthouden
gebeurd door middel van de libat-H batterij die zicht op de CPU
bevindt.
PLC
Batterij
Data in het
retentive gebied
RTC
Flash geheugen
Normale Data
PLC prog.
Na spanninguitval
verloren
25
ActWin training
Dat deze batterij niet het eeuwige leven heeft zal duidelijk zijn. De
status van de batterij kan uitgelezen worden in een daarvoor
gereserveerd geheugen. Wanneer deze geheugenplaats de waarde 1
krijgt betekend dit dat de batterij aan vervanging toe is. Zorg ervoor dat
de PLC even op spanning wordt gezet voordat de batterij verwijderd
wordt. Wanneer de CPU uit het basisrack (H200/252) gehaald moet
worden zorg er dan voor dat de spanning van de PLC gehaald wordt.
Wanneer de batterij is verwijderd houdt de PLC +/- 1 minuut de
waarden vast.
Het overstappen van de EEPROM naar de FlashPROM maakt het
gebruik van batterijen steeds minder belangrijk. Zo heeft de Hitachi
EH-micro alleen nog een batterij nodig voor het vasthouden van de
juiste tijd voor de Real Time Clock en voor het vasthouden van de
interne variables.
26
ActWin training
7. Koppeling PLC - Simulatie-kastje
EH-150
RUN
POWER
EH-150
ERR
HITACHI
POWER
CPU EH-CPU208
HITACHI
R.CL
PORT
1
PORT
2
DISPALY
NAALDDISPLAYS
100
0909
DWS
0F69
100
50
50
0
0
POTENTIOMETERS
LAMPJES
SCHAKELAARS
Bovenstaand treft u de koppeling aan zoals deze in de cursus wordt
gehanteerd. In de praktijk zijn natuurlijk verschillende combinaties van
I/O mogelijk. Bij het programmeren zal in cursus dus rekening
gehouden moeten worden met bovenstaande opstelling.
Hoe definieert u de I/O’s?
De Schakelaars
X00000
tot
X00007
De DWS
WX10
De Lampjes
Y00200
tot
Y00207
Het Display
WY30
Potentiometers
WX00040
tot
WX00041
Uitleesvensters
WY00100
tot
WY00101
27
ActWin training
8. Inleiding Software
De volgende hoofdstukken zullen de opbouw van het programmeer
scherm behandelen. Hierin wordt gekeken naar de vier schermdelen
die te samen het programmeerscherm vormen. Het doel van dit
hoofdstuk is vooral om bekend te raken met de termen die in de
software worden gebruikt. Daarnaast zal er inzicht worden gegeven in
de opbouw van ActWin. Later in de cursus zullen bepaalde onderdelen
hiervan verder uitgediept worden.
28
ActWin training
9. Opbouw van de software-lagen
Een belangrijk deel van de cursus zal in het teken staan van de
programmeersoftware ActWin. De programmeersoftware is een
volledig 32 bits Windows georiënteerd programma.
Zoals al beschreven is ActWin is volledig Windows programmeerpakket.
Dit is dan ook in bediening van ActWin terug te vinden. Door middel van
Cut- Paste- Copy- Zoom etc is een project dan ook snel op te zetten.
Ook delen vanuit Microsoft Word kunnen worden ingepast in
informatieschermen.
29
ActWin training
10. Opmaak ActWin
Wanneer er gekeken wordt naar de opbouw van ActWin dan is deze
op te delen in vier vensters:
1. Iconen-balken / pulldownmenus (Windows-, ActWin en
Programmeericonen)
2. Boomstructuur (definitie programma structuur)
3. Programmeerveld (opzet programma)
4. Symbolen
30
Online
Online wijziging
Download
Upload
Monitor
Start
Stop
Windows
Help
About
Grid help
Wizard
Tekst
Vergelijkingsorgane
IEC-commando’s
Rekenkundigebox
Coil
Contact
Lijn
Cursor
In- uitzoomen
Undo
Clear
Plakke
Kopieren
Knippen
Print preview
Printen
Opslaan
Project openen
Nieuw project
ActWin training
10.1 Iconenbalken:
In de iconenbalken zijn de standaard Windows toepassingen en
specifieke Actwin toepassingen te vinden.
ActWin
PLC
31
ActWin training
10.2 De Boomstructuur
Boomstructuur 1
Bovenstaand is het boomvenster weergegeven. Met dit venster kan het
project op een overzichtelijke wijze georganiseerd en beheerd worden.
Binnen deze boomstructuur kan het project opgezet en gewijzigd
worden, dit gebeurt in vijf sublagen.
• Programma onderdelen
• Hardwareconfiguratie
• Instellingen
• Systeem bibliotheek
• Gebruikers bibliotheek
10.3 Programma onderdelen
In dit gedeelte van de boomstructuur wordt het geprogrammeerde
opgeslagen. Programmaonderdelen en gebruikte symbolen kunt u dan
ook in dit gedeelte terug vinden. Vanuit de symbols kunt eerder
gebruikte symbols direct importeren in uw applicatie.
32
ActWin training
10.4 Hardwareconfiguratie
Om te kunnen gaan programmeren zal bekend moeten zijn welke PLC
configuratie er gebruikt gaat worden. Naast de CPU zullen ook de
overige onderdelen zoals behuizing, voeding en in- uitputs bekend
moeten zijn. Dit alles wordt ingegeven in het onderdeel hardware
configuration. In dit onderdeel wordt dezelfde verdeling en volgorde
aangehouden zoals de onderdelen ook worden geïnstalleerd. Eerst
word de behuizing opgegeven om vervolgens de voeding, CPU
(eventuele memorypack) en in en uitgangsmodules op te geven.
Afhankelijk van de gebruikte PLC moet de programmeer dit zelf
ingeven of kan de PLC configuratie vanuit de PLC worden ingelezen.
10.5 Instellingen
Het volgende onderdeel van de boomstructuur zijn de setting. Dit
onderdeel is niet direct van belang voor de programmering. In dit
gedeelte treffen we de volgende onderdelen aan:
•
•
•
Print settings
Monitor
Data Memory
Zoals al doet vermoeden kunnen we met de Print settings de
instellingen voor de printer wijzigen en aanpassen. Echter is het alleen
mogelijk om hier de Header en Footer aan te passen. De overige
printersettings worden in het pulldown menu File aangepast.
Met Monitor is het mogelijk om een monitorlijst samen te stellen. Met
deze monitorlijst is het mogelijk om bepaalde adressen in de applicatie
te monitoren op hum status.
33
ActWin training
Data memory wordt gebruikt als we data vanuit de PLC willen lezen en
willen bewaren. Denk hierbij aan data op een bepaald moment die dan
uit de PLC gehaald wordt of wanneer er een wijziging wordt gedaan
aan een applicatie maar na deze wijziging de laatste status van voor
de wijziging terug willen (receptgegevens etc.)
10.6 Libraries (bibliotheken)
Libraries zijn projecten die door de programmeur benoemd zijn als
library. Met de libaries is het mogelijk om projecten, functie blokken,
functies en data types opnieuw te gebruiken in andere projecten.
Stel dat een bepaald onderdeel van een programma voor een
bepaalde machine ook terug komt bij andere programma’s. Het zou
dan zonde zijn om dit gedeelte steeds opnieuw te moeten
programmeren. Door nu dit gedeelte als libary op te slaan is het
mogelijk om het in andere projecten op een eenvoudige in te voeren.
In ActWin worden twee typen libary onderscheiden:
• System Libary:
Dit zijn libaries die voorgeprogrammeerde functies bezit. Vanuit de
System libary zijn deze gemakkelijk in het project te verwerken. Er
wordt onderscheidt gemaakt in:
• IEC standard
• IEC Compatible
• PLC specifiek
• User Library:
In de user libary kunnen door de gebruiker geprogrammeerde
programma onderdelen worden geplaatst. Hierbij kan gedacht
worden aan vaak terug kerende routines. Daarnaast is het mogelijk
om hier monitortabellen in te plaatsen. Denk hierbij aan
monitortabellen voor bepaalde merkergebieden of om
monitortabellen die gebruikt kunnen worden voor het in bedrijf
stellen.
Libaries 1
34
ActWin training
11. Programmeerveld
In het programmeerveld wordt de programmering weergegeven en
opgezet. Wanneer er meerde programmeervelden gebruikt worden dan
ontstaan aan de bovenzijde van het programmeervenster tabbladen.
Met deze tabbladen is het mogelijk om tussen de verschillende
programmeervelden te springen.
11.1 Symbolenlijst
In dit venster worden de symbolen getoond zoals deze zijn opgenomen
in het programma. Vanuit dit venster kunnen reeds gebruikte symbolen
eenvoudig in het programmeerveld worden geïmplementeerd.
Daarnaast is het mogelijk om vanuit dit venster invloed uit te oefenen
op register, merkers etc.
35
ActWin training
11.2 Cross Reference Window
Met de Cross Reference is het mogelijk om te zien waar een bepaald
commando voorkomt. Door de Cross Reference op te roepen krijgt de
programmeur dit overzicht voor bepaald commando. Wanneer er nu op
het symbool in de lijst wordt geklikt zal ActWin naar het
overeenkomende commando springen.
Door met muis een bepaald commando te selecteren en vervolgens de
rechtermuis in te drukken en te kiezen voor Cross Reference kan het
overzicht worden opgeroepen. Het onderstaande dialoogvenster zal
dan worden getoond.
11.3 Watch Window
Wanneer na programmering bepaalde adressen in de PLC bekeken
willen worden kan het beste een monitortabel worden gebruikt. Met de
monitortabel is het mogelijk om die waarden die de programmeur wil
monitoren te bekijken. Door eenvoudig adressen op te geven of
adressen direct vanuit de symbolenlijst te slepen naar de monitortabel
kan de programmeur zelf beslissen welke adressen te monitoren. Het
is tevens mogelijk om meerdere monitortabellen aan te maken.
36
ActWin training
12. Samenvatting Software
Het totale scherm is opgebouwd uit 4 hoofdvelden:
Iconenbalken / pulldownmenus (Windows-, ActWin en
Programmeericonen)
• Windows Iconen
• ActWin iconen
• PLC iconen
Boomstructuur (definitie programma structuur)
•
Programma onderdelen
•
Hardwareconfiguratie
•
Instellingen
•
Systeem bibliotheek
Gebruikers bibliotheek
•
Programmeerveld (opzet programma)
• Met de tabbladen
Symbolen
• Opgave van de gebruikte symbolen
37
ActWin training
13. Inleiding ActWin configureren
In het nu volgende hoofdstuk zal worden gekeken hoe ActWin te
configureren. Het opstarten van ActWin zal behandeld worden en het
opzetten van de boomstructuur. Dit laatste zorgt ervoor dat u uw
applicatie op een eenduidige wijze configureert zodat dit een basis
geeft voor de verdere programmering.
38
ActWin training
14. Opstarten ActWin
Wanneer ActWin is geïnstalleerd dan zal deze zijn opgenomen in het
startmenu van Windows. Voer nu de volgende handelingen uit om
ActWin op te starten.
ActWin zal nu opgestart worden in een totale lege opstart. Dit betekent
dat de boomstructuur volledig zal moeten worden opgezet.
39
ActWin training
15. Project Opzet
In het volgende gedeelte van de cursus zal een aanzet worden
gegeven tot het opzetten van project. Er zal in dit gedeelte worden
ingegaan op het selecteren van een nieuw project en CPU, de
configuratie van de CPU en I/O en het configureren van de
Boomstructuur zoals Physical Hardware.
15.1 Nieuw Project
Wanneer ActWin is opgestart dan kan er worden gekozen voor het
opzetten van een nieuw project. Er moet dan gekozen worden voor de
Keuze Create new project.
De overige keuzen hebben respectievelijk betrekking op het openen
van een bestaand project of het openen van het laatste project dat
geopende is geweest.
Wanneer deze keuze is gemaakt kan er op OK worden geklikt nu zal
het volgende dialoogvenster verschijnen.
40
ActWin training
Voor deze cursus moet er gekozen worden voor Hitachi H-serie.
Wanneer dit gedaan is dan kan OK aangeklikt worden.
Nu zal het volgende dialoogvenster verschijnen.
Afhankelijk van de taal waarin geprogrammeerd gaat worden zal een
keuze gemaakt moeten worden. Selecteer een taal en klik op OK.
41
ActWin training
De boomstructuur zal nu als volgt opgebouwd worden:
16. Opzet boomstructuur
Voordat dat er geprogrammeerd kan gaan worden zal eerst de PLC
configuratie moeten worden aangemaakt. Zoals al eerder beschreven
betekend dit de opzet van de gehele hardware waarmee gewerkt gaat
worden.
Open in de boomstructuur het onderdeel hardware configuration. Klik
nu met de rechter muistoets op het eerste item <empty> en selecteer
add module. Nu zal het volgende dialoogvenster verschijnen.
Selecteer hieruit de type PLC behuizing gevolgd door het type
behuizing. Wanneer dit juist is gedaan kan er op OK geklikt worden. In
de boomstructuur is nu de gekozen behuizing af te lezen. Open nu dit
onder deel zodat het volgende te zien:
42
ActWin training
Klik nu met de rechter muistoets op het de eerste <empty> plaats
onder de aangemaakte behuizing en selecteer wederom Add module.
Nu zal de gebruikte voeding moeten worden opgeven. Herhaal dit
totdat de configuratie gereed is. Wanneer gebruik gemaakt worden van
een uitbreidingsrack dan zal er naar de tweede <empty> plaats onder
de gekozen behuizing moeten worden gegaan etc.
Wanneer de gehele configuratie is opgezet dan ziet deze er
bijvoorbeeld zo uit.
43
ActWin training
16.1 Communicatieparameter
Na het opzetten van de hardware configuratie kunnen de
communicatieparameters worden ingegeven. Hiervoor dient het
pulldownmenu Tools te worden geselecteerd gevolgd door het item
Driver setting. Wanneer deze geselecteerd wordt zal het volgende
dialoogvenster opkomen.
Afhankelijk van de communicatie op de PC kunt u hier deze instellen.
Afhankelijk van uw toepassing en PLC zal de baudrate eveneens
aangepast moeten worden.
44
ActWin training
17. Inleiding Adressering binnen ActWin (IEC 61131-3)
Binnen ActWin wordt geprogrammeerd met de standaard Hitachi
adresseringen. Wel is het zo dat ActWin de IEC61131-3 adressering
standaard meeneemt in het de symbolenlijst.
17.1 Adresseren
Onderstaand treft u een tabel aan met de verschillende adres notaties.
Adres type
Hitachi
IEC 61131-3
Ext. Ingang
Ext. Uitgang
Woord in
Woord uit
Timer
Counter
X
Y
WY
WX
TC
TC
I
Q
IW
QW
T
C
Bijvoorbeeld
Slot 0 als Ingang
Slot 1 als Ingang
Slot 2 als Uitgang
X00000 – X00015 (WX0) of I0.0 – I0.15 (IW0.0)
X00100 – X00115 (WX10) of I1.0 – I1.15 (IW1.0)
Y00200 – Y00215 (WY20) of Q2.0 – Q2.15 (QW2.0)
45
ActWin training
17.2 Elementaire Data Types
Net als bij de adressering schrijft de IEC 61131-3 ook voor welke
elementaire data types gebruikt moeten worden en hoe deze zijn
ingedeeld. Let wel dat de mogelijk tot het gebruik van data types
afhankelijk is van de te programmeren CPU. Hieronder treft u een
overzicht aan van de elementaire data types.
Data Type
Beschrijving
Grote
Bereik
BOOL
SINT
INT
DINT
Boolean
Short Integer
Integer
Double Integer
1
8
16
32
USINT
UINT
UDINT
REAL
TIME
BYTE
Unsigned Sort Integer
Unsigned Integer
Unsigned Double Integer
Real numbers
Duration
Bit String met een lengte
van 8
Bit String met een lengte
van 16
Bit String met een lengte
van 32
8
16
32
32
32
8
0 of 1
-128 tot 127
-32768 tot 32767
-2.147.483.648 tot
2.147.483.647
0 tot 255
0 tot 65535
0 tot 4.294.967.295
1.18 x E-38 tot 3.40 x E-38
24 dagen
00 tot FF
0
0
0
0
t#0s
0
16
0000 tot FFFF
0
32
00000000 tot FFFFFFFF
0
WORD
DWORD
Uitgangs
waarde
0
0
0
0
Opmerking:
1 Byte is opgebouwd uit 8 bits
1 Woord is opgebouwd uit 2 bytes en bevat en derhalve uit 16 bits.
Door bits samen te voegen kunnen we grotere getallen verwerken. Het
maximale te verwerken woord is het dubbele woord let wel dat niet
elke CPU een dubbel woord aan kan. Voor deze CPU’s is de grote
woord het maximale dat verwerkt kan worden.
46
ActWin training
17.3 Bepalen adressering
Voor dat er begonnen wordt met programmeren zal eerst de inuitgangsdeclaratie worden opgezet. Deze declaratie wordt ook wel inoutputlijst genoemd of kortweg I/O lijst. Door deze lijst samen te stellen
zorgt de programmeur dat het programmeren eenduidiger kan
verlopen. Ook is een I/O lijst van belang bij eventuele later te
programmeren programma aanpassingen of bij het eventuele storing
zoeken. Let wel op dat de I/O lijst niet wordt mee gedownload naar de
PLC. Bij een eventuele latere aanpassing moet er dus voor gezorgd
worden dat het originele programma wordt gebruikt. Dit houdt in dat er
goede archivering van de projecten moet worden nagestreefd.
Om de lijst op te zetten moet er met de rechter muistoets op de CPU
geklikt worden nu verschijnt het volgende venster.
Selecteer nu Symbols/Adresses zodat het hieronder staande
dialoogvenster verschijnt.
Per adres gebied kan nu een label worden ingegeven.
47
ActWin training
18. Samenvatting Adressering
Adressering binnen ActWin gebeurt volgens de Hitachi adressering
waarbij de IEC61131-3 code automatisch wordt meegenomen. In het
hoofdstuk adresseren is hiervan een overzicht gegeven met de relatie
tussen beide.
Naast de adressering van de in-, uitgangen, woorden etc. moet naast
het plaatsen op een adres tevens rekening gehouden worden met het
type van de gebruikte instructie BOOL, INT, WORD etc.
48
ActWin training
19. Inleiding Elementaire logische instructies
In de vorige hoofdstukken is er gekeken naar het opzetten van de
boomstructuur, CPU eigenschappen, In- en uitgangs configuratie etc.
Voor het volgende hoofdstuk is het van belang dat deze onderdelen
goed zijn geconfigureerd zodat er een project opgezet kan worden. Er
zal nu een begin worden gemaakt met het invoegen van elementaire
logische functies in het programmeerveld.
49
ActWin training
20. Logische instructies
Voor de logische instructies zal er gekeken worden naar de
bitinstructies. Deze instructies kunnen twee waarden hebben 0 of 1. Bij
de bit instructie onderscheiden we de volgende soorten:
•
•
•
•
•
•
Externe ingang
Externe Uitgang
Interne In/Uitgang Merkers en Register
Ge-inverteerd
SET
RESET
Maar ook instructie zoals AND, OR, NOT en XOR behoren tot deze
bitinstructies.
Binnen ActWin is het mogelijk om deze functies op verschillende
manieren te implementeren in de programmering.
20.1 Ingeven van een logische instructie
De eerste stap is de keuze te maken welke instructie of combinatie van
instructies gebruikt gaat worden. Daarna moet de instructie de plaats
geplaatst worden waar de programmeur deze wenst.
Stap 1 selecteren van een instructie.
Stap 2 de plaats selecteren waar de instructie geplaatst moet worden.
houdt de linker muistoets ingedrukt laat deze los op de plaats waar de
instructie gewenst is. Het volgende scherm zal nu verschijnen.
50
ActWin training
Vanuit dit venster kan nu een keuze gemaakt worden uit een voor
gedefineerd adres door deze aan te klikken. Wanneer er een keuze
gemaakt moet worden uit een nog niet voor gedefinieerd adres dan
kan bij Search/Enter Symbol een naam worden ingegeven. In het
venster Next free adress kan een adres gebied geselecteerd worden
zoals M, R, X, Y etc.
Wanneer er nu op OK wordt geklikt zal het betreffende instructie in het
programmeerveld worden geplaatst. Bij deze instructie worden dan
zowel naam als adres getoond.
Ingang op X0 met als naam IN0.
51
ActWin training
Om de ladder volledig te maken zal er ook een uitgang
geprogrammeerd moeten worden. De selectie gaat hetzelfde als bij de
hiervoor beschreven instructie echter wordt er nu gekozen voor de
uitgangs instructie.
Symbool voor de uitgang selecteren
Plaats selecteren
Adres selecteren of ingeven OK klikken zodat de ladder wordt
geplaatst.
52
ActWin training
20.2 Downloaden
Door in het pulldownmenu een syntax check uit te voeren kan
gecontroleerd worden of het geschreven programma geen fouten bezit.
Nadat deze check is uitgevoerd komt ActWin terug met de melding
hoeveel waarschuwingen en hoeveel errors er zijn gevonden.
Wanneer ActWin terug komt met bovenstaande melding is alles OK en
aangeklikt te
kan er gedownload worden. Hiervoor dient het icoon
worden. Het programma zal nu naar de PLC gestuurd worden dit wordt
zichtbaar gemaakt door het volgende dialoogvenster.
Na de melding Assembler check OK is het programma gedownload
naar de PLC. De PLC kan nu in de Run mode gezet worden
53
ActWin training
20.3 Debuggen
Wanneer het project is weggeschreven naar de PLC dan kan door
het programma in de debug mode worden
middel het icoon
gezet. De instructie op het programmeerblad zullen in de debug stand
komen. Dit betekent dat zij afhankelijk van hun status GRIJS of
BLAUW kleuren.
20.4 Monitorlijst
Om een beter overzicht te krijgen op de verschillen statussen in de
PLC is het mogelijk om een zogenaamde I/O lijst op te zetten. Om de
lijst op te moet de volgende handeling uitgevoerd worden.
Klik met de rechter muistoets op monitor onder het item Settings in de
boomstructuur. Nu verschijnt het volgende venster.
54
ActWin training
Wanneer nu wordt gekozen voor New monitor I/O table zal er gevraagd
worden naar een naam voor de I/O lijst. Deze naam kan vrij worden
ingegeven.
De I/O lijst wordt nu opgenomen in de boomstructuur. Wanneer u nu
dubbel klikt op de aangemaakte I/O lijst dan zal deze lijst naar voren
komen.
Aangemaakte I/O lijst
Dubbel klikken
In de I/O lijst is het mogelijk om de waarden/status van een adres te
wijzigen. Ook is het mogelijk om de naam indien gewenst aan te
passen.
Binnen ActWin is het mogelijk om meerdere I/O lijsten aan te maken.
Dit kan vooral van pas komen wanneer er verschillende gebieden
tegelijkertijd bekeken moeten worden. Daarnaast is het mogelijk om de
I/O lijsten op te nemen in de user libary. Hierdoor kan de gebruikervoor
zorgen dat altijd een vast patroon aan adressen beschikbaar is bij
bijvoorbeeld in bedrijf stellen of testen.
20.5 Online
Wanneer u online wilt werken dan zal het icoon
aangeklikt
moeten worden. Dit icoon zal nu “verzinken” in de iconenbalk
ActWin is nu online met de PLC.
.
Wanneer er nu een wijziging in het programma wordt gemaakt dan zal
het update icoon selecteerbaar worden
Wanneer
deze nu wordt aangeklikt dan zal het programma in de PLC geüpdate
worden.
55
ActWin training
20.6 Wijzigen
Stel we willen de instructie puls met adres R7E7 veranderen in een
instructie sensorA2 met als adres X0.
Om deze instructie te wijzigen dient deze twee te worden aangeklikt of
moet er met de rechter muistoets op de instructie worden geklikt
waarna de keuze properties moet worden geselecteerd.
Nu zal het volgende dialoogvenster verschijnen.
56
ActWin training
Verwijder nu de naam puls, hierdoor zal het veld Next free address
beschikbaar worden. Door nu dit veld te openen kunt u een selectie
maken uit de verschillende gebieden. Selecteer voor dit voorbeeld de
X.
Tik nu in het veld Search/Enter symbol de naam in voor de instructie in
dit geval SensorA2.
Er kan hierna op OK geklikt worden. In het programma is de instructie
nu aangepast.
57
ActWin training
20.7 Invoegen en Tussenvoegen
Naast het wijzigen van instructie kan het gebeuren dat er instructie in
het programma bijgeplaatst moeten worden. Hiervoor moet de
instructie worden geselecteerd die in het programma bijgeplaatst gaat
worden.
In dit voorbeeld zullen we een ingang parallel over SensorA2 plaatsen.
Selecteer de instructie ingang ga met de muis naar de plaats waar de
ingang wordt ingevoegd. Klik de linker muistoets aan en houd deze
ingedrukt. Trek nu de ingang met de muis naar beneden.
Trek de muis vervolgens in de gewenste richting (over SensorA2) om
vervolgens met de muis naar boven te gaan en de instructie weer aan
de ladder te bevestigen.
Wanneer de muis toets nu wordt losgelaten dan zal er naar een adres
gevraagd worden vul deze in en klik op OK. De instructie is nu
bijgevoegd
58
ActWin training
21. Samenvatting
Elementaire bit instructies zijn er in verschillende soorten zoals
ingangen en uitgangen maar ook AND en OR functies, een eigenschap
van al deze instructies is dat zij 0 of 1 zijn.
Het in geven van een Elementaire bit instructie gaat in de volgende
stappen:
• Locatie definiëren
• Instructie of instructieve selecteren
• instructie definiëren/adresseren
59
ActWin training
22. Geheugenfuncties
Vaak worden er signaalgevers gebruikt welke korte signalen afgeven.
Denk bijvoorbeeld aan microswitches, benaderingsschakelaars,
fotocellen e.d. Deze signaalgevers detecteren vaak maar voor een
zeer korte tijd producten.
Wanneer het noodzakelijk is om de status langer te behouden dan zal
er gebruik moeten worden gemaakt van een zogenaamd
geheugenelement. Deze worden ook wel flipflops genoemd vertaald
naar de Hitachi-H PLC noemen we dit een SET/RESET instructie.
De SET/RESET is altijd een combinatie van elkaar.
Bij het programmeren moeten de volgende onderdelen worden
opgenomen:
• Ingang van de SET
• SET uitgang
• Ingang van de RESET
• RESET uitgang
Om een set of een reset in de Hitachi PLC te programmeren kunnen
we gewoon gebruik maken van de in- en uitgangsinstructies. Echter zal
moeten worden opgeven dat het om een set of een reset gaat. Dit
wordt gedaan in het dialoogvenster properties. Dit venster komt
automatisch tevoorschijn wanneer een in of uitgang wordt ingevoegd.
Set of reset selecteren
De Set en Reset die aangegeven worden
dmv de S en de R in het uitgangscontact
60
ActWin training
22.1 Master Control
Naast de set/reset functie kent de Hitachi PLC tevens de functie
Master Control Set (MCS) / Master Control Reset (MCR). Net als de
Set en Reset zullen de MCS en MCR altijd in combinatie worden
gebruikt.
Wanneer in een ladderprogramma stukken programma een identieke
voorwaarde hebben dan kan het toepassen van de MCS/MCR nuttig
zijn. Hierdoor kan het programma overzichtelijker worden opgebouwd.
De MCS/MCR zorgt ervoor dat het programmagedeelte wel of niet
uitgevoerd wordt. Wanneer de MCS/MCR actief is dan zal het gedeelte
dat zich in de MCS/MCR bevindt worden uitgevoerd. Wanneer de
MCS/MCR niet actief is dan zal programmagedeelte wel worden
gelezen maar niet worden uitgevoerd. Alle uitgangen worden in dit
geval dan ook laag gemaakt.
De MCS/MCR kan dan ook ingezet worden bij bijvoorbeeld een
noodstop. Is de noodstop actief dan de MCS/MCR uitvoeren. Is de
noodstop niet actief dan MCS/MCR niet uitvoeren. In dit laatste geval
zal het niet wenselijk zijn dat bepaalde bits hoog blijven met de
MCS/MCR worden de deze bits dan ook nul gemaakt.
De MCS/MCR kunnen ingebed worden gebruikt, echter zullen er nooit
meer dan 8 lagen mogen worden toegepast.
61
ActWin training
23. Tijdsfunctie
In installaties wordt vaak tijdsafhankelijk geschakeld het gaat dan om
het in- of uitschakelen. Dit wordt gedaan met een vertraagd opkomde
of vertraagd afvallende programmering.
23.1 Vertraagd opkomend
In de Hitachi-H PLC is mogelijk om gebruik te maken van de timer
vertraagd opkomend. Deze timer wordt aangeduid met TD wat staat
voor Timer Delay.
Wanneer we een tijdsfunctie in de PLC programmeren dan moeten de
volgende gegevens ingevoerd worden:
•
•
•
•
Ingang van de timer
Uitgangs contact (Coil-contact) van de timer
Timer nummer
Preset van de timer
Om de timer te selecteren moet er in het dialoogvenster properties
gekozen worden voor TD. Deze wordt geselecteerd in het venster
Next free adress.
Wanneer deze gemaakt is dan zal ActWin met het volgende
dialoogvenster voorkomen.
62
ActWin training
Hier geeft u de preset op gevolgd door de tijdsbasis. Zoals al eerder in
de cursus beschreven kunnen de timers 0 - 63 de tijdsbasis 0.01, 0.1
en 1 sec aan en kunnen de timers 64 – 255 de tijdsbasis 0.1 en 1 sec
aan.
Nadat de timer geplaatst is moet eveneens de coil van de timer worden
ingevoegd. Deze kan gezien worden als de spoel van een relais.
Wanneer de timer (het relais) de preset heeft bereikt dan zal deze de
coil (de spoel) aanspreken. De coil zorgt er uiteindelijk voor dat de
uitgang wordt geschakeld.
Bij het plaatsen van de coil dient u de reeds eerder ingegeven timer in
het dialoogvenster te selecteren. Een timer komt er dan ook als volgt
uit te zien.
Coil
Koppeling Timer
En Coil
Timer
23.2 Integral Timer (TMR, niet beschikbaar in Micro-EH)
Integral timer kan beschouwd worden als de TD echter nu met een
aparte reset. Dit betekend dus, in tegenstelling tot de TD, dat de
Integral Timer zijn waarde bewaard. De Integral Timer heeft dan ook
een aparte reset om de tijd te reseten.
63
ActWin training
23.3 Single Shot
In plaats van een Timer Delay (TD) is het ook mogelijk om een zgn.
Single Shot (SS) te programmeren. Dit gebeurt op dezelfde wijze
echter wordt er nu gekozen voor de instructie SS in het dialoogvenster
next free adress.
Naast de naam is de functie en werking echter ook verschillende
programmeer de SS en bekijk dit verschil.
Ook bij het programmeren van de Single Shot moet het volgende
worden opgegeven.
•
•
•
•
Ingang van de Single Shot
Uitgangs contact (Coil-contact) van de Single Shot
Single Shot nummer
Preset van de Single Shot
Het ladderdiagram zal er net zo uitkomen te zien als bij de TD
Naast de naam is de functie en werking echter ook verschillende
programmeer de SS en bekijk dit verschil.
23.4 Monostabiele Timer (MS, niet beschikbaar in Micro-EH)
Zoals de Integrale Timer veel weg had van de TD zo heeft de
Monostabiele Timer veel weg van de SS. Het verschil hier wordt
bepaald doordat de Monostabiele Timer bij het weg vallen en weer
opkomen van de ingang deze actie negeert. De SS zou bij een nieuwe
opgaande flank afvallen en weer opnieuw beginnen.
De Monostabiele Timer zal wanneer de preset bereikt is net als de SS
afvallen. Er is dus geen, zoals bij de Integrale Timer wel, aparte reset
(clear) ingang nodig)
64
ActWin training
23.5 Counter
Naast de timers zijn er ook de counters/tellers zoals eerder beschreven
hebben de timers het bereik van 0 tot 255 en de counters/tellers 0 tot
511. We onderscheiden verschillende counters/tellers in de Hitachi-H
serie. Voor deze cursus zullen de volgende counters/timers besproken
worden:
• Counter Up CU
• Counter Up/Down CTU/CTD
• Ringcounter
Tellers worden gebruikt om bijvoorbeeld producten die een bepaalde
sensor in een productie straat passeren te tellen. Zo kan er
bijvoorbeeld gezorgd worden dat het goede aantal producten in een
box komen. Of dat het aantal malen in- en uitschakelen van een
machine wordt geteld zodat een service monteur een goed overzicht
kan krijgen over de status en bediening
23.6 Teller Optellen (Counter Up)
De counter up zal bij een puls op de ingang 1 optellen bij zijn actuele
waarde. Wanneer de ingestelde preset is bereikt dan zal het coil
contact aangesproken worden en ervoor zorgen dat een uitgang
aangestuurd wordt.
Ook bij het programmeren van de counter up moet het volgende
worden opgegeven.
•
•
•
•
•
•
Ingang van de Counter Up
Uitgangs contact (Coil-contact) van de Counter Up
Counter Up nummer
Preset van de Counter Up
Ingang voor de Clear Counter
Clear Counter
De Counter Up wordt aangegeven met de afkorting CU
De Counter Clear met CL
65
ActWin training
Zoals u kunt zien is er het een ander, in vergelijking met de timer,
bijgekomen. Deze extra programmering is de Clear Counter. De
Counter heeft namelijk een Clear/Reset nodig om weer op 0 te
beginnen dit kan gedaan worden door een hardware matige ingang of
door een bijvoorbeeld een register of merker.
Ook voor de counter (kies voor CU in het dialoogvenster properties)
geldt dat deze geprogrammeerd wordt met behulp van in- en
uitgangscontacten. Echter zal er nu ook een rester/clear counter
geprogrammeerd worden. ActWin maakt deze Clear Counter
automatisch aan wanneer de counter benoemd is.
We zien dan ook in het dialoogvenster de volgende opsomming:
66
ActWin training
23.7 Ringcounter (RCU, niet beschikbaar in Micro-EH)
De ringcounter (RCU) scant op de opgaande flank van de ingang en
telt een op bij de actuele telling. De uitgang zal na het bereiken van de
preset waarde voor een scan hoog zijn. Wanneer de clear ingang hoog
gemaakt wordt dan zal de waarde van de counter nul worden.
67
ActWin training
23.8 Up-Down Counter
Naast de Counter Up is er ook de Counter Up/Down waarmee u zowel
kan optellen als aftellen. De Up/Down Counter wordt aangeduid met
CTU (Up) en CTD (Down).
bij het programmeren van de counter up moet het volgende worden
opgegeven.
•
•
•
•
•
•
•
•
Ingang van de Counter Up
Counter Up nummer
Ingang van de Counter Down
Counter Down nummer
Uitgangs contact (Coil-contact) van de Counter Up/Down
Preset van de Counter Up/Down
Ingang voor de Clear Counter
Clear Counter
In vergelijking met de Counter Up kunt u zien dat bij de Counter
Up/Down er een lijn is bijgekomen voor het Down “Counten” (Aftellen)
Voor deze counter zal er dus tevens een ingang geprogrammeerd
moeten worden die de puls voor de downcount geeft. Ook hier geldt
wederom dat de counter wordt opgezet met in- en uitgangscontacten.
In het dialoogvenster properties wordt er nu gekozen voor CTU.
Wanneer deze is aangemaakt en bekijken dan het dialoogvenster
properties dan valt wederom te zien dat ActWin automatisch de
volgende items heeft weggeschreven.
Clear contact
Counter Up
Counter Down
68
ActWin training
De programmering komt er als volgt uit te zien.
69
ActWin training
24. Wijzigen data gebieden
Het kan zijn dat er adressen verplaatst of verwisseld moeten worden.
Er kan voor gekozen worden om dit gedeelte opnieuw te schrijven wat
een hoop tijd zal kunnen gaan kosten. ActWin geeft u de mogelijkheid
om data gebieden te verplaatsen of te verwisselen zonder dat opnieuw
moet gaan programmeren.
24.1 Verplaatsen
In het pulldownmenu Operations treft u de keuze Move Symbol
Adresses aan. Hiermee is het mogelijk om een bepaald gebied aan te
wijzen en dit gebied te verplaatsen naar een nieuw adressen bereik.
Om dit te doen gaat u als volgt te werk:
Kies Move Symbol Adresses uit het pulldownmenu Operations
Voer het begin adres in van het te verplaatsen gebied
Voer het eind adres in van het te verplaatsen gebied
Voer het begin adres in waar het aangegeven gebied naar toe
verplaatst moet worden.
Begin en Eind adres
Adres waarna toe
Stel, u wilt R0 tot RA verplaatsen naar R10 Het gebied wordt dan:
R0…..RA Æ R10…..R1A
70
ActWin training
24.2 Verwisselen
Deze functie treft u tevens aan in het pulldownmenu Operations. Met
deze functie verwisseld u twee data gebieden met elkaar inclusief de
labels.
Kies Exchange adresses uit het pulldownmenu Locations
Voer het begin adres in van het te verplaatsen gebied
Voer het eind adres in van het te verplaatsen gebied
Voer het begin adres in waar het aangegeven gebied naar toe
verplaatst moet worden.
R000
R001
R002
R003
R004
R005
R006
R007
R008
R009
R00A
SENSOR0
SENSOR1
SENSOR2
SENSOR3
SENSOR4
SENSOR5
SENSOR6
SENSOR7
SENSOR8
SENSOR9
SENSORA
R000
R001
R002
R003
R004
R005
R006
R007
R008
R009
R00A
SENSOR10
SENSOR11
SENSOR12
SENSOR13
SENSOR14
SENSOR15
SENSOR16
SENSOR17
SENSOR18
SENSOR19
SENSOR20
R010
R011
R012
R013
R014
R015
R016
R017
R018
R019
R01A
SENSOR10
SENSOR11
SENSOR12
SENSOR13
SENSOR14
SENSOR15
SENSOR16
SENSOR17
SENSOR18
SENSOR19
SENSOR20
R010
R011
R012
R013
R014
R015
R016
R017
R018
R019
R01A
SENSOR0
SENSOR1
SENSOR2
SENSOR3
SENSOR4
SENSOR5
SENSOR6
SENSOR7
SENSOR8
SENSOR9
SENSORA
71
ActWin training
25. Exporteren van Data
ActWin geeft u de mogelijkheid om data te exproteren. Dit kan
bijvoorbeeld makkelijk zijn wanner de I/O geprogrammeerd in ActWin
ook gebruikt moet worden in een HMI of SCADA pakket zoals EXOR
en Wizcon.
Bij het exporteren van de data bent u vrij in format waarin de data
geëxporteerd dient te worden. Zo kan er bijvoorbeeld in .txt .csv en xls
worden geexporteerd.
Om te exporteren kiest voor het pulldownmenu Operations. Daarna
geeft u directory en format om vervolgens op OK te klikken. Wanneer
de file nu bijvoorbeeld in Microsoft Excel wordt geopend dan krijgt u de
volgende indeling:
Symbol list
ActWin
Project
3,26
ActWin
1
Name
Type
Value
In_SS
BOOL
Single_S_0
BOOL
Single_S_0.T
C
WORD
Uit_SS
BOOL
Tel_puls
BOOL
Ring_count
BOOL
Ring_count.CL BOOL
Ring_count.TC WORD
Reset_RCU
BOOL
Uit_RCU
BOOL
voorwaarde
BOOL
Mater_set
BOOL
Master_reset BOOL
IEC
address
%M1.0.0
%M20.2.0
PLC
address
R0
SS0
%MW23.0
%M1.0.1
%M1.0.2
%M21.5.1
%M22.1.0
%MW23.1
%M1.0.3
%M1.0.4
%M1.0.5
%M15.0.0
%M16.0.0
TC0
R1
R2
RCU1
CL1
TC1
R3
R4
R5
MCS0
MCR0
Comment POU name
main
main
main
main
main
main
main
main
main
main
main
main
main
72
ActWin training
26. Woordverwerking
In de voorgaande instructies is vooral bits gewijs geprogrammeerd.
Het is echter belangrijk om naast de bit instructie ook woorden te
kunnen verwerken.
Stel een productiemachine produceert producten die per een ingeven
aantal worden verpakt. Om zeker te weten dat het goede aantal
producten worden verpakt is het belangrijk om deze tellen en zo nodig
op te kunnen slaan.
In dit hoofdstuk zal worden ingegaan om de verwerking van woorden.
De Hitachi-H serie kent twee belangrijke instructie hiervoor. Dit zijn
•
•
De vergelijkingsbox
De rekenkundigebox
Hiervoor is het belangrijk om de verschillende getallen stelsels te
kennen achter in deze cursus is een overzicht hiervan opgenomen.
73
ActWin training
26.1 Getallenstelsels
Binnen de Hitachi PLC wordt er gewerkt met twee getallenstelsels dit zijn het
Binaire- en het Hexadecimale getallenstelsel. In de dagelijkse
werkzaamheden wordt er echter het meest gewerkt met het decimalestelsel.
26.2 Decimalestelsel
Zoals al geschreven is dit het stelsel wij in het dagelijksleven het meest
toepassen. Het stelsel kent tien symbolen dit zij 0 tot en met 9. Door de
symbolen achter elkaar te plaatsen worden de ons bekende getallen
gevormd. Bij elke verschuiving naar links, zien we dat dit een 10 voudig
hogere waarde geeft aan het totale getal.
Bijvoorbeeld:
Het getal 2672 (tweeduizend / zeshonderd / twee / en zeventig)
2
6
7
2
2x1
7 x 10
6 x 100
2 x 1000
(10E 0)
(10E 1)
(10E 2)
(10E 3)
26.3 Binairestelsel
Waar het decimale stelsel werkt met tien symbolen daar werkt het binaire
stelsel met twee symbolen. Deze symbolen zijn nu de 0 en de 1, bij het binaire
stelsel geldt dat elke verschuiving naar links een 2 maal hogere waarde geeft.
Bijvoorbeeld:
10110
1
0
1
1
0
0x1
1x2
1x4
0x8
1 x 16
(2E 0)
(2E 1)
(2E 2)
(2E 3)
(2E 4)
decimaal geeft
decimaal geeft
decimaal geeft
decimaal geeft
decimaal geeft
0
2
4
0
16
22 decimaal
74
ActWin training
26.4 Hexadecimale stelsel
Het decimale stelsel zal wanneer er gebruik gemaakt gaat worden van
grotere getallen een behoorlijke reeks eenen en nullen opleveren. Hierdoor
zal het niet altijd even duidelijk en overzichtelijk zijn wat deze eenen en nullen
nu voorstellen.
In het Hexadecimale stelsel wordt er per 4 bits gewerkt. In het binaire stelsel
zou dit betekenen een maximale waarde van vijftien, alle plaatsen namelijk
een 1 zodat 1111 wordt weergegeven. In het hexadecimale stelsel wordt de
reeks anders weergegeven namelijk 0 t/m F zodat de volgende reeks
afgelopen kan worden 0 1 2 3 4 5 6 7 8 9 A B C D E F.
DEC
BIN
HEX
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
Alle woorden in de Hitachi H serie zullen hexadecimaal worden weergegeven.
WR10 is dan ook niet WOORDREGISTER TIEN maar WOORDREGISTER
ZESTIEN.
De datasamenstelling is dan ook als volgt:
1 bit betekent de waarde 0 of 1
1 woord betekent de waarde 0 – 65535
1 dubbelwoord betekent de waarde 0 – 4294967295
75
ActWin training
26.5 Datasamenstelling
Zoals al eerder aangegeven bestaat een woord uit 2 bytes en bestaat
een byte uit 8 bits. Binnen de Hitachi PLC worden de woorden op een
bepaalde wijze ingedeeld.
b15
b8 b7
MSB
b0
LSB
26.6 Vergelijkingsbox
Om een totaal proces te kunnen maken zullen er ook vergelijkingen
mogelijk moeten zijn. Zo zullen bepaalde waarden met elkaar moeten
worden vergeleken zodat hierop actie ondernomen kan worden.
Bijvoorbeeld: Een vloeistofniveau dat wanneer het boven een bepaalde
waarde komt wordt weg gepomp.
De twee te vergelijken waarden kunnen waarden zijn die door
berekeningen vanuit de PLC komen, maar het kan ook een variabele
zijn die met een constante in de PLC wordt vergeleken.
Wanneer de voorwaarde die opgenomen is in de vergelijksbox waar is
dan zal deze de opgenomen uitgang aansturen. Met de
vergelijkingsbox is het mogelijk om de volgende vergelijkingen te
maken:
•
•
•
•
= (gelijk aan)
<> (ongelijk aan)
< (kleiner dan)
<= (kleiner of gelijk aan)
Om de box te importeren in het programma moet het volgende icoon
worden geselecteerd
. Wanneer deze is geselecteerd en de linker
muistoets wordt ingedrukt dan zal de box verschijnen zodat deze op de
juiste plaats kan worden geplaatst.
76
ActWin training
Wanneer nu de muistoets wordt losgelaten dan zal het volgende
dialoogvenster zichtbaar worden.
In de velden first argument en Second argument kunt u de variabelen
plaatsen. Ook kunt u hier een constante invullen wanneer dit gewenst
is. In het veld Compare function geeft u de gewenste vergelijking aan.
Als alles is ingevuld klikt u op OK de vergelijkingsbox wordt nu
ingevoegd.
Na koppelen van een uitgang kan het programma er als volgt uit
komen te zien.
Wanneer Woord1 kleiner is dan Woord2 schakel dan start_pomp.
of
Start_pomp = Woord1 < Woord2
77
ActWin training
26.7 Rekenkundigebox
De rekenkundigebox is een zeer interessante Hitachi eigenschap. Met
deze box is het mogelijk om onder andere direct rekenkundige
berekeningen uit te voeren. Daarnaast is het mogelijk om direct
functies als: schuifregisters, copy, exchange en vele andere hierin uit
te voeren.
Om de rekenkundigebox in het programma op te nemen moet het
volgende icoon geselecteerd worden
. Wanneer u dit icoon
aanklikt dan zal het volgende scherm opkomen.
U kunt nu het gewenste commando selecteren en op OK klikken. Aan
de muispijl zal nu een kleine rekenkundigebox gekoppeld zijn.
Ook nu houd u de linker muistoets ingedrukt en selecteert u een plaats
in het programmeerveld wanneer u met de muis op de gewenste plaats
staat laat u de muistoets los. Nu verschijnt het volgende dialoogvenster
(afhankelijk van de gekozen instructie kan deze afwijken van het
dialoogvenster hieronder).
78
ActWin training
Er is in dit voorbeeld gekozen voor het schrijven van een woord naar
een ander woord.
D = S (Destiny = Source) bijvoorbeeld WR0 = WR12
Klik nu op Edit om aan de instructie de gewenste adressen te
koppelen.
Vul nu de gewenste adressen met de naam in.
79
ActWin training
Wanneer dit gedaan is klik op OK en vervolgens op sluiten. De
rekenkundigebox wordt nu opgenomen in het programma.
Door nu bepaalde voorwaarde voor de box te plaatsen kan deze
bewerking op deze voorwaarde uitgevoerd worden. Let wel dat de
rekenkundigebox alleen dan wordt uitgevoerd wanneer de
voorwaarden waar zijn.
80
ActWin training
27. Programmastructuur
Tot nu toe is er lineair geprogrammeerd vooral wanneer programma’s
complexer en groter worden is het verstandig om deze op te splitsen. Dit
opsplitsen gebeurt in zogenaamde sub-routines.
Door het toepassen van sub-routines kunnen programma’s onderverdeeld
worden naar bijvoorbeeld productie fasen bijvvorbeeld:
Eerstescan
data gebieden controleren en setten
Hand
Machine op handbediening
Auto
Machine op automatischbedrijf
Door bepaalde voorwaarden te scheppen zal het programma bepaalde
gedeelten wel en andere gedeelte van het programma niet uitvoeren. Dit alles
zal afhankelijke van de fase en status waarin het productieproces zicht
bevindt.
Naast de een beter structurering van het programma zal ook de cyclus tijd
optimaal worden doordat alleen programma onderdelen die uitgevoerd
moeten worden gescand worden. Ook zullen wijzigingen beter en sneller
doorgevoerd kunnen worden doordat het programma opbouw overzichtelijker
is.
Met sub-routines kan een programma dus opgesplitst worden in kleinere op
zich staande programma onderdelen. In een project mogen maximaal 99 subroutines zijn opgenomen. Binnen een sub-routine is het mogelijk om een
nieuwe sub-routine aan te roepen.
Lineair uitgevoed programma:
LD
AND
ST
LD
ST
In1
In2
Out200
In3
Out201
Gestructureerd programmeren:
Hoofdprogramma
Met aanroep
Deelprogramma’s
81
ActWin training
27.1 SUB-Routine
Met de functie sub-routine kunnen we dus het project in
deelprogramma’s opsplitsen. Hierdoor wordt het programma
overzichtelijker en sneller. Binnen de Hitachi H PLC is het mogelijk om
maximaal 99 sub-routines te gebruiken. Binnen een sub-routine is
echter wel mogelijk om een nieuwe sub aan te roepen.
De sub-routine wordt in het hoofdprogramma aangeroepen door een
CALn instructie. Zolang de voorwaarde voor de specifieke CALn hoog
is zal de sub-routine worden uitgevoerd. De sub-routine zelf wordt
onder de instructie SBn uitgevoerd. Hierbij correspondeert de n van de
SB met de n van de CAL.
Dus
CAL99 roept SB99 aan
CAL56 roept SB56 aan
Elke SBn wordt afgesloten met een Return Sub-routine (RTS)
Aanhet einde van het hoofdprogramma wordt altijd een END instructie
geplaatst.
Voorbeeld:
Werking:
Wanneer de voorwaarde van de CAL waar is dan zal het programma
de SB aanroepen. Afhankelijk van het programma wordt de SB
eenmaal of meerdere malen uitgevoerd. Zolang de voorwaarde voor de
CAL niet waar is zal het programma alleen in de CAL loop blijven
(CAL – END). Dit gedeelte kan dan ook gezien worden als het
hoofdprogramma. Ook wanneer er wel een SB wordt aangeroepen dan
zal het programma na uitvoeren van de SB eerst weer terug keren
naar het hoofdprogramma.
82
ActWin training
27.2 JUMP instructie
Met de JUMP instructie kunnen bepaalde gedeeltes van een
programma overgeslagen worden. Zo kan ervoor gezorgd worden dat
gedeeltes alleen dan worden uitgevoerd wanneer er aan bepaalde
voorwaarden voldaan wordt.
Een JUMP wordt geprogrammeerd met een corresponderende label
de LBL n. Dit betekend dat het gedeelte tussen de JMP n en LBLn
alleen wordt uitgevoerd wanneer de voorwaarde voor de JMP n laag
is. Voor n geldt de waarde 0 tot 255.
Bij de JUMP is het niet alleen mogelijk om vooruit te springen maar
kan er ook terug gesprongen worden. Er wordt onderscheidt gemaakt
tussen de JMP en CJMP (conditional JUMP).
JUMP n
programma
LBL n
De CJMP heeft de mogelijkheid om een variabele mee te geven in de
CJMP instructie. Hierdoor is het mogelijke om te springen op een
voorwaarde van een variabele.
JMP n (s)
programma
LBL n
Bij (s) wordt een variabele ingegeven deze variabele moet hoog zijn
om te springen naar de LBL n. Voor (s) kunnen de volgende variabele
worden gebruikt:
X, Y, R, L of M
Een JUMP kan bijvoorbeeld gebruikt worden om na en reset van een
bepaald merker gebied over bepaalde instructies heen te springen.
Hiermee wordt dan alleen de reset uitgevoerd.
83
ActWin training
27.3 Interrupt
Bij gebruik van de interrupt zal de PLC automatisch het
hoofdprogramma onderbreken en de instructies behorende bij de
interrupt uitvoeren.
De interrupt kan voor verschillende doeleinden gebruikt worden. Zo
kan een snellen interrupt van 10ms ervoor zorgen dat een proces
gedeelte zeker elke 10ms wordt uitgevoerd. Dit zou bijvoorbeeld
kunnen zijn bij een telling of positie bepaling. Daar en tegen kan een
tragere interrupt van 40 ms gebruikt worden voor tragere onderdelen
in een proces. Door deze onderdelen in een 40ms interrupt op te
nemen wordt de bezetting op het totale proces verminderd. Een
gemiddeld PLC programma heeft een scan van 20-30ms.
De Hitachi H serie kan gebruik maken van 3 verschillende
interrupttijden te weten:
_n
type
startvoorwaarde
0
5ms
automatische elke 5ms
1
10ms
automatische elke 10ms
2
20ms
automatische elke 20ms
3
40ms
automatische elke 40ms
De interrupt wordt aangeroepen met behulp van de INT n instructie.
Op de plaats van de n zal het nummer moeten worden ingegeven
zoals hierboven beschreven. De interrupt wordt afgesloten met de
instructie RTI (return interrupt).
END
INT n
Start interrupt
programma
RTI
Return interrupt
84
ActWin training
27.4 Controle en Statusgebieden
Wanneer een programma gestructureerd wordt geprogrammeerd dan
is het belangrijk dat naast het opzetten van de routines er ook een
overzichtelijk data gebied wordt aangemaakt. Voor elke sub-routine
kan dan een merkergebied gekozen worden. Het geselecteerde gebied
zal hierna opgesplitst worden in controle, status en stappen bits.
Stel we hebben een proces met drie verschillende bewerkingen we
kunnen dan voor de hoofdgebieden als volgt een indeling maken:
Sub 1 (Invoeren)
WM10 Controlegebied Invoeren
WM18 Statusgebied Invoeren
WM19 Stappengebied Invoeren
Sub 2 (Bewerken)
WM20 Controlegebied bewerken
WM28 Statusgebied bewerken
WM29 Stappengebied bewerken
Sub 3 (Uitstoten)
WM20 Controlegebied uitstoten
WM28 Statusgebied uitstoten
WM29 Stappengebied uitstoten
In het controle register kunnen dan zaken als Reset en Start worden
opgenomen. In het Status register zullen de bits komen te staan die
met status van de actuele bewerking te maken hebben. Denk
bijvoorbeeld aan invoeren is actief, invoeren gereed etc. In het stappen
gebied komen de stappen te staan waarin het deelproces zich bevindt.
Daarnaast is het belangrijk om de labels die aangemaakt worden een
code mee te geven van het gebied waarin zij zijn opgenomen.
Wanneer er namelijk alleen maar adressen wordt gewerkt dan zal het
programma al snel onleesbaar zijn.
Stel we pakken de bits uit het statusgebied van invoeren dan kan dit er
als volgt uit komen te zien:
M0181
M0182
M0183
Etc.
InV_Akt
InV_Grd
InV_Err
85
ActWin training
Voorbeeld van de indeling :
InV_
BeW_
Uit_
WM10
WM20
WM30
CTRL
CTRL
CTRL
WM18
WM28
WM38
STAT
STAT
STAT
WM19
WM29
WM39
STAP
STAP
STAP
Stel we nemen het gebied InVoeren (InV_) als voorbeeld:
WM10 tot en met WM17 = controle gebied
WM18 = status gebied
WM19 = stappen gebied
WM10
WM11
WM12
WM13
WM14
WM15
WM16
WM17
WM18
WM19
M0101 InV_Reset
M0102 InV_Start
Etc.
M0181 InV_Act
M0182 InV_Grd
Etc.
M0191 InV_Stap1
M0192 InV_Stap2
Etc.
86
Download