88
 Siemens STEP7 Tutorial Jan Kampen Hogeschool Windesheim

Siemens STEP7 Tutorial

Embed Size (px)

Citation preview

Siemens STEP7 Tutorial

Jan Kampen Hogeschool Windesheim

1 Inhoud1 2 3 4 5 Inhoud ................................................................................................................................................... 2 Wijzigingen ............................................................................................................................................ 4 Introductie ............................................................................................................................................ 5 PLC......................................................................................................................................................... 6 Programmeertalen voor de PLC ............................................................................................................ 7 5.1 5.2 5.3 5.4 5.5 6 7 8 9 10 10.1 10.2 10.3 10.4 10.5 10.6 10.7 11 11.1 11.2 12 13 14 14.1 14.2 14.3 Ladder ........................................................................................................................................... 7 Function Blocks ............................................................................................................................. 8 Structured Text ............................................................................................................................. 8 Instruction List .............................................................................................................................. 9 Sequential Function Chart............................................................................................................. 9

De structuur van een PLC programma ................................................................................................ 10 De Siemens PLC ................................................................................................................................... 12 Siemens Installatie .............................................................................................................................. 17 Een waarschuwing vooraf ................................................................................................................ 18 Mijn eerste programma .................................................................................................................. 19 SIMATIC Manager opstarten ....................................................................................................... 19 Nieuw project aanmaken ............................................................................................................ 20 Station toevoegen ....................................................................................................................... 22 Hardware configuratie aanpassen .............................................................................................. 23 Ladder programma invoeren ...................................................................................................... 27 OB1 aanpassen............................................................................................................................ 29 Downloaden van het programma ............................................................................................... 30 Bewaren en terughalen van projecten ........................................................................................... 32 Bewaren van projecten ............................................................................................................... 32 Terughalen projecten .................................................................................................................. 33 Hardware Configurator ................................................................................................................... 34 Symbol Table ................................................................................................................................... 43 Standaard blokken in de Siemens omgeving .................................................................................. 44 Overzicht OBs ............................................................................................................................. 44 OB1.............................................................................................................................................. 45 OB100, OB101, OB102 ................................................................................................................ 45

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 2

14.4 15 15.1 15.2 15.3 15.4 16 16.1 16.2 16.3 17 18 19 20 21 21.1 21.2 21.3 22 23

Interrupt afhandeling: OB10..17, OB20..23, OB30..38, OB40..47, OB80..87, OB121 en 121 ..... 47 Blokken............................................................................................................................................ 48 FC................................................................................................................................................. 48 FB ................................................................................................................................................ 48 DB ................................................................................................................................................ 49 Instance DB ................................................................................................................................. 49 Data types ....................................................................................................................................... 50 Arrays .......................................................................................................................................... 50 Struct ........................................................................................................................................... 51 UDT.............................................................................................................................................. 51 Programmeren in SFC ..................................................................................................................... 53 Variable table .................................................................................................................................. 59 Programmeren in SCL ..................................................................................................................... 63 HMI.................................................................................................................................................. 75 WinCC Flexible ................................................................................................................................ 76 Toevoegen HMI aan project........................................................................................................ 76 Toevoegen verbinding met programma ..................................................................................... 80 Project downloaden naar de HMI ............................................................................................... 84 Problemen ....................................................................................................................................... 85 Literatuurlijst ................................................................................................................................... 87

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 3

2 WijzigingenWanneer 07-04-2011 21-02-2012 26-04-2012 Door KNJ13 KNJ13 KNJ13 Wijziging Initile versie HW configuratie aangepast: uitgangsmodules en ingangsmodules verplaatst ivm compatibiliteit Mitsubishi PLCs HW configuratie aangepast: subd connector compatibel gemaakt met Festo SYSLINK connector

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 4

3 IntroductiePLC=MBO. Die uitspraak hoor je vaak als mensen aan een PLC denken. Dit is naar mijn idee onjuist. De complexiteit van besturingen is in de afgelopen jaren behoorlijk toegenomen, en ook de mogelijkheden die PLCs aan de gebruiker geven. Hiermee is ook de software een stuk complexer geworden. Denk hierbij aan interrupt afhandeling, object orintatie, koppeling met MES systemen etc. Deze handleiding biedt een opstapje voor het gebruik van de practicum opstelling met een Siemens PLC, en tevens een algemene inleiding over het programma Step7 geven. Het is een inleiding: de Siemens Step7 programmeerhandleiding is 650 paginas dik. Deze tutorial zal je in staat stellen om je eerste programmas werkend te krijgen op de practicum opstelling. Ik hoop dat je veel plezier beleeft aan het werken met de Siemens PLC en de Step7 omgeving.

Jan Kampen Docent Elektrotechniek Christelijke Hogeschool Windesheim [email protected]

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 5

4 PLCPLC is de afkorting van Programmable Logic Controller. Het gaat hier om computers speciaal voor logische besturingen ontworpen. Deze PLC wordt in grote mate toegepast in industrile besturingen. De besturingen van complete assemblagelijnen zijn gebaseerd op PLCs. In de jaren 60 is men begonnen met de ontwikkeling van PLCs, gezien de hoge kosten van traditionele besturingen met relais. Sinds de jaren 80 kon de PLC geprogrammeerd worden vanaf een PC in plaats van met hand held programmeerapparaten. Tegenwoordig worden PLCs gemaakt ter grote van een besturingsrelais. Diverse fabrikanten produceren PLCs. De uitvoeringsvorm is altijd vergelijkbaar. De PLC bestaat uit een processorgedeelte die het programma uitvoert, en in- en uitgangsmodules (IO modules) die met de buitenwereld communiceren. Er bestaat een ruim assortiment van deze modules. Er zijn niet alleen digitale IO modules verkrijgbaar, maar ook complete motorsturingen en modules voor serile communicatie. De keuze voor een PLC fabrikant bepaalt welke modules beschikbaar zijn. Sommige van deze modules worden rechtstreeks aan de PLC gekoppeld via een intern bussysteem. Voor andere modules wordt gebruik gemaakt van een externe bus. Voorbeeld hiervan zijn Profibus, Profinet, en EtherCAT. De IO modules worden dan middels een kabelverbinding met de PLC verbonden. Nu de PC steeds sneller wordt zijn er ook SoftPLC varianten beschikbaar. Dit zijn programmas die draaien op het PC platform. Deze vervullen hier de PLC taak, en maken gebruik van speciale insteekkaarten om de IO modules te benaderen via een bussysteem. Voordeel hiervan is dat maximaal geprofiteerd kan worden van de snelle evolutie van PC processoren. Nadeel is dat het besturingssysteem de stabiliteit van de PLC nadelig kan benvloeden. De spanningen in een industrile omgeving zijn gestandaardiseerd op 24V DC. De verschillende modules zorgen voor een galvanische scheiding tussen de ingangen en uitgangen en de PLC. Grofweg bestaat de PLC uit een CPU, geheugen, en aansluitmogelijkheden voor IO modules CPU Interne/externe bus IO modules

RAM/ROM geheugen

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 6

5 Programmeertalen voor de PLCOm een PLC te kunnen programmeren heb je een taal nodig die de PLC begrijpt. Hierin heeft in 1993 een standaardisatie plaatsgevonden: de IEC61131-3 standaard. Hierin staan de verschillende talen beschreven waarin een PLC geprogrammeerd kan worden. Er wordt onderscheid gemaakt tussen de volgende talen Ladder (LD) Function blocks (FBD) Structured text (ST, Siemens noemt dit SCL) Instruction list (IL) Function charts (SFC)

