Beruflich Dokumente
Kultur Dokumente
11 - 97
fr-938846/8
Malgr tout le soin apport llaboration de ce document, NUM ne peut garantir lexactitude de toutes les informations quil contient et ne peut tre tenu responsable, ni des erreurs quil pourrait comporter, ni des dommages qui pourraient rsulter de son utilisation ou de son application. Les produits matriels, logiciels et services prsents dans ce document sont tout moment susceptibles dvolutions quant leurs caractristiques de prsentation, fonctionnement ou utilisation. Leur description ne peut en aucun cas revtir un aspect contractuel. Les exemples de programmation sont dcrits dans ce manuel titre didactique. Leur utilisation dans des programmes dapplications industrielles ncessite des adaptations spcifiques selon lautomatisme concern et en fonction du niveau de scurit demand.
Copyright NUM 1997. Toute reproduction de cet ouvrage est interdite. Toute copie ou reproduction, mme partielle, par quelque procd que ce soit, photographie, magntique ou autre, de mme que toute transcription totale ou partielle lisible sur machine lectronique est interdite.
Copyright NUM 1997 logiciel NUM 1020/1040/1060. Ce logiciel est la proprit de NUM. Chaque vente dun exemplaire mmoris de ce logiciel confre lacqureur une licence non exclusive strictement limite lutilisation du dit exemplaire. Toute copie ou autre forme de duplication de ce produit est interdite.
fr-938846/8
1-1 1-3 1-6 2-1 2-3 2-13 2-15 2-15 2-15 2-16 2-16 3-1 3-5 3-6 3-6 3-8 3-8 3-8 3-9 3-29 3-68 3-70 3-72 4-1 4-3 4-3 4-3 4-3 4-5 5-1
3 Variables
3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11
5 Programmation ladder
5.1 5.2 5.3 5.4
fr-938846/8
6.8 6.9 6.10 6.11 6.12 6.13 6.14 6.15 6.16 6.17 6.18 6.19 6.20 6.21 6.22 6.23 6.24 6.25 6.26 6.27 6.28 6.29 6.30 6.31 6.32 6.33 6.34 6.35 6.36 6.37 6.38
Copie dun ou plusieurs mot Copie dun ou plusieurs long mots Fixe la priode de lauto-test Conversion dune valeur entire signe en chane ASCII Conversion dune valeur entire non signe en chane ASCII Concatnation OCTet > bit Simulation du clavier du pupitre Recherche circulaire optimale Recherche de la valeur dun octet Recherche de la valeur dun mot Recherche de la valeur dun long mot Retour au module ou au rseau appelant Saut un label du module sans retour Saut un label du module avec retour Smaphore Ecriture dun ou plusieurs octets Ecriture dun ou plusieurs mots Ecriture dun ou plusieurs long mots Appel de modules %SP Formatage dune chane de caractres Racine carre entire Analyse dune chane ASCII Comparaison dune chane de caractres Copie dune chane de caractres Calcul de la longueur dune chane Echange des octets dun mot Echange des quatre octets dun long mot Correction dynamique dun outil Lecture de n variables E42000 Ecriture de n variables E42000 Initialisation de la base associe aux variables % Introduction Dbut dune section critique Fin dune section critique Mise en sommeil temporaire dune tche %TF Dpart dune tche %TF Arrt dune tche %TF Introduction Fonctions affectes au mode transparent Mode transparent pupitre
6-10 6-11 6-11 6-12 6-12 6-13 6-15 6-15 6-16 6-16 6-17 6-18 6-19 6-19 6-20 6-20 6-21 6-22 6-22 6-24 6-25 6-25 6-26 6-27 6-27 6-28 6-29 6-30 6-31 6-32 6-33 7-1 7-3 7-3 7-3 7-3 7-4 7-4 8-1 8-3 8-7 8-18
8 Mode transparent
8.1 8.2 8.3
fr-938846/7
9 Entres/sorties analogiques
9.1 9.2 9.3 9.4 9.5 10.1 10.2 10.3 Gnralits Configuration des cartes E/S analogiques Ecriture dune sortie analogique Lecture dune entre analogique Redirection dune carte analogique Gnralites Lecture explicite dune carte entre Ecriture explicite dune carte sortie Gnralits Principe daffectation des lignes Association entres interruptions/ groupes daxes Configuration dune entre interruption Lecture dune entre interruption Association tche %TH avec une entre IT Gnralites Initialisation d'une ligne Emission dun tampon Rception d'un tampon Lecture de ltat dune ligne srie Contrle du pilote de ligne srie Standards de transmission Prsentation de la fonction timer Mode de fonctionnement Association tche %TH avec un timer Prsentation de la fonction dateur Lecture de la date courante Lecture de la date courante avec jour de la semaine Prsentation des changes Objets accessibles par requte UNITE Requtes UNITE traites par la fonction CN Programmation de la fonction demandeur Echanges avec une station distante Gnralits Appel dun module excutable Identification dun module excutable Programmation en langage C
9-1 9-3 9-3 9-5 9-6 9-7 10-1 10-3 10-3 10-4 11-1 11-3 11-5 11-5 11-6 11-8 11-9 12-1 12-3 12-4 12-6 12-7 12-10 12-11 12-12 13-1 13-1 13-1 13-1 14-1 14-1 14-1 14-2 15-1 15-3 15-7 15-16 15-29 15-34 16-1 16-3 16-3 16-4 16-5
11 Entres interruptions
11.1 11.2 11.3 11.4 11.5 11.6
12 Lignes sries
12.1 12.2 12.3 12.4 12.5 12.6 12.7
13 Fonction timer
13.1 13.2 13.3
14 Fonction dateur
14.1 14.2 14.3
16 Programmation en langage C
16.1 16.2 16.3 16.4
fr-938846/7
17 Axes automates
17.1 17.2 Prsentation Principe de programmation Programmation et mise au point avec PLCTOOL Mise au point sur la CN Liste des dfauts matriel Liste des dfauts de configuration Liste des dfauts de programmation Liste par thmes Liste par classement alphanumrique
18-3 18-3 19-1 19-1 19-1 19-1 A-1 A-3 A-6 I-1
19 Dfauts et diagnostic
19.1 19.2 19.3
Index
fr-938846/6
Date
11 - 97
Indice
8
Pages modifies
Page de garde, 2, 3, 7, 10 Ch. 2 : 13 Ch. 3 : 1 4, 17, 27, 34, 37 78 Ch. 5 : 13 Ch. 8 : 3, 6 Ch. 9 : 3 Ch. 12 : 5 Ch. 15 : 8, 25 Ch. 17 : 1 Index : 1 4 Agences Questionnaire
Pages ajoutes
Pages supprimes
79 82
Indice
0 1
04 - 93
Conforme au logiciel NUM1060 - Indice E. Corrections diverses. Adjonction des variables : - mots communs %S, - locales %Y, - %Qrc3B.1 autorisation accs CN, - %R2.5 E_INTERV Etat intervention, - %W5.6 INIB_E33 Autorisation d'criture des cartes Entres/Sorties par programme pice
fr-938846/8
Date
04 - 93
Indice
2
02-94
fr-938846/7
Date
08 - 94
Indice
4
04 - 95
11 - 95
07 - 96
fr-938846/7
Date
07 - 96
Indice
7
11 - 97
10
fr-938846/8
Prliminaires
NUM
NUM
MANUEL DE PROGRAMMATION M
MANUEL DE PROGRAMMATION T
938821
938822
938819
938820
Documents intgrateur
Ces documents sont destins la mise en oeuvre de la commande numrique sur une machine.
NUM 1060
NUM
NUM
938816
938938
938818
NUM
NUM
938859
938924
fr-938846/6
11
intgration des paramtres manuel des paramtres mise au point de programmes verrouillage des options calibration inter axes manuel de programmation de la fonction automatisme langage ladder manuels oprateur
REMARQUE:
L'utilitaire 22 n'est plus utilis partir du logiciel CN indice K et le logiciel SET_TOOL indice E.
12
fr-938846/7
Prliminaires
Prsentation et caractristiques de la fonction automatisme et de l'unit centrale . - Synoptiques du systme et des cartes mises en oeuvre.
CHAPITRE 1
CHAPITRE 2
Principe de fonctionnement et d'organisation d'une application automate. - Les tches systme. - Les tches utilisateur. - La structure d'une application. - Les modules.
CHAPITRE 3
VARIABLES
Dtail des variables mises en oeuvre. - Les variables internes. - Les variables Entres/sorties borniers. - Les variables de configuration et de diagnostic. - Les variables d'interface avec la CN. - Les variables mots communs. - Les variables locales.
fr-938846/6
13
CHAPITRE 4
Information sur les lments du langage ladder. - Les lments littraux. - Les oprateurs. - Exemples de calculs.
CHAPITRE 5
Information sur la programmation ladder. - Les lments communs. - Etapes grafcet. - La squence rseau. - Conseils de programmation.
PROGRAMMATION LADDER
CHAPITRE 7
14
fr-938846/6
Prliminaires
CHAPITRE 8
MODE TRANSPARENT
Principe et fonctions lis la lecture et l'criture immdiate des cartes entres sorties.
CHAPITRE 10 LECTURE ECRITURE EXPLICITES DES CARTES ENTREES/SORTIES
fr-938846/6
15
CHAPITRE 12
LIGNES SERIES
CHAPITRE 13
FONCTION TIMER
CHAPITRE 14
FONCTION DATEUR
CHAPITRE 15
16
fr-938846/6
Prliminaires
CHAPITRE 16
PROGRAMMATION EN LANGAGE C
CHAPITRE 17
AXES AUTOMATES
CHAPITRE 19
DEFAUTS ET DIAGNOSTIC
fr-938846/6
17
18
fr-938846/6
Prliminaires
La partie droite indique les touches actionner qui peuvent se prsenter sous deux formes : Touches carres : correspondent des touches du pupitre.
UTIL
Touches rectangulaires : correspondent des touches logicielles qui apparaissent dans le cartouche en bas de lcran et sont actionnes par les touches de fonction (F2 F11) situes sous lcran.
Index
L'index figure en fin de volume et permet d'accder des renseignements ponctuels par des mots cls.
Agences
La liste des agences NUM figure en fin de volume.
Questionnaire
Afin de nous aider amliorer la qualit de notre documentation, nous vous demandons de bien vouloir nous retourner le questionnaire figurant en fin de volume.
fr-938846/6
19
20
fr-938846/6
1-3 1-6
fr-938846/6
1-1
1-2
fr-938846/3
1.1
Gnralits
La CN NUM 1060 est un systme multiprocesseur multimatre dans lequel la fonction automatisme assure la charnire avec la MOCN. La fonction automatisme assure le traitement des fonctions qui mettent en oeuvre, tant les capteurs et actionneurs implants sur la MOCN, que les informations boolennes ou numriques dinterface avec la fonction CN. Ses possibilits, daccs lcran de la CN et de simulation du pupitre, lui confrent une grande souplesse dutilisation permettant au constructeur de machines outils une personnalisation du systme 1060 son ergonomie. La fonction automatisme est implante dans l'unit centrale. L'unit centrale est compose d'une ou plusieur carte et assure les fonctions CN, graphique, automatisme ainsi que la mmoire. L'unit centrale se compose : Fonctions NUM 1060 srie I NUM 1060 srie II multicarte NUM 1060 srie II monocarte CN Proc CN Proc graphique UCSII Graphique Proc graphique Proc graphique UCSII Automatisme Proc machine Proc machine UCSII Mmoire Carte mmoire Carte mmoire UCSII
Le transfert dinformation, sur bit ou sur octet, avec les cartes ENTREES/SORTIES, est assur par le bus srie. Les changes dinformations dans le systme sont de deux types : - communication par zone dchanges, - communication par protocole.
fr-938846/3
1-3
BUS SYSTEME
INTERFACE
INTERFACE RAM
ZONE D'ECHANGE
INTERFACE
UC 32 bits 68020
ENTREES SORTIES SPECIFIQUES CARTES MEMOIRE GLOBALE PROCESSEURS (Fonctions CN et graphique) COUPLEUR SPECIFIQUE (Mapway, Ethway, IT/Lignes sries, E/S analogiques)
BUS SERIE
CARTES 32 ENTREES
CARTES 32 SORTIES
CARTES 32 - 24 I/O
CARTES 64 - 48 I/O
1-4
fr-938846/6
1
BUS SYSTEME
INTERFACE
INTERFACE
Coprocesseur 68882
REPROM
ZONE D'ECHANGE
MAITRE BUS SERIE COUPLEURS SPECIFIQUES Mapway, Ethway UCSII Mmoire Fonctions CN, graphique, automatisme
BUS SERIE
CARTES 32 ENTREES
CARTES 32 SORTIES
CARTES 32 - 24 I/O
CARTES 64 - 48 I/O
fr-938846/3
1-5
1.2
Fonction automatisme
La gestion de la fonction automatisme est assur par un moniteur charg dun certain nombre de tches de base telles quinitialisation, affectation des entres/sorties sur les diffrents racks, change des entres/sorties, chien de garde ..etc.. A ce traitement systmatique effectu par le moniteur, vient sajouter le traitement programme dit Programme utilisateur. Le droulement du programme seffectue sous le contrle du moniteur de gestion. Le droulement du programme est rythm par lhorloge temps rel (HTR) dont la priodicit est de 20 ms. La zone mmoire rserve la programmation de la fonction automatisme est structure comme suit: - 30 Ko de mmoire RAM statique sauvegarde, - 32 Ko de mmoire RAM dynamique initialise la mise sous tension, - 180 Ko de mmoire RAM dynamique occupe par le programme utilisateur sur les processeurs machine V1 1Mo, - 2,5 Mo de mmoire RAM dynamique occupe par le programme utilisateur sur les processeurs machine V1 4Mo, - 3,5 Mo de mmoire RAM dynamique occupe par le programme utilisateur sur les processeurs machine V2 4Mo, - 64 ko de mmoire RAM dynamique occupe par le programme utilisateur sur les modules UCSII. La fonction automatisme permet: - Un accs direct aux CNA, - Un accs indirect en lecture et en criture aux CAN et aux Entres/Sorties. Cet accs se fait en espace mmoire virtuelle (toutes les 20 ms). Nb dEntres / Sorties 1024E / 1024S 192E / 144S Nb de rack maximum 1 principal 6 dextension 1 principal
La configuration des entres / sorties est fige la mise sous tension. Le temps de rafrachissement demande 2 ms. La mise en oeuvre de la fonction automatisme ncessite loutil de programmation sur micro-ordinateur PLCTOOL. Il permet : - la programmation en langage ladder, - la compilation, - le transfert des programmes vers l'unit centrale, - la mise au point des programmes chargs. Associ au compilateur MCC68K de MICROTEC RESEARCH, PLCTOOL permet galement la saisie, la compilation, le transfert et la mise au point de programmes crits en langage C. Le chargement/dchargement des programmes se fait par lintermdiaire dune des lignes sries du systme.
1-6
fr-938846/6
1
BUS SYSTEME
RAM SAUVEGARDEE 32 Ko
p 68020
BUS INTERNE
CONNECTEUR "SERIE-TTL"
CONNECTEUR "RS232C"
BUS SERIE
fr-938846/6
1-7
BUS SYSTEME
REPROM 2 8 Mo
p 68020
BUS INTERNE
COPROCESSEUR 68882
BUS SERIE
1-8
fr-938846/3
2.1 Gnralits
2.1.1 2.1.1.1 2.1.1.2 2.1.1.3 2.1.1.4 2.1.2 2.1.2.1 2.1.2.2 2.1.2.3 2.1.2.4 2.1.3 2.1.3.1 2.1.3.2
2-3 Tches systme 2-3 Tche systme initialisation 2-3 Tche systme rafrachissement E/S CN 2-3 Tche systme rafrachissement E/S borniers 2-5 Tche systme serveur UNITE 2-5 Tche utilisateur 2-5 Tche linitialisation 2-5 Tche priodique 2-5 Tche de fond 2-6 Tches temps rels 2-9 Traitement des dbordements 2-10 Systmes 1060 srie I et srie II - multicarte 2-10 Systmes 1060 srie II - UCSII 2-11 2-13 2-15 2-15 2-15 2-15 2-15 2-15 2-16 2-16 2-16 2-16 2-16
Structure dune application Structure dun module ladder - Squences lmentaires Elments communs tous les types de squence La squence tableau de constantes
2.5.1 2.5.2 2.5.3 Prsentation Utilisation dun tableau Initialisation dun tableau Prsentation Utilisation dune chane Initialisation dune chane
fr-938846/3
2-1
2-2
fr-938846/3
2.1
Gnralits
Deux types de tches cohabitent dans la fonction automatisme : - les tches systme dclenches par le moniteur et non programmables par lutilisateur, - les tches utilisateur programmables par lutilisateur.
2.1.1
2.1.1.1
Tches systme
Tche systme initialisation
Traitement excut Lors dune initialisation le systme excute : - auto-test des ressources de l'unit centrale, - vrification de lintgrit du code systme en mmoire globale, - transfert du code systme de la mmoire globale vers la mmoire de travail, - vrification de lintgrit du code utilisateur en mmoire globale, - transfert du code utilisateur de la mmoire globale vers la mmoire de travail, - scrutation des cartes E/S prsente sur le bus srie : . mise jour du status et de lidentificateur de chaque carte E/S, . lecture des entres de chaque carte E/S et mise jour de la zone image %I, - lancement de la tche utilisateur %INI. Occurrence Linitialisation de la fonction automatisme seffectue : - la mise sous tension de la CN, - lors de lappui sur le bouton RaZ en face avant de la carte alimentation. 2.1.1.2 Tche systme rafrachissement E/S CN
Traitement excut Cette tche traite les changes systmatiques avec la fonction CN : - lecture des entres CN (Variables %R. crites par la fonction CN), - criture des sorties CN (Variables %W. lues par la fonction CN). Occurrence Cette tche sexcute chaque cycle HTR (Horloge Temps Rel).
fr-938846/3
2-3
OCCURENCE HTR 20 ms
TACHE SYSTEME
5 ms
CHOIX DU SEGMENT
%TS1 %TS4
PROGRAMME
MONITEUR DE GESTION
2-4
fr-938846/3
RESERVE 2 ms
13 ms
TACHE PERIODIQUE
2.1.1.3
Traitement excut Cette tche effectue le rafrachissement des E/S borniers : - lecture des entres borniers %I., - criture des sorties borniers %Q., - mise jour des variables de diagnostic cartes E/S borniers. 2.1.1.4 Tche systme serveur UNITE
Traitement excut Cette tche traite les requtes UNITE destines au serveur de la fonction automatisme. Service rendu par le serveur UNITE Le serveur de la fonction automatisme traite principalement les requtes UNITE suivantes : - lecture/Ecriture variables (%I, %Q, %R, %W, %M, %V), - chargement et dchargement des fichiers de la fonction automatisme ( %TS0, %SP30, .. etc ..), - STOP de la fonction automatisme (arrt des tches utilisateur), - INIT de la fonction automatisme (initialisation de l'unit centrale), - RUN de la fonction automatisme (dmarrage des tches utilisateur).
2.1.2
2.1.2.1
Tche utilisateur
Tche linitialisation
La tche %INI est appele par le systme linitialisation de la fonction automatisme avant toutes les autres tches utilisateur. Cette tche permet La configuration des cartes E/S sur borniers.
ATTENTION
Le systme prend en compte la configuration des cartes E/S au retour de %INI. Une modification ultrieure de la configuration nest donc pas prise en compte.
2.1.2.2 Tche priodique
Les tches priodiques sont %TS0 %TSn (Avec n tournant de 1 5 chaque cycle HTR). La priode dexcution de %TS0 est gale un cycle HTR soit 20 ms. La priode dexcution de %TS1, %TS2, %TS3, %TS4 est gale cinq cycle HTR soit 100 ms (Le cinquime cycle HTR est utilis par la tche systme %TS5). Les tches %TS ne sont pas interruptibles : - loccurrence de la HTR (1060 srie I et srie II multicarte), - sur l'IT fixe par le paramtre P99 (1060 srie II - UCSII).
fr-938846/3
2-5
2.1.2.3
Tche de fond
Ces tches (%TF0 %TF15) permettent deffectuer des traitements non prioritaires sans pnaliser les tches priodiques %TS. Elles permettent aussi lutilisation de fonctions bloquantes. Les tches %TF ont une priorit infrieure celle des tches %TS et %TH. Les tches %TF ont les particularits suivantes : - une tche est excute sur une demande explicite par la fonction tfstart (..), - une tche ne sera excute que sil reste du temps de cycle aprs lexcution des tches priodiques, - une tche n'est excute quune fois par cycle HTR, - une tche dsarme par la fonction tfstop (..) est excute en totalit. Les tches %TF sont interruptibles : - loccurrence de la HTR (1060 srie I et srie II multicarte), - sur l'IT fixe par le paramtre P99 (1060 srie II - UCSII).
SUSPENDUE
EN EXECUTION
NON PRETE
PRETE
EN ATTENTE
2-6
fr-938846/3
Fonctionnement des tches de fond NON PRETE > PRETE A linitialisation du systme les tches %TF sont dans ltat NON PRETE. Lappel de la fonction tfstart(n) fait passer %TFn ltat PRETE. EN ATTENTE ou PRETE ou EN EXECUTION > NON PRETE Lappel de la fonction tfstop(n) fait passer la tche %TFn dans ltat NON PRETE. PRETE > EN EXECUTION Dans ltat PRETE une tche %TF est excute ds quaucune tche nest EN EXECUTION et quaucune tche %TF de priorit suprieure ne se trouve dans ltat PRETE . A lintrieur des tches %TF la hirarchie des priorits est fixe par le numro : priorit %TF0 > priorit %TF1 > .... > priorit %TF15 EN EXECUTION > SUSPENDUE La tche %TF est suspendue pour permettre lexcution dune tche %TS ou %TH. Les tches %TF ne sont pas premptibles entre elles. SUSPENDUE > EN EXECUTION Aucune des tches %TS ou %TH nest en cours dexcution: la tche %TF suspendue est nouveau excute. EN EXECUTION > EN ATTENTE La tche %TF a fait un appel la fonction whtr(..) ou elle se termine (fin du code atteinte).
REMARQUE : La fonction whtr(..), programme dans une tche de fond, interrompt la tche pendant son excution et permet ainsi dexcuter dautres tches %TF ltat PRETE.
EN ATTENTE > PRETE La tche tait en attente depuis un certain nombre de cycle HTR par la fonction whtr(..) et le nombre de cycle HTR est coul. La tche tait termine, loccurrence de la HTR la replace dans ltat PRETE.
fr-938846/3
2-7
TACHE SYSTEMATIQUE
%TS0 (tfstart(5))
%TS1 (tfstart(2))
%TS2 (tfstart(1))
%TS3 (tfstart(0))
%TS4
%TF2 whtr()
FIN DE %TF2
%TF1 whtr()
FIN DE %TF0
%TF5 whtr()
FIN DE %TF1
2-8
fr-938846/3
2.1.2.4
Les tches (%TH0 %TH15) permettent de prendre en compte des vnements prioritaires dont le traitement ne peut attendre loccurrence de la HTR. Les tches %TH ont une priorit suprieure celle des tches %TS et %TF. Une tche %TH active ne peut interrompre une tche %TH en cours. A lintrieur des tches %TH la hirarchie des priorits est fixe par le numro : priorit %TH0 > priorit %TH1 > .... > priorit %TH15. Fonctionnement des tche %TH Le programmeur associe une tche %TH une interruption lectronique grce aux fonctions suivantes : thiti(..) thtimer(..) interruption palpeur. interruption timer.
A loccurrence de linterruption, le systme lance lexcution de la tche %TH associe. Si plusieurs tches %TH sont actives au cours du mme cycle HTR, le cumul de temps de traitement de chaque routine dinterruption ne doit pas excder 4 ms. Si le temps de traitement est suprieur l'unit centrale sera mise en dfaut Dpassement temps de calcul.
MONITEUR
%THn
%THn1
%TFn
fr-938846/3
2-9
2.1.3
Les anomalies de fonctionnement du programme utilisateur sont signales par : - lincrmentation du compteur de dpassement HTR %R97C.W, - La mise en REPLI_SUR_DEFAUT de l'unit centrale dans les cas critiques. La mise en vidence de ce type danomalies ncessite une reprise du programme utilisateur. 2.1.3.1 Systmes 1060 srie I et srie II multicarte
Etant rythm par loccurrence de la HTR toutes les 20 ms, le traitement des tches %TS doit normalement tre effectu avant lapparition de celle-ci. Dbordements successifs Un lger dpassement de loccurrence de la HTR est tolr dans le traitement des tches %TS. A chaque dpassement le systme incrmente le compteur de dpassement HTR %R97C.W. Le systme autorise trois dbordements successifs maximum. Le quatrime dbordement provoque lincrmentation du compteur de dpassement %R97C.W et la mise en REPLI_SUR_DEFAUT de l'unit centrale.
JUSQU'A TROIS DEBORDEMENTS SUCESSIFS
MONITEUR 5 ms
3 Programme client
MONI TEUR
4 Programme client
Programme client
MONI TEUR
Occurence HTR
Occurence HTR
Occurence HTR
Occurence HTR
REMARQUE
Un programme utilisateur peut ne pas crer de dbordement en fonctionnant vide (par exemple sans usiner de pice), mais en charge des dbordements peuvent se produire par suite des taches hard CN (traitement des asservissements,....) ou des IT (lignes srie....) qui se rajoutent dans l'intervalle entre deux HTR.
Boucle dans un programme L'excution ininterrompue de %TSn pendant plus de 40 ms provoque la mise en REPLI_SUR_DEFAUT avec lerreur ERR_DEPASSEMENT_HTR.
40 ms
MONITEUR 5 ms
Occurence HTR
Occurence HTR
2 - 10
fr-938846/6
2.1.3.2
Fonctionnement normal Etant rythm par loccurrence de la HTR toutes les 20 ms, le programme utilisateur est nanmoins limit une dure fixe par le paramtre P99 (Voir manuel des paramtres). Le paramtre P99 est un multiple de 2 ms et doit tre compris entre 4 et 18 ms. Le traitement des tches %TS doit normalement tre effectu avant lapparition de l'IT P99.
20 ms P99 ms
MONITEUR < 5 ms
MONITEUR < 5 ms
Occurence HTR
IT P99
Occurence HTR
Dbordements successifs Un lger dpassement de l'IT P99 est tolr dans le traitement des tches %TS. A chaque dpassement le systme incrmente le compteur de dpassement HTR %R97C.W. Si l'occurrence de la HTR arrive alors que les %TS ne sont pas acheves, le moniteur est relanc immdiatement. Le systme autorise trois dbordements successifs maximum. Le quatrime dbordement provoque lincrmentation du compteur de dpassement %R97C.W et la mise en REPLI_SUR_DEFAUT de l'unit centrale.
HTR 2
MONI TEUR
HTR
HTR
1
MONI TEUR
3
MONI TEUR
4
MONI TEUR
Programme client
Programme client
Programme client
Programme client
Occurence HTR
HTR
HTR 2
HTR
1
MONI TEUR
3
MONI TEUR
4
MONI TEUR
Programme client
MONI TEUR
Programme client
Programme client
Programme client
Occurence HTR
IT P99
IT P99
REMARQUE
Un programme utilisateur peut ne pas crer de dbordement en fonctionnant vide (par exemple sans usiner de pice), mais en charge des dbordements peuvent se produire par suite des taches hard CN (traitement des asservissements,....) ou des IT (lignes srie....) qui se rajoutent dans l'intervalle entre deux HTR ou entre la HTR et l'IT P99.
fr-938846/6
2 - 11
Boucle dans un programme L'excution ininterrompue de %TSn pendant 2 x P99 ms provoque la mise en REPLI_SUR_DEFAUT avec lerreur ERR_DEPASSEMENT_HTR.
HTR
MONITEUR < 5 ms
Occurence HTR
IT P99
Non traitement du moniteur La non excution du moniteur pendant 2 x P99 ms provoque la mise en REPLI_SUR_DEFAUT avec lerreur ERR_DEPASSEMENT_HTR.
HTR HTR
MONITEUR < 5 ms
Programme client
MONITEUR < 5 ms
Programme client
Occurence HTR
IT P99
IT P99
2 - 12
fr-938846/3
2.2
Une application se compose dun ensemble de modules, cres sous loutil de programmation PLCTOOL, qui sont chargs sur la CN dans le but de piloter linstallation. Dtail des modules Modules tche ladder Les modules tche ladder sont associs : - la tche %INI, - aux tches %TS0 %TS4, - aux tches %TF0 %TF15, - aux tches %TH0 %TH15. Ces modules sont appels par le gestionnaire de tches du systme. Ils ne peuvent pas tre appels explicitement. Lutilisateur gre ventuellement ces modules tche grce aux fonctions de gestion des tches (Voir chapitre 7). Les modules tche ladder sont des fichiers du type *.XLA. Modules sous-programme ladder Les modules sous-programme ladder sont nots %SP0 %SP255. Ils peuvent tre appels lintrieur dun module tche ou dun autre module sous-programme grce la fonction sp(..) ou spy(..). Un sous-programme automate crit en ladder et appel partir d'un module C par la fonction SP, ne doit comporter AUCUN appel une fonction (hormis les fonctions goto 0 et call 0). Les modules sous-programme ladder sont des fichiers du type *.XLA. Les modules excutables Ces modules excutables sont issus de la chane de compilation (MCC68K) en langage C. Ils peuvent tre appels lintrieur dun module tche ladder ou dun module sous-programme ladder grce la fonction exec(..). Toutes les tche peuvent tre programmes en langage C. Si une mme tche est crite en langage C et en ladder, cest le code C qui sera excut par la fonction automatisme. Les modules excutables sont des fichiers du type *.XCX. Particularit pour l'initialisation d'un module C (.XCX) Implantation du code de la mmoire globale en mmoire locale AP, Excution dans le "main()" des directives suivantes: - Import(), - Export(), - Initialisation possible de certains types de variables : variables globales C du module XCX, variables non initialises (sauvegardes) du ladder. Rsolution des imports/exports (on ne peut pas utiliser des variables importes dans le "main()"), Initialisation des variables ladder initialises, Excution du module %INI, Lancement du cycle normal de l'automate.
REMARQUE:
Sur un Stop/Dpart de l'automate (sans INIT), seules les trois dernires phases sont excutes Les variables sauvegardes sont %M, %C, %CQ; les variables initialises sont %I, %Q, %R, %T, %TQ, %V. Les variables %W dites "impulsionnelles" sont remises zro par le bouton RAZ ou coupure secteur.
fr-938846/8
2 - 13
TACHE SYSTEME
GESTIONNAIRE DE TACHES
TACHE %TS0
EVENEMENT EXTERIEUR
SOUS PROGRAMMES
%SP0 %SP255
TACHES PERIODIQUES
TACHES INTERRUPTIONS
2 - 14
fr-938846/5
PROGRAMME UTILISATEUR
PROGRAMME UTILISATEUR
2.3
Un module ladder se compose dune succession de squences lmentaires. Le nombre de squence dans un module est limit 100 et la taille dun module est limite 16 kO. La squence est lunit de saisie et de compilation. Il existe trois types de squences lmentaires : - la squence qui permet la saisie dun tableau de constantes numriques, - la squence qui permet la saisie dune ou plusieurs chanes de caractres, - la squence qui permet la saisie dun rseau de contacts et bobines.
2.4
Chaque type de squence est compos en partie des lments communs suivant : - len-tte de squence, - ltape grafcet.
2.5
2.5.1
Ce type de squence contient un tableau de donnes qui sera trait par une fonction qui exploite les buffers. Cette squence se compose : - dun label et dun commentaire facultatif, - dune tape grafcet facultative, - dune variable %Vxx.L ou %Yxx.L associe qui va contenir ladresse de dbut du tableau, - dune suite de valeurs numriques ou chaque valeur occupe un long mot. Chaque tableau peut contenir jusqu 500 valeurs. Le nombre de tableaux que peut contenir un module est limit par la taille maximum du module et le nombre de squence doit tre infrieur 100.
2.5.2
Laccs se fait par lintermdiaire de ladresse de dbut du tableau contenue dans une variable %Vxx.L ou %Yxx.L et grce aux fonctions du type cpyb(..), cpyw(..), cpyl(..), print(..), .. etc ... On peut accder directement aux valeurs d'un tableau par les pointeurs (Ex : %Yxx -> n.L)
2.5.3
Linitialisation dun tableau est ralise quand le moniteur charge la variable %Vxx.L ou %Yxx.L avec ladresse de dbut de tableau. Une squence tableau doit donc avoir t excute une fois par le systme avant de pouvoir tre utilise dans le programme par une squence rseau.
fr-938846/3
2 - 15
2.6
2.6.1
Ce type de squence contient des chanes de caractres qui seront traites principalement par les fonctions daffichages lcran de la CN. Cette squence se compose : - dun label et dun commentaire facultatif, - dune tape grafcet facultative, - de la dfinition dune 32 chanes de caractres. La dfinition dune chane de caractres se compose : - dune variable %Vxx.L ou %Yxx.L associe qui va contenir ladresse de dbut de la chane, - dune suite de 120 caractres alphanumrique maximum. Le nombre de squences chanes que peut contenir un module est limit par la taille maximum du module et le nombre de squences doit tre infrieur 100. Le compilateur ajoute automatiquement un octet nul la fin dune chane.
2.6.2
On ne peut pas accder directement aux caractres dune chane. Laccs se fait par lintermdiaire de ladresse de dbut de la chane contenu dansune variable %Vxx.L ou %Yxx.L et grce aux fonctions du type printf(..), scano (..), scanu (..), .. etc ... On peut accder directement aux caractres d'une chane par les pointeurs (Ex : %Yxx -> n.B)
2.6.3
Linitialisation dune chane est ralise quand le moniteur charge la variable %Vxx.L ou %Yxx.L avec ladresse de dbut de la chane. Une squence chane doit donc avoir t excute une fois par le systme avant de pouvoir tre utilise dans le programme par une squence rseau. On peut associer une mme variable %Vxx.L ou %Yxx.L avec des chanes diffrentes et situes dans des squences diffrentes. Dans ce cas la variable % contient ladresse de la chane situe dans la squence chane qui a t excute en dernier.
2.7
La squence rseau
Ce type de squence est lentit de base du programme dautomatisme. La squence rseau est compos de contacts, de drivations et de bobines. Un rseau de contacts est compos : - dun label et dun commentaire facultatif, - dune tape grafcet facultative, - dune zone de test de six lignes de six contacts (36 cellules), - dune zone daction de six lignes dune bobine (Six cellules).
2 - 16
fr-938846/3
Variables
3 Variables
3-5 3-6 3-6 3-6 3-6 3-7 3-7 3-7 3-8 3-8 3-8 3-8 3-9 3-10 3-10 3-10 3-10 3-10 3-10 3-10 3-10 3-11 3-11 3-11 3-12 3-12 3-12 3-13 3-14 3-14 3-15 3-15 3-16 3-17 3-17 3-17 3-18 3-19 3-20 3-22 3-24 3-25
3.4 Mnmonique
3.4.1
3.5 Variables internes banalises sauvegardes 3.6 Variables internes banalises non sauvegardes 3.7 Variables E/S borniers %I et %Q
3.7.1 3.7.1.1 3.7.1.2 3.7.2 3.7.2.1 3.7.2.2 3.7.3 3.7.3.1 3.7.3.2 3.7.3.3 3.7.3.4 3.7.4 3.7.4.1 3.7.4.2 3.7.4.3 3.7.4.4 3.7.4.5 3.7.5 3.7.5.1 3.7.5.2 3.7.6 3.7.6.1 3.7.6.2 3.7.7 3.7.8 3.7.9 3.7.10 3.7.11 3.7.12 Structure des variables en lecture %Irc Partie diagnostic carte Partie image des entres Structure des variables en criture %Qrc Partie configuration carte Partie image des sorties Variables de diagnostic carte Identificateur carte %Irc3E.W Status carte %Irc3C.W Compteur dfaut dialogue %Irc3A.W Status bus %Irc39.B Variables de configuration carte Identificateur carte %Qrc3E.W Option adresse logique gographique %Qrc3D.B Priorit carte %Qrc3C.B Chien de garde %Qrc3B.0 Autorisation accs CN %Qrc3B.1 Organisation physique des variables %I et %Q Organisation physique des variables %I et %Q du rack N r Organisation physique des variables %I et %Q des diffrents racks Identificateur des cartes et racks Identificateurs des cartes Identificateurs des racks Partie image de la carte 32 entres TOR Partie image de la carte 32 sorties TOR Partie image des cartes 32E 24S TOR et 32-24 I/O Partie image de la carte 64-48 I/O Partie image du pupitre machine Partie image du pupitre machine avec carte dextension
fr-938846/8
3-1
3.7.13 Partie image du pupitre compact 3.7.13.1 Image du pupitre compact dans la zone d'change 3.7.13.2 Image du pupitre compact 3.7.13.3 Image du cartouche JOG 3.7.13.4 Image des voyants des touches personnalisables
3-27 3-27 3-27 3-27 3-28 3-29 3-29 3-29 3-29 3-30 3-31 3-32 3-32 3-33 3-34 3-34 3-35 3-36 3-36 3-37 3-38 3-38 3-39 3-40 3-41 3-41 3-42 3-42 3-42 3-43 3-43 3-44 3-44 3-45 3-45 3-48 3-49 3-50 3-50
3-2
fr-938846/8
Variables
3.8.2.19 Recul ou retour sur trajectoire 3.8.2.20 Arrt d'avance par axe (le rang du bit donne l'adresse physique de l'axe) : %W3A.L 3.8.2.21 Rduction de courant : %WE00.B WE1F.B "D.I.S.C." et "1050" 3.8.2.22 Mot de commande variateur "1050" 3.8.3 Entres venant des groupes daxes 3.8.3.1 Etat Groupe : %Rg00.W 3.8.3.2 Numro du cycle dusinage en cours : %Rg02.B 3.8.3.3 Etat Fonction G : %Rg03.B 3.8.3.4 Fonction M code sans compte rendu : %Rg04.W 3.8.3.5 Fonction M code avec compte rendu : %Rg1E.W 3.8.3.6 Fonctions M dcodes : %Rg20.L 3.8.3.7 Fonctions M dcodes (Etat des broches) : %Rg24.W 3.8.3.8 Blocage - dblocage daxes 3.8.3.9 Numro doutil : %Rg7C.L 3.8.4 Sortie vers les groupes daxes 3.8.4.1 Commandes Groupe : %Wg00.W 3.8.4.2 Valeur du potentiomtre davance : %Wg02.B 3.8.4.3 Mode groupe indpendant : %Wg03.B 3.8.5 Dfauts et diagnostic systme 3.8.5.1 Dfaut systme ou de configuration 3.8.5.2 Diagnostic systme 3.8.6 Choix du module animer 3.8.7 Autorisation d'criture des cartes sorties %W900.0 3.8.8 Gestion dfaut systme 3.8.9 Paramtres externes E30xxx, E40xxx et E42xxx 3.8.9.1 Paramtres externes E30xxx 3.8.9.2 Paramtres externes E40xxx 3.8.9.3 Paramtres E42xxx 3.8.10 Organisation physique des variables %R et %W
3-51 3-51 3-51 3-52 3-53 3-53 3-54 3-54 3-55 3-55 3-56 3-58 3-59 3-59 3-61 3-61 3-62 3-62 3-63 3-63 3-63 3-64 3-65 3-65 3-65 3-65 3-66 3-66 3-67 3-68 3-68 3-68 3-69 3-70 3-70 3-70 3-71
fr-938846/8
3-3
3-4
fr-938846/8
Variables
3.1
Les changes entre la fonction automatisme et la fonction CN seffectuent par lintermdiaire dune zone mmoire accessible au deux fonctions appele zone dchange. Les changes avec les cartes Entres/Sorties TOR sont traits directement par la fonction automatisme.
REMARQUE : Les termes Entres/Sorties sont dfinis par rapport la fonction automatisme. Une entre est une variable lue par la fonction automatisme. Une sortie est une variable crite par la fonction automatisme.
Fonction CN
Ecriture %R Lecture %R
Fonction automatisme
Lecture %Irc
ZONE D'ECHANGE
Ecriture %Qrc
Ecriture %W
fr-938846/6
3-5
3.2
Variable % - Mnmonique
Une variable possde deux types de reprsentation : - une reprsentation qui commence toujours par le caractre %. Cette reprsentation permet au compilateur de dterminer ladresse physique de la variable, - une reprsentation utilisateur facultative appele aussi mnmonique. Cette reprsentation ne peut pas commencer par le caractre %. Lutilisateur peut associer un mnmonique et une variable % dans une table de symboles (Voir manuel PLCTOOL Outil de programmation).
3.3
Variable %
Ce type de variable commence toujours par le caractre % suivi des champs : - Symbole, - Numro logique, - Taille, - Indexation.
Symbole Numro logique Taille Indexation
%
3.3.1 Champ symbole
Ce champ est obligatoire. Ce champ indique la famille de la variable Valeur champ %M %V %I %Q %R %W %S %Y Dfinition Pour les variables internes banalises sauvegardes Pour les variables internes banalises non sauvegardes Pour les variables en lecture de linterface E/S borniers Pour les variables en criture de linterface E/S borniers Pour les variables en lecture de linterface E/S CN Pour les variables en criture de linterface E/S CN Pour les variables mots communs Pour les variables locales
3.3.2
Ce champ est obligatoire. Ce champ permet de dsigner un objet lintrieur dune famille. Le numro logique est cod en hexadcimal sur 4 chiffres maximum. Le numro logique reprsente ladresse logique en OCTETS depuis le premier lment de la famille.
3-6
fr-938846/6
Variables
Exemples %M9 pointe loctet N 9 dans la famille des variables internes %M. %MA pointe loctet N 10 dans la famille des variables internes %M.
3.3.3
Champ taille
Dfinition Dsigne le bit n (de 0 7) de loctet (le bit 0 est le bit de poids faible, le bit 7 est le bit de poids fort) Dsigne lentier sign sur 8 bits Dsigne lentier sign sur 16 bits (poids fort ladresse n, poids faible ladresse n+1) Dsigne lentier sign sur 32 bits (poids fort ladresse n, poids faible ladresse n+3) Dsigne ladresse de la variable. Une adresse est code sur 32 bits
Ce champ commence par un point (.) suivi par un des caractres alphanumriques suivants : Valeur champ .n .B .W .L .&
3.3.4
Champ indexation
Ce champ est facultatif. Lindex est mis entre crochets [ ] aprs le champ taille. Lindex est une variable %M de taille .W (Ex : %M34.L[%M5.W]). La valeur de lindex est ajoute au numro logique de la variable de base pour trouver ladresse de la variable indexe. Exemple Si Alors: %M2.W = 4 %M8.L[%M2.W] dsigne %MC.L .
ATTENTION
Lindexation des variables bit agit sur ladresse de loctet mais ne modifie pas lemplacement du bit lintrieur de loctet. Exemple Si Alors %M2.W = 4 %M8.7[%M2.W] dsigne %MC.7 .
fr-938846/6
3-7
3.4
Mnmonique
Un mnmonique est une combinaison de 12 caractres maximum choisis parmi : - les 26 lettres majuscules ( A, B, C .... Z), - les 26 lettres minuscules (a, b, c, .... z), - les 10 chiffres (0, 1, 2, .... 9), - le soulign ( _ ). Un mnmonique doit commencer par une lettre (le soulign est exclu). Le compilateur ne fait pas la diffrence entre majuscule et minuscule. Lutilisateur doit associer un mnmonique avec une variable %. Ces associations sont sauvegardes dans les fichiers de symboles (*.XSY) de PLCTOOL.
3.4.1
Champ de coercition
Lors de lutilisation dun mnmonique, il est possible de spcifier des variables de taille diffrente de celles indiques lors de lassociation mnmonique/variable %. La coercition est indique aprs le mnmonique par un point (.) suivi du symbole de la nouvelle taille. Exemple Si le mnmomique Mot_tat est associ la variable %M3.B, Alors : le mnmomique Mot_tat.0 reprsente %M3.0 le mnmomique Mot_tat.7 reprsente %M3.7 le mnmomique Mot_tat.W reprsente %M3.W le mnmomique Mot_tat.L reprsente %M3.L
3.5
Ce sont les variables de %M0 %M77FF (soit 30 koctets). Les variables %M sont sauvegardes pendant une coupure secteur.
3.6
Ce sont les variables %V0 %V7FFF (soit 32 koctets). Ces variables %V ne sont pas sauvegardes pendant une coupure secteur ou sur une INIT de l'unit centrale. Elle sont remises zro linitialisation de l'unit centrale.
3-8
fr-938846/6
Variables
3.7
Ce type de variable est associ aux lments suivant : - cartes 32 entres TOR, - cartes 32 sorties TOR, - cartes 32 entres 24 sorties TOR, - cartes 32-24 I/O, - carte 64-48 I/O, - pupitre machine, - carte dextension 32 entres 24 sorties TOR du pupitre machine. Chaque carte E/S TOR borniers se compose : - dun bloc de 64 octets de variables %I en lecture, - dun bloc de 64 octets de variables %Q en criture. Les cartes E/S sont adresses logiquement (Voir 3.7.4) sur 4 digits. Par dfaut (sans configuration), on : @ logique = @ gographique
N de rack N de carte (de 0 6) (de 1 C) @ logique (de 0 3F)
I %Q r
Type dquipement Rack principal 19" Rack principal 12" Rack dextension 12 cartes Rack dextension 2 cartes Pupitre machine Exemple %I3500 %Q352F Numro de rack 0 0 16 16 0
c
Numro de carte 5C 58 1C 1 et 2 14
Le numro de carte c et le numro de rack r sont lis au type dquipement. Se reporter au Manuel dinstallation et de mise en oeuvre pour ladressage des racks.
Reprsente loctet 0 en lecture de la carte 5 situe dans le rack 3. Reprsente loctet 0x2F en criture de la carte 5 situe dans le rack 3.
fr-938846/6
3-9
3.7.1
Le poste des variables en lecture %Irc (pour les carte 0 C) est divis en deux parties : - la partie diagnostic de la carte, - la partie image de la carte. 3.7.1.1 Partie diagnostic carte
Cette partie regroupe des variables de diagnostic qui sont lues par lutilisateur. Les informations sont situes aux adresses logiques hautes (%Irc3F,%Irc3E, .. etc ...). La structure est identique pour tous les types de cartes. 3.7.1.2 Partie image des entres
Cette partie regroupe les images des entres de la carte. Les images des entres sont situes aux adresses logiques basses (%Irc00, %Irc01, ... etc ... ). La structure dpend du type de la carte.
3.7.2
Le poste des variables en criture %Qrc (pour les cartes 0 C) est divis en deux parties : - la partie configuration de la carte, - la partie image de la carte. 3.7.2.1 Partie configuration carte
Cette partie regroupe des variables de configuration qui sont crites par lutilisateur. Les informations sont situes aux adresses logiques hautes (%Qrc3F, %Qrc3E, .. etc ... ). La configuration des cartes E/S borniers doit tre programme dans la tche initialisation %INI. Le moniteur prend en compte la configuration la fin de la tche % INI, toute modification ultrieure de la configuration ne sera donc pas prise en compte par le moniteur. La structure est la mme pour tous les types de cartes. 3.7.2.2 Partie image des sorties
Cette partie regroupe les images des sorties de la carte. Les images des sorties sont situes aux adresses logiques basses (%Qrc00 , %Qrc01, .. etc ...). La structure dpend du type de la carte. Se reporter aux paragraphes suivants pour la structure de chaque carte.
3.7.3
3.7.3.1
Ce mot est crit par le moniteur aprs interrogation de la carte. %Irc3E.W == 0x700 indique une absence de carte. Exemple: %I123E.W Contient lidentificateur de la carte 2 du rack 1.
3 - 10
fr-938846/6
Variables
3.7.3.2
Ce mot renseigne lutilisateur sur ltat interne de la carte. Cette fonctionnalit est disponible uniquement sur les cartes 32E / 24S, 32-24 I/O, 64-48 I/O et les cartes dextensions 32E / 24S du pupitre machine. Le registre %Irc3C.W se dcompose comme suit :
Dfaut interne carte Dfaut court circuit / Alimentation
3
Bit 15 Bit 0
Si aucun dfaut nest dtect, ce registre pour valeur 0x00FF Le contrle du status interne de la carte est effectu priodiquement. Le programmeur peut fixer cette priode par la fonction DIAGIQ(). En cas de dtection de problme, ce registre ne sera plus rafrachi. Lutilisateur doit forcer le registre la valeur 0x00FF pour quil soit de nouveau rafrachi.
REMARQUE : Si il y a dtection dun dfaut interne carte, il y a monte du bit dfaut gnral cartes E/S borniers %R97F.2 (DEFCARTE).
3.7.3.3 Compteur dfaut dialogue %Irc3A.W
Ce mot sincrmente chaque fois quun dfaut liaison ou dfaut carte est dtect lors de linterrogation dune carte. Ce compteur se bloque 0x7FFF. 3.7.3.4 Status bus %Irc39.B
Cet octet renseigne lutilisateur sur ltat de la liaison sur le bus E/S srie : - 0 fonctionnement correct, - 1 pas de trame cho, - 2 erreur check-sum sur trame cho, - 3 pas de trame rponse, - 4 erreur check-sum sur trame rponse, - 5 fibre optique interrompue, - 6 autres erreurs. Les bits de dfaut interne carte recouvrent les bits de dfaut liaison entre et les bits de dfaut liaison sortie (voir dtails pour chaque type de carte supportant cette fonctionnalit). Si des bits de liaison entre sont 1, l'tat des bits de dfaut alimentation correspondant est non significatif. Si des bits de liaison sortie sont 1, l'tat des bits de dfaut court-circuit correspondant est non significatif.
REMARQUE : Si quatre dfauts de transmission conscutifs sur la mme carte se produisent, il y a monte du bit dfaut gnral liaison sur le bus E/S srie %R97F.0 (DEFBUS) et le chien de garde retombe. Si les dfauts de transmission se produisent linitialisation de l'unit centrale, il y a monte du bit dfaut gnral liaison sur le bus E/S srie %R97F.0 (DEFBUS) et le chien de garde nest pas valid.
fr-938846/7
3 - 11
3.7.4
3.7.4.1
Ce mot indique le type de carte que lutilisateur sattend trouver lemplacement de numro de rack r et de numro de carte c.Il doit tre programm dans une tche %INI. Il permet de contrler la conformit de la configuration carte/rack dune application. Ce contrle est effectu par comparaison avec les valeurs lues dans %Irc3E.W.
REMARQUE : Si il y a divergence entre la configuration prvue %Qrc3E.W et la configuration relle %Irc3E.W, alors il y a monte du bit dfaut gnral configuration cartes E/ S borniers %R97F.1 (DEFCONF), les entres/sorties ne sont plus rafrachies et le chien de garde nest pas valid.
%Qrc3E.W est initialis 0x700. Cette valeur indique une absence de configuration de la carte. Dans ce cas le moniteur traite la carte uniquement si elle est prsente dans le rack. Exemple %Q123E.W == Contient lidentificateur de la carte que lon sattend trouver lemplacement 2 du rack 1. Option adresse logique gographique %Qrc3D.B
3.7.4.2
Permet de choisir la carte physique associe avec le poste %Irc et %Qrc. Cette option permet de grer facilement les volutions physiques du systme sans modifier dans le programme les variables dentres/sorties. Si loctet %Qrc3D.B == rc, alors la carte physique associe au poste %Irc et %Qrc est la carte c du rack r. Le chargement de %Qrc3D.B avec rc doit se faire dans la tche %INI, le systme prend en compte %Qrc3D.B uniquement au retour de %INI. Lorsque r nindique pas un rack configur ou c nindique pas une carte configure(Erreur ERR_CONFIG_SBCE), il y a monte du bit dfaut gnral configuration cartes E/S borniers %R97F.1 (DEFCONF), les entres/sorties ne sont plus rafrachies et le chien de garde nest pas valid. Le systme initialise par dfaut loctet %Qrc3D.B la valeur rc (soit adresse logique = adresse gographique). La reconnaissance gographique du bus tant effectu avant la tche %INI, lutilisateur peut exploiter le mot %Irc3E.W (Identificateur carte) dans cette tche. Sil y a utilisation de loption adressage logique (%Qrc3D.B), lidentificateur lu sur le bus sera dplac en consquence dans la table dentres/sorties. Exemple Dans la configuration de base, on a une carte 32E/24S lemplacement 7 dans le rack principal.
3 - 12
fr-938846/6
Variables
Une volution de configuration oblige dplacer la carte du rack 0 emplacement 7 vers le rack dextension 1 emplacement 1.
Doit tre programme dans la tche %INI. Cet octet permet de fixer une priorit la carte. Il permet dassocier une carte avec une tche systmatique %TS0, %TS1 %TS4 ou %TS5. Cette possibilit permet de diminuer le traitement systmatique chaque HTR. Valeur de loctet 0 1 2 3 4 5 Priodicit de traitement La carte est traite toutes les HTR. La carte est traite toutes les 5 HTR en phase avec %TS1. La carte est traite toutes les 5 HTR en phase avec %TS2. La carte est traite toutes les 5 HTR en phase avec %TS3. La carte est traite toutes les 5 HTR en phase avec %TS4. La carte est traite toutes les 5 HTR dans la tche systme %TS5.
Les entres des cartes de priorit i = 1, 2, 3, 4 sont lues avant lappel de %TSi. Les sorties des cartes de priorit i = 1, 2, 3, 4 sont crites en fin de %TSi. Si loctet priorit nest pas compris entre 0 et 5, la carte nest pas rafrachie priodiquement par le moniteur. Son accs est cependant possible par les fonctions de lecture et criture explicite (Voir 10.2 fonction read_i(...) et 10.3 fonction write_q(...) ). Le systme initialise par dfaut loctet de priorit la valeur 0.
fr-938846/6
3 - 13
3.7.4.4
Doit tre programm dans la tche %INI. Lorsquil est un, ce bit indique que la sortie %Qrc00.0 de cette carte est une sortie chien de garde. Deux chiens de garde sont autoriss; le moniteur scrute l'ensemble des variables %Qrc3B.0 et slectionne les deux premiers chiens de garde programms dans l'ordre (r,c) croissant. En cas de dfaut dinitialisation des chiens de garde, il y a monte du bit dfaut gnral configuration cartes E/S borniers %R97F.1 (DEFCONF), les entres/sorties ne sont plus rafrachies et les chiens de garde ne sont pas valids. 3.7.4.5 Autorisation accs CN %Qrc3B.1
Valide ou invalide laccs aux cartes sorties (par les paramtres E33xxx) et aux cartes entres (par les paramtres E43xxx) en programmation pice. La variable 0 interdit laccs la carte par programmation pice. La variable 1 autorise laccs la carte par programmation pice. Par dfaut la variable %Qrc3B.1 est positionne 0 par le moniteur.
REMARQUE:
%Qrc3B.1 doit tre programm dans le %INI. Suivant l'tat de la variable %W900.0, l'accs aux sorties est possible ou non par E33xxx.
3 - 14
fr-938846/6
Variables
3.7.5
Les variables %I et %Q sont organises en blocs mmoire de 64 octets %I suivis de 64 octets %Q correspondant une carte et ainsi de suite jusqu la dernire carte du rack. Les racks sont conscutifs et contigus (du rack 0 au rack 6). 3.7.5.1 Organisation physique des variables %I et %Q du rack N r
Offset 0 %Ir00 %Ir03F %Qr00 %Qr03F %Ir100 %Ir13F %Qr100 %Qr13F FF 64 octets %I carte 0
3F
64 octets %Q carte 0
7F
64 octets %I carte 1
BF
64 octets %Q carte 1
700 %IrE00 %IrE3F %QrE00 %QrE3F %IrF00 %IrF3F %QrF00 %QrF3F 64 octets %I carte E
73F
64 octets %Q carte E
77F
64 octets %I carte F
7BF
64 octets %Q carte F
7FF
fr-938846/6
3 - 15
3.7.5.2
3 - 16
fr-938846/6
Variables
3.7.6
3.7.6.1 Cartes 1060
Type de carte Carte 32 Entres Carte 32 Entres V2 Carte 32 Sorties Carte 32 Sorties V2 Carte 32 Entres 24 Sorties Carte 32-24 I/O Carte 32-24 80 mA Carte 64-48 I/O Carte 64-48 I/O 80 mA Pupitre machine Pupitre machine avec extension Absence de carte Cartes 1020/1040/1050 Type de carte Carte 32 24 I/O 80mA Carte 64-48 I/O 80mA 3.7.6.2 Rack 1060
Valeur de %Irc3E.W et Qrc3E.W 0x0A00 0x0A10 0x0100 0x0110 0x1500 0x0F00 0x0F10 0x0300 0x0310 0x02C0 0x0200 0x0700
REMARQUE : Les composants matriels racks (alimentation + tlerie + bus) correspondent la carte N 0.
Type de rack Principal Principal Principal Principal Principal Principal Principal Principal Extension 12 Extension 12 Extension 2 Nb de cartes 8 8 8 8 4 4 4 4 12 12 2 Alimentation 130 W 130 W 60 W 60 W 130 W 130 W 60 W 60 W 130 W 60 W Fibre optique Oui Non Oui Non Oui Non Oui Non Valeur de lidentificateur %Ir03E.W 0x0 0x80 0x10 0x90 0x3000 0x3080 0x3010 0x3090 0x1000 0x1010 0x2020
fr-938846/8
3 - 17
Rack 1020/1040 Fibre optique Oui Non Valeur de lidentificateur %Ir03E.W 0x40B0 0x4030
3.7.7
Identificateur carte 32 entres %Irc3E.W == 0x0A00. Identificateur carte 32 entres V2 %Irc3E.W == 0x0A10. Type de variable %Irc00 %Irc01 %Irc02 %Irc03 Type dentres Entres TOR de 0 7 Entres TOR de 8 15 Entres TOR de 16 23 Entres TOR de 24 31 Variables %Irc00.0 (Entre 00.0) %Irc00.7 (Entre 00.7) %Irc01.0 (Entre 01.0) %Irc01.7 (Entre 01.7) %Irc02.0 (Entre 02.0) %Irc02.7 (Entre 02.7) %Irc03.0 (Entre 03.0) %Irc03.7 (Entre 03.7)
COM 0 00.0 00.1 00.2 00.3 00.4 00.5 00.6 00.7 01.0 01.1 01.2 01.3 01.4 01.5 01.6 01.7 COM 1 COM 2 02.0 02.1 02.2 02.3 02.4 02.5 02.6 02.7 03.0 03.1 03.2 03.3 03.4 03.5 03.6 03.7 COM 3
De %Irc00.0 %Irc00.7
De %Irc01.0 %Irc01.7
De %Irc02.0 %Irc02.7
De %Irc03.0 %Irc03.7
32 E
3 - 18
fr-938846/6
Variables
3.7.8
Identificateur carte 32 sorties %Irc3E.W == 0x0100. Identificateur carte 32 sorties V2 %Irc3E.W == 0x0110. Type de variable %Qrc00 %Qrc01 %Qrc02 %Qrc03 Type de sorties Sorties TOR 0 7 Sorties TOR 8 15 Sorties TOR 16 23 Sorties TOR 24 31 Variables %Qrc00.0 (Sortie 00.0) %Qrc00.7 (Sortie 00.7) %Qrc01.0 (Sortie 01.0) %Qrc01.7 (Sortie 01.7) %Qrc02.0 (Sortie 02.0) %Qrc02.7 (Sortie 02.7) %Qrc03.0 (Sortie 03.0) %Qrc03.7 (Sortie 03.7)
00.0:WD COM0 00.1 COM1 00.2 00.3 00.4 00.5 00.6 00.7 01.0 01.1 01.2 01.3 01.4 01.5 01.6 01.7 COM2 02.0 02.1 02.2 02.3 02.4 02.5 02.6 02.7 03.0 03.1 03.2 03.3 03.4 03.5 03.6 03.7 COM3
De %Qrc00.0 %Qrc00.7
De %Qrc01.0 %Qrc01.7
De %Qrc02.0 %Qrc02.7
De %Qrc03.0 %Qrc03.7
32 S
fr-938846/6
3 - 19
3.7.9
Identificateur carte 32E 24S %Irc3E.W == 0x1500. Identificateur carte 32-24 I/O %Irc3E.W == 0x0F00. Identificateur carte 32-24 I/O 80 mA %Irc3E.W == 0x0F10. Dtail du registre %Irc3C.W
Court-circuit groupe sortie 0 1 = Pas de CC Court-circuit groupe sortie 1 0 = CC Dfaut liaison entre groupe 0 Dfaut liaison entre groupe 1 1 = Dfaut Dfaut liaison sortie groupe 0 0 = OK Dfaut liaison sortie groupe 1
Type dentres ou sorties Entres TOR 0 7 Entres TOR 8 15 Entres TOR 16 23 Entres TOR 24 31 Sorties TOR 0 7 Sorties TOR 8 15 Sorties TOR 16 23
3 - 20
fr-938846/6
Variables
24.O
24 S
%Qrc00.0 %Qrc02.7
3
%Qrc00.0 %Qrc02.7
32.I
24 VEE 0VE
32 E
%Irc00.0 %Irc03.7
%Irc00.0 %Irc03.7
32.I / 24.O
32 E / 24 S
Carte 32E/24S
fr-938846/6
3 - 21
3.7.10
Identificateur carte 64-48 I/O %Irc3E.W == 0x0300. Identificateur carte 64-48 I/O 80 mA %Irc3E.W == 0x0310. Dtail du registre %Irc3C.W
Dfaut alimentation des entres Dfaut alimentation des entres Dfaut alimentation des entres Dfaut alimentation des entres Court-circuit 0.0 1.7 Court-circuit 2.0 3.7 Court-circuit 4.0 5.7
1 = Pas de CC 0 = CC
Dfaut liaison entres 0.0 1.7 Dfaut liaison entres 2.0 3.7 Dfaut liaison entres 4.0 5.7 Dfaut liaison entres 6.0 7.7 Dfaut liaison sorties 0.0 1.7 Dfaut liaison sorties 2.0 3.7 Dfaut liaison sorties 4.0 5.7
1 = Dfaut 0 = OK
Type de variable %Irc00 %Irc01 %Irc02 %Irc03 %Irc04 %Irc05 %Irc06 %Irc07 %Qrc00 %Qrc01 %Qrc02 %Qrc03 %Qrc04 %Qrc05
Type dentres ou sorties Entres TOR 0 7 Entres TOR 8 15 Entres TOR 16 23 Entres TOR 24 31 Entres TOR 32 39 Entres TOR 40 47 Entres TOR 48 55 Entres TOR 56 63 Sorties TOR 0 7 Sorties TOR 8 15 Sorties TOR 16 23 Sorties TOR 24 31 Sorties TOR 32 39 Sorties TOR 40 47
3 - 22
fr-938846/6
Variables
48.O
3
64.I
me
64.I / 48.O
fr-938846/6
3 - 23
3.7.11
Identificateur carte %Irc3E.W == 0x2C0 Type de variable %Irc00 %Irc01 %Irc02 %Irc03 %Irc04 %Irc20.W %Irc22.W %Qrc00 %Qrc01 %Qrc02
%Qrc00.0 (Sortie 0) %Qrc00.7 (Sortie 7) %Qrc01.0 (Sortie 8) %Qrc01.7 (Sortie 15) %Qrc02.0 (Sortie 16) %Qrc02.7 (Sortie 23)
%Qrc01.1 %Qrc01.2 %Qrc01.3 %Qrc01.4 %Qrc01.5 (led_10) (led_100) (led_1000) (led_10000) (led_ill) %Irc02.1 (jog_10) %Irc02.4 %Irc02.5 %Irc02.2 %Irc02.3 (jog_100) (jog_1000) (jog_10000) (jog_ill)
%Irc01.0 (manip4h)
%Irc00.3 (manip1b)
%Irc00.5 (manip2b)
CYCLE START
CYCLE STOP
%Irc22.W (potavpup)
%Irc04.2 (fct_3)
%Irc04.7 (fct_8)
%Irc01.2 (rapmanpu)
%Qrc02.0 %Qrc02.1 %Qrc02.2 %Qrc02.3 %Qrc02.4 %Qrc02.5 %Qrc02.6 %Qrc02.7 (led_fct1) (led_fct2) (led_fct3) (led_fct4) (led_fct5) (led_fct6) (led_fct7) (led_fct8)
3 - 24
fr-938846/6
Variables
3.7.12
Court-circuit groupe sortie 0 1 = Pas de CC Court-circuit groupe sortie 1 0 = CC Dfaut liaison entre groupe 0 Dfaut liaison entre groupe 1 1 = Dfaut Dfaut liaison sortie groupe 0 0 = OK Dfaut liaison sortie groupe 1 Type de variable %Irc00 %Irc01 %Irc02 %Irc03 %Irc04 %Irc10 %Irc11 %Irc12 %Irc13 %Irc20.W %Irc22.W %Qrc00 %Qrc01 %Qrc02 %Qrc10 %Qrc11 %Qrc12 Type dentres ou sorties Entres TOR 0 7 Entres TOR 8 15 Entres TOR 16 23 Entres TOR 24 31 Entres TOR 32 39 Entres TOR 40 47 Entres TOR 48 55 Entres TOR 56 63 Entres TOR 64 71 Entre analogique 0 Entre analogique 1 Sorties TOR 0 7 Sorties TOR 8 15 Sorties TOR 16 23 Sorties TOR 24 31 Sorties TOR 32 39 Sorties TOR 40 47 Variables %Irc00.0 (Entre 0) %Irc00.7 (Entre 7) %Irc01.0 (Entre 8) %Irc01.7 (Entre 15) %Irc02.0 (Entre 16) %Irc02.7 (Entre 23) %Irc03.0 (Entre 24) %Irc03.7 (Entre 31) %Irc04.0 (Entre 32) %Irc04.7 (Entre 39) %Irc10.0 (Entre 40) %Irc10.7 (Entre 47) %Irc11.0 (Entre 48) %Irc11.7 (Entre 55) %Irc12.0 (Entre 56) %Irc12.7 (Entre 63) %Irc13.0 (Entre 64) %Irc13.7 (Entre 71)
%Qrc00.0 (Sortie 0) %Qrc00.7 (Sortie 7) %Qrc01.0 (Sortie 8) %Qrc01.7 (Sortie 15) %Qrc02.0 (Sortie 16) %Qrc02.7 (Sortie 23) %Qrc10.0 (Sortie 24) %Qrc10.7 (Sortie 31) %Qrc11.0 (Sortie 32) %Qrc11.7 (Sortie 39) %Qrc12.0 (Sortie 40) %Qrc12.7 (Sortie 47)
REMARQUE
Pour raliser le test des lampes de sorties du pupitre, il ne faut pas l'effectuer en une seule opration. Dans le programme automate, tester d'abord la moiti des lampes, puis ensuite la seconde moiti.
fr-938846/6
3 - 25
3 - 26
fr-938846/6
Variables
3.7.13
3.7.13.1
Type de variable %I100.B %I101.B %I103.B %I104.B %I105.B %I122.W %Q100.B %Q102.B %Q103.B
3.7.13.2
ESC G 7 4 1
%
? M 8 5 2 0
E
/ 9 6 3 .
INSER
DEL
F1
F2
F3
F4
F5
F6
F7
F8
F9
F10
F11
F12
%Q100.1
%Q100.0
%I103.0
%I103.1
3.7.13.3
Le pupitre compact dispose de cartouches spcifiques dont le nouveau cartouche JOG qui permet de slectionner l'axe pilot par les manipulateurs :
MANIV
../..
puis
JOG
(F7).
fr-938846/8
3 - 27
Les axes dont les noms figurent dans les touches du cartouche sont les axes dfinis par le paramtre machine P9 (Voir manuel des paramtres), ils apparaissent dans l'ordre de dfinition. 3.7.13.4 Image des voyants des touches personnalisables
Les fonctions actives par les touches personnalisables sont indiques par un voyant de la fentre Status :
SFCT 1 2 3 4 5 6 FCT 1 2 3 4 5 6
%Q102.5 %Q102.4 %Q102.3 %Q102.2 %Q102.1 %Q102.0
Les voyants du bas reprsentent les voyants des touches personnalisables seules, les voyants du haut reprsentent les voyants des touches personnalisables shiftes.
3 - 28
fr-938846/6
Variables
3.8
3.8.1
3.8.1.1 Variable %R0.W
Etat Machine : %R2.W Mnmonique E_M01 Description Arrt programm optionnel valid Image du champ M01 de la fentre status CN. Signale la prise en compte des arrts programms optionnels dans un programme pice. Inversion du bit par appui sur la touche M01 du pupitre ou aprs lecture de C_M01 = 1. Saut de bloc valid Image du champ / de la fentre status CN. Signale la prise en compte des sauts de blocs dans un programme pice. Inversion du bit par appui sur la touche / du pupitre ou aprs lecture de C_SLASH = 1. Etat intervention Aprs un ARUS, le passage ltat INTERV se fait sur le premier appui sur la touche RAPPEL DAXE du pupitre machine. Mise 1 aprs lecture par la CN de C_RAX = 1. Mise 0 aprs lecture par la CN de C_RAX = 0. Etat recul / retour sur trajectoire La mise 1 met la CN en recul ou en retour La mise 0 annule cet tat. Fonctionnalit N/M AUTO La mise 1 du bit signale que la fonctionnalit N/M (2/3, 3/5, .. etc ...) est active. Image du voyant oprateur Signale un arrt programme provoqu par M00 ou un M01 valid. Mise 1 sur un M00 ou un M01. Mise 0 par touche CYCLE du pupitre machine (C_CYCLE = 1). CN en dfaut Image du champ CN?? de la fentre status CN. Signale un dfaut machine ou un dfaut de programmation pice. Le numro de dfaut machine se lit dans ERRMACH. Mise 1 sur apparition dun dfaut machine (Erreurs E30 E33, E36, E40 E71) ou un dfaut de programmation pice. Mise 0 par touche RAZ du pupitre, C_RAZ = 1. Dgagement durgence gnral Signale lexcution dun programme de dgagement durgence. Mise 1 aprs lecture par le CN de C_DGURG = 1 et si le programme de dgagement durgence est valid. Mise 0 sur dtection dun M00 ou un M02.
%R2.6
E_SLASH
%R2.5
E_INTERV
%R2.4
S_RECUL
%R2.1 %R3.7
E_NMAUTO E_OPER
%R3.6
E_DEFCN
%R3.4
E_DGURG
fr-938846/6
3 - 29
Variable %R3.3
Mnmonique E_RAX
Description Rappel daxe gnral Dans le mode INTERV et en fin de RNS, signale que le rappel daxe est valid. Mise 1 aprs lecture par la CN de C_RAX = 1. Mise 0 aprs lecture par la CN de C_RAX = 0. Cycle en cours Mise 1 par touche CYCLE du pupitre machine (C_CYCLE = 1). Mise 0 par touche RAZ du pupitre, C_RAZ = 1 ou en fin dexcution de programme (M02). Sortie arrt dusinage Signale ltat INTERV du systme (arrt du programme en cours dexcution et validation des manipulateurs daxes. Mise 1 par touche ARUS du pupitre machine (C_ARUS = 1). Mise 0 par touche CYCLE du pupitre machine (C_CYCLE = 0). Remise zro CN en cours Bit impulsionnnel dune dure de 100 ms qui signale une initialisation du systme. Pendant la dure de cette impulsion, les donnes venant de la fonction automatisme ne sont pas prises en compte. Mise 1 par touche RAZ du pupitre, sur demande de RAZ de la fonction automatisme (C_RAZ = 1), en fin dexcution dun programme pice (M02) ou la mise sous tension de la CN. Cette variable est mise 0 aprs 100 ms.
%R3.2
E_CYCLE
%R3.1
E_ARUS
%R3.0
E_RAZ
Etat CN : %R4.W Mnmonique E_TRANSP Description Mode transparent Permet la fonction automatisme laccs lcran de la CN pour y visualiser des informations (table de donnes, .. etc ...). La CN peut tre en cours dusinage. Mise 1 par validation de la page cran MODE TRANSPARENT. Mise 0 par abandon de la page cran MODE TRANSPARENT. Mode passant prt Indique que la CN est prte fonctionner en mode passant, ou que lusinage effectuer command par la fonction automatisme, se fait en mode passant lecteur. Dans le second cas PROGDEM doit tre charg la valeur -2 (0xFFFE). Mise 1 aprs CHOIX DU PROGRAMME COURANT et programmation au clavier de PPR ou PPL suivi de ENTER. Mise 0 aprs CHOIX DU PROGRAMME COURANT et programmation au clavier de -PPR ou -PPL suivi de ENTER. Programme en cours Signale quun programme pice est en cours dexcution dans les modes CONT, SEQU, IMD et RAP. Mise 1 par une premire impulsion sur la touche CYCLE du pupitre machine (C_CYCLE = 1). Mise 0 par dtection dun M00 (Arrt programm), M01 (Arrt programm optionnel), M02 (Fin de programme), par touche RAZ du pupitre, C_RAZ = 1 ou la mise sous tension.
%R5.5
E_PPP
%R5.1
E_PROG
3 - 30
fr-938846/6
Variables
Variable %R5.0
Mnmonique E_CNPRET
Description CN prte Signale que la puissance peut tre mise sur la machine. Mise 1 la mise sous tension et par touche RAZ du pupitre, C_RAZ = 1. Mise 0 aprs dtection dune trop grande erreur de poursuite sur un axe ou dfaut salissure ou de complmentarit des voies du gnrateur dimpulsions dtect sur un axe.
Axes en mouvements : %R6.L Mnmonique AXMVT31 AXMVT24 Description axe N31 en mouvement axe N24 en mouvement Signale les axes 24 31 en mouvement pendant lexcution dun bloc dans un programme pice ou en IMD. Mise 1 en dbut dexcution du bloc. Mise 0 en fin dexcution du bloc sil comporte un M00 ou un M01, en fin dexcution du bloc en IMD, avant deffectuer un blocage daxes, touche RAZ du pupitre, C_RAZ = 1. axe N23 en mouvement axe N 16 en mouvement Signale les axes 16 23 en mouvement pendant lexcution dun bloc dans un programme pice ou en IMD. Mise 1 en dbut dexcution du bloc. Mise 0 en fin dexcution du bloc sil comporte un M00 ou un M01, en fin dexcution du bloc en IMD, avant deffectuer un blocage daxes, touche RAZ du pupitre, C_RAZ = 1. axe N15 en mouvement axe N8 en mouvement Signale les axes 8 15 en mouvement pendant lexcution dun bloc dans un programme pice ou en IMD. Mise 1 en dbut dexcution du bloc. Mise 0 en fin dexcution du bloc sil comporte un M00 ou un M01, en fin dexcution du bloc en IMD, avant deffectuer un blocage daxes, touche RAZ du pupitre, C_RAZ = 1. axe N7 en mouvement axe N0 en mouvement Signale les axes 0 7 en mouvement pendant lexcution dun bloc dans un programme pice ou en IMD. Mise 1 en dbut dexcution du bloc. Mise 0 en fin dexcution du bloc sil comporte un M00 ou un M01, en fin dexcution du bloc en IMD, avant deffectuer un blocage daxes, touche RAZ du pupitre, C_RAZ = 1.
%R7.7 %R7.0
AXMVT23 AXMVT16
%R8.7 %R8.0
AXMVT15 AXMVT8
%R9.7 %R9.0
AXMVT7 AXMVT0
fr-938846/6
3 - 31
Axes initialiss (POM faite) : %RA.L Mnmonique AXINI31 AXINI24 Description axe N31 initialis axe N24 initialis. Signale les axes dont la prise dorigine (POM) a t faite. Mise 0 quand la prise dorigine est effectu sur laxe correspondant Mise 1 linitialisation du systme (POM non faite) axe N23 initialis axe N16 initialis. Signale les axes dont la prise dorigine (POM) a t faite. Mise 0 quand la prise dorigine est effectu sur laxe correspondant Mise 1 linitialisation du systme (POM non faite) axe N15 initialis axe N8 initialis. Signale les axes dont la prise dorigine (POM) a t faite. Mise 0 quand la prise dorigine est effectu sur laxe correspondant Mise 1 linitialisation du systme (POM non faite) axe N7 initialis axe N0 initialis. Signale les axes dont la prise dorigine (POM) a t faite. Mise 0 quand la prise dorigine est effectu sur laxe correspondant Mise 1 linitialisation du systme (POM non faite)
%RB.7 %RB.0
AXINI23 AXINI16
%RC.7 %RC.0
AXINI15 AXINI8
%RD.7 %RD.0
AXINI7 AXINI0
3.8.1.6
Les paramtres externes E100xx sont lus par le programme utilisateur. La gestion de ces paramtres est assure par le programme pice qui peut les lire et les crire. Ils permettent dchanger des informations boolennes entre les programmes pice et le programme utilisateur. Variable %R11.0 %R11.1 %R11.2 %R11.3 %R11.4 %R11.5 %R11.6 %R11.7 %R10.0 %R10.1 %R10.2 %R10.3 %R10.4 %R10.5 %R10.6 %R10.7 Mnmonique E10000 E10001 E10002 E10003 E10004 E10005 E10006 E10007 E10008 E10009 E10010 E10011 E10012 E10013 E10014 E10015 Variable %RF.0 %RF.1 %RF.2 %RF.3 %RF.4 %RF.5 %Rf.6 %RF.7 %RE.0 %RE.1 %RE.2 %RE.3 %RE.4 %RE.5 %RE.6 %RE.7 Mnmonique E10016 E10017 E10018 E10019 E10020 E10021 E10022 E10023 E10024 E10025 E10026 E10027 E10028 E10029 E10030 E10031
3 - 32
fr-938846/6
Variables
Etat des Broches : %R12.W Mnmonique B4_ARR B3_ARR B2_ARR B1_ARR B4_ROT Description Bit 1 indique que la broche N4 est l'arrt , c'est dire que sa vitesse de rotation est infrieure au paramtre E90343 (Voir manuel de programmation) Bit 1 indique que la broche N3 est l'arrt , c'est dire que sa vitesse de rotation est infrieure au paramtre E90342 (Voir manuel de programmation) Bit 1 indique que la broche N2 est l'arrt , c'est dire que sa vitesse de rotation est infrieure au paramtre E90341 (Voir manuel de programmation) Bit 1 indique que la broche N1 est l'arrt , c'est dire que sa vitesse de rotation est infrieure au paramtre E90340 (Voir manuel de programmation) Bit 1 indique que la rotation de la broche N4 est correcte , c'est dire que sa vitesse de rotation est comprise dans la fourchettede tolrance de vitesse donne par le paramtre E90353 (Voir manuel de programmation) Bit 1 indique que la rotation de la broche N3 est correcte , c'est dire que sa vitesse de rotation est comprise dans la fourchettede tolrance de vitesse donne par le paramtre E90352 (Voir manuel de programmation) Bit 1 indique que la rotation de la broche N2 est correcte , c'est dire que sa vitesse de rotation est comprise dans la fourchettede tolrance de vitesse donne par le paramtre E90351 (Voir manuel de programmation) Bit 1 indique que la rotation de la broche N1 est correcte , c'est dire que sa vitesse de rotation est comprise dans la fourchettede tolrance de vitesse donne par le paramtre E90350 (Voir manuel de programmation) Broche N4 en position Sur une demande dindexation ou de synchronisation de broche, signale que la broche N4 est en position ou synchronise. Mise 1 lorsque la position demande est atteinte. Mise 0 lorsque la position est quitte, sur des oscillations et fonction M19 rvoque. Broche N3 en position Sur une demande dindexation ou de synchronisation de broche, signale que la broche N3 est en position ou synchronise. Mise 1 lorsque la position demande est atteinte. Mise 0 lorsque la position est quitte, sur des oscillations et fonction M19 rvoque. Broche N2 en position Sur une demande dindexation ou de synchronisation de broche, signale que la broche N2 est en position ou synchronise. Mise 1 lorsque la position demande est atteinte. Mise 0 lorsque la position est quitte, sur des oscillations et fonction M19 rvoque. Broche N1 en position Sur une demande dindexation ou de synchronisation de broche, signale que la broche N1 est en position ou synchronise. Mise 1 lorsque la position demande est atteinte. Mise 0 lorsque la position est quitte, sur des oscillations et fonction M19 rvoque.
%R12.2
B3_ROT
%R12.1
B2_ROT
%R12.0
B1_ROT
%R13.3
POSBR4
%R13.2
POSBR3
%R13.1
POSBR2
%R13.0
POSBR1
fr-938846/6
3 - 33
Type dincrment de JOG : %R15.B Mnmonique E_INCJOG Description Incrment de JOG en cours La valeur de la variable est limage de lincrment de JOG en cours : 0x0A Dplacement manuel au pas de 10-6 pouce 0x09 Dplacement manuel au pas de 10-2 m ou 10-5 pouce 0x00 Dplacement manuel au pas de 10-1 m ou 10-4 pouce 0x01 Dplacement manuel au pas de 1m ou 10-3 pouce 0x02 Dplacement manuel au pas de 10 m ou 10-2 pouce 0x03 Dplacement manuel au pas de 100 m ou 10-1 pouce 0x04 Dplacement manuel au pas de 1000 m ou 1 pouce 0x05 Dplacement manuel au pas de 10000 m ou 1 pouce 0x06 Dplacement manuel en continu 0x08 Dplacement manuel par manivelle Le choix de la valeur de lincrment en m ou en pouce dpend de la valeur de la variable C_UNIT.
Mode en cours : %R16.B Mnmonique MODCOUR Description Mode en cours La valeur de la variable est limage du mode CN en cours : 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0A 0x0B 0x0D 0x0F 0x10 Mode Continu CONT Mode Squentiel SEQ Mode Immdiat IMD Mode Rapide RAP Mode Recherche de Numro de Squence RNS Mode Modification MODIF Mode Test TEST Mode Manuel MANU Mode Prise dOrigine Mesure POM Mode Prise de Rfrence PREF Mode Rglages Outils REGOUT Absence de mode Mode Chargement CHARG Mode Dchargement DECHG Mode spcifiant groupes indpendnts
3 - 34
fr-938846/8
Variables
Variables diverses Mnmonique E_BAT Description Etat des batteries E_BAT = 0 batteries OK E_BAT = 1 batteries changer. Validation cran en configuration PCNC La mise 1 indique que l'cran est utilis par une application utilisateur (mode transparent bloqu). La mise 0 indique que l'cran est utilis par l'application CN NUM (mode transparent possible) Numro de la page visualise Cette variable est limage de la page visualise lcran de la CN : 0x01 0x03 0x04 0x05 0x06 0x07 0x08 0x19 0x1A 0x09 0x0A 0x15 0x17 0x0E 0x11 0x1B Page liste LISTE Page programme PROG. Page informations INFO Page variables programmes L/@ Pages point courant AXES Page corrections doutils OUTILS Page programmation graphique PROCAM Page chargement en cours dusinage Page dchargement en cours dusinage Page entres/sortiesE/S Page des utilitaires UTIL Page des dcalages PREF Page du mode modif Page du mode chargement Page du mode dchargement Mode transparent appel directement par PUTKEY
%R14.0
SC_USED
%R17.B
PGVISU
%R18.B
ERRMACH
Numro derreur machine Cette variable permet la lecture en dcimal du numro derreur machine dtecte par le systme (Erreurs 18, 30 33, 35, 36, 39 71, 210 241, 245, 300 331).
%R19.B
ID_KB_CN
%R1A.W
PROGCOUR
REMARQUE Se reporter au manuel oprateur pour la liste des erreurs machine. Identificateur pupitre actif ou CN active. En configuration multi pupitre, donne le numro du pupitre actif (de 0 7). En configuration multi CN, donne le numro de la CN active (de 0 4). Numro du programme courant Permet la lecture du numro de programme courant. La valeur 0XFFFF (-1) indique labsence de programme courant. La valeur 0xFFFE (-2) indique la slection du mode passant.
fr-938846/7
3 - 35
Vitesse de broche : %R1C.W %R22.W Mnmonique VITBR1 Description Vitesse Broche 1 Permet la lecture de la valeur code en hexadcimal de la rfrence du variateur de broche 1 dans la gamme de vitesse programme. Labsence des fonctions M3 et M4 dans le programme pice force la valeur de la variable 0. Vitesse Broche 2 Permet la lecture de la valeur code en hexadcimal de la rfrence du variateur de broche 2 dans la gamme de vitesse programme. Labsence des fonctions M3 et M4 dans le programme pice force la valeur de la variable 0. Vitesse Broche 3 Permet la lecture de la valeur code en hexadcimal de la rfrence du variateur de broche 3 dans la gamme de vitesse programme. Labsence des fonctions M3 et M4 dans le programme pice force la valeur de la variable 0. Vitesse Broche 4 Permet la lecture de la valeur code en hexadcimal de la rfrence du variateur de broche 4 dans la gamme de vitesse programme. Labsence des fonctions M3 et M4 dans le programme pice force la valeur de la variable 0.
%R1E.W
VITBR2
%R20.W
VITBR3
%R22.W
VITBR4
Axe blocable : %R24.L Mnmonique AXBLK31 AXBLK24 Description Axe N 31 axe N 24 La mise 1 dclare l'axe blocable La mise 0 dclare l'axe non blocable La RAZ remet les axes conformes au paramtre machine P8 Axe N 23 axe N 16 La mise 1 dclare l'axe blocable La mise 0 dclare l'axe non blocable La RAZ remet les axes conformes au paramtre machine P8 Axe N 15 axe N 8 La mise 1 dclare l'axe blocable La mise 0 dclare l'axe non blocable La RAZ remet les axes conformes au paramtre machine P8 Axe N 7 axe N 0 La mise 1 dclare l'axe blocable La mise 0 dclare l'axe non blocable La RAZ remet les axes conformes au paramtre machine P8
%R25.7 %R25.0
AXBLK23 AXBLK16
%R26.7 %R26.0
AXBLK15 AXBLK8
%R27.7 %R27.0
AXBLK7 AXBLK0
3 - 36
fr-938846/6
Variables
3.8.1.13
Pour le variateur numrique d'adresse xx (xx compris entre 00 et 31), le mot d'tat se prsente sous la forme :
CCGM Gamma Position El OK
Autocal In
Run OK
Torque OK
Drive Status
Speed OK
Power Rs
Drive Enable
Leam Status
Bit %REzz.0 %REzz.1 %REzz.2 %REzz.3 %REzz.4 %REzz.5 %REzz.6 %REzz.7 %REyy.0 %REyy.1 %REyy.2
Signification Learn Status Drive Enable Power Rs Speed OK Drive Status Torque OK Run OK Autocalibration In Position OK Gamma El CCGM
Valeurs Rserv 0 : variateur non valid 1 : variateur valid 0 : tension bus non prsente 1 : tension bus prsente 0 : vitesse non atteinte 1 : vitesse atteinte 0 : arrt variateur 1 : dpart variateur 0 : seuil de couple non atteint 1 : seuil de couple atteint 0 : moteur l'arrt 1 : moteur en mouvement 0 : autocalibration acheve 1 : autocalibration en cours 0 : position non atteinte 1 : position atteinte 0 : gamme de vitesse basse 1 : gamme de vitesse haute 0 : gamme de vitesse mcanique non demande 1 : gamme de vitesse mcanique demande
fr-938846/8
3 - 37
3.8.2
3.8.2.1 Variable %W2.3 %W2.2
%W2.1
C_NMAUTO
%W2.0
KB_INIT
%W3.7
C_M01
%W3.3
C_RAX
%W3.2
C_CYCLE
%W3.1
C_ARUS
3 - 38
fr-938846/8
Variables
Variable %W3.0
Mnmonique C_RAZ
Description Demande de remise zro. Provoque galement une RAZ des axes automate en cas d'erreur machine. Prise en compte sil ny a pas de dplacement sur les axes.
REMARQUES Pour le traitement de C_ARUS, C_CYCLE et C_RAX, se reporter au manuel oprateur. Pour le traitement de C_DGURG, se reporter au manuel de programmation.
3.8.2.2 Variable %W4.7 Commandes Maintenues : %W4.W Mnmonique VREDUIT Description Demande de passage vitesse rduite La mise 1 force les vitesses de dplacements rduites paramtres dans les mots N3 et N4 de P31 (Voir manuel des paramtres). Vrouillage des utilitaires La mise 1 interdit l'accs aux utilitaires. La mise 0 autorise l'accs aux utilitaires. Unit des cotes affiches (mtrique ou inch). La mise 1 autorise lintroduction des cotes et la visualisation en pouce. La mise 0 autorise lintroduction des cotes et la visualisation dans le systme mtrique. Prsence puissance sur moteur La mise 0 indique la CN une coupure de la puissance sur les moteurs des axes synchroniss (aprs un dfaut de synchronisation). La mise 1 indique la CN que la puissance a t rtablie et autorise la synchronisation des axes. Non arrt en fin bloc Autorise le lancement dun CYCLE dans les modes CONT, SEQ, IMD, RAP et autorise lenchanement des blocs dans les modes CONT et RAP. La mise 0 de cette variable provoque la retombe du cycle en fin dexcution du bloc en cours.
%W4.6
INIBUTIL
%W4.5
C_UNIT
%W4.4
PRESPUIS
%W4.3
NARFIB
Slection de lavance rapide en manuel 1 et 2 Autorisent la slection des vitesses davance rapide dans les modes MANU et POM ou multiplient les incrments des manivelles. Les vitesses sont modulables par le potentiomtre des avances VITMAN1 VITMAN2 VITESSE INCREMENT (Paramtre P31) MANIVELLE 0 0 JOG normal Ui x 1 0 1 JOG lent Ui x 100 1 0 JOG rapide Ui x 10 1 1 JOG rapide Ui x 10 Avec Ui Unit interne du systme fixe par paramtre machine. %W4.0 AUTAV Autorisation des avances gnral sur tous les groupes daxes Autorise les mouvements dans tous les modes avec dplacement. Le champ SECU de la fentre status CN signale ltat 0 de cette information. %W5.7 SC_SAVE Mise en veille de l'cran CN La mise 1 autorise la mise en veille de l'cran aprs 5 min d'inutilisation du clavier. La mise 0 invalide la mise en veille de l'cran et ractive imdiatement l'cran.
%W4.2 %W4.1
VITMAN2 VITMAN1
fr-938846/8
3 - 39
Variable %W5.6
Mnmonique SK_DISPL
Description Affichage de la fentre cartouche La mise 1 invalide l'affichage de la fentre cartouche. La mise 0 valide l'affichage de la fentre cartouche. REMARQUE L'invalidation de l'affichage n'invalide pas l'utilisation des touches logicielles. Inhibition du clavier La mise 1 inhibe le clavier alphanumrique et les touches de fonction pour le cartouche de base qui ne sont plus traits par la CN. Les codes des touches sont toutefois transmis la fonction automatisme par CARCLAV. Entres impulsionnelles au pupitre Invalidation des touches RAZ, ARUS, CYCLE, M01, / et de la touche logiciel JAUGE La mise 1 invalide les touches sur le pupitre CN et permet la slection par la fonction automatisme. Autorisation de chargement des correcteurs dynamique La mise 1 autorise le chargement des corrections dynamiques par la fonction automatisme et invalide le chargement par le pupitre. Slection des JOG au pupitre La mise 1 invalide la slection du type de JOG par le pupitre CN et autorise la slection par la fonction automatisme. Slection des modes au pupitre La mise 1 invalide la slection des modes par le pupitre CN et autorise la slection des modes par la fonction automatisme. Le mode est slectionn par l'automate, le n du mode tant cod dans %Wg03.b, les codes des modes tant identiques ceux de %W14.b pour les modes communs. %W5.1=0. Hors IHM les modes peuvent tre choisis au pupitre, le mode tant affect au groupe slectionn par %W17.b. Pupitre CN absent La mise 1 dclare le pupitre CN absent. Toutes les fonctions du pupitre CN sont invalides et peuvent tre simules par la fonction automatisme.
%W5.5
INIBCLAV
%W5.4
IMPULS
%W5.3
CORDYN
%W5.2
JOGPUP
%W5.1
MODPUP
%W5.0
PUPABS
3.8.2.3 Variable %W6.7 %W6.0 %W7.7 %W7.0 %W8.7 %W8.0 %W9.7 %W9.0
Commandes JOG Positif : %W6.L Mnmonique JOGPOS31 JOGPOS24 JOGPOS23 JOGPOS16 JOGPOS15 JOGPOS8 JOGPOS7 JOGPOS0 Description Jog positif sur laxe N 31 Jog positif sur laxe N 24 Jog positif sur laxe N 23 Jog positif sur laxe N 16 Jog positif sur laxe N 15 Jog positif sur laxe N 8 Jog positif sur laxe N 7 Jog positif sur laxe N 0
3 - 40
fr-938846/8
Variables
3.8.2.4 Variable %WA.7 %WA.0 %WB.7 %WB.0 %WC.7 %WC.0 %WD.7 %WD.0 3.8.2.5
Commandes JOG Ngatif : %WA.L Mnmonique JOGNEG31 JOGNEG24 JOGNEG23 JOGNEG16 JOGNEG15 JOGNEG8 JOGNEG7 JOGNEG0 Description Jog ngatif sur laxe N 31 Jog ngatif sur laxe N 24 Jog ngatif sur laxe N 23 Jog ngatif sur laxe N 16 Jog ngatif sur laxe N 15 Jog ngatif sur laxe N 8 Jog ngatif sur laxe N 7 Jog ngatif sur laxe N 0
Les paramtres externes E200xx sont crits par le programme utilisateur. La gestion de ces paramtres est assure par le programme pice qui peut les lire. Ils permettent dchanger des informations boolennes entre le programme utilisateur et le programme pice. Variable %W11.0 %W11.1 %W11.2 %W11.3 %W11.4 %W11.5 %W11.6 %W11.7 %W10.0 %W10.1 %W10.2 %W10.3 %W10.4 %W10.5 %W10.6 %W10.7 Mnmonique E20000 E20001 E20002 E20003 E20004 E20005 E20006 E20007 E20008 E20009 E20010 E20011 E20012 E20013 E20014 E20015 Variable %WF.0 %WF.1 %WF.2 %WF.3 %WF.4 %WF.5 %WF.6 %WF.7 %WE.0 %WE.1 %WE.2 %WE.3 %WE.4 %WE.5 %WE.6 %WE.7 Mnmonique E20016 E20017 E20018 E20019 E20020 E20021 E20022 E20023 E20024 E20025 E20026 E20027 E20028 E20029 E20030 E20031
fr-938846/8
3 - 41
Valeur de lincrment de JOG : %W13.B Mnmonique C_INCJOG Description Commande de lincrment du JOG La valeur de la variable correspond lincrment de JOG demand : 0x0A 0x09 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x08 Dplacement manuel au pas de 10-6 pouce Dplacement manuel au pas de 10-2 m ou 10-5 pouce Dplacement manuel au pas de 10-1 m ou 10-4 pouce Dplacement manuel au pas de 1 m ou 10-3 pouce Dplacement manuel au pas de 10 m ou 10-2 pouce Dplacement manuel au pas de 100 m ou 10-1 pouce Dplacement manuel au pas de 1000 m ou 1 pouce Dplacement manuel au pas de 10000 m ou 1 pouce Dplacement manuel en continu Dplacement manuel par manivelle
Le choix de la valeur de lincrment en m ou en pouce dpend de la valeur de la variable C_UNIT. 3.8.2.7 Variable %W14.B Mode demand : %W14.B Mnmonique MODEDEM Description Mode demand La valeur de la variable correspond au mode CN demand : 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0A 0x0B 0x0D 0x0F 3.8.2.8 Variable %W15.B Mode Continu CONT Mode Squentiel SEQ Mode Immdiat IMD Mode Rapide RAP Mode Recherche de Numro de Squence RNS Mode Modification MODIF Mode Test TEST Mode Manuel MANU Mode Prise dOrigine Mesure POM Mode Prise de Rfrence PREF Mode Rglages Outils REGOUT Absence de mode Mode Chargement CHARG Mode Dchargement DECHG
Affichage de message : %W15.B et W16.B Mnmonique MSG1 Description Numro du message afficher ligne 1. Le message est affich sur la ligne 1 de la page Messages de diagnostic. Le message correspondant au numro doit figurer dans le programme pice %9999.9. Numro du message afficher ligne 2. Le message est affich sur la ligne 2 de la page Messages de diagnostic. Le message correspondant au numro doit figurer dans le programme pice %9999.9.
%W16.B
MSG2
3 - 42
fr-938846/8
Variables
Le programme %9999.9 doit tre structur de la faon suivante : %9999.9 N0 N1 $ MESSAGE NUMERO 1 $ SUITE MESSAGE NUMERO 1 N2 $ MESSAGE NUMERO 2 $ SUITE MESSAGE NUMERO 2 $ SUITE MESSAGE NUMERO 2 Nx $ MESSAGE NUMERO X O : - les numro de bloc (N..) correspondent aux numros des messages afficher, - le caractre $ doit prcder les messages, - une ligne de message comporte au maximum 35 caractres, - les blocs non numrots sont affichs comme suite aux messages. 3.8.2.9 Variable %W17.B Slection du groupe daxes : %W17.B Mnmonique SELECGR Description Slection du groupe daxes Permet daffecter la visualisation, toutes les informations qui se rapportent un groupe daxes (programme pice, variable programme, .. etc ...). Les donnes introduites au clavier CN en IMD sont affectes au groupe daxes slectionn. 0 1 2 3 4 5 6 7 Slection du groupe daxes 1 Slection du groupe daxes 2 Slection du groupe daxes 3 Slection du groupe daxes 4 Slection du groupe daxes 5 Slection du groupe daxes 6 Slection du groupe daxes 7 Slection du groupe daxes 8
REMARQUE daxes.
3.8.2.10 Variable %W18.W
Numro de programme demand : %W18.W Mnmonique PROGDEM Description Numro du programme demand Permet de charger le numro de programme demand comme programme courant ou de demander un usinage en mode passant lecteur. Le numro de programme ou la demande dusinage en mode passant est pris en compte par le systme sur le front montant de linformation C_RAZ = 1 0 de 1 0x270F (9999) -2 (0xFFFE) Pas de demande de numro de programme par la fonction automatisme Numro de programme spcifi par la fonction automatisme Usinage en mode passant lecteur demand par la fonction automatisme
fr-938846/8
3 - 43
REMARQUE
Le programme demand doit tre prsent en mmoire CN pour tre charg comme programme courant. Si il nest pas prsent, le systme invalide lancien programme courant et le message PAS DE PROGRAMME COURANT apparat sur la page PROG..
Affectation manivelle : %W1A.B %W1D.B
Mnmonique AFMAN1
Description Affectation manivelle N1 Reoit ladresse physique dun axe dplacer. Se reporter au manuel dinstallation et de mise en oeuvre pour laffectation des adresses physiques des axes. Affectation manivelle N2 Identique AFMAN1 pour la manivelle N2. Affectation manivelle N3 Identique AFMAN1 pour la manivelle N3. Affectation manivelle N4 Identique AFMAN1 pour la manivelle N4.
ATTENTION
Les variables AFMAN1, AFMAN2, AFMAN3 et AFMAN4 doivent contenir ladresse physique dun axe mesur. Laffectation de la manivelle un axe doit prcder le dplacement manuel par manivelle. Les commandes de JOG, JOGPOSn et JOGNEGn (avec n de 0 31), doivent tre valides pour l'axe concern.
3.8.2.12 Variable %W1E.B Potentiomtre de broche : %W1E.B %W21.B Mnmonique POTBR1 Description Potentiomtre broche N1 Valeur code en hexadcimal correspondant la valeur dentre du CAN. Valeur code en hexadcimal 0x0 0xFF %W1F.B %W20.B %W21.B POTBR2 POTBR3 POTBR4 Valeur dentre du CAN (Fonction anai(..)) 0 Volt 10 Volt Pourcentage de vitesse de broche 50% 100%
Potentiomtre broche N2 Identique POTBR1 pour la broche N2. Potentiomtre broche N3 Identique POTBR1 pour la broche N3. Potentiomtre broche N4 Identique POTBR1 pour la broche N4.
3 - 44
fr-938846/8
Variables
Commandes Broches : %W22.W Mnmonique VERBR4 Description Prsence puissance sur la broche 4 VERBR4 = 0 : signale la CN que la puissance de la broche 4 est mise, VERBR4 = 1 : signale la CN le verrouillage manuel ou le blocage dela broche 4. Prsence puissance sur la broche 3 Identique VERBR4 pour la broche 3 Prsence puissance sur la broche 2 Identique VERBR4 pour la broche 2 Prsence puissance sur la broche 1 Identique VERBR4 pour la broche 1 Demande d'arrt de la broche N 4 par la fonction automate Commande maintenue, tant que le bit est 1 la broche est arrte La mise 0 de ce bit autorise de nouveau la rotation de la broche. Demande d'arrt de la broche N 3 par la fonction automate Identique STOPBR4 pour la broche 3 Demande d'arrt de la broche N 2 par la fonction automate Identique STOPBR4 pour la broche 2 Demande d'arrt de la broche N 1 par la fonction automate Identique STOPBR4 pour la broche 1 Commande broche N4 La mise 1 autorise le pilotage de la broche par la fonction automatisme. La consigne est transmise la carte daxes par C_VITBR4. Commande broche N3 La mise 1 autorise le pilotage de la broche par la fonction automatisme. La consigne est transmise la carte daxes par C_VITBR3. Commande broche N2 La mise 1 autorise le pilotage de la broche par la fonction automatisme. La consigne est transmise la carte daxes par C_VITBR2. Commande broche N1 La mise 1 autorise le pilotage de la broche par la fonction automatisme. La consigne est transmise la carte daxes par C_VITBR1.
%W23.2
COMBR3
%W23.1
COMBR2
%W23.0
COMBR1
Consigne de vitesse de broche : %W24.W %W2A.W Mnmonique C_VITBR1 Description Consigne vitesse broche N1 Permet denvoyer la valeur code de la rfrence du variateur de broche en binaire sur 14 bits avec signe. Le bit 15 de C_VITBR1 donne le signe de la consigne. Consigne vitesse broche N2 Identique C_VITBR1 pour la broche 2. Consigne vitesse broche N3 Identique C_VITBR1 pour la broche 3. Consigne vitesse broche N4 Identique C_VITBR1 pour la broche 4.
fr-938846/8
3 - 45
POTENTIOMETRE DE BROCHE
FONCTION CN POTBRb Valeur du potentiomtre broche b M03_g et M04_g Sens de rotation des broches du groupe g VITBRb Vitesse de la broche b Ajout du bit de signe OU FONCTION AUTOMATISME Fonction anai() Valeur signe sur 16 bits
C A N
C N A
10 Volts
Ajout du bit de signe C_VITBRb Consigne de la broche b
CNA
MESURE
10Volts OU
VARIATEUR DE BROCHE
Mes
DT
3 - 46
fr-938846/8
Variables
Dans le programme - Lire le numro de broche (b) affecte au groupe g : . M61_g = 1 : pas de broche affecte . M64_g = 1 : broche 1 . M65_g = 1 : broche 2 . M62_g = 1 : broche 3 . M63_g = 1 : broche 4
NON
Conditions requises - Broche Paramtre (voir manuel des paramtres) - Adresse de la broche cble (Voir manuel d'installation) . @24 : broche 1 @25 : broche 2 . @26 : broche 3 @27 : broche 4
Broche non mesure pilote par CNA du processeur machine, d'une carte 8E/8S analogiques ou d'UCSII
NON
Dans le programme - Slectionner la commande de la broche b : COMBRb = 1 - Lire la fonction auxiliaire du groupe (M3 ou M4) donnant le sens de rotation de la broche : . M04_g = 1 : trigonomtrique . M03_g = 1 : antitrigonomtrique - Ajouter le bit de signe fonction du sens de rotation la vitesse de broche : VITBRb Signe - Charger la valeur obtenue dans la consigne de broche : C_VITBRb
Dans le programme - Lire la fonction auxiliaire du groupe (M3 ou M4) donnant le sens de rotation de la broche : . M04_g = 1 : trigonomtrique . M03_g = 1 : antitrigonomtrique - Lire VITBRb et coder la vitesse en fonction du CNA - Envoyer au CNA le signe correspondant au sens de rotation et la valeur code de la vitesse
FIN
fr-938846/8
3 - 47
Incrments de JOG interdits : %W2C.W Mnmonique NJGMANIV Description Interdit la slection manivelle Invalide la touche logiciel MANIV du cartouche JOG. La mise 1 invalide la touche. La mise 0 valide la touche. Interdit la slection de lincrment 0,001 mm Invalide la touche logiciel .001 du cartouche JOG. La mise 1 invalide la touche. La mise 0 valide la touche. Interdit la slection de lincrment 0,01 mm Invalide la touche logiciel .01 du cartouche JOG. La mise 1 invalide la touche. La mise 0 valide la touche. Interdit la slection de lincrment 0,1 mm Invalide la touche logiciel .1 du cartouche JOG. La mise 1 invalide la touche. La mise 0 valide la touche. Interdit la slection de lincrment 1 mm Invalide la touche logiciel 1 du cartouche JOG. La mise 1 invalide la touche. La mise 0 valide la touche. Interdit la slection de lincrment 10 mm Invalide la touche logiciel 10 du cartouche JOG. La mise 1 invalide la touche. La mise 0 valide la touche. Interdit la slection de lincrment 100 mm Invalide la touche logiciel 100 du cartouche JOG. La mise 1 invalide la touche. La mise 0 valide la touche. Interdit la slection de lincrment 1000 mm Invalide la touche logiciel 1000 du cartouche JOG. La mise 1 invalide la touche. La mise 0 valide la touche. Interdit la slection de lincrment 10000 mm Invalide la touche logiciel 10000 du cartouche JOG. La mise 1 invalide la touche. La mise 0 valide la touche. Interdit la slection du JOG illimit Invalide la touche logiciel ILL du cartouche JOG. La mise 1 invalide la touche. La mise 0 valide la touche.
%W2C.0
NJG0001
%W2D.7
NJG001
%W2D.6
NJG01
%W2D.5
NJG1
%W2D.4
NJG10
%W2D.3
NJG100
%W2D.2
NJG1000
%W2D.1
NJG10000
%W2D.0
NJGILLIM
3 - 48
fr-938846/8
Variables
Modes interdits : %W30.L Mnmonique I_POM Description Interdit la slection du mode prise dorigine mesure Invalide la touche logiciel POM du cartouche MODE. La mise 1 invalide la touche. La mise 0 valide la touche. Interdit la slection du mode prise de rfrences Invalide la touche logiciel PREF du cartouche MODE. La mise 1 invalide la touche. La mise 0 valide la touche. Interdit la slection du mode rglage automatique doutils Invalide la touche logiciel REGOUT du cartouche MODE. La mise 1 invalide la touche. La mise 0 valide la touche. Interdit la slection du mode chargement Invalide la touche logiciel CHARG du cartouche MODE. La mise 1 invalide la touche. La mise 0 valide la touche. Interdit la slection du mode dchargement Invalide la touche logiciel DCHG du cartouche MODE. La mise 1 invalide la touche. La mise 0 valide la touche. Interdit la slection du mode continu Invalide la touche logiciel CONT du cartouche MODE. La mise 1 invalide la touche. La mise 0 valide la touche. Interdit la slection du mode squentiel Invalide la touche logiciel SEQ du cartouche MODE. La mise 1 invalide la touche. La mise 0 valide la touche. Interdit la slection du mode introduction manuelle de donnes Invalide la touche logiciel IMD du cartouche MODE. La mise 1 invalide la touche. La mise 0 valide la touche. Interdit la slection du mode rapide Invalide la touche logiciel RAP du cartouche MODE. La mise 1 invalide la touche. La mise 0 valide la touche. Interdit la slection du mode recherche de numro de squence Invalide la touche logiciel RNS du cartouche MODE. La mise 1 invalide la touche. La mise 0 valide la touche. Interdit la slection du mode modification Invalide la touche logiciel MODIF du cartouche MODE. La mise 1 invalide la touche. La mise 0 valide la touche.
%W30.6
I_PREF
%W30.5
I_REGOUT
%W30.2
I_CHARG
%W30.0
I_DCHG
%W31.7
I_CONT
%W31.6
I_SEQ
%W31.5
I_IMD
%W31.4
I_RAPID
%W31.3
I_RNS
%W31.2
I_MODIF
fr-938846/8
3 - 49
Variable %W31.1
Mnmonique I_TEST
Description Interdit la slection du mode test Invalide la touche logiciel TEST du cartouche MODE. La mise 1 invalide la touche. La mise 0 valide la touche. Interdit la slection du mode Manuel Invalide la touche logiciel MANU du cartouche MODE. La mise 1 invalide la touche. La mise 0 valide la touche.
%W31.0
I_JOG
3.8.2.17
Les bits de %W34.L sont initialiss 0. Variable %W34.7 %W34.0 Mnmonique Description DISC_TRQ31 Validation du couple sur l'axe QVN N 31 DISC_TRQ24 Validation du couple sur l'axe QVN N24 Mise 1 valide le couple. Mise 0 invalide le couple. DISC_TRQ23 Validation du couple sur l'axe QVN N 23 DISC_TRQ16 Validation du couple sur l'axe QVN N 16 Mise 1 valide le couple. Mise 0 invalide le couple. DISC_TRQ15 Validation du couple sur l'axe QVN N 15 DISC_TRQ8 Validation du couple sur l'axe QVN N 8 Mise 1 valide le couple. Mise 0 invalide le couple. DISC_TRQ7 Validation du couple sur l'axe QVN N 7 DISC_TRQ0 Validation du couple sur l'axe QVN N 0 Mise 1 valide le couple. Mise 0 invalide le couple. Validation Rfrence vitesse pour les axes QVN : %W38.0 Mnmonique DISC_SDP Description Validation rfrence vitesse des axes QVN La mise 1 autorise le fonctionnement normal des axes QVN. La mise 0 provoque une annulation brutale de la rfrence vitesse des axes QVN et donc un freinage au couple maximum.
%W35.7 %W35.0
%W36.7 %W36.0
%W37.7 %W37.0
Si les rfrences vitesse sont invalides, elles sont forces la valeur nulle. A la mise sous tension, les rfrences vitesse sont invalides. Dans le cas de dtection d'une erreur CN provoquant la retombe de E_CNPRET, l'invalidation des rfrence vitesse est force pour les axes QVN. l'annulation de l'erreur sur une RAZ rend de nouveau effective la validation ou l'invalidation des rfrences vitesse par la fonction automatisme.
REMARQUE
Il est recommand sur un arrt d'urgence d'invalider DISC_SDP et d'activer un arrt des avances pour ne pas gnrer une erreur de poursuite trop grande.
3 - 50
fr-938846/8
Variables
Recul ou retour sur trajectoire Mnmonique RAP_AUTO Description Rappel automatique la suite d'une intervention La mise 1 active le rappel, La mise 0 l'annule. Demande de retour sur trajectoire la position d'interruption La mise 1 active la demande, La mise 0 annule la demande de retour. Demande de recul sur trajectoire La mise 1 active la demande, La mise 0 annule la demande de recul.
%W39.1
B_RETOUR
%W39.0
B_RECUL
Arrt d'avance par axe (le rang du bit donne l'adresse physique de l'axe) : %W3A.L Mnmonique STOPAX31 STOPAX24 Description axe N 31 axe N 24 Dans le mode d'usinage ou en mode JOG, la mise 1 d'un bit qui adresse un des axes en mouvement, provoque l'arrt en vitesse des axes du groupe auquel il appartient. En mode d'usinage, si cet axe ne se dplace pas dans le bloc en cours d'excution mais est programm dans le bloc suivant, alors une demande d'arrt en fin de bloc est provoque et l'excution des mouvements en dbut du bloc suivant reste suspendue tant qu'un axe programm dans ce bloc a son arrt maintenu 1. En nmauto, l'action sur les manipulateurs ou la manivelle est ignore tant que le bit correspondant l'axe directement pilot est 1. axe N 23 axe N 16 Idem ci-dessus axe N 15 axe N 8 Idem ci-dessus axe N 7 axe N 0 Idem ci-dessus
La fonction rduction de courant permet de rduire le courant pour les axes et broches numriques en fonction de la valeur du byte respectif. Variable %WE1F.B %WE00.B Mnmonique Description RDUC_TRQ31 axe N 31 axe N 0 RDUC_TRQ0
Soit Imaximal le courant maximal compte tenu de la limitation statique et de la valeur de l'octet : - si est ngatif ou nul ($00, $80 $FF), pas de rduction de courant, - si est positif ($01 $7F), le courant maximal autoris est : Imaximal = Imax_stat x [(127 - ) / 127]. La rduction dynamique de courant impose un variateur numrique mitre est transmise aux variateurs numriques esclaves associs. Dans le cas d'un fonctionnement en configuration anti-jeu, la rduction dynamique impose un variateur numrique matre est sans effet sur les courants de prcharge du matre et de l'esclave.
fr-938846/8
3 - 51
3.8.2.22
Pour le variateur numrique d'adresse xx (xx compris entre 00 et 31), le mot de commande se prsente sous la forme :
Halt Learning Synch Autocal Oscillat Phasing Indexing Request Request Request Request Request Request Request
%WEyy.7 %WEyy.6 %WEyy.5 %WEyy.4 %WEyy.3 %WEyy.2 %WEyy.1
Spindle El Conf
%WEzz.7
Ref Enable
%WEzz.1 %WEzz.0
Bit %WEzz.0 %WEzz.1 %WEzz.7 %WEyy.1 %WEyy.2 %WEyy.3 %WEyy.4 %WEyy.5 %WEyy.6 %WEyy.7
Signification Torque Enable Reference Enable Spindle Electrical Configuration Indexing Request Phasing Request Oscillation Request Autocalibration Request Synchronization Request Learning Request Halt Request
Valeurs 0 : validation couple non demande 1 : validation couple demande 0 : rfrence non valide 1 : rfrence valide 0 : gamme basse 1 : gamme haute 0 : indexation non demande 1 : indexation demande 0 : calage capteur non demand 1 : calage capteur demand 0 : oscillation non demande 1 : oscillation demande 0 : autocalibration non demande 1 : autocalibration demande Rserv Rserv 0 : arrt non demand 1 : arrt demand
3 - 52
fr-938846/8
Variables
3.8.3
Les entres venant des groupes daxes sont groupes dans 8 postes de 128 octets ; ce sont les variables %Rg00 %Rg7F o g vaut de 1 8 pour les groupes de 1 8. 3.8.3.1 Etat Groupe : %Rg00.W
REMARQUE
L'ensemble de ces variables s'applique aux groupes d'axes CN indpendants. Seules les variables E_RAZ1 E_RAZ8, E_CYCL1 E_CYCL8, E_DEGURG1 E_DEGURG8, NO_POS1 NO_POS8 et E_DEF1 E_DEF8 s'appliquent aux groupes d'axes automates (Voir chapitre 17).
Mnmonique Description (Groupe 1 8) E_M011 E_M018 E_SLASH1 E_SLASH8 E_INTER1 E_INTER8 E_PROG1 E_PROG8 E_OPER1 E_OPER8 E_DEF1 E_DEF8 Arrt programm optionnel valid sur le groupe d'axes CN indpendants Ng. Signale la prise en compte des arrts programms optionnels dans un programme pice. Saut de bloc valid sur le groupe d'axes CN indpendants Ng. Signale la prise en compte des sauts de blocs dans un programme pice. Etat intervention sur le groupe d'axes CN indpendants Ng. Programme en cours du groupe d'axes CN indpendants Ng. Signale qu'un programme pice est en cours d'excution dans les modes CONT, SEQ, RAP, RNS, TEST, IMD. Signale un arrt programm provoqupar un M00 ou un M01valid. Dfaut sur groupe Ng Indique locurence dune erreur de programmation ou labsence de programme pice sur le groupe. La mise 1 indique que le groupe est en dfaut. Axe en attente de position Lorsqu'un positionnement prcis est demand par programmation (Fonctions G09, M00, M02 ou M10), en IMD ou en mode JOG chaque arrt des mouvements, l'information NO_POSg est transmise pendant que l'axe est en attente de position. La mise 1 indique que l'axe est en attente de position.
Variable %Rg00.7
%Rg01.7 %Rg01.6
%Rg01.5
NO_POS1 NO_POS8
%Rg01.4
E_DGURG1 Dgagement durgence en cours sur groupe Ng E_DGURG8 Signale lexcution dun programme de dgagement durgence. Mise 1 aprs lecture par le CN de C_DGURGg = 1 et si le programme de dgagement durgence est valid. Mise 0 sur dtection dun M00 ou un M02. E_RAX1 E_RAX8 E_CYCL1 E_CYCL8 Rappel d'axes sur le groupe d'axes CN indpendants Ng. Signale que le rappel d'axe est valid. Cycle en cours sur le groupe Ng Indique que le groupe est en train dexcuter un bloc de programme pice. Mise 0 la CN attend linformation C_CYCLEg = 1 pour excuter le programme pice ou le bloc suivant. Mise 1 indique quun bloc est en cours dexcution.
%Rg01.3 %Rg01.2
fr-938846/8
3 - 53
Variable %Rg01.1
Mnmonique Description (Groupe 1 8) E_ARUS1 E_ARUS8 E_RAZ1 E_RAZ8 Sortie d'arrt usinage du groupe d'axes CN indpendants Ng. Signale l'tat intervention du systme (arrt du programme en cours d'excution et validation des manipulateurs d'axes). RAZ en cours sur groupe Ng Bit impulsionnnel dune dure de 100 ms qui signale une RAZ sur le groupe. Pendant la dure de cette impulsion, les donnes venant de la fonction automatisme ne sont pas prises en compte. Mise 1 par touche RAZ du pupitre, sur demande de RAZ de la fonction automatisme C_RAZg = 1, en fin dexcution dun programme pice (M02) ou la mise sous tension de la CN. Cette variable est mise 0 aprs 100 ms.
%Rg01.0
%Rg06.B
MODCOUR1 Mode en cours sur le groupe d'axes CN indpendant Ng. MODCOUR8 La valeur de la variable est l'image du mode CN en cours sur le groupe d'axes CN indpendants Ng. Numro du cycle dusinage en cours : %Rg02.B Mnmonique Description (Groupe 1 8) NUMCYC1 NUMCYC8 Numro du cycle dusinage en cours sur groupe Ng Permet de lire le numro de sous programme du cycle dusinage de %10000 %10255.(0 pour %10000 0xFF pour %10255).
Etat Fonction G : %Rg03.B Mnmonique Description (Groupe 1 8) FILET1 FILET8 Filetage sur groupe Ng Signale lexcution dun cycle de filetage G31 (Filetage au grain) G33 (Filetage) ou G38 (Filetage enchan), G84K (Taraudage rigide). Mise 1 par lexcution de la fonction G31, G33 , G38 ou G84. Mise 0 par rvocation de la fonction. Avance rapide (G00) sur groupe Ng Signale lexcution de la fonction G0 dans le bloc en cours du programme pice. Mise 1 par lexcution de la fonction G0. Mise 0 par la rvocation de la fonction G0.
%Rg03.0
RAPID1 RAPID8
3 - 54
fr-938846/8
Variables
Fonction M code sans compte rendu : %Rg04.W Mnmonique Description (Groupe 1 8) MSSCR1 MSSCR8 Fonction M code sans compte rendu venant du groupe Ng. Cette variable permet la lecture des fonctions auxiliaires M codes sans compte rendu la vole de M200 M899 (EX.M210 envoie la fonction automatisme MSSCRg == 210). Ces fonctions sont considres par le systme comme des fonctions Avant, Modale. La poursuite du programme pice se fait sans attente dacquittement. Exploites dans les programmes pice, elle sont accessibles en lecture par la fonction automatisme et ncessitent un dcodage dans le programme utilisateur. Une seule fonction M code modale est autorise dans lcriture dun bloc en programmation pice. Il est possible de programmer dans le mme bloc en programmation pice une fonction code modale et une non modale. Le dcodage des fonctions M doit imprativement tre effectu dans la tche squentielle TS0.
Figure 3.4 - Fonctions auxiliaires M codes la vole 3.8.3.5 Variable %Rg1E.W Fonction M code avec compte rendu : %Rg1E.W Mnmonique Description (Groupe 1 8) MCODCR1 MCODCR8 Fonction M code avec compte rendu venant du groupe Ng Cette variable permet la lecture des fonctions auxiliaires M codes avec compte rendu jusqu M199 (Ex. M92 envoie la fonction automatisme %MCODCRg == 92). Ces fonctions sont considres par le systme comme des fonction Aprs, non modale. Cest la fonction automatisme qui doit grer leur ventuelle modalit. Exploites dans les programmes pice, elle sont accessibles en lecture par la fonction automatisme et ncessitent un dcodage dans le programme utilisateur. Une seule fonction M code Non modale est autorise dans lcriture dun bloc en programmation pice. Il est possible de programmer dans le mme bloc en programmation pice une fonction code modale et une non modale. Le dcodage des fonctions M doit imprativement tre effectu dans la tche squentielle TS0.
fr-938846/8
3 - 55
1 cycle automate
Attente CRMg
Suite du programme
REMARQUE
3.8.3.6
Si CRM1 CRM8 est maintenu 1, la suite du programme pice est entreprise aprs un cycle automate.
Fonctions M dcodes : %Rg20.L
Ces fonctions, exploites dans les programmes pice sont accessibles en lecture par la fonction automatisme. Ce sont des fonctions dfinies et connues par le systme (par ex : blocage axes, gamme de broche, ... etc ..). La fonction automatisme lit la fonction sur un bit (%Rg2n.i) affect une fonction M dcode. Il faut distinguer les fonctions "avant" et "aprs" :
Dplacement AXES
Dplacement AXES
Les fonctions modales Une fonction modale reste mmorise et valide pendant lexcution de plusieurs blocs de programme pice jusqu la condition de rvocation. Exemple (sur le groupe 1) N100 M3 M40 S1000 N110 X100 N120 M5 Sortie M3 et M40 vers la fonction automatisme soit %R122.0 =1 et %R121.0 =1. Dplacement sur X. La fonction automatisme voit toujours %R122.0 =1 et %R121.0 =1. Sortie M5 vers la fonction automatisme et rvocation de M3 soit %R122.2 = 1 et %R122.0 = 0.
3 - 56
fr-938846/8
Variables
Les fonctions non modales Une fonction non modale nest valide que pendant lexcution dun bloc de programme pice. Exemple (sur le groupe 1) N100 X100 Z200 M6 N110 X50 Sortie M6 vers la fonction automatisme soit %R122.3 = 1. M6 est acquitt par le CRM1 au bloc prcdent soit %R122.3 = 0.
ATTENTION
Toutes les fonctions auxiliaires dcodes sont des fonctions avec compte rendu (CRM1 CRM8) Ltat de CRM1 CRM8 conditionne la poursuite ou lattente de lexcution du bloc de programme pice La fonction automatisme doit grer CRM1 CRM8, pour les fonctions programmes et pour les fonctions rvoques, ou initialises (sur RAZ ou INIT).
Fonction M modale
Attente CRMg
REMARQUE
Si CRM1 CRM8 est maintenu 1, la suite du programme pice est entreprise aprs un cycle automate.
fr-938846/8
3 - 57
Dfinition
Rvocation par
M997, M998, M2
Avant
X
%Rg20.7 M999_1 M999_8 Masquage par programmation des modes IMD, MODIF, et appel de sous-programmes par la fonction automatisme %Rg20.6 M998_1 M998_8 Dmasquage par programmation des modes IMD, MODIF, et appel de sous-programmes par la fonction automatisme %Rg20.5 M997_1 M997_8 Forage de lenchanement des blocs %Rg20.3 %Rg20.2 %Rg20.1 %Rg20.0 %Rg21.7 %Rg21.5 %Rg21.4 %Rg21.3 %Rg21.2 %Rg21.1 %Rg21.0 %Rg22.7 %Rg22.6 %Rg22.5 %Rg22.4 %Rg22.3 %Rg22.2 %Rg22.1 %Rg22.0 %Rg23.7 %Rg23.2 %Rg23.1 %Rg23.0 M49_1 M49_8 Potentiomtre davance et de broche forcs 100%
M999, M997
M998, M999, M2 M48, M2 M49 M10 M11 C_CYCLE = 1 Ces fonctions se rvoquent entre elles, M2
X X X X X X X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X X X X X
M48_1 M48_8* Validation des potentiomtres de broche et davance M11_1 M10_1 M12_1 M45_1 M44_1 M43_1 M42_1 M41_1 M40_1 M19_1 M08_1 M07_1 M06_1 M04_1 M03_1 M61_1 M02_1 M01_1 M00_1 M11_8 Dblocage daxes M10_8 Blocage daxes M12_8 Arrt dusinage programm M45_8 Gammes de broches M44_8 M43_8 M42_8 M41_8 M40_8 M19_8 Arrt broche indexe M08_8 Arrosage N1 M07_8 Arrosage N2 M06_8 Changement doutil M04_8 Rotation broche sens trigonomtri que M03_8 Rotation broche sens anti-trigo nomtrique M61_8 Invalidation de la broche courante dans un groupe M02_8 Fin de programme pice M01_8 Arrt programm optionnel M00_8 Arrt programm
M0,M2,M3,M4, ARUS M7, M8 M9, M2 M9, M2 CRM1 CRM8 M3, M4 M3, M5, M19, M0, M2 M4, M5, M19, M0, M2 M64, M65, M62, M63 RAZ C_CYCLE = 1 C_CYCLE = 1
(*)
Fonction initialise la mise sous tension, par une RAZ ou par la fonction M02. Fonctions M dcodes (Etat des broches) : %Rg24.W Dfinition Rvocation par Avant type de fonction Aprs Modale Non modale
X X X X
3.8.3.7
M63_8 Rfrence broche aiguille sur broche 4. M62_8 Rfrence broche aiguille sur broche 3. M65_8 Rfrence broche aiguille sur broche 2. M64_8 Rfrence broche aiguille sur broche 1.
M61, M62, M64, M65 M61, M63, M64, M65 M61, M62, M63, M64 M61, M62, M63, M65
X X X X
3 - 58
fr-938846/8
Variables
Dfinition
Rvocation par
M66, M67, M68, M02 M66, M67, M69, M02 M66, M68, M69, M02 M67, M68, M69, M02
Avant
X X X X
M69_8 Mesure broche 4 exploitable M68_8 Mesure broche 3 exploitable M67_8 Mesure broche 2 exploitable M66_8 Mesure broche 1 exploitable
3.8.3.8
Les axes sont blocables par la fonction auxiliaire M10 et dblocable par la fonction auxiliaire M11. La liste des axes blocables est dfinie par le paramtre machine P8 (Voir manuel des paramtres). Si la fonction M10 est prsente (blocage daxes sil ny pas de mouvement) le systme dtecte le changement dtat des variables AXMVTaxe (avec axe de 0 31) sur les axes blocables.
REMARQUE
3.8.3.9 Variable %Rg7C.L
Si au bloc n + 1 laxe t est toujours en mouvement, la variable AXMVTt (avec axe de 0 31) reste mont et il y a enchanement des blocs.
Numro doutil : %Rg7C.L Mnmonique Description (Groupe 1 8) OUTIL1 OUTIL8 Numro doutil demand par le groupe Ng. Permet la lecture des numro doutils (valeur dcimale de 0 65535). Les fonctions T sont considres par le systme comme des fonctions Avant Modale sans attente de compte rendu.
fr-938846/8
3 - 59
Paramtre E
NON
NON
NON
NON
Attente CRMg = 1
NON
"G04" OUI Temporisation programme OUI "M" dcodes aprs ? OUI Sortie des nouvelles fonctions avec rvocation de leurs fonctions contradictoires Attente 1 cycle automate
MCODCRg = 0
"M" dcodes avant ? OUI Sortie des nouvelles fonctions avec rvocation de leurs fonctions contradictoires Attente 1 cycle automate
NON
Attente CRMg = 1
Attente CRMg = 1
Figure 3.9 - Principe dexcution des fonctions programmes dans un bloc de programme pice
3 - 60
fr-938846/8
Variables
3.8.4
Les sorties vers les groupes daxes sont groupes dans 8 postes de 128 octets: Concerne les variables %Wg00 %Wg7F o g vaut de 1 8 pour les groupes de 1 8. 3.8.4.1 Commandes Groupe : %Wg00.W
REMARQUE
Les variables C_ MODE1 C _MODE8 sont valides uniquement pour les groupes axes automates (Voir chapitre 17). Les variables C_ARUS1 C_ARUS8, C_RAX1 C_RAX8, C_SLASH1 C_SLASH8 et C_M011 C_M018 sont valides uniquement pour les groupes d'axes CN.
Mnmonique Description (Groupe 1 8) C_MODE1 C_MODE8 Commande mode CONT et SEQU sur groupe daxes automates Ng Mise 0, le mode continu est valid partir du bloc suivant. Mise 1, le mode squentiel est valid pour le bloc en cours dexcution. Cette information na de sens que si le groupe est valide. Commande maintenue de vitesse rapide en cours de cycle Cette commande doit tre utilise en cours de cycle (C_CYCLEg = 1). La mise 1 autorise un dplacement vitesse la plus rapide possible. La mise 0 entrane un dplacement vitesse de travail. Compte rendu des fonctions M du groupe Ng A ltat 0, entrane une attente du systme et le non traitement des fonctions suivantes dans le bloc en cours dexcution. A ltat 1, autorise la poursuite des traitements. Appel dun sous-programme sur groupe Ng En cours dexcution dun programme pice, la mise 1 entrane le branchement un sous-programme %9999.g (Avec g numro de groupe). Le maintien de lappel ou un nouvel appel de sous-programme est ignor durant lexcution du sous-programme. En fin dexcution du sous-programme, aucun compte-rendu nest mis par le systme. Cest le sous-programme qui doit transmettre la fonction automatisme un compte-rendu pour lannulation de lappel (Fonction M, paramtre externe,...) Si un seul groupe d'axes CN est dclar, c'est le programme %9999 qui est appel (soit %9999.0). Arrt bute fin de bloc sur groupe Ng La mise 1 provoque un arrt des mouvements sur le groupe daxes, lenchanement au bloc suivant ou un saut un autre bloc. La fonction G10, associe ses arguments, doit tre prsente dans le programme pice. Validation du groupe Ng La mise 1 valide lutilisation du groupe daxes La validation ou linvalidation ne sont effectives que sur une RAZ ou un M02.
Variable %Wg00.7
%Wg00.6
C_FAST1 C_FAST8
%Wg00.5
CRM1 CRM8
%Wg00.4
APPSS1 APPSS8
%Wg00.3
ARBUT1 ARBUT8
%Wg00.2
VALID1 VALID8
%Wg00.1
C_FMEXT1 Commande fin de mouvement extrieur sur gr. Ng C_FMEXT8 La mise 0 interdit la retombe du CYCLE dans les modes SEQU et IMD ou lenchanement sur le bloc suivant dans les modes CONT et RAP. La mise 1 entrane la poursuite normale dans lexcution du mode. Cette variable est teste en fin dexcution de chaque bloc.
fr-938846/8
3 - 61
Variable %Wg00.0
Mnmonique Description (Groupe 1 8) C_AUTAV1 Autorisation des avances sur le groupe Ng C_AUTAV8 Cette variable est active si lautorisation davance gnrale AUTAV = 1..La mise 0 provoque larrt des mouvements sur le groupe daxes dans tous les modes avec dplacement. La reprise des mouvements se fait lorsque C_AUTAVg = 1. C_M011 C_M018 Validation de l'arrt programm optionnel (M01) sur le groupe d'axes CN indpendants Ng. Une impulsion valide ou invalide l'arrt programm optionnel suivant l'tat prcdent. Validation du saut de bloc sur le groupe d'axes CN indpendants Ng. Une impulsion valide ou invalide le saut de bloc suivant l'tat prcdent.
%Wg01.7
%Wg01.6 %Wg01.4
C_SLASH1 C_SLASH8
C_DGURG1 Demande de dgagement durgence sur le groupe Ng C_DGURG8 Cette demande est prise en compte dans les modes CONT et SEQ. Le bloc en cours est interrompu et le systme se branche sur le dernier programme de dgagement durgence dclar dans le programme pice par la fonction G75. Si aucun programme de dgagement durgence nest dfini, cette information est traite de la mme faon que C_ARUS. C_RAX1 C_RAX8 C_CYCL1 C_CYCL8 Slection du rappel d'axes sur groupe d'axes CN indpendants Ng. Cette demande est prise en compte dans les modes CONT, SEQ,RAP. Demande dpart cycle sur groupe daxes automate Ng ou groupe indpendant Permet lexcution des modes CONT et SEQ pour les groupes daxes automate.La commande de C_CYCLEg doit tre impulsionnelle pour viter dans les modes CONT une reprise de lusinage aprs la dtection dun M02 ou dune RAZ. Cette information nest prise en compte que si le groupe est valide. Demande d'arrt d'usinage du groupe d'axes CN indpendants Ng. Cette demande est prise en compte dans les modes CONT, SEQ, RAP, RNS, TEST, IMD. Demande RAZ sur groupe daxes automate Ng ou groupe indpendant Prise en compte sil ny a pas de dplacement sur les axes. Cest pendant la RAZ sur un groupe quest prise en compte linformation VALIDg et quest dtect la prsence du programme pice affect au groupe automate.
%Wg01.3 %Wg01.2
%Wg01.1
%Wg01.0
Valeur du potentiomtre davance : %Wg02.B Mnmonique Description (Groupe 1 8) POTAV1 POTAV8 Potentiomtre davance sur groupe Ng Valeur code en hexadcimal correspondant la valeur dentre du CAN Valeur code Valeur dentre du CAN Pourcentage vitesse en hexadcimal (Fonction anai(.)) davance 0x0 0 Volt 0% 0xFF 10 Volt 120%
3 - 62
Variables
3.8.5
3.8.5.1
Les variables suivantes renseignent lutilisateur sur les dfauts systme ou de configuration. Variable %R97C.W %R97F.2 %R97F.1 %R97F.0 Mnmonique DEFHTR DEFCARTE DEFCONF DEFBUS Description Compteur des dfauts dpassement temps calcul (ou HTR) (*) Bit dfaut gnral cartes E/S borniers (**) Bit dfaut gnral configuration cartes E/S borniers (**) Bit dfaut gnral liaison sur le bus E/S srie (**)
(*) (**)
3.8.5.2
Ce compteur est incrment par le systme chaque dtection dun dpassement, il est mis ZERO par le programme utilisateur. Ces bits sont mis UN par le systme chaque dtection dun dfaut.
Diagnostic systme
Les variables suivantes donnent la consommation (En % du temps) du moniteur et de chaque tche automate. Variable %R950.B %R951.B %R952.B %R953.B %R954.B %R955.B %R956.W %R958.B %R959.B %R95A.B %R95B.B %R95C.B %R95D.B %R95E.W %R960.B %R961.B %R962.B %R963.B %R964.B %R965.B %R966.W %R968.B %R969.B %R96A.B Mnmonique Sys_avr1 Sys_max1 Ts0_avr1 Ts0_max1 Ts1_avr Ts1_max Overrun1 Sys_avr2 Sys_max2 Ts0_avr2 Ts0_max2 Ts2_avr Ts2_max Overrun2 Sys_avr3 Sys_max3 Ts0_avr3 Ts0_max3 Ts3_avr Ts3_max Overrun3 Sys_avr4 Sys_max4 Ts0_avr4 Description Temps moyen d'occupation du moniteur sur le cycle %TS1 Temps maximum d'occupation du moniteur sur le cycle %TS1 Temps moyen d'occupation de la tche %TS0 sur le cycle %TS1 Temps maximum d'occupation de la tche %TS0 sur le cycle %TS1 Temps moyen d'occupation de la tche %TS1 Temps maximum d'occupation de la tche %TS1 Dpassement temps de calcul sur le cycle %TS1 Temps moyen d'occupation du moniteur sur le cycle %TS2 Temps maximum d'occupation du moniteur sur le cycle %TS2 Temps moyen d'occupation de la tche %TS0 sur le cycle %TS2 Temps maximum d'occupation de la tche %TS0 sur le cycle %TS2 Temps moyen d'occupation de la tche %TS2 Temps maximum d'occupation de la tche %TS2 Dpassement temps de calcul sur le cycle %TS2 Temps moyen d'occupation du moniteur sur le cycle %TS3 Temps maximum d'occupation du moniteur sur le cycle %TS3 Temps moyen d'occupation de la tche %TS0 sur le cycle %TS3 Temps maximum d'occupation de la tche %TS0 sur le cycle %TS3 Temps moyen d'occupation de la tche %TS3 Temps maximum d'occupation de la tche %TS3 Dpassement temps de calcul sur le cycle %TS3 Temps moyen d'occupation du moniteur sur le cycle %TS4 Temps maximum d'occupation du moniteur sur le cycle %TS4 Temps moyen d'occupation de la tche %TS0 sur le cycle %TS4
fr-938846/8
3 - 63
Variable %R96B.B %R96C.B %R96D.B %R96E.W %R970.B %R971.B %R972.B %R973.B %R974.B %R975.B %R976.W
Mnmonique Ts0_max4 Ts4_avr Ts4_max Overrun4 Sys_avr5 Sys_max5 Ts0_avr5 Ts0_max5 Ts5_avr Ts5_max Overrun5
Description Temps maximum d'occupation de la tche %TS0 sur le cycle %TS4 Temps moyen d'occupation de la tche %TS4 Temps maximum d'occupation de la tche %TS4 Dpassement temps de calcul sur le cycle %TS4 Temps moyen d'occupation du moniteur sur le cycle %TS5 Temps maximum d'occupation du moniteur sur le cycle %TS5 Temps moyen d'occupation de la tche %TS0 sur le cycle %TS5 Temps maximum d'occupation de la tche %TS0 sur le cycle %TS5 Temps moyen d'occupation de la tche %TS5 Temps maximum d'occupation de la tche %TS5 Dpassement temps de calcul sur le cycle %TS5
3.8.6
Variable %W97A.L
Bit 31
Bit 0
Type de tches
Les valeurs codes pour le type de tche sont : 1 pour une tche %TS, 2 pour une tche %TF, 3 pour une tche %SP 4 pour une tche %TH 5 pour une tche %INI %W97E.B Numro du composant % W97E.B donne le numro du composant animer dans le module.
Si ces deux variables sont cohrentes, le composant du module spcifi est ouvert et anim.Dans le cas contraire, la liste de tous les modules chargs sur l'automate est propose. Exemple %W97A.L = 0x00300F0 %W97E.B = 2 Le composant N 2 du module SP240 sera ouvert et anim.
3 - 64
fr-938846/8
Variables
3.8.7
Variable %W900.0
3.8.8
Ces variables permettent de contrler les actions du moniteur lorsquil y a dtection de dfauts systme ou de configuration. Les variables de gestion des dfauts systmes seront traites ultrieurement.
3.8.9
Les paramtres E30xxx et E40xxx ne sont pas sauvegards. Ils sont initialiss la mise sous tension. Les paramtres E42xxx sont sauvegards.
3.8.9.1 Paramtres externes E30xxx
128 mots de 32 bits sont adresss par E30000 E30127. Les paramtres E300xx sont lus et crits par et pendant lexcution du programme pice. Ils transmettent des valeurs numriques signes significatives qui sont lues par le programme utilisateur. Mnmonique E30000 E30031 E30032 E30063 E30064 E30095 E30096 E30127 P.Fort %RA00 %RA7C %RB00 %RB7C %RC00 %RC7C %RD00 %RD7C P.Faible %RA03 %RA7F %RB03 %RB7F %RC03 %RC7F %RD03 %RD7F
fr-938846/8
3 - 65
3.8.9.2
128 mots de 32 bits sont adresss par E40000 E40127. Les paramtres E400xx sont crits par le programme utilisateur. Il permettent dintroduire dans le programme pice des valeurs numriques signes qui peuvent tre des cotes atteindre, des dcalages, .. etc .... Mnmonique E40000 E40031 E40032 E40063 E40064 E40095 E40096 E40127 3.8.9.3 Paramtres E42xxx P.Fort %WA00 %WA7C %WB00 %WB7C %WC00 %WC7C %WD00 %WD7C P.Faible %WA03 %WA7F %WB03 %WB7F %WC03 %WC7F %WD03 %WD7F
128 mots adresss de E42000 E42127. Ces paramtres peuvent tre lus et crits par le programme utilisateur (Fonctions R_E42000 (..) et W_E42000 (..) et par le programme pice. Ils sont accessibles en lecture et criture par oprateurs dynamiques.
REMARQUE : Il ny a pas de garantie de cohrence des changes au niveau du systme (Une lecture par la fonction automatisme peut par exemple tre interrompue par une criture de la fonction CN) Il appartient donc lutilisateur de mettre en place un mcanisme de contrle des changes.
3 - 66
fr-938846/8
Variables
3.8.10
Les variables %R et %W sont organises en blocs de 128 octets %R suivi par 128 octets %W puis nouveau 128 octets %R et ainsi de suite jusqu la fin de la famille. Variables rserves non affectes Les variables en entre %RE00 %RE7F et %RF00 %RF7F sont rserves mais non affectes. Les variables en sortie %WE20 %WE7F et %WF00 %WF7F sont rserves mais non affectes. Tableau rcapitulatif Organisation physique des variables %R et %W (total 4 koctets) Variables %R0 %R7F %W0 %W7F %R100 %R17F %W100 %W17F %Rg00 %Rg7F %Wg00 %Wg7F %R800 %R87F %W800 %W87F %R900 %R97F %W900 %W97F %RA00 %RA7F %WA00 %WA7F %RB00 %RB7F %WB00 %WB7F %RC00 %RC7F %WC00 %WC7F %RD00 %RD7F %WD00 %WD7F %WE00 %WE1F %WF20 %WF7F %RF00 %RF7F Dsignation 128 octets en entre venant de la CN 128 octets en sortie vers la CN 128 octets en entre venant du groupe daxes 1 128 octets en sortie vers le groupe daxes 1 6 groupes de 128 octets en entre venant des groupes daxes 2 7 6 groupes de 128 octets en sortie vers les groupes daxes 2 7 128 octets en entre venant du groupe daxes 8 128 octets en sortie vers le groupe daxes 8 128 octets en entre (dfauts internes) 128 octets en sorties (dfauts internes) 128 octets en entre paramtres E30000 E30031 128 octets en sortie paramtres E40000 E40031 128 octets en entre paramtres E30032 E30063 128 octets en sortie paramtres E40032 E40063 128 octets en entre paramtres E30064 E30095 128 octets en sortie paramtres E40064 E40095 128 octets en entre paramtres E30096 E30127 128 octets en sortie paramtres E40096 E40127 32 octets en sortie vers la CN, rduction de courant. rserves non affectes rserves non affectes
fr-938846/8
3 - 67
3.9
Connect aux rseaux MAPWAY ou ETHWAY, la commande numrique offre une ouverture au service mots communs des automates de la gamme TSX de Telemecanique. Lensemble des mots communs constitue une base de donnes distribue entre les stations dun mme rseau, chaque station pouvant tre indiffremment un automate TSX ou une commande numrique. Les stations participant au service mots communs se partagent une mmoire commune de 256 mots de 16 bits. Chaque station dispose selon la configuration, de 4 64 mots communs (accessible en criture) de la mmoire commune. Les mots affects aux autres stations ne lui sont accessibles quen lecture.
3.9.1
Lactualisation des variables %S est faite automatiquement par le systme au rythme de la tche squentielle %TS0 et sans intervention du programme utilisateur. En dbut de %TS0, la fonction automatisme va lire dans linterface associe au processeur rseau, lensemble des mots communs ayant volus dans les autres stations. En fin de %TS0, la fonction automatisme crit dans linterface associe au processeur rseau, les mots communs de sa station. Le coupleur rseau compare ces valeurs aux valeurs prcdemment mises. Il nmettra une trame que si une des valeurs au moins volue ou aprs 30 cycle HTR sil na pas mis depuis.
3.9.2
La configuration consiste : - dfinir le numro de rseau et de station dans le paramtre machine P100 (Voir manuel des paramtres), - programmer dans la tche %INI lactivit de la station et le nombre de mots communs par station par lappel de la fonction setcomw(..).
3 - 68
fr-938846/8
Variables
3.9.3
Les variables %S sont organises en 64 blocs de 128 octets indpendamment de la configuration des mots communs. Le numro dune variable %S est cod sur quatre digits hexadcimaux. Les deux digits de poids faible indiquent le numro de loctet dans la station (de 0x0 0x7F) et les deux digits de poids fort indiquent le numro de la station (de 0x0 0x3F). Ainsi %S21F.B reprsente loctet 31 de la station 2. Bloc Station 0 Station 1 Stations 2 61 Station 62 (0x3E) Station 63 (0x3F) Diagnostic Variables De %S0 %S7F De %S100 %S17F De %S3E00 %S3E7F De %S3F00 %S3F6F De %S3F70 %S3F7F Taille 128 octets 128 octets 59 blocs de 128 octets 128 octets 112 octets 16 octets
Les variables %S3F70.B %S3F77.B contiennent les bits indicateurs de rafrachissement des stations : Variables %S3F70.0 %S3F70.7 %S3F71.0 %S3F71.7 %S3F72.0 %S3F72.7 %S3F73.0 %S3F73.7 %S3F74.0 %S3F74.7 %S3F75.0 %S3F75.7 %S3F76.0 %S3F76.7 %S3F77.0 %S3F77.7 Description Indicateurs de rafrachissement des stations 0 7 Indicateurs de rafrachissement des stations 8 15 Indicateurs de rafrachissement des stations 16 23 Indicateurs de rafrachissement des stations 24 31 Indicateurs de rafrachissement des stations 32 39 Indicateurs de rafrachissement des stations 40 47 Indicateurs de rafrachissement des stations 48 55 Indicateurs de rafrachissement des stations 56 63
Ces bits sont mis 1 par le systme lors du rafrachissement des variables %S de la station correspondante. Leurs mises 0 pour contrler le bon fonctionnement des changes est la charge du programmeur. Loctet %S3F79.B contient lorsque le service mots communs est actif le numro de sa propre station. Le mot %S3F7E.W est rserv au service aprs vente NUM.
REMARQUE : Si le service mots communs nest pas actif, les variables %S peuvent tre utilises comme des variables banalises non sauvegardes.
fr-938846/8
3 - 69
3.10
3.10.1
Le programmeur dispose dune base du microprocesseur. Cette base est associe aux variables %Y. Les variables %Y sont utilises de deux faons : - comme variables locales associes un module %SP. Dans ce cas, la base est initialise par le systme lors de lappel dun module %SP par la fonction spy(..). Ces variables %Y sont cres dans la pile lors de lappel du module %SP et sont dtruites au retour lappelant. Leur nombre est de 128 octets (de %Y0.B %Y7F.B). Leur utilisation permet dcrire des modules portables et rentrants - comme variable pouvant remplacer nimporte quelles variables globales (%M; %V, %I, %Q, %R et %W). Dans ce cas le programmeur doit faire pointer la base sur le dbut de la zone vise avec la fonction y_init(..). Les variables %Y permettent daccder un champ De 32767 octets (de %Y0.B %Y7FFF.B). Elles sont utiles par exemple, lorsquun mme traitement doit tre effectu sur des blocs de variables diffrents. De plus, les variables %Y autorise l'adressage indirect ou adressage par pointeur.
REMARQUES Les variables %Y ne sont pas indispensables la programmation et leur utilisation est rserve aux programmeurs expriments. Les variables %Y ne sont pas visualisables sur lcran de la CN et sur loutil de programmation PLCTOOL. Les variables %Y ne sont pas accessibles par requte UNITE. Lorsque lon utilise la fonction y_init(..), on perd la visibilit des ventuelles variables locales du modules.
3.10.2 Adressage indirect - Pointeurs
L'adressage indirect par pointeur est autoris partout ou une variable simple peut tre employe l'exception des index.
ATTENTION
Avant d'utiliser un adressage par pointeur %Yi -> , il faut : que les variables %Y soient dfinies, c'est dire que l'on se trouve dans un %SP appel avec la fonction spy( ) ou que le registre de base des variables %Y ait t dfini par la fonction y_init( ), que le pointeur %Yi.L soit charg avec une adresse valide.
Une variable pointe peut tre associe un mnmonique (Voir Manuel PLCTOOL - Outil de programmation langage ladder). Il est conseill, afin d'optimiser la vitesse, d'utiliser des numros multiples de 4 pour les pointeurs (Ex : %Y0 ->, %Y4 ->, %Y8 ->, %YC ->, .. etc ..). Syntaxe <pointeur> -> <post dplacement> . <taille>
3 - 70
fr-938846/8
Variables
Remarque Variable %Y de taille .L (la taille est omise) Valeur imdiate (en hexadcimal) Pour accder une variable sur bit, octet, mot ou long mot
Exemple %Y4 -> 0.5 %Y7c -> ff.B L'adresse de la variable pointe est gale l'adresse contenue dans le pointeur + le post dplacement 0. L'adresse de la variable pointe est gale l'adresse contenue dans le pointeur + le post dplacement 0xff.
3.10.3
Traitement d'une chane de caractres %V500.L = "ABCDEF" %Y8.L = %V500.L %Y8 -> 0.B == "A" %Y8 -> 5.B == "F" %Y8.L += 1 %Y8 -> 0.B == "B" // %V500.L contient l'adresse de dbut de la chane ABCDEF // Initialisation du pointeur avec l'adresse dbut de la chane // Accs au premier caractre de la chane // Accs au sixime caractre de la chane // Incrment du pointeur // Accs au deuxime caractre de la chane
REMARQUE : Le programme d'exemple PUPITREP disponible sous PLCTOOL illustre l'utilisation des pointeurs.
Dans un %TS spy(0, %IrcOO.&, %Qrc00.&) Dans %SP0 // %Y0.L contient l'adresse de la premire entre %Irc00 // %Y4.L contient l'adresse de la premire sortie %Qrc00 %Y0 -> 2.0 <==> %Irc2.0 Jog_1 %Y0 -> 2.1 <==> %Irc2.1 Jog_10 %Y0 -> 2.2 <==> %Irc2.2 Jog_100 %Y0 -> 20.W <==> %Irc20.W Potentiomtre de broche %Y0 -> 22.W <==> %Irc22.W Potentiomtre d'avance %Y4 -> 0.0 <==> %Qrc0.0 Led_arus %Y4 -> 0.1 <==> %Qrc0.1 Led_dcy %Y4 -> 1.0 <==> %Qrc1.0 Led_1 %Y4 -> 1.1 <==> %Qrc1.1 Led_10 // Appel de %SP0 (Avec rc == numro du pupitre de 1 4)
fr-938846/8
3 - 71
3.11
3.11.1
Zone dchange
Entres venant de la CN
CAR CLAV %R0.B CAR CLAV %R1.B E_ E_ S_ E_M01 SLASH INTERV RECUL
%R2.7 %R2.6 %R2.5 %R2.4 %R2.3 %R2.2
E_ OPER
%R3.7
E_ DEFCN
%R3.6 %R3.5
%R4.B
%R4.7 %R4.6 %R4.5 %R4.4 %R4.3 %R4.2 %R4.1 %R4.0
E_TR ANSP
%R5.7
E_DEF MAP
%R5.6
E_PPP
%R5.5 %R5.4 %R5.3 %R5.2
E_ PROG
%R5.1
E_CN PRET
%R5.0
AXMVT 31
%R6.7
%R6.B
AXMVT 23
%R7.7
AXMVT 15
%R8.7
AXMVT 7
%R9.7
%R9.B
AXINI 31
%RA.7
AXINI 30
%RA.6
AXINI 29
%RA.5
AXINI 28
%RA.4
AXINI 27
%RA.3
AXINI 26
%RA.2
AXINI 25
%RA.1
AXINI 24
%RA.0
%RA.B
AXINI 23
%RB.7
AXINI 22
%RB.6
AXINI 21
%RB.5
AXINI 20
%RB.4
AXINI 19
%RB.3
AXINI 18
%RB.2
AXINI 17
%RB.1
AXINI 16
%RB.0
AXINI 15
%RC.7
AXINI 14
%RC.6
AXINI 13
%RC.5
AXINI 12
%RC.4
AXINI 11
%RC.3
AXINI 10
%RC.2
AXINI 9
%RC.1
AXINI 8
%RC.0
AXINI 7
%RD.7
AXINI 6
%RD.6
AXINI 5
%RD.5
AXINI 4
%RD.4
AXINI 3
%RD.3
AXINI 2
%RD.2
AXINI 1
%RD.1
AXINI 0
%RD.0
%RD.B
31
%RE.7
30
%RE.6
29
%RE.5
28
%RE.4
27
%RE.3
26
%RE.2
25
%RE.1
24
%RE.0
%RE.B
23
%RF.7
22
%RF.6
21
%RF.5
20
%RF.4
19
%RF.3
18
%RF.2
17
%RF.1
16
%RF.0
15
%R10.7
14
%R10.6
13
12
11
%R10.3
10
%R10.2
9
%R10.1
8
%R10.0
%R10.5 %R10.4
7
%R11.7
6
%R11.6
3
%R11.3
2
%R11.2
1
%R11.1
0
%R11.0
%R11.B
%R11.5 %R11.4
3 - 72
fr-938846/8
Variables
POS BR4
%R13.7 %R13.6 %R13.5 %R13.4 %R13.3
POS BR3
%R13.2
POS BR2
%R13.1
POS BR1
%R13.0
E_BAT
%R14.7 %R14.6 %R14.5 %R14.4 %R14.3 %R14.2 %R14.1
SC_ USED
%R14.0
%R14.B PCNC
E _INCJOG %R15.B Type d'incrment de JOG MODCOUR %R16.B Mode en cours PGVISU %R17.B Numro de page visualis ERRMACH %R18.B Numro d'erreur machine ID_KB_CN %R19.B Identificateur pupitre actif ou CN active PROGCOUR
PROGCOUR %R1B.B VITBR1 %R1C.B %R1C.W Vitesse de broche 1 VITBR1 %R1D.B VITBR2
fr-938846/8
3 - 73
31
%R24.7
30
%R24.6
29
28
AXBLK 27
%R24.3
26
%R24.2
25
%R24.1
24
%R24.0
%R24.B
%R24.5 %R24.4
23
%R25.7
22
%R25.6
21
20
AXBLK 19
%R25.3
18
%R25.2
17
%R25.1
16
%R25.0
%R25.5 %R25.4
15
%R26.7
14
%R26.6
13
12
AXBLK 11
%R26.3
10
%R26.2
9
%R26.1
8
%R26.0
%R26.5 %R26.4
AXBLK 7
%R27.7
6
%R27.6
3
%R27.3
2
%R27.2
1
%R27.1
0
%R27.0
%R27.B
%R27.5 %R27.4
3.11.2
Pour le variateur numrique d'adresse xx (xx compris entre 00 et 31), le mot d'tat se prsente sous la forme :
CCGM Gamma Position El OK
Autocal In
Run OK
Torque OK
Drive Status
Speed OK
Power Rs
Drive Enable
Leam Status
3 - 74
fr-938846/8
Variables
3.11.3
Sorties vers la CN
CHG_ OPDC C_ INDG
%W2.2
C_NM AUTO
%W2.1
KB_ INIT
%W2.0
%W2.7
%W2.6
%W2.5
%W2.4
%W2.3
C_ C_M01 SLASH
%W3.7 %W3.6
C_ C_ RAZER DGURG
%W3.5 %W3.4
C_ RAX
%W3.3
C_ CYCLE
%W3.2
C_ ARUS
%W3.1
C_ RAZ
%W3.0
V REDUIT
%W4.7
INIB UTIL
%W4.6
C_ UNIT
%W4.5
PRES PUIS
%W4.4
NAR FIB
%W4.3
VIT MAN2
%W4.2
VIT MAN1
%W4.1
AUT AV
%W4.0
SC_ SAVE
%W5.7
SK_ DISPL
%W5.6
INIB CLAV
%W5.5
IM PULS
%W5.4
COR DYN
%W5.3
JOG PUP
%W5.2
MOD PUP
%W5.1
PUP ABS
%W5.0
JOG POS31
%W6.7
JOG POS30
%W6.6
JOG POS29
%W6.5
JOG POS28
%W6.4
JOG POS25
%W6.1
JOG POS23
%W7.7
JOG POS22
%W7.6
JOG POS21
%W7.5
JOG POS20
%W7.4
JOG POS17
%W7.1
JOG POS15
%W8.7
JOG POS14
%W8.6
JOG POS13
%W8.5
JOG POS12
%W8.4
JOG POS9
%W8.1
JOG POS7
% W9.7
JOG POS6
%W9.6
JOG POS5
%W9.5
JOG POS4
%W9.4
JOG POS3
%W9.3
JOG POS2
%W9.2
JOG POS1
%W9.1
JOG NEG25
%WA.1
JOG NEG17
%WB.1
JOG NEG9
%WC.1
JOG NEG7
%WD.7
JOG NEG6
%WD.6
JOG NEG5
%WD.5
JOG NEG4
%WD.4
JOG NEG3
%WD.3
JOG NEG2
%WD.2
JOG NEG1
%WD.1
fr-938846/8
3 - 75
31
%WE.7
30
%WE.6
29
%WE.5
28
%WE.4
27
%WE.3
26
%WE.2
25
%WE.1
24
%WE.0
%WE.B
23
%WF.7
22
%WF.6
21
%WF.5
20
%WF.4
19
%WF.3
18
%WF.2
17
%WF.1
16
%WF.0
15
14
13
12
11
%W10.3
10
%W10.2
9
%W10.1
8
%W10.0
%W10.7 %W10.6
%W10.5 %W10.4
3
%W11.3
2
%W11.2
1
%W11.1
0
%W11.0
%W11.B
%W11.7 %W11.6
%W11.5 %W11.4
C INC JOG %W13.B Incrment de JOG MODE DEM %W14.B Mode demand
MSG1 %W15.B Numro de message ligne 1 MSG2 %W16.B Numro de message ligne 2
SELECGR %W17.B Slection du groupe d'axes PROGDEM %W18.B %W18.W Numro de programme demand PROGDEM %W19.B AFMAN1 %W1A.B Affectation manivelle N1 AFMAN2 %W1B.B Affectation manivelle N2 AFMAN3 %W1C.B Affectation manivelle N3 AFMAN4 %W1D.B Affectation manivelle N4 POTBR1 %W1E.B Potentiomtre broche N1 POTBR2 %W1F.B Potentiomtre broche N2 POTBR3 %W20.B Potentiomtre broche N3 POTBR4 %W21.B Potentiomtre broche N4
3 - 76
fr-938846/8
Variables
VER BR4
%W22.7
VER BR3
VER BR2
VER BR1
STOP BR3
%W22.2
%W22.B %W22.W Commande de broche %W23.B %W24.B %W24.W Consigne vitesse broche N1
%W22.6 %W22.5
%W22.4 %W22.3
%W22.1 %W22.0
COM BR3
%W23.2
%W23.7
%W23.6 %W23.5
%W23.4 %W23.3
%W23.1 %W23.0
C _VITBR1
C_VITBR1 %W25.B C_VITBR2 %W26.B %W26.W Consigne vitesse broche N2 C_ VITBR2 %W27.B C_ VITBR3 %W28.B C_ VITBR3 %W29.B C_ VITBR4 %W2A.B %W2A.W Consigne vitesse broche N4 C_ VITBR4 %W2B.B NJG MANIV
%W2C.7 %W2C.6 %W2C.5 %W2C.4 %W2C.3 %W2C.2
%W2C.1 %W2C.0
NJG 001
%W2D.7
NJG 10
NJG 100
NJG 10000
%W2D.1 %W2D.0
I_ POM
%W30.7
%W30.B
%W30.6 %W30.5
%W30.4 %W30.3
%W30.2
%W30.1 %W30.0
I_ CONT
%W31.7
I_ IMD
I_ RAPID
I_ RNS
I_ MODIF
%W31.2
I_ TEST
I_ JOG
%W31.6 %W31.5
%W31.4 %W31.3
%W31.1 %W31.0
%W32.7
%W32.6 %W32.5
%W32.4 %W32.3
%W32.2
%W32.1 %W32.0
%W33.7
%W33.6 %W33.5
%W33.4 %W33.3
%W33.2
%W33.1 %W33.0
%W33.B
fr-938846/8
3 - 77
DISC_ TQR25
%W34.1
%W34.7 %W34.6
%W34.5 %W34.4
DISC_ TQR17
%W35.1
%W35.7 %W35.6
%W35.5 %W35.4
DISC_ TQR9
%W36.1
%W36.7 %W36.6
%W36.5 %W36.4
DISC_ TQR3
%W37.3
DISC_ TQR2
%W37.2
DISC_ TQR1
%W37.1
%W37.7 %W37.6
%W37.5 %W37.4
31
%W3A.7
30
29
STOPAX 28 27
%W3A.3
26
25
24
%W3A.0
%W3A.B
%W3A.2 %W3A.1
23
%W3B.7
22
21
STOPAX 20 19
%W3B.3
18
17
16
%W3B.0
%W3B.2 %W3B.1
15
%W3C.7
14
13
STOPAX 12 11
%W3C.3
10
8
%W3C.0
%W3C.2 %W3C.1
7
%W3D.7
STOPAX 3
%W3D.3
0
%W3D.0
%W3D.B
%W3D.2 %W3D.1
3 - 78
fr-938846/8
Variables
3.11.4
3.11.4.1
Il est possible de rduire dynamiquement le courant maximal par l'automate, slectivement pour chaque variateur numrique.
RDUC _ TRQ00
%WE00.B
3
Rduction dynamique du courant
RDUC _ TRQ31
%WE1F.B
3.11.4.2
Pour le variateur numrique d'adresse xx (xx compris entre 00 et 31), le mot de commande se prsente sous la forme :
Halt Learning Synch Autocal Oscillat Phasing Indexing Request Request Request Request Request Request Request
%WEyy.7 %WEyy.6 %WEyy.5 %WEyy.4 %WEyy.3 %WEyy.2 %WEyy.1
Spindle El Conf
%WEzz.7
Ref Enable
%WEzz.1 %WEzz.0
fr-938846/8
3 - 79
3.11.5
E_ OPERg
NUMCYC1 NUMCYC8
MSSCR1 MSSCR8 %Rg04.B MSSCR1 MSSCR8 %Rg05.B MODCOUR1 MODCOUR8 %Rg06.B Mode en cours sur groupes 1 8 %Rg04.W Fonction M code sans compte rendu "A la vole" sur groupes 1 8
%Rg07.B MCODCR1 MCODCR8 %Rg1E.B MCODCR1 MCODCR8 %Rg1F.B %Rg1E.W Fonction M code avec compte rendu groupes 1 8
M999
M998
M997
M49
M48
M11
M10
%Rg20.B
M12
M45
M44
M43
M42
M41
M40
M19
M09
M08
M07
M06
M05
M04
M03
M61
%Rg23.7 %Rg23.6 %Rg23.5 %Rg23.4%Rg23.3
M02
M01
M00
%Rg23.B
3 - 80
fr-938846/8
Variables
M63
M62
M65
M64
M68
M67
M66
%Rg25.B
%Rg7C.B OUTIL1 OUTIL8 %Rg7D.B OUTIL1 OUTIL8 %Rg7E.B OUTIL1 OUTIL8 %Rg7F.B %Rg7C.L Numro d'outil demand par le groupes 1 8
3.11.6
C_DG URGg
**C_ RAXg
C_ RAZg
POTAV1 POTAV8 %Wg02.B Potentiomtre d'avance sur groupes 1 8 * Valide uniquement pour les groupes d'axes automates ** Valide uniquement pour les groupes d'axes CN
fr-938846/8
3 - 81
3 - 82
fr-938846/8
Notation utilise Label - commentaire Etape Elments littraux des squences rseaux
4.4.1 4.4.2 4.4.3 Entits littrales autorises en zone test dun rseau Entits littrales autorises en zone action dun rseau Grammaire des lments littraux Priorit des oprateurs Priorit des oprateurs unaires Priorit des oprateurs binaires et comparaison Oprateurs de comparaisons Oprateurs >> et << Oprateurs daffectation Oprateurs = Oprateurs combins += -= &= ^= |= Ordre dvaluation des expressions Entiers immdiats Promotion des variables - Format des calculs internes Dbordement - Changement de signe Exemples dentits littrales Longueur maximum dune entit littrale Nombre maximum doprandes dans une expression numrique
4-3 4-3 4-3 4-3 4-3 4-4 4-4 4-5 4-5 4-5 4-5 4-6 4-6 4-6 4-6 4-6 4-7 4-7 4-7 4-9 4-9 4-10 4-10
fr-938846/5
4-1
4-2
fr-938846/5
4.1
Notation utilise
Fonction Entre crochet signifie 0 ou 1 occurrence de ce quils entourent Entourent les lments non terminaux du langage Les accolades signifient au plus n occurences de ce quils entourent
La notation utilise pour dcrire les lments littraux du langage est la suivante : Caractres [] <> {}n
REMARQUE : Un lment non entour entre < et > est un symbole terminal, un mot cl ou un sparateur.
4.2
Label - commentaire
Se compose de <lettre> ou <chiffre> ou _ <caractre> ou <blanc> Remarque Limit 8 caractres Limit 64 caractres
4.3
<tape>
Etape
Se compose de <variable_tape> <numro_tape> <variable_tape> <numro_tape> Remarque Variable %M, %V ou %Y de taille .W Entier positif sur 16 bits
Elment du langage
4.4
4.4.1
fr-938846/5
4-3
4.4.2
Saut au label (interne au module) sans retour possible Saut au label (interne au module) avec retour Retour au module appelant ou au call( <label>)
4.4.3
<fonction>
Elment du langage
<nom_fonction> <expression_numrique>
<numrique_sign> <numrique_non_sign>
<oprateur_unaire>
Exemple : %V3.L Egal Non gal Suprieur ou gal (comparaison signe) Infrieur ou gal (comparaison signe) Suprieur (comparaison signe) Infrieur (comparaison signe) Ngation de loprande qui suit Inversion bit bit de loprande qui suit
4-4
fr-938846/5
Remarque Multiplication (signe) Division (signe) Addition Soustraction Dcalage arithmtique vers la gauche Dcalage arithmtique vers la droite ET bit bit OU EXCLUSIF bit bit OU bit bit Affectation simple Addition et affectation Soustraction et affectation ET bit bit et affectation OU EXCLUSIF bit bit et affectation OU bit bit et affectation
<oprateur_affectation>
4.5
4.5.1
4.5.1.1
La priorit des oprateurs unaires est suprieure celle des oprateurs binaires. Priorit Plus prioritaire Oprateur [] .& ~ Dsignation Indexation Oprateur adresse de Ngation Inversion bit bit
La priorit des oprateurs binaires et comparaison est suprieure celle des oprateurs daffectation. Priorit Plus prioritaire P0 P1 P2 P3 P4 P5 Moins prioritaire P6 Oprateur * / + >> << & ^ | == != >= <= > < Dsignation Multiplication Division Addition Soustraction Dcalage arithmtique droite Dcalage arithmtique gauche ET bit bit OU EXCLUSIF bit bit OU bit bit Oprateurs de comparaison
fr-938846/5
4-5
4.5.2
Oprateurs de comparaisons
Les comparaisons sont des comparaisons signes cest dire que le bit de poids fort de la variable est considr comme un bit de signe. (Les variables ayant le bit de signe 1 sont infrieures aux variables ayant le bit de signe 0).
4.5.3
0
Remplissage par 0
REMARQUES: Permet de faire des divisions par des puissances de 2 plus rapidement que loprateur / (Var_1 / 2n == Var_1 >> n). Permet de faire des multiplications par des puissances de 2 plus rapidement que loprateur * (Var_1 * 2n == Var_1 << n).
4.5.4 Oprateurs daffectation
Les oprateurs daffectation ont la plus faible priorit. Laffectation est donc effectue en dernier. 4.5.4.1 Oprateurs =
Laffectation simple permet le chargement de la variable gauche avec le rsultat de lexpression numrique ou de la fonction droite de loprateur daffectation = . 4.5.4.2 Oprateurs combins += -= &= ^= |=
Ces oprateurs combinent une opration entre la variable gauche et le rsultat de lexpression droite suivie dune affectation du rsultat final dans la variable gauche. Exemples Var_1 += <expression_numrique> est quivalent : Var_1 = Var_1 + <expression_numrique> Var_1 -= <expression_numrique> est quivalent : Var_1 = Var_1 - <expression_numrique> Var_1 &= <expression_numrique> est quivalent : Var_1 = Var_1 & <expression_numrique> Var_1 ^= <expression_numrique> est quivalent : Var_1 = Var_1 ^ <expression_numrique> Var_1 |= <expression_numrique> est quivalent : Var_1 = Var_1 | <expression_numrique> Les oprateurs combins sont conseills car ils permettent une gnration de codes optimise en vitesse et en taille.
4-6
fr-938846/5
4.5.5
Dans une expression les oprations de plus forte priorit sont excutes avant les oprations de priorit infrieure. Les oprations de mme priorit sont excutes de gauche droite. Les parenthses permettent de modifier lordre dvaluation des expressions en forant lvaluation en premier de lexpression quelles entourent.
4.5.6
Entiers immdiats
Les entiers immdiats sont limits 32 bits. Le systme considre les entiers comme signs , le bit 31 tant le bit de signe. Un entier immdiat doit donc tre compris entre: Nature Entier ngatif en dcimal Entier ngatif en hexadcimal Entier positif en dcimal Entier positif en hexadcimal Valeur de -2147483648 -1 de 0x80000000 0xFFFFFFFF de 0 2147483647 de 0x0 0x7FFFFFFF
4.5.7
Le systme considre toutes les variables comme signes. Variable sur octet Le bit 7 indique le signe. -128 valeur dun octet + 127 Variable sur mot Le bit 15 indique le signe. -32768 valeur dun mot + 32767. Variable sur long mot Le bit 31 indique le signe. -2147483648 (-231) valeur dun long mot +2147483647 (231 - 1 ). Fonctionnement Lorsque une variable est utilise dans un calcul, elle est dabord charge dans un registre du microprocesseur. Si la variable charge tait un octet , le systme propage alors le bit 7 du registre sur les bits 8 31. Si la variable charge tait un mot , le systme propage alors le bit 15 du registre sur les bits 16 31. Les calculs sont ensuite effectus avec les registres de 32 bits et gnrent un rsultat sur 32 bits. Ce rsultat est alors charg dans la variable destination : - si la variable destination est un long mot alors les 32 bits du registre rsultat lui sont affects, - si la variable destination est un mot alors les 16 bits de poids faible du registre rsultat lui sont affects, - si la variable destination est un octet alors les 8 bits de poids faible du registre rsultat lui sont affects.
fr-938846/5
4-7
Pige viter Les comparaisons entre variables (Octets et mots signs) et valeurs imdiates sont une source d'erreur frquente. Exemple Var.B == 128.
Var.B 1 0 0 0 0 0 0 0 == 128 Propagation du Bit 7 du registre 0xFF 0xFF 0xFF 0x80 Registre D0 (Sur 32 bits) Registre D1 (Sur 32 bits) D0 ! = D1
L'galit entre la variable Var.B et la valeur imdiate 128 n'est jamais ralise. L'galit peut tre ralise en utilisant un masque et en crivant : Var.B & 0xFF == 128.
Var.B 1 0 0 0 0 0 0 0 & 0xFF 1 1 1 1 1 1 1 1 == 128 Propagation du Bit 7 du registre 0xFF 0xFF 0xFF 0x80 Registre D0 (Sur 32 bits) Registre D1 (Sur 32 bits) D0 & D1 -> D0 Registre D0 (Sur 32 bits) Registre D1 (Sur 32 bits) D0 = = D1 Valeur immdiate
Valeur immdiate
0x00
0x00
0x00
0x80
0x00
0x00
0x00
0xFF
0x00
0x00
0x00
0x80
0x00
0x00
0x00
0x80
4-8
fr-938846/5
4.5.8
Le systme neffectue pas de contrle de dbordement. Cest donc au programmeur de prendre les prcautions ncessaires. Exemple de changement de signe %M100.B et %M101.B sont deux variables sur octet qui valent toutes les deux 0x7F (soit +127). Laffectation :%Var.xx = %M100.B + %M101.B donne :
0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1
Propagation du Bit 7 du registre 0x00 0x00 Propagation du Bit 7 du registre 0x00 0x00 0x00 0x7F Registre D1 (Sur 32 bits) D0 + D1 -> D0 Rsultat D0 (Sur 32 bits) 0x00 0x7F Registre D0 (Sur 32 bits)
0x00
0x00
0x00
0xFE
Var.B est charge avec 0xFE. Le bit 7 (Signe) tant 1, Var.B== -2 (Rsultat incorrect) 1 1 1 1 1 1 1 0
Var.W est charge avec 0x00FE. Le bit 15 (Signe) tant 0, Var.W == 254 (Rsultat correct) Var.L est charge avec 0x000000FE. Le bit 31 (Signe) tant 0, Var.L == 254 (Rsultat correct) 0x00
0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0
0x00
0x00
0xFE
4.5.9
Comparaisons - %M5.B + %V33.L == %M10.W - (Var_1 << 4 ^ 0x3) << %M10.B >= -( (Var_6 & 0xF5) + ( Var_3 & %M5.W)) - %I900.W & 1 << %V100.B != 0 // Test du bit N %V100.B de %I900.W (Voir 5.2.7.4). Affectations numriques - %M5.B = %M33.L - %M10.W - Var_1 = -%M10.B + ~( 0xF5 - (Var_3 << %M5.W)) - Reste = Dividende - Dividende/Diviseur*Diviseur // calcul du reste dune division entire
fr-938846/5
4-9
Appels fonction valides - Var_1.L = printf( CHAINE_1, %M45.W << 4, %M100.L, (Var_4 & 0x33) + %M200.W); - printf( %M250.L, %M45.W << 4, %M100.L, (Var_4 & 0x33) + %M200.W);
4.5.10
La longueur maximum dune entit littrale est LGM_LITTERAL (soit 120 caractres).
4.5.11
Indpendamment de la longueur maximum de lexpression, le nombre maximum doprandes autoriss dans une expression numrique est limit par un autre critre: le nombre maximum de stockage NBM_DATA_REG (soit 5). Ce dpassement est signal lors de la compilation par le message Erreur Nb maximum data register. Exemple Lexpression numrique : Var_1 | Var_2 ^ Var_3 >> 8 + Var_4 * Var_5 qui gnre la pile post fixe ci-dessous est refuse par le compilateur car le nombre maximum de stockage est dpass. Var_1 Var_2 Var_3 8 Var_4 Var_5 * + >> ^ | 1 stockage 2 stockage 3 stockage 4 stockage 5 stockage 6 stockage * Erreur, plus de 5 niveaux de stockage 5 stockage 4 stockage 3 stockage 2 stockage 1 stockage
Dans ce cas particulier une rorganisation de lexpression permet de raliser le calcul, en effet lexpression quivalente : Var_3 >> Var_5 * Var_4 + 8 ^ Var_2 | Var_1 qui gnre la pile post fixe ci-dessous est accepte par le compilateur. Var_3 Var_5 Var_4 * 8 + >> Var_2 ^ Var_1 | 1 stockage 2 stockage 3 stockage 2 stockage 3 stockage 2 stockage 1 stockage 2 stockage 1 stockage 2 stockage 1 stockage
4 - 10
fr-938846/5
Programmation ladder
5 Programmation ladder
5-3 5-3 5-3 5-3 5-3 5-4 5-4 5-7 5-7 5-7 5-7 5-7 5-9 5-10 5-12 5-14 5-14 5-15 5-15 5-16 5-18 5-18 5-21 5-21 5-22 5-24 5-25 5-26 5-26
fr-938846/3
5-1
5-2
fr-938846/3
Programmation ladder
5.1
5.1.1
Les squences de type tableau de constantes, chanes de caractres ou rseau possdent une en-tte commune compose : - dun identificateur de squence facultatif appel label (Voir 4.2) - dun commentaire facultatif (Voir 4.2) - dune tape grafcet facultative (Voir 4.3).
5.1.2
Etape grafcet
Les tapes grafcet permettent daugmenter la vitesse dexcution dun programme. En effet toutes les squences non actives ne sont pas excutes. Elles permettent de spcifier le logiciel suivant une mthodologie grafcet. Si toutes les actions dune tape grafcet ne peuvent tre programmes dans une mme squence, le programmeur peut crire autant de squences quil le souhaite avec la mme tape. 5.1.2.1 Prsentation
Une squence avec tape grafcet possde deux tats : - active lorsque <variable_tape> == <numro_tape>, - inactive lorsque <variable_tape> != <numro_tape>. 5.1.2.2 Traitement des tapes grafcet par le systme
Lorsquune squence avec tape grafcet est active alors le systme lexcute comme une squence sans tape. Lorsquune squence avec tape grafcet nest pas active alors le systme ne lexcute pas.
NON
fr-938846/3
5-3
5.1.2.3
Lactivation (dsactivation) des squences avec tapes se fait par programmation en chargeant la variable <variable_tape> avec lentier correspondant (aux) squence(s) activer. 5.1.2.4 Exemples de programmation
Etape 0 %M1.W == 0
Attente en A
Etape 1 %M1.W == 1
Mouvement A --> B
Bute B atteinte
Etape 2 %M1.W == 2
Mouvement B --> C
Bute C atteinte
Etape 3 %M1.W == 3
Mouvement C --> A
Bute A atteinte
5-4
fr-938846/3
Programmation ladder
fr-938846/3
5-5
5-6
fr-938846/3
Programmation ladder
5.2
5.2.1
La squence rseau
Prsentation
Un rseau de contacts est compos : - dun label facultatif et dun commentaire facultatif, - dune tape grafcet facultative, - dune zone de test, - dune zone daction.
5.2.2
5.2.2.1
La zone test occupe la partie gauche du rseau. La zone test permet de saisir des quations logiques. Une quation logique est une combinaison de contacts en parallle ou en srie. Un contact est un boolen rsultat : - du test dune ou plusieurs variables sur bit, - du test du front montant ou descendant du fil dentre, - dune comparaison entre deux expressions numriques, La zone test est compose de 6 fils sur chacun desquels on peut brancher 6 contacts. Ltat du fil la sortie dun contact dpend de ltat du fil lentre du contact et du rsultat du test. Si ce rsultat est FAUX alors le fil correspondant est mis ZERO. Sinon ltat du fil nest pas chang. Des actions conditionnelles sont autorises dans la zone test. Ces actions sont conditionnes par ltat du fil dentre et ne modifie pas le fil de sortie. Il est possible de mettre des fils en drivation. Une drivation est symbolise par une barre verticale. 5.2.2.2 Les contacts
Il y a cinq types de contacts : Type de contact <variable bit> {,<variable bit>}7 ] [ <variable bit> {,<variable bit>}7 ] / [ <variable bit> R_T Description Testent ltat UN dune liste de variable sur bit. SI tous les bits sont UN alors fil de sortie == fil dentre. SINON mise ZERO du fil de sortie. Testent ltat ZERO dune liste de variable sur bit. SI tous les bits sont ZERO alors fil de sortie == fil dentre. SINON mise ZERO du fil de sortie. Dtecte le front montant du fil dentre (RISING TRIG) Permet de mmoriser ltat du fil dentre. SI le fil dentre est UN et <variable bit> ZERO alors mise UN du fil de sortie. SINON mise ZERO du fil de sortie. <variable bit> = fil dentre (Mmorisation du fil dentre).
fr-938846/3
5-7
Description Dtecte le front descendant du fil dentre (FALLING TRIG) Permet de mmoriser ltat du fil dentre. SI le fil dentre est ZERO et <variable bit> UN alors mise UN du fil de sortie. SINON mise ZERO du fil de sortie. <variable bit> = fil dentre (Mmorisation du fil dentre). Permet la comparaison de deux expressions numriques. SI la comparaison numrique est VRAI alors fil de sortie == fil dentre. SINON mise ZERO du fil de sortie.
<comparaison_numrique> [ > ]
Fonctionnement de la cellule R_T (Rising trig) Fil Mmoire Fil entre R_T sortie Si (Entre == 1 et Mmoire == 0) alors Sortie = 1 Sinon Sortie = 0 Mmoire = Entre Fonctionnement de la cellule F_T (Falling trig) Fil Mmoire Fil entre F_T sortie Si (Entre == 0 et Mmoire == 1) alors Sortie = 1 Sinon Sortie = 0 Mmoire = Entre
5-8
fr-938846/3
Programmation ladder
Exemple
5.2.2.3
Il y a deux types dactions : Type daction <affectation_numrique> {;<affectation_numrique>}7 <appel_fonction> T <affectation_numrique> {;<affectation_numrique>}7 <appel_fonction> F Description Action excute si le fil dentre est UN. Les actions possible sont : - <affectation_numrique> Ex :%M10.B = %V34+3 - <appel_fonction> ex :setb(%M100.&,0,100) Action excute si le fil dentre est ZERO. Les actions possible sont : - <affectation_numrique> Ex :%M10.B = %V34+3 - <appel_fonction> ex :setb(%M100.&,0,100)
fr-938846/3
5-9
Exemple
5.2.2.4
Temporisations
Trois types de blocs fonction temporisation sont disponibles : - les temporisations de dclenchement TOF_n, - les temporisations d'enclenchement TON_n, - les temporisations d'impulsions TP_n. 128 temporisations (Tous types confondus) sont disponibles. Les variables %T0.L %T7F.L contiennent la valeur courante de la temporisation en ms. Seule la taille .L est autorise en programmation et en lecture par UNITE. Les variables %TQ0.7 %TQ7F.7 sont l'image de la sortie temporisation (Q). Seul le bit .7 est autoris en programmation et en lecture par UNITE. Type de temporisation TOF_n(<seuil>) Description Temporisation de dclenchement (Avec n de 00 7F) La mise 1 de E positionne la sortie Q 1 pour une dure indtermin. La mise 0 de E positionne la sortie Q 0 aprs la temporisation. L'argument seuil est une expression numrique qui s'exprime en ms Temporisation d'enclenchement (Avec n de 00 7F) La mise 1 de E positionne la sortie Q 1 en fin de temporisation.Q retombe ds que E = 0. L'argument seuil est une expression numrique qui s'exprime en ms Temporisation d'impulsion (Avec n de 00 7F) La mise 1 de E positionne la sortie Q 1 pendant la temporisation.Q retombe aprs la temporisation. L'argument seuil est une expression numrique qui s'exprime en ms
TON_n(<seuil>)
E
TP_n(<seuil>)
E
5 - 10
fr-938846/7
Programmation ladder
Seuil
Seuil
Q %TQxx.7 Seuil
%Txx.L
5
Temporisation d'enclenchement TON_n
1
0 Seuil
Seuil
Q %TQxx.7 Seuil
%Txx.L
Seuil
Q %TQxx.7 Seuil
%Txx.L
fr-938846/3
5 - 11
Exemple
5.2.2.5
Compteurs/dcompteurs
Deux types de blocs fonction compteur/dcompteur sont disponibles : - les compteurs CTU_n, - les dcompteur CTD_n. 128 compteurs/dcompteurs sont disponibles. Les variables %C0.L %C7F.L contiennent la valeur courante du compteur/dcompteur. Seule la taille .L est autorise en programmation et en lecture par UNITE. Les variables %CQ0.7 %CQ7F.7 sont l'image de la sortie compteur/dcompteur (Q). Seul le bit .7 est autoris en programmation et en lecture par UNITE.
REMARQUE:
Les compteurs/dcompteurs sont rinitialiss uniquement sur une RAZ des variables sauvegardes.
Description Compteur (Avec n de 00 7F) La mise 1 de E positionne la sortie Q 1 ds que le seuil est atteint. La mise 0 de E positionne la sortie Q 0. C dfinit les lments compter. L'argument seuil est une expression numrique. Dcompteur (Avec n de 00 7F) La mise 1 de E positionne la sortie Q 1 ds que le seuil est atteint. La mise 0 de E positionne la sortie Q 0. C dfinit les lments dcompter. L'argument seuil est une expression numrique.
CTD_n(<seuil>) E Q
5 - 12
fr-938846/7
Programmation ladder
Compteurs
1
Q %CQxx.7 Seuil
%Cxx.L
Dcompteurs
Q %CQxx.7 Seuil
%Cxx.L
fr-938846/8
5 - 13
Exemple
5.2.2.6
Les drivations
Il est possible de mettre en drivation des fils adjacents. Une drivation est matrialise par une barre verticale aprs un contact ou un fil. 5.2.2.7 Excution dune zone test
A lintrieur de la zone test la scrutation se fait de haut en bas et de gauche droite. Sur un fil la propagation du potentiel se fait de gauche droite mais jamais de droite gauche (contrairement un schma lectrique o la propagation se fait dans les deux sens). Sur une drivation la propagation se fait de bas en haut et de haut en bas.
5 - 14
fr-938846/3
Programmation ladder
5.2.3
5.2.3.1
La zone action est situe droite du rseau. Elle permet le dclenchement conditionnel d actions suivants les rsultats logiques de la zone test. Six actions conditionnes par les six fils de la zone test peuvent tre dclenches dans une squence. Il y a six types dactions possibles. Les actions Les six fils permettent de dclencher six actions parmi les suivantes: Type de daction <variable_bit> ( ) <variable_bit> ( / ) <variable_bit> ( S ) <variable_bit> ( R ) Description Positionnement du bit ltat logique du fil. Positionnement du bit ltat logique inverse du fil. SI fil VRAI alors mise un du bit. SINON passage action suivante. SI fil VRAI alors mise zro du bit. SINON passage action suivante.
<affectation_numrique> {;<affectation_numrique>}7 <appel_fonction> SI fil VRAI alors excution : goto(<label>) call(<label>) return(...) - dune ou plusieurs affectations numriques ex: %M10.B = %V34+3 ( T ) - dun appel fonction ex: setb (%M100.&,0,100) - dun saut un label interne au module ex: goto (FIN) - dun appel un label interne au module ex: call (COPIE) - dun return au module ou au call appelant ex: return (%M10.B) SINON passage action suivante. <affectation_numrique> {;<affectation_numrique>}7 <appel_fonction> SI fil FAUX alors excution: goto(<label>) call(<label>) return(...) - dune ou plusieurs affectations numriques ex: %M10.B = %V34+3 ( F ) - dun appel fonction ex: setb (%M100.&,0,100) - dun saut un label interne au module ex: goto (FIN) - dun appel un label interne au module ex: call (COPIE) - dun return au module ou au call appelant ex: return (%M10.B) SINON passage action suivante.
REMARQUE : lappel un sous programme externe au module (ex %SP30) se fait par la fonction sp(.....).
fr-938846/3
5 - 15
5.2.4
Lexcution de la zone action se fait aprs lexcution de la zone test et de haut en bas (du fil 0 au fil 5).
ATTENTION
Une action est toujours excute aprs la zone test. Le changement dtat dune variable, dans la zone action, ne sera vu que dans la squence suivante.
Ordre de scrutation dun rseau LADDER
Composant prcdent
%Mxx.W
Non Oui
Composant suivant
5 - 16
fr-938846/3
Programmation ladder
Pige li la scrutation Dans l'exemple ci-dessous, le systme effectue la lecture de la comparaison numrique Var_3 == 100 avant l'criture de Var_3 = 100 en zone action et si les conditions de la premire ligne de contacts sont ralises. Il y aura donc un dcalage d'un cycle automate entre l'criture de Var_3 = 100 et l'ventuelle ralisation de la deuxime ligne de contacts.
Il est donc important de contrler que l'ordre de scrutation n'a pas d'incidence sur le droulement d'un programme dont les traitements doivent tre excuts sur le mme cycle automate.
fr-938846/3
5 - 17
5.2.5
Pour tre valide un rseau doit respecter les rgles suivantes : - la zone test dun rseau ne doit pas tre vide, - un contact ou un fil doit tre reli cot gauche et cot droit par un contact, un fil ou une drivation, - une drivation ou un ensemble de drivation contigu doit tre relie en haut et en bas au moins un contact ou un fil. De plus elle doit tre connecte au moins une alimentation en courant, cest dire un contact ou un fil venant de sa gauche et au moins une sortie de courant cest dire un contact ou un fil partant vers la droite, - la zone action dun rseau ne doit pas tre vide, - une bobine doit tre connecte sur sa gauche par un contact, un fil ou une drivation,
5.2.6
Rseau valide
5 - 18
fr-938846/3
Programmation ladder
fr-938846/3
5 - 19
La squence ci-dessus dtermine le sens de rotation et le nombre de pas pour aller chercher loutil lemplacement Arrive en partant de lemplacement Dpart dans un magasin doutils rotatif comportant un nombre demplacement gal Nb_case. La valeur absolue de Rotation indique le nombre de pas de la rotation, le signe de Rotation indique le sens. La squence ci-dessous utilise la fonction qcktool() pour rsoudre ce problme.
5 - 20
fr-938846/3
Programmation ladder
5.2.7
5.2.7.1
Conseils de programmation
Optimisation des rseaux
Pour obtenir un rseau optimis en taille de code et en vitesse il faut minimiser : - le nombre de contacts, - le nombre de drivations (Barres verticales). Rseau non optimis
fr-938846/3
5 - 21
5.2.7.2
Les listes de bits permettent d'optimiser les rseaux en taille et en vitesse. L'organigrame ci-dessous donne le principe de traitement d'une liste de bits par le systme. Ds qu'un bit n'est pas vrai, le systme saute les tests des bits suivants.
Non
Bit N 1 Vrai
Oui
Non
Bit N 2 Vrai
Oui
Bit N n Vrai
Oui
Non
Fil sortie = 0
5 - 22
fr-938846/5
Programmation ladder
fr-938846/3
5 - 23
5.2.7.3
Les affectations numriques multiples permettent d'optimiser les rseaux en taille et en vitesse. Rseau non optimis
5 - 24
fr-938846/3
Programmation ladder
5.2.7.4
Ces squences permettent de tester tous les bits de la variable %I900.W. Squence 1 - Initialisation de l'index %V100.B
Squence 2 - Test de chaque bit de %I900.W Dcalage arithmtique de la valeur 1 vers la gauche d'une valeur contenue dans %V100.B puis ET logique avec %I900.W (Si %V100.B == 0, test du bit 0 de %I900.W, si %V100.B == 1, test du bit 1 de %I900.W, .. etc ..).Rsultat diffrent de 0. La bobine TRUE est active si le bit test est gal 1. La bobine FASE est active si le bit test est gal 0.
fr-938846/3
5 - 25
5.3
Le langage ladder permet lappel de fonctions. La syntaxe est la suivante : [<variable_numrique> <oprateur_affectation> ] <nom_fonction> ( [<expression_numrique>] { ,<expression_numrique>}6 ) Laffectation numrique gauche du nom de la fonction est facultative. Elle permet de rcuprer le code retourn par la fonction lorsque le programmeur le juge utile. Exemples dappels de fonctions : %M100.L = atoi(%M20.L) bit(%M20.&, M30.&, 8); cpyb(%V100.&, %V100.& + %M10.B, %V110.W + 10) // %M100.L reoit le rsultat de la conversion // Ici le code retourn est perdu // Ici le code retourn est perdu
5.4
Le nombre de paramtres passs est contrl la compilation. La valeur des paramtres passs ne peut tre contrle la compilation. Le moniteur effectue certains contrles lors de lappel de la fonction, avant son excution.
5 - 26
fr-938846/3
6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 6.10 6.11 6.12 6.13 6.14 6.15 6.16 6.17 6.18 6.19 6.20 6.21 6.22 6.23 6.24 6.25 6.26
Conversion dune chane ASCII en entier sign sur 32 bits Conversion dune chane ASCII en entier sign sur 32 bits Transcodage BCD > binaire Transcodage binaire > BCD Eclatement BIT > octet Lecture des paramtres stocks dans la pile Copie dun ou plusieurs octets Copie dun ou plusieurs mots Copie dun ou plusieurs long mots Fixe la priode de lauto-test Conversion dune valeur entire signe en chane ASCII Conversion dune valeur entire non signe en chane ASCII Concatnation OCTet > bit Simulation du clavier du pupitre Recherche circulaire optimale Recherche de la valeur dun octet Recherche de la valeur dun mot Recherche de la valeur dun long mot Retour au module ou au rseau appelant Saut un label du module sans retour Saut un label du module avec retour Smaphore Ecriture dun ou plusieurs octets Ecriture dun ou plusieurs mots Ecriture dun ou plusieurs long mots Appel de modules %SP
6.26.1 6.26.2
atoi atoj bcd_bin bin_bcd bit cpyarg cpyb cpyw cpyl diagiq itoa itostr oct putkey qcktool rchb rchw rchl return goto call sema setb setw setl
6-3 6-4 6-5 6-6 6-7 6-8 6-9 6-10 6-11 6-11 6-12 6-12 6-13 6-15 6-15 6-16 6-16 6-17 6-18 6-19 6-19 6-20 6-20 6-21 6-22 6-22 6-22 6-23 6-24 6-25 6-25 6-26 6-27 6-27 6-28 6-29
Appel dun module %SP sp Appel dun module %SP avec variables spy locales %Y
Formatage dune chane de caractres Racine carre entire Analyse dune chane ASCII Comparaison dune chane de caractres Copie dune chane de caractres Calcul de la longueur dune chane Echange des octets dun mot Echange des quatre octets dun long mot
fr-938846/7
6-1
Correction dynamique dun outil Lecture de n variables E42000 Ecriture de n variables E42000 Initialisation de la base associe aux variables %Y
6-2
fr-938846/7
6.1
atoi
&source :
Retourne un entier sign sur 32 bits rsultat de la conversion de la chane ASCII. Fonctionnement La fonction atoi() prend les chiffres dcimaux en partant de la gauche. Les blancs et les caractres de tabulation en tte sont ignors. Un signe ventuel (+ ou -) peut tre plac , permettant dobtenir un rsultat sign. La conversion sarrte la dtection dun octet NUL ou dun caractre autre quun chiffre dcimal. En cas de dbordement, la fonction atoi retourne la valeur positive maximum dun entier sign sur 32 bits soit 0x7FFFFFFF. Code retourn Si OK Entier sign sur 32 bits rsultat de la conversion. Si dfaut 0x7FFFFFFF : La conversion a dbord du champ dun entier sign sur 32 bits.
Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "&source" incorrect, - fin de chane hors zone autorise.
fr-938846/7
6-3
6.2
atoj
&&fin : &source :
Adresse du long mot (%M ou %V) qui va recevoir ladresse du caractre sur lequel sest arrt la conversion. Adresse de la chane ASCII convertir.
Retourne un entier sign sur 32 bits rsultat de la conversion de la chane ASCII. Fonctionnement La conversion sarrte la dtection dun octet NUL ou dun caractre autre quun chiffre dcimal. Fonctionnement identique la fonction atoi(). La fonction atoj() crit dans le long mot ladresse &&fin ladresse du caractre sur lequel sest arrte la conversion ou zro si fin de la chane atteinte. En cas de dbordement, atoj () retourne la valeur positive maximum dun entier sign sur 32 bits soit 0x7FFFFFFF. Le long mot dadresse &&fin reoit : - 0 si la conversion sest arrte sur un octet NUL de fin de chane, - ladresse du caractre (non NUL) sur lequel sest arrte la conversion, - -1 si dbordement. Code retourn Si OK Entier sign sur 32 bits rsultat de la conversion. Si dfaut 0x7FFFFFFF : La conversion a dbord du champ dun entier sign sur 32 bits.
Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "&source" incorrect, - paramtre "&&fin" incorrect, - fin de chane hors zone autorise.
6-4
fr-938846/7
6.3
bcd_bin
Codage : Fonctionnement
L'oprande , considr comme sign , est tendu sur 32 bits avant d'tre plac sur la pile. Le transcodage ne peut s'effectuer que sur un oprande dont chaque quartet ne dpasse pas la valeur 9 (codage en BCD). Si une erreur est dtecte , la fonction retourne - 1. Exemple: %V0.L=bcd_bin(%V4.L) %V4.L contient la valeur 12345678 code en BCD , Reprsentation mmoire de %V4.L : 0001-0010-0011-0100-0101-0110-0111-1000 1 12345678 = = 0xBC614E Reprsentation mmoire de %V0.L : 0000-0000-1011-1100-0110-0001-0100-1110 0 0 B C 6 1 4 E 2 3 4 5 6 7 8
ATTENTION
Lorsque l'oprande BCD est sur 8 ou 16 bits , afin de ne pas propager le bit de signe si le dernier quartet est > 8 , il faut masquer le paramtre avec la valeur 0xFF ou 0xFFFF. ex : bcd_bin(%V0.B & 0xFF) ; bcd_bin(%V0.W & 0xFFFF)
Code retourn Si OK Rsultat du transcodage Si dfaut - 1 : oprande non cod en BCD - un des quartets > 9
fr-938846/7
6-5
6.4
bin_bcd
Codage_binaire : Fonctionnement
L'oprande considr comme sign peut tre de taille 8 , 16 ou 32 bits. Il est tendu sur 32 bits avant d'tre plac sur la pile. Le transcodage ne peut s'effectuer que sur un oprande compris entre 0 et 99999999. Dans le cas contraire , le transcodage est erron et la fonction retourne -1. Exemples : %V0.W=bin_bcd(1234) 1234==0x4D2 reprsentation en mmoire : 0000-0100-1101-0010 0 %V0.W reprsentation mmoire 4 D 2
0001-0010-0011-0100 1 2 3 4
0001-0010-0011-0100-0101-0110-0111-1000 1 2 3 4 5 6 7 8
Code retourn Si OK Rsultat du transcodage Si dfaut - 1 : oprande non compris entre 0 et 99999999
6-6
fr-938846/7
6.5
bit
&dest : &source : n:
Adresse du premier octet destination. Adresse du premier octet clater. Nombre d'octets clater.
Eclatement de n octets en partant du bit 0 de ladresse &source dans les bits de poids fort de 8xn octets dbutant ladresse &dest. Fonctionnement Le bit 0 de loctet ladresse &source est recopi dans le bit 7 de loctet ladresse &dest; les 7 autres bits sont mis 0. Le bit 1 de loctet ladresse &source est recopi dans le bit 7 de loctet ladresse &dest + 1; les 7 autres bits sont mis 0. Le bit 0 de loctet ladresse &source + 1 est recopi dans le bit 7 de loctet ladresse &dest + 8; les 7 autres bits sont mis 0. Jusqu lclatement de n octets
%M20.B
1 Bit 7
%M37.B
fr-938846/7
6-7
Code retourn Si OK Non significatif Si dfaut -1 : n ngatif Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "&source" incorrect, - paramtre "&dest" incorrect, - "&source+n" hors zone autorise - "&dest+n" hors zone autorise.
6.6
cpyarg
&dest : n:
Adresse dun bloc mmoire dans lequel le systme recopie les arguments. Nombre darguments recopier (6 maximum).
Copie partir de ladresse &dest n arguments stocks au sommet de la pile lors de lappel du module par sp(). Fonctionnement Chaque argument occupe 32 bits. La fonction cpyarg() doit tre appel au dbut du module %SP avant que la pile ne soit modifie par un appel un label interne au module ( call(<label>) ). Si le nombre darguments n demand est suprieur au nombre darguments m passs lors de lappel, le systme ne gnre pas derreur mais bien videmment seuls les m premiers arguments seront significatifs. Code retourn Si OK non significatif. Si dfaut -1 : n ngatif, nul ou suprieur au nombre maximum autoris. Erreur de programmation provoquant la mise endfaut de l'unit centrale Accs une adresse interdite : - paramtre "&dest" incorrect, - "&dest+n" hors zone autorise.
6-8
fr-938846/7
6.7
cpyb
&dest : &source : n:
Copie n octets de la source vers la destination. Sens du transfert Pour permettre le transfert de zone mmoire ayant une intersection commune, le sens de la copie est fonction des adresses &dest et &source : - Si &dest < &source alors la copie est faite du dbut vers la fin (adresses croissantes), - Si &dest > &source alors la copie est faite de la fin vers le dbut (adresses dcroissantes). Exemple cpyb(%M20.&, %M120.&, 3) %M120.B
Bit 7 Bit 0
%M121.B
Bit 7 Bit 0
%M122.B
Bit 7 Bit 0
%M20.B
Bit 7 Bit 0
%M21.B
Bit 7 Bit 0
%M22.B
Bit 7 Bit 0
fr-938846/7
6-9
Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "&source" incorrect, - paramtre "&dest" incorrect, - "&source+n" hors zone autorise, - "&dest+n" hors zone autorise.
6.8
cpyw
&dest : &source : n:
Copie n mots de la source vers la destination. Sens du transfert Se reporter au paragraphe 6.5. Code retourn Si OK 0 Si dfaut -1 : n ngatif ou nul. Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "&source" incorrect, - paramtre "&dest" incorrect, - "&source+n" hors zone autorise, - "&dest+n" hors zone autotise.
6 - 10
fr-938846/7
6.9
cpyl
&dest : &source : n:
Copie n longs mots de la source vers la destination. Sens du transfert Se reporter au paragraphe 6.5. Code retourn Si OK 0 Si dfaut -1 : n ngatif ou nul Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "&source" incorrect, - paramtre "&dest" incorrect, - "&source+n" hors zone autorise, - "&dest+n" hors zone autotise.
6.10
diagiq
priode :
Le systme lit priodiquement le statu interne des cartes connectes sur le bus srie (%I, %Q) et rafrachit le mot de diagnostic %Irc3C.W. Par dfaut la priode est de 400 millisecondes. La fonction diagiq() permet de supprimer lauto-test ou modifier la priode par dfaut. Le paramtre priode doit tre ZERO pour supprimer lauto-test ou compris entre 1 (0,1 seconde) et 10 ( 1 seconde). On notera quune priode petite est une charge supplmentaire pour le CPU. diagiq() doit tre appel dans la tche %INI.
fr-938846/7
6 - 11
Code retourn Si OK 0 Si dfaut -1 : Priode non valide (non compris entre 0 et 10) (la priode par dfaut reste valide).
6.11
itoa
i: &dest :
Valeur entire convertir (la valeur est considre signe). Adresse de la chane ASCII_ZERO qui recevra les caractres ASCII.
Conversion dune valeur entire signe dans la base 10. Les caractres ASCII rsultat sont placs dans la chane dadresse &dest. La chane est termine par un octet NUL. Code retourn Si OK Nombre de caractres placs dans la chane sans compter loctet terminal NUL. Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "&dest" incorrect, - fin de chane hors zone autorise.
6.12
itostr
u: &dest : base :
Valeur entire convertir (la valeur est considre non signe). Adresse de la chane qui recevra les caractres ASCII. Base de la conversion.
Conversion dune valeur entire non signe dans la base spcifie. Les caractres ASCII rsultats sont placs dans la chane dadresse &dest. La chane est termine par un octet NUL. La base doit tre comprise entre 2 et 36 sinon la base 10 est prise.
6 - 12
fr-938846/7
Code retourn Si OK Nombre de caractres placs dans la chane sans compter loctet terminal NUL. Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "&dest" incorrect, - fin de chane hors zone autorise.
6.13
oct
&dest : &source: n:
Adresse du premier octet destination. Adresse du premier octet concatner. Nombre d'octets destination concatner.
Concatnation des bits de poids fort de 8 x n octets depuis &source sur les n octets dbutant &dest. Fonctionnement Le bit 7 de loctet ladresse &source est recopi dans le bit 0 de loctet ladresse &dest. Le bit 7 de loctet ladresse &source + 1 est recopi dans le bit 1 de loctet ladresse &dest. ..... Le bit 7 de loctet ladresse &source + 8 est recopi dans le bit 0 de loctet ladresse &dest + 1. ..... Le bit 7 de loctet ladresse &source + (n - 1) x 8 est recopi dans le bit 0 de loctet ladresse &dest +(n - 1). ..... Le bit 7 de loctet ladresse &source + (n - 1) x 8 + 7 est recopi dans le bit 7 de loctet ladresse &dest + (n - 1).
fr-938846/7
6 - 13
%M20.B %M21.B
1 Bit 7 0 Bit 7
%M27.B
1 Bit 7 1 Bit 7
1 Bit 0
%M30.B
%M2E.B %M2F.B
x
Bit 0
%M31.B
Code retourn Si OK 0 Si dfaut -1 : n ngatif ou nul Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "&source" incorrect, - paramtre "&dest" incorrect, - "&source+n" hors zone autorise, - "&dest+n" hors zone autorise.
6 - 14
fr-938846/7
6.14
putkey
Code_touche :
Simulation du clavier du pupitre par la fonction automatisme. Fonctionnement La fonction putkey() est valide si le pupitre est absent (%W5.0 = 1). Pour s'assurer qu'un code simul est pris en compte par la CN, aprs mission du code, attendre que le compte rendu repasse 0. Le code a t pris en compte par la CN mais il n'y a pas moyen de s'assurer que le code va tre trait. Aussi, il est recommand de temporiser un nouvel appel de putkey() de 100 ms au minimum.
REMARQUE : La valeur 0xAF dans l'argument "Code_touche" permet un appel direct du mode transparent.
Code retourn Si OK 0 Si dfaut -1 : 1: Clavier pupitre non invalid. Buffer satur, ritrer lappel de putkey(..)
6.15
qcktool
origine: destination: n:
Numro de la case origine (Voir Remarque). Numro de la case destination (Voir Remarque). Nombre de cases du magasin doutils.
La fonction qcktool() dtermine le nombre de cases et le sens de rotation permettant daller le plus rapidement de la case origine la case destination dans un magasin doutils circulaire.
REMARQUE : les cases sont numrotes en partant du numro zro (de 0 n-1).
fr-938846/7
6 - 15
Code retourn Si OK Si > 0: Si < 0: Si = 0: Si = n Le sens positif (numros croissants) est le plus court. Indique le nombre de pas. Le sens ngatif (numros dcroissants) est le plus court. La valeur absolue indique le nombre de pas. Aucun dplacement faire le magasin est dj sur la position destination. Hors magasin
6.16
rchb
&source : b: pas : n:
Adresse de dbut de la recherche. Valeur de loctet chercher. Valeur du pas de la recherche en octets. Nombre maximum de pas de la recherche.
Recherche, avec un pas, la premire occurrence de loctet b, en partant de ladresse &source. Le pas peut tre positif ou ngatif : Pas positif: Pas ngatif: Code retourn Si valeur trouve Nombre positif gal au nombre de pas effectus jusqu la premire occurrence. Pas positif: Pas ngatif: Si valeur non trouve -1 : Valeur non trouve. Code retour = (adresse occurrence - &source) / pas Code retour = (&source - adresse occurrence) / (-pas) Dans ce cas la recherche seffectue vers les adresses croissantes. Dans ce cas la recherche seffectue vers les adresses dcroissantes.
Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre"&source" incorrect, - "&source+pas*n"hors zone autorise.
6 - 16
fr-938846/7
6.17
rchw
&source: w: pas : n:
Adresse de dbut de la recherche. Valeur du mot chercher. Valeur du pas de la recherche en octets. Nombre maximum de pas de la recherche.
Recherche, avec un pas, la premire occurrence du mot w, en partant de ladresse &source. Le pas peut tre positif ou ngatif : Pas positif: Pas ngatif: Code retourn Si valeur trouve Nombre positif gal au nombre de pas effectus jusqu la premire occurrence . Pas positif: Pas ngatif: Si valeur non trouve -1 : valeur non trouve. Code retour = (adresse occurrence - &source) / pas Code retour = (&source - adresse occurrence) / (-pas) Dans ce cas la recherche seffectue vers les adresses croissantes. Dans ce cas la recherche seffectue vers les adresses dcroissantes.
Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "&source" incorrect, - "&source+pas*n" hors zone autorise.
6.18
rchl
&source: l: pas : n:
Adresse de dbut de la recherche. Valeur du long mot chercher. Valeur du pas de la recherche en octets. Nombre maximum de pas de la recherche.
Recherche, avec un pas, la premire occurrence du long mot l, en partant de ladresse &source.
fr-938846/7
6 - 17
Le pas peut tre positif ou ngatif : Pas positif: pas ngatif: Code retourn Si valeur trouve Nombre positif gal au nombre de pas effectus jusqu la premire occurrence . Pas positif: Pas ngatif: Si valeur non trouve -1 : valeur non trouve. Code retour = (adresse occurrence - &source) / pas Code retour = (&source - adresse occurrence) / (-pas) Dans ce cas la recherche seffectue vers les adresses croissantes. Dans ce cas la recherche seffectue vers les adresses dcroissantes.
Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "&source" incorrect, - "&souce+pas*n" hors zone autorise.
6.19
return
expression_numrique: Fonctionnement
Effectue le retour : - au module appelant dans le cas dun appel inter-module de la forme <variable> = sp(.....). Dans ce cas <variable> permet de rcuprer la valeur de lexpression numrique, - au rseau de contacts appelant dans le cas dun appel intra-module de le forme call(<label>). Dans ce cas lventuelle valeur retourne ne peut tre rcupre.
ATTENTION
6 - 18
fr-938846/7
6.20
goto
Label: Fonctionnement
ATTENTION
6.21
call
Label: Fonctionnement
Saut une squence avec retour la bobine suivant le Call(), sur le premier return () rencontr.
ATTENTION
fr-938846/7
6 - 19
6.22
Smaphore
sema
sema (&smaphore)
Syntaxe de linstruction
&smaphore:
Utilise une instruction non interruptible du type Test and Set pour mettre 0x80 (-128) loctet ladresse &smaphore. Cette fonction doit tre utilise lorsque des tches diffrentes doivent partager une mme ressource (par exemple : le clavier, lcran, .. etc ..). Code retourn Etat du smaphore 0: 1: Le smaphore tait libre. Le smaphore est dj pris.
Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "&smaphore" incorrect.
6.23
setb
&dest: b: n:
Ecrit n octets la valeur b depuis ladresse &dest. Exemple dutilisation setb(%M120.&, %V100.B & 0x7f, 3)
%V100.B & 0x7F %M120.B
Bit 7 Bit 0
%M121.B
Bit 7 Bit 0
%M122.B
Bit 7 Bit 0
6 - 20
fr-938846/7
Code retourn Si OK Non significatif Si dfaut -1 : n ngatif ou nul Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "&dest" incorrect, - "&dest+n" hors zone autorise.
6.24
setw
6
&dest : w: n:
Ecrit n mots la valeur w depuis ladresse &dest. Code retourn Si OK Non significatif Si dfaut -1 : n ngatif ou nul Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "&dest" incorrect, - "&dest+n" hors zone autorise.
fr-938846/7
6 - 21
6.25
setl
&dest: l: n:
Ecrit n longs mots la valeur l depuis ladresse &dest. Code retourn Si OK Non significatif Si dfaut -1 : n ngatif ou nul Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "&dest" incorrect, - "&dest+n" hors zone autorise.
6.26
6.26.1
sp
n_module : argn :
Appel de module %SP (%SP0 ... %SP255) avec passage ventuel darguments dans la pile. Fonctionnement Le numro du module doit tre compris entre 0 (appel de %SP0) et 255 (appel de %SP255). Les arguments sont tendus sur 32 bits et placs sur la pile. Lappel est alors effectu. Le nombre total darguments (n_module inclus) ne doit pas dpasser NBM_PARAM (soit 7). Lappel de la fonction cpyarg() au dbut du module appel permet de rcuprer les arguments passs dans la pile.
6 - 22
fr-938846/7
Code retourn Si OK Valeur retourne par le module %SP appel grce la fonction return(<expression_numrique>). Non significatif si le module appel na pas retourn de valeur. Exemple dutilisation de sp(), cpyarg() , return() Echange darguments lors de lappel dun module %SP. Module appelant (%TS , %TF ou %SP) : %M100.W = sp(33, 10, %M20.B + %M30.B);Les arguments 10 et (%M20.B + %M30.B) sont tendus sur 32 bits et placs sur la pile. Lappel de %SP33 est alors effectu. Module appel %SP33 : cpyarg(M200.&, 2); return( %V100.W+25 ); Recommandation Le passage dargument permet dviter un couplage des modules par des variables communes. Cest une rgle de programmation suivre car elle permet lcriture de modules indpendants facilitant ainsi leur rutilisation dans une autre application. Recopie de deux paramtres de lappel partir de %M200.%M200.L reoit 10 et %M204.L reoit le rsultat de lexpression (%M20.B + %M30.B). Retour lappelant. %M100.W reoit la valeur de lexpression %V100.W + 25.
6.26.2
spy
n_module : argn :
Appel de module %SP (%SP0 %SP255) avec cration de 128 variables locales %Y et passage ventuel darguments dans la pile. Fonctionnement Le numro du module doit tre compris entre 0 (appel de %SP0) et 255 (appel de %SP255). Il y a cration dans la pile, de 128 variables locales %Y. Ces variables sont dtruites lors du retour lappelant. Les arguments, sauf n_module qui nest pas empil, sont tendus sur 32 bits et placs sur la pile. Le nombre total darguments (n_module inclus) ne doit pas dpasser NBM_PARAM (soit 7). Lutilisation de spy(..) et des variables %Y permet dcrire des modules %SP portables et rentrants.
REMARQUE : Le programme d'exemple L_E_VAR.MCH disponible sous PLCTOOL illustre l'instruction spy().
fr-938846/7
6 - 23
Organisation des variables %Y disponibles dans le module %SP appel : %Y0.L %Y4.L %Y14.L %Y18.B %Y7f.B Code retourn Si OK Valeur retourne par le module %SP appel grce la fonction return(<expression_numrique>). Non significatif si le module appel na pas retourn de valeur. Exemple dutilisation de spy(..) et return(..) Echange darguments lors de lappel dun module %SP. Module appelant (%TS , %TF ou %SP) : %M100.W = spy(33, 10, %M20.B + %M30.B); Cration de 128 variables locales %Y dans la pile. Les arguments 10 et (%M20.B + %M30.B) sont tendus sur 32 bits et placs sur la pile. Lappel de %SP33 est alors effectu. Module appel %SP33 : return(%Y10.W + 25) %Y0.L contient 10 %Y4.L contient le rsultat de lexpression (%M20.B + %M30.B). Retour lappelant, les variables locales sont dtruites, %M100.W reoit le rsultat de lexpression (%Y10.W + 25) Contient le premier argument sil existe sinon la valeur est indtermine. Contient le deuxime argument sil existe sinon la valeur est indtermine. Contient le dernier argument sil existe sinon la valeur est indtermine. Suite des variables locale. Dernire variable locale.
6.27
sprintf
Formate la chane ladresse &format et recopie ladresse &dest. Un octet NUL est ajout en fin de &dest. La fonction sprintf() supporte les spcifications de conversion du langage C norme ANSI. Fonctionnement La fonction sprintf() est quivalent printf() mais la chane formate, au lieu dtre transmise lcran, est copie partir de ladresse &dest. Spcification des formats de conversion se reporter la fonction printf().
6 - 24
fr-938846/7
Code retourn Si OK Nombre de caractres crits dans &dest sans compter loctet terminal NUL. Si dfaut -1 : Chane format contenant des formats non valides.
Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "&dest" incorrect, - paramtre "&formt" incorrect, - fin de chane hors zone autorise.
6.28
sqrt
sqrt( n )
Syntaxe de linstruction
n:
Entier positif.
Retourne la racine carre entire de n. Le temps de calcul est infrieur 60 microseconde. Code retourn Si OK Nombre entier positif le plus proche de la racine carre de n.
6.29
sscanf
Adresse de la chane source. Adresse de la chane format. Adresse des variables renseigner.
Analyse une chane ASCII (termine par NUL) ladresse &chanesource et renseigne les paramtres suivant les spcifications de conversion de la chane format. La fonction sscanf() supporte les spcifications de conversion du langage C norme ANSI.
fr-938846/7
6 - 25
Fonctionnement Chaque argument &argn doit tre une adresse dune variable %M, %V, %Q, %W. Spcification des formats de conversion se reporter la fonction printf() (Voir 8.2.5). Code retourn Si OK Nombre de paramtres qui ont t effectivement renseigns. Si dfaut 0: Lanalyse de chane source infructueuse, chane format contenant des formats non valides.
Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "&chanesource" incorrect, - paramtre "&chaneformat" incorrect, - paramtre "&argn" d'un %d, %E, %C, %f, %G, %g, %i, %n, %o, %P, %u, %X ou %x incorrect, - paramtre "&argn" d'un %s incorrect. - fin de chane hors zone autorise,
6.30
strcmp
&chane1 : &chane2 :
Compare deux chanes termines par un octet NUL. Code retourn Si OK n == 0 n>0 n<0 Si chane1 == chane2. Si chane1 > chane2 (octet Ni de chane1 > octet Ni de chane2). Si chane1 < chane2 (octet Ni de chane1 < octet Ni de chane2).
Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "&chane1" incorrect, - paramtre "&chane2" incorrect, - fin de chane hors zone autorise.
6 - 26
fr-938846/7
6.31
strcpy
&dest : &source :
Copie les octets de la chane dbutant ladresse &source dans &dest. La copie sarrte au premier octet NUL de la chane source. Un octet NUL est copi la fin de &dest. Code retourn Si OK Retour du pointeur sur la destination. Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "&source" incorrect, - paramtre "&dest" incorrect, - fin de chane hors zone autorise.
6.32
strlen
&chane :
Calcul la longueur dune chane (nombre doctets avant le premier octet NUL). Code retourn Si OK Longueur de la chane. Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "&chane" incorrect, - fin de chane hors zone autorise.
fr-938846/7
6 - 27
6.33
swapw
&dest : &source : n:
Copie n mots de &source dans &dest en inversant les octets de poids faible et de poids fort de chaque mot. Exemple swapw(%M20.&, %M120.&, 3)
Poids fort Poids faible Poids fort Poids faible
%M120.W
%M20.W
%M122.W
%M22.W
%M124.W
%M24.W
Code retourn Si OK Non significatif. Si dfaut -1 : n ngatif ou nul Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "&dest" incorrect, - paramtre "&source" incorrect, - "&dest+n" hors zone autorise, - "&source+n" hors zone autorise.
6 - 28
fr-938846/7
6.34
swapl
&dest : &source : n:
Copie n longs mots de &source dans &dest en inversant les 4 octets de chaque mot. Exemple swapl(%M20.&, %M120.&, 3)
G P fort G P faible p p fort p p faible G P fort G P faible p p fort p p faible
%M120.L
%M20.L
G P fort
G P faible
p p fort
p p faible
G P fort
G P faible
p p fort
p p faible
%M124.L
%M24.L
G P fort
G P faible
p p fort
p p faible
G P fort
G P faible
p p fort
p p faible
%M128.L
%M28.L
Code retourn Si OK Non significatif. Si dfaut -1 : n ngatif ou nul Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "&dest" incorrect, - paramtre "&source" incorrect, - "&dest+n" hors zone autorise, - "&source+n" hors zone autorise.
fr-938846/7
6 - 29
6.35
tooldyn
Valeur de la correction dynamique (entier sign sur 16 bits fonction de l'unit interne du systme (Voir manuel des paramtres)). Type de correction. Numro de loutil (de 0 255).
Ecriture dune correction dynamique dun outil (les corrections dynamiques sont cumules par la CN). Fonctionnement Il est recommand d'espacer le traitement de deux fonctions tooldyn(..) dau moins une HTR. Axe
0 Bit 7 0 Bit 7 1 Bit 7 1 Bit 7 1 Bit 7 1 1 Bit 0 1 Bit 0 1 Bit 0 1 Bit 0 1 Bit 0
0x1 : Incrmentation correction en X (Tour) ou L (Fraiseuse) 0x2 : Incrmentation correction en Z (Tour) ou R (Fraiseuse) 0x81 : RAZ du cumul des corrections en X (Tour) ou L (Fraiseuse) 0x82 : RAZ du cumul des corrections en Z (Tour) ou R (Fraiseuse) 0x83 : RAZ du cumul des corrections en X et Z (Tour) ou L et R (Fraiseuse)
Code retourn Si OK 0 1 Fonction refuse - File sature par une fonction tooldyn(..) mise prcdement et encore en traitement.
6 - 30
fr-938846/7
6.36
R_E42000
&dest : Numro : n:
Adresse de la destination. Numro de la premire variable E42000 lire (0 ... 127). Nombre doctets lire (1 128).
Permet de lire n octets partir de la variable E42000 + numro dans la zone pointe par &dest. Exemple R_E42000(%V100.&, 120, 3)
E42120 E42121 E42122 %V100.B
Bit 7 Bit 0
%V101.B
Bit 7 Bit 0
%V102.B
Bit 7 Bit 0
Code retourn Si OK 0 Si dfaut -1 : numro > 127 numro+n > 128 Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "&dest" incorrect, - "&dest+n" hors zone autorise.
fr-938846/7
6 - 31
6.37
W_E42000
&source : Numro : n:
Adresse de la source. Numro de la premire variable E42000 crire (0 ... 127). Nombre doctets crire (1 128).
Copie n octets de &source vers les variables E42000 + numro. Exemple W_E42000(%M100.&, 0, 3) %M100.B
Bit 7 Bit 0
%M101.B
Bit 7 Bit 0
%M102.B
Bit 7 Bit 0
Code retourn Si OK 0 Si dfaut -1 : numro > 127 numro+n > 128 Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "&source" incorrect, - "&source+n" hors zone autorise.
6 - 32
fr-938846/7
6.38
y_init
adresse_debut_y :
Charge la base associe aux variables %Y avec ladresse passe en paramtre. Fonctionnement Les variables %Y peuvent remplacer nimporte quelles variables globales %M, %V, %I, %Q, %R, %W. Le programmeur doit initialiser la base avec la fonction y_init(..) avant dutiliser les variables %Y. Lutilisation de la fonction y_init(..) fait perdre la visibilit des ventuelles variables locales du module %SP. Pour rcuprer la visibilit il faut procder comme suit : Var_1 = %Y0.& y_init(Var_2 + 100) ...... y_init(Var_1) ...... Sauvegarde de la base dans Var_1 (Ex : %V100.L) La base pointe sur une nouvelle zone de variables Utilisation des nouvelles variables %Y Restitution de la base Utilisation des variables %Y locales
REMARQUE:
Le chargement d'une base associe aux variables %Y par la fonction y_init est oprant seulement pendant l'excution de la tche en cours(%TS, %TF, %TH ou %INI). Par exemple: - si les variables %Y sont utilises dans la tche %TS0, il faudra appeler la fonction y_init chaque excution de la tche %TS0. - si les variables %Y sont utilises dans une tche de fond sans fin (tche de fond qui boucle), il suffira de l'appeler une fois en dbut de tche.
Exemple dutilisation de y_init(..) et %Y Traitement des 8 groupes daxes avec %SP0 unique en utilisant les variables %Y. y_init(%R100.&) sp(0) y_init(%R200.&) sp(0) y_init(%R800.&) sp(0) %Y0.B remplace %R100.B Traitement du groupe daxes N1 %Y0.B remplace %R200.B Traitement du groupe daxes N2 %Y0.B remplace %R800.B Traitement du groupe daxes N8 %Y80.B remplace %W800.B %Y80.B remplace %W200.B %Y80.B remplace %W100.B
fr-938846/7
6 - 33
Traitement dune chane. %V100.L = ABCDEF y_init(%V100.L) %Y0.B == A %Y1.B == B %Y5.B == F Code retourn Le code retourn est non significatif. Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "&adresse_debut_y" incorrect. %V100.L contient ladresse de dbut de chane. La base y pointe sur le dbut de la chane. %Y0.B correspond au premier caractre de la chane. %Y1.B correspond au deuxime caractre de la chane.
6 - 34
fr-938846/7
Introduction Dbut dune section critique Fin dune section critique Mise en sommeil temporaire dune tche %TF Dpart dune tche %TF Arrt dune tche %TF
7-3
fr-938846/7
7-1
7-2
fr-938846/7
7.1 7.2
Pour plus d'informations concernant le traitement des tches de fond, se reporter au paragraphe 2.1.2.3.
csbegin
Syntaxe de linstruction csbegin() Description Interdit la premption de la tche appelante par une autre tche %TS, %TH %TF. Code retourn Toujours OK 0
7.3
csend
7
csend()
Syntaxe de linstruction
Description Autorise la premption de la tche appelante par une tche de priorit suprieure. Cette fonction annule les effets de la fonction csbegin(). Code retourn Toujours OK 0
7.4
whtr
n: Description
Fait passer la tche %TF appelante de ltat EN EXECUTION ltat EN ATTENTE pendant n HTR. A la fin de ce dlai la tche %TF passera ltat PRETE. n doit tre compris entre 0 et 255.
fr-938846/7
7-3
Code retourn Si OK 0
7.5
tfstart
tfstart( numero_tf )
Syntaxe de linstruction
numro_tf : Description
7.6
tfstop
tfstop( numero_tf )
Syntaxe de linstruction
numro_tf : Description
Fait passer la tche %TF dans ltat NON PRETE. Code retourn Si OK 0
7-4
fr-938846/7
Mode transparent
8 Mode transparent
8.1 Introduction
8.1.1 8.1.2 8.1.3 8.1.4 Gestion de la visu Variable dchange Envoi de caractres cods vers lcran Caractres cods exploits par %R0.W et putkey() Positionnement du curseur Affichage dun caractre Affichage dune chane sans formatage Affichage dun tampon Affichage dune chane avec formatage Ouverture dune acquisition clavier Ouverture dune acquisition clavier numrique Acquisition dune chane Acquisition et conversion dun nombre dcimal Acquisition et conversion dun nombre hexadcimal Fermeture dune acquisition clavier Positionnement et affichage dune image Init graphique pcur putchar puts print printf scano scanu scans
8-3 8-3 8-4 8-4 8-5 8-7 8-7 8-7 8-8 8-8 8-9 8-12 8-13 8-13
8-14 8-15 8-16 8-16 8-17 8-18 8-18 8-18 8-18 8-18 8-22 8-22 8-22 8-22 8-23 8-23 8-24 8-24 8-25 8-25 8-26 8-27 8-28 8-28 8-29
fr-938846/6
8-1
8.3.5 8.3.5.1 8.3.5.2 8.3.5.3 8.3.5.4 8.3.5.5 8.3.5.6 8.3.5.7 8.3.5.8 8.3.5.9 8.3.5.10 8.3.5.11 8.3.5.12 8.3.5.13 8.3.5.14 8.3.5.15
Instructions graphiques Dfinition du rfrentiel utilisateur Trac rfrentiel utilisateur Trac Utilisateur Dfinition doutil Animation Non animation Trac cran Dcalage origine cran Transfert point courant Icnes Chane de caractres rfrentiel cran Chane de caractres rfrentiel utilisateur Remplissage zone utilisateur Remplissage zone cran Trac de cartouche
8-29 8-29 8-31 8-32 8-33 8-34 8-34 8-34 8-35 8-35 8-36 8-38 8-38 8-38 8-40 8-40
8-2
fr-938846/6
Mode transparent
8.1
Introduction
Les programmes en mode transparent doivent tre excuts lorsque la variable %R5.7 est 1. Cette variable doit tre utilise dans les conditions darmements du programme. Pour accder la page MODE TRANSPARENT se reporter au MANUEL OPERATEUR.
8.1.1
Gestion de la visu
Le mode transparent libre la fonction CN de la gestion de lcran, et permet la fonction automatisme de disposer de lcran du pupitre pour afficher des caractres alphanumriques ou effectuer des tracs graphiques. Les commandes de gestion du curseur, les caractres alphanumriques et les instructions graphiques sont associs des codes hexadcimaux. Les fonctions de gestion cran/clavier sont valides uniquement dans le mode transparent.
FONCTION GRAPHIQUE
FONCTION AUTOMATISME
FONCTION CN
Programme utilisateur
Logiciel CN
8
VERS VISU ET CLAVIER
TOOL MODE
JOG
M01
F1
! @
F2
#
F3
$
F4
% ^
F5
&
F6
*
F7
(
F8
)
F9
_
F10
+
F11
1 ESC
2 Q
3 W
4 E
5 R
6 T
7 Y
8 U
9 I
0 O
P : ;
=
{ [
+
} ]
home
CTRL
S
x off
"
` > . ` ? / SPACE end
VALID
SHIFT /
< ,
Pg Dn
PUPITRE
ATTENTION
Le forage du mode transparent ne peut-tre ralis qu'avec les pages du graphique comprenant le cartouche de base. Pour tre sur ce cartouche il faut ajouter l'envoi du code $8D par putkey, ce qui correspond la touche << (que l'on soit en MODE, TOOL ou JOG).
fr-938846/8
8-3
8.1.2
Variable dchange
La variable %R0.W CARCLAV permet la lecture du code des touches mis par le clavier du pupitre au rythme de 1 caractre toutes les 5 HTR et de les exploiter au travers du programme utilisateur.
FONCTION AUTOMATISME
TOOL MODE
JOG
M01
%R0.W
Programme utilisateur
F1
! @
F2
#
F3
$
F4
% ^
F5
&
F6
*
F7
(
F8
)
F9
_
F10
+
F11
1 ESC
2 Q
3 W
4 E
5 R
6 T
7 Y
8 U
9 I
0 O
P : ;
=
{ [
+
} ]
home
CTRL
S
x off
"
` > . ` ? / SPACE end
VALID
SHIFT /
< ,
Pg Dn
CLAVIER
Figure 8.2 - Variable dchange %R0.W La fonction putkey() permet, si le clavier du pupitre est invalid (Variable %W5.0 1), de simuler le clavier du pupitre au travers du programme utilisateur.
FONCTION CN
TOOL MODE
JOG
Logiciel CN
M01
F1
! @
F2
#
F3
$
F4
% ^
F5
&
F6
*
F7
(
F8
)
F9
_
F10
+
F11
1 ESC
2 Q
3 W
4 E
5 R
6 T
7 Y
8 U
9 I
0 O
P : ;
=
{ [
+
} ]
home
CTRL
S
x off
"
` > . ` ? / SPACE end
VALID
SHIFT /
< ,
Pg Dn
CLAVIER
putkey()
%W5.0 = 1
8.1.3
Les fonctions putchar(), puts(), print(), printf() (Voir 8.2) permettent denvoyer les commandes de gestion du curseur et les caractres alphanumriques vers lcran du pupitre.
8-4
fr-938846/6
Mode transparent
8.1.4
Tous les caractres sont lus dans la variable %R0.W. La fonction putkey() simule la partie dialogue uniquement.
CODE HEXA 0
Ctrl P (DLE)
SP
0,1
CONT
Ctrl A
Ctrl Q (Xon)
F2
MODE
Shift F2
Shift
SEQ
Ctrl B
Ctrl R
F3
Shift F3
Shift
Jauge
10
IMD
Ctrl C
Ctrl S (Xoff)
F4
TOOL
Shift F4
Shift
100
RAP
Ctrl D
Ctrl T
F5
/ (Saut bloc)
Shift F5 Shift F6
Shift
1000
RNS
Ctrl E
Ctrl U
F6
HOME
JOG
Shift HOME Shift END Shift Pg Up Shift Pg Dn Shift Ins/Over Del line RAZCOR R ou Z L ou X INCOR
10 000 MODIF
Ctrl F
Ctrl V
&
F7
END
M01 (Aropt)
ILL
TEST
Ctrl G
Ctrl W
F8
Pg Up
// (Raz)
MANU
Ctrl H
Ctrl X
F9
Pg Dn
NU_CN
MANIV. POM
Ctrl I
Ctrl Y
F10
Ins/Over (] [)
Ctrl J LF
Ctrl Z
F11
Del car
Ctrl K
ESC Ctrl [
F1 s
Ctrl L
Ctrl \
<
F12
VALID PRESET LF
M M
Ctrl M CR Ctrl N
Ctrl ]
>
SPLIT
Ctrl O
DECHARG
Ne correspondent pas des touches du clavier. Les codes sont mis par le gestionnaire de menus.
fr-938846/6
8-5
Pupitre compact
CODE HEXA 0 1 2 3 4 5 6 7 8 9 A B C D E F
Ctrl P Ctrl A Ctrl B Ctrl C Ctrl D Ctrl E Ctrl F Ctrl G Ctrl H Ctrl I Ctrl J LF Ctrl K Ctrl L Ctrl M CR Ctrl N Ctrl O Ctrl Q Ctrl R Ctrl S Ctrl T Ctrl U Ctrl V Ctrl W Ctrl X Ctrl Y Ctrl Z Ctrl [ Ctrl \ Ctrl ] F13 F14 F15 F16 i i i i i i
REMARQUE
Ces codes touches sont accessibles par l'espion automate, mais la simulation de ces codes n'est pas prise en compte.
8-6
fr-938846/8
Mode transparent
8.2
Ces fonctions sont valides uniquement en mode transparent. Elles sont programmables uniquement dans une tche %TF. 8.2.1 Positionnement du curseur
pcur
Positionne le curseur sur la ligne et la colonne Code retourn Si OK 0 Si dfaut -1 : -2 : Pas en mode transparent, la tche appelante nest pas une %TF. Tentative de positionnement hors cran.
8.2.2
putchar
putchar( caractre)
Syntaxe de linstruction
caractre : Description
REMARQUE:
Si l'conomiseur d'cran est en fonctionnement, la commande putchar est en attente. Pour reprendre l'affichage en mode transparent, il est ncessaire de dsactiver pralablement l'conomiseur par la variable %W5.7
fr-938846/7
8-7
Code retourn Si OK Retourne le caractre crit. Si dfaut -1 : Pas en mode transparent, la tche appelante nest pas une %TF.
8.2.3
puts
&chane : Description
Emission dune chane sur lcran du systme. Le systme ajoute un 0x0D9C (\n ) la fin de la chane. Code retourn Si OK Retourne le nombre de caractres transmis. Si dfaut -1 : -2 : Pas en mode transparent, la tche appelante nest pas une %TF. Dpassement de la taille maxi du tampon (512 octets).
Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "&chane" incorrect, - fin de chane hors zone autorise.
8.2.4
print
print(&source, n)
Syntaxe de linstruction
&source: n:
8-8
fr-938846/7
Mode transparent
Description Emission dun tampon doctets sur lcran du systme (le tampon peut contenir des commandes graphiques). Laffichage sarrte suivant la valeur de n. Si n == 0: Si n > 0: Code retourn Si OK Retourne le nombre de caractres transmis. Si dfaut -1 : -2 : Pas en mode transparent, la tche appelante nest pas une %TF. dpassement de la taille maxi du tampon (512 octets). Laffichage sarrte sur le premier octet NUL (NUL non affich). Laffichage sarrte au bout de n octets.
Erreur de programmation provoquant la mise en dfaut de l'unit centrale: Accs une adresse interdite : - paramtre "&source" incorrect, - "&source+n" hors zone autorise.
8.2.5
printf
8
&format : argn :
Affichage dune chane avec conversion des ventuels arguments (la chane ne doit pas contenir de commande graphique). La fonction printf() supporte les spcifications de conversion du langage C norme ANSI. Fonctionnement La chane format contient des caractres affichables et ventuellement des spcifications pour la conversion des arguments. La fonction printf() analyse les caractres de la chane format. Si le caractre est un caractre affichable, printf() le recopie dans un tampon de travail. Lorsque printf() dtecte le caractre %, elle analyse les caractres suivants qui indiquent la conversion effectuer sur largument correspondant. Les caractres affichables, rsultat de la conversion de largument, sont placs dans le tampon de travail. Lorsque printf() dtecte la fin de la chane format (octet NUL), elle transmet le tampon la tche charge de laffichage sur lcran CN.
fr-938846/7
8-9
Indique le dbut dune spcification de conversion. Caractres facultatifs suivants : Indique que le rsultat de la conversion doit tre cadr gauche dans le champ rserv. Indique que le rsultat dune conversion signe doit dbuter par un signe + ou un signe -. Indique que le rsultat dune conversion signe doit dbuter par un espace. Ce flag est ignor si le flag + est prsent. Indique que le rsultat de la conversion doit tre modifi de la faon suivante: Le rsultat doit dbuter par un 0. Le rsultat doit dbuter par 0x ou 0X. Indique que le zro de tte du rsultat doivent tre affichs. Caractres dcimal ASCII facultatifs indiquant la taille minimum du champ utilis pour laffichage du rsultat de la conversion. Caractres dcimal ASCII facultatifs indiquant le nombre minimum de chiffres afficher dans le cas dune conversion d, o, u, x ou X ou le nombre maximum de caractre de la chane afficher dans le cas dune conversion s. Lettre obligatoire indiquant la conversion effectuer sur largument : Largument est affich en dcimal sign. Largument est affich en octal. Largument est affich en hexadcimal en utilisant les lettres abcdef. Largument est affich en hexadcimal en utilisant les lettres ABCDEF. Largument est affich en dcimal non sign. Largument est pris comme le code dun caractre ASCII et affich sans conversion. Largument est un pointeur sur une chane affiche sans conversion. %% permet dafficher le caractre %.
lettre_conversion : d: o: x: X: u: c: s: %:
8 - 10
fr-938846/6
Mode transparent
Exemple 1 Soit les variables suivantes. %V100.L = Outil numro:%5d Type:%2c%2c Temps dutilisation: %M50.W = 255 %M52.B = 0x55 %M54.B = 2 %M55.B = 57 Linstruction printf(%V100.L, %M50.W, %M52.B, 0x57, %M54.B, %M55.B) affichera : Outil numro: Exemple 2 Affichage dune chane simple %V200.L = Voulez-vous connatre lheure ? (O/N) 255 Type: t v Temps dutilisation: 2 heures 57 minutes ( 0x55 code ASCII de t , 0x57 code ASCII de v ) %2d heures %2d minutes
printf(%V200.L) Affichera: Voulez-vous connatre lheure ? (O/N) Affichage dune chane avec format daffichage pour les arguments Si %M10.B = 3; Si %M11.B = 15; %V200.L = Il est %2d heure(s) et %2d minute(s)
printf(%V200.L, %M10.B, %M11.B) affichera: Il est 3 heure(s) et 15 minute(s) Les deux caractres \n provoque un saut la ligne suivante lors de laffichage de la chane (Le compilateur remplace les deux caractres \n par les deux octets 0xd 0xa). Exemple 3 %V200.L = 1 - Lecture \n 2 - Ecriture printf (%V200.L) affichera 1 - Lecture 2 - Ecriture Code retourn Si OK Nombre de caractres transmis pour affichage. Si dfaut -1 : -2 : -3 : Pas en mode transparent, la tche appelante nest pas une %TF. Dpassement de la taille maxi du tampon de formatage (255 octets). Erreur de format dans la chane format.
fr-938846/6
8 - 11
Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "&format" incorrect, - fin de chane hors zone autorise.
8.2.6
scano
&question : largeur :
Adresse dune chane de caractres (termine par NUL). Largeur maximum du champ de saisie.
Ouverture dune acquisition clavier. Fonctionnement Le systme affiche la chane pointe par &question en bas de lcran et engage le dialogue la suite de la chane. Si le paramtre &question == 0 aucune chane nest affich La saisie des caractres est sous contrle de lditeur ligne du systme. Lditeur contrle que le nombre de caractres saisis est infrieur largeur. Les commandes de lditeur ligne sont celles, classiques, de lditeur des programmes pices : - dplacement du curseur avant et arrire, dbut et fin de ligne, - insertion et effacement de caractres, - la touche Line Feed clt la saisie.
ATTENTION
Les fonctions daffichages putchar() et printf() sont interdites pendant une acquisition clavier.
Code retourn Si OK 0 Si dfaut: -1 : -2 : Pas en mode transparent, la tche appelante nest pas une %TF. Ressource dj prise (une acquisition clavier est dj en cours).
Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "&question" incorrect, - fin de chane hors zone autorise.
8 - 12
fr-938846/7
Mode transparent
8.2.7
scanu
&question : largeur :
Adresse dune chane de caractres (termine par NUL). Largeur maximum du champ de saisie.
Ouverture dune acquisition numrique au clavier. Fonctionnement Le fonctionnement de scanu() est identique scano(), sauf en ce qui concerne lditeur ligne qui interdit la saisie de caractres qui ne sont pas des chiffres dcimaux (0, 1 .... 9).
ATTENTION
Cette fonction ne peut-tre utilise qu'avec la police 12 lignes x 40 colonnes. La saisie s'effectue sur la 11me ligne avec effacement de la ligne immdiatement suprieure.
Code retourn Si OK 0 Si dfaut -1 : -2 : Pas en mode transparent, la tche appelante nest pas une %TF. Ressource dj prise (une acquisition clavier est dj en cours).
Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "&question" incorrect, - fin de chane hors zone autorise.
8.2.8
scans
scans( &dest )
Syntaxe de linstruction
&dest :
Adresse dune zone mmoire (%M ou %V ) qui va recevoir les caractres frapps au clavier.
Lecture dune acquisition clavier. Cette fonction doit tre appele aprs une fonction douverture de dialogue scano() ou scanu().
fr-938846/7
8 - 13
Fonctionnement Cette fonction permet de rceptionner la chane frappe la fin dun dialogue oprateur. Le systme termine la chane par un octet NUL. Si le dialogue est en cours (la touche Line Feed na pas t frappe) le code 0 est retourn; il faut donc appeler cycliquement scans() jusqu la fin du dialogue. Code retourn Si OK 0: n>0: Si dfaut -1 : -2 : Pas en mode transparent, la tche appelante nest pas une %TF. Pas de dialogue en cours. Dialogue en cours Nombre de caractres transfrs dans &dest (le dialogue est termin).
Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "&dest" incorrect, - fin du champ acquisition hors zone autorise.
8.2.9
scand
&lvariable :
Adresse dune variable .L (ex : %V100.L ) qui va recevoir le rsultat de la conversion ASCII -> entier sign de la chane entre au clavier.
Lecture et conversion dune valeur dcimale acquise au clavier. Cette fonction doit tre appele aprs une fonction douverture de dialogue scano() ou scanu(). La conversion sarrte sur le premier caractre non dcimal. Si aucun caractres dcimal nest dtect alors &lvariable reoit 0. Fonctionnement Cette fonction permet de rceptionner la valeur dun nombre dcimal la fin dun dialogue oprateur. Si le dialogue est en cours (la touche Line Feed na pas t frappe) le code 0 est retourn; il faut donc appeler cycliquement scand() jusqu la fin du dialogue.
8 - 14
fr-938846/7
Mode transparent
Code retourn Si OK 0: 1: Dialogue en cours Acquisition et conversion termines avec succs. Le rsultat est transfr dans la variable . L pointe par &lvariable (le dialogue est termin). La conversion sarrte sur le premier caractre non dcimal.
Si dfaut -1 : -2 : Pas en mode transparent, la tche appelante nest pas une %TF. Pas de dialogue en cours.
Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "&Ivariable" incorrect.
8.2.10
scanx
&lvariable :
Adresse dune variable .L (ex: %V100.L ) qui va recevoir le rsultat de la conversion ASCII -> entier sign de la chane entre au clavier.
Lecture et conversion dune valeur hexadcimale acquise au clavier. Cette fonction doit tre appele aprs une fonction douverture de dialogue scano() ou scanu(). La conversion sarrte sur le premier caractre non hexadcimal. Si aucun caractres hexadcimal nest dtect alors &lvariable reoit 0. Fonctionnement Cette fonction permet de rceptionner la valeur dun nombre hexadcimal la fin dun dialogue oprateur. Si le dialogue est en cours (la touche Line Feed na pas t frappe) le code 0 est retourn; il faut donc appeler cycliquement scanx() jusqu la fin du dialogue. Code retourn Si OK 0: 1: Dialogue en cours. Acquisition et conversion termines avec succs. Le rsultat est transfr dans la variable .L pointe par &lvariable (le dialogue est termin). La conversion sarrte sur le premier caractre non hexadcimal.
fr-938846/7
8 - 15
Si dfaut -1 : -2 : Pas en mode transparent, la tche appelante nest pas une %TF. Pas de dialogue en cours.
Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "&Ivariable" incorrect.
8.2.11
scanc
Syntaxe de linstruction scanc( ) Description Cette fonction annule un dialogue en cours (engag par la fonction scano() ou scanu() ). Code retourn Si OK 0 Si dfaut -1 : -2 : Pas en mode transparent, la tche appelante nest pas une %TF. Pas de dialogue en cours.
8.2.12
putimage
x: y: &image: n:
Abscisse de dpart. Ordonne de dpart. Adresse dun tampon de commandes graphiques (0x9b...). Nombre doctets mettre.
Emission dun tampon contenant des commandes graphiques avec positionnement pralable du curseur labscisse x, ordonne y. Laffichage sarrte suivant la valeur de n.
8 - 16
fr-938846/7
Mode transparent
Fonctionnement putimage() fonctionne comme print() mais avec positionnement pralable en (x, y). putimage() permet de dupliquer avec des (x,y) diffrents une mme image. Si n == 0 : Si n > 0 : Code retourn Si OK Retourne le nombre de caractres transmis. Si dfaut -1 : -2 : Pas en mode transparent, la tche appelante nest pas une %TF. Dpassement de la taille maxi du tampon (512 octets), tentative de positionnement hors cran. Laffichage sarrte sur le premier octet NUL (NUL non affich). Laffichage sarrte au bout de n octets.
Erreur de programmation provoquant la mise endfaut de l'unit centrale Accs une adresse interdite : - paramtre "&image" incorrect, - "&image+n" hors zone autorise.
8.2.13
Init graphique
inig
inig(..)
Syntaxe de linstruction
Description Permet dinitialiserle graphique et de dfinir le rfrentiel. Lunit de programmation est le pixel. Le rfrentiel est dfinit comme suit : - laxe X des abscisses de 0 502 pixels, - laxe Y des ordonnes de 0 382 pixels.
Y 502 11 Lignes
382
40 Colonnes
fr-938846/7
8 - 17
8.3
8.3.1
Lcran, de dfinition 640 x 480 pixels, est divis en quatre fentres. A chaque fentre correspond un canal de communication et un contexte. Le gestionnaire daffichage exploite tous les canaux et assure la sauvegarde des contextes.
Une fentre est dfinie par sa taille et sa position dans lcran. Chaque fentre dispose dun espace alphanumrique et dun espace graphique qui ont leur propre contexte (couleur, police, .. etc ...). Ces espaces se positionnent dans la zone visualisable de la fentre.
Il permet laffichage des caractres ASCII cods (au pixel prs) en lignes et colonnes et la gestion du curseur
REMARQUE : Laffichage dun caractre alphanumrique crase llment pralablement affich quelque soit lespace de celui-ci.
8.3.1.3 Dfinition de lespace graphique
Il permet laffichage des textes (au pixel prs) et des lments graphiques. Deux rfrentiels (cran et utilisateur) sont disponibles. Le mixage des rfrentiels dans le mme espace est possible.
REMARQUE : Laffichage dun lment dans lespace graphique se superpose llment pralablement affich quelque soit lespace de celui-ci.
8 - 18
fr-938846/6
396
,, ,, ,, ,,, ,,,,,,, ,,,,,,, ,,,,,,, ,,,,,,, ,,,,,,, ,,,,,,, ,,,,,,, ,,,,,,, ,,,,,,, ,,,,,,, ,,,,,,, ,,,,,,, ,,,,,,, ,,,,,,, ,,,,,,, ,,,,,,, ,,,,,,, ,,,,,,, ,,,,,,, ,,,,,,, ,,,,,,, ,,,,,,, ,,,,,,, ,,,,,,, ,,,,,,, ,,,,,,, ,,,,,,, ,,,,,,, ,,,,,,, ,,,,,,, ,,,,,,, ,,,,,,, ,,,,,,, , ,,,,
432 512 638 38 396 432 125
,,,,,,, ,,,,,,, ,,,,,,, ,,,,,,, ,,,,,,, ,,,,,,, ,,,,,,, ,,,,,,, ,,,,,,, ,,,,,,, ,,,,,,, ,,,,,,, ,,,,,,, ,,,,,,, ,,,,,,, ,,,,,,, ,,,,,,, ,,,,,,, ,,,,,,, ,,,,,,, ,,,,,,, ,,,,,,, ,,,,,,, ,,,,,,, ,,,,,,, ,,,,,,, ,,,,,,, ,,,,,,, ,,,,,,, ,,,,,,, ,,,,,,, ,,,,,,, ,,,,,,, ,,,,,,, ,,,,,,,
638 42
ZONES VISUALISABLES
fr-938846/7
8 - 19
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,, ,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, , ,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,, ,, ,, , ,, ,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, , ,, ,, , ,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,, , ,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, , ,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, , , , , , , , , , , , , , , , , , , , , ,,
COL.39
471 470
A A
COL. 0
16
496 Ligne 0 Ligne 1 Ligne 2 Ligne 3 Ligne 4 Ligne 5 Ligne 6 Ligne 7 Ligne 8 Ligne 9
89 76 40 0 4 Matrice de caractres : 12 X 36 12
Ligne 10
H B
36
43 42 Ligne 0 Ligne 1 13 0
B B
4 08 634
COL. 0
64
128
192
256
320
384
448
512
576
640
12
8 - 20
fr-938846/6
Mode transparent
471 470
COL. 0
16
COL. 9
A A
Line 0 Line 1 Line 2 Line 3 Line 4 Line 5 Line 6 Line 7 Line 8 Line 9
89 76 40 0 4
Line 10
H
120
Line 11 126
36
fr-938846/6
8 - 21
8.3.2
Toutes les instructions sont exploitables dans la fentre principale, dans la fentre cartouche et dans la fentre paramtrable. Lenvoi des instruction doit obligatoirement tre programm dans une tche %TF.
8.3.2.1 Composition dune instruction
Une instruction se compose du code de la commande suivie ou non dexpressions. Une expression se compose dune suite dexpressions ou darguments. Un argument est un caractre ASCII. Le caractre LF indique la fin des instructions. 8.3.2.2 Principe de notation
Les expressions sont reprsentes en majuscule, et les arguments entre guillemets. Notation XX YY ZZ {XX YY ZZ} |XX YY ZZ| (XX) ... [YY] Valeur par dfaut LF 0 8.3.2.3 Dfinition Ordre des expressions obligatoire Ordre des expressions quelconque Une seule des expressions est ncessaire Expression pouvant tre rpte plusieurs fois Expression optionnelle Pour les expressions optionnelles, valeur prise par dfaut Caractre de fin de commande (code hexadcimal 0x8A) Caractre ASCII 0 (code hexadcimal 0xB0)
Liste des instructions Instruction 0x9BDD 0x9BBD 0x9B2D 0x9BC8 0x9BC9 0x9BCA 0x9BCB 0x9BBD 0x9BDB 0x9BBF 0x9BB0 0x9BD8 Voir 8.3.3.1 8.3.3.2 8.3.3.3 8.3.4.3 8.3.4.3 8.3.4.3 8.3.4.3 8.3.4.3 8.3.4.3 8.3.4.5 8.3.5.1 8.3.5.2
Description de linstruction Initialisation soft Slection dune couleur Slection de la fentre Caractre normal Caractre en surbrillance Caractre non soulign Caractre soulign Slection de la couleur Caractre largi Positionnement quelconque du curseur Dfinition du rfrentiel utilisateur Trac rfrentiel utilisateur
8 - 22
fr-938846/6
Mode transparent
Description de linstruction Trac Utilisateur Dfinition doutil Animation Non animation Trac cran Dcalage origine cran Transfert point courant Icnes Chane de caractres rfrentiel cran Chane de caractres rfrentiel utilisateur Remplissage zone utilisateur Remplissage zone cran Trac de cartouche
Instruction 0x9BB2 0x9BB1 0x9BDF 0x9BE7 0x9BDE 0x9BB6 0x9BB7 0x9BE4 0x9BB4 0x9BA8 0x9B98 0x9BA9 0x9BAA 0x9BAB 0x9BAC 0x9BBC
Voir 8.3.5.3 8.3.5.4 8.3.5.5 8.3.5.6 8.3.5.7 8.3.5.8 8.3.5.9 8.3.5.10 8.3.5.11 8.3.5.12 8.3.5.13 8.3.5.14 8.3.5.15
8.3.3
8.3.3.1
Linstruction 0x9BDD ralise une initialisation rapide de la visu. Syntaxe de linstruction 0x9BDD
Cette instruction ralise une initialisation dans les espaces alphanumrique et graphique et provoque la suppression du rfrentiel utilisateur. Elle ralise dans l'espace graphique : - effacement de lcran, - effacement des zones de sauvegarde, - coordonne dcimale par dfaut, - couleur blanche par dfaut. Elle ralise dans l'espace alphanumrique : - slection du format A, - couleur par dfaut, - curseur non visible, - curseur sur la premire ligne et premire colonne, - vido normale, - non soulign.
fr-938846/5
8 - 23
8.3.3.2
Linstruction 0x9BBD slectionne une couleur parmi les 16 disponibles. Syntaxe de linstruction 0x9BBD COULEUR
COULEUR Code couleur 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 8.3.3.3 Code HEXA 0xB0 0xB1 0xB2 0xB3 0xB4 0xB5 0xB6 0xB7 0xB8 0xB9 0xBA 0xBB 0xBC 0xBD 0xBE 0xBF
Code couleur (Voir tableau ci-aprs) Couleur Bleu fonc Rouge Bleu Rose Vert Jaune Cyan Noir Blanc Brun Bleu clair Gris clair Gris fonc Orange Rouge/Blanc Gris clair/Blanc %R 0 100 24 100 0 100 0 0 100 75 50 75 33 100 100/100 75/100 Pourcentage R.V.B %V 0 0 75 50 100 100 100 0 100 24 75 75 33 75 24/100 75/100 %B 50 0 100 100 0 0 100 0 100 0 100 75 33 0 0/100 75/100
Slection de la fentre
Linstruction 0x9B2D permet de slectionner la fentre accessible en programmation. Cette instruction est modale. Syntaxe de linstruction 0x9B2D NUMERO
Valeur par dfaut : 0x1 (Fentre principale). Code HEXA 0x1 0x4 0x3 Type de fentre Fentre principale Fentre cartouche Fentre paramtrable
8 - 24
fr-938846/6
Mode transparent
8.3.4
8.3.4.1
Code hexa 0 1 2 3 4 5 6 7
2 ESP !
3 0 1 2 3 4 5 6 7
4 @ A B C D E F G
5 P Q R S T U V W
6 ` a b c d e f g
7 p q r s t u v w
" #
CURSEUR CLIGNOTANT CURSEUR FIXE CURSEUR NON VISIBLE CARACTERE CLIGNOTANT CURSEUR VERS LA DROITE CURSEUR VERS LA GAUCHE CURSEUR VERS LE BAS (LF) CURSEUR VERS LE HAUT HOME CURSEUR EN DEBUT DE LIGNE (CR) EFFACEMENT FIN LIGNE EFFACEMENT FIN PAGE EFFACEMENT FENETRE FORMAT A FORMAT B FORMAT C
$ % & '
9 A B C D E F
) * + , . /
9 : ; < = > ?
I J K L M N O
Y Z [ \ ] ^ _
i j k l m n o
y z { | } ~
REMARQUE : Les caractres cods 0x10 0x18 sont exploitables dans les fentres principale et paramtrable uniquement en format A. Les caractres cods 0x19 et 0x1A sont exploitables dans les fentres principale et paramtrable uniquement en format D.
fr-938846/6
8 - 25
8.3.4.2
La slection dun nouveau format entrane : - un effacement du curseur prcdent, - un affichage du nouveau curseur avec ses prcdents attributs (fixe, clignotant, non visible). Format A 0x9D
Affichage maxi autoris 12 lignes de 40 caractres (dernire ligne hors zone visualisable) 1 ligne de 40 caractres 12 lignes de 10 caractres (dernire ligne hors zone visualisable)
Format B 0x9E
Affichage maxi autoris 24 lignes de 80 caractres (deux dernires lignes hors zone visualisable) 2 lignes de 80 caractres 24 lignes de 20 caractres (deux dernires lignes hors zone visualisable)
Format C 0x9F
Affichage maxi autoris 7 lignes de 20 caractres (dernires lignes hors zone visualisable) 2 lignes de 71 caractres 7 lignes de 5 caractres (dernires lignes hors zone visualisable)
8 - 26
fr-938846/6
Mode transparent
Affichage maxi autoris 24 lignes de 40 caractres (deux dernires lignes hors zone visualisable) 2 lignes de 40 caractres 24 lignes de 10 caractres (deux dernires lignes hors zone visualisable)
8.3.4.3
Ces instructions sont modales et valables quelque soit le format slectionn. Caractre normal 0x9BC8 Caractre en surbrillance 0x9BC9 Caractre non soulign 0x9BCA Caractre soulign 0x9BCB Slection de la couleur 0x9BBD COULEUR
COULEUR
Le clignotement des caractres est assur par les codes couleurs 14 et 15.
fr-938846/6
8 - 27
8.3.4.4
Visualisation du curseur
Slection curseur fixe 0x85 Slection curseur non visible 0x86 8.3.4.5 Dplacement du curseur
Dplacement sur le caractre suivant 0x88 Dplacement sur le caractre prcdent 0x89 Dplacement sur le caractre du dessous 0x8A Dplacement sur le caractre du dessus 0x8B Dplacement en dbut dcran 0x8C Dplacement en dbut de ligne 0x8D Positionnement quelconque du curseur 0x9BBF LIGNE COLONNE Description La LIGNE et la COLONNE sont dfinies par deux codes hexadcimaux LIGNE COLONNE Code position relle + 0x20 = Valeur programmer Code position relle + 0x20 = Valeur programmer
8 - 28
fr-938846/6
Mode transparent
Exemple Positionnement du curseur LIGNE 2 COLONNE 34 LIGNE 2 (3 me ligne) : 0x2 + 0x20 = 0x22 COLONNE 34 (35 me colonne) : 0x22 + 0x20 = 0x42 La commande programmer est : 0x9BBF 0x22 0x42 8.3.4.6 Effacement
Les instructions deffacement sont valables quelque soit lespace et le format. Effacement fin de ligne 0x8E Effacement fin de page 0x8F Effacement fentre 0x9C
8.3.5
8.3.5.1
Instructions graphiques
Dfinition du rfrentiel utilisateur
Linstruction 0x9BB0 permet lutilisateur de dfinir son propre rfrentiel ainsi que les caractristiques de visualisation de celui-ci (couleur, lgende .. etc...).
REMARQUES :Les bornes sont recalcules pour obtenir un facteur de conversion identique sur les deux axes.
Syntaxe de linstruction 0x9BB0 AXE1 AXE2 AXE3 AXE4 { [FORMAT] [TRAIT] [COULEUR] } LF AXE1 : NOM [SIGNE] VALEUR NOM Nom de laxe horizontal et valeur de la borne gauche. Nom de laxe Dfinit par les caractres de A Z en majuscule ou minuscule (en gnral X et Y). SIGNE Signe de la valeur de la borne. Signe algbrique + ou -. Valeur par dfaut : +. VALEUR Valeur de la borne de laxe (Valeur dcimale en pixels).
fr-938846/6
8 - 29
AXE2
REMARQUE : De syntaxe identique AXE1, le nom dAXE2 doit tre le mme que celui de la borne gauche dclare.
AXE3 AXE4 Nom de laxe vertical et valeur de la borne basse.
REMARQUE : De syntaxe identique AXE1, le nom dAXE4 doit tre le mme que celui de la borne basse dclare.
FORMAT : . VALEUR VALEUR format des nombres dcimaux, laffichage des bornes du rfrentiel. (ex : si format .3 la valeur 10000 devient 10.000 laffichage). Nombre de dcimales. Cette argument sexprime en dcimal. Valeur par dfaut : 0. TRAIT : M | 1, 2, 3, 4, 5 | Caractristique du trait utilis pour le trac des axes. Ne modifie pas le type de trait courant. Valeur par dfaut : 1 (trait continu). Caractre 1 2 3 4 5 COULEUR : C VALEUR VALEUR Type de trait continu pointill tiret mixte plume leve (sans trait) Code hexa 0xB1 0xB2 0xB3 0xB4 0xB5
Couleur des axes. Ne modifie pas la couleur courante. Code couleur (Voir 8.3.3). Sexprime en dcimal ou en hexadcimal. Valeur par dfaut : couleur courante au moment du trac.
Exemples Dfinition dun rfrentiel choisi par la fonction inig(..). 0x9BB0 X0 X502 Y0 Y381 (LF) Y 381
502 0 X
8 - 30
fr-938846/6
Mode transparent
Dfinition dun rfrentiel centr avec chelle 1. 0x9BB0 X-251 X251 Y-191 Y191 (LF)
+191 Y
- 251 0
+251 X
-191
Dfinition dun rfrentiel centr avec chelle 2. 0x9BB0 X-125 X126 Y-95 Y96 (LF)
+96 Y
- 125 0
+126 X
8
-95
8.3.5.2
Linstruction 0x9BD8 permet de visualiser le rfrentiel utilisateur. Les indications de coordonnes sont dfinies par les arguments de linstruction 0x9BB0. Syntaxe de linstruction 0x9BD8
fr-938846/6
8 - 31
8.3.5.3
Trac Utilisateur
Linstruction 0x9BB2 permet de tracer une droite ou un arc de cercle dans le rfrentiel utilisateur. Le trac se fait avec ou sans visualisation de loutil (Voir instruction 0x9BB1, 0x9BDE, 0x9BDF). Syntaxe de linstruction 0x9BB2 { [LINCIR] [DECIHEXA] } { [TRAIT] [PLUME] [X] [Y] [I] [J] } LF
LINCIR : G | 1 2 3 |
Dfinie le type de trac (instruction non modale). Valeur par dfaut : Trac linaire. Caractre 1 2 3 Type de trac Linaire Circulaire sens anti-trigonomtrique Circulaire sens trigonomtrique. Code hexa 0xB1 0xB2 0xB3
DECIHEXA : G | 4 5 |
Type de coordonnes courantes (instruction modale). Caractre 4 5 Type de coordonne Dcimale Hexadcimale Code hexa 0xB4 0xB5
REMARQUE : Cette commande est valable pour le trac rfrentiel cran (9BB6).
TRAIT : M | 1, 2, 3, 4, 5 | PLUME : M | 6 7 10| Caractristique du trait utilis pour le trac (Voir 8.3.5.1). Type de plume courante (instruction modale). Caractre 6 7 10 X : X [VALEUR] Type de plume courante Plume (les couleurs sajoutent) Gomme (la couleur 0 est force) Plume (la couleur demande est force) Code hexa 0xB6 0xB7 0xB1B0
Dplacement sur laxe horizontal. Valeur par dfaut : Pas de dplacement suivant cet axe.
VALEUR
Y : Y [VALEUR]
Dplacement sur laxe vertical. Valeur par dfaut : Pas de dplacement suivant cet axe.
VALEUR
I : I [VALEUR] VALEUR
Abscisse courante du centre (Instruction modale). Abscisse du centre. Valeur par dfaut : 0.
8 - 32
fr-938846/6
Mode transparent
J : J [VALEUR] VALEUR
Ordonne courante du centre (instruction modale). Ordonne du centre. Valeur par dfaut : 0.
8.3.5.4
Dfinition doutil
Linstruction 0x9B B1 permet de dfinir loutil utilis en animation. Syntaxe de linstruction 0x9BB1 | RETICULE PASTILLE FRAISE OUTIL | LF
Dfinition dun outil de forme rticule. Dimension dune branche dans le rfrentiel utilisateur. Sexprime en dcimale. Couleur de loutil (Voir 8.3.3.2). Valeur par dfaut : 8.
Dfinition dun outil de forme pastille. Rayon de la pastille dans le rfrentiel utilisateur. Sexprime en dcimal. Couleur de loutil (Voir 8.3.3.2). Valeur par dfaut : 8.
Dfinition dun outil fraise. Rayon de la fraise dans le rfrentiel utilisateur. Sexprime en dcimal. Sens dorientation de la fraise Caractre P Q R S Sens d'orientation X croissant Y croissant X dcroissant Y dcroissant Code hexa 0xD0 0xD1 0xD2 0xD3
VALEUR
Rayon du tore dans le rfrentiel utilisateur. Sexprime en dcimal. Valeur par dfaut : 0.
HAUTEUR : H VALEUR
Hauteur de la fraise dans le rfrentiel utilisateur. Sexprime en dcimale. Valeur par dfaut : 4 fois le rayon de la fraise.
COULEUR : C VALEUR
fr-938846/6
8 - 33
OUTIL : (DEPLACEMENT (XY)...) ... [COULEUR] DEPLACEMENT : [ LEVER XY] BAISSER LEVER : M5 XY : { X Y } X Y BAISSER : M1 XY COULEUR : C VALEUR
Dfinition dun outil type quelconque. Dplacement sans trac. Lever de plume. Coordonnes du premier point de loutil dans le rfrentiel utilisateur. Sexpriment en dcimale. Abscisse du point. Ordonne du point. Baisser de plume. Coordonnes dun point de loutil en dcimale dans le rfrentiel utilisateur. Couleur de loutil (Voir 8.3.3.2). Valeur par dfaut : 0xB8.
8.3.5.5
Animation
Les instructions 0x9BDF ou 0x9BE7 slectionnent le trac utilisateur avec visualisation de loutil. Les caractristiques de visualisation sont dfinies dans la commande 0x9BB1 (Voir 8.3.5.4). Syntaxe de linstruction 0x9BDF ou 0x9BE7 8.3.5.6 Non animation
Linstruction 0x9BDE slectionne le trac utilisateur sans visualisation de loutil. Syntaxe de linstruction 0x9BDE 8.3.5.7 Trac cran
Linstruction 0x9BB6 permet le trac dune droite ou dun arc de cercle dans le rfrentiel cran. Syntaxe de linstruction 0x9BB6 {[LINCIR] [DECIHEXA] } { [TRAIT] [PLUME] [X] [Y] [I] [J] } LF
8 - 34
fr-938846/6
Mode transparent
8.3.5.8
REMARQUE : Lautre borne est recalcule de faon ne pas modifier la taille du rfrentiel.
Syntaxe de linstruction 0x9BB7 [DECIHEXA] { [X] [Y] } LF
DECIHEXA
Slection coordonnes en dcimal ou hexadcimal. Ne modifie pas le type de coordonnes courant. Valeur par dfaut : dcimal.
Valeur du dcalage horizontal du rfrentiel cran. Valeur par dfaut : Conserve le prcdent dcalage horizontal.
Valeur du dcalage vertical du rfrentiel cran. Valeur par dfaut : Conserve le prcdent dcalage vertical. Transfert point courant.
Exemple Dcalage du rfrentiel de 100 pixels sur laxe X et de 200 pixels sur laxe Y. 0x9BB7 X100 Y200 (LF) 8.3.5.9 Transfert point courant
Linstruction 0x9BE4 permet de faire concider le point courant du rfrentiel cran avec le point courant du rfrentiel utilisateur. Syntaxe de linstruction 0x9B E4
fr-938846/6
8 - 35
8.3.5.10
Icnes
Linstruction 0x9BB4 permet le trac dune icne (symbole) de dimension constante ou paramtrable, prise dans un repre orient comme le rfrentiel utilisateur et dont lorigine correspond la position courante du trac. Syntaxe de linstruction 0x9BB4 NUMERO [SUITE_PARAM] { [TRAIT] [PLUME] [COULEUR] } LF
NUMERO : N VALEUR
Numro de licne.
REMARQUE : Toutes les valeurs ne sont pas significatives (Voir Figure 8-7).
SUITE_PARAM : (PARAM)... Paramtrage de licne. Le nombre de paramtres est variable et dpend du numro dicne. Lordre dcriture des paramtres est important (P0, P1, P2, ..., Pn). Valeur par dfaut : Table des paramtres en coordonnes cran. PARAM chane : P [VALEUR] VALEUR Chane de paramtre (de P0 Pn). Valeur du paramtre en dcimal dans le rfrentiel utilisateur. Valeur par dfaut : 0. TRAIT : M | 1, 2, 3, 4, 5 | PLUME : M | 6 7 10 | COULEUR : C VALEUR Caractristique du trait utilis pour le trac (Voir 8.3.5.1). Type de plume courante (Voir 8.3.5.3). Couleur de licne (Voir 8.3.3.2). Valeur par dfaut : Couleur courante. Exemple Trac dun cercle de rayon 20 et de couleur rouge. 0x9BB4 N38 P20 M1 M6 C1 (LF)
ATTENTION
Le trac dicones ncessite davoir dfini un rfrentiel utilisateur (Commande 0x9BB0 ou fonction inig(..)).
8 - 36
fr-938846/6
Mode transparent
P0 P1 P0 P2 N1 N2 P0 P3 P3 P3 P2 P1 N6 P0 P0 P0 P1 P1 P2 N11 P0 P0 P1 P0 N17 PD P1 PA P0 N31 P0 P1 PD = PA P0 P1 P2 PD PA P0 N32 P0 P1 P0 N34 N35 N36 P1 P0 N37 P1 P2 P3 P1 PA N33 N18 N19 P1 P1 PD PA N30 PD P0 N12 P1 P0 P2 P1 P2 N13 N14 P2 P1 P0 P0 P0 P1 P2 N7 N8 P0 N9 P1 P0 P2 P3 P1 P1 P1 P2 P0 P1 N3 P2 P0 N4 P1 P0 N5 P2 P2 P1
P0 N10 P1
N16
P1
P0
PD : Point de dpart PA: Point d'arrive
P2
N38
P2 P1
N39
fr-938846/7
8 - 37
8.3.5.11
Linstruction 0x9BA8 permet dafficher une chane de caractres alphanumriques au point courant cran. Syntaxe de linstruction 0x9BA8 POLICE CHAINE LF
POLICE
Numro de police. Caractre 0 1 2 3 4 5 6 7 Type de police Police 6 x 18 Police 12 x 18 Police 12 x 36 Police 24 x 56 Police 8 x 12 Police 9 x 12 Police 6 x 12 Police 16 x 24 Code hexa 0xB0 0xB1 0xB2 0xB3 0xB4 0xB5 0xB6 0xB7
CHAINE 8.3.5.12
Tous les caractres alphanumriques autoriss dans la police. Chane de caractres rfrentiel utilisateur
Linstruction 0x9B98 permet dafficher une chane de caractres alphanumriques au point courant utilisateur. Syntaxe de linstruction 0x9B98 POLICE CHAINE LF
Numro de police (Voir ). Tous les caractres alphanumriques autoriss dans la police. Remplissage zone utilisateur
Les instructions 0x9BA9 et 0x9BAA permettent de remplir une zone du rfrentiel utilisateur. Le remplissage sarrte si : - la limite de la fentre est atteinte, - la borne du clipping (coupure) est atteinte, - la couleur de remplissage est rencontre. Syntaxe de linstruction 0x9BA9 { [CLIP] [CLIP] [CLIP] [CLIP] [X] [Y] [COUL-CONT] } LF 0x9BAA { [CLIP] [CLIP] [CLIP] [CLIP] [X] [Y] [COUL-CONT] } LF
8 - 38
fr-938846/6
Mode transparent
ATTENTION
Les arguments [CLIP], [X] et [Y] sont affects des signes + et -. Le signe + est cod par le caractre ASCII 0. Le signe - est cod par le caractre ASCII ?.
CLIP : | G D H B | [VALEUR] Slection des bornes de clipping Valeur par dfaut : pas de clipping. Caractre G B H D VALEUR Slection des bornes Gauche Bas Haut Droit Code hexa 0xC7 0xC2 0xC8 0xC4
Abscisse dun point compris dans la zone en hexadcimal dans le rfrentiel utilisateur. Valeur par dfaut : abscisse du point courant.
Ordonne dun point compris dans la zone en hexadcimal dans le rfrentiel utilisateur. Valeur par dfaut : ordonne du point courant.
8
Code hexa 0xC3
Couleur du contour Caractre C Dfinition Recherche du contour dans les quatre plans (Arrt sur couleur exacte) Recherche du contour dans les plans relatifs la couleur (Arrt sur une composante de la couleur)
0xE3
REMARQUE : Les couleurs sont codes sur 4 bits. Une composante de la couleur choisie est une couleur avec les mme bits 1 que la couleur choisie (ex : Si la couleur choisie est Jaune c5 (soit 0101 en binaire), les composantes de la couleur sont noir (soit 0111 en binaire), orange(soit 1101 en binaire) et gris clair/blanc (soit 1111 en binaire)).
Exemple Remplissage dun rectangle rouge 0x9BA9 G09 D0100 B0120 H0120 X050 Y0110 C1
fr-938846/6
8 - 39
8.3.5.14
Les instructions 0x9BAB et 0x9BAC permettent de remplir une zone du rfrentiel cran. Syntaxe de linstruction 0x9BAB { [CLIP] [CLIP] [CLIP] [CLIP] [X] [Y] [COUL-CONT] } LF 0x9BAC { [CLIP] [CLIP] [CLIP] [CLIP] [X] [Y] [COUL-CONT] } LF
REMARQUE : la syntaxe est rigoureusement identique celle de la commande 9BA9 (Voir 8.3.5.13). Les coordonnes sont dans le rfrentiel cran.
8.3.5.15 Trac de cartouche
Linstruction 0x9BBC permet de sparer verticalement la fentre en 10 zones. Syntaxe de linstruction 0x9BBC LF
REMARQUE : Bien qutant utilisable dans toutes les fentres, cette instruction na de sens que dans la fentre cartouche.
8 - 40
fr-938846/7
Entres/sorties analogiques
9 Entres/sorties analogiques
Gnralits Configuration des cartes E/S analogiques Ecriture dune sortie analogique Lecture dune entre analogique Redirection dune carte analogique
9-3
fr-938846/3
9-1
9-2
fr-938846/3
Entres/sorties analogiques
9.1
Gnralits
Un maximum de 18 CNA et 20 CAN sont disponibles sur les systme NUM 1060. Les entres/sorties analogiques sont accessibles par le programme utilisateur, par le programme de pice ou les oprateurs dynamiques. Elle sont rparties comme suit : Carte processeur machine 1060 srie I 1060 srie II 1060 srie II 4 CAN - 2 CNA 4 CAN - 2 CNA Carte 8E/8S analogique (2 cartes maxi) 8CAN - 8CNA 8CAN - 8CNA Carte UCSII
2CAN - 1CNA
Les E/S analogiques sont repres gographiquement par le N demplacement de la carte et le N de voie dans la carte. Le codage se fait sur un octet. Les bits 0 3 de loctet codent le N de voie (0 7). Les bits 4 7 codent le N de carte. L'unit centrale est numrote 1. Loi d'volution Les entres et sorties analogiques sont des valeurs signes sur 16 bits. La loi d'volution de ces valeurs est : - pour les valeurs positives : de 0 --> 0x7FFF pour 0+ --> n Volts (Avec n : valeur de la pleine chelle) - pour les valeurs ngatives : de 0xFFFF --> 0x8000 pour 0- --> -n Volts (Avec n : valeur de la pleine chelle) Ceci est vrai quelquesoit la rsolution du CAN ou CNA (8 ou 12 bits). La pleine chelle dpend des caractristiques de la carte utilise (Voir Manuel d'installation et de mise en oeuvre). La prcision dpend du format du CNA ou CAN utilis (8 bits, 8 bits + signe ou 12 bits + signe).
9.2
anas
cv : config : Description
Octet dsignant la carte (la voie est non significative). Configuration code sur 16 bits.
Cette fonction permet la configuration du nombre dentres analogiques utiles (1 ou 8) et du gain de chaque entre (1 ou 10). La priode de rafrachissement interne de chaque entre analogique est de 1,36 ms lorsque les 8 entres sont configures et de 0,170 ms lorsque une seule entre est configure (lentre 0). Cette fonction est facultative. A linitialisation du systme les cartes sont configures en 8 entres avec gain de 1.
REMARQUE : Cette fonction concerne uniquement les Entres/Sorties analogiques des cartes additionnelles.
fr-938846/8
9-3
Dtail de l'argument cv
Emplacement de la carte Bit 7 N de la voie Bit 0
Se reporter au Manuel d'installation et de mise en oeuvre pour dfinir l'emplacement de la carte sur le bus systme. Les valeurs 0 7 correspondent aux numros de voie des huit registres d'entres ou des huit registres de sorties. Format du mot de configuration
Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Configuration (1 ou 8 entres) 0 = 1 entre 1 = 8 entres Gain de l'entre analogique 7 0 = gain de 1 1 = gain de 10 Gain de l'entre analogique 6 0 = gain de 1 1 = gain de 10 Gain de l'entre analogique 5 0 = gain de 1 1 = gain de 10 Gain de l'entre analogique 4 0 = gain de 1 1 = gain de 10 Gain de l'entre analogique 3 0 = gain de 1 1 = gain de 10 Gain de l'entre analogique 2 0 = gain de 1 1 = gain de 10 Gain de l'entre analogique 1 0 = gain de 1 1 = gain de 10 Gain de l'entre analogique 0 0 = gain de 1 1 = gain de 10
9-4
fr-938846/7
Entres/sorties analogiques
9.3
anao
cv : woutput : Description
Adresse de la sortie code sur un octet. Valeur entire signe sur 16 bits.
Se reporter au Manuel d'installation et de mise en oeuvre pour dfinir l'emplacement de la carte sur le bus systme. Les valeurs 0 7 corespondent aux numros de voie des huit registres d'entres ou des huit registres de sorties. Exemple : Programmation de la vitesse de broche pilote par automate Lire la fonction auxiliaire du groupe (M3 ou M4) donnant le sens de rotation de la broche: - M03_g = 1 : antitrigonomtrique - M04_g = 1 : trigonomtrique Lire le module de la vitesse de broche (VITBRb); la valeur du module varie de 0 (vitesse nulle) 0x7FFF (vitesse maximum). Envoyer au CNA la valeur code signe sur 16 bits, le signe dpendant du cablage du variateur de broche et de la fonction auxiliaire du groupe: - si la valeur est positive ou nulle, ANAO(cv,VITBRb), - si la valeur est strictement ngative, ANAO(cv,~VITBRb). Code retourn Si OK 0 Si dfaut 1: 2: 3: Carte absente. Paramtre carte rron. Paramtre voie erron.
fr-938846/7
9-5
9.4
anai
cv : &winput :
Adresse de lentre (code sur un octet). Adresse dune variable (%Mxxx. W ou %Vxxx. W ) qui va recevoir la valeur de lentre sur 16 bits signes.
Se reporter au Manuel d'installation et de mise en oeuvre pour dfinir l'emplacement de la carte sur le bus systme. Les valeurs 0 7 corespondent aux numros de voie des huit registres d'entres ou des huit registres de sorties. Exemple anai(0x37, %V100.&) Code retourn Si OK 0 Si dfaut 1: 2: 3: Carte absente. Paramtre carte rron. Paramtre voie erron. Lecture de lentre N7 de la carte N3. Le rsultat est transfr dans %V100.W.
Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "&winput" incorrect.
9-6
fr-938846/7
Entres/sorties analogiques
9.5
anaa
Octet codant le N de carte (la voie est non significative). Octet codant le N de carte (la voie est non significative).
Redirection dune carte analogique. Cette fonction, facultative, permet de rediriger les fonctions anas(cv_initial, ..), anao(cv_initial, ...), anai(cv_initial, ..) vers la carte cv_futur.
ATTENTION
Se reporter au Manuel d'installation et de mise en oeuvre pour dfinir l'emplacement de la carte sur le bus systme. Les valeurs 0 7 corespondent aux numros de voie des huit registres d'entres ou des huit registres de sorties. Code retourn Si OK 0 Si dfaut 1: 2: 4: Carte finale absente Paramtre carte incorrect Fonction appele dans une tche autre qu'un %INI
fr-938846/7
9-7
9-8
fr-938846/3
10.1 Gnralites 10.2 Lecture explicite dune carte entre 10.3 Ecriture explicite dune carte sortie
10-3
read_i write_q
10-3 10-4
10
fr-938846/3
10 - 1
10 - 2
fr-938846/3
10.1
Gnralites
Le programmeur la possibilit daccder immdiatement aux entres/sorties sur le bus srie (SB), sans attendre leur rafrachissement par le moniteur.
REMARQUE : Cette fonctionnalit doit tre rserve aux cas prioritaires car elle est coteuse en temps CPU.
10.2
read_i
rcmv : n: Fonctionnement
Le systme vrifie la cohrence des paramtres rcmv et n. Le systme lit immdiatement la carte rc et met jour la zone image %Ircmv %Ircmv+n. Dtail de l'argument rcmv
Bit 15
Bit 0
N de voie (De 0x0 0xF) N de module (De 0x0 0x3) N de carte (De 0x1 0xC) N de rack (De 0x0 0x6)
10
Exemples read_i(0x6b10, 1) read_i(0x6b10, 2) read_i(0x6b10, 4) Provoque le rafrachissement de %I6b10.B Provoque le rafrachissement de %I6b10.W Provoque le rafrachissement de %I6b10.L
fr-938846/3
10 - 3
Code retourn Si OK 0: Si dfaut 1: 2: 3: -1 : Les variables demandes dpassent les limites de la carte. Il y a nammoins change aprs troncature aux limites autorises dans la carte. Demande daccs une carte absente. Paramtre rcvm en dehors des limites Dfaut dans lchange sur le bus. Lecture OK.
10.3
write_q
rcmv : n: Fonctionnement
Le systme vrifie la cohrence des paramtres rcmv et n. Le systme crit immdiatement la zone image %Qrcmv %Qrcmv+n dans la carte rc. Dtail de l'argument rcmv
Bit 15
Bit 0
N de voie (De 0x0 0xF) N de module (De 0x0 0x3) N de carte (De 0x1 0xC) N de rack (De 0x0 0x6)
ATTENTION
L'instruction provoque une criture rapide des sorties choisies la condition que celles-ci aient t crites prcdemment.
10 - 4
fr-938846/7
Exemples: %QB04.B= 0xAA write_q(0xb04, 1) %QB04.W= 0xAAFC write_q(0xb04, 2) %QB04.L= 0xAAFC0000 write_q(0xb04, 8) Code retourn Si OK 0: Si dfaut 1: 2: 3: -1 : Les variables demandes dpassent les limites de la carte. Il y a nammoins change aprs troncature aux limites autorises dans la carte. Demande daccs une carte absente. Paramtre rcvm en dehors des limites Dfaut dans lchange sur le bus. Ecriture OK. Provoque lcriture immdiate de %Qb04.L et %Qb08.L avec 0xAAFC0000 Provoque lcriture immdiate de %Qb04.W avec 0xAAFC provoque lcriture immdiate de %Qb04.B avec 0xAA
10
fr-938846/7
10 - 5
10 - 6
fr-938846/3
11 Entres interruptions
11.1 Gnralits
11.1.1 11.1.2 Prise de cote la vole Interruptions affectes une tche %TH
Principe daffectation des lignes Association entres interruptions/ groupes daxes Configuration dune entre interruption Lecture dune entre interruption Association tche %TH avec une entre IT
11
fr-938846/3
11 - 1
11 - 2
fr-938846/3
Entres interruptions
11.1
Gnralits
Carte processeur machine Carte IT/Ligne srie (2 cartes maxi) iti4 itiB iti4 itiB Carte UCSII
iti0
Les interruptions prioritaires sont associe : - la fonction iti_gr() pour prise de cote la vole, - la fonction thiti() pour drouter les tches priodiques du programme utilisateur et excuter une routine dinterruption programme dans une tche hard %TH.
11.1.1
Ces interruptions sont prises en compte par la fonction G10 dans le programme pices (Voir Manuel de programmation). Une interruption mise sur une des lignes iti0 itiB est traite par la fonction automatisme. Ds lmission de l IT, le moniteur informe la fonction CN de rafrachir les paramtres externes E70001 E78001 (rfrence de position dun axe dun groupe sur prise de cote au vol). Ces interruptions externes, ddies au palpage, sont paramtrables par la fonction iti-gr(). La gestion des interruptions doit tre programme dans %TS0.
REMARQUES :En multigroupe daxes, si deux interruptions arrivent en mme temps, linterruption affecte la ligne iti0 est la plus prioritaire, linterruption affecte la ligne itiB est la moins prioritaire. Sur une mme ligne, si une interruption affecte au groupe daxes 1 arrive en mme temps quune interruption affecte au groupe daxes 8, cest linterruption affecte au groupe 1 qui sera traite en priorit par le moniteur.
11.1.2 Interruptions affectes une tche %TH
Laffectation dune ligne iti0 itiB une tche hard provoque lexcution de la routine dinterruption programme dans la tche %TH.
11
! ATTENTION Dans le cas ou une tche hard et un palpage sont affects et programms sur la mme ligne, le programme utilisateur est drout aprs la prise de cote effective par le moniteur.
fr-938846/3
11 - 3
PALPEUR
PROCESSEUR MACHINE
FONCTION AUTOMATISME
iti0 itiB
Halt Def
FONCTION CN
PROGRAMME PIECE %
I T . E X T
G10
C A N / C N A TIMER S E R I E
TTL
iti_gr(..)
RS 232C
Proc Mach
TACHE PERIODIQUES
Halt Def
I T . E X T
IT n
%TH.x
iti0 itiB
C A N / C N A TIMER S E R I E
IT n1
%TH.y
TTL
RS 232C
Proc Mach
11 - 4
fr-938846/3
Entres interruptions
11.2
NUM 1060 srie I et NUM 1060 srie II (multicarte) Les numro dentres interruptions sont affectes par ordre croissant : - sur la carte processeur machine, - sur la premire carte IT/Lignes sries rencontre dans le rack, - sur la seconde carte IT/Lignes sries rencontre dans le rack. N broches 5V 24VCommun 1 2 9 10 11 3 4 5 12 13 14 6 1 2 5 3 4 5 6 7 5 8 9 5 1 2 5 3 4 5 6 7 5 8 9 5 NUM 1060 srie II (UCSII) Une seule ligne est disponible : N broches 5V 24VCommun 6 1 2 N entre interruption Ligne 0 Type de carte Carte UCSII N entre interruption Ligne 0 Ligne 1 Ligne 2 Ligne 3 Ligne 4 Ligne 5 Ligne 6 Ligne 7 Ligne 8 Ligne 9 Ligne A Ligne B Type de carte Carte processeur machine Carte processeur machine Carte processeur machine Carte processeur machine Premire carte IT/Lignes sries Premire carte IT/Lignes sries Premire carte IT/Lignes sries Premire carte IT/Lignes sries Seconde carte IT/Lignes sries Seconde carte IT/Lignes sries Seconde carte IT/Lignes sries Seconde carte IT/Lignes sries
11.3
iti_gr
11
n_iti : groupe :
Numro de lentre interruption (de 0 0xB). Liste de bits indiquant les groupes daxes impliqus dans cette interruption.
Cette fonction permet dassocier une entre IT avec un (des) groupe(s) daxes. Fonctionnement Une interruption sur lentre provoquera la lecture par le moniteur de tous les coupleurs des axes constitutifs des groupes dclars. Le moniteur signale ensuite loccurrence dune lecture daxe la fonction CN et ceci groupe daxe par groupe daxe.
fr-938846/7
11 - 5
Bit 7
Bit 0
11.4
itictl
n_iti : iti_config :
Numro dune entre interruption (De 0 0xB). Valeur code de configuration du composant.
Permet la configuration dune entre interruption. Fonctionnement La configuration du composant, code sur 8 bits, est transmise dans le paramtre iti_config. Aprs dtection du changement dtat, la fonction automatisme attend la stabilit du signal avant de prendre en compte le changement dtat. Les possibilits de choix de filtrage se font indpendamment du front actif. Le temps de filtrage correspond au temps de stabilit avant prise en compte. La dure du filtrage est paramtrable avec les valeurs suivantes : - 0,5 ms, - 1 ms, - 4 ms, - 8 ms, - 1 3 ms en cycle rapide (sans filtrage).
11 - 6
fr-938846/7
Entres interruptions
ENTREE : signal mis par le palpeur SORTIE : signal envoy pour traitement aprs filtrage
Bit 7
Bit 0
Validation de l'IT
Front actif Montant = 0 Descendant = 1 Dure du cycle sur front descendant Bit 4 Bit 3 0 0 0,5 ms 0 1 1 ms 1 0 4 ms 1 1 8 ms Code retourn Si OK 0 Dure du cycle sur front montant Bit 1 Bit 0 0 0 0,5 ms 0 1 1 ms 1 0 4 ms 1 1 8 ms
11
fr-938846/7
11 - 7
11.5
itiget
n_iti : Description
itiget() retourne le registre dtat de lentre interruption. Ce paramtre est mis jour chaque cycle HTR par le moniteur. Le retard avec ltat rel de la ligne est au maximum de 20 ms Dtail du registre
Bit 7
Lappel de itiget() provoque la mise 0 du bit 0 du registre (mmorisation de loccurrence dune IT). Code retourn Si OK Registre dtat de lentre Si dfaut 0 : n_iti non compris entre 0 et 0xB
11 - 8
fr-938846/7
Entres interruptions
11.6
thiti
numro_th : n_iti :
Permet dassocier la tche %TH avec une entre interruption. Fonctionnement Lorsque lentre IT provoque une interruption lectronique, le systme appelle la tche %TH associe. Code retourn Si OK 0
11
fr-938846/7
11 - 9
11 - 10
fr-938846/3
Lignes sries
12 Lignes sries
Gnralites Initialisation d'une ligne Emission dun tampon Rception d'un tampon Lecture de ltat dune ligne srie Contrle du pilote de ligne srie Standards de transmission
12.7.1 12.7.1.1 12.7.1.2 12.7.1.3 12.7.2 12.7.2.1 12.7.2.2 12.7.2.3 12.7.3 12.7.4 12.7.4.1 12.7.4.2 Avant logiciel indice F Sans contrle de flux Contrle de flux RTS/CTS Contrle de flux Xon/Xoff Standard RS232 Sans contrle de flux Contrle de flux RTS/CTS Contrle de flux Xon/Xoff Standard RS485 Standard RS422 Sans contrle de flux Contrle de flux Xon/Xoff
12-3
12-4 12-6 12-7 12-10 12-11 12-12 12-12 12-12 12-12 12-12 12-12 12-12 12-12 12-13 12-13 12-13 12-13 12-13
12
fr-938846/3
12 - 1
12 - 2
fr-938846/8
Lignes sries
12.1
Gnralites
Carte processeur CN DNC - PERIPH Carte processeur machine RS232C - TTL RS232C - TTL Carte IT/Ligne srie (2 cartes maxi) Ligne 1 Ligne 4 Ligne 1 Ligne 4 Carte UCSII
COMM 1 - COMM 2
Le programme utilisateur peut grer le chargement et le dchargement dinformations avec un priphrique dans le cadre dapplication spcifique. Pour plus de prcision sur linstallation de ces lignes, se reporter au Manuel d'installation et de mise en oeuvre. Principe de numrotation des lignes NUM 1060 srie I et NUM 1060 srie II (Multicarte) Le numro des lignes est fig sur les cartes processeur CN et processeur machine : - N0 pour la ligne TTL du processeur machine, - N1 pour la ligne RS232C du processeur machine, - N2 pour la ligne DNC du processeur CN. - N3 pour la ligne PERIPH. du processeur CN; Ensuite les numros de 4 7 sont affects la premire carte IT/LIGNES SERIES rencontr dans le rack et les numros de 8 0xB sont affects la seconde carte IT/LIGNES SERIES rencontr (Balayage de droite gauche).
5 0
5 2 0 1
6 1
6 3 7
7 Processeur machine
Processeur machine
12
fr-938846/3
12 - 3
12.2
comf
Numro du port de communication (0 0xB). Vitesse dmission. Vitesse de rception. Codage du format de donnes et contrle de flux.
La fonction comf() alloue la ligne la fonction automatisme et configure le port. Une fois initialise, la ligne ne peut plus tre alloue un autre utilisateur (Fonction CN, ... etc ..). L'appel de la fonction comf( n_port, vitemi, vitrec, 0 ) a pour effet de librer la ligne et de la rendre disponible pour un autre utilisateur.
ATTENTION
Dans tous les cas, les vitesses dmission et de rception doivent tre identiques. Dans le cas de l'initialisation d'une ligne de la carte processeur CN (Ligne 2 ou 3), il est ncessaire d'appeler la fonction comf() dans une tche %TF.
Valeur des arguments vitmi et vitrec Les valeurs correspondent des vitesses en bauds. Valeur de vitmi et vitrec 300 600 1200 2400 4800 9600 19200 Vitesse (en bauds) 300 600 1200 2400 4800 9600 19200
12 - 4
fr-938846/3
Lignes sries
0
Bit 15
0
Bit 0
Contrle de flux Xon/Xoff = 0 RTS/CTS = 1 Parit impaire = 0 paire = 1 Standard grer Bit 10 Bit 9 0 0 Avant indice F 0 1 RS232 indice F 1 0 RS485 indice F 1 1 RS422 indice F Parit inactive = 0 active = 1 Bit 4 0 1 1 Bit 6 0 0 1 1 Bit 5 0 1 0 1 Bit 3 1 1 start, 1stop 0 1 start, 1,5 stops 1 1 start, 2 stops
REMARQUE : Dans le cas d'une volution future, il est recommand de mettre les bits non significatifs 0.
Code retourn Si OK 0 Si dfaut -1 Argument format incohrent. Ligne dj alloue un autre utilisateur que la fonction automatisme.
12
fr-938846/8
12 - 5
12.3
comout
n_port : &buffer : nb :
Numro du port srie. Adresse du tampon mettre. Nombre doctets mettre (1 nb 255). nb est cod sur un octet non sign.
Permet lmission dun tampon sur une ligne de communication srie n_port. Fonctionnement A lappel de cette fonction, le systme recopie le tampon &buffer, lance l'mission et retourne lappelant. Cette fonction est non bloquante et lmission se poursuit sous IT jusqu la fin du tampon. La fonction comreg() permet de connatre ltat de la transmission en cours. Lappel de comout(n_port, &buffer, 0) provoque labandon dune ventuelle mission en cours. Code retourn Si OK 0 Si dfaut -1 : n_port non valide Ligne non initialise Emission en cours Argument nb suprieur 255 Pas de full duplex avec contrle de flux Xon/Xoff
Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "&buffer" incorrect, - "&buffer+nb" hors zone autorise.
12 - 6
fr-938846/7
Lignes sries
BUFFER A EMETTRE
@ %M.n
Emission vers le priphrique Fonction comout()
PERIPHERIQUE
12.4
comin
n_port : &buffer : nb :
Numro du port srie. adresse du tampon o stocker les caractres reus. Nombre maximum de caractres lire.
Permet la lecture du tampon de rception de la ligne srie n_port. Fonctionnement Le systme gre un tampon de rception en anneau. La fonction comin() permet de lire tout ou partie de ce tampon. Le nombre de caractres recopis est gal au minimum du nombre de caractres demands (nb) et du nombre de caractres prsents dans le buffer en anneau. Si la ligne n'avait pas encore t mise l'coute avec la fonction comctl(), le premier appel de comin() effectue une mise l'coute automatique. Lappel de comin(n_port, &buffer, 0) provoque larrt et linitialisation de la rception.
12
fr-938846/3
12 - 7
Code retourn Si OK n >= 0 Si dfauts -1 : n_port non valide Ligne non initialise. Pas de full duplex avec contrle de flux Xon/Xoff. Nombre de caractres recopis dans &buffer.
Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "&buffer" incorrect, - "&buffer+nb" hors zone autorise.
MONITEUR PROGRAMME UTILISATEUR
BUFFER DE RECEPTION
@ %M.n
Emission vers la fonction automatisme Fonction comin()
PERIPHERIQUE
Fonction comin()
BUFFER DE RECEPTION
@ %M.n +1
12 - 8
fr-938846/7
Lignes sries
Non
Erreur de rception
Nb de caractres = 0 Non
Oui
Arrt rception
Oui
12
fr-938846/3
12 - 9
12.5
comreg
n_port : Description
ATTENTION
Dans le cas de l'initialisation d'une ligne de la carte processeur CN (Ligne 2 ou 3), il est ncessaire d'appeler la fonction comreg() dans une tche %TF.
Code retourn
Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Transmission en cours Erreur de transmission Initialisation faite Transmission stoppe (CTS = 1) Rception en cours Non significatif Non significatif Buffer moniteur satur Image de RTS (1 --> inactif) Image de CTS (1 --> inactif) Image de DCD (1 --> inactif) Image de DSR (1 --> inactif) Erreur de format Erreur de parit Erreur de dbordement Caractres disponibles dans le buffer moniteur
12 - 10
fr-938846/3
Lignes sries
12.6
comctl
n_port : config :
La fonction comctl( ) permet le contrle du pilote de ligne srie n_port. Fonctionnement Laction dpend du contrle de flux utilis et de ltat de ligne au moment de la demande. Valeur de config Pas de rception en cours et config == 0 Rception en cours et config == 1 Code retourn Si OK 0 Si dfauts -1 : Ligne non initialise. Pas de full duplex avec contrle de flux Xon/Xoff. Demande (config) incohrente avec l'tat en cours. Sans contrle de flux Mise l'coute de la ligne Aucun effet Contrle de flux RTS/CTS Mise l'coute de la ligne et activation du signal RTS Dactivation du signal RTS Contrle de flux Xon/Xoff Mise l'coute de la ligne et mission du caractre Xon Emission du caractre Xoff
12
fr-938846/7
12 - 11
12.7
12.7.1
12.7.1.1
Standards de transmission
Avant logiciel indice F
Sans contrle de flux
Le standard de transmission est dfini dans l'argument format de la fonction comf() (Voir 12.2).
Aucun signal hardware ou software n'est gr en mission comme en rception. Un fonctionnement bidirectionnel simultan (full duplex) est possible. 12.7.1.2 Contrle de flux RTS/CTS
Le signal RTS est gr lors d'une rception afin de stopper ou de relancer les transferts. En mission, RTS reste activ durant toute la transmission du buffer. Un fonctionnement bidirectionnel simultan (full duplex) est impossible.
REMARQUE : Le fait de ne pas tenir compte des signaux de contrle RTS et CTS (Avec un cble reboucl RTS sur CTS) permet un fonctionnement bidirectionnel simultan sans contrle de flux.
12.7.1.3 Contrle de flux Xon/Xoff
En rception, l'change est contrl par l'envoi de caractres de contrle sur le canal mission. Ds l'mission du caractre DC1 (Xon) par la rception, l'entit mettrice est autorise mettre. A l'mission du caractre DC3 (Xoff) par la rception, l'entit mettrice dispose d'un dlai quivalent au temps de transmission de 20 caractres pour suspendre son mission.
12.7.2
Standard RS232
Aucun signal hardware ou software n'est gr en mission comme en rception. Un fonctionnement bidirectionnel simultan (full duplex) est possible. 12.7.2.2 Contrle de flux RTS/CTS
En rception, le signal RTS est gr afin de contrler la ligne. L'mission ne positionne pas ce signal. Ds l'invalidation de ce signal, l'metteur doit suspendre l'mission de ces donnes. Seul un caractre supplmentaire pourra tre pris en compte aprs invalidation de la ligne RTS. Vu du cot de l'metteur, l'invalidation du signal CTS, l'mission doit tre suspendue. Un fonctionnement bidirectionnel simultan (full duplex) est possible.
12 - 12
fr-938846/3
Lignes sries
12.7.2.3
En rception, l'change est contrl par l'envoi de caractres de contrle sur le canal mission. Ds l'mission du caractre DC1 (Xon) par la rception, l'entit mettrice est autorise mettre. A l'mission du caractre DC3 (Xoff) par la rception, l'entit mettrice dispose d'un dlai quivalent au temps de transmission de 20 caractres pour suspendre son mission. Un fonctionnement bidirectionnel simultan (full duplex) est impossible.
12.7.3
Standard RS485
A partir du logiciel indice F. Dans le standard RS485, il est impossible de raliser un contrle de flux. Si le standard RS485 est valid dans la fonction comf(), la valeur du bit 0 de l'argument format est non significative. Le signal RTS est actif durant l'mission d'un buffer et inactif lors d'une rception, ceci afin de piloter les botiers d'adaptation RS232/RS485 en mission/rception.
ATTENTION
La gestion du standard RS485 demande un cblage adapt des botiers d'adaptation RS232/RS485. 12.7.4 Standard RS422
A partir du logiciel indice F. Dans ce standard, le signal RTS est activ durant toute l'utilisation de la ligne. 12.7.4.1 Sans contrle de flux
Aucun signal hardware ou software n'est gr en mission comme en rception. Un fonctionnement bidirectionnel simultan (full duplex) est possible. 12.7.4.2 Contrle de flux Xon/Xoff
En rception, l'change est contrl par l'envoi de caractres de contrle sur le canal mission. Ds l'mission du caractre DC1 (Xon) par la rception, l'entit mettrice est autorise mettre. A l'mission du caractre DC3 (Xoff) par la rception, l'entit mettrice dispose d'un dlai quivalent au temps de transmission de 20 caractres pour suspendre son mission.
12
fr-938846/3
12 - 13
12 - 14
fr-938846/3
Fonction timer
13 Fonction timer
13.1
La fonction timer est disponible uniquement sur les systme NUM 1060 srie I et NUM 1060 srie II multicarte. La fonction automatisme met disposition de lutilisateur deux timers A et B. Les timers A et B sont constitus dun dcompteur 8 bits capable de gnrer une impulsion chaque changement de valeur de son contenu. Le dcompteur est alors immdiatement recharg avec une valeur programme et conserve dans le registre de donne du timer.
13.2
13.2.1
Mode de fonctionnement
Mode dlai
En mode dlai, la frquence de lhorloge interne (2.4576 Mhz) est divise par le prdiviseur programmable qui fournit des impulsions au dcompteur.
IT Timer A
13.3
thtimer
Permet dassocier une tche %TH avec une interruption gnre par le timer A ou B Fonctionnement Lappel de thtimer() provoque larmement du timer dont le numro est pass dans n_timer avec une valeur gale n_milliseconde. Quand ce dlai est coul, le timer gnre une IT qui est exploite par le systme pour appeler la tche %TH de numro numro_th. Le dlai n_milliseconde est compris entre 0 et 2.147.483.647 millisecondes. La fonction thtimer() est modale cest dire quune fois lappel de thtimer() effectu, la tche %TH sera appele la priode fixe par n_milliseconde. Pour annuler une fonction thtimer() il faut appeler thtimer() avec le paramtre n_milliseconde gal ZERO. Lappel de thtimer() alors que le timer est en cours provoque une RAZ du timer et son chargement avec la nouvelle valeur de n_milliseconde.
13
fr-938846/7
13 - 1
13 - 2
fr-938846/7
Fonction dateur
14 Fonction dateur
14.1
La lecture de la date courante est ralis par la fonction tmget(). La date du systme est gre par un dateur sauvegard en mmoire globale. Une page CN permet la mise jour de ce dateur par loprateur.
14.2
tmget
&date : Description Permet de lire la date courante. Structure du bloc date N octet octets 0 - 1 octet 2 octet 3 octet 4 octet 5 octet 6 octets 7-8 Code retourn Si OK 0 Si dfaut -1 :
Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "&date" incorrect.
14
fr-938846/7
14 - 1
14.3
dtget
&date : Description
Permet de lire la date courante avec le jour de la semaine spcifi. Structure du bloc date N octet octet 0 octet 1 octet 2 octet 3 octet 4 octet 5 octets 6 Code retourn Si OK 0 Si dfaut -1 : La date na pas t mise jour. Type de donne Jour de la semaine Jour Mois Anne Heure Minutes Secondes Valeur 06 1 31 1 12 0 99 0 23 0 59 0 59
Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "&date" incorrect.
14 - 2
fr-938846/7
15-3 15-4 15-5 15-5 15-6 15-7 15-7 15-9 15-14 15-16 15-16 15-18 15-19 15-20 15-21 15-22 15-24 15-25 15-26 15-27 15-28 15-29 15-29 15-30 15-32 15-34 15-34 15-36 15-38 15-39 15-40
15
fr-938846/4
15 - 1
15 - 2
fr-938846/4
15.1
Les changes par protocoles permettent la communication : - entre les fonctions automatisme et CN du systme (communication locale DNC1000), - entre la CN NUM1060 et les stations distantes connectes sur les rseaux MAPWAY, ETHWAY et UNI-TELWAY (communication distante). MODELE OSI NORMALISE 7 APPLICATION 6 PRESENTATION 5 SESSION 4 TRANSPORT 3 RESEAU 2 LIAISON 1 PHYSIQUE COMMUNICATION DISTANTE NETO(), NETI() COMMUNICATION INTERNE UNITO(), UNITI()
15
UNI-TE
UNI-TE
ADRESSAGE SERIE 7 TELEMECANIQUE UNI-TELWAY, MAPWAY, ETHWAY RS232, RS485, Coaxe, F/O, Paire torsad
REMARQUE : Seul la communication locale DNC1000, les requtes et les fonctions qui lui sont lies sont traits dans ce chapitre. Se reporter au manuel Protocole UNITE pour la communication avec des stations distantes et en fin de ce chapitre pour les fonctions de communication.
fr-938846/4
15 - 3
15.1.1
DNC1000 est une procdure de communication locale entre la fonction automatisme et les autres fonctions du systme. Elle permet la transmission dinformations inaccessibles par la zone dchange. La communication s'effectue entre un demandeur (ou client) et un serveur par requettes UNITE. En gnral la fonction automatisme est le demandeur et la fonction CN le serveur. Le programme pice peut galement initier un change destination de la fonction automatisme (donnes non solicites
FONCTION AUTOMATISME
FONCTION CN
EMISSION D'UNE REQUETE UNITE (Lecture/Ecriture) DEMANDEUR UNITE (CLIENT) RECEPTION D'UNE REPONSE UNITE (Lecture/Ecriture)
SERVEURS UNITE
15 - 4
fr-938846/4
15.1.2
15.1.2.1
15
La fonction automatisme (demandeur) met une requte (Lecture/Ecriture) vers le serveur. Cette requte, place dans un tampon, est stocke en file dattente. Elle est traite ensuite par le serveur qui met un code rponse avec dventuelles donnes. La rponse et les donnes sont rcupres par le programme utilisateur.
PROGRAMME UTILISATEUR (demandeur UNITE) FILE D'ATTENTE DES REQUETE FONCTION CN (serveurs UNITE)
TRAITEMENT DES REQUETES
MONITEUR
EMISSION
REQUETE
RECEPTION
REPONSE
fr-938846/4
15 - 5
15.1.2.2
Notion de porte
Le demandeur doit associer chaque requte avec une porte. Lmission dune requte et la rception de la rponse se font sur la mme porte. Deux types de portes sont accessibles : - 16 portes adresses de 0x30 0x3F permettent au demandeur d'mettre plusieurs requtes en parallle, - 8 portes adresses de 0x10 0x17, associes aux groupes daxes 1 8, qui permettent de recevoir des donnes non sollicits en provenance du programme pice ($1 et $11 dans le programme pice).
PROGRAMME UTILISATEUR (demandeur UNITE) FILE D'ATTENTE DES REQUETES FONCTIONCN (serveurs UNITE)
TRAITEMENT DES REQUETES
Message destination de la fonction automatisme ($1 ou $11 dans le programme pice)
MONITEUR
15 - 6
fr-938846/4
15.2
15.2.1
15
Nombre maximum dobjet dans la famille 8 (1 par groupe daxes)
Nom de la famille Rfrence de position des axes Mesure des axes PREF DEC1 DEC3 Limite minimale de lusinage Limite maximale de lusinage Inclinaison des axes Origine machine Courses machines mini Courses machines maxi Correction de rfrences des axes Rfrence de position des axes Position mesure des axes Axes asservis Vitesse de broche mesure
129 130 131 132 133 134 135 136 137 138 139
X X X X X X X X X X X X X X X X X X X X
Axes programmes 9 longs mots Axes programmes 9 longs mots Axes programmes 9 longs mots Axes programmes 9 longs mots Axes programmes 9 longs mots Axes programmes 9 longs mots 1 long mot Axes physiques Axes physiques Axes physiques Axes physiques 1 long mot 1 long mot 1 long mot 1 long mot
8 (1 par groupe daxes) 8 (1 par groupe daxes) 8 (1 par groupe daxes) 8 (1 par groupe daxes) 8 (1 par groupe daxes) 8 (1 par groupe daxes) 32 (1 par axe) 32 (1 par axe) 32 (1 par axe) 32 (1 par axe) 32 (1 par axe)
140
Axes physiques
1 long mot
32 (1 par axe)
141
Axes physiques
1 long mot
32 (1 par axe)
143 144
X X
fr-938846/4
15 - 7
Nom de la famille Position mesure des broches Correcteur doutils Variable H Etat interpolation Axes initialiss Paramtres E80000 Paramtres E81000 Paramtres E82000 Status programme Cotes de fin de bloc Slection du mode Slection du programme pice courant Donnes transmises au programme en cours dexcution Acquittement de messages Configuration ligne IT Validation/rvocation synchro des axes
N de segment 145
1 long mot
X X X X X X
X X
7 longs mots 1 long mot 4 longs mots 1 long mot 1 long mot 1 long mot
255 255 8 (1 par groupe d'axes) 1 (1 bit par axe) 51 Nombre dclar dans le param tre machine P58 Nombre dclar dans le param tre machine P58 8 (1 par groupe d'axes) 8 (1 par groupe daxes) 1 1
X X X
Prsence daxes
152
1 long mot
X X X X X X
224
1 long mot
X X X
X X X
15 - 8
fr-938846/8
15.2.2
Lunit Ui correspond lunit interne du systme dfinie par paramtre machine. Numro de segment (Valeur Hexa) 128 (0x80) Accessible en Description Valeur ou unit Paramtres correspondants
15
Lecture
Rfrence de position des axes Taille de lobjet : 9 longs mots Adresse du premier objet dans la famille : 0 Axe X Axe Y Axe Z Axe U Axe V Axe W Axe A Axe B Axe C
Ui ou 1/10000
E70000 E78000
129 (0x81)
Lecture
Mesure des axes Taille de lobjet : 9 longs mots Adresse du premier objet dans la famille : 0
-99999999 99999999 Ui
E90000 E90031
130 (0x82)
Lecture/Ecriture PREF Taille de lobjet : 9 longs mots Adresse du premier objet dans la famille : 0 Lecture/Ecriture DEC1 Taille de lobjet : 9 longs mots Adresse du premier objet dans la famille : 0 Lecture/Ecriture DEC3 Taille de lobjet : 9 longs mots Adresse du premier objet dans la famille : 0 Lecture/Ecriture Course dynamique minimum Taille de lobjet : 9 longs mots Adresse du premier objet dans la famille : 0 Lecture/Ecriture Course dynamique maximum Taille de lobjet : 9 longs mots Adresse du premier objet dans la famille : 0
-99999999 99999999 Ui
E60000 E68000
131 (0x83)
-99999999 99999999 Ui
E60001 E68001
132 (0x84)
-99999999 99999999 Ui
E60004 E68004
133 (0x85)
-99999999 99999999 Ui
E60002 E68002
134 (0x86)
-99999999 99999999 Ui
E60003 E68003
fr-938846/4
15 - 9
Accessible en
Description
Valeur ou unit
Paramtres correspondants
Lecture/Ecriture valeur de langle pour les axes inclins Taille de lobjet : 1 long mot Adresse du premier objet dans la famille : 0 Lecture/Ecriture Origine machine Taille de lobjet : 1 long mot Adresse du premier objet dans la famille : 0 Lecture/Ecriture Course statique minimum Taille de lobjet : 1 long mot Adresse du premier objet dans la famille : 0 Lecture/Ecriture Course statique maximum Taille de lobjet : 1 long mot Adresse du premier objet dans la famille : 0 Lecture Corrections courantes dun axe esclave Taille de lobjet : 1 long mot Adresse du premier objet dans la famille : 0 Rfrence de position dun axe Taille de lobjet : 1 long mot Adresse du premier objet dans la famille : 0 Position mesure dun axe Taille de lobjet : 1 long mot Adresse du premier objet dans la famille : 0 Axes asservis Taille de lobjet : 1 long mot Adresse du premier objet dans la famille : 0 Vitesse de broche mesure Taille de lobjet : 1 long mot Adresse du premier objet dans la famille : 0 Rfrence de position des broches mesures Taille de lobjet : 1 long mot Adresse du premier objet dans la famille : 0
1/10000
E69001
136 (0x88)
Ui Ou 1/10000
Paramtre P16
137 (0x89)
Ui
Paramtre P17
138 (0x8A)
Ui
Paramtre P17
139 (0x8B)
-99999999 99999999 Ui
E95000 E95031
140 (0x8C)
Lecture
Ui
E70000 E78000
141 (0x8D)
Lecture
Ui
E90000 E90031
143 (0x8F)
Lecture
0 ou 1
E91000 E91031
144 (0x90)
Lecture
Ui
145 (0x91)
Lecture
0 3599999 /10000
E90101 E90104
15 - 10
fr-938846/6
Accessible en
Description
Valeur ou unit
Paramtres correspondants
15
Lecture/Ecriture Corrections doutils en tournage Taille de lobjet : 7 longs mots Adresse du premier objet dans la famille : 1er long mot - Longueur en X 2me long mot - Longueur en Z 3me long mot - Rayon de pastille 4me long mot - Correction dynamique en X 5me long mot - Correction dynamique en Z 6me long mot - Direction de nez doutil 7me long mot - Type doutil Ui Ui Ui Ui Ui De 0 8 De 1 ou 2 E50001 E50255 E51001 E51255 E52001 E52255 E53001 E53255 E54001 E54255 E55001 E55255 E57001 E57255
146 (0x92)
Lecture/Ecriture Corrections doutils en fraisage Taille de lobjet : 7 longs mots Adresse du premier objet dans la famille : 1 1er long mot - Longueur de loutil 2me long mot - Rayon de bout de fraise 3me long mot - Rayon doutil Ui Ui Ui E50001 E50255 E51001 E51255 E52001 E52255 UiE53001 E53255 E54001 E54255 E57001 E57255 E56001 E56255
4me long mot - Correction dynamique de longueur 5me long mot - Correction dynamique de rayon 6me long mot - non significatif 7me long mot - Type doutil Ui
147 (0x93)
Lecture/Ecriture Paramtres disponibles (H de la table des corrections dynamiques) Taille de lobjet : 1 long mot Adresse du premier objet dans la famille : 1
-99999999 99999999
fr-938846/4
15 - 11
Accessible en
Description
Valeur ou unit
Paramtres correspondants
Lecture
Etat interpolation Taille de lobjet : 4 longs mots Adresse du premier objet dans la famille : 0 1er long mot - Vitesse courante 2me long mot - Distance restant parcourir sur le bloc en cours (Sur trajectoire) 3me long mot - Vitesse programme 4me long mot - Coefficient de modulation de vitesse mm/Ech mm mm/mn mm/tr, V/L 2-16
149 (0x95)
Lecture/Ecriture POM non faite sur un axe Taille de lobjet : 1 long mot Adresse du premier objet dans la famille : 0 Lecture/Ecriture Paramtre de donnes locales Taille de lobjet : 1 long mot Adresse du premier objet dans la famille : 0 Lecture/Ecriture Position de rfrence des axes matres (Calibration inter axes) Taille de lobjet : 1 long mot Adresse du premier objet dans la famille : 0 Lecture/Ecriture Correction des axes esclaves (Calibration inter axes) Taille de lobjet : 1 long mot Adresse du premier objet dans la famille : 0 Lecture Status programme (Voir 15.2.3) Taille de lobjet : 22 octets Adresse du premier objet dans la famille : 0 1 long mot : Liste des fonctions G prsentes 1 long mot : Numro du programme en cours dexcution 1 mot : Numro du bloc en cours dexcution 1 mot : Numro derreur programme 1 mot : Numro de bloc en erreur 1 mot : Numro doutil 1 mot : Direction doutil 1 mot : Numro du correcteur doutil 1 mot : Liste des traitements restant excuter
1 ou 0
E91100 E91131
150 (0x96)
-99999999 99999999
E80000 E80050
151 (0x97)
-99999999 99999999 Ui
E81000 E81999
152 (0x98)
-99999999 99999999 Ui
E82000 E82999
153 (0x99)
15 - 12
fr-938846/4
Accessible en
Description
Valeur ou unit
Paramtres correspondants
15
Lecture
Cote de fin du bloc Taille de lobjet : 11 longs mots Adresse du premier objet dans la famille : 0 Les 36 premier octets donnent les cotes de fin de bloc (4 octet par axes) pour les axes X, Y, Z, U, V, W, A, B, C Le long mot suivant donne labscisse du centre en interpolation circulaire. Le dernier long mot donne lordonne du centre en interpolation circulaire.
180 (0xB4)
Lecture/Ecriture Slection du mode Taille de lobjet : 1 mot Adresse du premier objet dans la famille : 0 Mode Continu Mode Squentiel Mode immdiat Mode rapide Mode RNS Mode Modification Mode Test Mode Manuel Mode Prise dOrigine Mesure Mode Prise de Rfrence Mode Rglage Automatique dOutils Mode Chargement Mode Dchargement Si le bit de poids fort (bit 15) est positionn 1, la demande de changement de mode reste maintenue. 0x0000 0x0001 0x0002 0x0003 0x0004 0x0005 0x0006 0x0007 0x0008 0x0009 0x000A 0x000D 0x000F
E41000
181 (0xB5)
Lecture/Ecriture Slection du programme courant Taille de lobjet : 1 mot Adresse du premier objet dans la famille : 0 Lecture/Ecriture Donnes transmises au programme pice en cours dexcution (Voir 15.3.11) Taille de lobjet : 1 long mot Adresse du premier objet dans la famille : 0 Lecture/Ecriture Acquittement de messages bloquant transmis par le programme pice $11 (Voir 15.3.11) Taille de lobjet : 1 octet Adresse du premier objet dans la famille : 0
1 99999
224 (0xE0)
226 (0xE2)
fr-938846/6
15 - 13
Accessible en
Description
Valeur ou unit
Paramtres correspondants
Validation de l'IT
Dure du cycle sur front montant Dure du cycle sur Bit 1Bit 0 front descendant 0 0 0,5 ms Front actif Bit 4Bit 3 0 1 1 ms Montant = 0 0 0 0,5 ms 1 0 4 ms Descendant = 1 0 1 1 ms 1 1 8 ms 1 0 4 ms 1 1 8 ms
235 (0xEB)
Lecture/Ecriture Validation ou rvocation de la synchronisation des axes Taille de l'objet : 1 long mot (1 bit par axe)
15.2.3
Direction doutil La valeur de la direction doutil est positionne dans loctet de poids faible si elle est ngative, ou dans loctet de poids fort si elle est positive.
Bit 15
Bit 0
15 - 14
fr-938846/6
15
Bit 31
Bit 24 Bit 23
Bit 16 Bit 15
Bit 8
Bit 7
Bit 0
Liste des traitements restant excuter Le bit de rang le plus lev dsigne la fonction en cours dexcution.
Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
Fonction G78 Fin de mouvement extrieur (Fmext) Fonctions M codes Fonctions M aprs Fonction G04 Fonction G09 Cercle Droite JOG Arus Fonctions M avant Fonctions T
fr-938846/6
15 - 15
15.3
15.3.1
Description La requte READ OBJECT permet de lire les objets accessibles en lecture du serveur CN (Voir 15.2.2). Format de la requte
Spcifie requte en lecture
Identifie la famille laquelle appartient le ou les objets lire Adresse du 1er objet lire dans la famille Nombre d'objets conscutifs lire dans la famille
Rponse ngative
CODE REPONSE (1 octet) 0xFD
REMARQUE : Si la quantit prcise est telle que la rponse pourrait contenir plus de 128 octets, la requte est refuse (code rponse ngatif).
15 - 16
fr-938846/4
15
CODE REQUETE 0x36 SEGMENT 0xB5 CATEGORIE EMETTEUR 0x00 SPECIFIC 0x00
fr-938846/4
15 - 17
15.3.2
Description
Requte WRITE-OBJECT
La requte WRITE OBJECT permet dcrire les valeurs des objets du logiciel CN (Voir 15.2.2). Format de la requte
Identifie la famille laquelle appartient le ou les objets lire Adresse du 1er objet lire dans la famille Nombre d'objets conscutifs lire dans la famille Tableau des donnes
REMARQUE : Si la quantit prcise est telle que la requte contient plus de 128 octets, la requte est refuse (code rponse ngatif).
15 - 18
fr-938846/4
15.3.3
Requte DELETE-FILE
Permet de dtruire un programme pice stock en mmoire RAM de la CN. Format de la requte
15
CODE REQUETE (1 octet) 0xF5 COMPLEMENT DE CODE REQUETE (1 octet) 0x46 2me octet
CATEGORIE EMETTEUR (1 octet) Non significatif NOM DE FICHIER (1 long mot) 1er octet
3me octet
4me octet
Dtail du champ NOM FICHIER Le champ NOM FICHIER donne le numro du programme pice index par le groupe daxes (N du programme pice x 10 + N du groupe daxes). Format de la rponse Rponse positive
fr-938846/5
15 - 19
Rponse ngative CODE REPONSE (1 octet) 0xF5 STATUS (1 octet) Voir tableau ci aprs Code status 0x02 0x05 0x0A Dfinition Manipulation dans zone programme Fichier inexistant CN pas dans ltat RAZ COMPLEMENT CODE REPONSE 0x76
15.3.4
Requte READ-MEMORY-FREE
Permet de connatre le nombre doctets disponible en mmoire RAM de la CN. Format de la requte CODE REQUETE (1 octet) 0xF5 COMPLEMENT DE CODE REQUETE (1 octet) 0x47 Format de la rponse Rponse positive CATEGORIE EMETTEUR (1 octet) Non significatif
CODE REPONSE (1 octet) 0xF5 STATUS (1 octet) 0x00 2me octet 4me octet
COMPLEMENT CODE REPONSE 0x77 VALUE (1 long mot) 1er octet 3me octet
15 - 20
fr-938846/5
Rponse ngative
15
CODE REPONSE (1 octet) 0xF5 STATUS (1 octet) Voir tableau ci-aprs Code status 0x02 Dfinition Manipulation dans zone programme COMPLEMENT CODE REPONSE 0x77
15.3.5
Requte OPEN-DIRECTORY
Permet de connatre la liste des programme pice prsent en mmoire RAM de la CN. Si la liste est trop longue pour figurer totalement dans la rponse cette requte (Status = 0x00), le complment sera donn par la rponse la requte DIRECTORY (Voir 15.3.6). Si toutefois ce complment ne devait pas tre demand, la requte CLOSE DIRECTORY (Voir 15.3.7) doit tre mise pour clore lopration. Si la liste peut figurer totalement dans la rponse cette requte (Status = 0x0C), lopration est close automatiquement et la requte CLOSE DIRECTORY nest pas ncessaire. Format de la requte CODE REQUETE (1 octet) 0xF5 COMPLEMENT DE CODE REQUETE (1 octet) 0x48 NOM FICHIER (1 long mot) (Voir REMARQUE) CATEGORIE EMETTEUR (1 Octet) Non significatif
REMARQUES :Le champ NOM FICHIER donne un numro du premier programme pice index par le groupe daxes (N du programme pice x 10 + N du groupe daxes), que lon veut voir figurer dans la rponse. Si ce programme nest pas prsent en mmoire, la liste est donne partir du programme suivant. Si la valeur du champ est 0, la liste est donne partir du premier programme prsent en mmoire.
fr-938846/5
15 - 21
Format de la rponse Rponse positive CODE REPONSE (1 octet) 0xF5 STATUS (1 octet) Voir tableau ci-aprs DATA (Voir REMARQUE) Code status 0x00 0x0F Dfinition OK Il reste des informations transmettre OK Fin de directory (Fermeture automatique) COMPLEMENT CODE REPONSE 0x78
REMARQUE : Dans le champ DATA, chaque programme pice est dcrit par 2 longs mots : le premier donne le numro du programme pice index par le groupe daxes (N du programme pice x 10 + N du groupe daxes), Le second donne la longueur en octet de ce programme pice.
Rponse ngative CODE REPONSE (1 octet) 0xF5 STATUS (1 octet) Voir tableau ci-aprs Code status 0x02 0x09 Dfinition Manipulation dans zone programme Taille du buffer insuffisante pour la rponse COMPLEMENT CODE REPONSE 0x78
15.3.6
Requte DIRECTORY
Permet de connatre le complment de la liste des programmes pice prsent dans la mmoire de la CN la suite dune requte OPEN DIRECTORY. Si la liste est trop longue pour figurer totalement dans la rponse cette requte (Status =0x00), le complment sera donn par la rponse une autre requte DIRECTORY. Si toutefois ce complment ne devait pas tre demand, la requte CLOSE DIRECTORY (Voir 15.3.7) doit tre mise pour clore lopration. Si la liste peut figurer totalement dans la rponse cette requte (Status = 0x0F), lopration est close automatiquement et la requte CLOSE DIRECTORY nest pas ncessaire.
15 - 22
fr-938846/5
Format de la requte
15
CODE REQUETE (1 octet) 0xF5 COMPLEMENT DE CODE REQUETE (1 octet) 0x49 Format de la rponse Rponse positive CODE REPONSE (1 octet) 0xF5 STATUS (1 octet) Voir tableau ci-aprs DATA (Voir REMARQUE) Code status 0x00 0x0F Dfinition OK Il reste des informations transmettre OK Fin de directory (Fermeture automatique) COMPLEMENT CODE REPONSE 0x79 CATEGORIE EMETTEUR (1 octet) Non significatif
REMARQUE : Dans le champ DATA, chaque programme pice est dcrit par 2 longs mots : le premier donne le numro du programme pice index par le groupe daxes (N du programme pice x 10 + N du groupe daxes), Le second donne la longueur en octet de ce programme pice.
Rponse ngative CODE REPONSE (1 octet) 0xF5 STATUS (1 octet) Voir tableau ci-aprs Code status 0x02 0x09 Dfinition Manipulation dans zone programme Taille du buffer insuffisante pour la rponse COMPLEMENT CODE REPONSE 0x79
fr-938846/5
15 - 23
15.3.7
Requte CLOSE-DIRECTORY
Permet de clore une opration de directory. Format de la requte CODE REQUETE (1 octet) 0xF5 COMPLEMENT DE CODE REQUETE (1 octet) 0x4A Format de la rponse Rponse positive CODE REPONSE (1 octet) 0xF5 STATUS (1 octet) 0x00 Rponse ngative CODE REPONSE (1 octet) 0xF5 STATUS (1 octet) Voir tableau ci-aprs Code status 0x04 Dfinition Directory dj ferm COMPLEMENT CODE REPONSE 0x7A COMPLEMENT CODE REPONSE 0x7A CATEGORIE EMETTEUR (1 octet) Non significatif
15 - 24
fr-938846/4
15.3.8
Requte READ-BLOCK
Permet de lire un bloc de programme pice. Format de la requte CODE REQUETE (1 octet) 0xF5 COMPLEMENT DE CODE REQUETE (1 octet) 0x50
15
NUMERO PROGRAMME (1 long mot) (Voir REMARQUE) NUMERO BLOC (1 mot) OFFSET BLOC (1 mot)
REMARQUE : Le champ NUMERO PROGRAMME donne le numro du programme pice index par le groupe daxes (N du programme pice x 10 + N du groupe daxes).
Format de la rponse Rponse positive CODE REPONSE (1 octet) 0xF5 COMPLEMENT CODE REPONSE 0x80
REMARQUE : Le champ DATA peut contenir jusqu 119 octets et se termine par (LF).
Rponse ngative
Pour cette requte, le code rponse et son complment ne sont pas significatif. C'est le code retourn dans la fonction uniti() (Voir 15.4.2) qui informe sur l'aboutissement de la requte.
fr-938846/8
15 - 25
15.3.9
Requte WRITE-BLOCK
Permet dinsrer, de modifier, ou de supprimer un bloc de programme pice. La rservation pralable dun espace mmoire suprieur lespace utile pour ce programme (Requte RESERVE MEMORY Voir 15.3.10) permet dutiliser une requte hors tat RAZ.
NUMERO PROGRAMME (1 long mot) Voir REMARQUE 1 NUMERO BLOC (1 mot) OFFSET BLOC (1 mot) LONGUEUR BLOC (1 mot) DATA Voir REMARQUE 2
REMARQUE 1 : Le champ NUMERO PROGRAMME donne le numro du programme pice index par le groupe daxes (( N du programme pice x 10 ) + N du groupe daxes). REMARQUE 2 : Le premier caractre doit tre : + pour une insertion la suite du bloc donn par numro et offset, # pour une modification, - pour une Suppression. Le dernier caractre doit tre LF et le champ doit comporter au plus 119 caractres.
Format des rponses positive ou ngative
Pour cette requte, le code rponse et son complment ne sont pas significatif. C'est le code retourn dans la fonction uniti() (Voir 15.4.2) qui informe sur l'aboutissement de la requte.
15 - 26
fr-938846/4
15.3.10
Requte RESERVE-MEMORY
Permet de rserver lespace mmoire dun programme pice dj existant, afin de pouvoir effectuer les modification de ce programme hors tat RAZ. Format de la requte CODE REQUETE (1 octet) 0xF5 COMPLEMENT DE CODE REQUETE (1 octet) 0x52
15
NUMERO PROGRAMME (1 long mot) Voir REMARQUE 1 TAILLE MEMOIRE (1 long mot) Voir REMARQUE 2
REMARQUE 1 :Le champ NUMERO PROGRAMME donne le numro du programme pice index par le groupe daxes (( N du programme pice x 10 ) + N du groupe daxes). REMARQUE 2 :Le champ TAILLE MEMOIRE donne la taille que lon veut rserver pour le programme. Une valeur nulle redonne au programme une taille gale la taille utile.
Format des rponses positive ou ngative
Pour cette requte, le code rponse et son complment ne sont pas significatif. C'est le code retourn dans la fonction uniti() (Voir 15.4.2) qui informe sur l'aboutissement de la requte.
fr-938846/4
15 - 27
15.3.11
La fonction CN met, de sa propre initiative, cette requte, vers la fonction automatisme, suite linstruction $1 ou $11 dans le programme pice en cours dexcution. Deux type de messages sont transmis par le serveur CN : - les messages non bloquants $1 "Message" LF, - les messages bloquants $11 "Message" LF. La fonction automatisme doit rceptionner le message qui lui est transmis par surveillance sur les portes 0x10 0x17 (Groupes d'axes 1 8) au moyen de la fonction uniti(..). Format de la requte
CODE REQUETE (1 octet) 0xFC OBJECT-ADRESS (1 octet) CATEGORIE (1 octet) 0x06 DATA-LENGTH (1 octet)
Nombre d'octet contenu dans le champ DATA-SPECIFIC Message contenu dans le programme pice
DATA-SPECIFIC
Emission d'un message non bloquant Cette requte nattend pas de rponse de la fonction automatisme. Elle peut par contre tre associe une autre requte linitiative de la fonction automatisme, requte qui constituera un acquittement de la donne non sollicite. Le mcanisme permettant dattendre cet acquittement est dcrit au paragraphe suivant Linstruction Ln = $1 programme dans le programme pice, permet de rcuprer une rponse ventuelle de la fonction automatisme. Mcanisme de l'change Le message $1 "Message" LF est mis une seule fois destination de la fonction automatisme et l'excution du programme pice se poursuit sans attente de compte rendu. La rponse est transmise par une requte en criture WRITE OBJECT avec le segment 224. La valeur de lobjet est mmorise par la fonction CN en attendant son acquisition par le programme pice. Le programme pice rcupre cette valeur par la fonction $1 programme dans une expression paramtre du type Ln = $1. Si aucune valeur n t transmise ou si la dernire valeur transmise dj t acquitte, le programme pice se met en attente dune nouvelle criture du segment 224. En lecture, la CN renvoie la dernire valeur qui lui a t transmise, si elle est toujours mmorise, cest dire si le programme pice ne la pas encore rcupre. Dans le cas contraire, elle renvoie cette valeur complmente 1.
REMARQUE : Toutes tentatives de transfert de message, dun programme pice vers la fonction automatisme, annule la mmorisation sur le groupe d'axes considr de la prcdente criture du segment 224.
15 - 28
fr-938846/4
Emission d'un message bloquant Aprs l'mission d'un message bloquant $11, la fonction CN se met en attente d'un compte rendu d'acquittement de la fonction automatisme. Tant que cette requte en criture ne lui parvient pas, la fonction CN rmet le message toutes les 10 s et le programme pice est mis en attente. Mcanisme de l'change Le message $11 "Message" LF est mis destination de la fonction automatisme et le programme pice est en attente. Le message est ensuite mis toutes les 10 s destination de la fonction automatisme jusqu' envoi d'une requte en criture WRITE OBJECT avec le segment 226 = 1 (acquittement sans libration de la CN). La rponse est transmise par une requte en criture WRITE OBJECT avec le segment 224. La fonction automatisme acquitte le message par l'envoi d'une requte en criture WRITE OBJECT avec le segment 226 = 2 (acquittement et libration de la CN). La libration de la CN permet le passage au bloc suivant et la rcupration de la rponse par la fonction $11 programme dans une expression paramtre du type Ln = $11.
15
15.4
15.4.1
unito
Permet dmettre une requte vers un serveur sur les 16 portes source adresses de 0x30 0x3F. Code retourn Si OK Code 0x00 Si dfaut Code 0x01 0x02 0x03 0x04 0x05 0xFF Message de compte rendu Longueur du buffer trop grande Longueur du buffer nulle File sature - Les 16 buffers sont occups Mauvais numro de porte Option pour cette requte non valide Pas dans une tche de fond
fr-938846/4
15 - 29
@ Dbut de buffer Taille du buffer (Non significatif) Taille de la requte (1 mot) Ecrit par le programme utilisateur Requte (Voir 15.3) 128 octets maxi
1 mot
Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "&datagramme" incorrect, - "&datagramme+taille" hors zone autorise.
15.4.2
uniti
La fonction uniti fonctionne sur les portes 0x30 0x3F et 0x10 0x17. Elle permet : - de recevoir la rponse une requte prcdemment mise par unito() sur la mme porte source, - de recevoir une requte non sollicite mise par le programmes pice dun groupe daxe. Dans ce cas la porte source indique le groupe daxe dont on veut recevoir un message (0x10 0x17).
REMARQUES :Si le code retourn est 0x06 , la fonction uniti() doit tre appele priodiquement jusqu la rception de la requte.
15 - 30
fr-938846/7
Code retourn Si OK Code 0x00 Si dfaut Code 0x04 0x06 0x07 0x81 0x82 0x83 0x84 0x85 0x86 0x87 0x88 Message de compte rendu Mauvais numro de porte Pas de message ce numro de porte Buffer trop petit pour stocker la rponse Numro de programme existant Edition programme en cours Zone programme pice sature Fichier ferm Numro de programme inexistant Fichier ouvert Saturation du buffer PPP Dfaut de len-tte Segment non reconnu Requte criture interdite Quantity nulle ou ngative Objet-adress ngatif Quantity + Objet-adress suprieur au nombre de poste maxi Taille buffer insuffisante Etat CN incompatible avec change Donnes changes incohrentes Indicateur de close automatique Pas dans une tche de fond Message de compte rendu Lecture correcte
15
fr-938846/6
15 - 31
1 mot Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "&datagramme" incorrect, - "&datagramme+taille" hors zone autorise.
15.4.3
Les fonction unito(), uniti(), neto() et neti() doivent tre programmes dans une tche de fond (%TF0 %TF15).
La taille dune requte ne doit tre ni nulle ni suprieure 128 Octets (Sauf pour les requtes READ_BLOCK et WRITE_BLOCK).
REMARQUE : 16 portes sont accessibles au programme utilisateur ce qui permet chaque cycle HTR dmettre un maximum de 16 requtes.
Lmission successive de plusieurs requtes sur la mme porte, sans acquisition de la rponse, engendre la perte dun ou plusieurs codes rponses. Il est important : - de programmer, sur la mme porte, lmission vers le serveur suivie de la rception de la rponse avant toutes autres missions, - ou dutiliser des portes diffrentes pour chaque commande dmission rception. Cot serveurs, la notion de file dattente peut entraner un dcalage dans la chronologie de traitement de requtes.En effet, la charge sur les diffrents serveurs peut faire que les requtes ne sont pas traites par celui-ci dans lordre dmission. Si on veut assurer une chronologie dans le traitement des requtes, il faut sassurer de la bonne rception de la rponse avant dmettre la requte suivante sur une mme porte.
15 - 32
fr-938846/7
Taille du buffer
MONITEUR
15
SERVEUR A
EMISSION (PORTE 0x30) EMISSION (PORTE 0x31) EMISSION (PORTE 0x32) EMISSION (PORTE 0x33) EMISSION (PORTE 0x34)
1 2 3 4 5
REQUETE 3 REQUETE 5
SERVEUR B
PORTE 0x30 RECEPTION (PORTE 0x30) RECEPTION (PORTE 0x31) RECEPTION (PORTE 0x32) RECEPTION (PORTE 0x33) RECEPTION (PORTE 0x34) 1 PORTE 0x31 3 PORTE 0x32 2 PORTE 0x33 5 PORTE 0x34 4 Ordre d'mission Ordre de rception
fr-938846/4
15 - 33
15.5
15.5.1
neto
Permet dmettre une requte vers une station distante. La requte est mise sur une des 16 portes sources adresses 0x50 0x5F. Fonctionnement Lors de lappel de la fonction neto(..), si la porte source est valide (Comprise entre 0x50 et 0x5F) et si ladressage srie 7 (Rseau, station, porte, module, voie) est valide, le moniteur excute : - lenvoi de la requte au serveur destinataire et le retour lappelant (Code retour OK) si la voie dmission est libre, - le retour lappelant (Code retour SATURATION) si la voie dmission est sature. Si une erreur de programmation est dtecte, retour lappelant avec code retour indiquant lerreur dtecte. Il est possible dchanger simultanment autant de requtes que de portes source disponible. Code retourn Si OK Code 0x00 Si dfaut Code 0x01 0x02 0x03 0x04 0x05 0x08 0xFF Message de compte rendu Longueur du buffer trop grande Longueur du buffer nulle File sature - Les 16 buffers sont occups Mauvais numro de porte Option pour cette requte non valide Numro de ligne non valide Pas dans une tche de fond Message de compte rendu Emission correcte
REMARQUE : Les champs Rseau, Station, Porte, Module et Voie correspondent l'adressage Srie 7 Telemecanique qui dsigne le destinataire de la requte. Se reporter au manuel rseau correspondant.
15 - 34
fr-938846/4
15
Requte ou rponse UNITE (Voir manuel protocole UNITE) 128 octets maxi
1 mot
Carte processeur 1 re carte machine IT/lignes sries 0x20 et 0x21 0x24 0x27
Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "&datagramme" incorrect, - "&datagramme+taille" hors zone autorise.
15.5.2
neti
porte_source : &datagramme :
fr-938846/7
15 - 35
Description La fonction neti() fonctionne sur les portes 0x50 0x5F. Elle permet : de recevoir la rponse une requte prcdemment mise, sur le rseau, par neto(..), de recevoir une requte non sollicite mise par une station distante.
Fonctionnement Lors de lappel de la fonction neti(..), sil nexiste pas dans la file des requtes reues, de requte ayant une porte source identique la porte paramtre lappel de neti(..), le moniteur excute un retour lappelant avec code retour 0x6, Si la taille rserve pour la rception du datagramme est suffisante il y a transfert de la requte ladresse &datagramme et retour lappelant avec code retour OK 0x0 Si la taille du buffer est insuffisante, retour lappelant avec code retour 0x7. Il est possible dattendre simultanment autant de requtes que de portes source (16 rponses des requtes mise par neto(..) ou non sollicite). Code retourn Si OK Code 0x00 Si dfaut Code 0x04 0x06 0x07 0x08 0xFF Message de compte rendu Mauvais numro de porte Pas de requte reue pour cette porte Buffer trop petit pour stocker la rponse Numro de ligne non valide Pas dans une tche de fond Message de compte rendu OK - Lecture correcte
REMARQUE : Si le code retourn est 0x06, la fonction neti(..) doit tre appele priodiquement jusqu rception de la requte.
15 - 36
fr-938846/4
15
Taille du buffer Taille de la requte ou de la rponse UNITE (1 mot) Numro de la ligne (1 mot) Rserv (1 octet) Rseau (1 octet) Porte (1 octet) voie (1 octet) Taille du buffer
Requte ou rponse UNITE (Voir Manuel protocole UNITE) 128 octets maxi
1 mot
REMARQUE : Les champs Rseau, Station, Porte, Module et Voie correspondent l'adressage Srie 7 Telemecanique qui dsigne le destinataire de la requte. Se reporter au manuel rseau correspondant.
N ligne UNI-TELWAY MAPWAY - ETHWAY ETHERNET Carte processeur 1 re carte machine IT/lignes sries 0x20 et 0x21 0x24 0x27 2 me carte IT/lignes sries 0x28 0x2B 0x30 0x40 Coupleur spcifique
REMARQUE
Avec UNI-TELWAY, si la rponseest de 2 octets et le code retour 0xFF, les valeurs du code rponse peuvent tre : - 0x03 : destinataire inaccessible, - 0x04 : NACK buffer du destinataire satur, - 0x0A : Time out.
Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "&datagramme" incorrect, - "&datagramme+taille" hors zone autorise.
fr-938846/7
15 - 37
15.5.3
SOURCE Demandeur UNI-TELWAY Maitre Ligne N L (16) UNI-TELWAY Esclave Ligne N L (1) UNI-TELWAY Esclave Ligne N L (1) UNI-TELWAY Esclave Ligne N L (1) MAPWAY-ETHWAY (16) MAPWAY-ETHWAY (16) MAPWAY-ETHWAY (1)
0x20+L 0 0x30 0
0 0
0xFE S
5 0
0xFE 0
0x64 +S 0
MAPWAY-ETHWAY 0x30 Station NS du rseau R MAPWAY-ETHWAY 0x30 Porte P programme applicatif Station NS du rseau R
0 0
R R
S S
0 P
0 0
0 0
(1) 1 porte source (0x50 0x5F) autorise par destinataire permettant 1 seul change avec ce destinataire. (16) 16 portes sources (0x50 0x5F) autorises par destinataire permettant 16 changes simultans avec le mme destinataire.
15 - 38
fr-938846/4
15.5.4
setcomw
15
taille : activit :
Nombre doctets attribus chaque station. Activit de la station par rapport au mots communs (0 pour inactive, 1 pour lecturecriture ou 2 pour lecture seule).
Description Permet de configurer le service mots communs. Fonctionnement La fonction setcomw(..) doit tre appele dans la tche %INI. Si cette fonction nest pas appele, le service mots communs nest pas actif. La taille de mots communs doit tre identique sur toutes les stations du rseau. Si la valeur configure sur une station est errone, celle-ci sera ignore par les autres. Les stations devant se partager 256 mots au maximum, le choix de la taille dtermine le nombre maximum de stations pouvant participer au service mots communs. Taille par station 8 octets 16 octets 32 octets 64 octets 128 octets Nombre maxi de stations 64 32 16 8 4 Adresse des stations De 0 0x3F De 0 0x1F De 0 0xF De 0 7 De 0 3
Une station inactive nmet pas de mots communs et ne peut pas lire ceux mis par les autres stations. Une station active en lecture nmet pas de mots communs mais peut lire ceux mis par les autres stations. Une station active en lecture/criture met ses mots communs et peut lire ceux mis par les autres stations. Les stations dclares en lecture/criture doivent avoir les adresses les plus basse sur le rseau. Il est possible de configurer un nombre de mots communs infrieur au maximum autoris par station. Cette possibilit doit tre utilise dans les cas ou il y a peu dinformations transmettre. Le traitement des mots communs par la fonction automatisme sen trouvera amlior. Code retourn Si OK Code 0x00 Message de compte rendu Configuration OK
fr-938846/4
15 - 39
Si dfaut Code 0x01 0x02 0x03 0x04 0x05 Message de compte rendu Paramtre taille incorrect Paramtre activit incorrect Taille incompatible avec ladresse de station (Si activit == 1) Processeur rseau en dfaut Processeur rseau en mode test
15.5.5
netst_ad
&adresse_status Description
Permet de dfinir ladresse de la zone utilisateur ou se trouve les valeurs spcifique sur ltat de la commande numrique accessible par la requte STATUS (Code 0x31) (Voir manuel du protocole UNITE). Fonctionnement Cette fonction doit tre appele dans la tche %INI. Elle permet de dfinir ladresse partir de laquelle sont mmoriss les 16 octets du champ USER_SPECIFIC.
REMARQUE : Si cette fonction nest pas appele, le champ USER_SPECIFIC nest pas significatif.
Exemple netst_ad(%M100.&) La requte STATUS trouvera les valeurs du champ USER_SPECIFIC ladresse %M100.&. Code retourn Si OK Code 0x00 Message de compte rendu Configuration OK
Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "&adresse_status" incorrect, - fin du champ status hors zone autorise.
15 - 40
fr-938846/7
Programmation en langage C
16 Programmation en langage C
Gnralits Appel dun module excutable Identification dun module excutable Programmation en langage C
16.4.1 16.4.2 16.4.3 16.4.4
16-3
exec exechdl
16-3 16-4 16-5 16-5 16-5 16-7 16-7 16-7 16-8 16-8 16-8 16-9 16-9 16-11 16-12 16-13 16-14 16-20 16-21 16-22 16-22 16-23 16-26 16-30
Notion de module Interface entre les modules C Zone dchanges Accs aux variables internes banalises sauvegardes 16.4.5 Accs aux variables internes banalises non sauvegardes 16.4.6 Accs aux entres borniers 16.4.7 Accs aux sorties borniers 16.4.8 Type des donnes standards 16.4.9 Les fonctions de la librairie 16.4.9.1 Fonctions systmes 16.4.9.2 Exploitation des fonctions systmes 16.4.9.3 Fonctions dchanges par protocole 16.4.9.4 Gestion des lignes sries 16.4.9.5 Gestion du mode transparent 16.4.9.6 Programmation des entres/sorties analogiques 16.4.9.7 Lectures/Ecritures explicites 16.4.9.8 Programmation des entres interruptions 16.4.9.9 Gestion des tches de fond 16.4.9.10Fonctions dusage gnral 16.4.9.11Gestion de fichiers 16.4.9.12Gestion de rpertoire
16
fr-938846/7
16 - 1
16 - 2
fr-938846/7
Programmation en langage C
16.1
Gnralits
Lutilisation du langage C pour la programmation de la fonction automatisme prsente les avantages suivants : - criture de programmes structurs, (Emploie de noms de variables explicites, syntaxe du langage, structure de donnes, chanes de caractres, .. etc ...), - utilisation de bibliothques de fonctions (Gestion de chanes de caractres, calcul mathmatique, .. etc ...), - criture de ses propres librairies de fonctions qui peuvent tre utilises pour plusieurs applications. Toutes les tches peuvent tre crites en langage C. Toutes les variables de la zone dchanges sont accessibles en programmation C. Les fonctions exec(..) et exechdl(..) permettent la gestion dexcutables C, issus de la chane de compilation C, partir dun module ladder.
16
ATTENTION
Lors de l'utilisation d'un pointeur, il faut garantir l'initialement correct de celui-ci. Si ce contrle n'est pas effectu, il y a risque de gnrer un dfaut "adresse interdite" Par exemple, il faut tester le compte rendu de la fonction "MALLOC" avant d'utiliser l'adresse renvoye par celle-ci.
16.2
exec
whexec : arg :
Identificateur logique du module excutable appeler. Eventuels arguments (tendus sur 32 bits et passs sur la pile ).
Permet lappel dun excutable issu dune chane de compilation pour langage C. Fonctionnement Les arguments (signs) arg sont tendus sur 32 bits et empils suivant la convention du langage C (le premier argument au sommet de la pile ). whexec nest pas empil. Lidentificateur logique whexec est fourni par la fonction exechdl(). Le systme analyse whexec et appelle le module excutable associ. Code retourn Si OK La valeur retourne par lexcutable C.
fr-938846/7
16 - 3
16.3
exechdl
&chane :
Permet la lecture de lidentificateur logique dune fonction dun module excutable issu dune chane de compilation pour langage C. Fonctionnement La chane pointe par &chane contient le nom dune fonction en C. Pour tre reconnu par le moniteur, le nom dune fonction doit tre communiqu depuis un module C par la fonction EXPORT(..) (Voir 16.4.9). La fonction exechdl() doit tre appele dans la tche %INI. Code retourn Si OK whexec > 0 : Si dfaut whexec == 0: Le systme ne connat pas le nom point par &chane. Identificateur logique du module excutable (valeur sur 16 bits). Cet identificateur est utilis pour lappel de lexcutable par la fonction exec().
Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "&chane" incorrect, - fin de chane hors zone autorise.
16 - 4
fr-938846/7
Programmation en langage C
16.4
16.4.1
Programmation en langage C
Notion de module
Un module est une entit excutable indpendante. Tous les objets dfinis dans un module (Donnes ou fonctions) sont internes celui-ci et peuvent tre mis la disposition dune entit extrieure (Modules C, modules Ladder ou moniteur). Pour tre valide, un module doit possder une seule fonction main(). Un module est issu de la compilation et de ldition de lien dun ou de plusieurs fichiers sources C. Il est visible et accessible sous PLCTOOL comme un fichier de type *.XCX. Une application peut tre constitue dun ou plusieurs modules C. Le dcoupage des grosses applications en plusieurs modules est fortement conseill.
16
16.4.2
Les applications crites en C peuvent atteindre des tailles trs importantes (Plusieurs centaines de Koctets). Une modification de lapplication entrane la compilation, ldition des liens et le chargement de tout le module. Le temps ncessaire toutes ces oprations peut rapidement devenir trs long. Pour optimiser les temps de traitement, il est ncessaire de sparer les gros modules en plusieurs petits modules indpendants qui peuvent schanger des informations de tout type (Fonctions, tableaux, structures, variables). Ainsi, dans un module donn, on travail sur les pointeurs des objets transfrer, et on initialise ces pointeurs au moment de la rsolution des liens. Dans les paragraphes suivants, nous utiliserons les termes : - objet import pour les objets utiliss dans un module et dfini dans un autre, - objet export pour un objet dfini dans un module et mis la disposition de tout autre module. Le terme objet regroupe toutes les types de donnes globales : - Structures, - Fonctions, - Variables globales, - tableaux, - .. etc ... Deux fonctions, IMPORT() et EXPORT(), sont disponibles pour traiter les objets imports et exports.
fr-938846/7
16 - 5
Fonctions La fonction IMPORT() permet dexploiter dans un module un objet extrieur. La fonction EXPORT() permet de mettre la disposition des autres modules un objet en vue de son exploitation.
ATTENTION
Un objet ne peut tre import que si un autre module la export. Lutilisateur doit dfinir les objets imports et exports dans la fonction main() de ses modules.
Lorsque le traducteur est appel, le moniteur met jour une table dite des exports et une table dite des imports. Ces deux tables contiennent la liste des symboles et leur adresse respective. Une fois que toutes les fonctions main() de tous les modules ont t appeles, le moniteur peut faire les liens entre objets exports et objets imports. Le nom du symbole sert au moniteur pour lier les objets, on ne pourra, par consquent, utiliser un mme nom pour exporter deux objets diffrents.
Moniteur Table des Exportes
Symbole NOM @Symb Ad1
Module A
Module B
Ad2 = Ad1
NOM : Symbole (Chane de caractres) servant lors de l'importe Ad1 : Adresse de l'objet exporter (Dfini dans le module A) Ad2 : Adresse de l'objet qui sera utilis dans le module B
16 - 6
fr-938846/7
Programmation en langage C
16.4.3
Zone dchanges
Toutes les variables de la zone dchanges (Voir chapitre 3) sont accessibles en programmation C. La zone dchanges est dfinie dans le fichier en-tte NUM.H. Il est ncessaire dinclure en en-tte des fichiers sources qui doivent utiliser la zone dchanges le fichier NUM.H. Le fichier NUM.H est divis en quatre zones qui sont valides par les dfinitions suivantes : - la zone dchanges est valide par #define VariablesLAD, - la zone fonctions du mode transparent est valide par #define EcranCN, - la zone du formalisme grafcet est valide par #define Grafcet, - la zone de gestion de fichiers est valide par #define Gestion_Fichier. Exemple Pour utiliser la zone dchanges #define VariablesLAD #include <NUM.H> Pour utiliser la zone dchanges et les fonctions du mode transparent #define VariablesLAD #define EcranCN #include <NUM.H>
16
16.4.4
Mot cl _MB(a) _MW(a) _ML(a)
Les variables par octet, mot ou long mot sont accessibles par les mots cls suivants.
On peut aussi accder ladresse dune donne (Equivalent loprateur .& du ladder). Mot cl _pM(a) Valeurs 0 < a < 77FF Dfinition
16.4.5
Mot cl _VB(a) _VW(a) _VL(a)
Les variables par octet, mot ou long mot sont accessibles par les mots cls suivants.
On peut aussi accder ladresse dune donne (Equivalent loprateur .& du ladder). Mot cl _pV(a) Valeurs 0 < a < 7FFF Dfinition
fr-938846/7
16 - 7
16.4.6
Mot cl _IB(a,b,c) _IW(a,b,c) _IL(a,b,c)
Les variables ne sont accessibles quen lecture et par octet, mot ou long mot.
Pour tous ces mots cls, on a : - a : N du rack de 0 < a < 6 - b : N de carte dans le rack de 0 < b < F - c : Adresse logique lintrieur du poste de 0 < c < 3F
REMARQUE : Pour accder une entre particulire, il faut masquer loctet correspondant
16.4.7
Mot cl _QB(a,b,c) _QW(a,b,c) _QL(a,b,c)
Les variables ne sont accessibles quen criture et par octet, mot ou long mot.
Pour tous ces mots cls, on a : - a : N du rack de 0 < a < 6 - b : N de carte dans le rack de 0 < b < F - c : Adresse logique lintrieur du poste de 0 < c < 3F
REMARQUE : Pour accder une sortie particulire, il faut masquer loctet correspondant
16.4.8 Type des donnes standards
Dfinition Variable non signe sur 4 octets Variable non signe sur 2 octets Variable non signe sur 1 octet Variable signe sur 4 octets Variable signe sur 2 octets Variable signe sur 1 octet (caractre)
Pour plus de clart, le type des donnes standards C a t redfini. Donne standard UINT32 UINT16 UINT8 SINT32 SINT16 SINT8
16 - 8
fr-938846/7
Programmation en langage C
16.4.9
Une application crite en C est gnre sur systme autonome. La librairie de fonctions NUM.OBJ permet davoir accs aux primitives du moniteur. Cette librairie est utilise au moment de ldition des liens. Toutes ces fonctions sont prototypes dans le fichier entte NUM.H 16.4.9.1 Fonctions systmes
16
EXPORT
symbole : ad_symbole :
Cette fonction rend un objet C visible par tous les autres modules (visibilit globale) ou associe une fonction une tche automate. Compte rendu: - 0 = OK - -1 = tche dj dfinie ou trop de symboles d'exportation. Exemple 1 Cet EXPORT a pour effet dassocier ts01_en_c la tche TS01. main() { EXPORT(TS01,ts01_en_c); } void ts01_en_c() { corps de la fonction } Exemple 2 Cet EXPORT aura pour effet de donner tableau une visibilit globale. SINT16 tableau[100]; main() { EXPORT(ETIQUETTE,tableau); }
fr-938846/7
16 - 9
Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "*symbole" incorrect, - paramtre "*ad_symbole" incorrect, - fin de chane "symbole" hors zone autorise. Importation dun objet Syntaxe SINT32 IMPORT(SINT8 *symbole, void **ad_symbole)
IMPORT
symbole : ad_symbole :
Cette fonction permet dutiliser un objet dfini dans un autre module. Un objet import doit tre export pralablement dans un autre module. Compte rendu: - 0 = OK - -1 = appel en dehors de la tche d'initialisation ou trop de symboles d'importation. Exemple void (* fonction_IMPORT)(); main() { IMPORT(ETIQUETTE, &fonction_IMPORT); } void essai() { fonction_IMPORT(); corps de la fonction } Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "*symbole" incorrect, - paramtre "**ad_symbole" incorrect, - fin de chane "symbole" hors zone autorise.
16 - 10
fr-938846/7
Programmation en langage C
16.4.9.2
Exemple EXPORT dun tableau Dans le fichier EXP.C #include <NUM.H> SINT16 tableau [100]; main() { EXPORT(ETIQUETTE , tableau); } Dans le fichier IMP.C #include <NUM.H> SINT16 *ptab; main() { IMPORT(ETIQUETTE , &ptab); } Exemple EXPORT dune fonction Dans le module 1 #include <NUM.H> SINT16 Affiche(UINT8 quoi , SINT16 combien) { SINT16 i ; for (i = 0 ; i < combien ; i++); { EMIV(quoi) ; } return(i); } main() { EXPORT(FONCT1 , Affiche); }
16
fr-938846/7
16 - 11
Dans le module 2 #include <NUM.H> SINT16 (* FoncImp) (UINT8 , SINT16); /* FoncImp : pointeur sur une fonction ncessitant deux paramtres et qui retourne un SINT16 */ void fonct2() { PCUR(5 , 2); FoncImp(_ , 10); /* Excution de la fonction importe */ } main() { IMPORT(FONCT1 , &FoncImp); /* Initialisation du pointeur sur la fonction extrieure */ } 16.4.9.3 Fonctions dchanges par protocole
Le fonctionnement et les paramtres de ces fonctions sont identiques ceux des fonctions ladder (Voir chapitre 15).
Lecture dune rponse dun serveur distant Syntaxe UINT8 NETI(UINT8 porte, UINT8 *ad_buffer) Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "*datagramme" incorrect, - "*datagramme+taille" hors zone autorise. Envoie dune requte UNITE vers un serveur distant Syntaxe UINT8 NETO(UINT8 porte, UINT8 *ad_buffer) Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "*datagramme" incorrect, - "*datagramme+taille" hors zone autorise.
NETI
NETO
16 - 12
fr-938846/7
Programmation en langage C
Lecture dune rponse en interne Syntaxe UINT8 UNITI(UINT8 porte_source, UINT8 *datagramme) Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "*datagramme" incorrect, - "*datagramme+taille" hors zone autorise. Envoie dune requte UNITE en interne Syntaxe UINT8 UNITO(UINT8 porte_source, UINT8 *datagramme) Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "*datagramme" incorrect, - "*datagramme+taille" hors zone autorise. 16.4.9.4 Gestion des lignes sries
UNITI
16
UNITO
Le fonctionnement et les paramtres de ces fonctions sont identiques ceux des fonctions ladder (Voir chapitre 12).
Contrle du pilote de ligne srie Syntaxe SINT8 COMCTL(UINT8 n_port, UINT8 config)
COMCTL
Slection des vitesses et formats Syntaxe SINT32 COMF(UINT8 n_port, UINT16 vitemi, UINT16 vitrec, UINT16 format)
COMF
fr-938846/7
16 - 13
Lecture du tampon de rception Syntaxe SINT16 COMIN(UINT8 n_port, UINT8 *buffer, UINT16 nb) Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "*buffer" incorrect, - "*buffer+nb" hors zone autorise. Emission dun tampon Syntaxe SINT8 COMOUT(UINT8 n_port, UINT8 *buffer, UINT16 nb) Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "*buffer" incorrect, - "*buffer+nb" hors zone autorise. Lecture de ltat dune ligne srie Syntaxe UINT16 COMREG(UINT8 n_port) 16.4.9.5 Gestion du mode transparent
COMIN
COMOUT
COMREG
Le fonctionnement et les paramtres de ces fonctions sont identiques ceux des fonctions ladder (Voir chapitre 8).
EMIV
char :
16 - 14
fr-938846/7
Programmation en langage C
INIG
16
MAIN_WINDOW
STATUS_WINDOW
void STATUS_WINDOW()
KEY_WINDOW
PCUR
PICO
fr-938846/7
16 - 15
Type de trait pour le trac Type de trait Trait continu Trait pointill Trait tiret Trait mixte Absence de trait Position du point darriv (En pixels).
Trac dune flche Syntaxe void FLEC(UINT8 Code, UINT16 Longueur, UINT16 Largeur)
FLEC
Orientation de la flche Type de flche Pointe vers la droite Pointe vers la gauche Pointe vers le haut Pointe vers le bas Longueur de la pointe (En pixels). Largeur de la pointe (En pixels).
RECT
Largeur : Longueur :
16 - 16
fr-938846/7
Programmation en langage C
CERC
16
Rayon :
Trac dun losange Syntaxe void LOSA( UINT16 Largueur, UINT16 DemiHauteur, UINT16 HauteurTotale)
LOSA
ARCA
void ARCA(UINT8 Type_Trait, UINT16 Xarr, UINT16 Yarr, UINT16 Xcentre, UINT16 Ycentre ) TypeTrait : Xarr, Yarr : Xcentre, Ycentre : Type de trait pour le trac Coordonnes du point darriv (En pixels). Coordonnes du centre (En pixels).
ARCT
void ARCT(UINT8 Type_Trait, UINT16 Xarr, UINT16 Yarr, UINT16 Xcentre, UINT16 Ycentre )
Type de trait pour le trac Coordonnes du point darriv (En pixels). Coordonnes du centre (En pixels).
TEST
fr-938846/7
16 - 17
Arr.
Demi Hauteur
HauteurTotale
Hauteur
Arr.
Longueur
Centre cercle 0
16 - 18
fr-938846/7
Programmation en langage C
Coloriage avec arrt sur contour Syntaxe void COLOR(UINT8 Couleur, UINT16 X, UINT16 Y)
COLOR
16
Couleur : X, Y :
Code de couleur du contour, de 0 15 (Voir 8.3.3.2). Position de dbut de coloriage (En pixels).
SELCOL
PUTKEY
Ouverture dune acquisition clavier Syntaxe SINT32 SCANO(UINT8 *Question, UINT16 Largeur) Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "*question" incorrect, - fin de chane hors zone autorise. Ouverture dune acquisition clavier numrique Syntaxe SINT32 SCANU(UINT8 *Question, UINT16 Largeur) Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "*question" incorrect, - fin de chane hors zone autorise.
SCANO
SCANU
fr-938846/7
16 - 19
Acquisition dune chane de caractres Syntaxe SINT32 SCANS(UINT8 *Dest) Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "*dest" incorrect, - fin du champ acquisition hors zone autorise. Acquisition et conversion dun nombre en dcimal Syntaxe SINT32 SCAND(UINT32 *Lvariable) Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "*Ivariable" incorrect. Acquisition et conversion dun nombre en hexadcimal Syntaxe SINT32 SCANX(UINT32 *Lvariable) Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "*Ivariable" incorrect. Fermeture dune acquisition clavier Syntaxe SINT32 SCANC() 16.4.9.6 Programmation des entres/sorties analogiques
SCANS
SCAND
SCANX
SCANC
Le fonctionnement et les paramtres de ces fonctions sont identiques ceux des fonctions ladder (Voir chapitre 9)
Redirection dune carte analogique Syntaxe SINT32 ANAA(UINT8 Cv_Initial, UINT8 Cv_Final)
ANAA
16 - 20
fr-938846/7
Programmation en langage C
Lecture dune entre analogique Syntaxe SINT32 ANAI(UINT8 cv, SINT16 *winput) Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "*winput" incorrect. Ecriture dune sortie analogique Syntaxe SINT32 ANAO(UINT8 cv, SINT16 woutput)
ANAI
16
ANAO
Configuration dune carte E/S analogique Syntaxe SINT32 ANAS(UINT8 cv, SINT16 wconfig) 16.4.9.7 Lectures/Ecritures explicites
ANAS
Le fonctionnement et les paramtres de ces fonctions sont identiques ceux des fonctions ladder (Voir chapitre 10).
Lecture explicite dune carte entre Syntaxe SINT8 READ_I(UINT16 rcmv, UINT8 n)
READ_I
Ecriture explicite dune carte sortie Syntaxe SINT8 WRITE_Q(UINT16 rcmv, UINT8 n)
WRITE_Q
fr-938846/7
16 - 21
16.4.9.8
Le fonctionnement et les paramtres de ces fonctions sont identiques ceux des fonctions ladder (Voir chapitre 11).
Configuration dune entre interruption Syntaxe SINT32 ITICTL(UINT32 Numro_iti, UINT8 iti_config)
ITICTL
ITIGET
Association une entre interruption avec un groupe daxes Syntaxe SINT32 ITI_GR( UINT32 Numro_iti, UINT32 Groupe)
ITI_GR
Association dune tche hard avec une entre interruption Syntaxe SINT32 THITI(UINT32 Numro_Th, UINT32 Numro_iti) 16.4.9.9 Gestion des tches de fond
THITI
Le fonctionnement et les paramtres de ces fonctions sont identiques ceux des fonctions ladder (Voir chapitre 7).
CSBEGIN
16 - 22
fr-938846/7
Programmation en langage C
CSEND
16
TFSTART
TFSTOP
Mise en sommeil dun tche de fond pendant n cycle automate Syntaxe void WHTR(UINT16 n) 16.4.9.10 Fonctions dusage gnral
WHTR
Le fonctionnement et les paramtres de ces fonctions sont identiques ceux des fonctions ladder correspondantes (Voir chapitre 6).
CNA0
CNA1
fr-938846/7
16 - 23
QCKTOOL
TOOLDYN
TEMPO_ENCLENCHEMENT
TEMPO_DECLENCHEMENT
TEMPO_IMPULSION
SP
16 - 24
fr-938846/7
Programmation en langage C
Semaphore Syntaxe SINT8 SEMA(SINT8*semaphore) Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "*semaphore" incorrect, Lecture de n variables E42000 Syntaxe SINT32 R_E42000(SINT8 *dest, UINT32 numero, UINT32 n)
SEMA
16
R_E42000
Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "*dest" incorrect, - "*dest+n" hors zone autorise. Ecriture de n variables E42000 Syntaxe SINT32 W_E42000(SINT8 *source, UINT32 numero, UINT32 n)
W_E42000
Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "*source" incorrect, - "*source+n" hors zone autorise. Lecture de la date courante Syntaxe TMGET(*date)
TMGET
Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "*date" incorrect.
fr-938846/7
16 - 25
DTGET
Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "*date" incorrect. 16.4.9.11 Gestion de fichiers
La mmoire globale est gre comme une unit de disque. Les donnes y sont stockes sous forme de fichiers rangs dans des rpertoires. Il existe trois rpertoires destins recevoir les diffrents types de fichiers : - les fichiers applicatifs LADDER ayant une extension .XLA, - les fichiers applicatifs C ayant une extension .XCX, - les fichiers utilisateur. La programmation en C offre la possibilit de crer ses propres fichiers. Un certain nombre de primitives sont sa disposition pour la gestion de ces fichiers. Les codes derreurs retourns par les primitives (fichiers et rpertoire) sont : Code derreur UF_SYSFAIL UF_DSKFULL UF_ERRNAME UF_NEXIST UF_OPEN UF_NOPEN Description Erreur systme Disque plein Nom de fichier incorrect Fichier inexistant Fichier ouvert Fichier non ouvert
USER_CREATE_F
SINT32 USER_CREATE_F(SINT8 *pNom_Fichier) Paramtres Entres : Sortie : pNom_Fichier : Le rpertoire ne doit pas tre spcifi car les fichiers utilisateurs sont forcment dans un rpertoire fig. Aucune
16 - 26
fr-938846/7
Programmation en langage C
REMARQUES :Si le nom du fichier existe dj, la fonction retourne le code derreur UF_ERRNAME. Un fichier existant doit pralablement tre effac par la fonction USER_REMOVE_F avant que le nom soit rutilis pour un autre fichier. Aprs excution de la fonction USER_CREATE_F, le nouveau fichier est vide. La fonction USER_CREATE_F nest utilise que pour les fichiers de donnes. La fonction USER_CREATE_F nouvre pas automatiquement le fichier. Il faut utiliser la fonction USER_OPEN_F pour raliser cette ouverture.
Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "*pNom_fichier" incorrect.
16
USER_DELETE_F
SINT32 USER_DELETE_F(SINT8 *pNom_Fichier)
Paramtres Entres : Sortie : pNom_Fichier : Le rpertoire ne doit pas tre spcifi car les fichiers utilisateurs sont forcment dans un rpertoire fig. Aucune
USER_OPEN_F
SINT32 USER_OPEN_F(UINT32 *pF_Id, SINT8 *pNom_Fichier)
Description Ouvre un fichier identifi par pNom_Fichier. Ce fichier est accessible en lecture et criture. Si lopration se droule normalement, le gestionnaire de fichiers retourne un identificateur pF_Id utilis par les fonctions USER_CLOSE_F, USER_READ_F, USER_WRITE_F et user_seek_f. Paramtres Entres : Sortie : pNom-Fichier : Le rpertoire ne doit pas tre spcifi car les fichiers utilisateurs sont forcment dans un rpertoire fig. pF_Id : Identificateur de fichier si lopration sest bien droul.
fr-938846/7
16 - 27
REMARQUES :La fonction USER_OPEN_F ne vrifie pas le type du fichiers. La fonction USER_OPEN_F positionne le pointeur de fichier sur le 1er octet du fichier.
Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "*pF_id" incorrect, - paramtre "*pNom_Fichier" incorrect.
USER_CLOSE_F
SINT32 USER_CLOSE_F(UINT32 F_Id)
Description Ferme un fichier pralablement ouvert par la fonction USER_OPEN_F. Paramtres Entres : Sorties : pF_Id : Identificateur de fichier Aucune
REMARQUE : Le nombre de fichier ouvert simultanment tant limit, la fonction USER_CLOSE_F doit tre utilise ds que louverture dun fichier nest plus ncessaire.
Lecture des donnes dun fichier Syntaxe SINT32 USER_READ_F(UINT32 pF_Id, UINT8 *pBuf, UINT32 Nb_Demande, UINT32 *Nb_lus) Paramtres Entres : pF_Id : Identificateur de fichier retourn par user_open_f. pBuf : Buffer de rception des donnes. Nb_Demande : Nombre doctets lire. Nb_Lus : Nombre doctets effectivement lus. Si ce nombre est infrieur au nombre demand, cela signifie que la fin de fichier t atteinte.
USER_READ_F
Sorties :
REMARQUES :Les donnes sont lues partir de la position courante du pointeur de fichier. Le pointeur de fichier est automatiquement repositionn aprs la lecture.
Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "*pBuf" incorrect, - "*pBuf+nb_Demandes" hors zone autorise, - paramtre "*nb_lus" incorrect.
16 - 28
fr-938846/7
Programmation en langage C
USER_WRITE_F
16
SINT32 USER_WRITE_F(UINT32 pF_Id, UINT8 *pBuf, UINT32 Taille_Buf) Description Ecrit des donnes dans le fichier spcifi par pF_Id. Lcriture commence toujours au niveau du pointeur de fichier. Aprs lcriture, le pointeur est positionn sur le dernier octet du fichier. Paramtres Entres : pF_Id : Identificateur de fichier retourn par la fonction USER_OPEN_F. pBuf : Buffer des donnes crire. Taille_Buf : Taille du buffer. Aucune
Sorties :
REMARQUES :Les donnes sont crites partir de la position courante du pointeur de fichier. Le pointeur de fichier est automatiquement repositionn aprs lcriture.
Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "*pBuf" incorrect, - "*pBuf+nb_demandes" hors zone autorise.
USER_SEEK_F
SINT32 USER_SEEK_F(UINT32 pF_Id, UINT32 mode, SINT32 offset, UINT32 *Old_Ptr) Description Repositionne pour le pointeur pour lecture criture dans un fichier spcifi par pF-Id. Paramtres Entres : pF_Id : Identificateur de fichier retourn par la fonction USER_OPEN_F. mode : Position partir de laquelle on fait le dplacement 0 dplacement partir du dbut du fichier. 1 dplacement partir de la position courante. 2 dplacement partir de la fin du fichier. offset : Dplacement sign relatif au mode choisi. Old_Ptr : Valeur initiale du pointeur.
Sortie :
REMARQUES :Le pointeur est diffrent pour chaque fichier. Le pointeur est une variable non sign. Un dplacement en dehors de limites du fichier, gnre une erreur.
fr-938846/7
16 - 29
Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "*pOld_Ptr" incorrect, 16.4.9.12 Gestion de rpertoire
Seul le rpertoire utilisateur est accessible. Trois primitives permettent de connatre le contenu de ce rpertoire.
USER_OPEN_DIR
SINT32 USER_OPEN_DIR()
USER_READ_DIR
SINT32 USER_READ_DIR(UINT8 *pBuf, UINT32*Nb_Demande, UINT32*Nb_lus) Paramtres Entres : Sorties : pBuf : Buffer de rception des donnes. Nb_Demande : Nombre doctets lire. Nb_Lus : Nombre doctets effectivement lus. Si ce nombre est infrieur au nombre demand, cela signifie que la fin du rpertoire t atteinte.
16 - 30
fr-938846/7
Programmation en langage C
Description dun fichier du rpertoire Un fichier du rpertoire est dcrit par 32 octets organiss comme suit : Nombre doctet 8 octets Description Nom du fichier Si Nom_fichier[0] prend les valeurs suivante, alors : 0x00 signifie fin de rpertoire 0x2E signifie Fichier systme 0xE5 signifie Fichier dtruit 0x05 signifie Le nom commence par 0x05 Extension du fichier Attribut du fichier Bit 0 = 1 : Lecture seule Bit 1 = 1 : Fichier cach Bit 2 = 1 : Fichier systme Bit 3 = 1 : Nom du volume (ROOT) Bit 4 = 1 : Fichier rpertoire Bit 5 = 1 : Bit darchive Bit 6 = 1 : Rserv Bit 7 = 1 : Rserv Description Rserv Heure au format INTEL Date au format INTEL Cluster de dpart au format INTEL Taille du fichier au format INTEL
16
3 octets 1 octet
Erreur de programmation provoquant la mise en dfaut de l'unit centrale Accs une adresse interdite : - paramtre "*pBuf" incorrect, - "*pBuf+Nb_Demande" hors zone autorise, - paramtre "Nb_lus" incorrect. Lheure, la date et la taille sont codes au format INTEL cest dire que les octets de poids fort et les octets de poids faible sont inverss par rapport au format MOTOROLA. Au format MOTOROLA, les bits ont la signification suivante :
fr-938846/7
16 - 31
Secondes
Nb d'incrment de 2 secondes
Bit 15
Bit 0
Jour
Bit 15
Bit 0
Pour faciliter le traitement de ces donnes, on peut utiliser les structures suivantes (dfinies dans le fichier den-tte NUM.H) : struct S_HEURE_FICHIER { UINT8 Sec :5; /* Seconde */ UINT8 Min :6; /* Minutes */ UINT8 Heure :5; /* Heures */ }; struct S_DATE_FICHIER { UINT8 Jour :5; /* jour */ UINT8 Mois :4; /* Mois */ UINT8 Annee :7; /* Annes */ }; struct S_ELEMENT_REPERTOIRE { UINT8 Nom_Fichier[8]; UINT8 Extension_Nom[3]; UINT8 Attribut; UINT8 Reserve[10]; UINT16 Heure_Intel; /* Mot au format INTEL */ UINT16 Date_Intel /* Mot au format INTEL */ UINT16 Cluster_Depart; UINT32 Taille_Fichier_Intel; /* Long mot au format INTEL */ };
16 - 32
fr-938846/7
Axes automates
17 Axes automates
17.1
Prsentation
La fonction axes automates permet la fonction automatisme de commander des axes. Ces axes dit axes automates sont pilots par la fonction CN. En fonction du systme 1060, la fonction CN pilote un maximum de : Maximum axe 32 8 Maximum groupe 8 (9 axes par groupe) 3 (9 axes par groupe)
17
Les axes automates sont rangs dans les groupes automates au sein desquels ils sont interpolables. Le nombre de groupes daxes (CN et automate) composant le systme est dfini par le paramtre machine P97 (Voir manuel des paramtres). Les fonctions de programmation pice assures par les groupes automates sont identiques celles assures par les groupes daxes CN sauf pour les fonctions M01, M12 et G75 (voir manuel de programmation pice). Les principaux modes de fonctionnement des groupes automates sont les modes Continu et Squentiel (Voir manuel oprateur). Un groupe automate fonctionne dans un de ces modes indpendamment du mode de fonctionnement des autres groupes (CN ou automate). Fonctionnement en mode "JOG" : - lorsqu'un groupe automate est valid par %Wg00.2 puis RAZ (impulsion %Wg01.0) ce groupe peut tre pilot en mode JOG. Il utilise alors son propre potentiomtre %Wg02.b pour moduler les avances.
17.2
Principe de programmation
Les commandes et compte-rendus changs entre la fonction automatisme et la fonction CN transitent par la zone dchange. Ces informations doivent tre traites dans le programme utilisateur.
17.2.1
Les informations concernant les groupes daxes automates transmises par la fonction automatisme vers la fonction CN sont : Fonction Demande de dgagement durgence Demande de Dpart cycle Demande de RAZ sur le groupe Choix du mode (continu ou squentiel) Commande maintenue de vitesse rapide sur groupe Compte rendu des fonctions M sur le groupe Appel de sous programme par le processeur machine Signal darrt sur bute Validation du groupe Signal de fin de mouvement extrieur Autorisation des avances sur le groupe Variable %Wg01.4 %Wg01.2 %Wg01.0 %Wg00.7 %Wg00.6 %Wg00.5 %Wg00.4 %Wg00.3 %Wg00.2 %Wg00.1 %Wg00.0 Mnmonique C_DGURG1 C_DGURG8 C_CYCLE1 C_CYCLE8 C_RAZ1 C_RAZ8 C-MODE1 C_MODE8 C_FAST1 C_FAST8 CRM1 CRM8 APPSS1 APPSS8 ARBUT1 ARBUT8 VA1LID1 VALID8 C_FMEXT1 C_FMEXT8 C_AUTAV1 C_AUTAV8
fr-938846/8
17 - 1
17.2.2
Les informations concernant les groupes daxes automates transmises par la fonction CN vers la fonction automatisme sont : Fonction Groupe en dfaut Axe en attente de position Dgagement durgence en cours Cycle en cours RAZ en cours Variable %Rg01.6 %Rg01.5 %Rg01.4 %Rg01.2 %Rg01.0 Mnmonique E_DEF1 E_DEF8 NO_POS1 NO_POS8 E_DGURG1 E_DGURG8 E_CYCL1 E_CYCL8 E_RAZ1 E_RAZ8
17 - 2
fr-938846/7
18.1 Programmation et mise au point avec PLCTOOL 18.2 Mise au point sur la CN
18.2.1 18.2.2 18.2.2.1 18.2.2.2 18.2.2.3 18.2.2.4 18.2.2.5 18.2.3 18.2.4 18.2.4.1 18.2.4.2 18.2.4.3 18.2.4.4 18.2.5 18.2.6 18.2.6.1 18.2.6.2 18.2.6.3 18.2.7 18.2.8 Procdure dAccs lutilitaire Contrle du fonctionnement de l'unit centrale Etat automate Activit des tches de fond Activit des tches hard Commande de l'unit centrale Raz des variables sauvegardes Temps moniteur et tches %TS Gestion des fichiers Formatage du volume Rpertoire de lapplication Suppression de fichier Validation - invalidation de la liaison PLCTOOL Configuration des Entres/Sorties Sauvegarde et Archivage du logiciel Dchargement du logiciel Vrification du dchargement Chargement du logiciel Chargement/dchargement de fichier vers PLCTOOL Animation ladder
18-3 18-3 18-3 18-5 18-6 18-8 18-8 18-8 18-10 18-11 18-13 18-14 18-15 18-16 18-16 18-17 18-20 18-21 18-21 18-21 18-22 18-22
18
fr-938846/7
18 - 1
18 - 2
fr-938846/6
18.1 18.2
Lutilitaire 7 rsident en mmoire, permet la gestion de lapplication automate et la liaison avec latelier logiciel PLCTOOL pour le chargement / dchargement des fichiers.
18.2.1
Conditions requises Lutilitaire 7 ne ncessite pas de condition particulire daccs. Actions Slectionner le menu des utilitaires Le menu UTILITAIRES CN est affich lcran. Slectionner le menu PROGRAMMES UTILITAIRES PRESENTS Un menu listant les utilitaires prsent en mmoire CN est affich lcran. Choisir ventuellement la langue dans laquelle les programmes utilitaires seront dits. Frapper A pour Anglais. Ou Frapper F pour Franais. Le menu est dit dans la langue choisie. Slectionner lutilitaire 7.
18
&
UTIL
fr-938846/6
18 - 3
GESTION DE LAPPLICATION AUTOMATE Fonctionnement de lautomate Temps moniteur et %TS Gestion des fichiers Configuration des E/S Sauvegarde/archivage du logiciel Animation
CTRL
S
X OFF
18 - 4
fr-938846/6
18.2.2
Cette fonction permet de visualiser des informations concernant le fonctionnement de l'unit centrale. Conditions requises Menu GESTION DE LAPPLICATION AUTOMATE lcran. Actions Frapper au clavier F pour Fonctionnement de lautomate. Visualisation du menu FONCTIONNEMENT DE LAUTOMATE.
18
FONCTIONNEMENT DE LAUTOMATE Etat automate : MARCHE (Pas de dfaut) Activite TF : ( 0-7 ) 0 0 0 0 0 0 0 ( 8-15 ) 0 0 0 0 0 0 0 Activite TH : ( 0-7 ) 0 0 0 0 0 0 0 ( 8-15 ) 0 0 0 0 0 0 0 Commandes : Depart / Stop / Init Raz variables sauvegardees
../..
0 0 0 0
RACINE
Abandon de la procdure Frapper sur la touche F11. Retour au menu GESTION DE LAPPLICATION AUTOMATE.
RACINE
fr-938846/6
18 - 5
18.2.2.1
Etat automate
LEtat automate renseigne en permanence sur ltat de fonctionnement de l'unit centrale. Les messages visualiss dans cette zone sont spcifi dans le tableau ci aprs. Etat automate MARCHE Messages Pas de dfaut Dfaut configuration bus E/S Commentaire Fonction automatisme en fonctionnement correct Cause : Prsence d'une carte non reconnue. Absence d'une carte sur le bus. Divergence entre configuration programme et configuration relle. Programmation du chien de garde incorrecte. Action corrective Vrifier la configuration des entres/sorties (Voir 18.2.5). Controler l'tat de %R97F.B (Voir 3.8.5). Vrifier le %INI dans le programme client (Variables de configuration carte et chien de garde). Cause : Dfaut de liaison sur le bus. Action corrective Controler l'tat du status bus %Rrc39.B (Voir 3.7.3). Vrifier la continuit de l'anneau fibre optique. Contacter le SAV NUM.
Etat automate ARRET Messages Dfaut interne moniteur Commentaire Cause : Dfaut interne grave. Action corrective Contacter le SAV NUM. Cause : Dpassement de la HTR (boucle dans programme) Action corrective Reprendre le programme client. Cause : Dfaut interne grave. Action corrective Contacter le SAV NUM.
18 - 6
fr-938846/6
Commentaire Cause : Prsence d'une carte non reconnue. Absence d'une carte sur le bus. Divergence entre configuration programme et configuration relle. Programmation du chien de garde incorrecte. Action corrective Vrifier la configuration des entres/sorties (Voir 18.2.5). Controler l'tat de %R97F.B (Voir 3.8.5). Vrifier le %INI dans le programme client (Variables de configuration carte et chien de garde). Cause : Dfaut de liaison sur le bus. Action corrective Controler l'tat du status bus %Rrc39.B (Voir 3.7.3). Vrifier la continuit de l'anneau fibre optique. Contacter le SAV NUM. Cause : Nombre d'entres/sorties suprieure aux limites du systme. Action corrective Rduire le nombre de carte entres/sorties dans les limites autorises.
18
Cause : Dfaut interne grave. Action corrective Contacter le SAV NUM. Erreurs dans module TSi / TFi / THi / SPi / Cause : code C / ??? Problmes au chargement (module trop grand, pas assez de place en mmoire locale pour charger le module). Action corrective Rduire la taille du module. Augmenter la taille de la mmoire locale. Si ???, contacter le SAV NUM. Module C : double exportation de symboles Cause : Double exportation de symboles dans un module C. Action corrective Vrifier et modifier le module C. Double dfinition du module TSi / TFi / THi / SPi / Cause : code C / ??? Un module de mme nom est prsent deux fois dans l'application. Action corrective L'application client doit tre compose de module de nom diffrent. Mettre en conformit l'application client. Si ???, contacter le SAV NUM.
fr-938846/7
18 - 7
A l'excution du code client Un message sur trois lignes est visualis. Ligne 1 : Ligne 2 : Ligne 3 : Libell du message. Donne la tche mise en cause TSi / THi / TFi / INI Donne le module mis en cause Module : *.*[@ relative par rapport au dbut du module] ou Module : ??? [@ relative par rapport au dbut du mapping moniteur AP].
REMARQUE : Les adresses relatives par rapport au dbut du module ne sont exploitables que pour les modules C (*.XCX). Le fichier *.MAP de l'application C donne ces adresses.
Messages Code client : Dbordement sur division Commentaire Cause : Dbordement signal sur une division Action corrective Vrifier et modifier le module mis en cause. Si ???, contacter le SAV NUM. Cause : Opration sur une adresse interdite. Action corrective Vrifier et modifier le module mis en cause. Si ???, contacter le SAV NUM. Cause : Utilisation de fonctions ou de symboles incohrent dans le programme client. Programme client incohrent Action corrective Vrifier et modifier le module mis en cause. Si ???, contacter le SAV NUM.
18.2.2.2
Lactivit des tches de fond est visualise par 16 compteurs, associs aux tches %TF0 %TF15. A chaque traitement total ou partiel dune tche de fond, pendant un cycle HTR, le compteur de la tche est incrment de un. Cette fonction permet de visualiser les tches en sommeil, en cours dexcution, le nombre de cycle HTR ncessaire lexcution dune tche, .. etc ... 18.2.2.3 Activit des tches hard
Lactivit des tches hard est visualise par 16 compteurs, associs aux tches %TH0 %TH15. A chaque traitement dune tche hard, son compteur est incrment de un. 18.2.2.4 Commande de l'unit centrale
Les commandes DEPART, STOP et INIT permettent dintervenir sur le fonctionnement de l'unit centrale pendant la mise au point du programme utilisateur.
18 - 8
fr-938846/7
Conditions requises Menu FONCTIONNEMENT DE LAUTOMATE lcran. Actions Frapper au clavier la commande choisie. (Voir tableau ci-aprs) Opration raliser Mise en marche de l'unit centrale Arrt de l'unit centrale Commande Frapper D pour Dpart Frapper S pour Stop
Initialisation du systme
Remarque Armement du chien de garde. Droulement du programme utilisateur. Retombe du chien de garde. Arrt du programme utilisateur. Ltat ARRET est spcifi dans la page dcran. Ncessite un arrt de l'unit centrale. Ralise : - leffacement de tous les dfauts, - linitialisation des Entres/Sorties.
18
Au dassemblage du code client (contrle des appels fonctions) Messages Nom de module inconnu Commentaire Cause : Un pointeur mal initialis dans un modole C dtruit une zone de code Action corrective : Localiser le module C et apporter les modifications ncessaires. Cause : Un pointeur mal initialis dans un module C dtruit une zone de code Action corrective : Localiser le module C et apporter les modifications ncessaires.
A l'activation du contrle des appels fonctions (PLCTOOL) Messages Accs une zone interdite Commentaire Cause : Le paramtre d'adresse d'une fonction ladder ou C pointe dans une zone autre qu'une zone de donnes Action corrective : Editer le module mis en cause et modifier la fonction en dfaut Cause : L'application charge contient plus de 512 zones de donnes non contigu Action corrective : Regrouper les composants chanes et constantes les uns la suite des autres.
fr-938846/7
18 - 9
18.2.2.5
Cette fonctionnalit permet une remise zro des variables sauvegardes (%M). Conditions requises Menu FONCTIONNEMENT DE L'AUTOMATE affich l'cran. Actions Frapper au clavier la commande S.
FONCTIONNEMENT DE L'AUTOMATE Etat automate : ARRET (Pas de dfaut) Activite TF : ( 0-7 ) 0 0 0 0 0 0 0 ( 8-15 ) 0 0 0 0 0 0 0 Activite TH : ( 0-7 ) 0 0 0 0 0 0 0 ( 8-15 ) 0 0 0 0 0 0 0 Commandes : Depart / Stop / Init Raz variables sauvegardees
../..
0 0 0 0
RACINE
Frapper au clavier la commande R. Le message Etes-vous sur ? (O/N) est affich l'cran. Valider la Raz par la commande O. ou Annuler la Raz par la commande N. Relancer l'automate per la commande D. Abandon de la procdure Frapper sur la touche F11. Retour au menu GESTION DE L'APPLICATION AUTOMATE.
RACINE
18 - 10
fr-938846/6
18.2.3
Cette rubrique permet de visualiser le pourcentage du temps occup par le moniteur et les tches %TS chaque cycle automate. On y observe : - le temps moyen occup par le moniteur chaque cycle, - le temps maximum occup par le moniteur , - le temps moyen occup par chaque tche %TS, - le temps maximum occup par chaque tche %TS, - les dpassements de temps de calcul chaque cycle. Conditions requises Menu GESTION DE LAPPLICATION AUTOMATE lcran. Actions Frapper au clavier T pour Temps moniteur et %TS. Visualisation du menu CONSOMMATION MONITEUR + %TS.
18
Moniteur Moyenne: 0% Max: 0% Dpassement temps de calcul: 0 TS0: Moyenne: 0% Max: 0% TS3: Moyenne: 0% Max: 0% Moniteur TS0: TS4: Moyenne: Moyenne: Moyenne: 0% 0% 0% Max: Max: Max: 0% Dpassement temps de calcul: 0 0% 0%
Moniteur Moyenne: 0% Max: 0% Dpassement temps de calcul: 0 TS0: Moyenne: 0% Max: 0% TS5: Moyenne: 0% Max: 0% Commandes: Valider / RaZ Max
../.. RACINE
Le pourcentage est calcul par rapport au temps allou au moniteur et au programme client, soit : - 18 ms en srie I et srie II biprocesseur, bien que la HTR soit de 20 ms car 2 ms sont rserves par le systme (Voir 2.1) - Valeur de P99 en ms en srie II UCSII.
fr-938846/6
18 - 11
Acquisition des mesures Frapper au clavier V pour valider l'acquisition des mesures. Les valeurs de consommations du moniteur et des tches %TS sont mises jour. Arrter les mesures Frapper au clavier I pour inhiber l'acquisition des mesures. Les valeurs de consommations du moniteur et des tches %TS sont remises zro. RAZ des maxima Frapper au clavier R pour une remise zro des maxima Les consommations maximales du moniteur et des tches %TS sont remises zro. Abandon de la procdure Frapper sur la touche F11. Retour au menu GESTION DE LAPPLICATION AUTOMATE.
RACINE
18 - 12
fr-938846/6
18.2.4
Permet la gestion des informations concernant les fichiers chargs dans la fonction automatisme. Conditions requises Menu GESTION DE LAPPLICATION AUTOMATE lcran. Actions Frapper au clavier G pour Gestion des fichiers. Visualisation du menu GESTION DES FICHIERS AUTOMATE.
18
Inhibition de la liaison PLCTOOL Repertoire de lapplication Suppression de fichier Formatage du volume AP : 12040 utilises / 173884 libres -- Entrer une commande ( Sortie F11 ) -../.. RACINE
Linformation AP renseigne sur les tailles mmoires utilises et libres (En octets). Abandon de la procdure Frapper sur la touche F11. Retour au menu GESTION DE LAPPLICATION AUTOMATE.
RACINE
fr-938846/6
18 - 13
18.2.4.1
Formatage du volume
Cette commande permet dinitialiser la mmoire automate et de supprimer tous les fichiers en mmoire. Actions Frapper au clavier F pour Formatage du volume.
Le message Redemarrage systme applic detruite, confirmer : (O) est affich. Confirmer la Suppression de tous les fichiers en mmoire
../..
RACINE
Relancer le systme en acquittant les messages successifs. Abandon de la procdure Frapper sur la touche F11. Retour au menu GESTION DE LAPPLICATION AUTOMATE.
RACINE
18 - 14
fr-938846/6
18.2.4.2
Rpertoire de lapplication
Cette page dinformation permet de visualiser tous les fichiers chargs dans les secteurs de l'unit centrale. Actions Frapper au clavier R pour Rpertoire de lapplication. Visualisation du menu REPERTOIRE DE LAPPLICATION.
18
REPERTOIRE DE L'APPLICATION TS0 .XLA 1538 Octets 24/9/1992 16/51/50
Frapper une touche quelconque. Retour au menu GESTION DES FICHIERS AUTOMATE. ou Frapper sur la touche F11. Retour au menu GESTION DE LAPPLICATION AUTOMATE.
RACINE
fr-938846/6
18 - 15
18.2.4.3
Suppression de fichier
Permet la suppression de fichiers prsent en mmoire automate. Actions Frapper au clavier S pour Suppression de fichier. Le message Nom de fichier ? est affich. Frapper le nom du fichier supprimer [Nom du secteur].[Type de fichier]. (Exemple : TS0.XLA) Le message fichier supprim est affich. Abandon de la procdure Frapper sur la touche F11. Retour au menu GESTION DES FICHIERS AUTOMATE. 18.2.4.4 Validation - invalidation de la liaison PLCTOOL
RACINE
Cette fonction permet de valider ou dinvalider la liaison srie avec le logiciel PLCTOOL pour le chargement/ dchargement de fichier et pour la fonction DEBUG ON LINE. Validation de la ligne La ligne de menu Validation de la liaison PLCTOOL est affiche. Frapper au clavier V pour valider la ligne. La ligne de menu devient Invalidation de la liaison PLCTOOL. Invalidation de la ligne La ligne de menu Invalidation de la liaison PLCTOOL est affiche. Frapper au clavier I pour invalider la ligne. La ligne de menu devient Validation de la liaison PLCTOOL.
18 - 16
fr-938846/6
18.2.5
Le menu de configuration des Entres/Sorties permet de visualiser : - le type de rack prsent dans le systme, - le type de carte prsente dans chaque rack. Conditions requises Menu GESTION DE LAPPLICATION AUTOMATE lcran. Actions Frapper au clavier C pour Configuration des E/S. Visualisation du menu CONFIGURATION DES E/S.
18
../..
RACINE
De 1 6
fr-938846/6
18 - 17
Identification des cartes Frapper au clavier la commande C [N du rack] [N de la carte]. visualisation en ligne de dialogue, des messages : Type de rack P8, P4 et E12 N de carte 0 Messages Alim. 130 W avec fibre optique Alim. 130 W sans fibre optique Alim. 60 W avec fibre optique Alim. 60 W sans fibre optique Carte pupitre de base Carte pupitre extension Cartes 32 sorties relais Carte 32 entres continue Carte 32 entres 24 sorties Carte 64 entres - 48 sorties Carte 32 entres - 24 sorties# Carte absente !
RACINE
18 - 18
fr-938846/6
Exemple Identification du rack 0 et des cartes adresses 5, 8 et B qui lquipent Menu GESTION DE LAPPLICATION AUTOMATE lcran. Frapper au clavier C pour Configuration des E/S. Visualisation du menu CONFIGURATION DES E/S.
18
../..
RACINE
Visualisation, en ligne de dialogue, du message R0 : Rack principal 8 emplacements. Frapper au clavier la commande C05. Visualisation en ligne de dialogue, du message Cartes 32 sorties relais. Frapper au clavier la commande C08. Visualisation en ligne de dialogue, du message Carte absente !. Frapper au clavier la commande C0B. Visualisation en ligne de dialogue, du message Carte 32 entres continue.
fr-938846/6
18 - 19
18.2.6
Ce module permet via une ligne srie de l'unit centrale : - darchiver le programme utilisateur sur un priphrique (lecteur de disquettes ou un lecteur/perforateur de bandes), - de vrifier le programme archiv par rapport la source, - de restituer le programme archiv. Conditions requises Vitesse de transmission conforme et paramtres de communications correct sur le priphrique. CN connecte au priphrique (sur une ligne srie de l'unit centrale) Menu GESTION DE LAPPLICATION AUTOMATE lcran. Actions Frapper au clavier A pour Archivage du logiciel. Visualisation du menu ARCHIVAGE DE LAPPLICATION.
ARCHIVAGE DE LAPPLICATION
Abandon de la procdure Frapper sur la touche F11. Retour au menu GESTION DE LAPPLICATION AUTOMATE.
RACINE
18 - 20
fr-938846/6
18.2.6.1 Actions
Dchargement du logiciel
Mettre le priphrique en mode dchargement. Frapper au clavier D pour Dchargement du logiciel. Le message Dchargement en cours est affich. Disparition du message en fin de dchargement. Abandon de la procdure Frapper sur la touche F11. 18.2.6.2 Actions Frapper au clavier V pour Vrification du dchargement. Le message Attente vrification est affich. Mettre le priphrique en mode chargement. Le message Chargement en cours est affich. Disparition du message en fin de chargement. Abandon de la procdure Frapper sur la touche F11. 18.2.6.3 Actions Frapper au clavier C pour Chargement du logiciel. Le message Attente chargement est affich. Mettre le priphrique dans le mode appropri la vrification de la sauvegarde. Le message Vrification en cours est affich. Disparition du message en fin de vrification. Abandon de la procdure Frapper sur la touche F11. Chargement du logiciel Vrification du dchargement
RACINE
18
RACINE
RACINE
fr-938846/6
18 - 21
18.2.7
Pour plus de prcision, se reporter au manuel PLCTOOL - Outil de programmation langage ladder. Vrifier ltat du paramtre P112 (Voir Manuel des paramtres). Vrifier que la liaison PLCTOOL est valide (Voir 18.2.4.4). Harmoniser les vitesses de transmission entre la CN et le micro-ordinateur. Installer un cble de liaison entre la ligne srie paramtre et le micro-ordinateur. Lancer la procdure de chargement ou de dchargement partir du logiciel PLCTOOL.
L'animation ladder permet la visualisation dynamique des contacts ladder d'un programme automate. On a ainsi une visualisation graphique de l'volution d'un rseau de contact. Conditions requises Menu GESTION DE LAPPLICATION AUTOMATE lcran. Actions Frapper au clavier A pour Animation. Visualisation du Repertoire LADDER.
Repertoire LADDER
Nom TS0 .XLA Taille 2674 Date 08/07/94 Heure 13:28:13
QUIT
18 - 22
fr-938846/6
Slectionner le module animer l'aide des touches de direction puis valider. Visualisation de la grille ladder animer.
A n i m a t i o n
L A D D E R
T S 0 . X L A
0 / 1 6
Symboles :
No. etape : 0
Taille : 2674 Commentaire : Programme minimum NO1 Texte : Valeur : %W4.7 %W4.O %W4.3 %W100.1 %W100.O %W200.5
18
FICH. RECH.
OPTION DEC
A l'ouverture, le composant visualis est anim. En animation, le champ Var.etap devient Etape cour et permet de visualiser la valeur courante de la variable d'tape. Si cette valeur est gale au N d'tape (composant passant) ou si aucune variable d'tape n' t dfinie, le fond du champ prend la couleur active. Interprtation des couleurs Etat Actif Inactif Indtermin Moniteur couleur Rouge Noir Clignotant Moniteur monochrome Blanc Noir Clignotant
fr-938846/6
18 - 23
Naviguer dans l'application Opration raliser Dplacer le focus sur l'objet suivant Se dplacer dans la grille ladder Visualiser le composant ladder suivant Visualiser le composant ladder prcdent Visualiser le dernier composant ladder Visualiser le premier composant ladder Arrt de l'animation Frapper sur la touche F9. Commandes ou
SHIFT
ou
SHIFT
ou ou
SHIFT
Focus sur la grille ladder puis Focus sur l'ascenseur puis Focus sur l'ascenseur puis Focus sur l'ascenseur puis Focus sur l'ascenseur puis
Pg Dn
ou
ou
Pg Up
End
Home
OFF
L'animation ladder est arrt. Le cartouche permet l'accs une nouvelle touche EFFACER. Initialiser la grille ladder Frapper sur la touche F8. Tous les lments de la grille ladder sont forcs l'tat inactif.
EFFACER
18 - 24
fr-938846/6
Charger un nouveau module ladder Frapper sur la touche F2. Visualisation du Repertoire LADDER.
FICH
Repertoire LADDER
Nom TS0 .XLA Taille 2674 Date 08/07/94 Heure 13:28:13
18
QUIT Slectionner le module animer l'aide des touches de direction puis valider.
ON
DEC
HEX
fr-938846/6
18 - 25
Quadrillage des cellules Frapper sur la touche F6. Visualisation d'une nouvelle barre de menu Frapper sur la touche F2. Ou Frapper sur la touche F2. Validation ou invalidation d'un quadrillage au dimension des cellules Rechercher un composant Frapper sur la touche F3. Ouverture de la bote de dialogue Recherche
OPTION
QUADRI. ON
QUADRI. OFF
RECH.
A n i m a t i o n
L A D D E R
% T S 0 . X L A
0 / 1 6
Symboles :
No. etape : 0
Taille : 2674 Commentaire : Programme minimum NO1 Texte : Valeur : %W4.7 Recherche Numro de squence : %W4.O %W4.3 %W100.1 %W100.O %W200.5
ANNUL. Saisir le numro du composant atteindre Le composant spcifi est visualis. Annuler la procdure Frapper sur la touche F11.
ANNUL.
18 - 26
fr-938846/6
Ecrire une variable Frapper sur la touche F10. Ouverture de la bote de dialogue Ecriture ?
ECRIT.
A n i m a t i o n
L A D D E R
% T S 0 . X L A
0 / 1 6
Symboles :
No. etape : 0
Taille : 2674 Commentaire : Programme minimum NO1 Texte : Valeur : %W4.7 Ecriture Ecrire : %W4.O %W4.3 %W100.1 %W100.O %W200.5
18
REMARQUE : Toutes les variables sont accessibles en criture sauf les variables d'entres %Ixx.x.
Annuler la procdure Frapper sur la touche F11. Abandon de la procdure Frapper sur la touche F11. Retour au menu GESTION DE LAPPLICATION AUTOMATE.
ANNUL.
QUIT
fr-938846/6
18 - 27
18 - 28
fr-938846/6
Dfauts et diagnostic
19 Dfauts et diagnostic
ERR_BUS_SBCE :
ERR_CONFIG_SBCE :
ERR_HTR :
19
fr-938846/6
19 - 1
19 - 2
fr-938846/6
A-3 A-3 A-4 A-4 A-4 A-4 A-5 A-5 A-5 A-5 A-5 A-5 A-6
fr-938846/7
A-1
A-2
fr-938846/7
A.1
A.1.1
Fonction atoi() atoj() bcd_bin() bin_bcd() bit() call() cpyarg() cpyb() cpyl() cpyw() diagiq() goto() itoa() itostr() oct() putkey() qcktool() R_E42000 rchb() rchl() rchw() return() sema() setb() setl() setw() sp() sprintf() spy() sqrt() sscanf() strcmp() strcpy() strlen() swapl() swapw() tooldyn()
fr-938846/7
A-3
A.1.2
Fonction csbegin() csend() tfstart() tfstop() whtr()
A.1.3
Fonction inig() pcur() print() printf() putchar() putimage() puts() scanc() scand() scano() scans() scanu() scanx()
Mode transparent
Dsignation Init graphique Positionnement du curseur Affichage dun tampon Affichage dune chane avec formatage Affichage dun caractre Positionnement et affichage dune image Affichage dune chane sans formatage Fermeture dune acquisition clavier Acquisition et conversion dun nombre dcimal Ouverture dune acquisition clavier Acquisition dune chane Ouverture dune acquisition clavier numrique Acquisition et conversion dun nombre hexadcimal Page 8-17 8-7 8-8 8-9 8-7 8-16 8-8 8-16 8-14 8-12 8-13 8-13 8-15
A.1.4
Fonction anaa() anai() anao() anas()
A.1.5
Fonction read_i() write_q()
A-4
fr-938846/7
A.1.6
Fonction iti_gr() itictl() itiget() thiti()
A.1.7
Fonction comctl() comf() comin() comout() comreg()
A.1.8
Fonction thtimer()
A.1.9
Fonction tmget() dtget()
Gestion du dateur
Dsignation Lecture de la date courante Lecture de la date courante avec jour de la semaine Page 14-1 14-2
A.1.10
Fonction neti() neto() netst_ad uniti() unito() setcomw
A.1.11
Fonction exec() exechdl()
fr-938846/7
A-5
A.2
Fonction anaa() anai() anao() anas() atoi() atoj() bcd_bin bin_bcd bit() call() comctl() comf() comin() comout() comreg() cpyarg() cpyb() cpyl() cpyw() csbegin() csend() diagiq() dtget() exec() exechdl() goto() inig() itictl() itiget() iti_gr() itoa() itostr() neti() neto() netst_ad oct() pcur() print() printf() putchar()
A-6
fr-938846/7
Fonction putimage() putkey() puts() qcktool() rchb() rchl() rchw() read_i() return() R_E42000 scanc() scand() scano() scans() scanu() scanx() sema() setb() setcomw setl() setw() sp() sprintf() spy() sqrt() sscanf() strcmp() strcpy() strlen() swapl() swapw() tfstart() tfstop() thiti() thtimer() tmget() tooldyn() uniti() unito() whtr()
Dsignation Positionnement et affichage dune image Simulation du clavier du pupitre Affichage dune chane sans formatage Recherche circulaire optimale Recherche de la valeur dun octet Recherche de la valeur dun long mot Recherche de la valeur dun mot Lecture explicite dune carte entre Retour au module ou au rseau appelant Lecture de n variables E42000 Fermeture dune acquisition clavier Acquisition et conversion dun nombre dcimal Ouverture dune acquisition clavier Acquisition dune chane Ouverture dune acquisition clavier numrique Acquisition et conversion dun nombre hexadcimal Smaphore Ecriture dun ou plusieurs octets Configuration du service mots communs Ecriture dun ou plusieurs long mots Ecriture dun ou plusieurs mots Appel dun module %SP Formatage dune chane de caractres Appel dun module %SP avec variables locales %Y Racine carre entire Analyse dune chane ASCII Comparaison dune chane de caractres Copie dune chane de caractres Calcul de la longueur dune chane Echange les quatre octets dun long mot Echange les octets pair et impair dun mot Dpart dune tche %TF Arrt dune tche %TF Association tche %TH avec une entre IT Association tche %TH avec un timer Lecture de la date courante Correction dynamique dun outil Lecture dune rponse en interne Emission dune requte en interne Mise en sommeil temporaire dune tche %TF
Page 8-16 6-15 8-8 6-15 6-16 6-17 6-16 10-3 6-18 6-31 8-16 8-16 8-12 8-13 8-13 8-15 6-20 6-20 15-39 6-22 6-21 6-22 6-24 6-23 6-25 6-25 6-26 6-27 6-27 6-29 6-28 7-4 7-4 11-9 13-1 14-1 6-30 15-30 15-29 7-3
fr-938846/7
A-7
Dsignation Ecriture explicite dune carte sortie Ecriture de n variables E42000 Initialisation de la base associe aux variables %Y
A-8
fr-938846/7
Index
Index
Symboles
%I Organisation ,3-15 %INI ,2-5 %Irc39.B ,3-11 %Irc3A.W ,3-11 %Irc3C.W ,3-11 ,3-20 ,3-25 %Irc3E.W ,3-10 ,3-18 ,3-19 ,3-20 ,3-22 ,3-24 ,3-25 %Q Organisation ,3-15 %Qrc3B.0 ,3-14 %Qrc3B.1 ,3-14 %Qrc3C.B ,3-13 %Qrc3D.B ,3-12 %Qrc3E.W ,3-12 %R0.W ,3-29 ,8-4 %R12.W ,3-33 %R14.0 ,3-35 %R14.1 ,3-35 %R15.B ,3-34 %R16.B ,3-34 %R17.B ,3-35 %R18.B ,3-35 %R19.B ,3-35 %R1A.W ,3-35 %R1C.W ,3-36 %R2.W ,3-29 %R22.W ,3-36 %R24.L ,3-36 %R4.W ,3-30 %R6.L ,3-31 %R97C.W ,3-65 %R97F.0 ,3-65 %R97F.1 ,3-65 %R97F.2 ,3-65 %RA.L ,3-32 %RE.L ,3-32 %Rg00.W ,3-53 %Rg02.B ,3-54 %Rg03.B ,3-54 %Rg04.W ,3-55 %Rg1E.W ,3-55 %Rg20.L ,3-56 %Rg24.W ,3-58 %Rg7C.L ,3-59 %S ,3-68 Organisation ,3-69 %TF ,2-6 %TH ,2-9 %TS ,2-5 %W13.B ,3-42 %W14.B ,3-42 %W15.B ,3-42 %W16.B ,3-42 %W17.B ,3-43 %W18.W ,3-43 %W1A.B ,3-44 %W1E.B ,3-44 %W2.W ,3-38 %W21.B ,3-44 %W22.W ,3-45
%W24.W ,3-45 %W2A.W ,3-45 %W2C.W ,3-48 %W30.L ,3-49 %W34.L ,3-50 %W38.0 ,3-50 %W3A.L ,3-51 %W4.W ,3-39 %W6.L ,3-40 %W900.0 ,3-66 %WA.L ,3-41 %WE.L ,3-41 %WE00.B WE1F.B ,3-51 %Wg00.W ,3-61 %Wg02.B ,3-65 %Wg03.B ,3-62 %Y ,3-70
Autorisation accs CN ,3-14 Axe blocable ,3-36 Axes automates ,17-1 Axes en mouvements ,3-31 Axes initialiss ,3-32
B
bcd_bin ,6-5 bin_bcd ,6-6 bit ,6-7 Blocage d'axes ,3-59 Boucle dans programme ,2-10 ,2-11 Broches en position ,3-33
C
Calcul longueur chane ,6-27 call ,6-19 Caractre Alphanumrique ,8-25 Cod ,8-5 Non soulign ,8-27 Normal ,8-27 Soulign ,8-27 Surbrillance ,8-27 Caractres clavier ,3-29 Carte 32 entres TOR ,3-18 Carte 32 sorties TOR ,3-19 Carte 32-24 I/O ,3-20 Carte 32E 24S TOR ,3-20 Carte 64-48 I/O ,3-22 Carte analogique Redirection ,9-7 Carte dextension Pupitre machine ,3-25 Cellule F_T ,5-8 Cellule R_T ,5-8 Chane de caractres ,2-16 Champ Coercition ,3-8 Indexation ,3-7 Numro logique ,3-6 Symbole ,3-6 Taille ,3-7 Changement de signe ,4-9 Chargement fichier ,18-22 Chargement logiciel ,18-21 Chien de garde ,3-14 Chiffre ,4-4 Chiffre_hexa ,4-4 comctl ,12-11 comf ,12-4 comin ,12-7 Commande de l'UC ,18-8 Commandes Broches ,3-45 Commandes Groupe ,3-61 Commandes Impulsionnelles ,3-38 Commandes JOG Ngatif ,3-41 Commandes JOG Positif ,3-40 Commandes Maintenues ,3-39 Commentaire ,4-3 Communication distante ,15-3 Communication locale ,15-3 comout ,12-6
A
Acquisition Chane ,8-13 Nombre dcimal ,8-14 Nombre hexadcimal ,8-15 Action conditionnelle ,5-9 Activation Etapes grafcet ,5-4 Activit tches de fond ,18-8 Activit tches hard ,18-8 Adressage indirect ,3-70 Adresse logique gographique ,3-12 Affectation des lignes ,11-5 Affectation manivelle ,3-44 Affectation_numrique ,4-3 ,4-4 ,5-9 ,5-15 Affichage Caractre ,8-7 Chane ,8-8 chane ,8-9 Image ,8-16 Message ,3-42 Tampon ,8-8 anaa ,9-7 anai ,9-6 Analogique Entres/sorties ,9-3 Analyse chane ASCII ,6-25 anao ,9-5 anas ,9-3 Animation ,8-34 Arrt ,18-24 Animer module ,18-25 anomalies de fonctionnement ,2-10 Appel Module %SP ,6-22 ,6-23 Module excutable ,16-3 Appel_fonction ,4-3 ,4-4 ,5-9 ,5-15 Archivage logiciel ,18-20 Arrt d'avance par axe ,3-51 Arrt dune tche %TF ,7-4 Association %TH - IT ,11-9 Association %TH/timer ,13-1 Association IT/groupes daxes ,11-5 atoi ,6-3 atoj ,6-4
fr-938846/8
I-1
Comparaison ,4-3 Comparaison chane ,6-26 Comparaison_numrique ,5-8 Compilateur MCC68K ,1-6 Compteur dfaut dialogue ,3-11 Compteurs ,5-12 comreg ,12-10 Concatnation Octet -> bit ,6-13 Configuration Carte ,3-10 E/S analogiques ,9-3 Entre interruption ,11-6 Entres/Sorties ,18-17 Mots communs ,3-69 Service mots communs ,15-39 Consigne de vitesse de broche ,3-45 Constitution des objets ,15-9 Construction dun rseau ,5-18 Contact ,5-7 Contrle de flux ,12-12 Contrle de l'UC ,18-5 Contrle du pilote ligne srie ,12-11 Conversion Chane ASCII ,6-3 ,6-4 Nombre dcimal ,8-14 Valeur entire non signe ,6-12 Valeur entire signe ,6-12 conversion Nombre hexadcimal ,8-15 Conversion dune chane ASCII ,6-4 Copie Chane de caractres ,6-27 Long mot ,6-11 Mot ,6-10 Octet ,6-9 Correction doutil ,6-30 couple axes QVN ,3-50 cpyarg ,6-8 cpyb ,6-9 cpyl ,6-11 cpyw ,6-10 csbegin ,7-3 csend ,7-3 CTD_n ,5-12 CTU_n ,5-12 Curseur Dplacement ,8-28 Fixe ,8-28 Non visible ,8-28 Cycle dusinage en cours ,3-54
Dfauts matriel ,19-1 Dfauts systme ,3-65 Demandeur ,15-4 Dpart dune tche %TF ,7-4 Drivations ,5-14 diagiq ,6-11 Diagnostic carte ,3-10 DNC1000 ,15-3 Donnes non sollicits ,15-6 Donnes standards ,16-8 dtget ,14-2
E
E30xxx ,3-66 E33xxx ,3-14 E40xxx ,3-67 E42000 ,6-31 ,6-32 E42xxx ,3-67 E43xxx ,3-14 Echange Avec station distante ,15-34 Octets dun long mot ,6-29 Octets dun mot ,6-28 Protocole ,15-3 Echanges ,3-5 Eclatement BIT -> octet ,6-7 Ecriture Cartes sorties ,3-66 E42000 ,6-32 Long mot ,6-22 Mot ,6-21 Octet ,6-20 Sortie analogique ,9-5 Ecriture explicite Carte sortie ,10-4 Effacement ,8-29 Elments communs Squences ,5-3 Elments littraux ,4-3 Emission dun tampon ,12-6 Emission dune requte ,15-29 ,15-34 En-tte ,5-3 En-tte de squence ,2-15 Entier_immdiat ,4-4 Entiers immdiats ,4-7 Entits littrales ,4-3 ,4-4 Entre analogique ,9-3 Entre bornier ,16-8 Entres CN ,3-29 ,3-72 Groupes d'axes ,3-80 Groupes daxes ,3-53 Interruptions ,16-22 Entres/sorties analogiques ,16-20 Envoi de caractres vers lcran ,8-4 Espace alphanumrique ,8-18 Espace graphique ,8-18 Etape ,4-3 Etape grafcet ,2-15 ,5-3 Etat CN ,3-30 Etat des batteries ,3-35 Etat des broches ,3-58 Etat dune ligne srie ,12-10
Etat Fonction G ,3-54 Etat Groupe ,3-53 Etat Machine ,3-29 Etats Tches de fond ,2-6 exec ,16-3 exechdl ,16-4 Exploitation Ecran pupitre ,8-18 EXPORT ,16-9 Exportation dun objet ,16-9 Expression_numrique ,4-4
F
Falling trig ,5-8 Fentre Dfinition ,8-18 Dimension ,8-19 Fermeture acquisition clavier ,8-16 Fichier *.XCX ,2-13 fichier *.XLA ,2-13 Fonction ,4-4 Fonction dateur ,14-1 Fonction M code Avec compte rendu ,3-55 Sans compte rendu ,3-55 Fonction M dcode ,3-56 ,3-58 Fonction timer ,13-1 Fonctionnement %TH ,2-9 Tches de fond ,2-7 Fonctions dchanges par protocole ,16-12 Format de police ,8-26 Format des calculs internes ,4-7 Formatage Chane de caractres ,6-24 Volume ,18-14
G
Gestion de fichiers ,16-26 Gestion de la visu ,8-3 Gestion de rpertoire ,16-30 Gestion dfaut systme ,3-66 Gestion des fichiers ,18-13 Gestion des lignes sries ,16-13 Gestion des tches de fond ,16-22 Gestion du mode transparent ,16-14 goto ,6-19
D
Dateur ,14-1 dactivation Etapes grafcet ,5-4 Dblocage daxes ,3-59 Dbordement ,2-10 ,4-9 Dcalage origine cran ,8-35 Dchargement fichier ,18-22 Dchargement logiciel ,18-21 Dcompteurs ,5-12 dfauts de configuration ,19-1 Dfauts de programmation ,19-1
H
Horloge temps rel ,1-6
I
Icnes ,8-36 Identificateur carte ,3-10 ,3-12 ,3-17 Identificateur rack ,3-17 Identification Module excutable ,16-4 Image des entres ,3-10 Image des sorties ,3-10
I-2
fr-938846/8
Index
IMPORT ,16-10 Importation dun objet ,16-10 Incrment de JOG ,3-34 ,3-42 Incrments de JOG interdits ,3-48 Index ,3-7 inig ,8-17 Init graphique ,8-17 Initialisation ,2-3 Chane ,2-16 Ligne srie ,12-4 Soft ,8-23 Tableau de constante ,2-15 Variables %Y ,6-33 Initialiser grille ladder ,18-24 Instructions graphiques ,8-29 Instructions mode transparent ,8-22 Interprtation des couleurs ,18-23 Interruptions prioritaires ,11-3 Invalidation PLCTOOL ,18-16 iti_gr ,11-5 itictl ,11-6 itiget ,11-8 itoa ,6-12 itostr ,6-12
N
Naviguer dans l'application ,18-24 neti ,15-35 neto ,15-34 netst_ad ,15-40 Nom_fonction ,4-4 Non animation ,8-34 NUM.H ,16-9 NUM.OBJ ,16-9 Numrique_non_sign ,4-4 Numrique_sign ,4-4 Numro de programme demand ,3-43 Numro doutil ,3-59 Numrotation des lignes ,12-3
Prise de cote la vole ,11-3 Programmation en C ,16-5 Promotion des variables ,4-7 Protocole DNC1000 ,15-4 Pupitre compact ,3-27 Pupitre machine ,3-24 putchar ,8-7 putimage ,8-16 putkey ,6-15 putkey() ,8-4 puts ,8-8
Q
qcktool ,6-15
O
Objets accessibles ,15-7 oct ,6-13 Oprateur = ,4-6 Oprateur >> ,4-6 Oprateur combin ,4-6 Oprateur daffectation ,4-6 Oprateur de comparaison ,4-6 Oprateur<< ,4-6 Oprateur_affectation ,4-5 Oprateur_binaire ,4-5 Oprateur_comparaison ,4-4 Oprateur_unaire ,4-4 Ordre des expressions ,4-7 Organisation Variable %I et %Q ,3-15 Variables %R et %W ,3-67 Variables %S ,3-69 Organisation gnrale UC monocarte ,1-5 UC multicarte ,1-4 Ouverture acquisition clavier ,8-12 ,8-13
R
R_E42000 ,6-31 Racine carre ,6-25 Rafrachissement E/S bornier ,2-5 E/S CN ,2-3 Entres/sorties ,1-6 rchb ,6-16 rchl ,6-17 rchw ,6-17 read_i ,10-3 Rception d'un tampon ,12-7 Recherche Circulaire optimale ,6-15 Valeur dun long mot ,6-17 Valeur dun mot ,6-17 Valeur dun octet ,6-16 Recul sur trajectoire ,3-51 Redirection Carte analogique ,9-7 Rduction de courant ,3-51 Rfrence vitesse axes QVN ,3-50 Rfrentiel cran ,8-38 Rfrentiel utilisateur ,8-29 ,8-31 ,8-38 Remplissage zone cran ,8-40 Remplissage zone utilisateur ,8-38 Rpertoire de lapplication ,18-15 Rponse la requte STATUS ,15-40 Requte CLOSE-DIRECTORY ,15-24 Requte DELETE-FILE ,15-19 Requte DIRECTORY ,15-22 Requte LECTURE DE MESSAGES ,1528 Requte OPEN-DIRECTORY ,15-21 Requte READ-BLOCK ,15-25 Requte READ-MEMORY-FREE ,15-20 Requte READ-OBJECT ,15-16 Requte RESERVE-MEMORY ,15-27 Requte WRITE-BLOCK ,15-26 Requte WRITE-OBJECT ,15-18 Requtes de type Objet ,15-7 Requtes UNITE ,2-5 Retour appelant ,6-18 retour sur trajectoire ,3-51 return ,6-18
L
Label ,4-3 Langage C ,16-3 Lecture Date ,14-1 E42000 ,6-31 Entre analogique ,9-6 Entre interruption ,11-8 Paramtres dans pile ,6-8 Rponse ,15-30 ,15-35 Lecture de la date courante avec jour de la semaine ,14-2 Lecture explicite Carte entre ,10-3 Lectures/Ecritures explicites ,16-21 Librairie de fonctions ,16-9 Lignes sries ,12-3
P
Paramtres E10000 E10031 ,3-32 Paramtres E20000 E20031 ,3-41 Paramtres E30xxx, E40xxx et E42xxx ,3-66 pcur ,8-7 Priode auto-test ,6-11 Pointeurs ,3-70 Police cran ,8-26 Porte ,15-6 Positionnement Curseur ,8-7 Espaces ,8-20 ,8-21 Image ,8-16 Potentiomtre de broche ,3-44 Principe des changes ,3-5 print ,8-8 printf ,8-9 Priorit %TH ,2-9 Carte ,3-13 Oprateurs ,4-5 Tches de fond ,2-7
M
main() ,2-13 Mcanisme des changes ,15-5 Message bloquant ,15-29 Message non bloquant ,15-28 Mise au point sur CN ,18-3 Mise en sommeil dune tche %TF ,7-3 Mnmonique ,3-6 ,3-8 Modales ,3-56 Mode demand ,3-42 Mode en cours ,3-34 Mode transparent ,8-3 Modes interdits ,3-49 Module Excutable C ,2-13 module ,2-13 Module ladder Structure ,2-15
fr-938846/8
I-3
T
Tableau de constantes ,2-15 Tche %INI ,2-5 %TF ,2-6 %TH ,11-3 %TS ,2-5 De fond ,2-6 Ladder ,2-13 Priodique ,2-5 Systme ,2-3 Temps rels ,2-9 Utilisateur ,2-5 tche %TH ,2-9 Temporisations ,5-10 Temps moniteur et tches %TS ,18-11 tfstart ,7-4 tfstart (..) ,2-6 tfstop ,7-4 tfstop (..) ,2-6 thiti ,11-9 thtimer ,13-1 Timer ,13-1 tmget ,14-1 TOF_n ,5-10 TON_n ,5-10 tooldyn ,6-30 TP_n ,5-10 Trac de cartouche ,8-40 Trac cran ,8-34 Trac Utilisateur ,8-32 Traitement %TF ,2-8 %TS ,2-8 Requte ,15-5 Transcodage BCD -> binaire ,6-5 binaire > BCD ,6-6 Transfert point courant ,8-35
S
Saut avec retour ,6-19 Saut sans retour ,6-19 scanc ,8-16 scand ,8-14 scano ,8-12 scans ,8-13 scanu ,8-13 scanx ,8-15 Scrutation dun rseau ,5-16 Section critique Dbut ,7-3 Fin ,7-3 Slection couleur ,8-24 ,8-27 Slection du groupe daxes ,3-43 Slection fentre ,8-24 sema ,6-20 Smaphore ,6-20 Squence rseau ,2-16 ,5-7 Squences rseaux ,4-3 Serveur ,15-4 Serveur UNITE ,2-5 setb ,6-20 setcomw ,15-39 setl ,6-22 setw ,6-21 Simulation clavier pupitre ,6-15 Sortie Analogique ,9-3 Bornier ,16-8 CN ,3-38 ,3-75 Groupes d'axes ,3-81 Groupes daxes ,3-61 Sous-programme ladder ,2-13 sp ,6-22 sprintf ,6-24 spy ,6-23 sqrt ,6-25 sscanf ,6-25 Standard RS232 ,12-12 Standard RS422 ,12-13 Standard RS485 ,12-13 Standards de transmission ,12-12 Status bus ,3-11 Status carte ,3-11 strcmp ,6-26 strcpy ,6-27 strlen ,6-27 Structure Application ,2-13 Variable %I ,3-10 Variable %Q ,3-10 Suppression de fichier ,18-16 swapl ,6-29 swapw ,6-28 Synoptique Carte processeur machine ,1-7 Carte UCSII ,1-8
Variable %I ,3-9 %Q ,3-9 %R ,3-29 %R diverse ,3-35 %W ,3-38 %Y ,3-70 ,6-23 Bit ,5-7 Configuration carte ,3-12 Dchange ,8-4 Diagnostic carte ,3-10 Long mot ,4-7 Mot ,4-7 Mots communs ,3-68 Non sauvegarde ,3-8 ,16-7 Octet ,4-7 Rserve ,3-67 Sauvegarde ,3-8 ,16-7 Variable % Reprsentation ,3-6 Variable_bit ,4-3 ,4-4 ,5-15 Variable_numrique ,4-4 Vrification dchargement ,18-21 Vitesse de broche ,3-36
W
W_E42000 ,6-32 W1D.B ,3-44 whtr ,7-3 whtr(..) ,2-7 write_q ,10-4
X
Xon/Xoff ,12-12
Y
y_init ,6-33
Z
Zone action ,4-4 ,5-15 Zone dchange ,3-5 ,3-72 Zone dchanges ,16-7 Zone test ,4-3 ,5-7 ,5-9
U
uniti ,15-30 unito ,15-29 Utilisation Chane ,2-16 Tableau de constante ,2-15 Utilitaire 7 ,18-3
V
Valeur potentiomtre davance ,3-62 Validation cran Configuration PCNC ,3-35 Validation PLCTOOL ,18-16
I-4
fr-938846/8