Structures de données CNC et accès global
Les objets CNC disponibles dans le projet sont compilés dans des blocs fonctionnels de type SMC_OUTQUEUE
ou SMC_CNC_REF
. (Cela ne se produit pas lorsque la méthode de compilation DÉPOSER est utilisé.)
Lors de la compilation du projet, les données CNC créées sont gérées en interne dans le SMC_CNC_Data
blocs fonctionnels. Pour le mode compilation SMC_OutQueue
, chaque élément CNC est représenté par un SMC_OUTQUEUE
bloc fonctionnel. Pour le mode compilation SMC_CNC_REF
, un élément CNC est représenté par SMC_CNC_REF
. Pendant le traitement du programme CEI, les blocs fonctionnels sont instanciés et remplis de valeurs pouvant être traitées dans les programmes CEI. Tous ces POU sont contenus dans SM3_CNC
.
Accès mondial aux données CNC
Lors de l'initialisation, le type et le nombre d'objets générés sont déterminés à partir du programme CNC. Tous ces objets sont répertoriés ensemble dans une structure de données globale déclarée implicitement. Objets de type SMC_OUTQUEUE
sont répertoriés dans l'objet de données global g_CNCQueueManager
avec la propriété Count
et la méthode GetOutQueue(int n)
. Objets de type SMC_CNC_REF
sont répertoriés dans l'objet de données global g_CNCProgManager
avec la propriété Count
et la méthode GetProgram(int n)
. L'utilisateur peut désormais y accéder dans un programme IEC.
Accès aux objets de données de la structure 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
Accès aux objets de données de la structure 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