Skip to main content

Créer des cames par programme

Le BasicMotion_CreateCamTableOnline.project L'exemple de projet se trouve dans le répertoire d'installation de CODESYS sous ..\CODESYS SoftMotion\Examples.

L'exemple montre comment utiliser le code IEC pour créer et utiliser une caméra. Les points suivants sont abordés ici :

  • Une caméra créée dans l'éditeur de caméras est créée à nouveau à l'aide du code IEC.

    • Dans un cas, le disque à cames est généré dans la tâche du bus.

    • Dans l'autre cas, le disque à cames est généré dans le cadre d'une tâche distincte.

  • Ensuite, les trois cames fonctionnent avec le même axe principal et des axes esclaves différents. Le mouvement des trois esclaves est identique.

  • La caméra générée dans le code IEC est affichée dans la visualisation.

Pour plus d'informations sur la création programmatique de cames, voir : Créer des cames par programme

Structure de la candidature

L'application comprend les éléments suivants :

  • CamOffline

    La caméra créée dans l'éditeur de caméras qui doit être créée à nouveau à l'aide du code IEC.

  • PLC_PRG

    Le programme se compose d'une simple machine à états et, logiquement, de trois parties. Dans les première et deuxième parties, une came est créée en code IEC. Dans la troisième partie, les caméras créées précédemment et une caméra identique créée hors ligne sont exécutées.

    • Partie 1:

      Dans le premier état STATE_CREATE_ONLINE_TABLE, une came est créée en code CEI. Le SMCB.CamBuilder bloc fonctionnel du SM3_CamBuilder la bibliothèque est utilisée à cet effet. Trois segments sont ajoutés : un élément Poly5 suivi d'un élément Line et d'un autre élément Poly5. Le Constructeur génère un CamOnline came de ça. A partir de ce moment, la came est créée en code CEI et peut être utilisée de la même manière que la CamHors ligne caméra créée hors ligne dans l'éditeur de caméras.

    • Partie 2:

      Dans le STATE_INIT_ONLINE_TABLE_MULTITASK, STATE_START_CREATE_ONLINE_TABLE_MULTITASK, et STATE_READ_ONLINE_TABLE_MULTITASK états, la création de la caméra est lancée dans une autre tâche puis elle est lue.

    • Troisième partie :

      Dans le STATE_POWER_DRIVES état, les axes virtuels pour le maître et les trois axes esclaves sont initialisés. Les cames sont ensuite sélectionnées à l'aide de MC_CamTableSelect dans le STATE_SELECT_TABLE état et exécuté en finale STATE_MOVEMENT état. L'axe principal est déplacé à l'aide de MC_MoveVelocity et est utilisé comme maître pour les trois cames.

  • MultitaskCamBuilder

    Un programme qui génère une caméra comme décrit dans la partie 1 de PLC_PRG. La seule différence ici est qu'une variante multitâche/multicore sécurisée de la caméra

  • GVL

    La variante multitâche/multicore-safe de la caméra est instanciée ici.

  • Visualization

    La visualisation contient les SMC_Visu_CamDisplayer élément pour afficher les caméras. La caméra générée dans la partie 1 de PLC_PRG s'affiche.

  • CamDisplayerSettings

    Éléments supplémentaires pour l'affichage de la caméra Visualization

  • Trace

    Vous pouvez utiliser la trace pour suivre le mouvement des axes virtuels. La position actuelle du maître est enregistrée, ainsi que la position, la vitesse et l'accélération des trois axes esclaves.

Mise en service

  1. Créez l'application et téléchargez-la sur un contrôleur.

  2. Démarrez la trace et l'application.

  3. Observez la trace d’échantillonnage.

  4. Affichage de la caméra générée dans la visualisation