De keuze voor een programmeertaal is afhankelijk van een aantal zaken. Soms is er al bestaande code en heb je geen keus te maken. Ook moet er rekening worden gehouden met de kennis van degene die onderhoud op de software moet plegen. Bovendien moet er voor sommige ontwikkelpakketten extra worden betaald en zijn dus niet altijd alle talen beschikbaar.

5.1 LadderDit lijkt nog het meest op de elektrische schakelschemas en maakt het eenvoudig te begrijpen. Echter als de complexiteit toeneemt, neemt de leesbaarheid af, en daardoor wordt de code complex te onderhouden. Hier is een ladder diagram getekend: Q0.0 = I0.0 AND (I0.1 OR I0.2)

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 7

5.2 Function BlocksHier gaat het om verschillende bouwstenen die met elkaar worden verbonden eveneens in een grafische programmeeromgeving. Zoals je ziet in de volgende figuur gaat het om black box logica welke met elkaar verbonden wordt.

5.3 Structured TextDit is een textuele programmeertaal. Binnen de Siemens omgeving wordt Structured Text SCL genoemd. Het is een taal die veel op Pascal lijkt. Voor sommige mensen wordt deze taal als complex ervaren. Toch biedt het maximale mogelijkheden binnen de PLC. Je kunt alle soorten bouwstenen en variabelen aanmaken en aanroepen.

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 8

5.4 Instruction ListDit is een textuele taal, die nog het meest op assembly lijkt. Ook hiervoor heeft Siemens een andere naam verzonnen: STL. Is eigenlijk een textuele weergave van het ladder diagram. De volgende figuur geeft een voorbeeld.

Set Q4.0 als I1.1 of I1.3 waar zijn. Reset Q4.0 als I1.2 of I1.4 of niet I1.5 waar zijn.

5.5 Sequential Function ChartDit is wederom een grafische taal. Wordt veel gebruikt voor het maken van state machines, Je geeft stappen aan, bij een stap horen n of meedere acties, en om uit een stap te komen maak je transities aan. Goed te begrijpen en goed te debuggen. Voor grote besturingen wellicht onoverzichtelijk.

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 9

6 De structuur van een PLC programmaEen PLC programma wijkt op een aantal punten af van een traditioneel microprocessor programma of PC applicatie. Bij een PLC wordt het PLC programma cyclisch doorlopen. De cyclus van een PLC ziet er als volgt uit.

Overhead

Input scan

Uitvoeren programmacode

Output scan

Zodra een PLC in de RUN mode komt wordt deze cyclus doorlopen. Een kleine uitleg bij de verschillende blokken. Om te beginnen is er enige overhead. Hierin vindt de communicatie plaats over het bussysteem met de HMI en IO modules. Bij de input scan wordt er een snapshot gemaakt van de ingangen. De waarden worden opgeslagen in een ingangstabel. Vervolgens wordt de programmacode doorlopen. Hierin kunnen aan de hand van de ingangstabel en de programmacode de uitgangen worden aangestuurd. Ook deze gewenste waarden worden in een tabel opgeslagen: de uitgangstabel. Als de PLC klaar is met het doorlopen worden de uitgangen aan de hand van de uitgangstabel aangestuurd. Daarna begint de volgende PLC cyclus. Dit proces blijft zich herhalen zolang de PLC in de RUN mode staat. Nu kan het voorkomen dat er een fout in de programmacode zit waardoor de PLC blijft hangen in die stap. Daarvoor is een extra voorziening getroffen: de watchdog. Dit is een timer die kijkt hoe lang de programmacode duurt. Als dit boven een vooraf ingestelde tijd komt, wordt het programma afgebroken en de PLC in de STOP mode gezet. Afhankelijk van de fabrikant zullen dan ook alle PLC uitgangen laag worden gestuurd. Deze breekt dus rechtstreeks in op de PLC cylus! Nog even ter vergelijk een microcontroller en PC applicatie. Bij een microcontroller zonder besturingssysteem maak ze zelf een lus waar de processor in blijft ronddraaien (while(true)). Daarin voer je dan je programmacode uit. Het is niet wenselijk dat het programma in een microcontroller eindigt: wat zou hij moeten doen als het programma afgelopen is? Bij PC applicaties waar je wel een besturingssysteem hebt is het zeker niet de bedoeling om je programma in een while loop te laten hangen. PC applicaties maken gebruik van events en functies van het besturingssysteem.

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 10

Dan is er nog een belangrijke variabele in de PLC: de cyclustijd. In de volgende figuur staat deze schematisch weergegeven. Totale PLC cyclus tijd

Overhead

Input scan

Uitvoeren code

Output scan

Dit is het meest eenvoudig met een getalvoorbeeld uit te leggen. Stel mijn code wordt in 5 ms uitgevoerd, en de cyclustijd van de PLC is 8 ms. Dat betekent dat er zodra het programma doorlopen is er nog 3 ms over zijn. Deze tijd wordt vervolgens gewacht voordat de volgende PLC cyclus wordt gestart. Mocht er een uitschieter zijn in de programmacode, en de cyclus duurt dan 10 ms, dan wordt er niet gewacht en wordt de volgende PLC cyclus meteen gestart. Samengevat: Stel cyclustijd PLC 8 ms Uitvoeren code 5 ms -> PLC voert extra wachttijd uit van 3 ms Uitvoeren code 10 ms -> PLC start meteen volgende cyclus

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 11

7 De practicum opstellingVoor het uitvoeren van dit practicum heeft Windesheim een aantal practicum opstellingen gebouwd. De opstelling bestaat uit de volgende Siemens componenten: IM151-8 CPU met Profinet bus DP Master module voor Profibus 2 power modules 20 digitale ingangen 20 digitale uitgangen 4 analoge ingangen 2 analoge uitgangen 2 relais uitgangen 1 counter module 24V voeding, 5A

HMI OP177B Touchpanel De software voor de ontwikkeling van de PLC en de HMI is reeds genstalleerd op de verschillende systemen in het practicum lokaal.

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 12

8 De Siemens PLCDeze tutorial gaat zich nu richten op de Siemens omgeving. Siemens is internationaal een grote speler op PLC gebied. Ze hebben een ruim assortiment PLCs en modules voor verschillende toepassingen, een SoftPLC, en een grote keus uit HMIs. De ontwikkelomgeving voor de PLC heet Step7, en is voor alle typen Siemens PLC toepasbaar. Voor de ontwikkeling van HMI applicaties biedt Siemens het WinCC flexible pakket. Step7 heeft ook een aantal nadelen: 1. Het pakket kan alleen worden gebruikt indien je een licentie hebt 2. Standaard worden niet alle IEC61131-3 talen ondersteund: voor ST en SFC moet er een extra pakket worden bijgekocht 3. De simulatieomgeving PLCSIM moet ook als los pakket worden aangeschaft Toch kiezen we voor deze omgeving gezien het grote marktaandeel. Laten we de Siemens PLC eens nader bekijken:

Hier is de IM151-8 F PN/DP CPU module weergegeven. Hierin wordt de eigenlijke PLC taak uitgevoerd. Je zult je programma dus moeten laden in deze module. Later wordt beschreven hoe dat in zijn werk gaat. Laten we de PLC nog eens wat beter bekijken.

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 13

1, 2 en 3 zijn de netwerkaansluitingen. Je ziet dat er twee van bezet zijn. Aansluiting 1 is bedraad naar de achterzijde van de opstelling en deze verbindt je met het netwerk om de PLC te kunnen laden en te kunnen debuggen. In poort 2 zit een groene kabel. Deze verbindt de PLC met de HMI (touchpanel). De derde aansluiting is nog vrij om eventueel later Profinet modules op aan te sluiten. 4 is een schakelaar welke de mode van de PLC bepaalt. In de stand RUN wordt het gebruikersprogramma in de PLC uitgevoerd. In de stand STOP wordt de PLC stilgezet en wordt er geen programma uitgevoerd. De stand MRES wordt gebruikt voor het resetten van geheugen en geheugenkaart: deze zul je waarschijnlijk niet nodig hebben. 5 zijn de leds die de status en error melding van de PLC weergeven:

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 14

