Skip to main content

Esempio CNC 01: Generazione diretta di OutQueue

Vedi il CNC01_direct.project progetto di esempio nella directory di installazione di CODESYS sotto ..\CODESYS SoftMotion\Examples.

Questo esempio mostra un programma CNC con due assi. Vengono raggiunte quattro posizioni nel piano X/Y con velocità e accelerazione definite. Il programma imposta due punti di commutazione del percorso sul percorso. Il programma viene scritto direttamente in una struttura dati utilizzando l'estensione SMC_OutQueue modalità di compilazione.

Creazione di un programma NC nell'editor CNC

  1. Creare un CNCdirect progetto con a SoftMotion controllore.

  2. Inserisci a Programma CNC oggetto chiamato Example.

    Seleziona il ImplementazioneDin66025 e il Modalità di compilazioneSMC_OutQueue.

  3. Specificare i seguenti blocchi di movimento:

    Editor CNC:

    _sm_img_example_cnc1_1.png

Creazione di un'interfaccia dell'azionamento e configurazione del PLC

Definire una struttura di azionamento con due azionamenti lineari come segue:

  1. Inserisci due unità virtuali X_Drive e Y_Drive sotto il Pool di assi generali SoftMotion.

  2. Impostare il Tipo di asse parametro a Finite (1).

    Editor di configurazione:

    _sm_img_example_cnc1_7.png

Creazione di un programma IEC

  1. Aggiungi un nuovo programma CFC ipo all'applicazione e configurare un task ciclico con un intervallo di 3 ms.

  2. Attivare gli azionamenti con il blocco funzione MC_Power.

    POU:

    _sm_img_example_cnc1_2.png
  3. Ora aggiungi il blocco di costruzione SMC_Interpolator uno. Il blocco converte un percorso descritto dagli oggetti GEOINFO in punti di percorso discreti. Il blocco riceve in ingresso poqDataIn l'indirizzo del programma CNC creato. Inoltre, sull'ingresso deve essere impostato il tempo di ciclo del task IEC dwIpoTime da scrivere. Puoi usarlo come valore costante all'ingresso dwIpoTime inserisci o usi la variabile dwCycle la struttura del gruppo di assi dalla configurazione del controllo. Il vantaggio è che l'ora corretta viene utilizzata automaticamente come ingresso dell'interpolatore se si modifica il tempo di ciclo del task.

    POU:

    _sm_img_example_cnc1_3.png
  4. In questo esempio, verrà controllato un sistema a portale. A tal fine, inserire un'istanza dei blocchi funzione di trasformazione inversa e diretta dal SM_Trafo biblioteca. Il blocco funzione di trasformazione in avanti contiene gli azionamenti come ingressi. Il blocco funzione di trasformazione inversa deve contenere la posizione impostata dell'interpolatore. La trasformazione in avanti nell'esempio è richiesta solo per la visualizzazione.

    Istanza del blocco funzione:

    _sm_img_example_cnc1_4.png
    _sm_img_example_cnc1_5.png
  5. Le uscite del blocco funzione (le coordinate degli assi) devono essere scritte negli azionamenti. Questo è fatto con il SMC_ControlAxisByPos blocco funzionale. Poiché l'applicazione non garantisce che le uscite dell'interpolatore siano costanti (es. il percorso termina in un punto diverso da quello in cui è iniziato), attivare l'evitamento gap (bAvoidGaps, fGapVelocity, fGapAcceleration, fGapDeceleration). Quindi collegare il StopIpo uscita al bEmergency_Stop ingresso dell'interpolatore e collegare l'uscita dell'interpolatore iStatus ai rispettivi ingressi dei blocchi funzione di controllo assi.

    Osservare l'ordine corretto dei blocchi funzione durante la programmazione con CFC.

    CFC:

    _sm_img_example_cnc1_6.png

Creazione di un'interfaccia operativa e di un'interfaccia di test

Collega due oggetti di visualizzazione a una nuova visualizzazione: il modello dell'interpolatore e il modello della trasformazione. È necessario utilizzare i segnaposto per collegarli alle rispettive istanze di blocchi funzione (qui: Ipo.smci e Ipo.trafof).

La messa in produzione

Compila e avvia il programma creato. Il programma esegue il movimento del CNC non appena il Execute è stato impostato l'ingresso dell'interpolatore. Dopo che il programma è stato eseguito completamente, è possibile riavviarlo mediante un nuovo fronte di salita.

Notare la funzione degli interruttori di percorso che vengono visualizzati anche nella visualizzazione del blocco funzione di interpolazione.