Utilisation des données Cam pour les blocs fonction
Les diagrammes Cam servent à générer des structures de données cam avec un nombre de points cam correspondant.
Ces structures permettent de paramétrer les blocs fonction FB_MultiCam / MC_Cam_ID ou un POU avec des fonctionnalités équivalentes.
Les données Cam sont utilisées pour initialiser les blocs fonction/modules qui traitent les structures des données cam dans le programme de l’application.
Spécification du bloc fonction cible
L’onglet Configuration de l’éditeur de mouvement cam contient un champ de saisie qui vous permet de spécifier une structure des données cam comme cible. Si une structure cible est définie, les données cam y sont automatiquement inscrites à l’initialisation du programme. Si l’expression n’est pas identifiable, un message de diagnostic est généré.
A partir de la cible définie, EcoStruxure Machine Expert détecte si les structures sont de type CommonMotionType ou PacDriveLib, et la configuration s’effectue en conséquence.
Génération de données pour les structures des données Cam
Lorsque le projet est créé (à l’aide de la commande Générer du menu Générer ou du raccourci F11), le code source CEI est généré et copié dans la structure des données cam spécifiée.
Les instructions de paramétrage de la structure des données cam sont générées au format suivant :
MyMultiCam.MultiCamData.diNumberOfCamPoints := 3;
MyMultiCam.MultiCamData.lrYPeriod := 0;
MyMultiCam.MultiCamData.astCamPoint[0].lrX := 0;
MyMultiCam.MultiCamData.astCamPoint[0].lrY := 100;
MyMultiCam.MultiCamData.astCamPoint[0].lrM := 0;
MyMultiCam.MultiCamData.astCamPoint[0].lrK := 0;
MyMultiCam.MultiCamData.astCamPoint[0].lrLambda := 0.5;
MyMultiCam.MultiCamData.astCamPoint[0].lrC := 1;
MyMultiCam.MultiCamData.astCamPoint[0].etCamType := ET_CAMTYPE.Poly5Com;
MyMultiCam.MultiCamData.astCamPoint[1].lrX := 100;
MyMultiCam.MultiCamData.astCamPoint[1].lrY := 0;
MyMultiCam.MultiCamData.astCamPoint[1].lrM := 0;
MyMultiCam.MultiCamData.astCamPoint[1].lrK := 0;
MyMultiCam.MultiCamData.astCamPoint[1].lrLambda := 0.5;
MyMultiCam.MultiCamData.astCamPoint[1].lrC := 1;
MyMultiCam.MultiCamData.astCamPoint[1].etCamType := ET_CAMTYPE.SimplSin;
Dans cet exemple, MyMultiCam.MultiCamData est configuré comme structure des données cible.
Les données générées sont basées sur les diagrammes cam qui ont été modifiés en mode hors ligne. Elles ne sont pas mises à jour en mode en ligne.
Chaque segment cam est défini par un CamPoint qui spécifie les données situées dans la marge gauche du segment. Le CamPoint de droite d’un segment cam correspond au CamPoint de gauche du segment cam suivant. Pour identifier le point de fin du diagramme cam, le dernier segment cam est défini par un CamPoint de droite qui lui est propre.
Le nombre maximal de CamPoints disponibles pour une structure des données cam est de 32. Si une structure cible a été sélectionnée avec un diagramme cam comptant plus de 31 segments, un message de diagnostic est généré. Pour déterminer le mouvement d'un axe sur plus de 31 segments, vous devez le diviser en plusieurs diagrammes cam.
NOTE : si plusieurs diagrammes cam sont intégrés, pour dimensionner le variateur avec Motion Sizer, Motion Sizer veille à utiliser toute la courbe cam avec l’ensemble des sous-diagrammes cam.
Initialisation du bloc fonction
Pour fournir les données cam configurées à la structure cible, un code d’initialisation est exécuté une fois au démarrage. Cette tâche est exécutée par un POU qui est invoqué sous la forme d’un code d’initialisation, une fois les processus d’initialisation utilisateur terminés.