6 zijn de leds welke de status van de Profinet verbinding weergeven

De P2 link zal dus altijd branden aangezien de HMI altijd verbonden is met de PLC. Als je de opstelling aan het netwerk koppelt brand ook P1. 7 is het slot voor de SD kaart. Hierop wordt je programma opgeslagen. Let op: dit is geen standaard SD kaart en heeft een speciale Siemens formattering. Doe deze kaart dan ook niet in je eigen SD kaartlezer, aangezien de kaart dan onherstelbaar beschadigd raakt en vervangen moet worden! Er is geen enkele reden om de SD kaart uit de PLC te halen! 8 de aansluiting voor de 24V voeding Een losse CPU module kan nog geen interactie hebben met de buitenwereld. Dat is de reden dat we IO modules toevoegen.

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 15

Hier is een ingangsmodule weergegeven. Deze module wordt aan de PLC gekoppeld, waarna deze via de interne bus communiceert. Zo kan een hele reeks modules rechtstreeks aan de PLC worden gekoppeld. Deze PLC ondersteunt ook een aantal bussystemen. Op de CPU module zie je een drietal netwerkaansluitingen. Deze kunnen worden gebruikt om een Profinet netwerk op te zetten. Hieraan kun je IO modules maar ook bijvoorbeeld een HMI koppelen. Naast de Profinet mogelijkheid ondersteunt de PLC ook Profibus. Daarvoor is een aparte module bijgeplaatst, een zogenaamde Profibus Master module.

Met deze module komt er een extra bussysteem beschikbaar voor het koppelen van IO en HMI. De IO modules zijn vaak geschikt voor 1 type bus: je koopt Profibus OF Profinet IO modules.

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 16

9 Siemens InstallatieAfhankelijk van de talen die je gaat gebruiken moet je verschillende pakketten installeren. Het pakket wat je altijd nodig hebt is Step7. Dit pakket biedt: 1. een aantal basis talen: LD, STL en FBD 2. de mogelijkheid om je PLC te kunnen laden 3. een symbol editor om logische namen aan symbolen te hangen Voor sommige toepassingen heb je genoeg aan alleen het Step7 pakket. Siemens biedt de volgende extra pakketten aan: 1. 2. 3. 4. SCL: editor en compiler voor de taal SCL S7GRAPH: editor en compiler voor SFC WinCC flexible: editor voor HMI PLCSIM: simulatiepakket voor Siemens PLC

Alle Siemens software staat onder licentie en is dus niet legaal kosteloos te gebruiken.

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 17

10 Een waarschuwing voorafHet is bijna zover dat we de praktijkopstelling gaan gebruiken. Nu zijn er mensen die beweren dat industrile spullen niet kapot kunnen. Laten we dat eerst eens even rechtzetten. Ook industrile hardware kan kapot! Bovendien hebben we hier te maken met kostbare spullen. Wees er daarom voorzichtig mee! De 25 polige connectoren waarmee de praktijkopstellingen verbonden worden met de wereld zijn elk afgezekerd met een 0,5A zekering. Dit beperkt de maximale belasting van een connector. De HMI is een touchscreen. Bedien deze niet met een scherp voorwerp. Zorg er ook voor dat deze niet stoot of valt tegen het scherm. De SD kaart is niet geschikt voor gebruik anders dan in de PLC. Dit kaartje hoeft nooit uit de PLC te worden gehaald. Laat deze dus mooi zitten! Het is niet nodig om kabelgoten open te halen of een schroevendraaier te gebruiken bij deze opstelling. Gelieve dit dan ook niet te doen. De opstelling wordt gevoed met 220V, en omgezet in 24V. Zorg er voor dat je geen vreemde voedingsspanning aanbiedt op het systeem.

Indien je deze aanwijzingen volgt kunnen we een hele poos plezier hebben van deze practicum opstellingen!

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 18

11 Mijn eerste programmaNa de installatie is het eindelijk zo ver: mijn eerste programma. Wat zullen we eens maken? Welke taal kiezen we? Laten we eens echt eenvoudig beginnen. We gaan nu stapsgewijs een ladderdiagram maken waarbij een uitgang de waarde van de ingang volgt. Eenvoudig? Ja! Waarom dan dit voorbeeld? 1. 2. 3. 4. De programmeeropdracht is voor iedereen te begrijpen Je ziet alle stappen die je moet doorlopen Leert de verschillende functies van Step7 kennen Leert hoe je een programma kunt laden in de PLC

11.1 SIMATIC Manager opstarten

Start de SIMATIC Manager op vanuit het start menu. Dit is het centrale pakket waarmee alle overige handelingen verricht gaan worden. SIMATIC Manager start op en geeft het volgende scherm. Als het programma opstart met de New project wizard, sluit die dan af.

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 19

11.2 Nieuw project aanmakenKies File -> New

De volgende dialog verschijnt

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 20

Hierin gaan we ons eerste project maken. Kies als naam MyFirstProject en druk op Ok. Je ziet nu een nieuw scherm verschijnen: dit is je project voor zover het nu klaar is.

Eigenlijk is er nu alleen nog maar een folder structuur aangemaakt, er is nog niet voor een PLC gekozen.

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 21

11.3 Station toevoegenWe gaan nu en station toevoegen.Kies voor Insert New Object -> SIMATIC 300 Station.

Dit lijkt misschien een vreemde keuze aangezien je geen 300 Station hebt, maar we gaan straks in de hardware configurator het juiste PLC type instellen.

Het SIMATIC 300 station is nu toegevoegd. Nu moet de hardware worden aangepast voor het juiste PLC type.

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 22

11.4 Hardware configuratie aanpassenDubbelklik op het Hardware icoontje. Er wordt een nieuw pakket opgestart: HW Config.

In onze practicum opstellingen bevindt zich een IM151-8 CPU module (6ES7151-8FB00-0AB0). Deze gaan we zoeken in de configurator: typ in het Find vak IM151-8 en druk op enter. Je zult zien dat de module wordt gevonden: controleer nu het 6ES nummer: wellicht klopt dit niet en moet je verder zoeken.

Als je de juiste module gevonden hebt sleep je deze op het linkervlak. De volgende dialog verschijnt:

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 23

Op je PLC opstelling is een sticker geplakt met het IP adres van je PLC. Typ dit IP adres in het vak IP adress. Het subnet mask wordt dan 255.255.252.0. Klik vervolgens op New en OK. Nu heb je ook een ethernet bus toegevoegd aan je PLC systeem. Zie de volgende figuur.

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 24

Er is nu een rack toegevoegd met daarin de juiste CPU module.

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 25

Om de ingangen en uitgangen van de opstelling te kunnen gebruiken moet de hardware configuratie overeen komen met die van de opstelling. Deze bevat de volgende componenten:

IM151-8 CPU module Profibus master Power module Digitale ingangen (4x) Digitale ingangen (4x) Digitale ingangen (4x) Digitale ingangen (4x) Digitale ingangen (4x) Analoge ingangen (2x) Analoge ingangen (2x) Counter module Power module Digitale uitgangen (4x) Digitale uitgangen (4x) Digitale uitgangen (4x) Digitale uitgangen (4x) Digitale uitgangen (4x) Analoge uitgangen (2x) Relais module

