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 duSM3_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
, etSTATE_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 deMC_CamTableSelect
dans leSTATE_SELECT_TABLE
état et exécuté en finaleSTATE_MOVEMENT
état. L'axe principal est déplacé à l'aide deMC_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éraGVL
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 dePLC_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
Créez l'application et téléchargez-la sur un contrôleur.
Démarrez la trace et l'application.
Observez la trace d’échantillonnage.
Affichage de la caméra générée dans la visualisation