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_CamBuilderla 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_CamTableSelectdans le- STATE_SELECT_TABLEétat et exécuté en finale- STATE_MOVEMENTétat. L'axe principal est déplacé à l'aide de- MC_MoveVelocityet 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_PRGs'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