6ES7 151-8FB00-0AB0 6ES7 138-4HA00-0AB0 6ES7 138-4CA50-0AB0 6ES7 131-4BD01-0AB0 6ES7 131-4BD01-0AB0 6ES7 131-4BD01-0AB0 6ES7 131-4BD01-0AB0 6ES7 131-4BD01-0AB0 6ES7 134-4LB02-0AB0 6ES7 134-4LB02-0AB0 6ES7 138-4DA04-0AB0 6ES7 138-4CA50-0AB0 6ES7 132-4BD02-0AA0 6ES7 132-4BD02-0AA0 6ES7 132-4BD02-0AA0 6ES7 132-4BD02-0AA0 6ES7 132-4BD02-0AA0 6ES7 135-4LB02-0AB0 6ES7 132-4HB50-0AB0

Bij het toevoegen van de Profibus DP module wordt gevraagd om een adres: klik daar gewoon op Ok. Na het toevoegen van de juiste modules slaan we de configuratie op en sluiten we de HW configurator. Je zult zien dat er wat veranderd is in je project.

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 26

Onder de CPU module die je hebt toegevoegd zijn 2 mapjes toegevoegd: Sources en Blocks. Hierin gaan we straks ons programma opslaan. Ook zie je dat er al een blok is toegevoegd: OB1

11.5 Ladder programma invoerenWe gaan nu het ladder diagram invoeren welke de gewenste besturing oplevert. Kies voor Insert New Object -> Function Block

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 27

Zorg dat de language op LAD (Ladder) staat, en klik op OK. Er is nu een nieuw Function Block toegevoegd waarin we ons diagram gaan maken. Dubbelklik op het blok FB1. De ladder editor wordt nu opgestart.

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 28

Nu moeten we de besturing gaan maken: de uitgang moest de ingang volgen: Q1.0 = I1.0. Bovenin het scherm zie je de ladder elementen al staan: we beginnen met een NO contact (ingang), en voegen vervolgens een Coil (uitgang) toe. Het ladder diagram ziet er dan als volgt uit:

Je ziet dat er nog vraagtekens staan: dat komt omdat we nog niet verteld hebben welke in en uitgang we gaan gebruiken. Pas nu de tekst aan met I1.0, en Q1.0

Het ladder diagram is nu klaar. Opslaan en afsluiten. We zijn dan weer terug in de SIMATIC Manager. We hebben nu wel een blok gemaakt maar deze wordt nog niet aangeroepen. Het cyclische PLC gedrag zit in OB1: dat blok (een zogenaamd Organization Block) wordt elke PLC cyclus aangeroepen. We gaan nu een aanroep naar FB1 maken vanuit OB1.

11.6 OB1 aanpassenDubbelklik op OB1: de editor wordt geopend. Typ hier de volgende tekst: CALL FB1, DB1. Je krijgt nu een melding over een niet bestaande DB1.

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 29

Klik op Yes. Wat deze melding precies voorstelt komen ik later op terug. Je programma ziet er nu zo uit

Nu is alles klaar: we hebben nu een PLC programma voorbereidt welke cyclisch FB1 aanroept welke elke PLC cyclus de waarde van de uitgang aanpast aan de waarde van de ingang.

11.7 Downloaden van het programmaNu moeten we het programma nog in de PLC laden. Hiervoor moeten we een verbinding maken tussen het ontwikkelsysteem waar SIMATIC Manager op draait en de PLC. De PLCs van de practicum opstellingen zijn gekoppeld via het netwerk. Je kunt deze dus vanaf je PC benaderen. Aangezien je het IP adres al ingesteld hebt in stap 4 hoeven we nu alleen nog maar de PLC te laden. Kies in de SIMATIC Manager het S300 station. In de balk met toolbuttons wordt nu de download button geactiveerd.

Druk op deze knop: de PC zoekt nu verbinding met de PLC en zal de blokken in de PLC laden. Als dat klaar is kun je het programma gaan monitoren. Dubbelklik op FB1 in de blocks folder. De editor zal nu openen. Met de monitor functie

kun je nu real time meekijken met de applicatie: je ziet dat als de input binnenkomt en de uitgang hoog wordt.

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 30

Dit is dan je eerste applicatie. Je hebt nu alle stappen doorlopen om met behulp van de SIMATIC Manager een Siemens PLC programma te schrijven en in de PLC te laden. In de volgende hoofdstukken wordt een aantal zaken verder toegelicht.

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 31

12 Bewaren en terughalen van projectenProjecten worden op een ondoorzichtige manier opgeslagen op je harde schijf. Wen je daarom ook meteen maar de methode aan die de SIMATIC Manager biedt om projecten op te slaan en terug te halen. Projecten bestaan uit zowel de configuratie, de sources en de HMI, dus alles wat er in de boomstructuur van je project te zien is.

12.1 Bewaren van projectenOpen het project wat je wilt opslaan. Kies vervolgens File -> Archive.

Kies Ok, vervolgens wordt je gevraagd waar je het project wilt opslaan. Het lijkt me verstandig om hiervoor je USB stick oid te gebruiken, zodat je ook op een andere PC verder kunt werken.

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 32

Kies de juiste locatie en druk op Save. Het project wordt ingepakt en als zip file opgeslagen.

12.2 Terughalen projectenKies File -> Retrieve. Er wordt gevraagd om de zip file te selecteren waarin je het project hebt opgeslagen.

Vervolgens moet je de destination directory opgeven. Laat deze op de standaard waarde staan (S7Proj op de lokale harde schijf)

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 33

Kies Ok. Het project wordt nu uitgepakt.

13 Hardware ConfiguratorIn een vorig hoofdstuk heb je al kennis gemaakt met de hardware configurator. In dit hoofdstuk gaan we daar verder op in. In de hardware configurator beschrijf je alle componenten die je fysiek ook in je besturing gebruikt. Als je gebruik maakt van bijvoorbeeld een Profibus bussysteem dan geef je dat hier aan. We gaan eens een nieuw project maken en daar fictief een aantal modules bij elkaar zoeken om dit te laten zien. Start de SIMATIC manager, maak een nieuw project aan. Voeg vervolgens weer een S300 Station toe. Dubbelklik nu op het Hardware icoontje: de hardware configurator start op.

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 34

In dit venster zie je een aantal zaken. Aan de rechterkant zie je het winkeltje waar je de componenten welke je kunt gebruiken in je opstelling vandaan kunt halen. We hadden in het vorige hoofdstuk al gezien dat er een zoekfunctie in zit om deze onderdelen te kunnen vinden. In het rechterscherm zie je nu een groot wit vlak. Dit is de plattegrond van je hardware opstelling. We gaan nu weer de IM151-8 toevoegen. Typ daarvoor IM151-8 in de zoekbox. Je zult zien dat er meerdere van deze modules bestaan. Dit is belangrijk: zorg er voor dat het modulenummer (6ES nummer) overeenkomt met de module die je fysiek ook hebt. Voor onze practicum opstelling is dat de 6ES7 151-8FB00-0AB0. Voeg de module toe door deze er op te slepen, en klik OK op de dialog over netwerkinstellingen. Je ziet dat er nu een CPU module is toegevoegd met daarin een groot aantal vrije rijen. Deze module is een zogenaamd rack. Binnen een rack kun je weer verschillende modules toevoegen. Een rack heeft maar 1 CPU module. Hierin wordt je programma geladen. Alle modules die je nu nog toevoegt worden zichtbaar voor de CPU module. We gaan nu eerst een power module toevoegen. Deze zorgt voor de verzorging van de voedingsspanning van de IO modules. Kies uit het mapje PM de 6ES7 138-4CA500AB0. Als je deze 1x aanklikt dus nog niet sleept zie je dat een aantal posities binnen je rack groen kleurt. Dit betekent dat deze module alleen op die plekken toegevoegd mag worden.

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 35

