Creazione di camme a livello di codice
IL BasicMotion_CreateCamTableOnline.project
progetto di esempio si trova nella directory di installazione di CODESYS Sotto ..\CODESYS SoftMotion\Examples
.
L'esempio mostra come è possibile utilizzare il codice IEC per creare e utilizzare una camma. I seguenti punti sono trattati qui:
Una camma creata nell'editor delle camme viene creata nuovamente utilizzando il codice IEC.
In un caso, il disco a camme viene generato nel task del bus.
Nell'altro caso, il disco a camme viene generato in un'operazione separata.
Quindi, tutte e tre le camme vengono eseguite con lo stesso asse principale e diversi assi slave. Il movimento dei tre slave è identico.
La camma generata nel codice IEC viene visualizzata nella visualizzazione.
Per ulteriori informazioni sulla creazione programmatica delle camme, vedere: Creazione di camme a livello di codice
Struttura dell'applicazione
L'applicazione è composta dai seguenti componenti:
CamOffline
La camma creata nell'editor delle camme che deve essere creata nuovamente utilizzando il codice IEC.
PLC_PRG
Il programma è composto da una semplice macchina a stati e, logicamente, da tre parti. Nella prima e nella seconda parte, viene creata una camma in codice IEC. Nella terza parte, vengono eseguite le camme create in precedenza e una camma identica creata offline
Parte 1:
Nel primo stato
STATE_CREATE_ONLINE_TABLE
, viene creata una camma in codice IEC. IL SMCB.CamBuilder blocco funzione daSM3_CamBuilder
la biblioteca viene utilizzata a questo scopo. Vengono aggiunti tre segmenti: un elemento Poly5 seguito da un elemento Line e un altro elemento Poly5. Il costruttore genera un file CamOnline cam da questo. Da questo momento in poi la camma viene creata in codice IEC e può essere utilizzata allo stesso modo della camma CamOffline camma creata offline nell'editor camma.Parte 2:
Nel
STATE_INIT_ONLINE_TABLE_MULTITASK
,STATE_START_CREATE_ONLINE_TABLE_MULTITASK
eSTATE_READ_ONLINE_TABLE_MULTITASK
afferma che la creazione della camma viene avviata in un'altra operazione e quindi viene letta.Parte 3:
Nel
STATE_POWER_DRIVES
stato, gli assi virtuali per il master e i tre assi slave vengono inizializzati. Le camme vengono quindi selezionate utilizzandoMC_CamTableSelect
nelSTATE_SELECT_TABLE
stato ed eseguito in finaleSTATE_MOVEMENT
stato. L'asse principale viene spostato usandoMC_MoveVelocity
e viene utilizzato come master per le tre camme.
MultitaskCamBuilder
Un programma che genera una camma come descritto nella Parte 1 di
PLC_PRG
. L'unica differenza qui è che viene utilizzata una variante multitask/multicore sicura della videocameraGVL
La variante multitask/multicore-safe della cam viene istanziata qui.
Visualization
La visualizzazione contiene
SMC_Visu_CamDisplayer
elemento per la visualizzazione delle camme. La camma generata nella parte 1 diPLC_PRG
viene visualizzato.CamDisplayerSettings
Elementi aggiuntivi per la visualizzazione della camma in
Visualization
Trace
È possibile utilizzare la traccia per tracciare il movimento degli assi virtuali. Viene registrata la posizione corrente del master, nonché la posizione, la velocità e l'accelerazione dei tre assi slave
La messa in produzione
Costruisci l'applicazione e scaricala su un controller.
Avviare la traccia e l'applicazione.
Osservare la traccia del campionamento.
Visualizzazione della camma generata nella visualizzazione