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