Passaggio tra le camme
Fondamentalmente, puoi passare da una telecamera all'altra in qualsiasi momento. Tuttavia, dovresti considerare alcuni punti:
Nell'editor camma, la posizione dello slave è definita in modo univoco come valore della funzione della camma. Questa funzione è definita nel campo dei valori master e può essere espressa come segue:
SlavePosition = CAM( MasterPosition )
Poiché la posizione attuale dell'azionamento master si discosta generalmente dal campo dei valori master, per rappresentare un argomento valido è necessario scalare la posizione master nel campo di definizione della funzione camma:
SlavePosition = CAM( MasterScale*MasterPosition + MasterOffset )
In modo simile, devi scalare il valore della funzione (la posizione slave) se l'inizio della camma è in modalità
Absolute
porterebbe ad un salto:SlavePosition = SlaveScale*CAM( MasterPosition ) + SlaveOffset
Potrebbe essere necessario applicare entrambi i valori di ridimensionamento, il che risulta quanto segue:
Slaveposition = SlaveScale*CAM( MasterScale*Masterposition + MasterOffset ) + SlaveOffset
I valori appropriati per i parametri di ridimensionamento e offset possono variare da periodo a periodo.
Il passaggio da una camma all'altra può essere effettuato in tre modi:
Avviare la seconda camma tramite una seconda istanza di
MC_CamIn
conBufferMode = MC_BUFFER_MODE.Buffered
,StartMode = relative
,MasterAbsolute = FALSE
, ESlaveAbsolute = FALSE
.Importante
Come di CODESYS SoftMotion versione 4.17.0.0
Inizio della nuova camma mediante assegnazione
MC_CamIn.CamTableID
alla nuova cam (nessun riavvio delMC_CamIn
blocco funzione richiesto).Questa variante è consigliata se si applicano i seguenti punti al tuo caso d'uso:
Tutte le camme seguenti dovrebbero essere eseguite relativamente con
MasterAbsolute = FALSE
oSlaveAbsolute = FALSE
.La nuova camma dovrebbe partire esattamente alla fine della precedente.
Nessun altro parametro viene modificato (esempio:
SlaveOffset
).Importante
Il salto, spiegato nell'esempio seguente per camme periodiche e
SlaveAbsolute = FALSE
, fa non valgono per questa variante perché la camma successiva si trova esattamente nelle posizioni finali della camma precedente.La nuova camma viene posizionata esattamente alla fine della camma precedente solo se il passaggio alla nuova camma avviene nello stesso ciclo in cui la camma precedente riporta
EndOfProfile = TRUE
.
Avvia la nuova cam riavviando il
MC_CamIn
blocco funzione.Questa variante è consigliata se è necessario modificare i parametri per il corretto funzionamento della nuova camma (ad esempio,
SlaveOffset
dal seguente esempio). Si applicano le restrizioni dell'esempio seguente.
Nell'esempio seguente si passa da CAM1
a CAM2
:
CAM1
è costituito da un polinomio di 5° ordine seguito da due segmenti di linea.

CAM2
è costituito da due segmenti di linea seguiti da un polinomio di 5° ordine.

Quando si passa da una telecamera all'altra, è necessario considerare quanto segue:
Per evitare salti, i valori di velocità e accelerazione al punto finale della prima camma dovrebbero coincidere con i valori al punto di partenza della seconda camma. Nell'esempio questa condizione è soddisfatta perché al punto finale di
CAM1
e il punto di partenza diCAM2
.Puoi avviare la seconda cam
Relative
quando è stata definita la posizione iniziale dello slave come 0. Tuttavia, la prima camma deve essere in rodaggionon-periodic
modalità. Altrimenti, seCAM1
erano periodici, poi ilRelative
l'impostazione comporterebbe un salto.

L'ingrandimento mostra la transizione da CAM1
a CAM2
. Le linee blu contrassegnano le valutazioni delle funzioni camma nelle posizioni master x1
e x2
.
Ora esamineremo il caso sfavorevole di periodic
:
| |
| Il richiamo avvia una valutazione della camma nella posizione master |
| Per la successiva chiamata del modulo, la posizione master |
| Passa alla nuova camma |
| Seconda valutazione in posizione magistrale |
Seleziona il non-periodic
modalità per evitare salti:
| |
| Il richiamo avvia una valutazione della camma nella posizione master |
| Per la successiva chiamata del modulo, la posizione master |
| Passa alla nuova camma. |
| Seconda valutazione in posizione magistrale |
Per avviare la camma Absolute
modalità, è necessario assicurarsi che lo slave sia in una posizione di partenza appropriata. Se il campo di valori del master coincide con il periodo dello slave, la commutazione tra camme non presenta complicazioni, indipendentemente dal fatto che le camme siano periodiche o meno.
Nell'esempio sopra, puoi iniziare CAM2
in Absolute
modalità quando i periodi del master e dello slave concordano con l'intervallo di valori master di CAM2
(ognuno è a 360°).
In caso contrario, ad esempio quando è il periodo dello schiavo 270°
(indicato dalla linea azzurra), quindi il Absolute
opzione non è consentita senza intraprendere ulteriori azioni.

In questo caso lo slave è a 90° quando si passa da CAM1
a CAM2
. Di partenza CAM2
in Absolute
la modalità provoca un salto a 0° (indicato da una linea grigia).
Tuttavia, il salto può essere impedito impostando l'offset slave sul valore appropriato di 90°.