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
CNCdirect
projet avec un SoftMotion manette.Insérez un programme CNC objet nommé
Example
.Sélectionnez le Mise en œuvre
Din66025
et le Mode de compilationSMC_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_Drive
etY_Drive
sous 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_Power
bloc fonctionnel.POU :
Insérez le
SMC_Interpolator
PU. 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éepoqDataIn
. Ensuite, le temps de cycle de la tâche CEI doit être écrit dans l'entréedwIpoTime
. Vous pouvez les spécifier comme valeurs constantes à l'entréedwIpoTime
ou vous pouvez utiliser la variabledwCycle
de 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_Trafo
une 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_ControlAxisByPos
bloc 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 leStopIpo
sortie vers lebEmergency_Stop
entrée de l'interpolateur et connecter la sortie de l'interpolateuriStatus
aux 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.