Exemple CNC 01 : Génération directe de la file d'attente de sortie
Voir le CNC01_direct.project exemple de projet dans le répertoire d'installation de CODESYS en dessous de ..\CODESYS SoftMotion\Examples.
Cet exemple montre un programme CNC avec deux axes. Quatre positions sont accostées dans le plan X/Y avec une vitesse et une accélération définies. Le programme définit deux points de commutation de chemin sur le chemin. Le programme est écrit directement dans une structure de données en utilisant le SMC_OutQueue mode compilation.
Création d'un programme CN dans l'éditeur CNC
- Créer un - CNCdirectprojet avec un SoftMotion manette.
- Insérez un programme CNC objet nommé - Example.- Sélectionnez le Mise en œuvre - Din66025et le Mode de compilation- SMC_OutQueue.
- Spécifiez les blocs de mouvement suivants : - Éditeur CNC :  
Création d'une interface variateur et configuration automate
Définissez une structure d'entraînement avec deux entraînements linéaires comme suit :
- Insérer deux disques virtuels - X_Driveet- Y_Drivesous le Pool d'axes généraux SoftMotion.
- Met le Type d'axe paramètre à - Finite(1).- Éditeur de configuration :  
Création d'un programme IEC
- Ajouter un nouveau programme CFC Ipo à l'application et configurer une tâche cyclique avec un intervalle de 3 ms. 
- Activez le lecteur avec le - MC_Powerbloc fonctionnel.- POU :  
- Insérez le - SMC_InterpolatorPU. Le bloc fonction convertit un chemin défini par des objets GEOINFO en points de chemin discrets. Le bloc fonction reçoit l'adresse du programme CNC créé à l'entrée- poqDataIn. Ensuite, le temps de cycle de la tâche CEI doit être écrit dans l'entrée- dwIpoTime. Vous pouvez les spécifier comme valeurs constantes à l'entrée- dwIpoTimeou vous pouvez utiliser la variable- dwCyclede la structure du groupe d'axes depuis la configuration de l'automate. L'avantage est que le temps correct est automatiquement utilisé comme entrée d'interpolation lorsque vous modifiez le temps de cycle de la tâche.- POU :  
- Dans cet exemple, un système de portique sera contrôlé. Pour cela, insérez une instance des blocs fonction de transformation inverse et directe du - SM_Trafoune bibliothèque. Le bloc fonction de transformation directe contient les variateurs comme entrées. Le bloc fonction de transformation inverse doit contenir la position définie de l'interpolateur. La transformation vers l'avant dans l'exemple est requise pour la visualisation uniquement.- Instance de bloc fonction :   
- Les sorties du bloc fonctionnel (les coordonnées d'axe) doivent être écrites dans les entraînements. Cela se fait avec le - SMC_ControlAxisByPosbloc fonction. Étant donné que l'application ne garantit pas que les sorties de l'interpolateur sont constantes (par exemple, le chemin se termine à un autre point que celui où il a commencé), activez l'évitement d'écart (- bAvoidGaps,- fGapVelocity,- fGapAcceleration,- fGapDeceleration). Connectez ensuite le- StopIposortie vers le- bEmergency_Stopentrée de l'interpolateur et connecter la sortie de l'interpolateur- iStatusaux entrées respectives des blocs fonction de commande d'axe.- Notez l'ordre correct des blocs fonctionnels lors de la programmation avec CFC. - CFC :  
Création d'une interface d'exploitation et d'une interface de test
Liez deux objets de visualisation à une nouvelle visualisation : le modèle de l'interpolateur et le modèle de la transformation. Vous devez utiliser des espaces réservés pour les lier aux instances de blocs fonctionnels respectives (ici : Ipo.smci et Ipo.trafof).
Mise en service
Compilez et démarrez le programme créé. Le programme exécute le mouvement CNC dès que le Execute l'entrée de l'interpolateur a été réglée. Après l'exécution complète du programme, vous pouvez le redémarrer au moyen d'un nouveau front montant.
Notez la fonction des commutateurs de chemin qui sont également affichés dans la visualisation du bloc fonction d'interpolation.