Voeg de module toe op positie 4. En voeg een ingangsmodule 6ES7 131-4BD01-0AB0 toe op positie 5. Je rack ziet er nu als volgt uit.

Onderaan het scherm staat nog een deel wat we nog niet hebben besproken.

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 36

Hierin staat van elke module welke adressen deze gebruiken. Het meest eenvoudige voorbeeld is hier de ingangsmodule. JE ziet daar staan 1.0..1.3. Dit betekent dat de 4 ingangen van deze module zichtbaar zijn in je programma als I1.0, I1.1, I1.2 en I1.3. Van deze ingangsmodule kunnen we ook de eigenschappen zien en aanpassen. Dubbelklik hiervoor op de module. Een nieuw venster wordt geopend.

Onder het tabjes addresses kun de het adres van deze module aanpassen, en onder parameters een aantal andere instellingen waaronder de mogelijkheid om de ingang interrupts te laten genereren. Alles wat we tot nu toe hebben gedaan zijn modules die rechtstreeks aan de PLC gekoppeld zijn. We hebben het ook al gehad over bussystemen. Nu gaan we een Profibus master module toevoegen en ook een Profibus bus.

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 37

We kiezen de Insertable DP Master, 6ES7 138-4HA00-0AB0. Je ziet dat deze alleen op positie X2 mag worden toegevoegd. Voeg de module daar toe. De volgende dialoog verschijnt:

Je geeft hier de Profibus Master module een uniek adres: adres 2. Elke Profibus module heeft een uniek adres. Je kunt 127 modules op die manier adresseren. Je ziet dat hij nog niet een netwerk aanbiedt aan de buitenwereld. Kies daarvoor New Weer een nieuw venster wordt geopend. Van belang is het tabje Network Settings.

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 38

Hierin stel je in wat de snelheid is van je Profibus netwerk. Sneller betekent dat je de inputs sneller binnenkrijgt, maar betekent ook dat er hogere eisen worden gesteld aan je Profibus bekabeling. Voor nu allemaal prima. Sluit de dialogen met OK. In je hardware configurator is er nu een stippellijn bijgekomen. Dit is de Profibus aansluiting waaraan je nu de verschillende Profibus modules kunt koppelen. We gaan nu een Vision inspectie systeem toevoegen aan het Profibus netwerk. Kies daarvoor de VS120, 6GF1 018-2AA10. Je zult zien dat je als je gaat slepen deze alleen kunt toevoegen op de stippellijn. Als je dat doet wordt er gevraagd om het Profibus adres van deze module in te geven. Kies hiervoor 3. Je configuratie ziet er nu als volgt uit:

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 39

Je ziet ook dat deze module nu een I en Q geheugen gebiedt heeft om deze vanuit de CPU te kunnen benaderen. Op vergelijkbare wijze kun je ook andere Profibus modules toevoegen. De adressering van een module vindt meestal plaats met behulp van schakelaars op de module. Zorg er voor dat het Profibus adres van de module overeenkomen met het Profibus adres in de hardware configurator. We gaan ook een Profinet bus toevoegen: klik met de rechtermuisknop op de PN IO en klik op Insert Profinet IO system

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 40

Nu kunnen we op dezelfde wijze Profinet modules toevoegen. Kies bijvoorbeeld de VS120, 6GF1 0182AA10 (ook een vision systeem maar dan met Profinet aansluiting).

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 41

Je hebt nu verschillende manieren gezien om IO te benaderen: rechtstreeks gekoppeld, via Profibus en via Profinet. Afhankelijk van je opstelling zul je wel of niet de bussystemen gaan gebruiken. Je kunt de hardware configurator nu afsluiten met Save and Compile.

Dan wordt de configuratie gecompileerd en opgeslagen. Daarna kun je de hardware configurator afsluiten.

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 42

14 Symbol TableWe hebben een programma gemaakt welke een output hoog zet als er een input binnenkomt. We hebben ook al gezien dat de link tussen de ingang en de module gelegd wordt in de hardware configurator. Naarmate je meer in en uitgangen krijgt dan is het niet wenselijk om alle in en uitgangen alleen bij een nummer te noemen. We willen graag de ingangen een symbolische naam geven. In de symbol table wordt de link gelegd tussen de het IO adres en de symbolische naam. De symbol table is te vinden onder je S7 Program mapje. Dubbelklik daar op Symbols. De symbol editor wordt geopend.

Hierin kunnen we nu de ingang een naam gaan geven. Stel dat op ingang I1.0 een startknop is aangesloten. We maken dan een symbool i_Start, en geven deze adres I1.0

Vanaf nu kun je in je programma naast de I1.0 notatie ook gebruik maken van i_Start. Wen jezelf meteen aan om hier gebruik van te maken. Het maakt je programma eenvoudiger te lezen en beter te debuggen zonder elke keer schemas bij de hand te hebben. Naast de ingangen en uitgangen houdt de programmeeromgeving hier ook alle functieblokken en datablokken in bij.

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 43

15 Standaard blokken in de Siemens omgevingSiemens gebruikt in de PLC zogenaamde OBs (Organisation Blocks). Deze zorgen zowel voor de cyclische als voor de interrupt afhandeling. Je bent niet verplicht om alle blokken te gebruiken, al zal in de praktijk altijd een OB1 worden gebruikt voor de cyclische afhandeling.

15.1 Overzicht OBs

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 44

15.2 OB1

Zoals je ziet wordt door het besturingssysteem van de PLC op cyclische basis het OB1 aangeroepen. Vanuit deze OB roep je de verschillende FCs en FBs aan: dit is je zelf gemaakte code.

15.3 OB100, OB101, OB102OB100: wordt aangeroepen na een warm restart OB101: wordt aangeroepen na een hot restart OB102: wordt aangeroepen na een cold restart Deze blokken worden aangeroepen na een herstart. Het onderscheid tussen de verschillende vormen van herstart en de gevolgen daarvan is terug te vinden in Programming with Step 7 (zie literatuurlijst)

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 45

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 46

15.4 Interrupt afhandeling: OB10..17, OB20..23, OB30..38, OB40..47, OB80..87, OB121 en 121

Een interrupt is onderbreking van de reguliere programma afloop door een gebeurtenis. Bij de Siemens PLC is de reguliere afloop de cyclische afloop vastgelegd door het aanroepen van OB1. Er zijn een aantal organisation blocks die een interrupt kunnen genereren. Afhankelijk van de prioriteit kan een interrupt ook weer onderbroken worden door een interrupt, zoals weergegeven in de bovenstaande figuur. Zorg er voor dat de code in je interrupt handler snel uitgevoerd wordt, in ieder geval voordat het volgende interrupt optreedt. Meer informatie over interrupt afhandeling is te vinden in Programming with Step 7, in hoofdstuk 4.2.4.

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 47

16 BlokkenEen vreemde naam voor een hoofdstuk: blokken? Het gaat hier over de verschillende bouwstenen die het Siemens pakket kent. Dit is zeker belangrijk, voor het aanroepen van bouwstenen heb je weer andere bouwstenen nodig. Ik behandel de verschillende bouwstenen.

16.1 FCEen functie is een bouwsteen welke geen eigen geheugen alloceert. in tegenstelling tot de FB kan een FC bestaan zonder instance DB. Bovendien kan een functie een waarde returnen. Functies van het type VOID returnen een waarde. Alle variabelen die je functie nodig heeft moeten als VAR_INPUT, VAR_OUTPUT of VAR_TEMP worden gedefinieerd. Voorbeeld:

FUNCTION MyFunction: REAL VAR_INPUT x1: REAL ; x2: REAL ; x3: REAL ; x4: REAL ; END_VAR VAR_OUTPUT Q2: REAL ; END_VAR BEGIN // Return value from function MyFunction:= SQRT( (x2 - x1)**2 + (x4 - x3) **2 ) ; Q2:= x1 ; END_FUNCTION

