Uso di dati Cam per i blocchi funzione
I diagrammi Cam vengono utilizzati come base per generare strutture di dati cam con un numero corrispondente di punti cam.
È possibile utilizzare queste strutture dati per configurare i blocchi funzione FB_MultiCam / MC_Cam_ID o una POU con funzionalità equivalente.
I dati Cam vengono utilizzati per inizializzare i moduli/blocchi funzione che elaborano strutture dati cam nel programma applicativo.
Definizione del blocco funzione di destinazione
La scheda Configurazione del cam motion editor fornisce un campo di inserimento che consente di specificare una struttura dati cam esistente come destinazione. Se si definisce una destinazione, i dati cam vengono scritti automaticamente su tale struttura di destinazione quando si inizializza il programma. Se l'espressione non è determinabile, viene generato un messaggio di diagnostica.
Dalla destinazione definita, EcoStruxure Machine Expert rileva se le strutture dati sono CommonMotionType o strutture PacDriveLib e la configurazione viene eseguita di conseguenza.
Generazione dati per strutture dati Cam
Quando si compila il progetto (tramite il comando Compila dal menu Compila o la scelta rapida F11), viene generato il codice sorgente IEC e scritto nella struttura dati cam specificata.
Le istruzioni di configurazione per la struttura dati cam vengono generate nel formato seguente:
MyMultiCam.MultiCamData.diNumberOfCamPoints := 3;
MyMultiCam.MultiCamData.lrYPeriod := 0;
MyMultiCam.MultiCamData.astCamPoint[0].lrX := 0;
MyMultiCam.MultiCamData.astCamPoint[0].lrY := 100;
MyMultiCam.MultiCamData.astCamPoint[0].lrM := 0;
MyMultiCam.MultiCamData.astCamPoint[0].lrK := 0;
MyMultiCam.MultiCamData.astCamPoint[0].lrLambda := 0.5;
MyMultiCam.MultiCamData.astCamPoint[0].lrC := 1;
MyMultiCam.MultiCamData.astCamPoint[0].etCamType := ET_CAMTYPE.Poly5Com;
MyMultiCam.MultiCamData.astCamPoint[1].lrX := 100;
MyMultiCam.MultiCamData.astCamPoint[1].lrY := 0;
MyMultiCam.MultiCamData.astCamPoint[1].lrM := 0;
MyMultiCam.MultiCamData.astCamPoint[1].lrK := 0;
MyMultiCam.MultiCamData.astCamPoint[1].lrLambda := 0.5;
MyMultiCam.MultiCamData.astCamPoint[1].lrC := 1;
MyMultiCam.MultiCamData.astCamPoint[1].etCamType := ET_CAMTYPE.SimplSin;
In questo esempio, MyMultiCam.MultiCamData è configurato come struttura dati di destinazione.
I dati generati si basano su diagrammi cam modificati in modalità offline. Non vengono aggiornati in modalità online.
Ogni segmento cam è definito da un CamPoint che specifica i dati ubicati sul margine sinistro del segmento. Il CamPoint destro di un segmento cam corrisponde al CamPoint sinistro del segmento cam successivo. Per identificare il punto finale del diagramma cam, l'ultimo segmento cam viene definito da un proprio CamPoint destro.
Sono disponibili fino a 32 CamPoints per una struttura dati cam. Quando una struttura di destinazione viene selezionata con un diagramma cam con più di 31 segmenti, viene generato un messaggio di diagnostica. Per definire il movimento di un asse con più di 31 segmenti, dividerlo in più diagrammi cam.
NOTA: se sono incorporati più diagrammi cam, per il dimensionamento dell'azionamento con Motion Sizer, Motion Sizer verificare di utilizzare la curva cam totale comprendente tutti i sotto diagrammi cam.
Inizializzazione del blocco funzione
Per fornire i dati cam configurati alla struttura di destinazione, viene eseguito un codice di inizializzazione durante l'avvio. Questo task di inizializzazione viene eseguito da una POU del programma chiamata come codice di inizializzazione dopo il completamento dei processi di inizializzazione utente.