Skip to main content

Strutture dati CNC e accesso globale

Gli oggetti CNC disponibili nel progetto sono compilati in blocchi funzione di tipo SMC_OUTQUEUE o SMC_CNC_REF. (Ciò non accade quando il metodo compile FILE si usa.)

Quando il progetto viene compilato, i dati del CNC creati vengono gestiti internamente nel file SMC_CNC_Data blocchi funzione. Per la modalità di compilazione SMC_OutQueue, ogni elemento del CNC è rappresentato da a SMC_OUTQUEUE blocco funzione. Per la modalità di compilazione SMC_CNC_REF, un elemento CNC è rappresentato da SMC_CNC_REF. Durante l'elaborazione del programma IEC, i blocchi funzione vengono istanziati e popolati con valori che possono essere elaborati nei programmi IEC. Tutte queste POU sono contenute in SM3_CNC.

Accesso globale ai dati CNC

Durante l'inizializzazione, dal programma del CNC vengono rilevati il tipo e il numero degli oggetti generati. Tutti questi oggetti sono elencati insieme in una struttura dati globale dichiarata in modo implicito. Oggetti di tipo SMC_OUTQUEUE sono elencati nell'oggetto dati globale g_CNCQueueManager con la proprietà Count e il metodo GetOutQueue(int n). Oggetti di tipo SMC_CNC_REF sono elencati nell'oggetto dati globale g_CNCProgManager con la proprietà Count e il metodo GetProgram(int n). L'utente può ora accedervi in un programma IEC.

Esempio 13. Esempio

Accesso agli oggetti dati della struttura SMC_OUTQUEUE

PROGRAM CNCManageQueue
VAR
    pCNC_OutQueue : POINTER TO SMC_OUTQUEUE;
    n: INT;
    i: INT;
END_VAR

n := g_CNCQueueManager.Count;
FOR i:= 0 to n-1 DO
    pCNC_OutQueue := g_CNCQueueManager.GetOutQueue(I);
    (* calculate pCNC_OutQueue *)
END_FOR

Accesso agli oggetti dati della struttura SMC_CNC_REF

PROGRAM CNCManageRef
VAR
    pCNC_Ref: POINTER TO SMC_CNC_REF;
    n: INT;
END_VAR

n := g_CNCProgManager.Count;
FOR i:= 0 to n-1 DO
    pCNC_Ref := g_CNCProgManager.GetProgram(I);
    (* calculate pCNC_Ref *)
END_FOR