16.2 FBHet grote verschil tussen een FC en een FB: bij het definiren van een FB (function block) wordt wel geheugen gealloceerd. Deze allocatie vindt plaats door het maken van een instance DB. Deze bewaart de variabelen van het function block. De volgende tabel geeft nog eens de verschillen tussen FB en FCCharacteristic Kan worden gebruikt als subroutine Kent de parameters for In, Out and Inout Kan temporary variabelen gebruiken Kan static variabelen gebruiken Hebben een instance DB nodig voor de aanroep Parameters worden als adres doorgegeven FC Yes Yes Yes No No Yes FB Yes Yes Yes Yes Yes No

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 48

16.3 DBBlok waarin de variabelen van een programma opgeslagen kunnen worden. Deze blokken zijn vanuit het gehele programma te benaderen. Voorbeeld: // Data block with STRUCT data type assigned DATA_BLOCK DB10 STRUCT // Date declaration with initial values VALUE : ARRAY [1..100] OF INT := 100 (1) ; SWITCH : BOOL := TRUE ; S_WORD : WORD := W#16#FFAA ; S_BYTE : BYTE := B#16#FF ; S_TIME : S5TIME := S5T#1h30m10s ; END_STRUCT BEGIN // Assignment section // Value assignment for specific array elements VALUE [1] := 5; VALUE [5] := -1 ; END_DATA_BLOCK

16.4 Instance DBZoals eerder al is aangegeven is voor het aanroepen van een FB een instance DB nodig. Deze zorgt er voor dat je de aanroep kunt maken, en slaat de variabelen op die bij de FB horen. Een handige methode is het toevoegen van een instance DB aan het einde van je FB source file. DATA_BLOCK DBxx FBxx BEGIN END_DATA_BLOCK;

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 49

17 Data typesHier een opsomming van de verschillende data types.

Een aantal zaken wil ik hier aan toevoegen:

17.1 ArraysEen array is een verzameling van dezelfde datatypes. Ze worden als volgt gedeclareerd: ARRAY[] of

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 50

Hierin is x de ondergrens van de array index, y de bovengrens van de array index en datatype het type welke je in de array wilt opslaan. Een voorbeeld van een declaratie is ARRAY[1..3] OF INT Er kunnen ook multidimensionale arrays worden aangemaakt, tot 6 dimensies. De declaratie van een 2 dimensionale array ziet er als volgt uit: ARRAY[1..3,1..2] OF INT

17.2 StructDe structure is een verzameling variabelen welke je binnen een FB of FC kunt gebruiken. Voorbeeld:

VAR MOTOR : STRUCT DATA : STRUCT LOADCURR : REAL ; VOLTAGE : INT := 5 ; END_STRUCT ; END_STRUCT ; END_VAR

17.3 UDTUDT staat voor User Defined Datatype. Hierin kun je een verzameling variabelen en structs gaan beschrijven die je vervolgens als variabele kunt gebruiken binnen de FCs, FBs en DBs. Voorbeeld:

// UDT definition with a symbolic name TYPE MEASVALUES: STRUCT BIPOL_1 : INT := 5; BIPOL_2 : WORD := W#16#FFAA ; BIPOL_3 : BYTE := B#16#F1 ; BIPOL_4 : WORD := W#16#1919 ; MEASURE : STRUCT BIPOLAR_10V : REAL ; UNIPOLAR_4_20MA : REAL ; END_STRUCT; END_STRUCT; END_TYPE //Use of the UDT in an FB FUNCTION_BLOCK FB10 VAR MEAS_RANGE : MEASVALUES;

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 51

END_VAR BEGIN // . . . MEAS_RANGE.BIPOL_1 := -4 ; MEAS_RANGE.MEASURE.UNIPOLAR_4_20MA := 2.7 ; // . . . END_FUNCTION_BLOCK

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 52

18 Programmeren in SFCProgrammeren met SFC heeft een sterke binding met state machine gedrag en maakt het tot een veel gebruikte grafische programmeertaal voor PLCs. We gaan nu een eenvoudige state machine programmeren en debuggen met de Simatic omgeving. Kies in de Blocks Folder van je project Insert New Object -> Function Block

Kies bij de Created in Language GRAPH voor het maken van een SFC block, en geef Ok. Dubbelklik op het nieuw gemaakte blok: de S7Graph editor start dan op.

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 53

De eerste stap is al gemaakt. Dit is de zogenaamde initialisatie stap, herkenbaar aan het dubbele lijntje rondom de stap. We gaan hier een actie toevoegen: kies de eerste stap en geef Insert New Element -> Action

Er komt nu bij de stap een aantal vraagtekens te staan. Hier kunnen we de actie die bij deze stap hoort vastleggen. In dit geval kies ik voor het setten van Q1.0. Een overzicht van alle acties die mogelijk zijn is terug te vinden in de help file van S7 Graph onder Standard Actions en Event Actions.

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 54

Nu zal de uitgang gezet worden zodra de state machine in stap 1 komt. Hij blijft in deze stap zitten tot er voldaan wordt aan de transition condition (stap voorwaarde). Deze gaan we programmeren bij T1.

Hier voegen we een aardige transitie toe: als het systeem langer dan 1 seconde in stap 1 zit is dat een voorwaarde om naar de volgende stap te gaan. Het symbool welke toegevoegd is, is een comparator, met als ingangswaarden de tijd dat stap 1 actief is, en een constante tijd: 1 seconde. Nu voegen we de volgende stap toe: selecteer de transitie en geef insert new element -> step + transition

Voeg ook bij deze stap een actie toe: R Q1.0, en een transitie conditie: Step2.T, T#2s. Tenslotte voeg je een jump toe. Insert New Element -> Jump. Deze laat je terugspringen naar stap 1. Uiteindelijk krijg je het volgende schema:

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 55

We hebben dus nu 2 states gemaakt. Bij state 1 gaat de uitgang aan, gedurende 1 seconde, en in state 2 uit gedurende 2 seconden. Nu in de PLC laden. Eerst het blok opslaan: deze wordt dan ook meteen gecontroleerd. Vervolgens kies je download. De volgende dialog verschijnt de eerste keer:

Blijkbaar moet er een instance DB zijn: deze wordt automatisch aangemaakt. Ook moet er om SFC code te laten werken een FC worden meegeladen. Allemaal prima. Kies ok.

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 56

Je verwacht nu dat een en ander gaat werken. Echter wie roept de code nu aan? Niemand! Pas OB1 aan zodat je SFC code wordt aangeroepen. Pas eventueel de bloknummers aan indien nodig.

Nu gaan we debuggen om te kijken of we de states kunnen volgen. Kies in de S7GRAPH editor voor het

Symbool. De monitor mode zal nu starten.

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 57

De groene stap is de stap die nu actief is. Je zult zien dat de stappen 1 en 2 continu worden doorlopen.

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 58

19 Variable tableNu we dit programma werkend hebben kan ik het niet laten om nog een krachtige debugging mogelijkheid binnen de Siemens omgeving te laten zien: de variable table of kortweg VAT. In deze VAT kun je variabelen monitoren maar bovendien ook wijzigen. Aangezien ons knipperende uitgang programma nog actief is, gaan we eens in de VAT die uitgang monitoren. Kies vanuit de SIMATIC Manager de optie PLC -> Monitor Modify Variables

Er wordt een nieuw venster geopend waarin we de symbolen kunnen ingeven. Aangezien we in het SFC programma Q1.0 aangestuurd hebben zetten we die in de tabel.

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 59

Vervolgens kiezen we Monitor Variable Je zult zien dat de actuele uitgangswaarde nu wordt weergegeven in de status value kolom.

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 60

