Page 1
Le contrôle de mouvement Système modulaire MCS 32 EX Guide d’utilisation SERAD 271, route des crêtes 44440 TEILLE – France +33 (0)2 40 97 24 54 +33 (0)2 40 97 27 04 http://www.serad.fr info@serad.fr EX-UM Nous nous réservons le droit de modifier sans préavis tout ou partie des caractéristiques de nos appareils...
3-1-3- Mise à jour d'une version antérieure 3-2- Architecture du logiciel MCB EX 3-2-1- Les répertoires 3-2-2- Contenu d'un projet 3-3- Présentation 3-3-1- Ecran initial 3-4- Menus et icônes 3-4-1- Menu Projet 3-4-2- Menu Edition R342 - 2 - SERAD S.A.
Page 3
5-3- Mode asservi / non asservi 1-1-1- Passage en mode non asservi 5-3-2- Passage en mode asservi 5-4- Paramétrage d'un axe 5-4-1- Paramétrage d'un axe 5-4-2- Unité utilisateur 5-4-3- Codeur Type de codeur Unité par tour codeur R342 - 3 - SERAD S.A.
Page 4
Lancement de la compensation Arrêt de la compensation Etat de la compensation Exemple : 5-7-5- Fonction de superposition de mouvements (carte SRV 85 seulement) 5-7-6- Arrêt d'une liaison maître / esclave 5-8- Interpolation 5-8-1- Interpolation linéaire R342 - 4 - SERAD S.A.
Page 5
6-1-17- Compensation des temps de réponse et du comportement des produits 6-2- Tâche ladder 6-2-1- Présentation 6-2-2- Contacts, Bobine, Blocs 6-2-3- Contacts 6-2-4- Bobines 6-2-5- Compteurs / Décompteurs 6-2-6- Temporisateurs 6-2-7- Contact libre et Bobine libre 6-2-8- Bit systèmes 6-2-9- Architecture de la tâche R342 - 5 - SERAD S.A.
Page 6
9-8-5- DEC_P – Décélération par défaut 9-8-6- DISHOME_P – Distance de prise d’origine 9-8-7- ENCINV_P – Inversion du sens de comptage 9-8-8- ENCODER_P – Nombre de points codeur 9-8-9- FEMAX_P – Erreur de poursuite maxi R342 - 6 - SERAD S.A.
Page 7
10-12-2- Dialog 80 et 640 10-12-3- Dialog 640 10-13- Conversion 10-14- Flash, Sécurité, Divers 10-15- Correspondance entre les limites exprimées en incréments et les limites en unité utilisateur 10-16- Liste alphabétique 10-16-1- Addition (+) 10-16-2- Soustraction (-) R342 - 7 - SERAD S.A.
Page 8
10-16-57- CONTINUE – Continue l’exécution d’une tâche 10-16-58- CORRECTION – Fonction de compensation 10-16-59- CORRECTION_S – Etat de la compensation 10-16-60- COS - Cosinus 10-16-61- COUNTER_S – lecture du compteur 10-16-62- CRC – CRC16 R342 - 8 - SERAD S.A.
Page 9
10-16-119- LIMMIN_S – Etat de la butée minimale 10-16-120- LIM_S – Etat des butées 10-16-121- LOADCAMEX – charge une came dans la carte servo 10-16-122- LOADPOINT – Le point d’une came dans la carte servo R342 - 9 - SERAD S.A.
Page 10
10-16-178- SEEK – Déplacement dans un fichier sauvegardé 10-16-179- SENSOR_S – Etat du capteur 10-16-180- SENSOR1_S – Etat du capteur C1 (SRV85) 10-16-181- SENSOR2_S – Etat du capteur C2 (SRV85) 10-16-182- SETDATE – Fixe la date R342 - 10 - SERAD S.A.
Page 11
11-3- Liste des instructions 11-3-1- Liste des instructions CANopen Lecture et écriture du dictionnaire Modification de variables locales Modification de variables distantes Instructions en mode PDO Instructions de contrôle 11-3-2- CAN – Lecture et écriture d’un message R342 - 11 - SERAD S.A.
Page 12
11-3-13- STOPCAN – Arrête une carte CANopen 11-4- Exemples 11-4-1- Liaison CANopen entre deux MCS 11-4-2- Liaison CANopen entre une MCS et un module d'entrées/sorties ANNEXES 12-1- Message d'erreur de compilation 12-2- Messages afficheur STATUS 7 segments R342 - 12 - SERAD S.A.
Entrée capteur 24 Vcc 1-1-3- Modularité La MCS32 EX offre un important choix de modules pour lui permettre de s'adapter à de nombreuses applications: Codeur, Servo - incrémental ou SSI Entrées/sorties TOR - 8,16 ou 24 voies R342 - 13 - SERAD S.A.
Mise au pas de produits Trancannage Came électronique Interpolation linéaire et circulaire Coupe au vol, mise en registre Arbre électrique à rapport variable Dépose d’étiquettes à la volée Synchronisation de couleurs Boîte à cames R342 - 14 - SERAD S.A.
2-3-1- Explication générale Il est recommandé d'alimenter la MCS par un transformateur de séparation avec écran électrostatique. Les câbles codeur, consigne analogique, terminal opérateur devront être blindés, la tresse étant reliée de chaque côté au chassis. R342 - 15 - SERAD S.A.
Les conducteurs d'alimentation et de signaux ne doivent pas être le siège de surtensions. 2-3-2- Unité centrale WATCHDOG est un contact normalement ouvert libre de potentiel de 48 VACmaxi et de 2A maxi R342 - 16 - SERAD S.A.
Sortie analogique +/- 10V / 5mA Max, Résolution 12 bits, 0V référencé par rapport au chassis via une résistance de 470KΩ et un condensateur de 4,7nF Led de visualisation de la voie Z du codeur Led de visualisation de l’entrée de capture/prise d’origine Connexions R342 - 17 - SERAD S.A.
Sortie analogique +/- 10V / 5mA Max, Résolution 12 bits, 0V référencé par rapport au chassis via une résistance de 470KΩ et un condensateur de 4,7nF Led de visualisation de la voie Z du codeur Led de visualisation de l’entrée de capture/prise d’origine Connexions R342 - 18 - SERAD S.A.
Page 19
Sortie analogique +/- 10V / 5mA Max, Résolution 12 bits, 0V référencé par rapport au chassis via une résistance de 470KΩ et un condensateur de 4,7nF Led de visualisation de la voie Z du codeur Led de visualisation de l’entrée de capture/prise d’origine Connexions R342 - 19 - SERAD S.A.
Sortie analogique +/- 10V / 5mA Max, Résolution 12 bits, 0V référencé par rapport au chassis via une résistance de 470KΩ et un condensateur de 4,7nF Led de visualisation de l’entrée de capture/prise d’origine Connexions R342 - 20 - SERAD S.A.
Le codeur est alimenté par la MCS 32 (1.6A Max pour tous les codeurs). Entrée de capture à 0.1µs de type PNP : 12 mA / 20..33 Vcc Led de visualisation de la voie Z du codeur Led de visualisation de l’entrée de capture Connexions R342 - 21 - SERAD S.A.
Page 22
Le codeur est alimenté par la MCS 32 (1.6A Max pour tous les codeurs). Entrée de capture à 0.1µs de type PNP : 12 mA / 20..33 Vcc Led de visualisation de la voie Z du codeur Led de visualisation de l’entrée de capture Connexions R342 - 22 - SERAD S.A.
Codeur SSI 11..30V - driver de ligne. Fréquence d'horloge : 100Khz ..1MHz; code gray, sans bit de parité Entrée de capture à 0.1µs de type PNP : 12 mA / 20..33 Vcc Led de visualisation de l’entrée de capture Connexions R342 - 23 - SERAD S.A.
Alimentation entre 20 à 33 Vcc Période de lecture des entrées : dépend directement de la valeur du filtrage logiciel paramétrables à partir du menu manuel de la carte. (de 1 à 255ms) Connexions R342 - 24 - SERAD S.A.
Courant d'entrée : 12mA par entrée. Période de lecture des entrées : dépend directement de la valeur du filtrage logiciel paramétrables à partir du menu manuel de la carte. (de 1 à 255ms) Connexions R342 - 25 - SERAD S.A.
Courant d'entrée : 12mA par entrée. Période de lecture des entrées : dépend directement de la valeur du filtrage logiciel paramétrables à partir du menu manuel de la carte. (de 1 à 255ms) Connexions R342 - 26 - SERAD S.A.
Période de rafraîchissement des sorties : 1ms Remarques : Si un court-circuit est détecté , l'alimentation 24V doit être arrêtée pour réarmer le module Ajouter des diodes de roue libre sur les charges inductives Les charges capacitives sont interdites Connexions R342 - 27 - SERAD S.A.
Collecteur ouvert Alimentation entre 20 à 33 Vcc Directement compatible avec le module interface 8 relais : MRHB 8 Courant de sortie : 100mA par sortie. Période de rafraîchissement des sorties : 1ms Connexions R342 - 28 - SERAD S.A.
Entrez des paramètres cohérents dans la MCS : Gain=500, Dérivée=0, Intégrale=0, Résolution codeur, unités par tour, vitesse, accélération... Si à la mise sous tension le moteur s'emballe, on peut résoudre ce problème de la manière suivante : R342 - 34 - SERAD S.A.
Page 35
Fenêtre de position mini : Par rapport à la cote finale, c'est la tolérance admise à l'intérieur de laquelle l'axe considère qu'il a atteint sa position. R342 - 35 - SERAD S.A.
Dans la boîte de dialogue « Parcourir », sélectionner le lecteur où se situe la disquette ou le CD-ROM. Sélectionner puis dans la boîte de dialogue « Parcourir ». Sélectionner dans la boîte de dialogue « Exécuter ». Le programme d’installation du logiciel MCB débute. R342 - 36 - SERAD S.A.
OS de l’arborescence d’installation du logiciel. Ce répertoire se situe dans l’arborescence spécifiée lors de l’installation. Par défaut celui-ci est « C:\Program Files\Serad\Mcb EX ». La procédure d’installation du système d’exploitation est la suivante : Relier le port SERIAL1 de la MCS32 EX sur COM1 ou COM2 du PC Sous Windows 95 ou plus, il faut ouvrir une fenêtre DOS...
Le logiciel MCB EX est caractérisé par une fenêtre principale comportant le menu principal, une barre d’icônes et le multi-fenêtrage. Les propriétés du multi-fenêtrage permettent à l’utilisateur de pouvoir passer d’une fenêtre à une autre sans avoir à la modifier. R342 - 38 - SERAD S.A.
Documentation MCS32 3-4- Menus et icônes 3-4-1- Menu Projet R342 - 39 - SERAD S.A.
Page 40
à pour effet de fermer le dernier projet en cours dès la validation du projet à ouvrir. Enregistrer un projet Icône: Action: Cette commande permet la sauvegarde complète du projet en cours sous le nom spécifié. R342 - 40 - SERAD S.A.
Page 41
Lors d’une erreur de syntaxe, la tâche concernée est éditée et l’erreur est mise en évidence par la position du curseur. R342 - 41 - SERAD S.A.
Toute modification sur une valeur de variable globale sauvegardée implique un envoi de variables. Ajouter Icône: Action : Cette commande permet d’ajouter une carte, une constante globale, une variable globale ou une tâche suivant l’onglet sélectionné. Modifier Icône: R342 - 42 - SERAD S.A.
PC. Si une différence est détectée le transfert est stoppé et un message apparaît en indiquant le slot dont le contenu est incorrect. Elle est nécessaire suite à un ajout, suppression de cartes… Recevoir la configuration R342 - 43 - SERAD S.A.
Page 44
Si l’on souhaite conserver cette configuration dans le projet, il est nécessaire d’effectuer la commande «Enregistrer le projet sous». Tâches Envoyer les tâches R342 - 44 - SERAD S.A.
Page 45
Tester les données en flash Action: Cette commande indique si la mémoire flash contient une copie des données en RAM. Run MCS Icône: Action: Cette commande lance l’exécution des tâches de la MCS. Stop MCS R342 - 45 - SERAD S.A.
Debug des cartes codeurs (SCD22, SCD2224) permet de visualiser la position, l’état du zéro codeur et l’état du capteur afin de faciliter le contrôle du câblage. La position peut également être remise à zéro. R342 - 46 - SERAD S.A.
Page 47
Debug, les paramètres affichés sur fond vert correspondent aux valeurs stockées dans la MCS. Si une modification est effectuée, elle est directement envoyée dans la MCS. Si l’on souhaite sauvegarder ces modifications, il faut faire une sauvegarde du projet avant de quitter le logiciel MCB EX. R342 - 47 - SERAD S.A.
Page 48
Cette commande ouvre l’hyper terminal. Cet outil d’aide à la mise en œuvre permet d’interroger l’état de la MCS, de visualiser et de modifier les variables locales ou globales, les paramètres, les entrées et les sorties. R342 - 48 - SERAD S.A.
Page 49
RUN <Nom d’une tâche> : exécution d’une tâche HALT <Nom d’une tâche> : arrêt d’une tâche SUSPEND <Nom d’une tâche> : suspend l’exécution d’une tâche CONTINUE <Nom d’une tâche> : continue l’exécution d’une tâche R342 - 49 - SERAD S.A.
Page 50
/ sorties. Il est capable d’enregistrer jusqu’à six variables différentes. L’oscilloscope est configuré en trois partie : l’écran de visualisation, la zone de configuration de l’acquisition et la zone de configuration des voies. R342 - 50 - SERAD S.A.
Page 51
à la base de temps. Pour les onglets relatif aux voies, on peut définir le type de carte , la carte et le paramètre que l’on veut modifier. Par exemple pour une carte d’axe, on choisit le paramètre d’erreur de poursuite. R342 - 51 - SERAD S.A.
Langue Ce sous-menu permet de choisir la langue dans laquelle le logiciel MCB sera exploité. Editeur Ce sous-menu permet de personnaliser la couleur et le fond des textes, mots clés… de l’éditeur de tâche. R342 - 52 - SERAD S.A.
Ce sous-menu permet de sélectionner le port de communication du PC qui sera en liaison avec la MCS Pupitre Ce sous-menu est utilisé lorsque la MCS doit gérer un pupitre opérateur SERAD. Il permet de choisir le type de pupitre. Dans, l’éditeur de tâche, la boîte à outil pupitre correspondra au type choisi.
Cette commande valide ou non l’affichage des informations bulle sur les icônes ainsi que des messages complémentaires d’avertissement. A propos … Action: Cette commande ouvre une boîte de dialogue indiquant la version du logiciel, sa date de création, etc… R342 - 54 - SERAD S.A.
Un clique sur le bouton droit ouvre un menu qui comprend la commande « Supprimer » (après avoir sélectionné la carte à supprimer). La commande visualiser (une carte) permet de configurer les paramètres d’une carte. Elle peut- être obtenue de trois manières différentes : R342 - 55 - SERAD S.A.
Page 56
PC auquel il est connecté. Pour une bonne communication, les différentes informations doivent coïncider entre le PC ou un terminal et la MCS. Paramétrage du module 8 entrées TOR : SIB8 R342 - 56 - SERAD S.A.
Page 57
Pour les onglets bloc1, bloc2 et bloc3, il faut se référer à la configuration de la carte SIB8. Pour l’onglet carte, il faut se référer à la configuration du même onglet de la carte SIH16. Paramétrage du module 8 sorties TOR : SOBP8 R342 - 57 - SERAD S.A.
Page 58
Pour les onglets bloc1 et bloc2, il faut se référer à la configuration de la carte SOBP8. Paramétrage du module 4 entrées analogiques : SIA14 Paramétrage du module 2 sorties analogiques : SOA12 La configuration des sorties analogiques se fait de la même façon que la carte SIA14. R342 - 58 - SERAD S.A.
Page 59
Configuration du codeur : L’explication de l’onglet debug est faite avec le menu debug. Paramétrage du module codeur : SSI22 Pour l’onglet Axe se reporter au module codeur SCD22. R342 - 59 - SERAD S.A.
Page 60
La boîte de dialogue de configuration de ce module est composée de sept onglets. Pour la configuration des deux premiers (Axe et Codeur), il faut se référer aux onglets de la configuration du module codeur SCD22. Configuration du profil de vitesse : R342 - 60 - SERAD S.A.
Page 61
Documentation MCS32 Configuration de la régulation : Configuration de la prise d’origine : R342 - 61 - SERAD S.A.
Page 62
SCD22. Pour les onglets Prise d'origine, Profil de vitesse et butées logicielles, il faut se référer aux onglets de la configuration des modules servo SRV15 et SRV15-24. Configuration de la régulation : R342 - 62 - SERAD S.A.
MCS. La commande « Ajouter » permet de définir une nouvelle constante globale au projet. Le paramétrage de cette constante se fait au moyen d’une boîte de dialogue. R342 - 63 - SERAD S.A.
(adresse de 1 à 20000). Sur cet onglet, on peut ajouter, modifier, supprimer ou visualiser une variable. Les commandes d’ajout, de modification, de suppression ou de visualisation nécessitent une recompilation du projet et l’envoi des tâches dans la MCS. R342 - 64 - SERAD S.A.
Page 65
Un clique sur le bouton droit ouvre un menu qui comprend la commande « Visualiser » (après avoir sélectionné la constante à visualiser). Lors d’une visualisation d’une variable de type tableau de came, on accéde à l'éditeur de came. Ce dernier permet de mettre en oeuvre la came désirée. R342 - 65 - SERAD S.A.
L’exécution peut aussi être obtenue par un double clique sur la tâche à éditer. Elle s’obtient des façons suivantes : Par le menu Edition et en ayant sélectionné au préalable la tâche à visualiser Par un double-clique sur la tâche à visualiser R342 - 66 - SERAD S.A.
(cocher la case respecter la casse) majuscule ou minuscule. La commande remplacer permet de faire une recherche d’occurrence et de la remplacer dans la tâche. La commande d’importation permet d’adjoindre des fichiers d’une forme provenant d’autocad (format DXF). R342 - 67 - SERAD S.A.
Page 68
La commande d’édit permet de définir une saisie numérique ou alphanumérique sur un pupitre. La commande Format permet de réaliser le formatage d’une variable. La commande de l’afficheur permet de définir le paamètre de l’instruction DISPLAY. R342 - 68 - SERAD S.A.
64 bits et d’un groupe de bits système. Les bits apparaissent par défaut avec un nom de la forme <bit>+n°du bit. Néanmoins, ils peuvent être reconfiguré par un clique simple sur le bouton gauche de la souris ou à l’aide du menu qui R342 - 69 - SERAD S.A.
Cette éditeur s’obtient en visualisant une variable de type tableau de came dans l’onglet « variables globales ». Cette éditeur permet de configurer le nombre d’élément et les différents points de la came. Il est composé du tableau de came et d’outils d’aide à la mise en œuvre. R342 - 70 - SERAD S.A.
Page 71
« OK » pour pouvoir quitter l’éditeur de tableau de came. L’encadré « Entrée/Sortie » permet de faciliter la réalisation de came en fonction du type de came choisie. Cette encadré permet de définir le type de came. Et en fonction de celui-ci et R342 - 71 - SERAD S.A.
Page 72
Attention : Si l’on veut réaliser une came particulière ne correspondant pas à un type précisée dans l’encadré « Entrée/Sortie », il ne faut surtout pas valider la fonction de calcul. De même, les valeurs de l’axe maître devront être cohérente avant de quitter l’éditeur. R342 - 72 - SERAD S.A.
Chaque tâche possède un niveau de priorité et peut être écrite en basic ou en ladder. Une tâche spéciale permet de traiter les événements rapides. 4-1-2- Affectation du plan mémoire de la MCS Mémoire Flash 1 Mo R342 - 73 - SERAD S.A.
Une variable globale peut être utilisée par plusieurs tâches et est accessible à tout moment. Elle sera traitée comme un tableau si lors de sa création, "nombre" est supérieur à 1. L'index du tableau commence à 1. L’index peut être une valeur immédiate, une variable octet ou entière. R342 - 74 - SERAD S.A.
Page 75
..adresse 121 : point 10 maître adresse 122 : point 10 esclave adresse 122 : point de sortie maître adresse 123 : point de sortie esclave Tableau récapitulatif des différents types : R342 - 75 - SERAD S.A.
256 octets en mémoire ram ! Exemple : a%=10 ‘ variable entière If Position !>1000 Then Position ‘ variable réelle Compteur&=Compteur&+1 ‘ variable entier long FormFeed$=Chr$(10)+Chr$(13) ‘ variable chaîne de caractères Tableau récapitulatif des différents types : R342 - 76 - SERAD S.A.
: Call Goto, Case For...Next Repeat...Until While...End While End Prog L’instruction Jump permet d’effectuer un saut sans basculement. En règle générale, une tâche courte permettra de traiter des événements plus rapides qu’une tâche longue. R342 - 78 - SERAD S.A.
Un projet doit au moins contenir une tâche avec démarrage automatique. Il est conseillé d’avoir une seule tâche dans laquelle on écrit toute la partie initialisation de l’application et ensuite on lance les autres tâches. On dispose de 5 instructions pour gérer les tâches : R342 - 79 - SERAD S.A.
4-3-4- Structure d'une tâche basic Chaque tâche est constituée d'un programme principal défini par les mots clé PROG et END PROG et par des sous programmes sous forme de structure SUB .. END SUB. Par exemple : R342 - 80 - SERAD S.A.
SUB...END SUB, l'étiquette doit se trouver dans cette même structure. Un branchement avec l'instruction GOTO peut être effectué indifféremment vers l'avant ou l'arrière du programme. Par exemple: GOTO Label1 Label1: R342 - 81 - SERAD S.A.
Les autres sont uniquement binaires. Un opérateur unaire ne possède qu'un paramètre. Par exemple : NOT <Expression> Un opérateur binaire demande deux paramètres. Par exemple : <Expression1> * <Expression2> Opérateurs binaires R342 - 82 - SERAD S.A.
A chaque END WHILE, le multitâche temps réel passe automatiquement à la tâche suivante. L’instruction REPEAT L'instruction REPEAT permet l'exécution répétée d'une ou plusieurs instructions selon la valeur d'une expression. La syntaxe de l'instruction REPEAT est la suivante : REPEAT <Instructions> UNTIL <Expression> R342 - 85 - SERAD S.A.
Si l’on désire par la suite modifier la configuration des événements, l’instruction MODIFYEVENT doit être traitée dans une tâche basic normale ou dans la tâche événementielle à condition qu’elle soit placée après GETEVENT . R342 - 86 - SERAD S.A.
IF Event%.1=1 THEN JUMP EventE1 IF Event%.2=1 THEN JUMP EventE2 IF Event%.8=1 THEN JUMP EventTime IF Event%.9=1 THEN JUMP EventCapture1 ..EventE1 ..JUMP EndTask EventE2 ..JUMP EndTask ..EndTask : END PROG R342 - 87 - SERAD S.A.
Le processeur central de la MCS qui exécute les tâches compilées échange régulièrement des informations avec les cartes d’axes. Les informations de mouvement (MOVA, STTA, MOVS, GEARBOX, STOP ... ) sont transmises à travers un buffer logiciel. Chaque axe possède un buffer divisé en 3 parties : R342 - 88 - SERAD S.A.
Page 89
Si l’axe est en boucle ouverte ( AXIS(Axe)=Off ), toute instruction de mouvement rencontrée dans une tâche passe par le buffer et est directement consommée par la carte d’axe sans exécution du mouvement. R342 - 89 - SERAD S.A.
Cette sortie devra être reliée sur l’entrée « Enable » du drive. La gestion de la sortie sera insérer dans une tâche de surveillance non bloquante. Par exemple : Tâche Defauts PROG ..OUT(EnableDrive)=AXIS_S(Axe) ‘ si axe en mode asservi ..‘ => OUT(EnableDrive)=1 sinon =0 END PROG R342 - 90 - SERAD S.A.
1 tour codeur. Par exemple pour une vis à billes au pas de 5mm et codeur en bout de vis, rentrez la valeur 5. Pour un codeur SSI : R342 - 91 - SERAD S.A.
L’asservissement d’un axe est réglable à partir des paramètres du régulateur. Il peut être programmé en mode « vitesse » ou en mode « couple » ( seulement sur SRV 85 ) ; par défaut, en mode vitesse. A) Schéma bloc R342 - 93 - SERAD S.A.
électriques et mécaniques. Rentrez dans le champ «Erreur de poursuite maxi » du MCB ( paramètre associé FEMAX_P ) la valeur adéquate. R342 - 94 - SERAD S.A.
Hz avec une amplitude de +/- 0.4v. Si FREQ_P=30 et GFILTER_P=0.7 l’amplitude de l’oscillation sera de +/- 0.28v. Si FREQ_P=30 et GFILTER_P=0.5 l’amplitude de l’oscillation sera de +/- 0.2v. Si FREQ_P=30 et GFILTER_P=0 il n’y aura plus d’oscillation. R342 - 95 - SERAD S.A.
être traité dans une tâche basic ou ladder de surveillance. ℡ Attention : le système affecte seulement l’état de LIM_S, LIMMIN_S ou LIMMAX_S mais n’agit en aucun cas sur le pilotage de l’axe. R342 - 96 - SERAD S.A.
Cette instruction est non bloquante pour la tâche (excepté si le buffer de mouvements est plein). Elle utilise les valeurs courantes d'accélération, de décélération et de vitesse. La syntaxe est : STTA (<Axe1>=<Position1> [{, <Axe2>=<Position2>}] ) Par exemple : VEL%(X)=100 ' Vitesse normale R342 - 97 - SERAD S.A.
MOVA(X=20) ‘déplacement dans le sens+ d’une distance de 30° C) Mouvement déclenché sur position : MOVAP Cette instruction est équivalente à MOVA mais en plus, elle intègre une condition de déclenchement donnée par la position d’un autre axe. R342 - 98 - SERAD S.A.
Si l'instruction MERGE est activée et que l’on charge plusieurs STTR dans la carte d’axe, les mouvements seront exécutés les uns après les autres sans passer par une vitesse nulle. R342 - 99 - SERAD S.A.
(condition MOVE_S(Axe)=0 ) alors que SSTOP n’est pas bloquante. Syntaxe : STOP (<Axe1> {,<Axe2>...}) Exemple : déplacement jusqu'à un capteur. STTI(X=+) WAIT INP(Capteur)=On STOP(X) L’instruction AXIS(Axe)=Off arrête aussi le mouvement mais sans aucun contrôle car l’asservissement est inhibé. R342 - 100 - SERAD S.A.
( SRV 15, SRV 1524, SSI 15 ) Exemple : L'axe esclave tournera 2 fois plus vite que le maître et en sens inverse. GEARBOX (Esclave, Maître, -2, 1, True) STOP(Esclave) R342 - 101 - SERAD S.A.
Pour que la MCS puisse connaître les pentes d’entrée et de sortie de la came, on doit fournir au tableau deux points supplémentaires : le point d’entrée, le point de sortie. Ils peuvent être directement calculés par le logiciel MCB suivant le niveau de programmation choisi. R342 - 103 - SERAD S.A.
Attention : Si l’axe maître ou l’axe esclave est un axe infini, il doit être déclaré en axe modulo à partir de l’onglet configuration du logiciel MCB. Came finie Position esclave Position maître Came infinie Position esclave Position maître R342 - 104 - SERAD S.A.
<Tableau> : Nom du tableau de came rentré à partir de l’éditeur de données de l’onglet variables globales du logiciel MCB (variable de type « tableau de came »). Les valeurs données aux positions de l’axe maître à l’intérieur de la table doivent être des valeurs croissantes. R342 - 105 - SERAD S.A.
Page 106
..CAM (Esclave,Maître,TableCame, 0, 1, 0, 1) ' non mono-coup ' (rebouclée), réversible WAIT INP(InfoStop) ‘ Attente demande d’arrêt ENDCAM(Esclave) ‘ Demande d’arrêt en fin ' du profil courant R342 - 106 - SERAD S.A.
1 et 5. <N°came précédente> : Mettez 0 si la came n’enchaînera pas sur une came précédente. Dans le cas contraire, rentrez le numéro de la came précédente compris entre 1 et 5. R342 - 109 - SERAD S.A.
Soit un cycle composé de 3 cames : une came C1 de « profil d’entrée » mono-coup, une came C2 de « profil répétitif »non mono-coup, une came C3 de « profil de sortie » mono-coup. La came C1 est enchaînée à C2 et C2 est enchaînée à C3. R342 - 110 - SERAD S.A.
Instruction CAMNUM_S : permet de savoir quel numéro de came est en cours d’exécution. La valeur retournée est significative que si CAM_S est à 1. Exemple : IF CAMNUM_S(Esclave)=1 THEN PRINT « Came 1 en cours » IF CAMNUM_S(Esclave)=2 THEN PRINT « Came 2 en cours » R342 - 111 - SERAD S.A.
<IndexVariable> : Index de la variable dans le <Tableau> où se situe la modification à prendre en compte. La modification des polynômes tient compte des positions du maître et de l’esclave. Il n’est pas nécessaire d’utiliser LOADPOINT deux fois pour modifier ces deux informations. R342 - 112 - SERAD S.A.
<Capture> : 0 pour capture de la position maître à partir du registre1 de l’axe maître (précision 0.1µs ), 1 pour capture de la position maître à partir du registre1 de l’axe esclave (précision 330µs). <Configuration> : Octet de configuration hardware de la capture b0 : non utilisé R342 - 114 - SERAD S.A.
: à 1, compensation demandée et en attente de l’événement capture. b1 : à 1, compensation en cours. b2 : à 1, erreur détectée : compensation hors limites ( la compensation limitée à quand même été appliquée ). R342 - 115 - SERAD S.A.
‘ activation du lien de superposition STTI(X=+) ‘ lancement axe X => axe Y se déplace également WAIT INP(StartCycle) MOVR(Y=StepCycle) ‘ superposition d’un mouvement de distance StepCycle ..STOP(X) ADDSTOP(Y) ‘ arrêt du lien de superposition ..R342 - 116 - SERAD S.A.
Cette instruction est non bloquante pour la tâche ( excepté si le buffer de mouvements est plein Si l'instruction MERGE est activée et que l’on charge plusieurs MOVC dans le buffer de la carte d’axe, les mouvements seront enchaînés les uns aux autres sans passer par une vitesse nulle. R342 - 117 - SERAD S.A.
MOVE_S(AxeX)=0 et MOVE_S(AxeY)=0 ). Par exemple : ACC(X,Y)=1000 VEL(X,Y)=100 MERGE(X,Y)=On MOVL(X=10,Y=5) MOVL(X=20,Y=0) STOPI(X,Y) Si l’on souhaite faire une pause sur une trajectoire il faut mettre à 0 la vitesse résultante. Par exemple : ACC(X ,Y)=1000 VEL(X,Y)=100 MERGE(X,Y)=On R342 - 118 - SERAD S.A.
'Déplacement en 35,0 MOVC(X=0, Y=20, 0, 10, 1) 'Déplacement en 35,20 - Gravure du C MOVL(X=5, Y=0) 'Déplacement en 40,20 WAIT (MOVE_S(X)=Off) And (MOVE_S(Y)=Off) 'Attente de l'arrêt des axes OUT(Graveuse)=OFF 'Arrêt de la graveuse R342 - 120 - SERAD S.A.
<Axe2> : Axe sur lequel on souhaite capturer la position ( SRV 85 seulement ) <Configuration1> : Octet de configuration hardware de <Axe1> : b0 : non utilisé b1 : capture sur top Z R342 - 121 - SERAD S.A.
REGPOS2_S. Le flag REG2_S est alors positionné à vrai. Par exemple : CAPTURE2(X,24,Off,0,0,Off) ' Capture position axe X sur front ' descendant de l’entrée C2 de l’axe X WAIT REG2_S(X)=True Correction!=Phase-REGPOS2_S(X) R342 - 122 - SERAD S.A.
« erreur de poursuite maxi », le système réagit de la façon suivante : Mise à 1 du flag FEMAX_S Passage de tous les axes servo en mode non asservi et ouverture du contact de chien de garde si l’instruction SECURITY n’a pas été utilisée. R342 - 123 - SERAD S.A.
Page 124
Le flag FEMAX_S repassera à 0 dès que l’on remettra l’axe en mode asservi (AXIS(Axe)=On). ℡ Attention : l’instruction SECURITY est automatiquement forcée à SECURITY(On,On) si toutes les tâches de la MCS sont à l’arrêt. R342 - 124 - SERAD S.A.
Donc, il est possible d'écrire seulement les sorties désirées dans une opération sans changer les autres. Par exemple : Pour mettre à 1 le quatrième bit d'un bloc de 8 bits nommé Bloc1 : R342 - 125 - SERAD S.A.
Les données utilisées par l'instruction sont toujours de type réel et comprises entre -10 et +10. Par exemple : DAC(Consigne)=5.0 'Ecriture d’une valeur de consigne de 5 V R342 - 126 - SERAD S.A.
La partie entière représente les secondes et la partie décimale (3 chiffres après la virgule) représente les millisecondes. Par exemple : FinDelay! = TIMER+5.250 ‘Chargementd’une temporisation de 5.25s WHILE TIMER<FinDelay! DO 'Traitement pendant 5.25s R342 - 127 - SERAD S.A.
6-1-11- Remise à zéro L’instruction CLEARCOUNTER permet d’initialiser à 0 le compteur. Syntaxe : CLEARCOUNTER(<Axe>,<Entrée>) <Axe> : Nom de la carte servo <Entrée> : Numéro de l’entrée (1 pour l’entrée C1, 2 pour l’entrée C2) R342 - 129 - SERAD S.A.
CAMBOX, CAMBOXSEG, CAMBOXDELAY, STARTCAMBOX et STOPCAMBOX Lors de la déclaration d’un segment, la valeur de début peut-être supérieure à celle de fin. Le zéro programme est pris en compte à chaque définition de segment. 6-1-15- Boîte à cames simple R342 - 130 - SERAD S.A.
'entre 200° et 240° CAMBOXSEG(1,6,12,350,10) 'Le segment 6 met la sortie 12 à 1 'entre 350° et 10° CAMBOXDELAY(1,1,0,30) 'Une anticipation de 30ms est ajoutée 'quelle que soit la vitesse STARTCAMBOX (1) 'Lancement de la boîte n°1 R342 - 131 - SERAD S.A.
50 (par tâche). Un réseau est la combinaison de plusieurs bobines avec une seule expression. Ce qui implique que toutes les bobines d’un réseau ont la même expression. Un réseau peut recevoir un maximum de 5 bobines ou contacts en parallèle et de 10 contacts en série. R342 - 132 - SERAD S.A.
L’intérêt de la variable globale est de permettre une modification des caractéristiques à tous moments. Il est obligatoire d’associer la sortie d’un compteur ou décompteur avec une bobine, même si cette dernière n’est pas utilisée. R342 - 133 - SERAD S.A.
Exemple : Réalisation d’une temporisation de type retard au déclenchement : Pour réaliser ce type de temporisation, l’expression de déclenchement et la bobine de sortie doivent être complémentées comme dans l’exemple ci-dessous. Exemple : R342 - 134 - SERAD S.A.
Bit clignotant 0.5s : bit dont le changement d’état est cadencé par une horloge de 0.5s. Bit clignotant 1s : bit dont le changement d’état est cadencé par une horloge de 1s. 6-2-9- Architecture de la tâche L’exécution de la tâche ladder se fait suivant l’architecture suivante : R342 - 135 - SERAD S.A.
Page 136
Ce système assure qu'une variable d'entrée n'évolue pas pendant un cycle et que les sorties ne sont mises à jour qu'une fois dans le cycle. Le fonctionnement du multitâche autorise les tâches ladder à être interrompues à tout moment du cycle d’exécution. R342 - 136 - SERAD S.A.
« basic » et de mettre celui du PC..Si Serial1 est utilisé dans le basic, avant chaque nouveau transfert, effectuez la commande « Arrêter les touches » à partir du menu de communication. R342 - 137 - SERAD S.A.
), la tâche basic d’émission est bloquée jusqu’à une libération de place dans le buffer. L’instruction CLEAROUT vide le buffer. L’instruction CAROUT retourne le nombre de caractères présents dans le buffer. L’instruction OUTEMPTY indique que le buffer est vide et que le dernier caractère a été envoyé. R342 - 138 - SERAD S.A.
Page 140
Jump WaitRxd MessageRxd: CarRxd$=Input$ #2,Carin(#2) PtrRxd#=PtrRxd#+len(CarRxd$) If PtrRxd#>240 Then Jump InitRxd Rxd$=Rxd$+CarRxd$ If NumFonction#=16 Then If PtrRxd#<7 Then Jump WaitRxd If PtrRxd#<(Asc(Rxd$,7)+9) Then Jump WaitRxd Rxd$=Left$(Rxd$,Asc(Rxd$,7)+9) Else If PtrRxd#<8 Then Jump WaitRxd Rxd$=Left$(Rxd$,8) End If R342 - 140 - SERAD S.A.
#1 en utilisant la commande OPEN ou en utilisant la commande d’ouverture de liaison dans la barre d’outil de l’éditeur de tâche. Open "Serial2:9600,8,N,1" As #1 ‘ Terminal connecté sur SERIAL2 Open "Serial1:9600,8,N,1" As #1 ‘ Terminal connecté sur SERIAL1 R342 - 144 - SERAD S.A.
La fonction INKEY permet de lire une touche clavier et de stocker son code dans une variable de type octet. Si aucune touche n'a été appuyée avant l'appel de la fonction celle-ci retourne 0. Cette fonction est non bloquante pour la tâche. R342 - 145 - SERAD S.A.
'édition d'un réel de quatre chiffres 'sans point ni signe en ligne 1 et 'colonne 5 en mode saisie de 'code d’accès If Key=@ESC Then Goto MenuPrincipal If (SaisieCode!=CodeReglage) Then Goto MenuReglage Else Beep Goto MenuPrincipal End If R342 - 146 - SERAD S.A.
Etat permet de définir l’état de la led : éteinte (0), allumée (1) ou clignotante (2). ℡ Attention : Les leds des touches F7…F12 sur le Dialog640 sont pilotées par l’instruction LED(@F1)…LED(@F6). 8-4- Correspondance des touches 8-4-1- Dialog 80 à @F1 à @F6 @POINT R342 - 147 - SERAD S.A.
: diminue la vitesse F12 : passe de 5 à 80% ESC : sortie du menu ou retour au menu général Modes : Abs : Mouvement absolu à la position absolue définie par VALUE (F4) R342 - 150 - SERAD S.A.
ESC : sortie du menu ou retour au menu général 8-5-7- Sous-menu variables Menu général : VARIABMCS Syntaxe : CALL _VARIABMCS Touches : F1 : Numéro de la variable F2 : Type de la variable R342 - 151 - SERAD S.A.
F2 : réglage des minutes F3 : réglage des secondes F4 : réglage du jour F5 : réglage du mois F6 : réglage de l’année ESC : sortie du menu ou retour au menu général R342 - 152 - SERAD S.A.
Ce paramètre spécifie la bande passante du filtre réjecteur de la boucle de régulation de la carte servo SRV85. Voir aussi : GFILTER_P, FREQ_P, FILTER_P, GTORQUE_P 9-8-3- CONSINV_P– Inversion du sens de la consigne Syntaxe : CONSINV_P(<Axe>) = ON / OFF R342 - 154 - SERAD S.A.
Ce paramètre permet d'inverser le sens de comptage. Remarques : Ce paramètre est utilisé avec CONSINV_P, pour changer le sens de déplacement d'un axe. Il peut également être utilisé pour palier une inversion dans le câblage du codeur. R342 - 155 - SERAD S.A.
Ce paramètre est utilisé pour activer ou désactivater les butées logicielles. Quand ce paramètre est faux LIMMAX_P et LIMMIN_P n'ont pas d'effets. Exemple : LIM_P(X)=ON Voir aussi : LIMMAX_P, LIMMIN_P 9-8-22- MODULO_P – Activation du modulo Syntaxe : MODULO_P(<Axe>) = ON / OFF R342 - 158 - SERAD S.A.
Remarques : Ce paramètre doit être utilisé si l’axe gère des fonctions de synchronisation ou d’interpolation. Les valeurs usuelles sont comprises entre 0 et 2000. R342 - 160 - SERAD S.A.
Ce paramètre est utilisé pour spécifier la différence entre le zéro machine et le zéro logiciel. Toutes les positions gérées dans les tâches sont référencées par rapport à ce paramètre. Exemple : ZERO_P(X)=10.0 '10 mm entre zéro machine et zéro programme. R342 - 161 - SERAD S.A.
LCASE$ Minuscule LEFT$ Partie gauche d'une chaîne Longueur d'une chaîne LTRIM$ Enlève les espaces à gauche MID$ Partie d'une chaîne RIGHT$ Partie droite d'une chaîne RTRIM$ Supprime les espaces à droite SPACE$ Chaîne d'espace R342 - 163 - SERAD S.A.
Numéro d'ordre courant Position à atteindre POS_S Position réelle SENSOR_S Etat du capteur SENSOR1_S Etat du capteur C1 (SRV85) SENSOR2_S Etat du capteur C2 (SRV85) STOPCORRECTION Arrêt de la fonction de compensation (SRV85) Vitesse R342 - 164 - SERAD S.A.
Lancement de capture de position CAPTURE1 Lancement de capture de position (SRV85) CAPTURE2 Lancement de capture de position (SRV85) REGPOS_S Position capturée REGPOS1_S Position capturée (SRV85) REGPOS2_S Position capturée (SRV85) REG_S Etat de la capture R342 - 165 - SERAD S.A.
Fixe l'heure TIME Base de temps TIMER Base de temps étendue TIME$ Heure courante 10-10-4- Manipulation d'événements DIFFUSE Génération d’événement GETEVENT Lecture d’événements MODIFYEVENT Configuration des événements SIGNAL Génération d'événement WAIT EVENT Attente d'un événement R342 - 166 - SERAD S.A.
Dessin d’un rectangle FONT Sélection de la police HLINE Dessin d’une ligne horizontale PIXEL Affichage d’un point VLINE Dessin d’une ligne verticale 10-13- Conversion Conversion chaîne - Entier long CVLR Conversion chaîne - Entier long inverse R342 - 167 - SERAD S.A.
La valeur du paramètre POSMIN_P est de 0 à 32767 incréments, c’est à dire 0 à 40,95875 10-16- Liste alphabétique 10-16-1- Addition (+) Syntaxe : <Expression1> + <Expression2> Types acceptés : Octet, Entier, Entier long, réel ou chaîne de caractère R342 - 168 - SERAD S.A.
<Expression1> et <Expression2> doivent être de même type. <Expression2> doit être différente de zéro. Cet opérateur retourne toujours une valeur réelle. Exemple : a%=10 b%=5 c!=a%/b% 'Résultat : c!=2.0 Voir aussi : '+', '-', `*' et DIV. R342 - 169 - SERAD S.A.
<Expression1> = <Expression2> Ou <Variable>=<Expression2> Types acceptés : Bit, Octet, Entier, Entier long, réel ou chaîne de caractères Description : Cet opérateur affecte <Variable> à <Expression2> ou teste si <Expression1> est égale à <Expression2>. R342 - 170 - SERAD S.A.
Cette fonction fournit la valeur absolue de <Expression>. Un nombre négatif est donc converti en un nombre positif. Remarques : <Expression> doit être une expression numérique valide. La valeur absolue d'un nombre est sa valeur non-signée. R342 - 171 - SERAD S.A.
Cette fonction restitue l' arcsinus de <Expression>. Remarques : <Expression> doit être une expression numérique valide. Cette fonction restitue un angle exprimé en radian. Exemple : pi!=2*ARCSIN(1) Voir aussi : SIN, COS et TAN R342 - 173 - SERAD S.A.
'Même si la position 2000 n’est pas atteinte, 'La tâche continue et la sortie S1 passe à 0 OUT(S1)=0 Voir aussi : AXIS_S, SECURITY 10-16-26- AXIS_S – Lit l’état de la boucle d’asservissement Syntaxe : AXIS_S(<Axe>) R342 - 174 - SERAD S.A.
SERIAL1 sera utilisé. Si un pupitre opérateur Dialog 80, 160 ou 640 est connecté à SERIAL2 veuillez utiliser la fonction OPEN pour affecter #1 au port SERIAL2. Exemple : Alarme: BUZZER=ON DELAY 1000 BUZZER=OFF DELAY 1000 GOTO Alarme Voir aussi : BEEP R342 - 176 - SERAD S.A.
à modifier. La sortie sera mise à 1 entre <Début> et <Fin>. Exemple : CAMBOXSEG(1,2,4,0,90) 'Le second segment de la boîte 1 met la '4ème sortie à 1 entre 0 et 90°(l’unité R342 - 178 - SERAD S.A.
IF CAMNUM_S(Esclave)=2 THEN PRINT « Came 2 en cours » Voir aussi : CAM_S, CAMSEG_S 10-16-39- CAMSEG_S – Numéro d’équation de la came en cours d’exécution Syntaxe : <Variable> = CAMSEG_S(<Esclave>) Types acceptés : <Variable> : Octet R342 - 179 - SERAD S.A.
Types acceptés : <Configuration1> : Octet de configuration hardware de <Axe1> b0 : non utilisé b1 : capture sur top Z b2 : capture sur entrée n°1 C1 b3 : capture sur entrée n°2 C2 R342 - 180 - SERAD S.A.
<Interieur> permet de définir si le test s'effectue à l'intérieur ou à l'extérieur des bornes <Mini> et <Maxi>. <Mini> doit toujours être inférieur à <Maxi>. Exemple : CAPTURE2(X,24,Off,0,0,Off) ' Capture position axe X sur ' front descendant de l’entrée ' C2 de l’axe X WAIT REG2_S(X)=True Correction!=Phase-REGPOS2_S(X) R342 - 181 - SERAD S.A.
CARIN, CLEAROUT 10-16-47- CHR$ - Caractère à partir de son code ASCII Syntaxe : CHR$(<Code>) Types acceptés : Code : Octet Description : Cette fonction restitue une chaîne d'un caractère dont le code ASCII l'argument. R342 - 182 - SERAD S.A.
Cette instruction vide le buffer de sortie du port de communication. Remarques : <Numéro> est le numéro utilisé pour ouvrir le port de communication avec l'instruction OPEN. Exemple : CLEAROUT #1 Print A$; 'Ecrit les caractères Voir aussi : CAROUT R342 - 183 - SERAD S.A.
<Axe> doit être un axe servo. Cette fonction est utilisée pour connaître la valeur courante de la tension de consigne. Exemple : a!=CONS_S(X) PRINT #1,a! Voir aussi : CONS 10-16-57- CONTINUE – Continue l’exécution d’une tâche Syntaxe : CONTINUE <Nom> R342 - 184 - SERAD S.A.
Vit.maxi esc. est la vitesse maxi appliquée lors de la compensation. Vit.mini esc. est la vitesse mini appliquée lors de la compensation. <Dist.acc.mini> définit la portion d’accélération ou de décélération de l’esclave sur une distance du maître. Si R342 - 185 - SERAD S.A.
à l'angle divisé par la longueur de l'hypoténuse. <Expression>est exprimée en radians. Exemple : a!=COS(3.14159) Voir aussi : SIN, ARCTAN et TAN 10-16-61- COUNTER_S – lecture du compteur Syntaxe : <Variable>=COUNTER_S(<Axe>,<Entrée>) Types acceptés : <Variable> : Entier R342 - 186 - SERAD S.A.
Types acceptés : Variable, Expression : réel Description : Cette instruction lit ou modifie la décélération courante en unités par s². Remarques : La décélération courante peut être lue et modifiée à tout moment. Exemple : DEC(X)=500. R342 - 188 - SERAD S.A.
"0" à "9") . Pour afficher autre chose, il faut utiliser l’instruction utilisant <Expression>. Chaque bit de <Expression> représente un segment. Le bit b0 n'est pas utilisé. Exemple : Display "5" ' Equivalent à Display 10110110b R342 - 189 - SERAD S.A.
Ligne : de 1 à 4 pour le Dialog 80 ou de 1 à 16 pour le Dialog 640. Colonne : de 1 à 20 pour le Dialog 80 ou de 1 à 40 pour le Dialog 640. Types acceptés : Variable : chaîne de caractères Ligne, Colonne, Longueur : Entier R342 - 190 - SERAD S.A.
Cette fonction restitue e (la base des logarithmes naturels) élevée à la puissance <Expression>. Remarques : L'argument <Expression> doit être une expression numérique valide. La valeur retournée est de type réel. Exemple : a!=EXP(2) Voir aussi : R342 - 191 - SERAD S.A.
FRAC(<Expression>) Types acceptés : <Expression> : réel Description : Cette fonction restitue la partie fractionnelle de <Expression>. Remarques : Cette fonction restitue une valeur réelle. Exemple : b!=3.0214 a!=FRAC(b!) 'Résultat a!=0.0214 Voir aussi : R342 - 193 - SERAD S.A.
MCS au moyen de la commande "Envoyer la configuration" du menu Communication. Exemple : HOME(X) Voir aussi : HOME_S 10-16-99- HOME_S– Etat de la prise d’origine Syntaxe : HOME_S(<Axe>) Description : Cette fonction indique l'état de la prise d'origine R342 - 196 - SERAD S.A.
<Condition> doit être une expression booléenne. Si <Condition> est vraie alors <Instructions1> sont exécutées. Si <Condition> est fausse alors <Instructions2> sont exécutées. Exemple : IF (a%>1) AND (a%<10) THEN Locate 1,1 Print "Longueur 1" Else Locate 2,1 R342 - 197 - SERAD S.A.
<Numéro> est le numéro utilisé pour ouvrir le port de communication avec l'instruction OPEN. Les données lues doivent apparaître dans le même ordre que la liste des variables. Exemple : OPEN "SERIAL1:" AS #1 R342 - 198 - SERAD S.A.
Remarques : <Chaîne1> est la chaîne à rechercher dans <Chaîne2> Exemple : a$="Press ENTER to start" EnterPos%=INSTR("ENTER",a$) 'Résultat : EnterPos%=7 Voir aussi : 10-16-109- INT – Partie entière Syntaxe : INT (<Expression>) R342 - 199 - SERAD S.A.
'Résultat : b%=8 Voir aussi : INSTR 10-16-118- LIMMAX_S – Etat de la butée maximale Syntaxe : LIMMAX_S(<Axe>) Description : Cette fonction indique si la position de l'axe est supérieure à sa butée maximale. R342 - 201 - SERAD S.A.
<Esclave> : Nom de l’axe esclave où est effectuée la came (carte servo : SRV15, SRV85...) <Maître> : Nom de l’axe maître (carte servo ou codeur : SCD22, SRV15, SRV85...) <N°came> : numéro de la came R342 - 202 - SERAD S.A.
<Maître> : Nom de l’axe maître (carte servo ou codeur : SRV15, SRV85, SCD22...) <Tableau> : Nom du tableau déclaré à partir de l’onglet variables globales du logiciel MCB (variable de type « réel »). <Nombre> : nombre d’éléments du tableau pour définir la came. R342 - 203 - SERAD S.A.
Cette fonction utilise le port de communication #1. Par défaut, le port de communication SERIAL1 sera utilisé. Si un pupitre opérateur est connecté au port SERIAL2 veuillez vous référer à la fonction OPEN pour affecter #1 au port SERIAL2. R342 - 204 - SERAD S.A.
Cette instruction est utilisée pour activer ou désactiver l'enchaînement des mouvements consécutifs. La seconde forme est utilisée pour l'interpolation. Exemple : MERGE(X)=ON TRAJ(POS(X)=1000,VEL(X)=500) 'Mouvements enchaînés sans TRAJ(POS(X)=1500,VEL(X)=20) 'passage par une vitesse nulle MERGE(X)=OFF TRAJ(POS(X)=1800,VEL(X)=1000) 'passage par une vitesse nulle 'à la position 1500 R342 - 205 - SERAD S.A.
Types acceptés : Chaîne : chaîne de caractères de 4 octets Expression : Entier long Description : La fonction MKLR$ sert à convertir une valeur de type Long en une chaîne de 4 octets. Poids fort puis poids faible. R342 - 206 - SERAD S.A.
La tâche attend la fin du mouvement (condition MOVE_S(Axe)=0) avant d'exécuter la prochaine instruction. Les axes utilisent les valeurs courantes de vitesse, d'accélération et de décélération.<Axe> doit être un axe servo. Exemple : MOVA(X=1200.00,Y=-100.00,Z=+550.00,W=Dist!) R342 - 207 - SERAD S.A.
<PositionMini> et <PositionMaxi> définissent la fenêtre de déclenchement utilisée pour démarrer le mouvement sur l'esclave. <PositionMini> doit être inférieure à <PositionMaxi>. <Intérieur> est utilisé pour indiquer si le déclenchement s'effectue à l'intérieur ou à l'extérieur de la fenêtre. R342 - 208 - SERAD S.A.
L’exécution de l’instruction provoque le basculement vers la tâche suivante. Remarques : <AxeX> et <AxeY> doivent être des axes servo. <DestinationX> et <DestinationY> définissent la position à atteindre en 2D. Exemple : MOVL(X=100,Y=100) R342 - 209 - SERAD S.A.
MOVS(Slave,Master,8.2,-1.0,0.5) 'Retour mouvement 4 WAIT ORDER_S(Slave)>=2 'Attente fin exécution du mouvement 2 OUT(Couteau)=ON 'Activation du couteau WAIT ORDER_S(Slave)>=3 'Attente fin exécution du mouvement 3 OUT(Couteau)=OFF 'Arrêt du couteau Voir aussi : CAM, CAMBOX, GEARBOX R342 - 210 - SERAD S.A.
Exemple : A%=A% OR 000FFh Voir aussi : AND, NOT, XOR et IF 10-16-149- ORDER – Numéro d’ordre du mouvement Syntaxe 1 : ORDER(<Axe>) = <Expression> Syntaxe 2 : ORDER(<Axe>) R342 - 212 - SERAD S.A.
Types acceptés : Expression : Octet Description : Cette fonction envoie des états logiques à un bloc de 8 sorties TOR. Remarques : <Sorties> doit représenter le nom d'un bloc de 8 sorties. Exemple : OUTB(Bloc1)=0Fh R342 - 213 - SERAD S.A.
<Axe> doit être un axe servo .On peut ainsi obtenir l'image en temps réel de la position de l'axe. Exemple : STTA (X=100) 'Départ de l'axe REPEAT LOCATE 1,1 'Positionnement du curseur PRINT POS_S(X); 'Affichage de la position de l’axe R342 - 214 - SERAD S.A.
Si RAMOK=1, démarrage normal Si RAMOK=0 et zone de copie des données en flash non vierge, la MCS transfert la zone de data flash dans la zone ram et lance les tâches. Si RAMOK=0 et zone de R342 - 215 - SERAD S.A.
1. Sur une relance d’une autre capture et si REG1_S vaut 1 alors REG1_S est mis à 0. Exemple : CAPTURE1(Y,X,4,On,10,20,On) WAIT REG1_S(X) 'REG_S redevient faux automatiquement XPosition!= REGPOS1_S(X) Voir aussi : REGPOS_S, CAPTURE, REG_S, REG2_S 10-16-171- REG2_S – Etat de la capture Syntaxe : REG2_S(<Axe>) R342 - 217 - SERAD S.A.
Pour trouver le nombre de caractères dans <Chaîne>, utilisez LEN(<Chaîne>). Exemple : a$="Capteur1" b$=RIGHT$(a$,1) 'Résultat : b$="1" Voir aussi : LEFT$ 10-16-175- RTRIM$ - Enlève les espaces à droite Syntaxe : RTRIM$ (<Expression>) Types acceptés : Expression : chaîne de caractères R342 - 218 - SERAD S.A.
à partir ‘de la position courante Voir aussi : OPEN, INPUT$, PRINT 10-16-179- SENSOR_S – Etat du capteur Syntaxe : SENSOR_S (<Axe>) Description : Cette fonction donne l'état de l'entrée home/capture de la carte d'axe. R342 - 219 - SERAD S.A.
<Inversion > est un entier long dans lequel les bits représentent l'inversion de chacune des sorties. Ce paramètre peut être défini lors de la configuration de la carte sortie. Exemple : SETOUT(OUTPUTS1,3) ' inversion des 2 premières sorties ' de la carte OUTPUTS1 R342 - 220 - SERAD S.A.
SIN (<Expression>) Types acceptés : Expression : réel Description : Cette instruction retourne le sinus de <Expression>. <Expression>est exprimée en radians. Exemple : <Expression> doit être une expression numérique. Voir aussi : COS, ARCTAN, TAN R342 - 221 - SERAD S.A.
Description : Cette instruction lance une boîte à contact précédemment définie. Remarques : Si la boîte à came n'est pas défine, la fonction n'a pas d'effet.<Num boîte> est le numéro utilisé dans la fonction CAMBOX. R342 - 222 - SERAD S.A.
STOPCAMBOX(<Num boîte>) Description : Cette instruction arrête une boîte à contact précédemment définie. Remarques : <Num boîte> est le numéro utilisé dans la fonction CAMBOX. Cette fonction ne détruit pas la boîte. Exemple : STOPCAMBOX(1) R342 - 223 - SERAD S.A.
'Résultat b$=" 10" Voir aussi : 10-16-203- STTA – Lance un mouvement absolu Syntaxe : STTA(<Axe>=<Distance> {,<Axe>=<Distance>}) Types acceptés : Distance : réel Description : Lance un mouvement à une position absolue. R342 - 224 - SERAD S.A.
Cette instruction suspend une tâche en cours d'exécution. Remarques : Cette instruction n'a pas d'effets sur les tâches stoppées. Les mouvements présents dans le buffer de mouvement continuent à s’exécuter. Exemple : Wait Inp(Start) Coupe R342 - 225 - SERAD S.A.
0.001. Exemple : Timer!=Timer+5.25 'Charge tempo de 5.25s WAIT (INP(Depart)=On) Or (Timer>Time!) 'Si l'entrée Départ n'est pas activée au bout de 5.25s, 'le programme se poursuit Voir aussi : TIME$, TIME, DATE$ R342 - 226 - SERAD S.A.
<Axe> doit être un axe servo. La valeur renvoyée est l'image de la vitesse réelle pour une carte SRV85, l’image de la vitesse calculée pour toutes les autres cartes servo. Exemple : STTA (X=100) WHILE NOT MOVE_S(X) DO PRINT #1,VEL_S(X) R342 - 228 - SERAD S.A.
Cette fonction utilise le port de communication #1.Par défaut, le port de communication SERIAL1 sera utilisé. Si un pupitre opérateur est connecté au port SERIAL2, veuillez vous référer à la fonction OPEN pour affecter #1 au port SERIAL2. R342 - 229 - SERAD S.A.
Dans la structure WHILE ... DO ... END WHILE <Instruction> ne sont pas exécutées si la condition est fausse. Exemple : a%=0 WHILE a%<=100 PRINT #1,a% a%=a%*2 END WHILE Voir aussi : REPEAT 10-16-225- XOR – Opérateur ou exclusif Syntaxe : <Expression1> XOR <Expression2> R342 - 230 - SERAD S.A.
Voir aussi : AND, OR, NOT, IF 10-16-226- ZERO_S – Etat du zéro codeur Syntaxe : ZERO_S (<Axe>) Description : Cette fonction restitue l'état du zéro codeur de la carte d'axe. Exemple : ZERO_S(X) THEN STOP(X) R342 - 231 - SERAD S.A.
Le CANopen utilise des services optimisés suivant les différentes sortes de données. PDO (Process Data Object) Echange de donnée en temps réel Identifiant à haute priorité Transmission synchrone ou asynchrone Maximum de 8 octets (un message) Format prédéfini R342 - 232 - SERAD S.A.
Page 233
Si l’utilisateur désire optimiser le réseau CANopen ou augmenter ses fonctionnalités, il peut alors modifier lui-même ces paramètres. Dans les réseaux CANopen, tous les appareils ont les mêmes droits et l’échange des données est directement régulé entre chaques appareils participants. R342 - 233 - SERAD S.A.
Un tableau de 254 variables « 32 bits non signé » accessible en lecture et écriture par SDO. Des fonctions d’accès direct au bus CAN pour envoyer et recevoir des messages spécifiques tels que les fonctions NMT et DBT. R342 - 234 - SERAD S.A.
Le dictionnaire contient les différents paramètres et variables de la carte. Ils sont directement accessibles par la MCS à l’aide des fonctions CANSETUP. Les tableaux des variables sont accessibles par les fonctions CANLOCAL. Pour accéder aux paramètres des autres périphériques CANopen, il faut utiliser les fonctions CANREMOTE. R342 - 235 - SERAD S.A.
Lecture ou écriture des données par un PDO SETUPCAN Paramétrage d’un message E) Instructions de contrôle CANERROR Détection des erreurs CANERRORCOUNTER Contrôle et efface les erreurs de la communication STARTCAN Démarrage du module CANopen STOPCAN Arrêt du module CANopen R342 - 237 - SERAD S.A.
Cette fonction permet de relier la carte CANopen au réseau. Remarques : <Carte> doit être une carte CANopen. 11-3-13- STOPCAN – Arrête une carte CANopen Syntaxe : STOPCAN (<Carte>) Description : Cette fonction permet d’enlever la carte correspondante du réseau CANopen. R342 - 240 - SERAD S.A.
Wait PDOEvent(Can1,1) 'Attente du PDO signalant le message O$=PDO(Can1,1) 'Lecture du PDO Ordre#=Asc(Left$(O$,1)) 'Décodage de l'ordre Pos&=CanRemote&(Can1,7180h,5) 'Lecture de la position If Ordre#=1 Then Stta(X=Pos&) 'Exécution en absolu If Ordre#=2 Then Sttr(X=Pos&) 'Exécution en relatif R342 - 241 - SERAD S.A.
Les modules I/O nécessite l'envoi du Message « NMT Start » pour qu'ils deviennent opérationnels. L'envoie de ce message utilise les fonctions CAN générales : SetupCan(Can1, 0, 0) ' Utiliser le COBID 0 pour accédér au server NMT Nmt$=Chr$(1)+Chr$(2) ' Le NodeID du module est 2. R342 - 242 - SERAD S.A.
Page 243
'Attente d'un changement sur les entrées E$=PDO(Can1,1) 'Lecture du PDO E1#=ASC(MID$(E$,1,1)) 'Lecture du premier bloc d'entrée If E1#.3 Then ... 'Utilisation de la 3éme entrée S$=Chr$(00010011b) 'Ecriture des sorties 1, 2 et 5 PDO(Can1,1,S$) 'Envoi du PDO R342 - 243 - SERAD S.A.
L'instruction Buzzer doit être suivie d'une constante de type bit. Goto or Call instruction expected Une instruction Call ou Goto est attendue dans un Case Invalid exit instruction Une instruction Exit Sub doit être utilisée uniquement dans un sous-programme. <Texte> Expected R342 - 244 - SERAD S.A.
Page 245
Real constant : Unexpected end of line Une constante réelle doit être terminée par un chiffre après le point décimal. <Texte> unexpected : Char from 0 to 9 expected Un nombre décimal ou réel utilise les caractères 0 à 9 R342 - 245 - SERAD S.A.
Le système ne lance pas les tâches utilisateur. ERREUR N°23 : L'erreur 23 indique qu'il n'y a pas de tâches utilisateur chargées dans la MCS. ERREUR N°30 : Lorsqu'un programme utilisateur provoque une division par zéro l'erreur n°30 est affichée. R342 - 246 - SERAD S.A.
Page 247
Ces cinq dernières erreurs sont générées uniquement pendant l'exécution d'un programme utilisateur. Sur la détection d’une erreur quelconque, toutes les tâches seront arrêtées, le message sera visualisé sur l'afficheur, le chien de garde s’ouvrira et tous les axes servo passeront en boucle ouverte. R342 - 247 - SERAD S.A.
Page 249
CORRECTION ........................185, 186 CORRECTION_S .........................186 Correspondance entre les limites exprimées en incréments et les limites en unité utilisateur154, 168 COS ..............................186 COUNTER_S ..........................186 CRC ..............................187 CURSOR ............................187 CVI..............................187 CVIR .............................188 CVL...............................187 CVLR ............................187 DAC ..............................188 R342 - 249 - SERAD S.A.
Page 250
Filtre réjecteur ( carte SRV 85 seulement ) ..................95 Flash Sécurité Divers .........................168 FLASHOK.............................192 FLASHTORAM ..........................192 Fonction de compensation / décompensation ( carte SRV 85 seulement ) .........113 Fonction de superposition de mouvements (carte SRV 85 seulement)........116 FONT ............................192 FOR ..............................193 FORMAT$.............................193 R342 - 250 - SERAD S.A.
Page 251
Interpolation linéaire ........................117 Introduction........................88, 137, 232 JUMP ............................200 KEY...............................200 KEYDELAY...........................200 KEYREPEAT ..........................201 La communication CANopen......................232 LCASE$ ............................201 Lecture de données........................138 Lecture des entrées........................125 Lecture des sorties ........................125 Lecture d'une entrée........................126 Lecture d'une sortie ........................127 R342 - 251 - SERAD S.A.