Both sides previous revision Previous revision Next revision | Previous revision |
en:appnote:an001 [2017/04/13 16:45] – [Prima movimentazione] qem103 | en:appnote:an001 [2019/08/29 17:01] (current) – external edit 127.0.0.1 |
---|
==== Esempi di compilazione della cam table ==== | ==== Esempi di compilazione della cam table ==== |
| |
=== Camma per spandifilo === | === Cam for wire-guide === |
| |
Consideriamo ad esempio un'applicazione per spandifilo, i passi che dovrà seguire l'asse slave sono: | For example, consider an application for spandifilo, the steps that you must follow the slave axis are: |
| |
* partenza con rampa di accelerazione | * starting with acceleration ramp |
* raggiungimento di una velocità proporzionale a quella del master | * achieving a speed proportional to that of the master |
* mantenimento della velocità raggiunta per un percorso predeterminato | * maintaining the speed reached by a predetermined path |
* arresto con rampa di decelerazione | * stop with deceleration ramp |
* stop dell'asse per un certo spazio del master | * stop for a certain space of the master |
* ritorno al punto di partenza con le stesse modalità del tratto d'andata. | * return to the starting point with the same outward stroke mode. |
| |
{{:software:devices:camming3:an001:an_camming3_01.png?nolink500|}} | {{:software:devices:camming3:an001:an_camming3_01.png?nolink500|}} |
| |
|Settore 1|accelerazione con partenza da velocità nulla e arrivo a velocità preimpostata (//codeG 131//) con incremento positivo della posizione slave;\\ è necessario calcolare correttamente il rapporto fra le quote master e slave perché la velocità di uscita sia corretta| | |Sector 1|acceleration from zero speed and arrival at preset speed (//codeG 131//) with positive growth of the slave position;\\ you need to correctly calculate the relationship between the master and slave output quotas because the speed is correct| |
|Settore 2|tratto a velocità costante (//codeG 133//) con incremento positivo della posizione slave| | |Sector 2|stretch at constant speed (//codeG 133//) with positive increase of the slave position| |
|Settore 3|decelerazione con velocità finale 0 (//codeG 135//) con incremento positivo della posizione slave| | |Sector 3|deceleration with final speed 0 (//codeG 135//) with positive increase of the slave position| |
|Settore 4|arresto dell'asse slave (//codeG 133//): si programma la quota master come desiderata mentre si lascia nulla quella slave| | |Sector 4|stop slave axis (//codeG 133//): programming the master fee as you want while you leave anything that slave| |
|Settore 5|accelerazione con partenza da velocità nulla e arrivo a velocità preimpostata (//codeG 131//) con decremento della posizione slave;\\ è necessario calcolare correttamente il rapporto fra le quote master e slave perché la velocità di uscita sia corretta (è possibile utilizzare gli stessi valori del settore 1 con quota slave negativa)| | |Sector 5|acceleration from zero speed and arrival at preset speed (//codeG 131//) with the slave position decrease;\\ It is necessary to calculate correctly the relationship between master and slave quotas, because the output speed is correct (you can use the same values 1 sector with negative slave quota)| |
|Settore 6|tratto a velocità costante (//codeG 133//) con decremento della posizione slave| | |Sector 6|stretch at constant speed (//codeG 133//) with the slave position decrease| |
|Settore 7|decelerazione con velocità finale 0 (//codeG 135//) con decremento della posizione slave| | |Sector 7|deceleration with final speed 0 (//codeG 135//) with the slave position decrease| |
|Settore 8|arresto dell'asse slave (//codeG 133//): si programma la quota master come desiderata mentre si lascia nulla quella slave| | |Sector 8|stop slave axis (//codeG 133//): programming the master quota as you want while you leave anything that slave quota| |
| |
Dopo l'esecuzione del settore 8 si potranno eseguire delle funzioni che eseguono il ri-fasamento delle posizioni master e slave in impulsi primari sottraendo lo spazio percorso fino a fine settore; in seguito sarà possibile ri-eseguire automaticamente le camma. | After running 8 sector can perform functions that execute the re-phasing of master and slave positions in primary impulses by subtracting the space covered until the end of the sector; You can then re-execute the cam automatically. |
| |
=== Camma per taglio al volo con extravelocità === | === Cam for fly-cutting with extra-speed === |
Consideriamo ad esempio un'applicazione per un semplice taglio al volo, i passi che dovrà seguire l'asse slave sono: | |
| |
* partenza dell'asse slave con rampa di accelerazione | For example, consider an application for a simple flying cut, the steps that you must follow the slave axis are: |
* raggiungimento della velocità dell'asse master | |
* mantenimento della velocità raggiunta per la durata dell'operazione di taglio | * departure of the slave axis with acceleration ramp |
* concluso il taglio l'asse slave deve accelerare per portarsì ad una velocità maggiore e mantenerla per un certo spazio | * reached of the master axis speed |
* arresto dell'asse slave con rampa di decelerazione | * maintaining the speed reached for the lifetime of the cutting operation |
* ritorno dell'asse slave al punto di partenza eseguendo rampe di accelerazione e decelerazione. | * finished cutting the slave axis must accelerate to move at a higher speed and maintain it over a certain space |
| * stopping the slave axis with deceleration ramp |
| * return of the slave axis to the starting point executing acceleration and deceleration ramps. |
| |
{{:software:devices:camming3:an001:an_camming3_02.png?nolink500|}} | {{:software:devices:camming3:an001:an_camming3_02.png?nolink500|}} |
| |
Settore 1: accelerazione con partenza da velocità nulla e arrivo alla stessa velocità del master (//codeG 132//) con incremento positivo della posizione slave. | Sector 1: acceleration from zero speed and arrive at the same speed as the master (//codeG 132//) with positive growth of the slave position. |
Settore 2: tratto intermedio a velocità costante (//codeG 133//) con incremento positivo della posizione slave. In questo settore master e slave percorreranno lo stesso spazio. | Sector 2: intermediate section at constant speed (//codeG 133//) with positive increment of the slave position. Master and slave in this area will cover the same space. |
Settore 3: accelerazione e incremento positivo della posizione dell'asse slave. Il settore impostato non è di accelerazione (//codeG 133//), per fare accelerare lo slave si dovrà impostare uno spazio maggiore rispetto il master. | Sector 3: acceleration and positive increment of the slave axis position. The sector set is not accelerating (//codeG 133//), to make accelerate the slave will have to set a more space respect the master. |
Settore 4: tratto a velocità costante e incremento positivo della posizione slave (//codeG 133//). | Sector 4: stretch at constant speed and positive increment of the slave position (//codeG 133//). |
Settore 5: decelerazione con incremento positivo della posizione slave (//codeG 133//). Si riporta lo slave alla stessa velocità del master, perciò la quota dovrà essere calcolata correttamente. | Sector 5: deceleration with positive increment of the slave position (//codeG 133//). It is reported the slave master speed, therefore the quota must be calculated correctly. |
Settore 6: decelerazione con velocità finale 0 (//codeG 135//) con decremento della posizione slave. | Sector 6: deceleration with final speed 0 (//codeG 135//) with decrease in slave position. |
Settore 7: accelerazione con partenza da velocità nulla e arrivo a velocità preimpostata (//codeG 131//) con decremento della posizione slave. | Sector 7: acceleration from zero speed and arriving at preset speed (//codeG 131//) with decrease in slave position. |
Settore 8: tratto a velocità costante (//codeG 133//) con decremento della posizione slave. | Sector 8: stretch at constant speed (//codeG 133//) with decrease in slave position. |
Settore 9: decelerazione con velocità finale 0 (//codeG 135//) con decremento della posizione slave. | Sector 9: deceleration with final speed 0 (//codeG 135//) with decrease in slave position. |
| |
Dopo l'esecuzione del settore 9 si potranno eseguire delle funzioni che eseguono il ri-fasamento delle posizioni master e slave in impulsi primari sottraendo lo spazio percorso fino a fine settore; in seguito sarà possibile ri-eseguire automaticamente le camma. | After running the sector 9 will execute the functions that execute the phasing adjustment of the master and slave position in primary pulses subtracting the space covered until the end of the sector; you can then re-execute the cam automatically. |
| |
==== Utilizzo di un master simulato ==== | ==== Using a simulated master ==== |
| |
Come è stato spiegato nella descrizione del device CAMMING è possibile che l'asse master sia reale oppure simulata, una via per realizzare un master simulato è dichiarare per il device CAMMING un indirizzo di un trasduttore simulato utilizzando un device di posizionamento (ad esempio EANPOS) dichiarato con il contatore sullo slot 1 (normalmente riservato alla CPU del sistema) e tutte le altre risorse disabilitate. | As explained in the description of the CAMMING device It is possible that the master axis is real or simulated, one way to achieve a simulated master is to declare to the CAMMING device an address of a simulated transducer using a positioning device (for example EANPOS) declared with the counter on slot 1 (normally reserved to the CPU of the system) and any other resources that are disabled. |
| |
<code QCL> | <code QCL> |
;--------------------------------- | ;--------------------------------- |
; Dichiarazione device interni | ; Internal devices declaration |
;--------------------------------- | ;--------------------------------- |
INTDEVICE | INTDEVICE |
... | ... |
<nome_device> EANPOS TCamp ICont IntL IAZero IOutA | <device_name> EANPOS TCamp ICont IntL IAZero IOutA |
Master EANPOS 2 1.CNT01 X X.X X.X | Master EANPOS 2 1.CNT01 X X.X X.X |
</code> | </code> |
| |
Il device così configurato viene considerato come un master simulato, esso viene comandato come fosse un normale device tenendo presente che il loop di regolazione deve essere aperto e di conseguenza non serve parametrizzare il PID, è sufficiente impostare il feedforward a 100%. | The device thus configured as a simulated master, is operated like a normal device remember that the control loops must be open and therefore don't need to parameterize the PID, just set the feedforward to 100%. |
| |
| === Programming example === |
| |
=== Esempio di programmazione === | You want to use the EANPOS device configured in the example just described and there is suppose that the master simulated should continue its movement to infinity. |
Si vuole utilizzare il device EANPOs configurato nell'esempio appena descritto e si ipotizza che il master simulato debba continuare il suo movimento all'infinito. | |
| |
<code QCL> | <code QCL> |
;------------------------------------------------------------ | ;------------------------------------------------------------ |
; Gestione del master simulato | ; Managing the master simulated |
;------------------------------------------------------------ | ;------------------------------------------------------------ |
Master:measure = 1000 ;impostazioni parametri master | Master:measure = 1000 ;master parameters settings |
Master:pulse = 4000 | Master:pulse = 4000 |
Master:decpt = 0 | Master:decpt = 0 |
Master:maxpos = 999999 | Master:maxpos = 999999 |
Master:minpos = -999999 | Master:minpos = -999999 |
INIT Master ;inizializzazione master simulato | INIT Master ;initialization simulated master |
WAIT Master:st_init | WAIT Master:st_init |
LOOPOFF Master | LOOPOFF Master |
| |
MAIN: | MAIN: |
IF sf01 ;flag che da lo start al master | IF sf01 ;flags that give the start to the master |
IF Master: st_still | IF Master: st_still |
Master:posit = 0 | Master:posit = 0 |
Master:setvel = 500 | Master:setvel = 500 |
Master:setpos = 999999 | Master:setpos = 999999 |
START Master ;comando di START | START Master ;START command |
ENDIF | ENDIF |
IF Master:posit GE 500000 ;aggiorno la posizione per non causare | IF Master:posit GE 500000 ;I update the location so as not to cause |
;un oveflow | ;an overflow |
Master:posit = 0 | Master:posit = 0 |
ENDIF | ENDIF |
ELSE | ELSE |
IF NOT Master:st_still ;stop del master simulato | IF NOT Master:st_still ;top of the simulated master |
STOP Master | STOP Master |
ENDIF | ENDIF |