De VAT tabel heeft nog een erg interessante mogelijkheid namelijk het forceren van variabelen. Deze optie kan erg handig zijn om IO uit te zoeken of te testen. Als je hier mee gaat werken: pas dan goed op. Indien je PLC hardware aanstuurt dan zal die door het forceren buiten je PLC programma om bewegingen uit gaan voeren! Wees hier dus altijd bedacht op. We gaan hier Q2.0 forceren. Voeg Q2.0 toe in de address kolom. Je ziet dat de huidige waarde false is. Typ nu in de modify value kolom de waarde true en druk op Activate modify values De uitgang wordt nu hoog gemaakt en blijft ook hoog aangezien er geen programma code is die deze uitgang weer laag maakt. Ook als je nu de VAT afsluit blijft deze uitgang geset, tot de PLC herstart wordt.

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 61

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 62

20 Programmeren in SCLSCL is de structured text variant van Siemens. De taal wordt niet standaard ondersteund maar is via een apart software pakket toe te voegen. Met SCL maak je gebruik van source files. Het bouwen van deze source files geschiedt met een make file. Elk blok kan ook gespecificeerd worden in SCL: ook bijvoorbeeld OB1. We gaan in dit hoofdstuk in de taal SCL een FB en een DB maken. Tevens gaan we OB86 toevoegen om IO fouten te detecteren. SCL is een taal die maximale flexibiliteit biedt maar wel als complex wordt ervaren. Toch valt dit eigenlijk wel mee. De taal lijkt een hoop op Pascal. Er zijn een aantal regels waar je aan moet voldoen en waar je rekening mee moet houden: 5. 6. 7. 8. 9. Elk blok heeft een typische structuur Elk statement en elke variabele declaratie moet je afsluiten met een ; De taal is niet hoofdlettergevoelig Commentaar heeft geen invloed op de werking van het programma Je mag geen DB0 aanmaken: deze is gereserveerd

Laten we eens een SCL bestand gaan maken en deze toevoegen aan ons project. Tot nu toe gingen we steeds in de Block folder nieuwe bestanden toevoegen. Een SCL bestand wordt toegevoegd in de Sources folder.

Laten we deze meteen maar hernoemen naar MyFirstSclFile. Vervolgens dubbelklikken op deze file. De SCL editor wordt geopend.

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 63

Voor we verder gaan, gaan we een aantal instellingen van de SCL editor aanpassen die naar mijn idee standaard niet goed staan. Kies voor Options -> Customize en zorg er voor dat de volgende opties aan staan:

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 64

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 65

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 66

Sluit de dialog met Ok. Nu gaan we een FB toevoegen. Er mogen meerdere bouwstenen binnen n source file worden gedefinieerd, maar wen je meteen aan om per source file n FB en de bijbehorende instance DBs te maken. De structuur van een FB ligt vast. Een makkelijke methode om deze toe te voegen is met behulp van de Block Templates. Kies Insert -> Block Template -> FB. Er wordt een nieuw function Block toegevoegd. Laten we de naam aanpassen en kiezen FBTest. Aangezien onze source file geen gebruik maakt van temporary variables verwijderen we deze. De volgende FB blijft over.

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 67

Zoals al eerder geschreven hoort er bij elke FB ook een instance DB. Ook deze zit in de block templates. Kies voor Insert -> Block Templates -> Instance DB, en pas ook hier de namen aan.

Nu gaan we dit eens compileren. Klik op Compile Onderin het scherm laat de compiler zien wat de status is.

Nu terug naar de SIMATIC Manager en in de Symbol Table kijken.

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 68

Je ziet dat de blokken automatisch toegevoegd zijn. Je ziet ook dart DBTest een instance is van FBTest. Sluit de Symbol Editor weer af. Nu gaan we terug naar de source file en deze gaan we wat inhoud geven. We gaan een bouwsteen maken die de temperatuur voor ons gaat bewaren. We gaan nu een aantal variabelen toevoegen welke de temperatuur gaan opslaan. Om te beginnen hebben we een actuele temperatuur, daarnaast een minimum temperatuur en een maximum temperatuur. De actuele temperatuur is een ingangswaarde

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 69

van onze bouwsteen welke we daar binnen niet willen veranderen, en hoort bij de VAR_INPUT. De minimale en maximale temperatuur horen bij de VAR_OUTPUT. De inhoud komt er dan als volgt uit te zien:

Dit blok nu gaan compileren, en daarna in de PLC laden. Wat moesten we ook alweer aanpassen om het blok cyclisch aan te laten roepen? OB1! Pas deze aan en laad deze ook in de PLC. Om de code te gaan testen gaan we een VAT tabel maken. Kies in de SCL editor voor PLC -> Monitor/Modify Variables. Nu gaan we de actuele, de min en de max temperatuur toevoegen. Type in het vak address DBTest.ActualTemperature. Deze komt er nu bij in de VAT tabel. Voeg ook de andere variabelen toe. De default weergave is HEX (hexadecimaal). Dit passen we natuurlijk aan naar floating point. Rechtermuisknop op woordje HEX, en dan kiezen voor Floating-Point. De VAT tabel ziet er nu als volgt uit:

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 70

Nu zetten we de monitoring aan: druk op Monitor Variable (de knop met het brilletje)

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 71

Je ziet dat alle waarden nu nog op 0.0 staan. Nu gaan we een waarde voor de ActualTemperature invullen. Type 25.0 in de Modify Value kolom en druk op force values

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 72

De waarde is staat nu in de actual en ook in de max temperature. Dit heeft onze SCL source gedaan! Terug naar de SCL editor: die heeft ook een monitor mogelijkheid. Deze wordt ook geactiveerd met het bril knopje. Je ziet hier dezelfde waarden in staan als in de VAT tabel. Je kunt hier alleen de waarde niet aanpassen, alleen monitoren. TODO: Gedrag na herstart

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 73

Onze temperatuurmeter is voor nu eventjes klaar. We gaan nu en vervolg geven door ook een MMI toe te voegen aan ons project en daarin de temperatuur waarden weergeven.

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 74

21 HMIHMI is de afkorting voor Human Machine Interface. In het Nederlands zie je ook de afkorting MMI (Man Machine Interface). Het is de interface tussen de computer of machine en de gebruiker van deze computer of machine. Er was een tijd dat de interface mogelijkheden beperkt bleven tot het aansturen van een lamp dat er iets mis was. Het vinden van problemen is dan bijzonder complex. Tegenwoordig zijn de mogelijkheden van de HMI bijna onbeperkt. De HMI biedt veelal tekst en grafische mogelijkheden en kan de gebruiker ondersteunen bij het bedienen, instellen en onderhouden van de machine. Siemens biedt een range van HMI mogelijkheden, van alleen een textpanel (LCD scherm) tot een HMI met touch mogelijkheden.

Voor de Siemens PLC reeks is gekozen voor een universeel pakket Step7. Ook voor de HMI heeft Siemens deze keus gemaakt en het pakket WinCC Flexible op de markt gebracht. Vanuit dit pakket zijn alle HMIs van Siemens te programmeren. Ook de practicum opstelling is voorzien van een Siemens HMI. Deze heeft het typ OP177B PN/DP, en is voorzien van zowel ProfiNET als Profibus aansluiting. De opstelling maakt gebruik van de ProfiNET verbinding.

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 75

22 WinCC FlexibleZoals reeds genoemd is WinCC flexible het pakket waarmee de HMI ontworpen gaat worden. We gaan de eerder gemaakte temperatuur module nu visualiseren met Step7.

22.1 Toevoegen HMI aan projectWe beginnen met het toevoegen van de HMI aan ons Step7 project. Kies hiervoor Insert New Object -> SIMATIC HMI Station:

