Funktion Syntax Betydelse Vid denna typ av pendling är en ansättningsrörelse tillåten endast vid vändpunkterna resp. inom definierade vändningsområden. Allt efter krav kan pendelrörelsen under ansättningen fortsättas eller stoppas tills ansättningen är fullständigt genomförd. 1. Fastlägga parametrar för pendlingen 2. Definiera rörelsesynkronaktioner 3. Tillordna axlar, fastlägga ansättning OSP1[<Pendelachse>]= Position för vändpunkt 1 OSP2[<Pendelachse>]= Position för vändpunkt 2 OST1[<Pendelachse>]= OST2[<Pendelachse>]= FA[<Pendelachse>]= OSCTRL[<Pendelachse>]= OSNSC[<Pendelachse>]= OSE[<Pendelachse>]= WAITP(<Pendelachse>) Hållningstid i vändpunkt 1 i sekunder Hållningstid i vändpunkt 2 i sekunder Matning för pendelaxeln Inställnings- resp. återställningsposition Antal renbränningsslag Slutposition Frige axel för pendling Axeltillordning, ansättning OSCILL[<Pendelachse>]=(<Zustellachse 1>,<Zustellachse 2>,<Zustellachse 3>) POSP[<Zustellachse>]=(<Endpos>,<Teillänge>,<Modus>) OSCILL: POSP: Endpos: Teillänge: Tillordna ansättningsax(el)(lar) för pendelaxeln Fastlägga total och delansättningar (se Kapitel Fil- och programförvaltning) Slutposition för ansättningsaxeln efter det att alla delansättningar har körts. Storlek på delansättningen i vändpunkten/vändområdet
Modus: Uppdelning av den totala ansättningen i delansättningar = två lika stora reststeg (förinställning); = alla delansättningar lika stora Rörelsesynkronaktioner WHEN DO WHENEVER DO när, då alltid när, då Exempel I vändpunkt 1 ska ingen ansättning göras. Vid vändpunkt 2 ska ansättningen göras redan på avståndet ii2 före vändpunkt 2 och pendelaxeln inte vänta i vändpunkten på avslutningen av delansättningen. Axel Z är pendelaxel och axel X ansättningsaxel. bild 1 1. Parametrar för pendlingen Programkod Kommentar DEF INT ii2 ; Definiera variabel för vändområde 2 OSP1[Z]=10 OSP2[Z]=60 ; Definiera vändpunkt 1 och 2 OST1[Z]=0 OST2[Z]=0 ; Vändpunkt 1: Fint precisionsstopp Vändpunkt 2: Fint precisionsstopp FA[Z]=150 FA[X]=0,5 ; Matning pendelaxel Z, matning ansättningsaxel X
Programkod Kommentar OSCTRL[Z]=(2+8+16,1) ; Koppla från pendelrörelse i vändpunkt 2; efter RWL renbränna och uppsöka slutposition; efter RWL uppsöka motsvarande vändposition OSNC[Z]=3 ; Renbränningsslag OSE[Z]=70 ; Slutposition = 70 ii2=2 ; Ställa in vändområde WAITP(Z) ; Tillåter pendling för Z-axeln 2. Rörelsesynkronaktion Programkod WHENEVER $AA_IM[Z]< $SA_OSCILL_REVERSE_POS2[Z] DO -> $AA_OVR [X]=0 $AC_MARKER[0]=0 WHENEVER $AA_IM[Z]>= $SA_OSCILL_REVERSE_POS2[Z] DO $AA_OVR[Z] =0 WHENEVER $AA_DTEPW[X]==0 DO $AC_MARKER [0]=1 WHENEVER $AC_MARKER[0]==1 DO $AA_OVR[X] =0 $AA_OVR[Z]=100 Kommentar ; Alltid när den aktuella positionen för pendelaxeln Z i MKS är mindre än början på vändområde 2, då sätts den axiala övermanningen för ansättningsaxeln X på 0% och flaggan med index 0 på värdet 0. ; Alltid när den aktuella positionern för pendelaxeln Z i MKS är större än eller lika med vändposition 2, då sätts den axiala övermanningen för pendelaxeln Z på 0%. ; Alltid när restvägen för delansättningen är lika med 0, då sätts flaggan med index 0 på värdet 1. ; Alltid när flaggan med index 0 är lika med 1, då sätts den axiala övermanningen för ansättningsaxeln X på 0%. Därmed förhindras en för tidig ansättning (pendelaxel Z har ännu inte åter lämnat vändområde 2, men ansättningsaxel X är beredd för en förnyad ansättning). Sätter den axiala övermanningen för pendelaxeln Z från 0% (aktion i den 2:a synkronaktionen) till förflyttning åter på 100%. -> måste programmeras i ett block 3. Starta pendling
Programkod Kommentar OSCILL[Z]=(X) POSP[X]=(5,1,1) ; Starta axlarna Pendelaxeln Z får axel X som ansättningsaxel ;tillordnad. M30 ; Programslut Axeln X ska till slutpositionen 5 köra i steg på 1. Beskrivning 1. Fastlägga pendelparametrar Före rörelseblocket, som innehåller tillordningen av ansättnings- och pendelaxel samt fastläggandet av ansättningen, ska parametrarna för pendlingen fastläggas (se "Asynkron pendling"). 2. Fastlägga rörelsesynkronaktioner Via synkronvillkor följer: Undertrycka ansättning, tills pendelaxeln befinner sig inom ett vändområde (ii1, ii2) eller i en vändpunkt (U1, U2). Stoppa pendelrörelse under ansättningen i vändpunkten. Starta pendelrörelse åter efter avslutad delansättning. Start av nästa delansättning fastläggs. 3. Tillordna pendel- och ansättningsaxel samt fastlägga total och delansättning. Fastlägga pendelparametrar Tillordning av pendel- och ansättningsaxel: OSCILL OSCILL[Pendelachse] = (Zustellachse1, Zustellachse2, Zustellachse3) Med kommandot OSCILL görs axeltillordningarna och starten av pendelrörelsen. Maximalt kan en pendelaxel tillordnas 3 ansättningsaxlar. hänvisning Före starten av pendlingen måste synkronvillkoren för axlarnas beteende vara fastlagt. Fastlägga ansättningar: POSP POSP[Zustellachse] = (Endpos, Teillänge, Modus) Med kommandot POSP meddelas styrningen: Total ansättning (via slutpositionen) Storleken på respektive delansättning vid vändpunkten resp. i vändområdet
Delansättningsbeteendet när slutpositionen uppnås (via moden) Mode = 0 Mode = 1 För de båda sista delansättningarna görs en uppdelning av den kvarvarande vägen fram till målpunkten på 2 lika stora reststeg (förinställning). Alla delansättningar är lika stora. De beräknas ur den totala ansättningen. Fastlägga rörelsesynkronaktioner De i det följande utförda rörelsesynkronaktionerna används helt allmänt till pendling. Du finner exempellösningar för lösningen av de enskilda kraven, som tjänar som komponent för upprättande av användarspecifika pendelrörelser. hänvisning I enskilda fall kan synkronvillkoren också programmeras annorlunda. Nyckelord WHEN DO WHENEVER DO när, då alltid när, då Funktioner Med de i det följande detaljerat beskrivna språkverktygen kan följande funktioner realiseras: 1. Ansättning i vändpunkt. 2. Ansättning i vändområde. 3. Ansättning i båda vändpunkterna. 4. Stoppande av pendelrörelsen i vändpunkten. 5. Åter starta pendelrörelsen. 6. Inte starta delansättningen för tidigt. För alla här som exempel framställda synkronaktioner gäller fölgande antaganden: Vändpunkt 1 < vändpunkt 2 Z = pendelaxel X = ansättningsaxel
hänvisning För närmare förklaringar se Kapitel Rörelsesynkronaktioner. Tillordna pendel- och ansättningsaxel samt fastlägga total och delansättning Ansättning i vändområde Ansättningsrörelen ska börja inom ett vändområde innan vändpunkten har uppnåtts. Dessa synkronaktioner förhindrar ansättningsrörelsen tills pendelaxeln befinner sig i ett vändområde. Under givna antaganden(se ovan) resulterar följande anvisningar: Vändområde 1: WHENEVER $AA_IM[Z]> $SA_OSCILL_RESERVE_POS1 [Z]+ii1 DO $AA_OVR[X] = 0 Vändområde 2: WHENEVER $AA_IM[Z]< $SA_OSCILL_RESERVE_POS2 [Z]+ii2 DO $AA_OVR[X] = 0 Alltid när den aktuella positionern för pendelaxeln i MKS är större än början på vändområde 1, då sätts den axiala övermanningen för ansättningsaxeln på 0%. Alltid när den aktuella positionern för pendelaxeln i KS är mindre än början på vändområde 2, då sätts den axiala övermanningen för ansättningsaxeln på 0%. Ansättning i vändpunkt Så länge som pendelaxeln inte har uppnått vändpunkten äger ingen rörelse rum för ansättningsaxeln. Under givna antaganden(se ovan) resulterar följande anvisningar: Vändområde 1: WHENEVER $AA_IM[Z]<> $SA_OSCILL_RESERVE_POS1 [Z] DO $AA_OVR[X] = 0 $AA_OVR[Z] = 100 Vändområde 2: För vändpunkt 2: WHENEVER $AA_IM[Z]<> $SA_OSCILL_RESERVE_POS2 [Z] DO $AA_OVR[X] = 0 $AA_OVR[Z] = 100 Alltid när den aktuella positionen för pendelaxeln Z i MKS är större eller mindre än positionen för vändpunkt 1, då sätts den axiala övermanningen för ansättningsaxel X på 0% och den axiala övermanningen för pendelaxeln Z på 100%. Alltid när den aktuella positionen för pendelaxeln Zu i MKS är större eller mindre än positionen för vändpunkt 2, då sätts den axiala övermanningen för ansättningsaxel X på 0% och den axiala övermanningen för pendelaxeln Z på 100%. Stoppande av pendelrörelsen i vändpunkten
Pendelaxeln stoppas i vändpunkten, samtidigt börjar ansättningsrörelsen. Pendelrörelsen fortsätter när ansättningsrörelsen är fullständigt utförd. Samtidigt kan denna synkronaktion användas till att starta ansättningsrörelsen om denna stoppades av en föregående synkronaktion som ännu är verksam. Under givna antaganden(se ovan) resulterar följande anvisningar: Vändområde 1: WHENEVER $SA_IM[Z]== $SA_OSCILL_RESERVE_POS1 [Z] DO $AA_OVR[X] = 0 $AA_OVR[Z] = 100 Vändområde 2: WHENEVER $SA_IM[Z]== $SA_OSCILL_RESERVE_POS2 [Z] DO $AA_OVR[X] = 0 $AA_OVR[Z] = 100 Alltid när den aktuella postionen för pedelaxeln i MKS är lika med vändposition 1, då sätts den axiala övermanningen för pendelaxeln på 0% och den axiala övermanningen för ansättningsaxeln på 100%. Alltid när den aktuella postionen för pedelaxeln Zu i MKS är lika med vändposition 2, då sätts den axiala övermanningen för pendelaxeln X på 0% och den axiala övermanningen för ansättningsaxeln på 100%. Online-utvärdering av vändpunkten Står på den högra sidan om jämförelsen en med $$ kännetecknad huvudkörningsvariabel, så utvärderas de båda variablerna kontinuerligt i IPO-takt och jämförs med varandra. hänvisning Mer informationer härtill se kapitel "Rörelsesynkronaktioner". Åter starta pendelrörelsen Denna synkronaktion används för att fortsätta pendelaxelns rörelse när delansättningsrörelsen är avslutad. Under givna antaganden(se ovan) resulterar följande anvisningar: WHENEVER $AA_DTEPW[X] ==0 DO $AA_OVR[Z] = 100 Alltid när restvägen för delansättningen för ansättningsaxel X i WKS är lika med noll, då sätts den axiala övermanningen för pendelaxeln på 100%. Nästa delansättning Efter utförd ansättning måste en för tidig start av nästa delansättning förhindras.
Därtill används en kanalspecifik flagga ($AC_MARKER[Index]), som sätts i slutet av delansättningen (delrestväg 0) och raderas när vändområdet lämnas. Då förhindras nästa ansättningsrörelse med en synkronaktion. Under givna antaganden(se ovan) resulterar t.ex. för vändpunkt 1 följande anvisningar: 1. Sätta flagga: WHENEVER $AA_DTEPW[X] ==0 DO $AC_MARKER[1]=1 Alltid när restvägen för delansättningen för ansättningsaxel X i WKS är lika med noll, då sätts flaggan med index 1 på 1. 2. Radera flagga WHENEVER $AA_IM[Z]<> $SA_OSCILL_RESERVE_POS1 [Z] DO $AC_MARKER[1] = 0 Alltid när den aktuella positionen för pendelaxel Z i MKS är större eller mindre än positionen för vändpunkt 1, då sätts flagga 1 på 0. 3. Förhindra ansättning WHENEVER $AC_MARKER[1] ==1 DO $AA_OVR[X] = 0 Alltid när flaggan är lika med 1, då sätts den axiala övermanningen för ansättningsaxeln X på 0%.