Skip to main content

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 da SM3_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_MULTITASKe STATE_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 utilizzando MC_CamTableSelect nel STATE_SELECT_TABLE stato ed eseguito in finale STATE_MOVEMENT stato. L'asse principale viene spostato usando MC_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 videocamera

  • GVL

    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 di PLC_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

  1. Costruisci l'applicazione e scaricala su un controller.

  2. Avviare la traccia e l'applicazione.

  3. Osservare la traccia del campionamento.

  4. Visualizzazione della camma generata nella visualizzazione