Besturing van de Sinamics S110 door de S7-1200 met behulp van een pulse-direction interface
Getting Started
M.A.Fransen 08-07-2010
Besturing van de Sinamics S110 door de S7-1200 met behulp van een pulse-direction interface
1. Inhoud 1. Inhoud ................................................................................................................................1 Inleiding ......................................................................................................................................1 1. Benodigdheden ...................................................................................................................2 1.1. Hardware....................................................................................................................2 1.2. Accessoires .................................................................................................................2 1.3. Software .....................................................................................................................3 2. Aansluitschema ...................................................................................................................4 3. Gebruik van Pulse-Direction interface...................................................................................9 3.1. CPU stuurt de drive aan ...............................................................................................9 3.2. De drive stuurt de motor aan.....................................................................................10 4. Configuratie S110 .............................................................................................................13 5. Programma blokken S7-1200.............................................................................................20 6. Configuratie S7-1200 ........................................................................................................23
Inleiding In deze handleiding wordt een voorbeeldproject gegeven waarbij een servomotor met een S110 drive gepositioneerd kan worden met een S7-1200 CPU met behulp van een pulstrein. In dit project kan de motor aangestuurd worden met een variabele tabel op de PG/PC. In hoofdstuk 1 wordt uitgelegd welke apparatuur er nodig is voor het volgen van deze handleiding. In hoofdstuk 2 wordt weergegeven hoe deze aangesloten dient te worden. In hoofdstuk 3 wordt kort uitgelegd hoe de puls-direction interface werkt en hoe het bij de S7-1200 en de S110 wordt toegepast. In hoofdstuk 4 wordt stap voor stap uitgelegd hoe de S110 geconfigureerd moet worden voor het gebruik van pulse direction interface. In hoofdstuk 5 wordt uitgelegd welke programma blokken de s7-1200 gebruikt om de S110 aan te sturen en hoe deze werken. In hoofdstuk 6 zal stap-voor-stap de configuratie en het programma voor de S7-1200 worden gemaakt. Dit document is geen volledige handboeken en kan ook niet als vervanging ervan dienen. De handboeken en catalogi gaan voor deze handleiding. Aan dit document kunnen geen rechten ontleend worden. Dit document is met zorg samengesteld. Mocht u iets opvallen aan deze handleiding, of geeft u een fout gezien, ontvangen wij graag uw reactie. U kunt contact opnemen met de afdeling Technical Product Support (
[email protected]). Alle aanmerkingen en suggesties zijn welkom. Wanneer u na het lezen van het document nog vragen heeft over de toepassing van de S7-1200 en de Sinamics S110, dan kunt u mailen naar
[email protected]
Pagina 1
Besturing van de Sinamics S110 door de S7-1200 met behulp van een pulse-direction interface
1. Benodigdheden In de onderstaande tabellen is weergegeven welke componenten er minimaal nodig zijn voor het aansturen van een S110 door een S7-1200 met de pulse direction interface. Verder is aangegeven welke apparatuur er gebruikt is in de handleiding. Alleen met deze apparatuur kan de handleiding direct gevolgd worden. Met andere componenten zullen instellingen niet hetzelfde zijn of zullen in- en uitgangen anders gekozen moeten worden.
1.1. CPU* Signal board* Power Module Control Module Motor***
Hardware Minimaal benodigd S7-1211/1212/1214 DI1/D02 x DC24V PM340 CU305 Servo of stappen motor SMC10/20/30
Gebruikt in manual S7-1214C DC/DC/DC PM340 CU305 DP firmware 4.3.1 Synchrone Servo met Drive Cliq -
Art.nr. 6ES7214-1AE30-0XB0 6ES7223-0BD30-0XB0 6SL3210-1SE11-3UA0 6SL3040-0JA00-0AA0 1FK7032-4AK71-1UG0
Sensor module 6SL3055-0AA00-5… cabinet*** Power Supply 24V PS 307 5A 6ES7307-3EA00-0AA0 Power Supply** 230V of 400V 230V * Bij een DC/DC/DC variant van de CPU’s hoeft geen signal board gebruikt te worden. ** Afhankelijk van type powermodule *** Wanneer een motor zonder Drive Cliq wordt gebruikt, moet de motorencoder via een SMC module op de drivecliq poort van de CU305 worden aangesloten. De normale encoder ingang (X23) is gereserveerd voor de pulse-direction besturing. Het type SMC module hangt af van het type motorencoder.
1.2.
Accessoires
De opgenoemde accessoires zijn alleen van toepassing bij de in de manual gebruikte apparatuur. Voor andere configuraties zullen andere vergelijkbare accessoires nodig zijn. Accessoire Motor Power kabel Motor Signaal kabel Ethernet cross-kabel RS485 kabel Signaal kabels 24V Voedingskabels 24V Noodstop Weerstand
Pagina 2
Opmerkingen Drive Cliq Profibus Kabel Afgeschermd
330 Ohm – 2W
Besturing van de Sinamics S110 door de S7-1200 met behulp van een pulse-direction interface
1.3.
Software
Hier staat de benodigde software opgenoemd met de in de handleiding gebruikte versies en servicepacks. Deze handleiding is gemaakt met Starter en de TIA Portal met versienummers en add-ons zoals in onderstaande tabel zijn weergegeven. In andere programma’s en andere versies van de software kunnen schermen anders ingedeeld zijn.
Software voor CPU Software voor drive
Pagina 3
Mogelijke software Simatic Step7 Basic Starter Drive ES – Basic Drive ES – Graphic Drive ES – PCS7 S7-Technology Scout
Gebruikte versie Tia Portal v10.5 SP2 -met Simatic Step7 basic v10.5 sp2 Starter V4.1.5.1 -met SSP Sinamics V4.3 SP1
Besturing van de Sinamics S110 door de S7-1200 met behulp van een pulse-direction interface
2. Aansluitschema Om het project te kunnen volgen, dient de hardware op de volgende manier worden aangesloten: L N PE
Connector voor CU
DriveCliq
w v u
M
Figure 1 Aansluitschema Power Module De power module moet aangesloten worden op het net. Controleer hierbij of de power module geschikt is voor 230V-1f of 400V-3f en sluit hem op de juiste spanning aan. Aansluiting op een verkeerde spanning zal schade aan de apparatuur veroorzaken. Ook de motorkabels moeten op de power module aangesloten worden. De control unit wordt op de power module geklikt.
Pagina 4
Besturing van de Sinamics S110 door de S7-1200 met behulp van een pulse-direction interface 24V+ M PE Profibus
DriveCliq
Connector voor PM
X23
X132 X133
Figure 2 aansluitschema Control Unit
De X23 is de reguliere encoderingang. Hier wordt het pulse signaal en het sign signaal van de CPU op aangesloten. Hierbij zijn de X23-7,13 en 15 aansluitingen op deze locatie verplicht. Wanneer de S110 geconfigureerd wordt, worden de X132 en de X133 aansluitingen zoals afgebeeld als default aangenomen. Deze aansluitingen kunnen echter op elke digitale ingang resp. uitgang van de drive gezet worden. Op de DriveCliq poort moet de encoder van de motor worden aangesloten. Wanneer de motor geen DriveCliq uitgang heeft, moet een SMC module gebruikt worden. Deze module kan worden aangesloten op de encoder van de motor en op de DriveCliq-poort van de S110. Hij kan het reguliere encodersignaal omzetten naar een DriveCliq signaal. Hierdoor blijft de reguliere encoder ingang van de drive vrij voor de pulstrein van de CPU. Op de RS485 connector kan een profibus kabel worden aangesloten om de Control Unit te configureren.
.
Pagina 5
Besturing van de Sinamics S110 door de S7-1200 met behulp van een pulse-direction interface
Figure 3 Aansluitschema CPU De pulse en richting signaal moet op een snelle ingang worden aangesloten. In het voorbeeld is dat de Q0.0 en de Q0.1 poort, maar ook de Q0.2 en Q0.3. uitgangen kunnen gebruikt worden. Dan moet wel in het programma een andere pulse teller gebruikt worden. De andere uitgangen zijn vrij te kiezen De ingangen zijn ook geheel vrij te kiezen. De massa van de CPU moet aangesloten worden op de massa van de drive. Zowel de CPU als de drive hebben PNP outputs. Er dient 24V+ aangesloten worden op de 3L+ poort van de CPU. De drive haalt de 24V voor de X132 outputs van een interne aansluiting. Ook hebben zowel de drive als de CPU beide NPN inputs. Voor een correcte werking moet op de drive de X23.7 en de X133.5 klem aangesloten worden op de massa. Op de CPU moet de 1M poort worden aangesloten op de massa.
Figure 4 Signalen van Drive naar CPU
Pagina 6
Besturing van de Sinamics S110 door de S7-1200 met behulp van een pulse-direction interface
Figure 5 Pulse signaal van CPU naar Drive
Figure 6 Overige signalen van CPU naar Drive
Bij de pulseingang is het noodzakelijk om een pull-down weerstand te gebruiken. Deze weerstand zorgt ervoor dat het pulsesignaal ook bij hogere frequenties blokvorming blijft en dat het spanningsverschil van minimaal 18V tussen hoog en laag gehaald wordt. Deze weerstand van 330 Ohm moet tussen de massa en de X23.15 klem geschakeld worden. In figuur 7a is de vervormde blokpuls te zien die ontstaat wanneer er geen pull-down weerstand wordt gebruikt. Wanneer een laag signaal gegeven wordt, zakt de spanning niet snel genoeg en haalt hij de lage waarde niet. Het spanningsverschil is hier 14.4V, wat te laag blijkt te zijn voor een goede werking. Figuur 7b laat het signaal zien wanneer de weerstand wel wordt gebruikt. De frequentie van het signaal is identiek maar bij dit signaal zakt de spanning wel snel genoeg en wordt de lage spanning wel gehaald. Het grootste spanningsverschil is 25.2V, met een gemiddeld spanningsverschil van 24V.
Pagina 7
Besturing van de Sinamics S110 door de S7-1200 met behulp van een pulse-direction interface
Figure 7a Pulse Train @ 35000Hz zonder weerstand
Figure 7b Pulse Train @35000Hz met weerstand
Aandachtspunten bij aarding en afscherming: • • • •
Sluit de aarding van de motor aan op het juiste aardpunt van de drive. Sluit vervolgens power module en de control unit aan op de aarde. Houdt alle signaalkabels weg van de powercables. Eventuele kruisingen moeten onder een hoek van 90o zijn. Gebruik voor de alle signaalkabels afscherming
Signaal Pulse signaal Direction signaal Enable Servo Clear Alarm Clear position Drive CPU Servo ready Alarm In position Noodstop Emergency CPU Stop Figure 8 Overzicht Aansluitingen CPU Drive
Pagina 8
Klem CPU Q0.0 Q0.1
alternatief Q0.2 Q0.3
Klem Drive X23-15 X23-13
Q0.4 Q1.1 Q0.5 I1.0 I1.1 I1.2 I0.1
Ja Ja Ja Ja Ja Ja Ja
X133.1 X133.2 X133.3 X132.1 X132.2 X132.3
Besturing van de Sinamics S110 door de S7-1200 met behulp van een pulse-direction interface
3. Gebruik van Pulse-Direction interface Bij de Pulse Direction Interface wordt de positie van de motor indirect door de CPU gecontroleerd. De CPU bestuurt de drive en de drive stuurt de motor aan.
3.1.
CPU stuurt de drive aan
De CPU gebruikt slechts twee signalen om de gewenste bewegingen van de motor aan de drive door te geven; Een pulse signaal en een directions signaal. Het pulse signaal geeft de absolute afstand door die de drive moet afleggen en het direction signaal geeft de draairichting aan die de drive moet lopen. Het pulsesignaal is een puls trein met een variabele frequentie, een vaste amplitude waarbij de periode hoog even lang is als de periode laag. Een enkele puls stelt een bepaalde vooraf in te stellen hoekverdraaiing voor die de motor moet afleggen. Hierbij is de lengte van de puls niet van belang. Meerdere pulsen zorgen voor een grotere hoekverdraaiing. Wanneer de pulsen elkaar langzaam opvolgen (lage frequentie van de pulsen) zal de hoekverdraaiing dus langzaam toenemen (lage draaisnelheid). Wanneer de frequentie van de pulsen hoog is, dan zal de snelheid van de motor hoog zijn. Het pulse signaal van de CPU simuleert een HTL-encoder signaal dat gevolgd moet worden door de drive. Wanneer een CPU het commando krijgt de motor te laten bewegen, dan zal hij eerst het gewenste snelheidsverloop van de motor berekenen. Hierbij wordt rekening gehouden met de gewenste en maximum waarden van de positie, de snelheid, acceleratie en de deceleratie. Deze maximum waarden moeten vooraf gespecificeerd worden en de gewenste waarden volgen uit de parameters van het commando. Dit snelheidsverloop wordt door de CPU vertaald in een frequentieverloop wat door de hogesnelheidsuitgang van de CPU doorgegeven aan de drive.
Figure 9 verband snelheid en frequentie De besturing van de drive door de CPU is enigszins te vergelijken met de besturing van een stappenmotor. Met behulp van pulsen wordt een gewenste positie doorgegeven en er is geen terugkoppeling van de drive naar de CPU wat de werkelijke positie van de motor is. De enige terugkoppeling van de drive naar de CPU is het In Position signaal. Meer informatie over het in
Pagina 9
Besturing van de Sinamics S110 door de S7-1200 met behulp van een pulse-direction interface position signaal is beschikbaar in H3.2. De enige manier waarop de gewenste positie van de CPU en de gewenste positie van de drive kunnen verschillen van elkaar is wanneer het pulssignaal niet goed wordt opgevangen door de drive. Dit zou kunnen gebeuren wanneer het blokvormig signaal vervormd is. Het is dus erg belangrijk de pulskabel goed afgeschermd is. De nullen van de CPU op elkaar zijn aangesloten en de pull-down weerstand goed is aangesloten. PPR Van tevoren moet op zowel de CPU als de drive de hoekverdraaiing per puls gespecificeerd worden. De eenheid die hiervoor gebruikt is pulsen per omwenteling (pulses per revolution, ppr). Deze eenheid kan ingesteld worden zijn het configureren van de drive en de CPU. De gewenste verhouding is als volgt te bepalen:
pmotor ( ppr ) =
f max,CPU ( Hz ) nmax,motor (rpm)
⋅ 60(sec/ min) =
100.000 ⋅ 60 = 2000 ppr 3000
Hierbij is: fmax (Hz)
De maximaal gewenste frequentie van de pulstrein. Dit is gelijk of lager dan de maximale frequentie van de uitgang van de CPU en de ingang van de drive. In dit voorbeeld is de beperkende frequentie de snelheid van de uitgang van de CPU: 100 kHz. Nmax,motor (rpm) De maximaal gewenste draaisnelheid van de motor. Deze snelheid moet gelijk of lager zijn dan de nominale snelheid van de motor. Ondanks dat de motor die gebruikt wordt in dit voorbeeld een nominale snelheid heeft van 6000 rpm, willen we de motor tot slechts 3000 rpm gebruiken. Deze snelheid kan ook beperkt worden in de CPU bij de instellingen van de dynamica van de as. Wanneer de maximum snelheid hier al beperkt wordt, zal dit tot een hogere nauwkeurigheid leiden (zie hieronder). Nauwkeurigheid Voor dit voorbeeld geldt dus dat de verhouding gelijk is aan 2000ppr. Deze verhouding geeft aan dat de motor
360 O / rev = 0.18O per puls moet draaien en dat de as tot op 0.18O nauwkeurig 2000 ppr
kan positioneren. Wanneer een hogere nauwkeurigheid gewenst is kan de maximale frequentie verhoogd worden. Dit kan door bijvoorbeeld het SB 1222 DC signal board te gebruiken die een maximale schakelfrequentie heeft van 200.000 Hz. Ook kan de maximaal gewenste snelheid van de motor worden verlaagd om een grotere nauwkeurigheid te krijgen.
3.2.
De drive stuurt de motor aan
In de drive wordt het aantal pulsen van het pulse signaal van de CPU gesommeerd. Hierdoor wordt het signaal omgezet in een gewenste positie van de drive. Ook het signaal van de motor encoder wordt gesommeerd zodat de werkelijke positie van de as bekend wordt. Deze twee signalen worden van elkaar afgetrokken zodat de fout tussen deze twee posities bekend wordt. Deze fout wordt door een PI regelaar verwerkt tot een gewenste snelheid van de as. De integrerende actie van de PI regelaar wordt standaard uitgezet (P = 1000/min en I = 0 ms). Deze parameters kunnen handmatig worden bijgesteld (p2538[0] p2539[0] ). De details van het schema zijn terug te vinden in de projecttree van Starter bij \\<projectnaam>\<servonaam>\Technology\Position controller\. Wanneer de fout tussen het gesommeerde encodersignaal en het gesommeerde pulsesignaal kleiner is dan een bepaalde waarde, geeft de drive het signaal In position aan de CPU door. Wanneer de drive goed is afgesteld zal dit alleen gebeuren als de drive klaar is met een commando. Pagina 10
Besturing van de Sinamics S110 door de S7-1200 met behulp van een pulse-direction interface
De snelheid wordt doorgegeven aan de speed controller.
Figure 10 Sterk vereenvoudigd model van de position loop in de drive In de speedcontroller wordt de gewenste snelheid doorgegeven door de motorencoder envergeleken met de werkelijke snelheid,. Dit verschil wordt via een PI regelaar en het motormodel vertaald naar een gewenste acceleratie. De parameters van de PI regelaar kunnen worden ingesteld door van de drive de automatic controller settings te doorlopen. Eventueel kunnen de parameters p1460[0] en p1462[0] handmatig bijgesteld worden. Naast de position loop en de speed loop is er ook nog een torque loop en current loop in de regelaar aanwezig. Geadviseerd wordt aan de instellingen van deze regelkringen niets te veranderen.
Figure 11 Sterk vereenvoudigd model van de speed loop in de drive Te zien is dat de positionering van de as door de drive in closed-loop gebeurt. Wanneer de pulsen van de CPU goed ontvangen worden, en de parameters goed zijn afgesteld, zal er nooit een grote positioneerfout ontstaan. Opstarten drive Voordat de motor in beweging kan worden gebracht moet de CPU de drive klaar maken voor gebruik. Dit doet hij door het signaal “Enable Servo”hoog te maken. De drive zal zichzelf enablen; de tussenkringspanning wordt opgebouwd, de motor wordt gemagnetiseerd en de remmen worden gelost. Wanneer hij hiermee klaar is, dan hij het signaal “Servo Ready” hoog maken. De CPU weet dan dat hij kan beginnen met het aansturen van de motor. De positionloop van de servodrive kan, wanneer de drive niet enabled is, een (kleine) fout opbouwen. Door de integrerende actie van de PI regelaar van de speed loop zal de drive deze fout zo snel mogelijk wegwerken wanneer de drive wordt enabled. Er wordt geen rekening gehouden met maximum snelheid/versnelling van de motor. De drive kan in error (overspeed, high current) raken of beschadigen. Een voorbeeld wat er gebeurd is te zien in figuur 12. Hierin is weergegeven dat, na het enablen, de setpoint van de snelheid ineens omhoog schiet naar 16000rpm. De motor Pagina 11
Besturing van de Sinamics S110 door de S7-1200 met behulp van een pulse-direction interface probeert dit te volgen. Op een gegeven moment bereikt de motor een te grote snelheid (8000 rpm).Hierna gaat de drive in error, het setpoint naar nul en vertraagt de motor rustig tot stilstand. Om dit te voorkomen moet er tegelijkertijd met met geven van het Enable Servo signaal, een ”Clear position” pulse worden gegeven. Dit signaal moet even worden vastgehouden om er zeker van te zijn dat de drive het signaal door heeft gekregen. Tijdens het geven van het clear position signaal mogen geen commando’s worden gegeven om de as te laten bewegen.
Figure 12; Setpoint en werkelijke snelheid van drive bij enablen zonder het clear position signaal.
Pagina 12
Besturing van de Sinamics S110 door de S7-1200 met behulp van een pulse-direction interface
4. Configuratie S110 Eerst wordt de drive geconfigureerd. De motorparameters worden ingevoerd en de speedloop van de motor wordt geoptimaliseerd. Ook wordt de drive klaargemaakt voor besturing met de pulsedirection interface. Voor de configuratie van de S110 moet de PG of PC waar het programma Starter opstaat verbonden zijn met de S110 door middel van een RS485 (Profibus) kabel. Stap 1 Maak een nieuw project aan Open Starter en start een nieuw project. Geef het een naam <Sinamics S110 PDI> en druk op OK.
Stap 2 Zoek naar de hardware in het netwerk Open het menu Set PG/PC interface onder Options. Selecteer bij Access Point of the Application de optie S7online. Selecteer bij de te gebruiken kaart PROFIBUS (niet slave) en klik op properties. Zorg dat de optie PG/PC is the only master on the bus aangevinkt staat met als address 0 Selecteer bij profile de optie standaard. Klik driemaal op OK.
Pagina 13
Besturing van de Sinamics S110 door de S7-1200 met behulp van een pulse-direction interface Klik op de knop Accessible nodes uit de menubalk. De PC zal nu zoeken naar alle apparaten die op het profibus netwerk zijn aangesloten en zal deze weergeven. Selecteer de Sinamics S110 en druk onderaan op de knop Accept. Lees de mededeling en klik op close. De drive is nu toegevoegd in de project tree onder de naam drive_unit_1. Klik rechtsonderaan op de knop close om het scherm Acc. nodes af te sluiten. Stap 3 Zet de drive terug naar fabrieksinstellingen Om geen last te hebben van instellingen die bij vorige projecten zijn gewijzigd, is het aan te raden om bij de drive altijd bij de start van een nieuw project de fabrieksinstellingen terug te zetten. Selecteer de zojuist toegevoegde drive in de project tree en druk in de menubalk op Connect to target system. Selecteer in het menu de juiste drive en druk op OK. De drive zal met een melding komen dat de versie van het project op de drive en op de PG niet gelijk zijn aan elkaar. Selecteer Load to PG om de versies gelijk te krijgen. Nadat de wijzigingen doorgevoerd zijn, klik op close om het menu af te sluiten.
Pagina 14
Besturing van de Sinamics S110 door de S7-1200 met behulp van een pulse-direction interface Rechtsklik op de zojuist toegevoegde drive en selecteer Target device en Restore factory defaults. Zorg dat het vinkje Save factory settings to ROM aanstaat en druk op OK. De instellingen in de drive worden nu teruggezet naar de fabriekswaarden. Aan het rood/groene symbool voor de drive_unit is nu te zien dat de instellingen in de drive zelf en het project niet met elkaar overeen komen. Daarom moeten de instellingen van de drive naar de PC geladen worden. Druk hiervoor op de knop Load project to PG in de menubalk en op OK.
Stap 4 Configureer de drive voor besturing met Pulse Direction interface. Druk in de menubalk op Disconnect from target system. Ga naar het scherm Configuration onder de servomotor. Hier is te zien dat door de upload de power module en de DriveCliq componenten al zijn uitgelezen. Druk op de knop Configure DDS… om de as verder te configureren.
Zorg dat de control method op Speed control loop staat. Omdat in dit project gebruik gaat worden gemaakt van Pulse-Direction interface, kan de basic positioner module niet gebruikt worden. Later zal een andere positioner worden geselecteerd. Druk op Next
Pagina 15
Besturing van de Sinamics S110 door de S7-1200 met behulp van een pulse-direction interface Controleer of de instellingen voor de power module en de motor goed staan en druk twee keer op next.
Controleer of de instellingen voor de rem en encoder goed staan. De motor encoder van de motor moet op kanaal 1 staan. Druk hierna op next.
Selecteer bij de Setpoint source de Pulse/device interface. Selecteer als control type de Position control. Zorg dat de encoder channel niet op het kanaal van de motor encoder staat, maar bijvoorbeeld op 2. Zorg dat de encoder evaluation op “CU 305DP” SM_6 staat. Vul bij de pulses per revolution en getal 2000 in volgens de berekening in H3.1. Selecteer bij Signal shape: Pulse/direction, positive logic.
Pagina 16
Besturing van de Sinamics S110 door de S7-1200 met behulp van een pulse-direction interface Er wordt een overzicht gegeven met de instellingen die zojuist geconfigureerd zijn. Druk op finish om de wizard af te sluiten. Druk op Save and compile all uit de menubalk om het project op te slaan
Stap 5 Download de wijzigingen naar de control unit In de vorige stappen zijn off-line wijzigingen gemaakt in het project. Om deze wijzigingen door te voeren in de drive zal er een download gedaan moeten worden. Hier wordt ook om gevraagd wanneer weer online wordt gegaan. Wanneer online wordt gegaan met de knop Connect to target system zal de melidng verschijnen dat de instellingen op de drive niet gelijk zijn aan die van het project. Selecteer de optie <==Download Overwriting of the data in the target device. Zorg dat de optie Copy RAM to ROM aangevinkt staat er en klik op OK. Na de download klik close om terug te gaan naar het scherm van de servo.
Pagina 17
Besturing van de Sinamics S110 door de S7-1200 met behulp van een pulse-direction interface
Stap 6 Optimaliseren van de PI regelaar van de speedcontroller De snelheidregeling van de as kan nog geoptimaliseerd worden in de drive. De positieregeling gebeurt niet in de drive maar in de CPU. Dit wordt later gedaan. Zorg dat de pc online is met de drive. Druk op Automatic controller setting uit de menubalk. Lees de waarschuwing en druk op accept
Zorg dat de as vrij is om te draaien. Druk op de knop Assume control priority. Lees de safety notes en druk op accept. Druk op de knop Drive on. Druk om de knop Perform all steps. Lees de mededeling en druk op OK. De drive zal nu de as testen om de parameters van de regelaar te optimaliseren. Zorg dat het programma Starter tijdens het optimaliseren niet zijn focus verliest. Dan simuleert het programma een noodstop en zal het optimaliseren direct stoppen. Wanneer het optimaliseren is voltooid, wordt een overzicht gegeven van alle gewijzigde waarden. Vooral p1460[0] en p1462[0] zijn van belang. Druk op de knop Accept values. Lees de mededeling en druk op yes.
Pagina 18
Besturing van de Sinamics S110 door de S7-1200 met behulp van een pulse-direction interface Zorg dat de drive gestopt is. Druk op de knop Give up control priority en druk op yes. Rechtsklik op de drive en selecteer de optie Copy ram to rom onder Target device. Selecteer op dezelfde locatie Load to PG om de online gemaakte wijzigingen ook in het project op te slaan. Sla het project op
Pagina 19
Besturing van de Sinamics S110 door de S7-1200 met behulp van een pulse-direction interface
5. Programma blokken S7-1200 Om de as te definiëren in de CPU, maakt de s7-1200 gebruikt van een technology object, de “axis”,. In het technology object worden de eigenschappen van de as ingevoerd en wordt bepaald hoe de drive verbonden in met de PLC. De mogelijkheden van de as worden later in het voorbeeld uitgelegd. Verder wordt voor de aansturen van de as gebruik gemaakt van motion blokken uit de library. De motionblokken zijn kant en klare functies die vanuit de library in het programma gesleept kunnen worden. De functie van de blokken wordt hieronder kort besproken. Wanneer een blok wordt gestart door het programma, dan zal het blok ook direct uitgevoerd worden. Wanneer de as bezig was met een ander commando, dan zal het eerder gegeven commando overschreven worden. Een uitzondering hierop is passief en actief homen. Algemeen Voor alle blokken geldt dat een hoog signaal aangeboden moet worden aan de EN poort om het blok te laten werken. Bij een foutloze werking van het blok zal een hoog signaal van de ENO poort komen. Tijdens het uitvoeren van het blok wordt de uitgang busy hooggemaakt totdat het blok klaar is met zijn taak. Dan zal de deze uitgang laag worden en een pulse op een eventuele done ingang komen. Wanneer er fouten optreden bij het de uitvoering van het blok, dan wordt de error uitgang hoog en wordt er een woord uitgestuurd bij de errorID en ErrorStat Uitgang. De bijbehorende fouten bij de codes zijn op te zoeken in de help functie van Step7-Basic. Omdat een S7-1200 meerdere assen kan aansturen, moet bij de “Axis” ingang de correcte as worden gegeven. MC-Power Voordat de as aangestuurd kan worden moet hij eerst worden “enabled”. Het MC-power blok kan hiervoor zorgen. Wanneer een hoog signaal wordt aangeboden aan de “enable” poort zal het blok een signaal geven aan de drive om de drive klaar te maken voor gebruik. Wanneer hij een signaal van de drive heeft teruggekregen dat de drive klaar is, zal de status uitgang hoog worden. De in en uitgangen moeten worden bepaald bij de configuratie van de as. Wanneer de enable ingang laag wordt gemaakt, zal de as direct niet meer werken. Bij de Stop mode ingang kan mbv een boolean worden bepaald of de motor moet afremmen volgens de emergency decelleration (0) of dat hij direct moet stilstaan (1). MC-Home Nadat een as (opnieuw) enabled is, is de positie van de as onbekend. Om absoluut te kunnen positioneren moet de as altijd gehomed worden. Er zijn uitzonderingen wanneer dit niet hoeft. Wanneer de as niet gehomed is, kan er geen gebruik worden gemaakt van de software-limits en kunnen gevaarlijke situatie ontstaan. Hardware limits blijven uiteraard wel werken wanneer een drive niet gehomed is. Er zijn verschillende manieren van homen beschikbaar.
Pagina 20
Besturing van de Sinamics S110 door de S7-1200 met behulp van een pulse-direction interface 0. Direct Homing absolute: Wanneer er op dze manier wordt gehomed, dan wordt de huidige positie van de as gelijk gesteld aan de parameter “position” , welke een parameter is van het blok. 1. Direct Homing relative: Bij deze manier van homen, wordt de nieuwe positie van de as gelijkgesteld aan de huidige positie van de as, vermeerderd met de position parameter. 2. Passive homing: Bij deze vorm van homen moet de gebruiker, na het geven van het home commando, zelf met andere commando’s, bijvoorbeeld joggen, de as bewegen. Wanneer de as zijn referentiepunt tegenkomt en er een hoog signaal op de input reference switch komt, zal de as automatisch het nulpunt vaststellen. 3. Active homing: Bij deze vorm van homing, gaat de as, na het geven van het home commando, zelf bewegen. Wanneer hij het nulpunt tegenkomt, zal de as stoppen op zijn referentiepunt en zal de as gehomed zijn.
MC-Jog Dit blok zorgt ervoor dat de motor kan joggen. Zolang er een hoog signaal wordt aangeboden aan de JogForward of JogBackward ingang, zal de drive versnellen volgens de normale acceleratie curve tot de snelheid die ingegeven is bij “velocity”. Wanneer de motor de snelheid bereikt heeft komt er een hoog signaal op de InVelocity uitgang. Wanneer de JogForward of JogBackward ingang weer laag wordt zal de motor afremmen volgens de normale decelleratie curve MC-Velocity Dit blok zorgt ervoor dat de motor met een constante snelheid draait. Wanneer er positieve flank wordt aangeboden aan de “execute” ingang, dan zal de motor versnellen naar de snelheid zoals ingegeven bij de ingang Velocity. De richting van de drive kan als volgt worden bepaald. • Direction = “0”; Richting van drive hangt af van het teken van “Velocity” • Direction = “1”; Richting van drive is positief. Negatieve waarden van velocity wordt niet geaccepteerd. • Direction = “2”; Richting van drive is negatief. Negatieve waarden van velocity wordt niet geaccepteerd. MC-Halt Elke voorgaande opdracht kan worden opgeheven door een volgende opdracht te geven (speciaal geval: MC-Home). Alleen de laatst gegeven opdracht wordt uitgevoerd. Wanneer een motor alleen tot stilstand moet worden gebracht kan het MC-Halt blok worden uitgevoerd door een positieve flank op de “Execute” ingang te zetten. De motor zal worden afgeremd met het normale deceleratie curve. MC-MoveRelative Dit blok maakt het mogelijk de as over een vaste afstand te laten verplaatsen. Wanneer een afstand en een maximale snelheid wordt ingegeven, berekent het blok zelf het benodigde snelheidsverloop. Het niet strict noodzakelijk om de as de homen om deze beweging uit te voeren. Echter, wanneer er niet gehomed wordt, hebben de softwarelimits van de as geen werking en kan
Pagina 21
Besturing van de Sinamics S110 door de S7-1200 met behulp van een pulse-direction interface
Door een positieve flank te zetten op de executepoort zal de motor beginnen aan het snelheidsverloop. Het verloop heeft een maximum versnelling volgens de eigenschappen van de as en een maximum snelheid zoals ingegeven bij “velocity”. Of dit maximum gehaald wordt hangt af de versnelling en de gewenste afstand die in is gegeven bij Distance.
30 v max Speed (LU/s)
de as buiten zijn limieten treden. Hardwarelimieten d.m.v. eindschakelaars werken nog wel. Toch wordt er geadviseerd altijd de as te homen nadat deze wordt enabled.
20
10
0 0
50
100
150
200
Time (s)
Figure 13 Snelheidsverloopt waarin de maximale snelheid wel gehaald wordt (groen), en waar deze niet gehaald wordt (geel)
MC-MoveAbsolute Wanneer de as gehomed is, kan de as positie van de as geregeld worden. Wanneer een positieve flank op de Execute ingang wordt gezet zal de as naar de bij Distance opgegeven positie gaan. Het snelheidsverloop wordt door het blok uitgerekend. De acceleraties en decceleraties zullen gelijk zijn als in het technologie object zijn aangegeven en de maximum snelheid zal niet hoger zijn dan de snelheid die bij “Velocity” is opgegeven. MC-Reset Wanneer een van de blokken een foutmelding geeft, zal de as niet meer aangestuurd kunnen worden. Het de Reset Block kan deze fout worden gereset. Wanneer de oorzaak van de fout verholpen is, kan de as daarna weer gebruikt worden.
Pagina 22
Besturing van de Sinamics S110 door de S7-1200 met behulp van een pulse-direction interface
6. Configuratie S7-1200 In dit hoofdstuk wordt de een voorbeeldconfiguratie stap-voor-stap opgebouwd. Er wordt gebruik gemaakt van de TIA portal. Om verbinding te maken tussen de PC of PG en de PLC wordt een ethernet cross-kabel gebruikt. Eventueel kunnen ook twee gewone ethernetkabels en een switch gebruikt worden. In de configuratie zal eerst de hardware en de ingangen en uitgangen worden geselecteerd. Hierna zal het technology object geconfigureerd worden. Daarna wordt voor het object een database met variabelen en een functie met alle motorblokken gemaakt. Tenslotte wordt het main blok gemaakt waarin de functie met motorblokken wordt opgeroepen en waarin zaken als veiligheid geregeld zijn. Stap 1 Open een nieuw project Open TIA en maak een nieuw project aan.
Stap 2 Selecteer de hardware Open het Device and Networks venster en selecteer Add a new device. Selecteer de de correcte PLC, geef het een naam <s71200> en druk op add. TIA opent het device scherm.
Hier zijn eventuele uitbreidingsmodules toe te voegen. Deze uitbreidingsmodules kunnen vanuit de catalogus worden gesleept naar de juiste plaats in de rack.
Pagina 23
Besturing van de Sinamics S110 door de S7-1200 met behulp van een pulse-direction interface
Stap 3 Definieer de inputs en outputs van de PLC Bij de PLC tags worden alle inputs en outpus van de PLC gedefinieerd. Het toevoegen van de pulse en direction output (Q0.0 en Q0.1) bij de tags is optioneel. Deze outputs worden automatisch geselecteerd door het technology object en de tagname wordt daarbij niet herkend. Voor de volledigheid zijn deze tags hier welin de lijst opgenomen. Open in de project tree het venster PLC tags Maak van elke input en elke output een tag aan. Er is ook een memory tag nodig om de flank van de g_bo_cmd_Enable te bepalen. (zie stap 9) Sluit het venster PLC tags
Stap 4 Voeg het technology object Axis toe Ga naar de project view. Ga in de project tree naar de CPU, dan naar technology object en naar Add new object. Selecteer de axis, geef de axis een naam
en druk op OK. In de project tree is het technology object nu toegevoegd.
Pagina 24
Besturing van de Sinamics S110 door de S7-1200 met behulp van een pulse-direction interface
Stap 5 Configureer de basis parameters van het technology object Vouw in de project tree de axis open en klik op configuration. Het tabblad met de basic parameters wordt geopend. Selecteer pulse_1 bij Select PTO for axis control en druk op Device configuration
Het programma opent het Device scherm dat in drie delen is ingedeeld. In het middelste deel is de pulse_1 module geselecteerd en in het onderste deel zijn de eigenschappen weergegeven. Onder het tabje General, vink het hokje Enable this pulse generator for use aan. Onder het tabje parameter assignment, selecteer de optie PTO (pulse train output) bij Pulse generator used as:. In het tabje hardware outputs zijn de door de pulse generator gebruikte outputs en de gebruikte high speed counter weergegeven. Deze kunnen niet veranderd worden. Sluit het venster van de device Pagina 25
Besturing van de Sinamics S110 door de S7-1200 met behulp van een pulse-direction interface om naar het venster van de axis terug te gaan. Zet in het configuratievenster van de axis de length units op o (graden). Lees de waarschuwing en druk op OK De basis parameters zijn nu goed gesteld.
Stap 6 Configureer de extended parameters van het technology object Theoretisch zou de as al aangestuurd kunnen worden; de vinkjes voor de basic parameters zijn groen en er zijn geen rode vinkjes meer. Echter geadviseerd wordt om zoveel mogelijk de extended parameters in te vullen. Ga naar het tabje Drive interface onder de Extented parameters. Vul bij Select “Enable” Output Q0.4 in en bij select “Ready” input: I1.0 in. De tagnames worden automatisch weergegeven. Ga naar het tabje Mechanics Vul de Increments per motor revolution in <2000> en de Load distance per motor revolution <360>.
Pagina 26
Besturing van de Sinamics S110 door de S7-1200 met behulp van een pulse-direction interface Onder het tabje position limits zijn softwarematige en hardwarematige limieten in het voeren. In dit project is dit niet aan de orde dus hier wordt niets ingevuld. Het vinkje voor het tabje Position limits blijft dan ook blauw
Ga naar het tabje Dynamics. Vul bij het kopje general de gewenste minimum en maximum snelheid in tijdens normaal gebruik. Ook is hier de normale deceleratie en acceleratie in te vullen. Bij het invullen van kan men kiezen om de ramp up/down tijd in te vullen of de acceleratie/deceleratie. Het programma berekent de andere waarde en vult deze in. Onder het kopje Emergency Ramp kan worden aangegeven hoe snel de drive tot stilstand moet komen tijdens een noodstop. Ook hier kan gekozen worden om de stoptijd of de deceleratie in te vullen
Pagina 27
Besturing van de Sinamics S110 door de S7-1200 met behulp van een pulse-direction interface
Het tabblad Homing is alleen van belang als er actief of passief gehomed wordt. In dit voorbeeld wordt er direct gehomed, dus hoeft hier niets ingevuld te worden.
De as is hiermee voor dit project voldoende geconfigureerd. Sluit het venster van de Axis.
Stap 7 Toevoegen van een database met variabelen Voordat het programma geschreven wordt, worden alle variabelen aangemaakt die te maken hebben met de as. Dit wordt niet in PLC-tags gedaan, maar in een aparte databouwsteen. Deze database zou vrij eenvoudig gekopieerd en aangepast kunnen worden om daarna hergebruikt te worden voor andere motoren. In de database wordt voor elk motion control block een command variabele en een busy variabele aangemaakt en wanneer nodig worden er parameters voor aangemaakt. Verder worden er voor de as enkele error variabelen aangemaakt.
Pagina 28
Besturing van de Sinamics S110 door de S7-1200 met behulp van een pulse-direction interface Selecteer in de project tree de tab Program Blocks en klik op Add new Block. Selecteer Data Block (DB). Geef de data Block een naam . Zorg dat het vinkje Symbolic access only aanstaat. Druk op OK
Open de databouwsteen en vul de volgende variabelen in de database: Sluit daarna de databouwsteen
Pagina 29
Besturing van de Sinamics S110 door de S7-1200 met behulp van een pulse-direction interface Stap 8 Maak een functie met hierin alle motion control blokken Om het programma overzichtelijk te houden wordt er een functie gemaakt met alle motion control blokken. Deze functie wordt (later) door het hoofdprogramma bij elke cyclus aangeroepen. De motioncontrol blokken worden aangestuurd en uitgelezen door variabelen uit de database. -Het blok heeft een eigen cmd variabele uit de database waarmee het blok wordt gestart. -Eventuele parameters worden uit de database gehaald en aan het blok doorgegeven. -Elk blok heeft een eigen state_busy variabele die geschreven wordt in de database. -De blokken hebben gezamenlijke error, errorstate en errorinfo variabelen die weggeschreven worden in de database. Ga in de program tree naar Add new Block onder Program blocks. Selecteer Function (FC). Geef het blok een naam (Function_MotionControlBloc ks) Selecteer de gewenste programmeertaal . Dit is later nog aan te passen. Zorg dat het vinkje bij Symbolic Access only aanstaat en druk op OK.
Open het functieblok <MotionControlBlocks>. Open in de toolbar aan de rechterkant de instructies. Open in de extended instructies het motion control tabje. Sleep het blok MC_power in netwerk 1 en druk op OK. Vul de IO parameters in van de functie, overeenkomstig met de afbeelding.
Pagina 30
Besturing van de Sinamics S110 door de S7-1200 met behulp van een pulse-direction interface Sleep in netwerk 2 de Reset block. Vul de IO parameters in van de functie, overeenkomstig met de afbeelding.
Sleep in netwerk 3 de Halt block. Vul de IO parameters in van de functie, overeenkomstig met de afbeelding.
Sleep in netwerk 4 de MoveVelocity block. Vul de IO parameters in van de functie, overeenkomstig met de afbeelding.
Pagina 31
Besturing van de Sinamics S110 door de S7-1200 met behulp van een pulse-direction interface Sleep in netwerk 5 de MoveJog block. Sleep uit de instructie lijst, onder bit logic, de normally closed en normally open contacts naar de jogforward en jogbackward ingang van de block. Vul de juiste variabelen in. Vul de overige IO parameters in van de functie, overeenkomstig met de afbeelding.
Sleep in netwerk 6 de Home Block en vul de IO parameters is van de functie, overeenkomstig met de afbeelding. Zorg dat de Mode op 0 staat om directe absolute homing te krijgen en zet de position op 0.
Sleep in netwerk 7 de MoveRelative block en vul de IO parameters is van de functie, overeenkomstig met de afbeelding.
Pagina 32
Besturing van de Sinamics S110 door de S7-1200 met behulp van een pulse-direction interface Sleep in netwerk 8 de MoveAbsolute block en vul de IO parameters is van de functie, overeenkomstig met de afbeelding.
De functieblok is nu klaar voor gebruik. Sluit het venster met het blok af.
Stap 9 Maak het hoofdprogramma
Open het Main block. Maak het volgende netwerk. Dit netwerk zorgt ervoor dat het commando Emergency Stop wordt gegeven als de noodstop wordt ingedrukt en zorgt ervoor dat de as niet direct weer enabled wordt als de noodstop weer uit wordt gezet.
Pagina 33
Besturing van de Sinamics S110 door de S7-1200 met behulp van een pulse-direction interface Maak het volgende netwerk om een clear position signaal aan de drive te geven als de as wordt enabled.
Sleep het programmablok function_MotionControlBlock vanuit de project tree in netwerk 3
Maak het volgende netwerk om alarmen van de drive weg te kunnen nemen.
Stap 10 User Interface Normaal gesproken gebeurt dit via een extern aangesloten HMI-scherm of een reeks schakelaars. Echter kan het programma ook getest worden met een watchtable. In een watchtable kunnen variabelen handmatig veranderd worden en kan men in real-time de waarden uitlezen. Ga in de project tree naar de program blocks en open de database. Selecteer alle rijen: selecteer de eerste rij, hou shift ingedrukt en selecteer de laatste rij. Rechtklik en kies copy.
Ga in de project tree naar Watchtables en klik op Add new watchtable. Selecteer de eerste rij. Rechtklik en kies paste. Scroll eventueel terug naar boven om de inhoud van de watchtable te zien. Save het project.
Pagina 34
Besturing van de Sinamics S110 door de S7-1200 met behulp van een pulse-direction interface
Stap 11 Download het project in de PLC Zorg dat de ethernetkabel goed is aangesloten op de PLC en op de PG/PC. Zet spanning op de PLC. Rechtsklik in de projecttree op de CPU. Ga naar download to device en selecteer all. Zrog dat de PG/PC interface op TCP/IP staat Wanneer de CPU niet direct herkend wordt, vink de optie Show all accessible drives aan. Met Flash LED is het juiste apparaat op te sporen. Druk op Load. Druk op Load. Selecteer Start All en druk op Finish
Stap 12 Test de applicatie Het programma is nu in de PLC geladen. Met de watchtable kan hij getest worden. Druk in de menubalk op Go Online. De grijze titelbalken van de verschillende menu’s zullen nu oranje zijn. Wanneer de projecten op de CPU en de PC identiek zijn, zullen er groene vinkjes achter de verschillende onderdelen van de projecttree staan. Zo niet, dan moet er een upload of download gedaan worden om online te kunnen gaan.
Pagina 35
Besturing van de Sinamics S110 door de S7-1200 met behulp van een pulse-direction interface Ga naar de eerder gemaakte watchtable. Druk op het icoontje Monitor all. Er verschijnen nu waarden in de Monitor value kolom. Om de drive te enablen, rechtsklik op de oranje cel, selecteer Modify en Modify to 1. De monitor value van de regels cmd_EnableDrive en state_BusyEnable zal veranderen naar True.
Om de motor te laten draaien, vul bij in de modify value kolom van para_MoveVelocity_Velocity het getal 100 in. Rechtsklik op het getal en selecteer modify now. Modify de value van cmd_MoveVelocity naar 1. De motor zal beginnen met draaien met een snelheid van 100 graden/s. Om de drive te laten stoppen met het Halt commando, kan alleen de value van cmd_HaltDrive van 0 naar 1 gezet te worden. Omdat de motionblokken alleen reageren op positieve flanken op de command ingang, maar het niet uit dat cmd_MoveVelocity nog op 1 staat. Zet beide cmd waarden in willekeurige volgorde weer op 0.
Pagina 36
Besturing van de Sinamics S110 door de S7-1200 met behulp van een pulse-direction interface Om absoluut te positioneren moet er eerst gehomed worden. Zet de cmd_home value op 1 en weer op 0. Zet para_MoveAbsolute_position op 360 (LU) en para_MoveAbsolute_velocity op 100 (LU/s) Zet cmd_MoveAbsolute op 1. De motor zal nu rustig 1 omwenteling maken. Om de drive weer uit te zetten, modify de waarde cmd_EnableDrive naar 0
Meer informatie is te vinden op de support site van Siemens Industry Automation & Drive Technology. Er zijn onder andere handboeken, getting started handleidingen en FAQ’s beschikbaar. Meer informatie over de Sinamics S110 is te vinden op onderstaand adres. http://support.automation.siemens.com/WW/llisapi.dll?func=cslib.csinfo&lang=en&siteid=csius&ak tprim=0&extranet=standard&viewreg=WW&objid=31605437&treeLang=en Meer informatie over de S7-1200 is te vinden op onderstaand adres. http://support.automation.siemens.com/WW/llisapi.dll?func=cslib.csinfo&lang=en&siteid=csius&ak tprim=0&extranet=standard&viewreg=WW&objid=34612486&treeLang=en
Pagina 37