Er verschijnt een dialoog waarin je de juiste HMI moet selecteren. De practicum opstelling is voorzien van een OP177B 6 color PN/DP. Deze gaan we dan ook selecteren in de dialoog en druk op Ok.

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 76

Vervolgens wordt WinCC Flexible opgestart. Dit is een pakket welke behoorlijk wat resources vraagt van het systeem. Het starten zal dan ook n tot enkele minuten in beslag nemen. Als dit gereed is zie je dat het HMI station toegevoegd is aan je project.

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 77

Nu moeten we nog een aantal aanpassingen maken in je project om de HMI te laten communiceren met de PLC. Om te beginnen gaan we het IP adres van de HMI goed instellen. Kies hiertoe Configuration onder het HMI station. De Hardware Configurator wordt geopend. Dubbelklik HMI IE, en klik op Properties. Vul vervolgens het IP adres van de HMI in. Deze staat op de zijkant van de box waarin de HMI ingebouwd is!

Hier is als voorbeeld 145.44.140.17 gebruikt. Kies vervolgens als Subnet Ethernet(1), en klik op Ok. Sluit de Hardware Configurator af en sla de wijzigingen op. Vervolgens gaan we de connectie maken tussen de PLC en de HMI. Open daartoe Connections, te vinden in het mapje Communication. Als je hierop dubbelklikt wordt WinCC Flexible gestart.

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 78

De proefopstelling communiceert via een Profinet verbinding. Selecteer daartoe Ethernet als interface.

Kies nu het station waarmee je verbinding maakt. Dit is de PLC in je hardware configuratie. Je zult zien dat het IP adres van de PLC nu in de rechterkant wordt ingevuld.

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 79

Het IP adres van de HMI is overgenomen uit de eerdere instelling met de Hardware Configurator.

Als je alles goed gedaan hebt is er nu een verbinding tussen de PLC en de HMI, aangeduid met een dichte lijn tussen de PLC en de HMI. Als er Not Connected staat controleer dan in de Hardware Configurator of zowel de PLC als de HMI in dezelfde IP range zitten, en of beide op Networked staan.

22.2 Toevoegen verbinding met programmaNu de HMI toegevoegd is, gaan we verder met de uitleg van de temperatuur visualisatie. Hiervoor gaan we een VU meter toevoegen voor de actuele temperatuur, en een uitlezing van de minimale en maximale temperatuur. We gaan hiervoor 2 schermen toevoegen: ntje met de huidige temperatuur, en ntje met de minimale en maximale temperatuur.

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 80

In de Simatic manager -> Simatic HMI station -> WinCC flexible -> Screens en dubbelklikken op Screen_1. WinCC flexible start nu op (duurt even), en vervolgens zie je scherm 1.

Voeg uit de enhanced objects de gauge toe. Hiermee gaan we de huidige temperatuur weergeven. De eigenschappen van deze gauge staan onderin het scherm. Kies General en pas het label aan in Temperature, en kies Properties -> Scale, en pas de schaal aan van 0 50 oC. Zo eenvoudig is het blijkbaar om deze objecten aan te passen! Nu moeten we de huidige temperatuur nog koppelen aan deze meter. De koppeling van PLC objecten aan HMI objecten gaan met zgn Tags. We moeten dus een Tag gaan toevoegen met daarin de huidige temperatuur. Kies in het pakket WinCC flexible het kopje Communication -> Tags. Het volgende scherm verschijnt.

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 81

Klik vervolgens in het vak Name. De invoer van je Tag begint! Nu de koppeling maken: Kies bij Symbol voor DBTest: de databouwsteen welke de temperatuur bijhoudt.

Je ziet nu dat de overige velden ook automatisch worden aangepast. We zetten de Acquisition Cycle (hoe vaak de waarde wordt opgehaald) op 100 ms. De naam van het Tag is nu DBTest.ActualTemperature geworden. Terug naar het scherm met de gauge en dit tag kiezen als Process waarde. Een groot nadeel is dat de HMI niet de symbolische naam gebruikt om de waarde op te halen maar het adres zoals deze bij Info is weergegeven. Dit betekent dat indien je variabelen tussenvoegt bij een databouwsteen in je PLC programma je ook de HMI opnieuw moet laden. Hou daar rekening mee!

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 82

Kies nu voor Screens -> Add Screen en voeg nog een scherm toe. Een nieuw leeg scherm verschijnt. Hierin komen de minimale en maximale temperatuur in een textvak. Bouw het volgende scherm op met IO fields en Text fields. Voeg bovendien de juiste tags toe.

Nu moeten we nog wisselen van scherm: we voegen aan het eerste scherm een knop toe, en passen de tekst aan in Min/max. Vervolgens kiezen we bij Events -> Click de functie Screens -> Activate Screen. De screen name is daarvoor Screen_2. Als de knop wordt ingedrukt komen we bij Screen_2 uit. In Screen_2 moet ook een knop om weer terug te gaan. Voeg deze ook toe, met de text Actual. Je ziet dat het wisselen van schermen door de HMI zelf wordt afgehandeld: er is geen extra Tag voor nodig. Als dit alles klaar is gaan we de HMI laden.

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 83

22.3 Project downloaden naar de HMIHet project wordt via een TCP/IP verbinding naar de HMI gestuurd. Gebruik deze voor het laden. Kies Project -> Transfer -> Transfer

Op de bovenkant van de HMI box staat het juiste IP adres van je HMI. Klik vervolgens op Transfer en de HMI wordt geladen

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 84

23 ProblemenWat als het niet werkt Het meest voorkomende probleem is dat je geen verbinding krijgt met de PLC.

Controleer dan de volgende zaken: 1. Staat de PLC aan en is deze verbonden met het netwerk? (zie lampje P1 op de PLC) 2. Zorg er voor dat de PG/PC interface goed ingesteld staan. Kies in de SIMATIC Manager voor Options -> Set PG/PC Interface. De volgende dialog wordt geopend:

Zorg er voor dat de interface op TCP/IP staat en dan de vaste netwerkadapter. Als je deze wijzigt komt de melding:

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 85

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 86

24 LiteratuurlijstEr is gebruik gemaakt van de volgende literatuur:1. Siemens SIMATIC Programming with Step 7, 6ES7810-4CA08-8BW0

http://support.automation.siemens.com/WW/view/en/186520562. Organization blocks overview https://www.automation.siemens.com/WW/forum/guests/PostShow.aspx?HTTPS=REDIR&PostID =105933&language=en (discussion forum) https://www.automation.siemens.com/WW/forum/members/PostGetAttachment.aspx?attachmentI D=5763&Language=en (link naar pro1_12e_obs.pdf)

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 87

25 Aansluitgegevens PLC rekHier de aansluitgegevens van de 25 polige connectoren die op het PLC rek zitten. Let op: dit is niet meer compatible met de oude Mitsubishi connector. De bandkabels die bij de opstellingen liggen zijn dan ook alleen met die Siemens PLC te gebruiken. X1 en X2 zijn Festo SYSLINK compatible, X3 heeft afwijkende aansluitingen. Pin 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 X1 o0 o1 o2 o3 o4 o5 o6 o7 +24V +24V GND GND nc i0 i1 i2 i3 i4 i5 i6 i7 +24V +24V GND GND X2 o0 o1 o2 o3 o4 o5 o6 o7 +24V +24V GND GND nc i0 i1 i2 i3 i4 i5 i6 i7 +24V +24V GND GND X3 ao0 ao1 cnto c1 no1 nc1 o0 o1 +24V +24V GND GND nc ai1 ai2 ai3 ai4 cntb cnta cnti i0 +24V +24V GND GND

Siemens STEP 7 tutorial

Hogeschool Windesheim

Pagina 88